diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ddb1bbb7fc2..3eae8c977d7 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -54,6 +54,12 @@ updates:
# schedule:
# interval: weekly
# - package-ecosystem: npm
+ # directory: /packages/adapters/angular/v17/
+ # labels:
+ # - dependabot
+ # schedule:
+ # interval: weekly
+ # - package-ecosystem: npm
# directory: /packages/adapters/hydrate/
# labels:
# - dependabot
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 7e0866d55a9..f5802fcea04 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -96,6 +96,12 @@ jobs:
working-directory: packages/adapters/angular/v16
env:
NODE_AUTH_TOKEN: ${{env.token}}
+ - name: Build and publish adapter angular v17
+ continue-on-error: true
+ run: pnpm publish --access ${{env.access}} --no-git-checks --tag ${{env.tag}}
+ working-directory: packages/adapters/angular/v17
+ env:
+ NODE_AUTH_TOKEN: ${{env.token}}
- name: Build and publish adapter react
continue-on-error: true
run: pnpm publish --access ${{env.access}} --no-git-checks --tag ${{env.tag}}
diff --git a/lerna.json b/lerna.json
index 407ded2bf2a..fadfa46c203 100644
--- a/lerna.json
+++ b/lerna.json
@@ -6,6 +6,7 @@
"packages/adapters/angular/v14",
"packages/adapters/angular/v15",
"packages/adapters/angular/v16",
+ "packages/adapters/angular/v17",
"packages/adapters/hydrate",
"packages/adapters/preact",
"packages/adapters/react",
diff --git a/packages/adapters/angular/v17/.gitignore b/packages/adapters/angular/v17/.gitignore
new file mode 100644
index 00000000000..4f00cd9a736
--- /dev/null
+++ b/packages/adapters/angular/v17/.gitignore
@@ -0,0 +1 @@
+/src/
diff --git a/packages/adapters/angular/v17/.npmignore b/packages/adapters/angular/v17/.npmignore
new file mode 100644
index 00000000000..4f00cd9a736
--- /dev/null
+++ b/packages/adapters/angular/v17/.npmignore
@@ -0,0 +1 @@
+/src/
diff --git a/packages/adapters/angular/v17/LICENSE b/packages/adapters/angular/v17/LICENSE
new file mode 100644
index 00000000000..4153cd37753
--- /dev/null
+++ b/packages/adapters/angular/v17/LICENSE
@@ -0,0 +1,287 @@
+ EUROPEAN UNION PUBLIC LICENCE v. 1.2
+ EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
+below) which is provided under the terms of this Licence. Any use of the Work,
+other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+
+The Work is provided under the terms of this Licence when the Licensor (as
+defined below) has placed the following notice immediately following the
+copyright notice for the Work:
+
+ Licensed under the EUPL
+
+or has expressed by any other means his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+- ‘The Licence’: this Licence.
+
+- ‘The Original Work’: the work or software distributed or communicated by the
+ Licensor under this Licence, available as Source Code and also as Executable
+ Code as the case may be.
+
+- ‘Derivative Works’: the works or software that could be created by the
+ Licensee, based upon the Original Work or modifications thereof. This Licence
+ does not define the extent of modification or dependence on the Original Work
+ required in order to classify a work as a Derivative Work; this extent is
+ determined by copyright law applicable in the country mentioned in Article 15.
+
+- ‘The Work’: the Original Work or its Derivative Works.
+
+- ‘The Source Code’: the human-readable form of the Work which is the most
+ convenient for people to study and modify.
+
+- ‘The Executable Code’: any code which has generally been compiled and which is
+ meant to be interpreted by a computer as a program.
+
+- ‘The Licensor’: the natural or legal person that distributes or communicates
+ the Work under the Licence.
+
+- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
+ Licence, or otherwise contributes to the creation of a Derivative Work.
+
+- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
+ the Work under the terms of the Licence.
+
+- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
+ renting, distributing, communicating, transmitting, or otherwise making
+ available, online or offline, copies of the Work or providing access to its
+ essential functionalities at the disposal of any other natural or legal
+ person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+sublicensable licence to do the following, for the duration of copyright vested
+in the Original Work:
+
+- use the Work in any circumstance and for all usage,
+- reproduce the Work,
+- modify the Work, and make Derivative Works based upon the Work,
+- communicate to the public, including the right to make available or display
+ the Work or copies thereof to the public and perform publicly, as the case may
+ be, the Work,
+- distribute the Work or copies thereof,
+- lend and rent the Work or copies thereof,
+- sublicense rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now
+known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to
+exercise his moral right to the extent allowed by law in order to make effective
+the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
+any patents held by the Licensor, to the extent necessary to make use of the
+rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as
+Executable Code. If the Work is provided as Executable Code, the Licensor
+provides in addition a machine-readable copy of the Source Code of the Work
+along with each copy of the Work that the Licensor distributes or indicates, in
+a notice following the copyright notice attached to the Work, a repository where
+the Source Code is easily and freely accessible for as long as the Licensor
+continues to distribute or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from
+any exception or limitation to the exclusive rights of the rights owners in the
+Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and
+obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or
+trademarks notices and all notices that refer to the Licence and to the
+disclaimer of warranties. The Licensee must include a copy of such notices and a
+copy of the Licence with every copy of the Work he/she distributes or
+communicates. The Licensee must cause any Derivative Work to carry prominent
+notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the
+Original Works or Derivative Works, this Distribution or Communication will be
+done under the terms of this Licence or of a later version of this Licence
+unless the Original Work is expressly distributed only under this version of the
+Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
+(becoming Licensor) cannot offer or impose any additional terms or conditions on
+the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative
+Works or copies thereof based upon both the Work and another work licensed under
+a Compatible Licence, this Distribution or Communication can be done under the
+terms of this Compatible Licence. For the sake of this clause, ‘Compatible
+Licence’ refers to the licences listed in the appendix attached to this Licence.
+Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible
+Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work,
+the Licensee will provide a machine-readable copy of the Source Code or indicate
+a repository where this Source will be easily and freely available for as long
+as the Licensee continues to distribute or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names,
+trademarks, service marks, or names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted
+hereunder is owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings
+to the Work are owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent
+Contributors grant You a licence to their contributions to the Work, under the
+terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous
+Contributors. It is not a finished work and may therefore contain defects or
+‘bugs’ inherent to this type of development.
+
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis
+and without warranties of any kind concerning the Work, including without
+limitation merchantability, fitness for a particular purpose, absence of defects
+or errors, accuracy, non-infringement of intellectual property rights other than
+copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition
+for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural
+persons, the Licensor will in no event be liable for any direct or indirect,
+material or moral, damages of any kind, arising out of the Licence or of the use
+of the Work, including without limitation, damages for loss of goodwill, work
+stoppage, computer failure or malfunction, loss of data or any commercial
+damage, even if the Licensor has been advised of the possibility of such damage.
+However, the Licensor will be liable under statutory product liability laws as
+far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Work, You may choose to conclude an additional agreement,
+defining obligations or services consistent with this Licence. However, if
+accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor,
+and only if You agree to indemnify, defend, and hold each Contributor harmless
+for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
+placed under the bottom of a window displaying the text of this Licence or by
+affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable
+acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and
+conditions by exercising any rights granted to You by Article 2 of this Licence,
+such as the use of the Work, the creation by You of a Derivative Work or the
+Distribution or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution or Communication of the Work by means of electronic
+communication by You (for example, by offering to download the Work from a
+remote location) the distribution channel or media (for example, a website) must
+at least provide to the public the information requested by the applicable law
+regarding the Licensor, the Licence and the way it may be accessible, concluded,
+stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon
+any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has
+received the Work from the Licensee under the Licence, provided such persons
+remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete
+agreement between the Parties as to the Work.
+
+If any provision of the Licence is invalid or unenforceable under applicable
+law, this will not affect the validity or enforceability of the Licence as a
+whole. Such provision will be construed or reformed so as necessary to make it
+valid and enforceable.
+
+The European Commission may publish other linguistic versions or new versions of
+this Licence or updated versions of the Appendix, so far this is required and
+reasonable, without reducing the scope of the rights granted by the Licence. New
+versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission,
+have identical value. Parties can take advantage of the linguistic version of
+their choice.
+
+14. Jurisdiction
+
+Without prejudice to specific agreement between parties,
+
+- any litigation resulting from the interpretation of this License, arising
+ between the European Union institutions, bodies, offices or agencies, as a
+ Licensor, and any Licensee, will be subject to the jurisdiction of the Court
+ of Justice of the European Union, as laid down in article 272 of the Treaty on
+ the Functioning of the European Union,
+
+- any litigation arising between other parties and resulting from the
+ interpretation of this License, will be subject to the exclusive jurisdiction
+ of the competent court where the Licensor resides or conducts its primary
+ business.
+
+15. Applicable Law
+
+Without prejudice to specific agreement between parties,
+
+- this Licence shall be governed by the law of the European Union Member State
+ where the Licensor has his seat, resides or has his registered office,
+
+- this licence shall be governed by Belgian law if the Licensor has no seat,
+ residence or registered office inside a European Union Member State.
+
+Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+
+- GNU General Public License (GPL) v. 2, v. 3
+- GNU Affero General Public License (AGPL) v. 3
+- Open Software License (OSL) v. 2.1, v. 3.0
+- Eclipse Public License (EPL) v. 1.0
+- CeCILL v. 2.0, v. 2.1
+- Mozilla Public Licence (MPL) v. 2
+- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
+ works other than software
+- European Union Public Licence (EUPL) v. 1.1, v. 1.2
+- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
+ Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above
+licences without producing a new version of the EUPL, as long as they provide
+the rights granted in Article 2 of this Licence and protect the covered Source
+Code from exclusive appropriation.
+
+All other changes or additions to this Appendix require the production of a new
+EUPL version.
diff --git a/packages/adapters/angular/v17/README.md b/packages/adapters/angular/v17/README.md
new file mode 100644
index 00000000000..ad61a2c751d
--- /dev/null
+++ b/packages/adapters/angular/v17/README.md
@@ -0,0 +1,11 @@
+# Angular-Adapter
+
+Das [**Angular**](https://angular.io)-Modul ist der Framework-Adapter für die Komponenten-Bibliothek.
+
+Mehr zur **Modularisierung** kann im [Architekturkonzept](https://public-ui.github.io/docs/concepts/architecture) nachgelesen werden.
+
+Mehr zum **Projekt** kann in der [README](https://public-ui.github.io/docs) nachgelesen werden.
+
+## Referenzen
+
+-
diff --git a/packages/adapters/angular/v17/ng-module.js b/packages/adapters/angular/v17/ng-module.js
new file mode 100644
index 00000000000..b85a0a6cca0
--- /dev/null
+++ b/packages/adapters/angular/v17/ng-module.js
@@ -0,0 +1,32 @@
+const fs = require('fs');
+const path = require('path');
+
+let ngComponents = fs.readFileSync('./src/components.ts', 'utf-8');
+// ngFile = ngFile.replace(/, NgModule/g, '');
+// ngFile = ngFile.replace(/\/\* AutoGen NgModule(.*\n?)*/, '');
+
+const componentList = ngComponents.split('export class');
+componentList.splice(0, 1);
+componentList.forEach((component, index) => {
+ componentList[index] = component.replace(/ \{(.*\n?)*/, '').trim();
+});
+
+const componentListStr = componentList.join(', ');
+
+fs.writeFileSync(
+ './src/index.ts',
+ `
+/* AutoGen NgModule */
+
+import { NgModule } from '@angular/core';
+import { ${componentListStr} } from './components';
+export { ${componentListStr} }
+
+@NgModule({
+ declarations: [${componentListStr}],
+ exports: [${componentListStr}],
+})
+export class KoliBriModule {}
+`,
+ 'utf-8'
+);
diff --git a/packages/adapters/angular/v17/package.json b/packages/adapters/angular/v17/package.json
new file mode 100644
index 00000000000..08a7357b277
--- /dev/null
+++ b/packages/adapters/angular/v17/package.json
@@ -0,0 +1,88 @@
+{
+ "name": "@public-ui/angular-v17",
+ "version": "1.7.2",
+ "license": "EUPL-1.2",
+ "homepage": "https://public-ui.github.io",
+ "repository": "https://github.com/public-ui/kolibri",
+ "bugs": {
+ "url": "https://github.com/public-ui/kolibri/issues",
+ "email": "kolibri@itzbund.de"
+ },
+ "author": {
+ "name": "Informationstechnikzentrum Bund",
+ "email": "kolibri@itzbund.de"
+ },
+ "sideEffects": false,
+ "description": "Angular (v17) framework adapter for KoliBri - The accessible HTML-Standard.",
+ "keywords": [
+ "accessibility",
+ "accessible",
+ "bitv",
+ "framework",
+ "library",
+ "designsystem",
+ "design",
+ "system",
+ "web components",
+ "webcomponents",
+ "aria",
+ "wai",
+ "axe",
+ "custom elements",
+ "styleguide",
+ "style",
+ "guide",
+ "ui",
+ "html",
+ "css",
+ "web",
+ "a11y",
+ "w3c",
+ "webstandard",
+ "wcag",
+ "angular"
+ ],
+ "scripts": {
+ "clean": "lerna exec --stream -- git clean -f -d -X && git clean -f -d -X",
+ "build:cjs": "tsc -m commonjs --outDir cjs",
+ "build:clean": "rimraf cjs esm types umd",
+ "build:esm": "tsc -m esnext --outDir esm",
+ "build:ngc": "node ng-module.js && ngc -p .",
+ "build:tsc": "tsc -p .",
+ "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map",
+ "build:umd": "tsc -m umd --outDir umd",
+ "build": "npm run build:clean && npm run build:ngc",
+ "prepack": "npm run build"
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ "types": "./dist/index.d.ts",
+ "require": "./dist/index.js",
+ "import": "./dist/index.js"
+ },
+ "devDependencies": {
+ "@angular/compiler": "17.0.4",
+ "@angular/compiler-cli": "17.0.4",
+ "@angular/core": "17.0.4",
+ "@public-ui/components": "1.7.2",
+ "@types/minimatch": "5.1.2",
+ "@types/minimist": "1.2.5",
+ "@types/node": "ts5.2",
+ "@types/normalize-package-data": "2.4.4",
+ "prettier": "3.1.0",
+ "rimraf": "3.0.2",
+ "rxjs": "7.8.1",
+ "tslib": "2.6.2",
+ "typescript": "5.2.2",
+ "zone.js": "0.14.2"
+ },
+ "peerDependencies": {
+ "@angular/core": "^17",
+ "@public-ui/components": "1.7.2"
+ },
+ "files": [
+ "dist"
+ ]
+}
diff --git a/packages/adapters/angular/v17/tsconfig.json b/packages/adapters/angular/v17/tsconfig.json
new file mode 100644
index 00000000000..437717cbc75
--- /dev/null
+++ b/packages/adapters/angular/v17/tsconfig.json
@@ -0,0 +1,38 @@
+{
+ "angularCompilerOptions": {
+ "annotateForClosureCompiler": false,
+ "strictMetadataEmit": true,
+ "flatModuleOutFile": "core.js",
+ "flatModuleId": "@own/angular",
+ "skipTemplateCodegen": true,
+ "fullTemplateTypeCheck": false,
+ "enableIvy": true
+ },
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "strict": true,
+ "allowSyntheticDefaultImports": true,
+ "allowUnreachableCode": false,
+ "declaration": true,
+ "declarationDir": "dist",
+ "experimentalDecorators": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["dom", "es2017"],
+ "module": "ESNext",
+ "moduleResolution": "node",
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noUnusedLocals": false,
+ "noUnusedParameters": true,
+ "outDir": "dist",
+ "pretty": true,
+ "removeComments": false,
+ "importHelpers": true,
+ "rootDir": "src",
+ "strictPropertyInitialization": false,
+ "target": "es2015",
+ "skipLibCheck": true
+ },
+ "files": ["src/index.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/components/package.json b/packages/components/package.json
index 93001212b3b..9ce0430c080 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -53,7 +53,7 @@
"scripts": {
"build": "npm run build:light",
"build:light": "npm run clear && mkdir doc && cross-env NODE_ENV=production stencil build --docs --prod && node scripts/hashing.js && node scripts/autogen.doc.js && node scripts/vaadin.js && npm run format -- -w",
- "clear": "rimraf dist doc loader www ../adapters/angular/v11/src ../adapters/angular/v12/src ../adapters/angular/v13/src ../adapters/angular/v14/src ../adapters/angular/v15/src ../adapters/angular/v16/src ../adapters/hydrate/dist ../adapters/react/src ../adapters/solid/src ../adapters/vaadin/*.java ../adapters/vue/src",
+ "clear": "rimraf dist doc loader www ../adapters/angular/v11/src ../adapters/angular/v12/src ../adapters/angular/v13/src ../adapters/angular/v14/src ../adapters/angular/v15/src ../adapters/angular/v16/src ../adapters/angular/v17/src ../adapters/hydrate/dist ../adapters/react/src ../adapters/solid/src ../adapters/vaadin/*.java ../adapters/vue/src",
"depcheck": "depcheck --ignore-bin-package --skip-missing --ignores=@types/*,@public-ui/*,@stencil/*,eslint-*,postcss-windicss,tslib,workbox-build",
"format": "prettier --check src",
"lighthouse": "lighthouse --chrome-flags=\"--headless\" --output-path lighthouse.report.html --preset=desktop --quiet",
diff --git a/packages/components/stencil.config.ts b/packages/components/stencil.config.ts
index 1409398b368..41ee1cdc1d1 100644
--- a/packages/components/stencil.config.ts
+++ b/packages/components/stencil.config.ts
@@ -211,6 +211,11 @@ if (process.env.NODE_ENV === 'production') {
excludeComponents: EXCLUDE_TAGS,
directivesProxyFile: '../adapters/angular/v16/src/components.ts',
}),
+ angularOutputTarget({
+ componentCorePackage: '@public-ui/components',
+ excludeComponents: EXCLUDE_TAGS,
+ directivesProxyFile: '../adapters/angular/v17/src/components.ts',
+ }),
reactOutputTarget({
componentCorePackage: '@public-ui/components',
excludeComponents: EXCLUDE_TAGS,
diff --git a/packages/create-kolibri/templates/angular-app/src/angular.module.ts b/packages/create-kolibri/templates/angular-app/src/angular.module.ts
index b870017be6a..f80f593f6a5 100644
--- a/packages/create-kolibri/templates/angular-app/src/angular.module.ts
+++ b/packages/create-kolibri/templates/angular-app/src/angular.module.ts
@@ -3,7 +3,7 @@ import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './components/app/component';
-import { KoliBriModule } from '@public-ui/angular-v16';
+import { KoliBriModule } from '@public-ui/angular-17';
import { defineCustomElements } from '@public-ui/components/dist/loader';
import { register } from '@public-ui/components';
import { ITZBund } from '@public-ui/themes';
diff --git a/packages/create-kolibri/templates/kolibri-library/lerna.complete.json b/packages/create-kolibri/templates/kolibri-library/lerna.complete.json
index 32ce3fbe7d5..67b4e37d822 100644
--- a/packages/create-kolibri/templates/kolibri-library/lerna.complete.json
+++ b/packages/create-kolibri/templates/kolibri-library/lerna.complete.json
@@ -6,6 +6,7 @@
"packages/adapters/angular/v14",
"packages/adapters/angular/v15",
"packages/adapters/angular/v16",
+ "packages/adapters/angular/v17",
"packages/adapters/react",
"packages/adapters/vue",
"packages/components",
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.gitignore b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.gitignore
new file mode 100644
index 00000000000..4f00cd9a736
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.gitignore
@@ -0,0 +1 @@
+/src/
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.npmignore b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.npmignore
new file mode 100644
index 00000000000..4f00cd9a736
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/.npmignore
@@ -0,0 +1 @@
+/src/
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/LICENSE b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/LICENSE
new file mode 100644
index 00000000000..4153cd37753
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/LICENSE
@@ -0,0 +1,287 @@
+ EUROPEAN UNION PUBLIC LICENCE v. 1.2
+ EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
+below) which is provided under the terms of this Licence. Any use of the Work,
+other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+
+The Work is provided under the terms of this Licence when the Licensor (as
+defined below) has placed the following notice immediately following the
+copyright notice for the Work:
+
+ Licensed under the EUPL
+
+or has expressed by any other means his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+- ‘The Licence’: this Licence.
+
+- ‘The Original Work’: the work or software distributed or communicated by the
+ Licensor under this Licence, available as Source Code and also as Executable
+ Code as the case may be.
+
+- ‘Derivative Works’: the works or software that could be created by the
+ Licensee, based upon the Original Work or modifications thereof. This Licence
+ does not define the extent of modification or dependence on the Original Work
+ required in order to classify a work as a Derivative Work; this extent is
+ determined by copyright law applicable in the country mentioned in Article 15.
+
+- ‘The Work’: the Original Work or its Derivative Works.
+
+- ‘The Source Code’: the human-readable form of the Work which is the most
+ convenient for people to study and modify.
+
+- ‘The Executable Code’: any code which has generally been compiled and which is
+ meant to be interpreted by a computer as a program.
+
+- ‘The Licensor’: the natural or legal person that distributes or communicates
+ the Work under the Licence.
+
+- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
+ Licence, or otherwise contributes to the creation of a Derivative Work.
+
+- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
+ the Work under the terms of the Licence.
+
+- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
+ renting, distributing, communicating, transmitting, or otherwise making
+ available, online or offline, copies of the Work or providing access to its
+ essential functionalities at the disposal of any other natural or legal
+ person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+sublicensable licence to do the following, for the duration of copyright vested
+in the Original Work:
+
+- use the Work in any circumstance and for all usage,
+- reproduce the Work,
+- modify the Work, and make Derivative Works based upon the Work,
+- communicate to the public, including the right to make available or display
+ the Work or copies thereof to the public and perform publicly, as the case may
+ be, the Work,
+- distribute the Work or copies thereof,
+- lend and rent the Work or copies thereof,
+- sublicense rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now
+known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to
+exercise his moral right to the extent allowed by law in order to make effective
+the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
+any patents held by the Licensor, to the extent necessary to make use of the
+rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as
+Executable Code. If the Work is provided as Executable Code, the Licensor
+provides in addition a machine-readable copy of the Source Code of the Work
+along with each copy of the Work that the Licensor distributes or indicates, in
+a notice following the copyright notice attached to the Work, a repository where
+the Source Code is easily and freely accessible for as long as the Licensor
+continues to distribute or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from
+any exception or limitation to the exclusive rights of the rights owners in the
+Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and
+obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or
+trademarks notices and all notices that refer to the Licence and to the
+disclaimer of warranties. The Licensee must include a copy of such notices and a
+copy of the Licence with every copy of the Work he/she distributes or
+communicates. The Licensee must cause any Derivative Work to carry prominent
+notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the
+Original Works or Derivative Works, this Distribution or Communication will be
+done under the terms of this Licence or of a later version of this Licence
+unless the Original Work is expressly distributed only under this version of the
+Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
+(becoming Licensor) cannot offer or impose any additional terms or conditions on
+the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative
+Works or copies thereof based upon both the Work and another work licensed under
+a Compatible Licence, this Distribution or Communication can be done under the
+terms of this Compatible Licence. For the sake of this clause, ‘Compatible
+Licence’ refers to the licences listed in the appendix attached to this Licence.
+Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible
+Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work,
+the Licensee will provide a machine-readable copy of the Source Code or indicate
+a repository where this Source will be easily and freely available for as long
+as the Licensee continues to distribute or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names,
+trademarks, service marks, or names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted
+hereunder is owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings
+to the Work are owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent
+Contributors grant You a licence to their contributions to the Work, under the
+terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous
+Contributors. It is not a finished work and may therefore contain defects or
+‘bugs’ inherent to this type of development.
+
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis
+and without warranties of any kind concerning the Work, including without
+limitation merchantability, fitness for a particular purpose, absence of defects
+or errors, accuracy, non-infringement of intellectual property rights other than
+copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition
+for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural
+persons, the Licensor will in no event be liable for any direct or indirect,
+material or moral, damages of any kind, arising out of the Licence or of the use
+of the Work, including without limitation, damages for loss of goodwill, work
+stoppage, computer failure or malfunction, loss of data or any commercial
+damage, even if the Licensor has been advised of the possibility of such damage.
+However, the Licensor will be liable under statutory product liability laws as
+far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Work, You may choose to conclude an additional agreement,
+defining obligations or services consistent with this Licence. However, if
+accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor,
+and only if You agree to indemnify, defend, and hold each Contributor harmless
+for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
+placed under the bottom of a window displaying the text of this Licence or by
+affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable
+acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and
+conditions by exercising any rights granted to You by Article 2 of this Licence,
+such as the use of the Work, the creation by You of a Derivative Work or the
+Distribution or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution or Communication of the Work by means of electronic
+communication by You (for example, by offering to download the Work from a
+remote location) the distribution channel or media (for example, a website) must
+at least provide to the public the information requested by the applicable law
+regarding the Licensor, the Licence and the way it may be accessible, concluded,
+stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon
+any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has
+received the Work from the Licensee under the Licence, provided such persons
+remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete
+agreement between the Parties as to the Work.
+
+If any provision of the Licence is invalid or unenforceable under applicable
+law, this will not affect the validity or enforceability of the Licence as a
+whole. Such provision will be construed or reformed so as necessary to make it
+valid and enforceable.
+
+The European Commission may publish other linguistic versions or new versions of
+this Licence or updated versions of the Appendix, so far this is required and
+reasonable, without reducing the scope of the rights granted by the Licence. New
+versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission,
+have identical value. Parties can take advantage of the linguistic version of
+their choice.
+
+14. Jurisdiction
+
+Without prejudice to specific agreement between parties,
+
+- any litigation resulting from the interpretation of this License, arising
+ between the European Union institutions, bodies, offices or agencies, as a
+ Licensor, and any Licensee, will be subject to the jurisdiction of the Court
+ of Justice of the European Union, as laid down in article 272 of the Treaty on
+ the Functioning of the European Union,
+
+- any litigation arising between other parties and resulting from the
+ interpretation of this License, will be subject to the exclusive jurisdiction
+ of the competent court where the Licensor resides or conducts its primary
+ business.
+
+15. Applicable Law
+
+Without prejudice to specific agreement between parties,
+
+- this Licence shall be governed by the law of the European Union Member State
+ where the Licensor has his seat, resides or has his registered office,
+
+- this licence shall be governed by Belgian law if the Licensor has no seat,
+ residence or registered office inside a European Union Member State.
+
+Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+
+- GNU General Public License (GPL) v. 2, v. 3
+- GNU Affero General Public License (AGPL) v. 3
+- Open Software License (OSL) v. 2.1, v. 3.0
+- Eclipse Public License (EPL) v. 1.0
+- CeCILL v. 2.0, v. 2.1
+- Mozilla Public Licence (MPL) v. 2
+- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
+ works other than software
+- European Union Public Licence (EUPL) v. 1.1, v. 1.2
+- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
+ Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above
+licences without producing a new version of the EUPL, as long as they provide
+the rights granted in Article 2 of this Licence and protect the covered Source
+Code from exclusive appropriation.
+
+All other changes or additions to this Appendix require the production of a new
+EUPL version.
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/README.md b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/README.md
new file mode 100644
index 00000000000..ad61a2c751d
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/README.md
@@ -0,0 +1,11 @@
+# Angular-Adapter
+
+Das [**Angular**](https://angular.io)-Modul ist der Framework-Adapter für die Komponenten-Bibliothek.
+
+Mehr zur **Modularisierung** kann im [Architekturkonzept](https://public-ui.github.io/docs/concepts/architecture) nachgelesen werden.
+
+Mehr zum **Projekt** kann in der [README](https://public-ui.github.io/docs) nachgelesen werden.
+
+## Referenzen
+
+-
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/ng-module.js b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/ng-module.js
new file mode 100644
index 00000000000..b85a0a6cca0
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/ng-module.js
@@ -0,0 +1,32 @@
+const fs = require('fs');
+const path = require('path');
+
+let ngComponents = fs.readFileSync('./src/components.ts', 'utf-8');
+// ngFile = ngFile.replace(/, NgModule/g, '');
+// ngFile = ngFile.replace(/\/\* AutoGen NgModule(.*\n?)*/, '');
+
+const componentList = ngComponents.split('export class');
+componentList.splice(0, 1);
+componentList.forEach((component, index) => {
+ componentList[index] = component.replace(/ \{(.*\n?)*/, '').trim();
+});
+
+const componentListStr = componentList.join(', ');
+
+fs.writeFileSync(
+ './src/index.ts',
+ `
+/* AutoGen NgModule */
+
+import { NgModule } from '@angular/core';
+import { ${componentListStr} } from './components';
+export { ${componentListStr} }
+
+@NgModule({
+ declarations: [${componentListStr}],
+ exports: [${componentListStr}],
+})
+export class KoliBriModule {}
+`,
+ 'utf-8'
+);
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/package.json b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/package.json
new file mode 100644
index 00000000000..b0d399b9f79
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/package.json
@@ -0,0 +1,84 @@
+{
+ "name": "@{{kebab name}}/angular-v16",
+ "version": "0.0.0",
+ "license": "EUPL-1.2",
+ "author": {
+ "name": "{{author}}",
+ "email": "{{email}}"
+ },
+ "sideEffects": false,
+ "description": "Angular (v17) framework adapter for KoliBri - The accessible HTML-Standard.",
+ "keywords": [
+ "accessibility",
+ "accessible",
+ "bitv",
+ "framework",
+ "library",
+ "designsystem",
+ "design",
+ "system",
+ "web components",
+ "webcomponents",
+ "aria",
+ "wai",
+ "axe",
+ "custom elements",
+ "styleguide",
+ "style",
+ "guide",
+ "ui",
+ "html",
+ "css",
+ "web",
+ "a11y",
+ "w3c",
+ "webstandard",
+ "wcag",
+ "angular"
+ ],
+ "scripts": {
+ "clean": "lerna exec --stream -- git clean -f -d -X && git clean -f -d -X",
+ "build:cjs": "tsc -m commonjs --outDir cjs",
+ "build:clean": "rimraf cjs esm types umd",
+ "build:esm": "tsc -m esnext --outDir esm",
+ "build:ngc": "node ng-module.js && ngc -p .",
+ "build:tsc": "tsc -p .",
+ "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map",
+ "build:umd": "tsc -m umd --outDir umd",
+ "build": "npm run build:clean && npm run build:ngc",
+ "prepack": "npm run build"
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ "types": "./dist/index.d.ts",
+ "require": "./dist/index.js",
+ "import": "./dist/index.js"
+ },
+ "devDependencies": {
+ "@{{kebab name}}/components": "0.0.0",
+ "@angular/compiler": "17.0.4",
+ "@angular/compiler-cli": "17.0.4",
+ "@angular/core": "17.0.4",
+ "@public-ui/components": "1.7.2",
+ "@types/minimatch": "5.1.2",
+ "@types/minimist": "1.2.5",
+ "@types/node": "ts5.2",
+ "@types/normalize-package-data": "2.4.4",
+ "prettier": "3.1.0",
+ "rimraf": "3.0.2",
+ "rxjs": "7.8.1",
+ "tslib": "2.6.2",
+ "typescript": "5.2.2",
+ "zone.js": "0.14.2"
+ },
+ "peerDependencies": {
+ "@{{kebab name}}/components": "0.0.0",
+ "@angular/core": "^17",
+ "@public-ui/components": "1.7.2"
+ },
+ "files": [
+ "dist"
+ ]
+}
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/tsconfig.json b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/tsconfig.json
new file mode 100644
index 00000000000..437717cbc75
--- /dev/null
+++ b/packages/create-kolibri/templates/kolibri-library/packages/adapters/angular/v17/tsconfig.json
@@ -0,0 +1,38 @@
+{
+ "angularCompilerOptions": {
+ "annotateForClosureCompiler": false,
+ "strictMetadataEmit": true,
+ "flatModuleOutFile": "core.js",
+ "flatModuleId": "@own/angular",
+ "skipTemplateCodegen": true,
+ "fullTemplateTypeCheck": false,
+ "enableIvy": true
+ },
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "strict": true,
+ "allowSyntheticDefaultImports": true,
+ "allowUnreachableCode": false,
+ "declaration": true,
+ "declarationDir": "dist",
+ "experimentalDecorators": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["dom", "es2017"],
+ "module": "ESNext",
+ "moduleResolution": "node",
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noUnusedLocals": false,
+ "noUnusedParameters": true,
+ "outDir": "dist",
+ "pretty": true,
+ "removeComments": false,
+ "importHelpers": true,
+ "rootDir": "src",
+ "strictPropertyInitialization": false,
+ "target": "es2015",
+ "skipLibCheck": true
+ },
+ "files": ["src/index.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/components/package.json b/packages/create-kolibri/templates/kolibri-library/packages/components/package.json
index bcdd6381c85..51e4fc9b6c0 100644
--- a/packages/create-kolibri/templates/kolibri-library/packages/components/package.json
+++ b/packages/create-kolibri/templates/kolibri-library/packages/components/package.json
@@ -20,7 +20,7 @@
"scripts": {
"build": "npm run test && npm run build:light",
"build:light": "npm run clear && mkdir doc && node scripts/transform.css.js && cross-env NODE_ENV=production stencil build --docs --prod && node scripts/hashing.js && node scripts/autogen.doc.js && node scripts/cheat-sheet.js && node scripts/vaadin.js && npm run format -- -w",
- "clear": "rimraf dist doc loader www ../adapters/angular/v11/src ../adapters/angular/v12/src ../adapters/angular/v13/src ../adapters/angular/v14/src ../adapters/angular/v15/src ../adapters/angular/v16/src ../adapters/hydrate/dist ../adapters/react/src ../adapters/solid/src ../adapters/vaadin/*.java ../adapters/vue/src",
+ "clear": "rimraf dist doc loader www ../adapters/angular/v11/src ../adapters/angular/v12/src ../adapters/angular/v13/src ../adapters/angular/v14/src ../adapters/angular/v15/src ../adapters/angular/v16/src ../adapters/angular/v17/src ../adapters/hydrate/dist ../adapters/react/src ../adapters/solid/src ../adapters/vaadin/*.java ../adapters/vue/src",
"depcheck": "depcheck --ignore-bin-package --skip-missing --ignores=@types/*,@public-ui/*,@stencil/*,eslint-*,postcss-windicss,tslib,workbox-build",
"format": "prettier --check src",
"lighthouse": "lighthouse --chrome-flags=\"--headless\" --output-path lighthouse.report.html --preset=desktop --quiet",
diff --git a/packages/create-kolibri/templates/kolibri-library/packages/components/stencil.config.ts b/packages/create-kolibri/templates/kolibri-library/packages/components/stencil.config.ts
index be4e4b8b63c..e6aed44a822 100644
--- a/packages/create-kolibri/templates/kolibri-library/packages/components/stencil.config.ts
+++ b/packages/create-kolibri/templates/kolibri-library/packages/components/stencil.config.ts
@@ -133,6 +133,12 @@ if (process.env.NODE_ENV === 'production') {
directivesProxyFile: '../adapters/angular/v16/src/components.ts',
includeImportCustomElements: false,
}),
+ angularOutputTarget({
+ componentCorePackage: '@public-ui/components',
+ excludeComponents: EXCLUDE_TAGS,
+ directivesProxyFile: '../adapters/angular/v17/src/components.ts',
+ includeImportCustomElements: false,
+ }),
reactOutputTarget({
componentCorePackage: '@public-ui/components',
excludeComponents: EXCLUDE_TAGS,
diff --git a/scripts/deprecate-add.sh b/scripts/deprecate-add.sh
index d90e7fb51e6..a40dfeb7cda 100644
--- a/scripts/deprecate-add.sh
+++ b/scripts/deprecate-add.sh
@@ -4,6 +4,7 @@ npm deprecate @public-ui/angular-v13@$1 "Wir empfehlen die Verwendung einer neue
npm deprecate @public-ui/angular-v14@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
npm deprecate @public-ui/angular-v15@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
npm deprecate @public-ui/angular-v16@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
+npm deprecate @public-ui/angular-v17@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
npm deprecate @public-ui/hydrate@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
npm deprecate @public-ui/kolibri-cli@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
npm deprecate @public-ui/preact@$1 "Wir empfehlen die Verwendung einer neueren Version (>=$2)."
diff --git a/scripts/deprecate-rm.sh b/scripts/deprecate-rm.sh
index 726345c2036..30cd7afb0a7 100644
--- a/scripts/deprecate-rm.sh
+++ b/scripts/deprecate-rm.sh
@@ -4,6 +4,7 @@ npm deprecate @public-ui/angular-v13@$1 ""
npm deprecate @public-ui/angular-v14@$1 ""
npm deprecate @public-ui/angular-v15@$1 ""
npm deprecate @public-ui/angular-v16@$1 ""
+npm deprecate @public-ui/angular-v17@$1 ""
npm deprecate @public-ui/hydrate@$1 ""
npm deprecate @public-ui/kolibri-cli@$1 ""
npm deprecate @public-ui/preact@$1 ""
diff --git a/scripts/dist-tags.sh b/scripts/dist-tags.sh
index 6674b0916f7..448ee346790 100644
--- a/scripts/dist-tags.sh
+++ b/scripts/dist-tags.sh
@@ -4,6 +4,7 @@ npm dist-tag $1 @public-ui/angular-v13@$2 $3
npm dist-tag $1 @public-ui/angular-v14@$2 $3
npm dist-tag $1 @public-ui/angular-v15@$2 $3
npm dist-tag $1 @public-ui/angular-v16@$2 $3
+npm dist-tag $1 @public-ui/angular-v17@$2 $3
npm dist-tag $1 @public-ui/hydrate@$2 $3
npm dist-tag $1 @public-ui/kolibri-cli@$2 $3
npm dist-tag $1 @public-ui/preact@$2 $3
diff --git a/scripts/license-reports.sh b/scripts/license-reports.sh
index d9f9cb71844..f5b36c6264f 100644
--- a/scripts/license-reports.sh
+++ b/scripts/license-reports.sh
@@ -5,6 +5,7 @@ npx license-report --output=html --package=packages/adapters/angular/v13/package
npx license-report --output=html --package=packages/adapters/angular/v14/package.json >> license-reports/adapter-angular-v14.html
npx license-report --output=html --package=packages/adapters/angular/v15/package.json >> license-reports/adapter-angular-v15.html
npx license-report --output=html --package=packages/adapters/angular/v16/package.json >> license-reports/adapter-angular-v15.html
+npx license-report --output=html --package=packages/adapters/angular/v17/package.json >> license-reports/adapter-angular-v15.html
npx license-report --output=html --package=packages/adapters/hydrate/package.json >> license-reports/adapter-hydrate.html
npx license-report --output=html --package=packages/adapters/preact/package.json >> license-reports/adapter-preact.html
npx license-report --output=html --package=packages/adapters/react/package.json >> license-reports/adapter-react.html