Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Nested package.json's are only needed for development.
**/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# VfChatbotActionPromptAngular

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build vf-chatbot-action-prompt.angular
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
```bash
cd dist/vf-chatbot-action-prompt.angular
```

2. Run the `npm publish` command to publish your library to the npm registry:
```bash
npm publish
```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// vf-chatbot-action-prompt.angular
import { Component, EventEmitter, Input, Output } from '@angular/core';
import * as i0 from "@angular/core";
export class VfChatbotActionPromptAngularComponent {
constructor() {
/** Emits when the link/button is clicked (maps to onClick) */
this.actionClick = new EventEmitter();
}
onClick(ev) {
this.actionClick.emit(ev);
}
get isExternal() {
return this.actionTarget === '_blank';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: VfChatbotActionPromptAngularComponent, selector: "vf-chatbot-action-prompt", inputs: { actionUrl: ["action_url", "actionUrl"], actionText: ["action_text", "actionText"], actionTarget: ["action_target", "actionTarget"] }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: `
<a
*ngIf="actionUrl; else buttonTemplate"
[href]="actionUrl"
class="vf-chatbot-action-prompt__link"
role="button"
[attr.target]="actionTarget || null"
>
{{ actionText }}
</a>

<ng-template #buttonTemplate>
<button
class="vf-chatbot-action-prompt__link"
>
{{ actionText }}
</button>
</ng-template>
`, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularComponent, decorators: [{
type: Component,
args: [{
selector: 'vf-chatbot-action-prompt',
template: `
<a
*ngIf="actionUrl; else buttonTemplate"
[href]="actionUrl"
class="vf-chatbot-action-prompt__link"
role="button"
[attr.target]="actionTarget || null"
>
{{ actionText }}
</a>

<ng-template #buttonTemplate>
<button
class="vf-chatbot-action-prompt__link"
>
{{ actionText }}
</button>
</ng-template>
`
}]
}], propDecorators: { actionUrl: [{
type: Input,
args: [{ alias: 'action_url' }]
}], actionText: [{
type: Input,
args: [{ alias: 'action_text' }]
}], actionTarget: [{
type: Input,
args: [{ alias: 'action_target' }]
}], actionClick: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIvc3JjL2xpYi92Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBRW5DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0J2RSxNQUFNLE9BQU8scUNBQXFDO0lBdEJsRDtRQWdDRSw4REFBOEQ7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0tBU3hEO0lBUEMsT0FBTyxDQUFDLEVBQWM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLENBQUM7SUFDeEMsQ0FBQzsrR0FuQlUscUNBQXFDO21HQUFyQyxxQ0FBcUMseVBBcEJ0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUOzs0RkFFVSxxQ0FBcUM7a0JBdEJqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2lCQUNGOzhCQUdpQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFHRyxVQUFVO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQkFHSSxZQUFZO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFHdkIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHZmLWNoYXRib3QtYWN0aW9uLXByb21wdC5hbmd1bGFyXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZmLWNoYXRib3QtYWN0aW9uLXByb21wdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFcbiAgICAqbmdJZj1cImFjdGlvblVybDsgZWxzZSBidXR0b25UZW1wbGF0ZVwiXG4gICAgW2hyZWZdPVwiYWN0aW9uVXJsXCJcbiAgICBjbGFzcz1cInZmLWNoYXRib3QtYWN0aW9uLXByb21wdF9fbGlua1wiXG4gICAgcm9sZT1cImJ1dHRvblwiXG4gICAgW2F0dHIudGFyZ2V0XT1cImFjdGlvblRhcmdldCB8fCBudWxsXCJcbiAgPlxuICAgIHt7IGFjdGlvblRleHQgfX1cbiAgPC9hPlxuXG4gIDxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ2Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHRfX2xpbmtcIlxuICAgID5cbiAgICAgIHt7IGFjdGlvblRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBWZkNoYXRib3RBY3Rpb25Qcm9tcHRBbmd1bGFyQ29tcG9uZW50IHtcbiAgLyoqIEVxdWl2YWxlbnQgdG8gYWN0aW9uX3VybCAqL1xuICBASW5wdXQoeyBhbGlhczogJ2FjdGlvbl91cmwnIH0pIGFjdGlvblVybD86IHN0cmluZztcblxuICAvKiogRXF1aXZhbGVudCB0byBhY3Rpb25fdGV4dCAqL1xuICBASW5wdXQoeyBhbGlhczogJ2FjdGlvbl90ZXh0JyB9KSBhY3Rpb25UZXh0ITogc3RyaW5nO1xuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGFjdGlvbl90YXJnZXQgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdhY3Rpb25fdGFyZ2V0JyB9KSBhY3Rpb25UYXJnZXQ/OiBzdHJpbmc7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGxpbmsvYnV0dG9uIGlzIGNsaWNrZWQgKG1hcHMgdG8gb25DbGljaykgKi9cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIG9uQ2xpY2soZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoZXYpO1xuICB9XG5cbiAgZ2V0IGlzRXh0ZXJuYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uVGFyZ2V0ID09PSAnX2JsYW5rJztcbiAgfVxufVxuIl19
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { NgModule } from '@angular/core';
import { VfChatbotActionPromptAngularComponent } from './vf-chatbot-action-prompt.angular.component';
import * as i0 from "@angular/core";
export class VfChatbotActionPromptAngularModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, declarations: [VfChatbotActionPromptAngularComponent], exports: [VfChatbotActionPromptAngularComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, decorators: [{
type: NgModule,
args: [{
declarations: [
VfChatbotActionPromptAngularComponent
],
imports: [],
exports: [
VfChatbotActionPromptAngularComponent
]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIvc3JjL2xpYi92Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFjckcsTUFBTSxPQUFPLGtDQUFrQzsrR0FBbEMsa0NBQWtDO2dIQUFsQyxrQ0FBa0MsaUJBUjNDLHFDQUFxQyxhQUtyQyxxQ0FBcUM7Z0hBRzVCLGtDQUFrQzs7NEZBQWxDLGtDQUFrQztrQkFWOUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUNBQXFDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUUsRUFDUjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUNBQXFDO3FCQUN0QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWZkNoYXRib3RBY3Rpb25Qcm9tcHRBbmd1bGFyQ29tcG9uZW50IH0gZnJvbSAnLi92Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhci5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVmZDaGF0Ym90QWN0aW9uUHJvbXB0QW5ndWxhckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBWZkNoYXRib3RBY3Rpb25Qcm9tcHRBbmd1bGFyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVmZDaGF0Ym90QWN0aW9uUHJvbXB0QW5ndWxhck1vZHVsZSB7IH1cbiJdfQ==
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*
* Public API Surface of vf-chatbot-action-prompt.angular
*/
export * from './lib/vf-chatbot-action-prompt.angular.component';
export * from './lib/vf-chatbot-action-prompt.angular.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZmLWNoYXRib3QtYWN0aW9uLXByb21wdC5hbmd1bGFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmLWNoYXRib3QtYWN0aW9uLXByb21wdC5hbmd1bGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhci5tb2R1bGUnO1xuIl19
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**
* Generated bundle index. Do not edit.
*/
export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy92Zi1jaGF0Ym90LWFjdGlvbi1wcm9tcHQuYW5ndWxhci9zcmMvdmYtY2hhdGJvdC1hY3Rpb24tcHJvbXB0LmFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
import * as i0 from '@angular/core';
import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';

// vf-chatbot-action-prompt.angular
class VfChatbotActionPromptAngularComponent {
constructor() {
/** Emits when the link/button is clicked (maps to onClick) */
this.actionClick = new EventEmitter();
}
onClick(ev) {
this.actionClick.emit(ev);
}
get isExternal() {
return this.actionTarget === '_blank';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: VfChatbotActionPromptAngularComponent, selector: "vf-chatbot-action-prompt", inputs: { actionUrl: ["action_url", "actionUrl"], actionText: ["action_text", "actionText"], actionTarget: ["action_target", "actionTarget"] }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: `
<a
*ngIf="actionUrl; else buttonTemplate"
[href]="actionUrl"
class="vf-chatbot-action-prompt__link"
role="button"
[attr.target]="actionTarget || null"
>
{{ actionText }}
</a>

<ng-template #buttonTemplate>
<button
class="vf-chatbot-action-prompt__link"
>
{{ actionText }}
</button>
</ng-template>
`, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularComponent, decorators: [{
type: Component,
args: [{
selector: 'vf-chatbot-action-prompt',
template: `
<a
*ngIf="actionUrl; else buttonTemplate"
[href]="actionUrl"
class="vf-chatbot-action-prompt__link"
role="button"
[attr.target]="actionTarget || null"
>
{{ actionText }}
</a>

<ng-template #buttonTemplate>
<button
class="vf-chatbot-action-prompt__link"
>
{{ actionText }}
</button>
</ng-template>
`
}]
}], propDecorators: { actionUrl: [{
type: Input,
args: [{ alias: 'action_url' }]
}], actionText: [{
type: Input,
args: [{ alias: 'action_text' }]
}], actionTarget: [{
type: Input,
args: [{ alias: 'action_target' }]
}], actionClick: [{
type: Output
}] } });

class VfChatbotActionPromptAngularModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, declarations: [VfChatbotActionPromptAngularComponent], exports: [VfChatbotActionPromptAngularComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VfChatbotActionPromptAngularModule, decorators: [{
type: NgModule,
args: [{
declarations: [
VfChatbotActionPromptAngularComponent
],
imports: [],
exports: [
VfChatbotActionPromptAngularComponent
]
}]
}] });

/*
* Public API Surface of vf-chatbot-action-prompt.angular
*/

/**
* Generated bundle index. Do not edit.
*/

export { VfChatbotActionPromptAngularComponent, VfChatbotActionPromptAngularModule };
//# sourceMappingURL=vf-chatbot-action-prompt.angular.mjs.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**
* Generated bundle index. Do not edit.
*/
/// <amd-module name="vf-chatbot-action-prompt.angular" />
export * from './public-api';
Loading
Loading