diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 628eedc..379a3f5 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -53,6 +53,8 @@ jobs:
run: npm install
- name: Build
run: npm run build:ghpages
+ - name: Add SPA fallback for GitHub Pages
+ run: cp dist/vf-angular/index.html dist/vf-angular/404.html
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
diff --git a/angular.json b/angular.json
index e4c7209..a7c635d 100644
--- a/angular.json
+++ b/angular.json
@@ -1,9 +1,15 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
+ "newProjectRoot": "projects",
"projects": {
- "vf-angular": {
+ "vf-angular-packages": {
"projectType": "application",
+ "schematics": {
+ "@schematics/angular:component": {
+ "skipTests": true
+ }
+ },
"root": "",
"sourceRoot": "src",
"prefix": "app",
@@ -11,56 +17,90 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
- "outputPath": "dist/vf-angular",
+ "outputPath": "dist/vf-angular-packages",
"index": "src/index.html",
"main": "src/main.ts",
- "polyfills": "src/polyfills.ts",
- "tsConfig": "tsconfig.json",
- "aot": true,
+ "polyfills": [
+ "zone.js"
+ ],
+ "tsConfig": "tsconfig.app.json",
+ "inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
- "src/assets"
+ "src/assets",
+ {
+ "glob": "**/*",
+ "input": "./node_modules/@visual-framework/vf-font-plex-mono/assets/IBM-Plex-Mono",
+ "output": "./assets/fonts/IBM-Plex-Mono"
+ },
+ {
+ "glob": "**/*",
+ "input": "./node_modules/@visual-framework/vf-font-plex-sans/assets/IBM-Plex-Sans",
+ "output": "./assets/fonts/IBM-Plex-Sans"
+ }
],
"styles": [
"src/styles.scss"
],
"scripts": [
+ "src/assets/vf-banner/vf-banner.js",
"src/assets/vf-tabs/vf-tabs.js"
]
},
"configurations": {
"production": {
- "optimization": true,
- "outputHashing": "all",
- "sourceMap": false,
- "namedChunks": false,
- "extractLicenses": true,
- "vendorChunk": false,
- "buildOptimizer": true
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "1mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
}
- }
+ },
+ "defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
- "options": {
- "browserTarget": "vf-angular:build"
- },
"configurations": {
"production": {
- "browserTarget": "vf-angular:build:production"
+ "buildTarget": "vf-angular-packages:build:production"
},
"development": {
- "browserTarget": "vf-angular:build:development"
+ "buildTarget": "vf-angular-packages:build:development"
}
+ },
+ "defaultConfiguration": "development"
+ },
+ "extract-i18n": {
+ "builder": "@angular-devkit/build-angular:extract-i18n",
+ "options": {
+ "buildTarget": "vf-angular-packages:build:production"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
- "main": "src/test.ts",
- "polyfills": "src/polyfills.ts",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ],
"tsConfig": "tsconfig.spec.json",
- "karmaConfig": "karma.conf.js",
+ "inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets"
@@ -72,6 +112,603 @@
}
}
}
+ },
+ "vf-badge.angular": {
+ "projectType": "library",
+ "root": "projects/vf-badge.angular",
+ "sourceRoot": "projects/vf-badge.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packager",
+ "options": {
+ "project": "projects/vf-badge.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-badge.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-badge.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-badge.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-banner.angular": {
+ "projectType": "library",
+ "root": "projects/vf-banner.angular",
+ "sourceRoot": "projects/vf-banner.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-banner.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-banner.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-banner.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-banner.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-hero.angular": {
+ "projectType": "library",
+ "root": "projects/vf-hero.angular",
+ "sourceRoot": "projects/vf-hero.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-hero.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-hero.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-hero.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-hero.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-blockquote.angular": {
+ "projectType": "library",
+ "root": "projects/vf-blockquote.angular",
+ "sourceRoot": "projects/vf-blockquote.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-blockquote.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-blockquote.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-blockquote.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-blockquote.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-button.angular": {
+ "projectType": "library",
+ "root": "projects/vf-button.angular",
+ "sourceRoot": "projects/vf-button.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-button.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-button.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-button.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-button.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-tabs.angular": {
+ "projectType": "library",
+ "root": "projects/vf-tabs.angular",
+ "sourceRoot": "projects/vf-tabs.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-tabs.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-tabs.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-tabs.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-tabs.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-back-to-top.angular": {
+ "projectType": "library",
+ "root": "projects/vf-back-to-top.angular",
+ "sourceRoot": "projects/vf-back-to-top.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-back-to-top.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-back-to-top.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-back-to-top.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-back-to-top.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-action-prompt.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-action-prompt.angular",
+ "sourceRoot": "projects/vf-chatbot-action-prompt.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-action-prompt.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-action-prompt.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-action-prompt.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-action-prompt.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-selector.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-selector.angular",
+ "sourceRoot": "projects/vf-chatbot-selector.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-selector.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-selector.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-selector.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-selector.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-welcome-angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-welcome-angular",
+ "sourceRoot": "projects/vf-chatbot-welcome-angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-welcome-angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-welcome-angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-welcome-angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-welcome-angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-prompt.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-prompt.angular",
+ "sourceRoot": "projects/vf-chatbot-prompt.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-prompt.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-prompt.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-prompt.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-prompt.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-feedback.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-feedback.angular",
+ "sourceRoot": "projects/vf-chatbot-feedback.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-feedback.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-feedback.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-feedback.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-feedback.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-dialog.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-dialog.angular",
+ "sourceRoot": "projects/vf-chatbot-dialog.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-dialog.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-dialog.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-dialog.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-dialog.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-standalone.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-standalone.angular",
+ "sourceRoot": "projects/vf-chatbot-standalone.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-standalone.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-standalone.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-standalone.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-standalone.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-fab.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-fab.angular",
+ "sourceRoot": "projects/vf-chatbot-fab.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-fab.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-fab.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-fab.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-fab.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-sources.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-sources.angular",
+ "sourceRoot": "projects/vf-chatbot-sources.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-sources.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-sources.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-sources.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-sources.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot-modal.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot-modal.angular",
+ "sourceRoot": "projects/vf-chatbot-modal.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot-modal.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot-modal.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot-modal.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot-modal.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
+ },
+ "vf-chatbot.angular": {
+ "projectType": "library",
+ "root": "projects/vf-chatbot.angular",
+ "sourceRoot": "projects/vf-chatbot.angular/src",
+ "prefix": "lib",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:ng-packagr",
+ "options": {
+ "project": "projects/vf-chatbot.angular/ng-package.json"
+ },
+ "configurations": {
+ "production": {
+ "tsConfig": "projects/vf-chatbot.angular/tsconfig.lib.prod.json"
+ },
+ "development": {
+ "tsConfig": "projects/vf-chatbot.angular/tsconfig.lib.json"
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "tsConfig": "projects/vf-chatbot.angular/tsconfig.spec.json",
+ "polyfills": [
+ "zone.js",
+ "zone.js/testing"
+ ]
+ }
+ }
+ }
}
+ },
+ "cli": {
+ "analytics": "ad354a12-40a4-4da7-a19c-b5f78051cdca"
}
}
diff --git a/package.json b/package.json
index 68033e1..4f1048a 100644
--- a/package.json
+++ b/package.json
@@ -1,74 +1,91 @@
{
- "name": "visual-framework",
+ "name": "vf-angular-packages",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
- "build:ghpages": "ng build --configuration production --base-href /vf-angular/",
- "build:dev": "ng build --configuration development",
"watch": "ng build --watch --configuration development",
"test": "ng test",
- "test:all": "gulp test:all",
- "test:component": "gulp test:component",
- "test:watch": "gulp test:watch",
- "test:ci": "gulp test:ci",
- "test:coverage": "ng test --no-watch --code-coverage",
- "sonar": "sonar-scanner"
+ "test:all": "ng test --watch --browsers=ChromeHeadless --code-coverage"
},
"private": true,
"dependencies": {
- "@angular/animations": "^16.1.0",
- "@angular/common": "^16.1.0",
- "@angular/compiler": "^16.1.0",
- "@angular/core": "^16.1.0",
- "@angular/forms": "^16.1.0",
- "@angular/platform-browser": "^16.1.0",
- "@angular/platform-browser-dynamic": "^16.1.0",
- "@angular/router": "^16.1.0",
+ "@angular/animations": "^15.2.0 || ^18.0.0",
+ "@angular/common": "^15.2.0 || ^18.0.0",
+ "@angular/compiler": "^15.2.0 || ^18.0.0",
+ "@angular/core": "^15.2.0 || ^18.0.0",
+ "@angular/forms": "^15.2.0 || ^18.0.0",
+ "@angular/platform-browser": "^15.2.0 || ^18.0.0",
+ "@angular/platform-browser-dynamic": "^15.2.0 || ^18.0.0",
+ "@angular/router": "^15.2.0 || ^18.0.0",
"@visual-framework/vf-back-to-top": "^1.0.1",
"@visual-framework/vf-badge": "^3.0.3",
- "@visual-framework/vf-banner": "2.0.3",
+ "@visual-framework/vf-banner": "^2.0.3",
"@visual-framework/vf-blockquote": "^1.2.8",
"@visual-framework/vf-body": "^1.2.0",
"@visual-framework/vf-box": "^2.4.0",
"@visual-framework/vf-button": "3.0.2",
+ "@visual-framework/vf-chatbot": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-action-prompt": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-dialog": "^1.0.0-beta.1",
+ "@visual-framework/vf-chatbot-fab": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-feedback": "^1.0.0-beta.4",
+ "@visual-framework/vf-chatbot-modal": "^1.0.0-beta.5",
+ "@visual-framework/vf-chatbot-prompt": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-selector": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-sources": "^1.0.0-beta.3",
+ "@visual-framework/vf-chatbot-standalone": "^1.0.0-beta.4",
+ "@visual-framework/vf-chatbot-welcome": "^1.0.0-beta.4",
+ "@visual-framework/vf-content": "^1.6.16",
"@visual-framework/vf-content": "1.6.16",
+ "@visual-framework/vf-core": "2.2.47",
+ "@visual-framework/vf-extensions-react": "^0.0.8",
+ "@visual-framework/vf-font-plex-mono": "^1.1.3",
+ "@visual-framework/vf-font-plex-sans": "^1.1.3",
+ "@visual-framework/vf-footer": "^1.2.1",
+ "@visual-framework/vf-global-header": "^3.1.6",
"@visual-framework/vf-grid": "^1.4.1",
"@visual-framework/vf-hero": "^4.0.3",
"@visual-framework/vf-link": "^2.0.2",
"@visual-framework/vf-mega-menu": "^1.0.2",
"@visual-framework/vf-profile": "^1.4.0",
+ "@visual-framework/vf-sass-config": "2.6.1",
"@visual-framework/vf-sass-starter": "^0.1.30",
"@visual-framework/vf-search": "^1.0.0",
+ "@visual-framework/vf-search-client-side": "^2.0.2",
"@visual-framework/vf-stack": "^3.0.0",
"@visual-framework/vf-tabs": "^2.1.5",
"@visual-framework/vf-text": "^1.1.1",
"@visual-framework/vf-u-fullbleed": "^1.2.2",
+ "gulp": "^5.0.1",
+ "@visual-framework/vf-utility-classes": "2.0.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
- "zone.js": "~0.13.0"
+ "vf-badge.angular": "^0.0.1",
+ "zone.js": "~0.12.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^16.1.0",
- "@angular/cli": "~16.1.0",
- "@angular/compiler-cli": "^16.1.0",
+ "@angular-devkit/build-angular": "^15.2.4 || ^18.0.0",
+ "@angular/cli": "~15.2.4 || ^18.0.0",
+ "@angular/compiler-cli": "^15.2.0 || ^18.0.0",
"@types/jasmine": "~4.3.0",
- "@types/node": "^18.19.124",
- "@visual-framework/vf-config": "1.0.1-alpha.0",
- "@visual-framework/vf-core": "2.2.47",
- "glob": "^7.2.0",
- "gulp": "^5.0.0",
+ "@visual-framework/vf-design-tokens": "^3.6.3",
+ "@visual-framework/vf-font-plex-mono": "^1.1.1",
+ "@visual-framework/vf-font-plex-sans": "^1.1.1",
+ "@visual-framework/vf-sass-config": "^2.7.1",
+ "@visual-framework/vf-sass-starter": "^0.1.28",
+ "@visual-framework/vf-sass-utilities": "^1.0.1",
+ "@visual-framework/vf-utility-classes": "^2.0.0",
"gulp-shell": "^0.8.0",
- "jasmine-core": "~4.6.0",
- "karma": "~6.4.4",
+ "jasmine-core": "~4.5.0",
+ "karma": "~6.4.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.0.0",
- "karma-junit-reporter": "^2.0.1",
- "karma-sonarqube-unit-reporter": "^0.0.23",
- "karma-spec-reporter": "^0.0.36",
- "typescript": "~5.1.3"
- }
+ "ng-packagr": "^15.2.2 || ^18.0.0",
+ "typescript": "~5.4.0"
+ },
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 01bebbc..931aa27 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -6,11 +6,14 @@ import { VfBlockquoteComponent } from './components/vf-blockquote/vf-blockquote.
import { VfButtonComponent } from './components/vf-button/vf-button.component';
import { VfHeroComponent } from './components/vf-hero/vf-hero.component';
import { VfTabsComponent } from './components/vf-tabs/vf-tabs.component';
+import { VfChatbotAngularComponent } from './components/vf-chatbot/vf-chatbot.angular.component';
import { VfBackToTopComponent } from './components/vf-back-to-top/vf-back-to-top.component';
import { HomeComponent } from './components/home/home.component';
+import { SearchComponent } from './components/search/search.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
+ { path: 'search', component: SearchComponent },
{ path: 'components/vf-back-to-top', component: VfBackToTopComponent },
{ path: 'components/vf-badge', component: VfBadgeComponent },
{ path: 'components/vf-banner', component: VfBannerComponent },
@@ -18,6 +21,7 @@ const routes: Routes = [
{ path: 'components/vf-button', component: VfButtonComponent },
{ path: 'components/vf-hero', component: VfHeroComponent },
{ path: 'components/vf-tabs', component: VfTabsComponent },
+ { path: 'components/vf-chatbot', component: VfChatbotAngularComponent },
{ path: '**', redirectTo: '' }
];
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 3f7d083..561a216 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -5,12 +5,116 @@ import { Component } from '@angular/core';
template: `