diff --git a/alfa-client/.prettierrc b/alfa-client/.prettierrc index a938a8601da77934caa995a32d3fb5916f7c473e..db361c13809eb7a7b514451f1b87543eb9280a0c 100644 --- a/alfa-client/.prettierrc +++ b/alfa-client/.prettierrc @@ -20,6 +20,7 @@ "embeddedLanguageFormatting": "auto", "plugins": [ "prettier-plugin-organize-imports", + "prettier-plugin-groovy", "prettier-plugin-tailwindcss" ], "tailwindConfig": "./libs/design-system/src/lib/tailwind-preset/tailwind.config.js" diff --git a/alfa-client/apps/info-e2e/.eslintrc.json b/alfa-client/apps/info-e2e/.eslintrc.json new file mode 100644 index 0000000000000000000000000000000000000000..696cb8b12127425419f6d2809c5f15a5963d86de --- /dev/null +++ b/alfa-client/apps/info-e2e/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/alfa-client/apps/info-e2e/cypress.config.ts b/alfa-client/apps/info-e2e/cypress.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..7df58bdcfa071c45e23c30e751581287aaacd2e8 --- /dev/null +++ b/alfa-client/apps/info-e2e/cypress.config.ts @@ -0,0 +1,7 @@ +import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset'; + +import { defineConfig } from 'cypress'; + +export default defineConfig({ + e2e: { ...nxE2EPreset(__filename, { cypressDir: 'src' }), baseUrl: 'http://localhost:4200' }, +}); diff --git a/alfa-client/apps/info-e2e/project.json b/alfa-client/apps/info-e2e/project.json new file mode 100644 index 0000000000000000000000000000000000000000..2582290b0a800dcaef7e9bcdd3f0b218414656f8 --- /dev/null +++ b/alfa-client/apps/info-e2e/project.json @@ -0,0 +1,29 @@ +{ + "name": "info-e2e", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "projectType": "application", + "sourceRoot": "apps/info-e2e/src", + "tags": [], + "implicitDependencies": ["info"], + "targets": { + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/info-e2e/cypress.config.ts", + "testingType": "e2e", + "devServerTarget": "info:serve:development" + }, + "configurations": { + "production": { + "devServerTarget": "info:serve:production" + }, + "ci": { + "devServerTarget": "info:serve-static" + } + } + }, + "lint": { + "executor": "@nx/eslint:lint" + } + } +} diff --git a/alfa-client/apps/info-e2e/src/e2e/app.cy.ts b/alfa-client/apps/info-e2e/src/e2e/app.cy.ts new file mode 100644 index 0000000000000000000000000000000000000000..904740f4a976253f4bcb00eb67bfda320a5d436f --- /dev/null +++ b/alfa-client/apps/info-e2e/src/e2e/app.cy.ts @@ -0,0 +1,13 @@ +import { getGreeting } from '../support/app.po'; + +describe('info-e2e', () => { + beforeEach(() => cy.visit('/')); + + it('should display welcome message', () => { + // Custom command example, see `../support/commands.ts` file + cy.login('my-email@something.com', 'myPassword'); + + // Function helper example, see `../support/app.po.ts` file + getGreeting().contains(/Welcome/); + }); +}); diff --git a/alfa-client/apps/info-e2e/src/fixtures/example.json b/alfa-client/apps/info-e2e/src/fixtures/example.json new file mode 100644 index 0000000000000000000000000000000000000000..02e4254378e9785f013be7cc8d94a8229dcbcbb7 --- /dev/null +++ b/alfa-client/apps/info-e2e/src/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/alfa-client/apps/info-e2e/src/support/app.po.ts b/alfa-client/apps/info-e2e/src/support/app.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..32934246969c2ecb827ac05677785933a707a54d --- /dev/null +++ b/alfa-client/apps/info-e2e/src/support/app.po.ts @@ -0,0 +1 @@ +export const getGreeting = () => cy.get('h1'); diff --git a/alfa-client/apps/info-e2e/src/support/commands.ts b/alfa-client/apps/info-e2e/src/support/commands.ts new file mode 100644 index 0000000000000000000000000000000000000000..c421a3c47c1aa0f82f17f545268ec5965e6b5a79 --- /dev/null +++ b/alfa-client/apps/info-e2e/src/support/commands.ts @@ -0,0 +1,35 @@ +/// <reference types="cypress" /> + +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** + +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface Chainable<Subject> { + login(email: string, password: string): void; + } +} + +// -- This is a parent command -- +Cypress.Commands.add('login', (email, password) => { + console.log('Custom command example: Login', email, password); +}); +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/alfa-client/apps/info-e2e/src/support/e2e.ts b/alfa-client/apps/info-e2e/src/support/e2e.ts new file mode 100644 index 0000000000000000000000000000000000000000..1c1a9e772baea367e08b1c7b15e65b3fede3d17f --- /dev/null +++ b/alfa-client/apps/info-e2e/src/support/e2e.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/e2e.ts is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.ts using ES2015 syntax: +import './commands'; diff --git a/alfa-client/apps/info-e2e/tsconfig.json b/alfa-client/apps/info-e2e/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..e28de1d7913d8d554fee7f55bdf42f0bd4125191 --- /dev/null +++ b/alfa-client/apps/info-e2e/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "allowJs": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["cypress", "node"], + "sourceMap": false, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["**/*.ts", "**/*.js", "cypress.config.ts", "**/*.cy.ts", "**/*.cy.js", "**/*.d.ts"] +} diff --git a/alfa-client/apps/info/.eslintrc.json b/alfa-client/apps/info/.eslintrc.json new file mode 100644 index 0000000000000000000000000000000000000000..437641b9a11a424b46bcf2606b683998a3a6bba1 --- /dev/null +++ b/alfa-client/apps/info/.eslintrc.json @@ -0,0 +1,33 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts"], + "extends": ["plugin:@nx/angular", "plugin:@angular-eslint/template/process-inline-templates"], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } + ] + } + }, + { + "files": ["*.html"], + "extends": ["plugin:@nx/angular-template"], + "rules": {} + } + ] +} diff --git a/alfa-client/apps/info/Caddyfile b/alfa-client/apps/info/Caddyfile new file mode 100644 index 0000000000000000000000000000000000000000..440e32b476cf040c1471b9646a946ee8a2f8757a --- /dev/null +++ b/alfa-client/apps/info/Caddyfile @@ -0,0 +1,6 @@ +:8080 { + file_server + root * /usr/share/caddy + + try_files {path} /index.html +} \ No newline at end of file diff --git a/alfa-client/apps/info/Dockerfile b/alfa-client/apps/info/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..bc3c81eb1489b2fcaf7ff4e513b494da91064ece --- /dev/null +++ b/alfa-client/apps/info/Dockerfile @@ -0,0 +1,20 @@ +FROM caddy:2.6.4-alpine + +RUN adduser --system --ingroup root caddy + +WORKDIR /usr/share/caddy + +COPY apps/info/Caddyfile /etc/caddy/Caddyfile + +COPY dist/apps/info /usr/share/caddy + +RUN chgrp -R 0 /usr/bin/caddy /etc/caddy /config/caddy /usr/share/caddy && \ + chmod -R g=u /usr/bin/caddy /etc/caddy /config/caddy /usr/share/caddy + +USER caddy + +EXPOSE 8080 8081 + +ENTRYPOINT ["/usr/bin/caddy"] + +CMD ["run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"] \ No newline at end of file diff --git a/alfa-client/apps/info/Jenkinsfile b/alfa-client/apps/info/Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..6668cf3f780de06abccc810ea57284f3b3069131 --- /dev/null +++ b/alfa-client/apps/info/Jenkinsfile @@ -0,0 +1,212 @@ +pipeline { + agent { + node { + label 'ozgcloud-jenkins-build-agent-jdk21-node20' + } + } + environment { + BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/info/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + RELEASE_REGEX = /\d+.\d+.\d+/ + SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ + FAILED_STAGE = "" + SH_SUCCESS_STATUS_CODE = 0 + FORCE_COLOR = 0 + NO_COLOR = 1 + } + options { + timeout(time: 1, unit: 'HOURS') + disableConcurrentBuilds() + buildDiscarder(logRotator(numToKeepStr: '5')) + } + stages { + stage('Check Version') { + steps { + script { + FAILED_STAGE = env.STAGE_NAME + dir('alfa-client') { + VERSION = getPackagejsonVersion() + } + } + } + } + stage('build info client and its docker image') { + steps { + script { + FAILED_STAGE = env.STAGE_NAME + dir('alfa-client') { + sh 'echo "registry=https://nexus.ozg-sh.de/repository/npm-proxy" >> ~/.npmrc' + sh 'echo "//nexus.ozg-sh.de/:_auth=amVua2luczprTSFnNVUhMVQzNDZxWQ==" >> ~/.npmrc' + sh 'npm cache verify' + sh 'npm install' + sh 'npx nx run info:test' + sh 'npx nx run info:test -- --runInBand --codeCoverage --coverageReporters=lcov --testResultsProcessor=jest-sonar-reporter && npx sonar-scanner' + + IMAGE_TAG = generateImageTag() + + if (isMasterBranch()) { + IMAGE_TAG = "snapshot-latest" + } + else if (isReleaseBranch()) { + IMAGE_TAG = "latest" + } + + loginToDockerRegistry() + + sh "INPUT_TAGS=${IMAGE_TAG} INPUT_IMAGES=docker.ozg-sh.de/info-client-by npx nx container info --configuration=production-by" + sh "INPUT_TAGS=${IMAGE_TAG} INPUT_IMAGES=docker.ozg-sh.de/info-client-sh npx nx container info --configuration=production-sh" + } + } + } + } + } + post { + failure { + script { + if (isMasterBranch() || isReleaseBranch()) { + sendFailureMessage() + } + } + } + } +} +Boolean isReleaseBranch() { + return env.BRANCH_NAME == 'release-admin' +} + +String generateImageTag() { + def imageTag = "${env.BRANCH_NAME}-${VERSION}" + + if (isMasterBranch()) { + imageTag += "-${env.GIT_COMMIT.take(7)}" + } + + return imageTag +} + +Void cloneGitopsRepo() { + withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { + sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git' + } + configureGit() +} + +Void configureGit() { + final email = "jenkins@ozg-sh.de" + final name = "jenkins" + + dir("gitops") { + sh "git config user.email '${email}'" + sh "git config user.name '${name}'" + } +} + +Void setNewDevVersion() { + setNewGitopsVersion("dev") +} + +Void setNewTestVersion() { + setNewGitopsVersion("test") +} + +Void setNewGitopsVersion(String environment) { + dir("gitops") { + def envFile = "${environment}/application/values/admin-client-values.yaml" + + def envVersions = readYaml file: envFile + + envVersions.admin_client.image.tag = IMAGE_TAG + envVersions.admin_client.helm.version = HELM_CHART_VERSION + + writeYaml file: envFile, data: envVersions, overwrite: true + + if (hasValuesFileChanged(environment)) { + sh "git add ${envFile}" + sh "git commit -m 'jenkins rollout ${environment} admin_client version ${IMAGE_TAG}'" + } + } +} + +Boolean hasValuesFileChanged(String environment) { + return sh (script: "git status | grep '${environment}/application/values/admin-client-values.yaml'", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer +} + + +Void pushGitopsRepo() { + withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { + dir("gitops") { + if (hasUnpushedCommits()) { + sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git' + } + } + } +} + +Boolean hasUnpushedCommits() { + return sh (script: "git cherry -v | grep .", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer +} + +Void loginToDockerRegistry(){ + withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { + sh 'docker login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}' + } +} +String getPackagejsonVersion() { + def packageJSON = readJSON file: 'package.json' + def packageJSONVersion = packageJSON.version + echo packageJSONVersion + return packageJSONVersion +} + +Void deployHelmChart(String helmChartVersion) { + withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]){ + if (isReleaseBranch()) { + result = sh script: '''curl -u $USERNAME:$PASSWORD https://nexus.ozg-sh.de/service/rest/v1/components?repository=ozg-base-apps -F file=@admin-client-'''+helmChartVersion+'''.tgz''', returnStdout: true + } + else { + result = sh script: '''curl -u $USERNAME:$PASSWORD https://nexus.ozg-sh.de/service/rest/v1/components?repository=ozg-base-apps-snapshot -F file=@admin-client-'''+helmChartVersion+'''.tgz''', returnStdout: true + } + + if (result != '') { + error(result) + } + } +} +String generateHelmChartVersion() { + def chartVersion = "${VERSION}" + + if (isMasterBranch()) { + chartVersion += "-${env.GIT_COMMIT.take(7)}" + } + else if (!isReleaseBranch()) { + chartVersion += "-${env.BRANCH_NAME}" + } + + return chartVersion.replaceAll("_", "-") +} + +Boolean isMasterBranch() { + return env.BRANCH_NAME == 'master' +} + +Void sendFailureMessage() { + def room = '' + def data = """{"msgtype":"m.text", \ + "body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \ + "format": "org.matrix.custom.html", \ + "formatted_body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}""" + + if (isMasterBranch()) { + room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" + } + else if (isReleaseBranch()) { + room = "!oWZpUGTFsxkJIYNfYg:matrix.ozg-sh.de" + } + + sh "curl -XPOST -H 'authorization: Bearer ${getElementAccessToken()}' -d '${data}' https://matrix.ozg-sh.de/_matrix/client/v3/rooms/$room/send/m.room.message" +} + +String getElementAccessToken() { + withCredentials([string(credentialsId: 'element-login-json', variable: 'LOGIN_JSON')]) { + return readJSON ( text: sh (script: '''curl -XPOST -d \"$LOGIN_JSON\" https://matrix.ozg-sh.de/_matrix/client/v3/login''', returnStdout: true)).access_token + } +} \ No newline at end of file diff --git a/alfa-client/apps/info/jest.config.ts b/alfa-client/apps/info/jest.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..ae2366cf2ae77ab38f66c709e392a383f2e42aae --- /dev/null +++ b/alfa-client/apps/info/jest.config.ts @@ -0,0 +1,22 @@ +/* eslint-disable */ +export default { + displayName: 'info', + preset: '../../jest.preset.js', + setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'], + coverageDirectory: '../../coverage/apps/info', + transform: { + '^.+\\.(ts|mjs|js|html)$': [ + 'jest-preset-angular', + { + tsconfig: '<rootDir>/tsconfig.spec.json', + stringifyContentPathRegex: '\\.(html|svg)$', + }, + ], + }, + transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'], + snapshotSerializers: [ + 'jest-preset-angular/build/serializers/no-ng-attributes', + 'jest-preset-angular/build/serializers/ng-snapshot', + 'jest-preset-angular/build/serializers/html-comment', + ], +}; diff --git a/alfa-client/apps/info/project.json b/alfa-client/apps/info/project.json new file mode 100644 index 0000000000000000000000000000000000000000..6a94515647a2d9bac320d3c677a7a2393a790924 --- /dev/null +++ b/alfa-client/apps/info/project.json @@ -0,0 +1,158 @@ +{ + "name": "info", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "projectType": "application", + "prefix": "info", + "sourceRoot": "apps/info/src", + "tags": [], + "targets": { + "build": { + "executor": "@angular-devkit/build-angular:browser-esbuild", + "outputs": [ + "{options.outputPath}" + ], + "options": { + "outputPath": "dist/apps/info", + "index": "apps/info/src/index.html", + "main": "apps/info/src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "apps/info/tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "apps/info/src/favicon.svg", + "apps/info/src/assets" + ], + "styles": [ + "apps/info/src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": [ + "apps/alfa/src/styles/abstracts", + "node_modules/@angular", + "node_modules/include-media", + "node_modules/typeface-roboto" + ] + } + }, + "configurations": { + "production-by": { + "fileReplacements": [ + { + "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts", + "with": "apps/info/src/pages/accessibility/accessibility-page-by.component.ts" + } + ], + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "production-sh": { + "fileReplacements": [ + { + "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts", + "with": "apps/info/src/pages/accessibility/accessibility-page-sh.component.ts" + } + ], + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "fileReplacements": [ + { + "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts", + "with": "apps/info/src/pages/accessibility/accessibility-page-sh.component.ts" + } + ], + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "executor": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "info:build:production" + }, + "development": { + "buildTarget": "info:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "executor": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "info:build" + } + }, + "lint": { + "executor": "@nx/eslint:lint" + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": [ + "{workspaceRoot}/coverage/{projectRoot}" + ], + "options": { + "jestConfig": "apps/info/jest.config.ts" + } + }, + "serve-static": { + "executor": "@nx/web:file-server", + "options": { + "buildTarget": "info:build", + "port": 4200, + "spa": true + } + }, + "container": { + "executor": "@nx-tools/nx-container:build", + "dependsOn": [ + "build" + ], + "options": { + "engine": "docker", + "push": true, + "metadata": { + "images": [ + "docker.ozg-sh.de/info" + ], + "load": true, + "tags": [ + "snapshot-latest" + ] + } + } + } + } +} \ No newline at end of file diff --git a/alfa-client/apps/info/sonar-project.properties b/alfa-client/apps/info/sonar-project.properties new file mode 100644 index 0000000000000000000000000000000000000000..24e28687ae658cacddba0bac13b9ef8f7a910765 --- /dev/null +++ b/alfa-client/apps/info/sonar-project.properties @@ -0,0 +1,9 @@ +sonar.projectKey=info-client +sonar.sources=src +sonar.tests=src +sonar.test.inclusions=**/*.spec.ts +sonar.exclusions=**/node_modules/** +sonar.inclusions=**/*.ts, **/*.scss, **/*.html +sonar.javascript.lcov.reportPaths=coverage/**/lcov.info +sonar.sourceEncoding=UTF-8 +sonar.projectName=Info Client \ No newline at end of file diff --git a/alfa-client/apps/info/src/app/app.component.html b/alfa-client/apps/info/src/app/app.component.html new file mode 100644 index 0000000000000000000000000000000000000000..13d01813a0e5b8b42f74d308d648b60e2377dffc --- /dev/null +++ b/alfa-client/apps/info/src/app/app.component.html @@ -0,0 +1,14 @@ +<header class="flex items-center justify-between border-b border-b-ozggray-300 bg-white px-9 py-2" data-test-id="info-header"> + <a + class="w-20 rounded border-2 border-transparent p-1 outline-2 outline-offset-2 hover:border-primary focus-visible:border-gray-200 focus-visible:outline-focus" + aria-label="OZG-Cloud Information" + routerLink="/" + > + <ods-ozg-logo-icon /> + </a> +</header> +<div class="relative flex w-full flex-auto flex-col justify-center gap-14 p-6"> + <main class="flex-auto bg-background-50"> + <router-outlet></router-outlet> + </main> +</div> diff --git a/alfa-client/apps/info/src/app/app.component.spec.ts b/alfa-client/apps/info/src/app/app.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..5928900f952dcd5521fdafae4f2b042fb6be8b95 --- /dev/null +++ b/alfa-client/apps/info/src/app/app.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { provideRouter } from '@angular/router'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + let component: AppComponent; + let fixture: ComponentFixture<AppComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AppComponent], + providers: [provideRouter([])], + }).compileComponents(); + + fixture = TestBed.createComponent(AppComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/info/src/app/app.component.ts b/alfa-client/apps/info/src/app/app.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..e81b19bbe0ad9e0ec1594bf7aa6f8c77b3801117 --- /dev/null +++ b/alfa-client/apps/info/src/app/app.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { OzgLogoIconComponent } from '@ods/system'; + +@Component({ + standalone: true, + imports: [RouterModule, OzgLogoIconComponent], + selector: 'app-root', + templateUrl: './app.component.html', +}) +export class AppComponent {} diff --git a/alfa-client/apps/info/src/app/app.config.ts b/alfa-client/apps/info/src/app/app.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..422eab26e204ee3eac3710a03ddd4d78852fd0af --- /dev/null +++ b/alfa-client/apps/info/src/app/app.config.ts @@ -0,0 +1,7 @@ +import { ApplicationConfig } from '@angular/core'; +import { provideRouter, withInMemoryScrolling } from '@angular/router'; +import { appRoutes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [provideRouter(appRoutes, withInMemoryScrolling({ scrollPositionRestoration: 'enabled' }))], +}; diff --git a/alfa-client/apps/info/src/app/app.routes.ts b/alfa-client/apps/info/src/app/app.routes.ts new file mode 100644 index 0000000000000000000000000000000000000000..2260ea6873811a57c40ea24dada72e8ef52a357c --- /dev/null +++ b/alfa-client/apps/info/src/app/app.routes.ts @@ -0,0 +1,15 @@ +import { Route } from '@angular/router'; +import { AccessibilityPageComponent } from '../pages/accessibility/accessibility-page.component'; + +export const appRoutes: Route[] = [ + { + path: '', + redirectTo: 'barrierefreiheit', + pathMatch: 'full', + }, + { + path: 'barrierefreiheit', + component: AccessibilityPageComponent, + title: 'Barrierefreiheit', + }, +]; diff --git a/alfa-client/apps/info/src/assets/.gitkeep b/alfa-client/apps/info/src/assets/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/alfa-client/apps/info/src/favicon.svg b/alfa-client/apps/info/src/favicon.svg new file mode 100644 index 0000000000000000000000000000000000000000..f610ada33f00495a5ce2e6e6f8f1936de57dec4c --- /dev/null +++ b/alfa-client/apps/info/src/favicon.svg @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 250.45 291.68"> + <defs> + <style> + .cls-1 { + clip-path: url(#clippath-4); + } + + .cls-2 { + fill: none; + } + + .cls-3 { + clip-path: url(#clippath-1); + } + + .cls-4 { + clip-path: url(#clippath-5); + } + + .cls-5 { + clip-path: url(#clippath-3); + } + + .cls-6 { + fill: url(#Unbenannter_Verlauf_11); + } + + .cls-7 { + clip-path: url(#clippath-2); + } + + .cls-8 { + clip-path: url(#clippath); + } + + .cls-9 { + fill: #003064; + } + </style> + <linearGradient id="Unbenannter_Verlauf_11" data-name="Unbenannter Verlauf 11" x1="149.23" y1="174.09" x2="250.45" y2="174.09" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#003064"/> + <stop offset="1" stop-color="#d4004b"/> + </linearGradient> + <clipPath id="clippath"> + <path class="cls-2" d="M182.48,248.08c0,21.25-17.11,38.59-38.15,38.59s-36.9-15.93-38.04-36.14c0-31.09-21.39-57.24-50.08-64.28,12.79-4.17,22.94-14.36,27.02-27.3,6.96,29.06,32.78,50.65,63.36,50.65,20.1,1.15,35.88,18.03,35.88,38.48Z"/> + </clipPath> + <clipPath id="clippath-1"> + <rect class="cls-2" x="51.21" y="153.95" width="136.27" height="137.73"/> + </clipPath> + <clipPath id="clippath-2"> + <rect class="cls-2" x="51.21" y="153.95" width="136.27" height="137.73"/> + </clipPath> + <clipPath id="clippath-3"> + <path class="cls-2" d="M182.48,43.59c0,20.45-15.75,37.33-35.73,38.48-35.43,0-64.42,28.83-65.33,64.51-.04.61-.04,1.19-.04,1.8-1.1,19.72-17.03,35.26-36.56,36.1h-.15c-.49.04-1.02.04-1.51.04-2.08,0-4.12-.15-6.13-.54-.61-.11-1.21-.23-1.82-.34-1.78-.34-3.48-.84-5.15-1.45-2.12-.8-4.13-1.76-6.06-2.91-.61-.34-1.17-.69-1.7-1.07-.15-.08-.3-.19-.45-.31-.76-.5-1.48-1.03-2.16-1.57-.11-.08-.23-.15-.34-.31-.87-.69-1.7-1.42-2.5-2.18-.49-.5-.98-1-1.48-1.53-1.67-1.72-3.1-3.6-4.35-5.63-.3-.5-.61-1.03-.91-1.53-.91-1.53-1.7-3.18-2.35-4.86-.68-1.68-1.25-3.45-1.67-5.25-.15-.61-.3-1.19-.38-1.8-.11-.61-.23-1.23-.3-1.84-.19-1.23-.3-2.49-.38-3.75-.04-.57-.04-1.15-.04-1.72,0-.8.04-1.57.08-2.34.08-1.11.19-2.22.34-3.33.11-.88.27-1.76.45-2.64.04-.08.04-.15.08-.19.15-.88.38-1.76.64-2.6.15-.54.34-1.11.53-1.65.19-.57.42-1.19.64-1.76.38-.96.8-1.91,1.25-2.83.34-.73.72-1.42,1.1-2.07.64-1.15,1.36-2.26,2.12-3.33.61-.88,1.25-1.72,1.93-2.53.04-.04.08-.08.11-.11.42-.5.83-.96,1.29-1.42.34-.38.68-.73,1.02-1.07.53-.54,1.06-1.03,1.63-1.49.49-.46.98-.88,1.51-1.26,1.21-1,2.5-1.88,3.82-2.68.83-.5,1.67-.96,2.54-1.38.49-.31,1.02-.54,1.55-.77.38-.19.76-.34,1.17-.5.38-.19.79-.34,1.21-.46,3.33-1.26,6.89-2.03,10.6-2.22h.49c1.14,0,2.27-.04,3.37-.11h.11c34.37-2.07,61.69-30.9,61.69-65.89,1.13-20.33,17.83-36.3,38.04-36.3s38.15,17.34,38.15,38.59Z"/> + </clipPath> + <clipPath id="clippath-4"> + <rect class="cls-2" y="0" width="187.48" height="189.53"/> + </clipPath> + <clipPath id="clippath-5"> + <rect class="cls-2" y="0" width="187.48" height="189.53"/> + </clipPath> + </defs> + <g> + <path class="cls-9" d="M207.42,137.73h-67.63c-8.36,0-15.14-6.86-15.14-15.31s6.78-15.31,15.14-15.31h67.63c8.36,0,15.14,6.86,15.14,15.31s-6.78,15.31-15.14,15.31Z"/> + <path class="cls-6" d="M235.31,189.41h-70.94c-8.36,0-15.14-6.86-15.14-15.31s6.78-15.31,15.14-15.31h70.94c8.36,0,15.14,6.86,15.14,15.31s-6.78,15.31-15.14,15.31Z"/> + </g> + <g class="cls-8"> + <g class="cls-3"> + <g class="cls-7"> + <image width="285" height="288" transform="translate(50.88 153.49) scale(.48)" xlink:href="data:image/png;base64,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"/> + </g> + </g> + </g> + <g class="cls-5"> + <g class="cls-1"> + <g class="cls-4"> + <image width="391" height="396" transform="translate(0 -.11) scale(.48)" xlink:href="data:image/png;base64,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"/> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/alfa-client/apps/info/src/index.html b/alfa-client/apps/info/src/index.html new file mode 100644 index 0000000000000000000000000000000000000000..8d38b05de963b0c6c7d2620e1752944dd0694f45 --- /dev/null +++ b/alfa-client/apps/info/src/index.html @@ -0,0 +1,13 @@ +<!doctype html> +<html lang="de" class="h-full bg-white antialiased"> + <head> + <meta charset="utf-8" /> + <title>OZG Cloud | Information</title> + <base href="/" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="icon" href="/favicon.svg" type="image/svg+xml" /> + </head> + <body class="flex min-h-full bg-white text-black"> + <app-root class="flex w-full flex-col"></app-root> + </body> +</html> diff --git a/alfa-client/apps/info/src/main.ts b/alfa-client/apps/info/src/main.ts new file mode 100644 index 0000000000000000000000000000000000000000..7205a13df94cc9e1949c07ac16454fc4faf8b564 --- /dev/null +++ b/alfa-client/apps/info/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { AppComponent } from './app/app.component'; +import { appConfig } from './app/app.config'; + +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.spec.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..56d706c931c9c33a68bd8328e1b46992dace28d8 --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { AccessibilityPageComponent } from './accessibility-page-by.component'; + +describe('AccessibilityPageComponent', () => { + let component: AccessibilityPageComponent; + let fixture: ComponentFixture<AccessibilityPageComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AccessibilityPageComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(AccessibilityPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..b053a47d685297d0a78487104d03eceda6f5146a --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-by.component.ts @@ -0,0 +1,110 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-accessibility-page', + standalone: true, + imports: [CommonModule], + template: `<div class="ozg-prose prose prose-h1:text-4xl prose-h2:text-2xl"> + <h1>Erklärung zur Barrierefreiheit</h1> + <p> + Das Bayerisches Staatsministerium für Digitales ist bemüht, seine Anwendung im Einklang mit der Bayerischen + Digital-Verordnung (BayDiV) barrierefrei zugänglich zu machen. + </p> + <p> + Diese Erklärung zur Barrierefreiheit gilt für Unterseiten und Subdomains von + <a href="https://by.ozg-cloud.de">https://by.ozg-cloud.de</a> + </p> + <h2>Stand der Vereinbarkeit mit den Anforderungen</h2> + <p>Diese Anwendung ist wegen der folgenden Unvereinbarkeiten und Ausnahmen teilweise mit §9 BayDiV vereinbar.</p> + <p> + Die Anwendung befindet sich derzeit noch in der Entwicklung. An bestehenden und bekannten Barrieren wird gearbeitet, um eine + Barrierefreiheit gemäß § 3 und § 4 BITV 2.0 gewährleisten zu können. + </p> + <h2>Allgemeiner Bereich</h2> + <h3>Nicht barrierefreie Inhalte</h3> + <p>Die nachstehend aufgeführten Inhalte sind unvereinbar mit § 3 und § 4 BITV 2.0 und somit nicht barrierefrei:</p> + <ul> + <li>Erläuterungen zu den Inhalten und der Navigation dieser Anwendung in leichter Sprache sind nicht vorhanden.</li> + <li> + Responsive Darstellung ist nicht vorhanden, weshalb Inhalte nur bedingt verlustfrei vergrößerbar sind oder umbrechen. + </li> + <li>Gliedernde Überschriften und Bereiche sind nicht umfassend vorhanden.</li> + <li>Benutzerdefinierte Einstellungen (Farbauswahl und Schriftgröße) werden nicht umfänglich angewendet.</li> + <li>Die Einstellungsmöglichkeiten im oberen Navigationsmenü können nicht per Tastatursteuerung erreicht werden.</li> + <li>Die Vorschläge der Vorgangssuche sind nicht per Screenreader wahrnehmbar.</li> + <li>Vereinzelt treten Texte mit zu geringem Kontrast zum Hintergrund auf.</li> + <li>Vereinzelt ist der Tastaturfokus nur schwer wahrnehmbar. Bei Datumspickern ist keine Fokushervorhebung vorhanden.</li> + <li> + Es fehlen Statusmeldungen, die Screenreader-Nutzende über Änderungen der Suchergebnisse oder über Änderungen von Anträgen + informieren. + </li> + <li> + Der als PDF zur Verfügung gestellte Benutzerleitfaden, sowie die als PDF abgespeicherten Nachrichten der Anwendung + entsprechen nicht dem PDF/UA-Standard. + </li> + </ul> + <h2>Administrationsbereich</h2> + <h3>Nicht barrierefreie Inhalte</h3> + <p>Die nachstehend aufgeführten Inhalte sind unvereinbar mit § 3 und § 4 BITV 2.0 und somit nicht barrierefrei:</p> + <ul> + <li>Erläuterungen zu den Inhalten und der Navigation dieser Anwendung in leichter Sprache sind nicht vorhanden.</li> + <li> + Responsive Darstellung ist nicht vorhanden, weshalb Inhalte nur bedingt verlustfrei vergrößerbar sind oder umbrechen. + </li> + <li>Gliedernde Überschriften und Bereiche sind nicht umfassend vorhanden.</li> + <li>Der Login ist nicht per Tastatursteuerung möglich.</li> + <li>Der Tastaturfokus ist nur schwer wahrnehmbar.</li> + </ul> + <h2>Erstellung dieser Erklärung zur Barrierefreiheit</h2> + <p>Diese Erklärung wurde am 15.07.2024 erstellt.</p> + <p> + Die Aussagen bezüglich der Vereinbarkeit mit den Barrierefreiheitsanforderungen in dieser Erklärung beruhen auf einer + Selbstbewertung. + </p> + <p>Die Erklärung wurde zuletzt am 15.07.2024 aktualisiert.</p> + + <h2>Feedback und Kontaktangaben</h2> + <p> + Etwaige Mängel in Bezug auf die Einhaltung der Barrierefreiheitsanforderungen können Sie uns mitteilen unter + <a href="mailto:bayernportal@stmd.bayern.de">bayernportal@stmd.bayern.de</a>. + </p> + <p> + Zuständig für die barrierefreie Zugänglichkeit und die Bearbeitung der im Rahmen des Feedback-Mechanismus eingehenden + Mitteilungen ist: + </p> + <p> + Bayerisches Staatsministerium für Digitales <br /> + Oskar-von-Miller-Ring 35 <br /> + 80333 München <br /> + E-Mail: <a href="mailto:bayernportal@stmd.bayern.de">bayernportal@stmd.bayern.de</a> + </p> + <h2>Durchsetzungsverfahren</h2> + <p> + Im Rahmen eines Durchsetzungsverfahrens haben Sie die Möglichkeit, + <a + href="https://formularserver.bayern.de/intelliform/forms/rzsued/ldbv/ldbv/anforderungen_barrierefreiheit/index" + title="Sie verlassen die Seite" + target="_blank" + >bei der Durchsetzungsstelle online einen Antrag auf Prüfung der Einhaltung der Anforderungen an die Barrierefreiheit zu + stellen</a + >. + </p> + <h2>Kontaktdaten der Durchsetzungsstelle</h2> + <p> + Landesamt für Digitalisierung, Breitband und Vermessung <br /> + IT-Dienstleistungszentrum des Freistaats Bayern <br /> + Durchsetzungs- und Überwachungsstelle für barrierefreie Informationstechnik <br /> + St.-Martin-Straße 47 <br /> + 81541 München + </p> + <p> + E-Mail: <a href="mailto:bitv@bayern.de">bbit@landtag.ltsh.de</a> <br /> + Internet: + <a href="https://www.ldbv.bayern.de/digitalisierung/bitv.html" title="Sie verlassen die Seite" target="_blank" + >www.ldbv.bayern.de/digitalisierung/bitv.html</a + > + </p> + </div>`, +}) +export class AccessibilityPageComponent {} diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.spec.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..87ae949b9384ae82edde43dba57fef6a3ff06180 --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { AccessibilityPageComponent } from './accessibility-page-sh.component'; + +describe('AccessibilityPageComponent', () => { + let component: AccessibilityPageComponent; + let fixture: ComponentFixture<AccessibilityPageComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AccessibilityPageComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(AccessibilityPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..495f077f13aad80e28c0f1d287a62f3b08b8c2c1 --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page-sh.component.ts @@ -0,0 +1,100 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-accessibility-page', + standalone: true, + imports: [CommonModule], + template: `<div class="ozg-prose prose prose-h1:text-4xl prose-h2:text-2xl"> + <h1>Erklärung zur Barrierefreiheit</h1> + <p> + Die Staatskanzlei des Ministerpräsidenten ist bemüht, ihre Anwendung im Einklang mit § 11 Absatz 1 + Landesbehindertengleichstellungsgesetz (LBGG) sowie den Anforderungen der Barrierefreiheit gemäß § 13 Absatz 3 LBGG + barrierefrei zugänglich zu machen. + </p> + <p> + Diese Erklärung zur Barrierefreiheit gilt für Unterseiten und Subdomains von + <a href="https://kop.schleswig-holstein.de">https://kop.schleswig-holstein.de</a> + </p> + <h2>Stand der Vereinbarkeit mit den Anforderungen</h2> + <p>Diese Website/mobile Anwendung ist teilweise mit § 13 Absatz 3 LBGG vereinbar.</p> + <p> + Die Anwendung befindet sich derzeit noch in der Entwicklung. An bestehenden und bekannten Barrieren wird gearbeitet, um eine + Barrierefreiheit gemäß § 13 Absatz 3 LBGG gewährleisten zu können. + </p> + <h2>Allgemeiner Bereich</h2> + <h3>Nicht barrierefreie Inhalte</h3> + <p>Die nachstehend aufgeführten Inhalte sind unvereinbar mit § 13 Absatz 3 LBGG und somit nicht barrierefrei:</p> + <ul> + <li>Erläuterungen zu den Inhalten und der Navigation dieser Anwendung in leichter Sprache sind nicht vorhanden.</li> + <li> + Responsive Darstellung ist nicht vorhanden, weshalb Inhalte nur bedingt verlustfrei vergrößerbar sind oder umbrechen. + </li> + <li>Gliedernde Überschriften und Bereiche sind nicht umfassend vorhanden.</li> + <li>Benutzerdefinierte Einstellungen (Farbauswahl und Schriftgröße) werden nicht umfänglich angewendet.</li> + <li>Die Einstellungsmöglichkeiten im oberen Navigationsmenü können nicht per Tastatursteuerung erreicht werden.</li> + <li>Die Vorschläge der Vorgangssuche sind nicht per Screenreader wahrnehmbar.</li> + <li>Vereinzelt treten Texte mit zu geringem Kontrast zum Hintergrund auf.</li> + <li>Vereinzelt ist der Tastaturfokus nur schwer wahrnehmbar. Bei Datumspickern ist keine Fokushervorhebung vorhanden.</li> + <li> + Es fehlen Statusmeldungen, die Screenreader-Nutzende über Änderungen der Suchergebnisse oder über Änderungen von Anträgen + informieren. + </li> + <li> + Der als PDF zur Verfügung gestellte Benutzerleitfaden, sowie die als PDF abgespeicherten Nachrichten der Anwendung + entsprechen nicht dem PDF/UA-Standard. + </li> + </ul> + <h2>Administrationsbereich</h2> + <h3>Nicht barrierefreie Inhalte</h3> + <p>Die nachstehend aufgeführten Inhalte sind unvereinbar mit § 13 Absatz 3 LBGG und somit nicht barrierefrei:</p> + <ul> + <li>Erläuterungen zu den Inhalten und der Navigation dieser Anwendung in leichter Sprache sind nicht vorhanden.</li> + <li> + Responsive Darstellung ist nicht vorhanden, weshalb Inhalte nur bedingt verlustfrei vergrößerbar sind oder umbrechen. + </li> + <li>Gliedernde Überschriften und Bereiche sind nicht umfassend vorhanden.</li> + <li>Der Login ist nicht per Tastatursteuerung möglich.</li> + <li>Der Tastaturfokus nur schwer wahrnehmbar.</li> + </ul> + <h2>Erstellung dieser Erklärung zur Barrierefreiheit</h2> + <p>Diese Erklärung wurde am 15.07.2024 erstellt.</p> + <p> + Die Aussagen bezüglich der Vereinbarkeit mit den Barrierefreiheitsanforderungen in dieser Erklärung beruhen auf einem + Prüfbericht von Dataport vom 08.04.2024 und einer Selbstbewertung. + </p> + <p>Die Erklärung wurde zuletzt am 15.07.2024 aktualisiert.</p> + <h2>Feedback und Kontaktangaben</h2> + <p> + Sie möchten uns bestehende Barrieren mitteilen oder Informationen zur Umsetzung der Barrierefreiheit erfragen? Für Ihr + Feedback sowie alle weiteren Informationen sprechen Sie unsere Verantwortlichen Kontaktpersonen unter + <a href="mailto:digitalisierung@stk.landsh.de">digitalisierung@stk.landsh.de</a> an. + </p> + <h2>Beschwerdeverfahren</h2> + <p> + Wenn auch nach Ihrem Feedback an den oben genannten Kontakt keine zufriedenstellende Lösung gefunden wurde, können Sie sich + an die Beschwerdestelle des Landes Schleswig-Holstein gemäß Landesbehindertengleichstellungsgesetz (LBGG) wenden. Die + Beschwerdestelle hat die Aufgabe, Konflikte zum Thema Barrierefreiheit zwischen Menschen mit Behinderungen und öffentlichen + Stellen in Schleswig-Holstein zu lösen. Dabei geht es nicht darum, Gewinner oder Verlierer zu finden. Vielmehr ist es das + Ziel, mit Hilfe der Beschwerdestelle gemeinsam und außergerichtlich eine Lösung für ein Problem zu finden. Das + Beschwerdeverfahren ist kostenlos. Es muss kein Rechtsbeistand eingeschaltet werden. + </p> + <p> + Auf der + <a + href="https://www.landtag.ltsh.de/beauftragte/beschwerdestelle-fuer-barrieren/" + title="Sie verlassen die Seite" + target="_blank" + >Internetseite der Beschwerdestelle</a + > + finden Sie alle Informationen zum Beschwerdeverfahren. Dort können Sie nachlesen, wie ein Beschwerdeverfahren abläuft. + </p> + <p>Sie erreichen die Beschwerdestelle unter folgender Adresse:</p> + <p>Beschwerdestelle nach dem Behindertengleichstellungsgesetz bei der Landesbeauftragten für Menschen mit Behinderung</p> + <p>Büroanschrift: Karolinenweg 1, 24105 Kiel</p> + <p>Postanschrift: Postfach 7121, 24171 Kiel</p> + <p>Telefon: +49 431 988 1620</p> + <p>E-Mail: <a href="mailto:bbit@landtag.ltsh.de">bbit@landtag.ltsh.de</a></p> + </div>`, +}) +export class AccessibilityPageComponent {} diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.spec.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..b9770e819b814294539c2b11d05a06aae9fdaeb2 --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { AccessibilityPageComponent } from './accessibility-page.component'; + +describe('AccessibilityPageComponent', () => { + let component: AccessibilityPageComponent; + let fixture: ComponentFixture<AccessibilityPageComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AccessibilityPageComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(AccessibilityPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.ts b/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..1c8c57a48d25712652ac19cf193fed4c99398199 --- /dev/null +++ b/alfa-client/apps/info/src/pages/accessibility/accessibility-page.component.ts @@ -0,0 +1,11 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-accessibility-page', + standalone: true, + imports: [CommonModule], + // template will be set during build time - see fileReplacements in apps/info/project.json + template: ``, +}) +export class AccessibilityPageComponent {} diff --git a/alfa-client/apps/info/src/pages/data-policy/data-policy.component.html b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.html new file mode 100644 index 0000000000000000000000000000000000000000..a20429799eca42ccf999b5ee2d03404a2ffadcbc --- /dev/null +++ b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.html @@ -0,0 +1,274 @@ +<div class="ozg-prose prose prose-h1:p-4xl prose-h2:p-2xl"> + <h1>Datenschutz</h1> + <h2>Datenschutzerklärung</h2> + <p> + Diese Datenschutzerklärung bezieht sich auf die Verarbeitung personenbezogener Daten im Rahmen dieses Internetauftritts, + einschließlich der dort angebotenen Dienste. + </p> + <p> + Für nähere Informationen zur Verarbeitung Ihrer personenbezogenen Daten können Sie uns unter den unter „Ansprechpartner“ + genannten Kontaktdaten erreichen. + </p> + <h2>Allgemeine Hinweise</h2> + <h3>Name und Kontaktdaten des Verantwortlichen</h3> + <p> + Bayerisches Staatsministerium für Digitales <br /> + Oskar-von-Miller-Ring 35 <br /> + 80333 München <br /> + E-Mail: <a href="mailto:Info@stmd.bayern.de">Info@stmd.bayern.de</a> + </p> + <h3>Kontaktdaten des Datenschutzbeauftragten</h3> + <p>Sie erreichen unseren Datenschutzbeauftragten unter:</p> + <p> + Behördlicher Datenschutzbeauftragter des Bayerischen Staatsministeriums für Digitales + <br /> + Oskar-von-Miller-Ring 35 + <br /> + 80333 München + <br /> + E-Mail: <a href="mailto:datenschutzbeauftragter@stmd.bayern.de">datenschutzbeauftragter@stmd.bayern.de</a> + </p> + <h3>Zwecke und Rechtsgrundlagen für die Verarbeitung personenbezogener Daten</h3> + <p> + Zweck der Verarbeitung ist die Erfüllung der uns vom Gesetzgeber zugewiesenen öffentlichen Aufgaben, insbesondere die + Information der Öffentlichkeit. + </p> + <p> + Die Rechtsgrundlage für die Verarbeitung Ihrer Daten ergibt sich, soweit nichts anderes angegeben ist, aus Art. 4 Abs. 1 des + Bayerischen Datenschutzgesetzes (BayDSG) in Verbindung mit Art. 6 Abs. 1 Buchstabe e der Datenschutzgrundverordnung (DSGVO). + Demnach ist es uns erlaubt, die zur Erfüllung einer uns obliegenden Aufgabe erforderlichen Daten zu verarbeiten. + </p> + <p> + Soweit Sie in eine Verarbeitung eingewilligt haben, stützt sich die Datenverarbeitung auf Art. 6 Abs. 1 Buchstabe a DSGVO. + </p> + <h3>Empfänger von personenbezogenen Daten</h3> + <p>Der technische Betrieb unserer Datenverarbeitungssysteme erfolgt durch:</p> + <p> + Landesamt für Digitalisierung, Breitband und Vermessung + <br /> + IT-Dienstleistungszentrum des Freistaats Bayern (IT-DLZ) + <br /> + St.-Martin-Straße 47, 81541 München + <br /> + E-Mail: <a href="mailto:webmaster@bayern.de">webmaster@bayern.de</a> + </p> + <p> + Gegebenenfalls werden Ihre Daten an die zuständigen Aufsichts- und Rechnungsprüfungsbehörden zur Wahrnehmung der jeweiligen + Kontrollrechte übermittelt. + </p> + <p> + Zur Abwehr von Gefahren für die Sicherheit in der Informationstechnik können bei elektronischer Übermittlung Daten an das + Landesamt für Sicherheit in der Informationstechnik weitergeleitet werden und dort auf Grundlage von Art. 12 ff. des + Bayerischen E-Government-Gesetzes verarbeitet werden. + </p> + <h3>Dauer der Speicherung der personenbezogenen Daten</h3> + <p> + Ihre Daten werden nur so lange gespeichert, wie dies für die Erreichung des jeweiligen Speicherzwecks erforderlich ist oder + dies durch gesetzliche Aufbewahrungsfristen vorgeschrieben ist. + </p> + <h3>Rechte der betroffenen Person</h3> + <p>Soweit wir von Ihnen personenbezogene Daten verarbeiten, stehen Ihnen als Betroffener nachfolgende Rechte zu:</p> + <ul> + <li> + Werden Ihre personenbezogenen Daten verarbeitet, so haben Sie das Recht, Auskunft über die zu Ihrer Person gespeicherten + Daten zu erhalten (Art. 15 DSGVO). + </li> + <li> + Sollten unrichtige personenbezogene Daten verarbeitet werden, steht Ihnen ein Recht auf Berichtigung zu. Unter + Berücksichtigung der Zwecke der Verarbeitung haben Sie ebenfalls das Recht, die Vervollständigung unvollständiger + personenbezogener Daten – auch mittels einer ergänzenden Erklärung – zu verlangen (Art. 16 DSGVO). + </li> + <li> + Liegen die gesetzlichen Voraussetzungen vor, so können Sie die Löschung oder Einschränkung der Verarbeitung verlangen, sowie + Widerspruch gegen die Verarbeitung einlegen (Art. 17, 18 und 21 DSGVO). + </li> + <li> + Wenn Sie in die Verarbeitung eingewilligt haben oder ein Vertrag zur Datenverarbeitung besteht und die Datenverarbeitung + mithilfe automatisierter Verfahren durchgeführt wird, steht Ihnen gegebenenfalls ein Recht auf Datenübertragbarkeit zu (Art. + 20 DSGVO). + </li> + <li> + Falls Sie in die Verarbeitung eingewilligt haben und die Verarbeitung auf dieser Einwilligung beruht, können Sie die + Einwilligung jederzeit für die Zukunft widerrufen. Die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf + erfolgten Datenverarbeitung wird durch diesen nicht berührt. + </li> + </ul> + <p>Ausführlichere Informationen zu diesen Rechten erteilt Ihnen auch unser behördlicher Datenschutzbeauftragter.</p> + <h3>Beschwerderecht bei der Aufsichtsbehörde</h3> + <p> + Weiterhin besteht ein Beschwerderecht beim Bayerischen Landesbeauftragten für den Datenschutz. Diesen können Sie unter + folgenden Kontaktdaten erreichen: + </p> + <p> + Postanschrift: Postfach 22 12 19, 80502 München + <br /> + Adresse: Wagmüllerstraße 18, 80538 München + <br /> + Telefon: 089 / 212672-0 + <br /> + Telefax: 089 / 212672-50 + <br /> + E-Mail: <a href="mailto:poststelle@datenschutz-bayern.de">poststelle@datenschutz-bayern.de</a> + <br /> + Internet: <a href="https://www.datenschutz-bayern.de">www.datenschutz-bayern.de</a> + </p> + <h2>Hinweise zum Internetangebot</h2> + <h3>Technische Umsetzung</h3> + <p> + Unser Web-Server wird durch das Bayerische Landesamt für Digitalisierung, Breitband und Vermessung betrieben. Die von Ihnen im + Rahmen des Besuchs unseres Webauftritts übermittelten personenbezogenen Daten werden daher in unserem Auftrag durch das + Bayerische Landesamt für Digitalisierung, Breitband und Vermessung verarbeitet: + </p> + <p> + Landesamt für Digitalisierung, Breitband und Vermessung + <br /> + IT-Dienstleistungszentrum des Freistaats Bayern (IT-DLZ) + <br /> + St.-Martin-Straße 47, 81541 München + <br /> + E-Mail: <a href="mailto:webmaster@bayern.de">webmaster@bayern.de</a> + </p> + <h3>Protokollierung</h3> + <p> + Wenn Sie diese oder andere Internetseiten aufrufen, übermitteln Sie über Ihren Internetbrowser Daten an unseren Webserver. Die + folgenden Daten werden während einer laufenden Verbindung zur Kommunikation zwischen Ihrem Internetbrowser und unserem + Webserver aufgezeichnet: + </p> + <ul> + <li>Datum und Uhrzeit der Anforderung</li> + <li>Name der angeforderten Datei</li> + <li>Seite, von der aus die Datei angefordert wurde</li> + <li>Zugriffsstatus (beispielsweise Datei übertragen, Datei nicht gefunden)</li> + <li>verwendete Webbrowser und verwendetes Betriebssystem</li> + <li>vollständige IP-Adresse des anfordernden Rechners</li> + <li>übertragene Datenmenge</li> + </ul> + <p> + Aus Gründen der technischen Sicherheit, insbesondere zur Abwehr von Angriffsversuchen auf unseren Webserver, werden diese + Daten von uns gespeichert. Nach spätestens sieben Tagen werden die Daten durch Verkürzung der IP-Adresse auf Domain-Ebene + anonymisiert, so dass es nicht mehr möglich ist, einen Bezug auf einzelne Nutzer herzustellen. + </p> + <p> + Zur Abwehr von Gefahren für die Sicherheit in der Informationstechnik werden die Daten an das Landesamt für Sicherheit in der + Informationstechnik weitergeleitet und dort auf Grundlage der Art. 12 ff. des Bayerischen E-Government-Gesetzes verarbeitet. + </p> + <h3>Aktive Komponenten</h3> + <p> + Wir verwenden aktive Komponenten wie Javascript, Java-Applets oder Active-X-Controls. Diese Funktion kann durch die + Einstellung Ihres Internetbrowsers von Ihnen abgeschaltet werden. + </p> + <h3>Cookies</h3> + <p> + Beim Zugriff auf dieses Internetangebot werden von uns Cookies (kleine Dateien) auf Ihrer Festplatte mit einer + Gültigkeitsdauer von 12 Monaten gespeichert. Wir verwenden diese ausschließlich dazu, Sie bei diesem und weiteren Besuchen + unserer Webseite zu identifizieren. Die meisten Browser sind so eingestellt, dass sie die Verwendung von Cookies akzeptieren, + diese Funktion kann aber durch die Einstellung des Internetbrowsers von Ihnen für die laufende Sitzung oder dauerhaft + abgeschaltet werden. + </p> + <h2>Informationen zu weiteren Datenverarbeitungen</h2> + <h3>Elektronische Post (E-Mail)</h3> + <p> + Informationen, die unverschlüsselt per Elektronische Post (E-Mail) an das Bayerische Staatsministerium für Digitales gesendet + werden, können möglicherweise auf dem Übertragungsweg von Dritten gelesen werden. Wir können in der Regel auch die Identität + nicht überprüfen und wissen nicht, wer sich hinter einer E-Mail-Adresse verbirgt. Eine rechtssichere Kommunikation durch + einfache E-Mail ist daher nicht gewährleistet. Wir setzen – wie viele E-Mail-Anbieter – Filter gegen unerwünschte Werbung + (SPAM-Filter) ein, die in seltenen Fällen auch normale E-Mails fälschlicherweise automatisch als unerwünschte Werbung + einordnen und löschen können. E-Mails, die schädigende Programme (Viren) enthalten, werden in jedem Fall automatisch gelöscht. + </p> + <p> + Wenn Sie schutzwürdige Nachrichten an das Bayerische Staatsministerium für Digitales senden wollen, empfehlen wir Ihnen, diese + zu verschlüsseln und zu signieren, um eine unbefugte Kenntnisnahme und Verfälschung auf dem Übertragungsweg zu verhindern oder + die Nachricht auf konventionellem Postwege zu senden. + </p> + <p> + Mit S/MIME verschlüsselte E-Mails können Sie schicken an: + <a href="mailto:Info@stmd.bayern.de">Info@stmd.bayern.de</a> + </p> + <p> + <a href="https://www.ebca.de/nutzung-der-ebca/zertifikate-finden/"> + Den öffentlichen Schlüssel der Poststelle können Sie bei TeleTrusT EBCA herunterladen + </a> + bzw. finden diesen hier: + <a href="https://www.stmd.bayern.de/wp-content/uploads/2019/02/Poststelle_StMD.zip"> + Download des Schlüssels (ZIP-Datei, 1,4KB)</a + > + </p> + <p> + Bitte teilen Sie auch mit, ob und auf welche Weise wir Ihnen zur Beantwortung Ihrer Zusendungen verschlüsselte E-Mails + übersenden können und ob Sie – falls dies nicht möglich ist – mit einer unverschlüsselten Antwort per E-Mail auf Ihr Schreiben + einverstanden sind. Wenn Sie über keine Möglichkeit zum Empfang verschlüsselter E-Mails verfügen, bitten wir zur Beantwortung + Ihrer schutzwürdigen Nachrichten Ihre Postanschrift zu nennen. + </p> + <h3>Veranstaltungen des Bayerischen Staatsministerium für Digitales, Presse- und Öffentlichkeitsarbeit</h3> + <p> + Das Bayerische Staatsministerium für Digitales tritt auch als Organisator oder Mitorganisator diverser Veranstaltungen auf. + </p> + <p> + Im Falle einer Einladung zu oder Teilnahme an einer Veranstaltung verarbeitet das Bayerische Staatsministerium für Digitales + personenbezogene Daten (Name, Adresse etc.). Dies kann über verschiedene Kommunikationswege erfolgen, zum Beispiel durch + Ausfüllen eines Formulars, eines Webformulars, per E-Mail, per Telefon. + </p> + <p> + Welche personenbezogenen Daten dabei an das Bayerische Staatsministerium für Digitales übermittelt werden, ergibt sich aus dem + jeweiligen Formular, der jeweiligen Eingabemaske beziehungsweise den in einem etwaigen Gespräch abgefragten Daten. + </p> + <ul> + <li> + <i>Datenerhebung von Begleitpersonen</i> + <br /> + Für die ordnungsgemäße Abwicklung der Veranstaltung werden dabei auch Daten von Begleitpersonen der eingeladenen Teilnehmer + erhoben und verarbeitet. Diesen stehen ebenso wie allen anderen von Datenerhebungen Betroffenen die oben genannten Rechte + zu, insbesondere auf Auskunft über Art und Umfang der gespeicherten Daten, Widerspruch gegen die Verarbeitung und Löschung + der Daten. Insofern wird auf die Ausführungen zu den Rechten der betroffenen Personen verwiesen. + </li> + <li> + <i>Datenerhebung aus öffentlich zugänglichen Quellen</i> + <br /> + Das Bayerische Staatsministerium für Digitales erhebt und verarbeitet darüber hinaus zu diesem Zweck auch Daten, die aus + öffentlich zugänglichen Quellen stammen, zum Beispiel von Homepages der betroffenen Personen oder aus öffentlich + zugänglichen Verzeichnissen. + </li> + <li> + <i>Weiteres Verfahren bei diesen Datenerhebungen</i> + <br /> + Die personenbezogenen Daten werden nicht unbefugt an Dritte übermittelt, sondern für die interne Verwendung beim Bayerischen + Staatsministerium für Digitales und für den Zweck der Organisation und Abwicklung von Veranstaltungen (etwa Erstellung von + Gästelisten, Ermöglichung von Zugangskontrollen etc.) gespeichert und verarbeitet. Das Bayerische Staatsministerium für + Digitales kann die Weitergabe an einen oder mehrere Auftragsverarbeiter veranlassen, der die personenbezogenen Daten im + Auftrag des Bayerischen Staatsministerium für Digitales nur für eine interne Verwendung, die dem Bayerischen + Staatsministerium für Digitales zuzurechnen ist, nutzt. <br /> + Je nach Art der Veranstaltung tritt das Bayerische Staatsministerium für Digitales neben einem weiteren Kooperationspartner + als Mitveranstalter auf. In diesen Fällen werden die zu Veranstaltungszwecken erhobenen Daten an unsere Kooperationspartner + übermittelt, wobei diese die Daten ebenfalls ausschließlich zu diesem Zweck der ordnungsgemäßen Abwicklung der Veranstaltung + verwenden dürfen. Welche Kooperationspartner dies im Einzelfall sind, wird gesondert im Rahmen der Organisation der + Veranstaltung jeweils mitgeteilt. + </li> + </ul> + <p> + Die Daten werden nur so lange gespeichert, wie dies für die Organisation und Abwicklung der Veranstaltungen sowie für unsere + Aufgabenwahrnehmung im Bereich der Öffentlichkeitsarbeit erforderlich ist. + </p> + <p> + Als Empfänger von Anschreiben/Einladungen können Sie jederzeit der Zusendung weiterer Anschreiben/Einladungen widersprechen. + </p> + <h3>Fotoaufnahmen</h3> + <p> + Im Rahmen unserer Presse- und Öffentlichkeitsarbeit werden bei Veranstaltungen und Terminen Fotos und Videos aufgenommen, auf + denen Sie gegebenenfalls erkennbar zu sehen sind. Der Aufnahme und/oder einer Veröffentlichung können Sie widersprechen. + <br /> + Bitte nutzten Sie für Ihren Widerspruch die oben genannten Kontaktdaten. + </p> + <h3>Bewerbungen beim Bayerischen Staatsministerium für Digitales</h3> + <p> + Das Bayerische Staatsministerium für Digitales erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der + Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann + der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail, + übermittelt. Kommt es zu einem Beschäftigungsverhältnis mit einem Bewerber, werden die übermittelten Daten zum Zwecke der + Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Zudem können Daten im + Einstellungsverfahren an Behörden, die für die Abwicklung des Beschäftigungsverhältnisses zuständig sind (z.B. Landesamt für + Finanzen), übermittelt werden. Kommt es zu keinem Beschäftigungsverhältnis, so werden die Bewerbungsunterlagen nach + Bekanntgabe der Absageentscheidung nach den einschlägigen Vorschriften gelöscht, sofern einer Löschung keine sonstigen + berechtigten Interessen des Bayerischen Staatsministerium für Digitales entgegenstehen. Sonstiges berechtigtes Interesse in + diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG). + </p> +</div> diff --git a/alfa-client/apps/info/src/pages/data-policy/data-policy.component.spec.ts b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..6504245eaff9557abecfbed59c1415ddc50f62f5 --- /dev/null +++ b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { DataPolicyComponent } from './data-policy.component'; + +describe('DataPolicyComponent', () => { + let component: DataPolicyComponent; + let fixture: ComponentFixture<DataPolicyComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [DataPolicyComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(DataPolicyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/info/src/pages/data-policy/data-policy.component.ts b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..2a3bb31086a5b35d6f3bf5a183ef82d1d9e32175 --- /dev/null +++ b/alfa-client/apps/info/src/pages/data-policy/data-policy.component.ts @@ -0,0 +1,10 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'info-data-policy', + standalone: true, + imports: [CommonModule], + templateUrl: './data-policy.component.html', +}) +export class DataPolicyComponent {} diff --git a/alfa-client/apps/info/src/styles.scss b/alfa-client/apps/info/src/styles.scss new file mode 100644 index 0000000000000000000000000000000000000000..e8b9bb8f36b34dd294d70f707c3ba23965dbf339 --- /dev/null +++ b/alfa-client/apps/info/src/styles.scss @@ -0,0 +1,11 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@import 'libs/design-system/src/lib/tailwind-preset/root.css'; + +@layer components { + .ozg-prose a { + @apply text-primary no-underline hover:text-primary-hover hover:underline focus-visible:rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus; + } +} diff --git a/alfa-client/apps/info/src/test-setup.ts b/alfa-client/apps/info/src/test-setup.ts new file mode 100644 index 0000000000000000000000000000000000000000..6cd6317abd904da16682ab2fd2fc34f92690d36e --- /dev/null +++ b/alfa-client/apps/info/src/test-setup.ts @@ -0,0 +1,9 @@ +import 'jest-preset-angular/setup-jest'; + +import { getTestBed } from '@angular/core/testing'; +import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; + +getTestBed().resetTestEnvironment(); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false }, +}); diff --git a/alfa-client/apps/info/tailwind.config.js b/alfa-client/apps/info/tailwind.config.js new file mode 100644 index 0000000000000000000000000000000000000000..9fd1192933dc7dfc4be0b96c7301380e7bc6a1f7 --- /dev/null +++ b/alfa-client/apps/info/tailwind.config.js @@ -0,0 +1,16 @@ +/* eslint-env node */ +/* eslint @typescript-eslint/no-var-requires: "off" */ + +const { createGlobPatternsForDependencies } = require('@nx/angular/tailwind'); +const { join } = require('path'); +const sharedTailwindConfig = require('../../libs/design-system/src/lib/tailwind-preset/tailwind.config.js'); + +/** @type {import('tailwindcss').Config} */ +module.exports = { + presets: [sharedTailwindConfig], + content: [join(__dirname, 'src/**/!(*.stories|*.spec).{ts,html}'), ...createGlobPatternsForDependencies(__dirname)], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/alfa-client/apps/info/tsconfig.app.json b/alfa-client/apps/info/tsconfig.app.json new file mode 100644 index 0000000000000000000000000000000000000000..fff4a41d444a486d4cf163be19f8601e0510c270 --- /dev/null +++ b/alfa-client/apps/info/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"], + "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] +} diff --git a/alfa-client/apps/info/tsconfig.editor.json b/alfa-client/apps/info/tsconfig.editor.json new file mode 100644 index 0000000000000000000000000000000000000000..a8ac182c08dec53b3647f810cd2c47a51ace51c9 --- /dev/null +++ b/alfa-client/apps/info/tsconfig.editor.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.json", + "include": ["src/**/*.ts"], + "compilerOptions": {}, + "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] +} diff --git a/alfa-client/apps/info/tsconfig.json b/alfa-client/apps/info/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..7925e81752f248e59546c31d58f62da3abbe7704 --- /dev/null +++ b/alfa-client/apps/info/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + }, + { + "path": "./tsconfig.editor.json" + } + ], + "compilerOptions": { + "target": "es2022", + "useDefineForClassFields": false + } +} diff --git a/alfa-client/apps/info/tsconfig.spec.json b/alfa-client/apps/info/tsconfig.spec.json new file mode 100644 index 0000000000000000000000000000000000000000..7870b7c011681fb77d6114001f44d3eeca69975b --- /dev/null +++ b/alfa-client/apps/info/tsconfig.spec.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "target": "es2016", + "types": ["jest", "node"] + }, + "files": ["src/test-setup.ts"], + "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts index 7c6f233e2472e76ada1b86ccda93d1d50b5e2be0..9dceac6674a3d849c3cd3729e2625e119e108ec2 100644 --- a/alfa-client/libs/design-system/src/index.ts +++ b/alfa-client/libs/design-system/src/index.ts @@ -55,6 +55,7 @@ export * from './lib/icons/logout-icon/logout-icon.component'; export * from './lib/icons/mailbox-icon/mailbox-icon.component'; export * from './lib/icons/office-icon/office-icon.component'; export * from './lib/icons/orga-unit-icon/orga-unit-icon.component'; +export * from './lib/icons/ozg-logo-icon/ozg-logo-icon.component'; export * from './lib/icons/person-icon/person-icon.component'; export * from './lib/icons/public-administration-icon/public-administration-icon.component'; export * from './lib/icons/save-icon/save-icon.component'; diff --git a/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.html b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.html new file mode 100644 index 0000000000000000000000000000000000000000..766aba86f0509de11dd9d01a7cad07a9adc0b8fa --- /dev/null +++ b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.html @@ -0,0 +1,159 @@ +<svg data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 300 233.91"> + <defs> + <style> + .cls-1 { + fill: #001e49; + } + + .cls-2 { + clip-path: url(#clippath-4); + } + + .cls-3 { + fill: none; + } + + .cls-4 { + clip-path: url(#clippath-1); + } + + .cls-5 { + clip-path: url(#clippath-5); + } + + .cls-6 { + clip-path: url(#clippath-3); + } + + .cls-7 { + fill: url(#Unbenannter_Verlauf_11); + } + + .cls-8 { + fill: url(#Unbenannter_Verlauf_11-2); + } + + .cls-9 { + clip-path: url(#clippath-2); + } + + .cls-10 { + clip-path: url(#clippath); + } + + .cls-11 { + fill: #003064; + } + </style> + <linearGradient + id="Unbenannter_Verlauf_11" + data-name="Unbenannter Verlauf 11" + x1="0" + y1="216.4" + x2="36.09" + y2="216.4" + gradientUnits="userSpaceOnUse" + > + <stop offset="0" stop-color="#003064" /> + <stop offset="1" stop-color="#d4004b" /> + </linearGradient> + <linearGradient + id="Unbenannter_Verlauf_11-2" + data-name="Unbenannter Verlauf 11" + x1="168.58" + y1="105.58" + x2="229.31" + y2="105.58" + xlink:href="#Unbenannter_Verlauf_11" + /> + <clipPath id="clippath"> + <path + class="cls-3" + d="M188.53,149.59c0,12.64-10.26,22.96-22.89,22.96s-22.14-9.47-22.82-21.5c0-18.49-12.83-34.05-30.05-38.24,7.68-2.48,13.76-8.54,16.21-16.24,4.18,17.28,19.67,30.13,38.02,30.13,12.06.68,21.53,10.73,21.53,22.89Z" + /> + </clipPath> + <clipPath id="clippath-1"> + <rect class="cls-3" x="107.77" y="91.57" width="85.76" height="85.97" /> + </clipPath> + <clipPath id="clippath-2"> + <rect class="cls-3" x="107.77" y="91.57" width="85.76" height="85.97" /> + </clipPath> + <clipPath id="clippath-3"> + <path + class="cls-3" + d="M188.53,27.96c0,12.16-9.45,22.2-21.44,22.89-21.26,0-38.65,17.15-39.2,38.37-.02.36-.02.71-.02,1.07-.66,11.73-10.22,20.97-21.94,21.48h-.09c-.29.02-.61.02-.91.02-1.25,0-2.47-.09-3.68-.32-.36-.07-.73-.14-1.09-.21-1.07-.21-2.09-.5-3.09-.87-1.27-.48-2.48-1.05-3.63-1.73-.36-.2-.7-.41-1.02-.64-.09-.05-.18-.11-.27-.18-.45-.3-.89-.61-1.29-.93-.07-.05-.14-.09-.2-.18-.52-.41-1.02-.84-1.5-1.3-.3-.3-.59-.59-.89-.91-1-1.02-1.86-2.14-2.61-3.35-.18-.3-.36-.61-.55-.91-.55-.91-1.02-1.89-1.41-2.89-.41-1-.75-2.05-1-3.12-.09-.36-.18-.71-.23-1.07-.07-.36-.14-.73-.18-1.09-.11-.73-.18-1.48-.23-2.23-.02-.34-.02-.68-.02-1.02,0-.48.02-.93.05-1.39.05-.66.11-1.32.2-1.98.07-.52.16-1.05.27-1.57.02-.05.02-.09.05-.11.09-.52.23-1.05.39-1.55.09-.32.2-.66.32-.98.11-.34.25-.71.39-1.05.23-.57.48-1.14.75-1.69.2-.43.43-.84.66-1.23.39-.68.82-1.34,1.27-1.98.36-.52.75-1.02,1.16-1.5.02-.02.05-.05.07-.07.25-.3.5-.57.77-.84.2-.23.41-.43.61-.64.32-.32.64-.61.98-.89.29-.27.59-.52.91-.75.73-.59,1.5-1.12,2.29-1.59.5-.3,1-.57,1.52-.82.3-.18.61-.32.93-.46.23-.11.45-.21.7-.3.23-.11.48-.21.73-.27,2-.75,4.13-1.21,6.36-1.32h.29c.68,0,1.36-.02,2.02-.07h.07c20.62-1.23,37.02-18.38,37.02-39.19.68-12.09,10.7-21.59,22.82-21.59s22.89,10.32,22.89,22.96Z" + /> + </clipPath> + <clipPath id="clippath-4"> + <rect class="cls-3" x="77.04" y="0" width="116.49" height="116.78" /> + </clipPath> + <clipPath id="clippath-5"> + <rect class="cls-3" x="77.04" y="0" width="116.49" height="116.78" /> + </clipPath> + </defs> + <g> + <path + class="cls-7" + d="M18.02,233.91c-10.35,0-18.02-7.14-18.02-17.65s7.68-17.37,18.02-17.37,18.07,6.71,18.07,17.37-7.68,17.65-18.07,17.65ZM18.02,206.12c-5.62,0-9.46,4.32-9.46,10.14s3.89,10.33,9.46,10.33,9.5-4.32,9.5-10.33-3.89-10.14-9.5-10.14Z" + /> + <path class="cls-1" d="M45.69,233.02v-6.95l15.77-19.48h-15.4v-6.81h25.42v6.43l-16.15,19.86h16.48v6.95h-26.12Z" /> + <path + class="cls-1" + d="M100.7,233.86c-10.58,0-18.21-7.04-18.21-17.51s7.86-17.46,17.98-17.46c5.19,0,10.02,1.74,12.78,4.41l-5.06,5.77c-1.54-1.78-4.21-3.1-7.44-3.1-5.62,0-9.74,4.41-9.74,10.37s3.6,10.47,10.11,10.47c1.87,0,3.6-.28,5.01-.89v-6.06h-6.32v-6.48h13.67v17.6c-3.23,1.69-7.68,2.86-12.78,2.86Z" + /> + <path class="cls-1" d="M125.33,223.77v-6.1h11.89v6.1h-11.89Z" /> + <path + class="cls-1" + d="M177.95,228.09c-2.76,3.57-6.51,5.82-12.08,5.82-9.97,0-17.09-7.37-17.09-17.51s7.26-17.51,17.13-17.51c4.87,0,9.04,1.69,11.42,4.84l-1.92,1.78c-1.92-2.44-5.38-4.23-9.46-4.23-8.85,0-14.37,6.85-14.37,15.12s5.52,15.12,14.37,15.12c3.89,0,7.16-1.17,10.16-4.88l1.83,1.45Z" + /> + <path class="cls-1" d="M193.68,233.02h-2.53v-35.49h2.53v35.49Z" /> + <path + class="cls-1" + d="M219.38,233.63c-6.74,0-11.47-4.93-11.47-11.55s4.73-11.5,11.47-11.5,11.52,4.88,11.52,11.5-4.73,11.55-11.52,11.55ZM219.38,212.78c-5.43,0-8.85,4.08-8.85,9.29s3.42,9.25,8.85,9.25,8.9-3.99,8.9-9.25-3.42-9.29-8.9-9.29Z" + /> + <path + class="cls-1" + d="M261.05,233.02c-.14-1.17-.19-3.19-.19-4.32h-.09c-1.26,3-4.45,4.93-7.77,4.93-5.76,0-8.19-3.99-8.19-9.11v-13.38h2.57v12.39c0,4.32,1.31,7.93,6.18,7.93,3.75,0,7.21-3.1,7.21-9.2v-11.13h2.53v16.85c0,1.27.09,3.57.24,5.02h-2.48Z" + /> + <path + class="cls-1" + d="M297.33,228.7c-1.87,3.19-5.29,4.93-8.71,4.93-6.65,0-11.14-5.02-11.14-11.55s4.5-11.5,11.14-11.5c3.42,0,6.84,1.69,8.71,5.02h.1v-18.07h2.57v35.49h-2.57v-4.32h-.1ZM288.86,231.42c5.15,0,8.85-4.08,8.85-9.34s-3.7-9.39-8.85-9.39c-5.48,0-8.71,4.27-8.71,9.39s3.23,9.34,8.71,9.34Z" + /> + </g> + <g> + <g> + <path + class="cls-11" + d="M203.5,83.95h-40.58c-5.02,0-9.08-4.08-9.08-9.11s4.07-9.11,9.08-9.11h40.58c5.02,0,9.08,4.08,9.08,9.11s-4.07,9.11-9.08,9.11Z" + /> + <path + class="cls-8" + d="M220.23,114.69h-42.57c-5.02,0-9.08-4.08-9.08-9.11s4.07-9.11,9.08-9.11h42.57c5.02,0,9.08,4.08,9.08,9.11s-4.07,9.11-9.08,9.11Z" + /> + </g> + <g class="cls-10"> + <g class="cls-4"> + <g class="cls-9"> + <image + width="180" + height="180" + transform="translate(107.58 91.49) scale(.48)" + xlink:href="data:image/png;base64,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" + /> + </g> + </g> + </g> + <g class="cls-6"> + <g class="cls-2"> + <g class="cls-5"> + <image + width="244" + height="244" + transform="translate(76.86 -.19) scale(.48)" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPMAAADzCAYAAABT9iA/AAAACXBIWXMAABcRAAAXEQHKJvM/AAAgAElEQVR4nO19a7BlR3Xe131d+WGRpFKmXHGQwBiDHp4ZsNBIM1igM+W44hdgAmZAEhWCCwMGXBYFEULAzDWPoISqwUaWBTYhGGZAikAUGGNDkXtHQtaVhIQ0I55CEpKAcjCJnSLJv7tXfnSv7tWPfc4+5557HvusT7pz9u7u3af3Pvvrb63VvXsbIiIoFAuGrzzwQ3zlgb8HjMEHP/8NGGNgrAGMgTEWxhhYYwBjYWxMM5xfSzN8fCUNMR0GMMbgsmf9DABg71mPw94zz5jzFRkNo2RWLBKu+8vTuP5z9wPGwFpJQElM/2ctjLGw1pM6I2lJ6KwcJLltQWaZv/fMM7D3rMfhpQd+et6XqBVKZsXccee3/g7XffY+3PXtH0ZVRSSrI2WN0JkCJ+TltC5krhDZGECqNRA6lksP/DT2nHkG9jzhJ+d74TIomRVzw7WfvgfXfubegpRMMCvUN1dlWJ9fELqm0JKsIh1DzG6DJN+Z4kg+9555BvaceQZecuHj53shPZTMipnj/Tffjfd/+p6q6iZmrydhNLczUo8kdN3cdoQc4UNXFDkns8x/yYWPx+E5k1rJrJgZ7vjGD3DZuz6TkLH0h20IdFkjzWxBTMQ0aytkrpnmPh8h2DU9MnOZPU/4SRy+8PFzM7+VzIpdx9bXv48//tRduOMbPyjVNyNwSUiOXNvC/01McJFnbaUTyE1sI8idEXpSMjP2POEMHL7wp2ZOaiWzYlfxvpvuwB/ddGdBmkCsnKAmqnVU3dRsZrO7MKdlWkL0SmCslcypOQ90I7MLlsVtAN70/qmZXWsls2JXsPW17+Hw+k0VszU1p0tCVZTZ1tQ5M6XFtq0SuhIYy4g7jMyBuGOQmfGOF5w1E5VWMiumjhcfuRFbX/8+ADgSQapxvl2SEyItISYiKVvVuUJkOV5ti8j5cDJXSZx9+gKIuymZgdmotN3V2hUrh99+2w342/sfBVEDIgKoAfn/AAKIfDrBJbl0gksnTuN0in98PIBQVubnf0lZ3z73PfHr4w7F6vm7/LFtoNY9KnI/ceeP8LabH5vginaHKrNiKvjb+x/Fi976iUx5IRSwYuIi92eF2W3lOHPd/JbqDFTU2trENC+VuTS9cx+azwPSugCCIuemtvzId3hrt8xuVWbFjvHej38ZL7z6hFDXqMBRoTmtyZQWQp35X5fmsqQCS2WlJC9Xcae6yNqUHp+rKWWKysrNckdsWbReCUo+8h2u/a03P4b7v///xr3MI6FkVuwI7z1xK/7ziVuEWRtNZlBGMGlaB9JRIJg0vdMOINadm+DRdAcSFhFlxGUyQpjfSNooDs67lnBsqKnVoJWdFDcpK0uEt37q0akTWsmsmBi3nX4E/+nEyZScyTZK8gplTv+a+OlZ0DRR1aXCJtvhO5uyrsalxw5BNF7Umyhq0m/IDgTZNrLOKr86lG5K39wnXT1lQiuZFRPhtlPfxW9d+ZFINCAQoDUghZSMoEi2qNSokEOQCUjIRclxsiznI9Tp9gXpZTBMWAlCUjM1DrWWHUFoC0Tbc1Oemx+JffUnH8En7vjRpD9DAiWzYmzcduq7eP6VH4kkIAI1TTRFSRJCmtKRjDItiT4n5G6COqd/pcnMoGJjCDK1TJSTTXA+B9F5QHw/FW2I5ZOOomrOO5zY+iHu/97OFVrJrBgLt536Lp73pg8LpUNqblZNYEGCwhRvO7bNHHd5geyiLKgBmsrxvkMoOgYg7VSYuqEz8qCM0BCEFsekpnxdlRMIi+Utn3wY93/v/+7ot1EyKzrjy/c9jOe+8UPRzExu8pSoOVmRkZBqPm62H0mUptU7inbiB6Ln6hjaCgR7WihnVGdEsz4UFQouSMvXJnJZmuzZtcnKXnXTwzi9A0IrmRWdwEQGkKqSIFxO4jrBmiQfLXkyiFUlcq6yvB9t35I8be2qWBP5eZEgZCSyNKmFiQ6I8vzXQnjpghDwlv/20MSEVjIrOuE9f/Gl5CaHuIHljU/JDY0KoSB41qbadaI5M7kJhKqpc6hDdAIk3IGyg0HyKTsBeS5yP8YFGOKchdqHzoVLhXbGK0TxQoV6Ttz+Pyb6jZTMipH4jTf8GW6996GKwmU3eqZ+IAq3aDTNBSETFURyXPxrks9cYWUn0vrXRHVNjwXESUCqbN4meZ5SmUMHJciYdGdZffydsQniOF/u9GM/xptvfHDs3+knxj5CsVL48r0P4dZ7H4SBARkE988YdzNyUswiRI3gHP6TIPAzCYmCWxu/BA1A+b4BDMGwqS9I6ToJE/bRALAEY3xeY8W+7yBgxfeIEwSApoGxFkSurcRTOSleBCIK18ItNCQJHeuLZWKu9L3jObjP04/9GKcf+z/Ye9bjyh+lBTo3W9GKW+99CL/+Bx9I5yYDcf4y0rnLbjU8iLnOSOc4t6y5ZYwBeBG/IY8uwqRzrW1WLi5K4Mvx8WIVTyPKxDbWFzMo1g4T517M0a48KcVpBPLnjiqBg3GQbwN4z+GnYl9HQquZrWjFuz/8hWiais/S7+S/dIy4ni8j2WK7EeUamZcGzKpmetamUC4xq/PvqUfUg1mf+84tn9TUff2yrVmATpjohDKf6zl+2w86/15KZkUV7/7wF3DrvQ9G2zDcaNKP9J9NeoM3VBIeTbqfR6NTQjSRdE0jytbHnsP3Ng2o2UazvR2Jy20EIllyX1aQd1j9QDyGmrwzkB1Ce2dHoi2B1I2XY9k5edz36I/xsY6EVjNbUcUZz3kjAPmIX/YooMwLJnTMLxYhkCa4NLflQvfIzdty1U3AwK6tZatyZo80Wgtr15zZbYXZvVY+Epku6SvqyVf79OfJaF20oGJux4NS09tvpGY3iT3Rgf7Nm/eP/M1UmRUFfvX3r8tMSkAGZ4jSKHJp4g5RpfyPVVeME5fHyDLur2kaNDzds8mUsollWNkbakDb/lM8wJGodlDGzLTP2lg7X1TPU7QpieZLU7t0TVDUQ/jol78/8nfTaLYiwS1ffRC33PMdAD56S8QBZBd5JuOjwT5yKyK6IMSIN7nItNvlqLaHry8oUNN41eOIM0eZkUSrAR8VbhrA2BCNbtDAwrp6rPsCagxgowUdAksN0HgjwnLkPES13bmJk0gi+L7pYTc9N3mOqbFbTxVhLmHCc55MBwEfveUx7Dvrn+LpT/pnaIMqsyLBuz7018Gvq6lsokSo58c8HwDKfOo2RWfmFWosA2JNnDwSFJlVWqgxK3BUZ+fLS3VP/d5MzWWZiuoXj1w27ecllT5Xb1mPtHaiNRDL/8Utw5cdUmVWBNzy1e/g5D0POH+QCR3UOap0JjH56GxrWplOYD0hIqeUrNJGKrSXU2tBtA1jLBqQG5J2GuuPc8c0sLBN44eoDRoi2KYBQGiMjaPg1jhVbuCtCK+QwWwQVkFjvPXgfV6CU3HvBUu1bngoCizyrkQ6Fh+vBonvSl0ZASLc98g/4r5H/jee/qR/XrmyqswKgXf++V8DEFFetyPUJo9kI1Howp9ue4JJKB2kQja52qXKmKhmQ2ia7XIYKykvlLvZDoreNPwnjmc1z6wBftKqSRR8iOUglRninEn46w0JP1+Ub1ipox8NqdJE+MjJR1t/P1VmBQDglnu8KgMhaut8YbkN7xd7lQaC1JYznIz3byn6w9WZYLF8Qw0MCLyoH4z3e2FgGu/PGlZh9+XONbYu3TTxmMY4lSbANs5/RxRhdx7kvtN6/zpMBEt2OFhgQKZx0W0SJ8wXJSi0UHMprnJmWn7q/FH4zogWkv/33of/seUXVDIrPE7e84C7ccLNCgA+uOU23b3GwSt/EztLk8u5zBgkc3WzMV2a3VxWECNEp5z5TE0TZn/BkMhDCJaxhe0GtyyMN9Vt476jMdYHvACes4HGgNC4avywkjXeRLaIATX4zss4QodOpgpP4Gp+SdR0uEtcL2EVhbxYBf7r5iN4+eBJxTfoOLMCAPBPDrweYRSUx4s5c9j4qtz2PqWsQx4jp3nKsel8mmfcllM6fZvEeLDNx6PtWqjD8rYfc5bTPXn82YqpnsXrcLhubhufp/++2O5wlvFihimuQDRfeLdON+lPEyVynW26/c31QVGHKrMC7/jzvwo3ihuGMnE7SDJKdQaSABmIYMDbckgmDtu4ABYTwg8DhXudUvXjAFdDztS2WaCrgSehH9LCtpdo48JN1gaf09eeDFc12wRDBLvmv5042Oabw+0g4x+yiFaHMRYUHvhAYnY7a0WGo7KhJgkTzpwbEfeTIJyoi4APbzyMf3/oyUmOklmBk3c/APLR1sRSJBOVRIRsw6YktY/gpnHaCDkS6+Jm20FFCcZ1IMYIbhNoG7BWkLtBJHnjfWQLNI1TQgPjrXOLpmlCdNc/LIWmodBvGPKWgt+31g1dsRVgQLDMcnGeefvDtRIdQLge1mRcrJA5U+68TDL2LLLufegfACWzQuLkPQ/g5N3fBsB0ROL3Bgj2yrhPQV7JYrbIWXD9JwfMpE8e0hGV3KDxROWpnH6oipg5ceIIB6waND4ORv6MfC7xJJHGkdFQDGZ5ljCJjSFYWDQE/z5oE/zmYI2AO5mo9CEY6PNom10MtkooXpbErW7zdCWB48UmEO55+H8VpZXMKw4mskMMtMToNDPSZ9QsRWGJc9FOgRjimV+pz1gqVWpeS1VOAmZeuckQrHHjy4YIwBqsIT/+S9EcNiYoMlEDY9dgyYKffzbG+n0jCOxaGzoY7oC4TvguhLf5uHh13RnmFyjvHZPrkSSEev7Llx7EK375KbEKDYCtNn5i/++F7Xizin23IROThPJBDJ8vA0NG1mXSdA56MUFMJAITKAmKDXkIw/iodV7GGgu7thaCW9Y/sMF5MuDlgmJr4r1Va/774zmEZ6stK260NPJrkpy7PydxQCrQrjZIMZbp+d4vPvlf4NpXxgcwVJkVATwRJASuYgTLwSAEx9y+SXy6hORoU2fpebaV93k8VOb/IzKwIIRhKvBwlZ9FZohLOlX1BGu862otm9yOTBbWC7sPhFlvWnvzxPjZYuQ7lAaUBO/ksBqJSD6J6L27pCYSXA47yc4P0j+W16EOIsI9D/7PJE3JvML4ww9+DrUbhsNEJrGd+caMN6ERJGf/l2sQXQJq5I15ViiVAUfAiJVeRreN8T60D1Q1rOzs6zrf1jZu6KixBNNYHzPj56zjkJULeBEMbBxjNj4iD4L1ywvJoTXnO8eJLRSuhfeTwzYc2UWcIWg0m+ocQ0Bl+mZ+paS/Ha4e4UNffAC/8ytPBaBkXnHEAIvJ0uO/COoTCvobk8KjVI5M0gQPN590Bd19LQJccFMXAwl40gq86nMQLp11TAQY2nZENNZ9bkcz3E2jJj8zzElt4wm77RWY1ZtVGZZgyNcl0zgsKFwCMtYTOiquVF93Dv5kYRIRlsN24VyBNNA19BdLf7dkEor6zKuLtQteLfZMRugKpL8sfWLxUdQVHWnhS+bbVtQp/EzvO4d3NkufWvrRcsKH9J9NuU4Y++DOhxZlkzXExOSRxE/Pvh95+/hCyPiBuCZZvCHGD4Yh85WpTLvjvc8FoMqsCEjnJpnKVgx1I/iCUVoEhY0M4ogniESN8rt4zDYZv3Ky7X3mhmkT/NQwxdI6q6EBq6Wfuul96WA6Gwvjh7GsdS6BXVvzLjcFM1ya3e6aOD+dlVe+lJ2CD+3mnSd5gXQxmBcVms8vC4ylF7rYpbhRhZJ5RbH+wb+M865rMdUguJU7p8pKNrvjwdFrjh1AuIeDVe4DSHFTfEnMs9ZGAsN4isENL3uz2Ckom8jetyUmOXm3m1zX4P1hu7YG4/12aWKTpeCTE62J74/mtae4UGvf6fCUVXkFvbUR57Qb8Jg3glmOjKjC3RliQN/9nR/hmT//eCXzqoNvl4LO7Be7j5aD2S/OHONyhJQ95PB8b5hb5uVKrjwi72kmRePXsA4cN/wAhm+nMYHQ1hAa8jO52K8OJBS+sSA0rD+ePPH9Ax5h/S9QauojkjP60hzdbqJKhwYDIuKVXhuOGWS2ubRuKhc/bN39nb9XMq80shukbmJLs67mG3NV/oY1eU1CnSlNSzqJPE+quGgLbbvgFQ9AcXAJEGQicgsNsBrDOjM98adTQruOaM0/eUUwcEE5Yy0sEQw1Tp0lYbOgGJvgHHMOnUg4MVNwkuMDznWQn8nVzS522/VXM3tlcfLub7eabmGcNE1NPhD0ipAqM2pHAVwuE3D+pvxposLi9HU0jRwW8kcHf9v9hYg1m9zwfrFQb0loXhzAkoXxw1pM5MY6k9gF1dmctvF8jI2zvLyZbXwk3tow4z20k4Q1E4bfwHPS4zml13NUjNrXqdHs1YQ9/3fHO6AMz7YVbE8RG2l1UfVlFDv/znh4nH3FqpxEmE3+l0am5XK7Mg0G/tHJfHYZR8zXxPcQZMArDl+l9YY2FicizHU+z2Cmj0/Jr177YlVmRUckpvTQgu0pcrw1KyPTObQk09N6toNPDBMj3KzM4ZFFP1zEi5BYP3+78RNDrLFhTvc2/FNOgFdtNpVNUHDyx4SglWGrxHdO2fizERNOxGiwUGNpXqeBwEmgZF5RJJMNOt89MYBTz637y2mZNNoVSBzsagqpktRFPeIRyvjsMAVz28C98I0MYP13Np6U1pdvQrTbPcRhSJC5MMnZ1Bbts7klQN78t2E/macNYV7HSF4SGJM+9LhQMiuKqYTDyV1GqoeXlDsu2CRu5YpCRwrHb5J+ZzzID1ohvh0yWg5E2+Fc3KOMjpTJfOwsyg1j/INXbCbzkFdUWr9ImAt2UR7RjiSmEGyLke8Q3RNmdbQk2O+VwYTsd8h/Fkq7TyWzokAZRmkhdxf1qPh/XL+MpYm5J0O/KqmO5BBVXOQgvHrV8AL90awOk0jC1E0kPrJbndcKM7mBoTWfT2JNtEb44ya0kCPtBiaukBIeDEmdCb4WhknOxxuEjqLuZ9RHH5TMig6QI8CVZNSz26tr86sdq5O3XUDGuuuGu/SRESLmJgTUnKktzGoL/xBFNI9DZBuIyipJTdYPi/HkEx/FtvArh3r/nNsQ3uts4kIIYfgMYv42Xw7ugLyZDcR53NJSotyZQVB6JfMKYv0Dn53wyBZSy+xESaqDokPSOPwVt1NTvP79PBMLcMEwwBMgkAbB1LZ+2ZFt9nVD1JqEz2w98Sgor2lYRd1xYQF+XsqITXxj4kIJkKSNf/GFAiYdnjPRzI6Ta+JQoXwOOr9+d33r75TMigw0grCuUHuRnQ50DpnMUqamiuVDyom6OfMbwdQOM86C6hpnSnv/lkBxZU+x6CD5cWon626NMRPeumHAvjvBxDW+xbBZtAIE8ZPZYN68ZotCLqpI2XkyRKT8zm8qmRXAROOa7jh0N60n+Z5iylQRARLBMPbFs4kYTBhjgqkth5USU9r6iDWbttZ7wNb4CST8bDS8wvJDGf67ErLK4JaPYgdCW6+2PJfbtZfHpQz5nBAwi51XbnLHK0FK5pUEUQdidWRqFyHn79wpOtUhYuFsZrtkfqwB6aQQOLLC+iXJtsN4Mis7GovGNkGEGyAs9IeG3CL6vOKJjea+MbFDkQvpsw8NRDdAdj5hWd8QJGO+k7A4wj8AgAvP/hkls2IYxpDerqSeBSTpw5I+AG1v+1lZBDTwAS+3qif5YTP4N2KQBajhiSWIhIYv5qd9IgTLkAbDgBBES16JaxAXYTCm5RLLgbtoSuekFw43LjznXyqZFVNGjdTznjEszdHwDmfr3jMF66NjjVdV/xZJYn2n4t1Whvz6+mF8GYBxL3ezNi4nZISJHfz58EdizDklbrXthoe9KKo7m+YeSuYVxOZXvjVG6XEd4+yweRM5B1EktFBbDlzJt2XwOtvxtbI8L5Qc/5ET1PgHQTh4BvhlAJPhMzk8BRkYC7PC4rAUfM0IATEmNMKYNP8+SuYVxHhk3gEWjciMEDMgb2VHE5tJa2zj19cXr7yTiy+E90hzB5B/iXOwnX5mmWGtMwpBsliXMLHD1/GcOcSAGtsNYhxayazogNp8o67lFxPS3A5vmhQvdw/vnQqnYsSYMoGMi2KD1bsx4c2VgazhJXlNfEySiRuITODZaxxFN0KV/ThbQuA8wq3PMysmRE5U05K++IiE9mZyYwOheRzZIpI+vmPaLXjgfGvuADibiQtR3v8Rv2zOxHFmP7YdJpYE/yTtNDkHiH0A48B5TwCgZF45rF//GTHBYhpYPhJLUHjtDRD8Yk9owwrt3tgO/+Z3kG3AK5iQLx/NaRHYkma4V2geSwb4YRMuj3BsCG55crsxatfeEJQL88aAA+f+KwBK5tVFuDsWYSxpzkguAQeXvPKKYBmMf2UsB8KM8dz3ZLWNIGaoDXJ10UBiOWMtBL5M2GUFD6uTJKoNsU1h5rqSecWwedc30wQl9RD4iRvkx6NZeSFMa3K0N36IKyyGb8REEa/OjqsUFVuqOLvQcXKnH/nmeefl2LNJ2qdkXjm0RrJXmdTZfPRgCccCvgib3065i7dTSnM5G7IKUWeTK3E23sxfnkS6XfngNye/FeEPfvsAACWzIscqk1roYJzzzUoJp7b5A9UAOJodX99a2NnOLA+BME9QT2AZ3EoPEtuJWV4GwQAl80ph/frPdC+80qQGQphJTKGEX0jApcdQFCMnJQesedalmIeGksRCzeWEm0SlXYPEqDPecPhgqEHJvEqYZBLHCpE6RJeB5IEGN3SEkOvSRUw5zu8YSuji+3jBv8TEFhNTKuPRyURv+cWALrW7SjD7XuE3xiSmCf/0EyJQxeY0Dw0lb7DwL55L0n1ZudxvkheO5znc2T5E/Vm6+9+E658syevTf3Dzfwinocq8IkgDX2nAZyh6zGEJXtsrzpuWKu2JFmZiIYiiFN2aKiNL41mjriw/6ogwBFX6wq4xMdJd+s8MJfOK4KQckpL24aqwtQOClStM3Rhcjn6uKxsZJwnYYlGHYaRa4Mq5x+R5Kp7EIk/48LL2aCQRAW98ycVJPUrmFcHmV76JREMSQgMrS+rC5fCkE+rMykwkxprZJGeF9tWEhQRCbSj7TL9vENcBC80Jx8TvqCm/AfCsvU9MWq5kXhGkk0Vqilwh9arxu5jmWr9OTHYAfqaWuHqZ8mYDTIVp3vo9WeEaqZ+1R8m8clj/009XUoP0lOmrwuJKILA4+8wlcVY4ieBzeg1jfxBNY/gAtByGct6yDT6zL8ZeevSTs6mcvPWmy55TtF3JvAJwqtxRjTl9BYaiWkEIDzswhcMrY/iRxRAwc4cwWaO5HX3ddlO5cUsDt4hyMOeTYJvbetOlSuaVw+Zd34wmtqkQmtrSe07o2rmFtBbrRBI5ENqVC9FvQWoiIclyM5lJlipuIHLoKcpw2sX7frZ6SkrmnmP9T29GuCGyh9oDZAS3SK/uLDeGElmQiuDV1ass4uogqVIyUXlsOEanQyCN3ydVjYhV0rJOVvrib7rskuppFYudKPqFzTu/Ifak40ZIen0qNrLyqwhBvvw6EGXF+HpSVF1+lQz5xxR9XRQ+6+WIRD1EIHKLBRIRfmnfz+KXVJlXD+vX3ew2EpM5D3wJRW4T3ywItNQYocqMYEpDBJZ5OSAuE9KcoRzHgrOgljGhHIIvXY4f1/zqHFe+bNB+ajqds78we16GQD4DpESsRbKHlE2SlpjQHcnskr2JG8xnE8Z++ZhkiqWYqpkcLz/FVExw7YY/5bBgus91/8MX39l6ampm9xSbd7F57c0/Etuc3rkf73l/X7kO6WgziUsYTWL3IQacvCnsJpdk5rLMFya0M6N9vfJNI9k+EeGz7/2doaehZO4pDr38XWVizS+uEZqyMsOO7wtar4P0SIacd5bHQ0ux68w6Ue4UQEkHITsKuX/x05+Mi5/+5KGnoGTuIdav+xTkTeMgFDpX6aRMudmSsJzYoVdJORGRXpmq4gZl958hzZUJ24LYlCn0Vf/ul0e2TX3mHsKcdyng/buYGP6RCZm/aMpyeX6SvaS+87Dx8+Anh4T4SGIokvnO7PPmxxePOvocE0qXjzWK+rmeq17+K7jq5f965GmpMvcM63/ySb9FSNUXmSrlquzTchO7eky2vxIoxqayy5D50mFb+s4+hzI/2pfNh6RYpbsQGVAy9wqbd34dR6+9CQlRayZ1YXqPIHRtu688rhiqlLIW8Roxhdl9aSM0EqKm48zCJK+MQf/V+17VuelK5h5h/U88kRMykiBeTmpx8DBCdyF3n1CzRsQ+ybyiL6wQOmTF3yQlby2NcPEzfg7PfsbPdW62krkn2Lzz69i842t+LypF3M9JLcq1qrbMk2ny2Dx9CTB2mIgqh6TXLgS1fP2lKiPblsTOXCIQnv2Mp+Dzf/TqsVqpAbCewJxzWOxwsGbUhBFT3w/b6eSGsq5K/rJg1EMkYqaXSEyCWD4lu3ZtgbBsW/xGRYAMwN+8/7V49i8+ZaxTUmXuAQ697GgItgAQCjtKVdsUWpRDbXtYWp/R4jPn1o347GJyh5p8PZMQGVAyLz027/waNu/8GqqBK2m+kdxHlobK8dnNiTS5db8vIBpxapLQyT/JGHHMaje5JbGvfsW/mYjIgJrZSw/ztBehagJn83xFgZax4zxPmI/DyidlRf6io8uz2sWYs8yquygm2U6vVd3MjtvPOf+p+MK1r+t8CjlUmZcYhy5/u1CEFnMv2ZZmOMo0sZts55HvvP6g8nkF/QUVO6yySFR4tJnttp9z/s/viMiAknlpsf7HN/jodUbMgtA5uaVZXTOpW8ztNjO+6BSyMouKMQzStpJd00eZ2U6RX9+5PW1QM3sJsXnH/Th02dvdTmHuye0WU7swiWsmdRmlba17ZNR7QdEhol0kVfLzRxr5w2TXrmZmX3L+U/HF635/7KbXoMq8ZHBEfhvalVNuU0u5ivqSyCvqqJStTjIR5Yoy/UDtjNJTjecvx51DjlDoaeH3RSsAAAtmSURBVBIZUDIvFTbvuB+HLn1rSdp8cojcTkhaI2Dl9qwRunQSu/nNfSZ05qaU0z7Lo5jQ0yYyoGb2UsE85fkYOvkjNwuLiHbLxA+ZX6svf69Rp+g4Wo5ZIIwR0W7PTs897rab229/5W/g7a/89bGa2gW6BtiS4NClV7tuPVkWl5C84pMoJRFRvBlDHhBfGuw/5bFFfbV6fT15uZBpyrayZiwiqYchObeRhRHW10Y89/gKd8KXrr8Cl5z/1F1pqirzEuDQS9+CzTvu93st6loooSzbRVU7BL9yhR5qGYwIhC0KqXeozqaanym0AQbPfBq+dP0Vk7WxI9RnXnAceulbsLl1WqTUhoAqAS+ZX0z1zPO4jrbgl/jq2iyypO4sYDbSL18CjGprkZ/uH3nlb+46kQFV5oVGQeSa8tXSTb7dosyFqtbUmj+7KPIQC6Bo55C0WWLc78/Km5Z0l2Tw3z/wBlzyzKdN1rYxoWReQGxuncahl17l90oTrnXq5NAxZ1G+SugOpvXEhK6Vk8lLROhhY88i78irnosjv/ubO2vXmFAyLxg2t07j0EuuShOLG74LoTGcYFVfGRXyZr7vbij0sqlzdow8enDB2TjyqufOTI2TJimZFweOyG/2e6Nu+CEBplazm/dHmNptBG19GKOlfNGeYW2upM0Sk3Yo/vnleZI4NEXJvBhYf99xHH3fiUrOCGLmRUb60sNMbU4fk9Dho6LctXbI8kXT50ToCck8uOBsHH318+ZKYoaSeQFw6PCbsbl1CvWbG2X6WKQeosydVDdLHzaBZBih87Lhw1SKLj6hmcCDC87exQaNByXzHLG5dRqHDl+ZpbbcUDUzuyiaE6NFmVtJyvkjVDuvv0uwrJZWI+88CT2CzIMLzg7m9CJCyTwnRDWuoSuhW9JaSd2FyPw5BqFDfpt5PiRtkQhduZZM4EVT4RqUzDPG5tZprB87PoTIjDZCV/KGmeNhs0bY7DPkDynbWlclL9kfkpY0e5h1sfsY7D8Hg2c+DZd4Ei8TlMwzxKHDV2Lzdk/iTv7ZMEJX8qs3f4XQo/ziSXzotnqq+3k7hxF6d8g8yMh65NXP25XvmSWUzDPA+rHjOHrsY2XGyBt1RH4bAYq6xyD0KFO7ZnKPUu/qfku7hrW5BUczIi6jqk4DSuZdxObWKRx6cR7gqmDozToOofOEXPE4bRJCQ5B3N8ztljJZOhN3VQk7DErmXcDm1innF98+yi8W2Ik5OUzVeD/hicnSaqSuKW4lbVgkexShO5jbR1/zfCVuRyiZp4hWc7orduQfDvE7i/orRB41NNV5bLoroevm9mD/ORjsPweXXHCOEnhMKJl3iM2tUzh5++mdkTjHTkktPgpSD52HjXJ/lOK2BcLGmfJpgKOveQEu2X82Bhec0+ksFSWUzBOCh5fGMqXHwY6juCbbrClhZuoOU9Gq4rakdSS0U+FzceQ1vzXZKSoSKJnHwK4TuIZpkVqSqTOBOb12zCifur2+wf5zceT3XoDBflXhaULJPARsQs+cwG2Yik9dUegqoYcosdyvkrdulg/2n4cjr30BBvvP3cF5KNqgZBZYP3YcAKbr/+4GJib1EFXOAlGt/vRI8pZlBheehyOv/bdK4l3GSq3OyWRlLIzijotx+9+C/PmqmpSt2JmVEytNlnUAxYqhYCU+F0de90Il8Yyw1MosybnwajpPjBrf7fRQRQd1Fr7z0de/CEde+8Jpn4liCJZGmRfOf116ZGtaS4VORDZXZ/FJcMeJNbcHF52HI697EQYXnjfb01EsNpnnEj1eBVSt5spC9glxDYYueg9g46NHlMRzxMKReaKpkIopoo24WTqXhcHgol/AxkePzqvBCo+FIfOOp0IqJkBNon36UEIjpA0uVCIvCuZKZlXhGaHFLC72O79XyR2z8bE/xOCiX5hmSxU7wNyi2cmD+ordR/URRFTShkS+RUR748Q7MLhozy40VDEpZv6uqfVjx2Ge+GtK5Lmi1n/T6DwiDC7aA3rwZiXyAmJmZrb6xIsGMbSUJUfFToeqBgf2YOPEO2fXRMVYmAmZ1aReYFT95MyvJmBwcA82Trxrli1TjIldNbM3t06pSb0MoGyD0szBgb1K5CXArimzqvGSgQksh6NgMDi4FxsfVyIvA6auzJtbp5TISweqbg4O7MHGx989++YoJsJUlbnzapSK2aPzGLIrOzi4Dxuf+I+72ybFVDE1ZVYiLzuiJA8O7FUiLyGmMmlEibwk6LjoPj3yud1vi2Lq2LEyK5H7hY0b3jPvJigmxI58ZiXykkEaYRWV3rjhPRgc2DvDBimmiYmVWYm85Mi8q8GBfUrkJcdEZFYi9wRELnJ9YK+a1z3A2GRWIvcPR664bN5NUEwBY5M5X+FSsdw4esXlGBzYN+9mKKaAsYamdGZXvzA4uA8bN1wz72YopoTOyqwL6/UPal73C53IrH5y/6Dmdf/Qycw2T/y1WbRFMUPQo5+fdxMUU8ZIZdaAV/+wcaP6yX3ESGVWVe4XNOjVXwxV5kOH1U/uGzTo1V+0klmj1/3D4OA+DXr1GK1kVl+5f1BV7jeqZNa3TPQPqsr9RzUApkGv/mHjxmuUzD1HocybW6rIfYOq8mqgILP6yv2DEnk1kJjZOm2zn9DZXquBRJlP3n56Xu1Q7BKOXnH5vJugmBESMuuL3fqHSw7qUkCrgkBm9ZX7CfWXVweBzBrF7h/UxF4tRDLrJJHeQU3s1YIF1MTuK9TEXi3s6vuZFfODmtirBwtoFFuh6AMMEZHOxe4fdKLI6sGqv6xQ9APqM/cQ6i+vJqz6ywpFP6DK3EPo+PJqQsncQ+j48mpCyaxQ9ARK5p5hcFBVeVWhZO4Z1MReXSiZFYqeQMmsUPQESuaeQYelVhdK5p5BfebVhZJZoegJlMwKRU+gZFYoegIls0LREyiZFYqeQMmsUPQESuYeQedlrzaUzD2CjjGvNpTMCkVPoGRWKHoCJbNC0RMYnPWrNLqYYhmga2WvNqxGQBWKfsBqBLQf0E5ZoT5zT6CdssIeueKyebdBoVBMAfriuJ5Ag18K90pXfTeRQrH0sICuG7Xs0M5YAXgya/BkuaGdsQIQ0Wwd2lheaGesACSZ9YZYSqiJrWAEMusQ1XJCTWwFI5k0or388kEtKgUjIbOq83JBO1+FRDGdU2+Q5YF2vgqJgszqgy0HtNNV5CjIPDiwT4eplgDa6SpyVJ+aUvNtsTE4uE8DX4oChoiqK40cOnwlNm8/Nev2KDpAH6pQ1ND6PLOq82JCfWVFG1qVGQDWjx3H0WMfm2V7FCOgqqxow9CVRo5ccZkGwxYIGzdeM+8mKBYYI5cNUnN7MaBBL8UoDDWzGRoMmz/UvFaMQqcF/TZuUPNunlDzWtEFnVfn1BtqPlDzWtEVnck8OLBPCT1jDA7uU6tI0RmdfGYJ9Z9nB/WTFeNg7EXwN264RoerZgC1ghTjYmxlDgfqWtu7ho0br1E/WTE2Jn49jSrH7kCJrJgUE5OZA2Jqck8PR6+4XImsmBgTm9kSGhTbOVSRFTvFVN4CqUGxnUGJrJgGpvZKVyX0ZFAiK6aFqb6fWQk9HpTIimli6i9b37jhGn2AfgQGB/eBHv28ElkxVUwlAFbD5tYpHHrxlbtR9VLj6BWX62Olil3BrpGZoZHuCDWrFbuJXSczoCqtD0woZoGZkJmxaio9OLjPLb2kaqyYAWZKZsCp9Pqx470ntfrGillj5mRm9JXUSmLFvDA3MjP6QmolsWLemDuZGZtbp3Dy9tNLtU63+sSKRcLCkFli0dVaVVixiFhIMkusHzuOza1TcyU2L6qnBFYsMhaezDnWjx0HgF0lOE9HveTgXjWhFUuDpSNzDUxwiWG+d23uuBJXoVAoFAuB/w8zriNDzpluegAAAABJRU5ErkJggg==" + /> + </g> + </g> + </g> + </g> +</svg> diff --git a/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..2a8851d3a6bfd0d325a39b8915ab2a3d8b66414c --- /dev/null +++ b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { OzgLogoIconComponent } from './ozg-logo-icon.component'; + +describe('OzgLogoIconComponent', () => { + let component: OzgLogoIconComponent; + let fixture: ComponentFixture<OzgLogoIconComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [OzgLogoIconComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(OzgLogoIconComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..1d1736aceb8aaf7f20a785e78e0e549ed6df5741 --- /dev/null +++ b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.component.ts @@ -0,0 +1,10 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'ods-ozg-logo-icon', + standalone: true, + imports: [CommonModule], + templateUrl: './ozg-logo-icon.component.html', +}) +export class OzgLogoIconComponent {} diff --git a/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.stories.ts new file mode 100644 index 0000000000000000000000000000000000000000..6a02cd6c808923fcc23e39302e4932cdb685764d --- /dev/null +++ b/alfa-client/libs/design-system/src/lib/icons/ozg-logo-icon/ozg-logo-icon.stories.ts @@ -0,0 +1,15 @@ +import type { Meta, StoryObj } from '@storybook/angular'; + +import { OzgLogoIconComponent } from './ozg-logo-icon.component'; + +const meta: Meta<OzgLogoIconComponent> = { + title: 'Icons/OZG logo icon', + component: OzgLogoIconComponent, + excludeStories: /.*Data$/, + tags: ['autodocs'], +}; + +export default meta; +type Story = StoryObj<OzgLogoIconComponent>; + +export const Default: Story = {}; diff --git a/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css index 3f5bbfca455ca47fd34fb770f7d9cbb333ac5e41..5a96be6a55585210953b2da119ee438739456536 100644 --- a/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css +++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css @@ -1,31 +1,15 @@ -/** - * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ +@import '@angular/cdk/overlay-prebuilt.css'; +@import 'typeface-roboto/index.css'; + @tailwind base; @tailwind components; @tailwind utilities; -@import '~@angular/cdk/overlay-prebuilt.css'; +@layer base { + html { + font-family: 'Roboto', 'Helvetica Neue', sans-serif; + } +} :root { --warning: 38 92% 50%; diff --git a/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js index cb4246aaf4f0e08bfb34a8f4b2c38bc92fcbe8cb..a12086a7bc8cc99f39280d672e73da7325bebc69 100644 --- a/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js +++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js @@ -153,5 +153,5 @@ module.exports = { }, }, }, - plugins: [], + plugins: [require('@tailwindcss/typography')], }; diff --git a/alfa-client/nx.json b/alfa-client/nx.json index d5846d9ce54ec894bf7601a95e7f626e1bfe360b..d4a997871fa8e52b66b2003fbd860e6249437ecb 100644 --- a/alfa-client/nx.json +++ b/alfa-client/nx.json @@ -4,10 +4,10 @@ }, "generators": { "@nx/angular:application": { - "style": "scss", + "e2eTestRunner": "cypress", "linter": "eslint", - "unitTestRunner": "jest", - "e2eTestRunner": "cypress" + "style": "scss", + "unitTestRunner": "jest" }, "@nx/angular:library": { "linter": "eslint", @@ -67,6 +67,11 @@ "@nx/eslint:lint": { "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], "cache": true + }, + "@angular-devkit/build-angular:browser": { + "cache": true, + "dependsOn": ["^build"], + "inputs": ["production", "^production"] } }, "namedInputs": { diff --git a/alfa-client/package-lock.json b/alfa-client/package-lock.json index f6b22e828615c42e63ca3439490623f5cdbd35e6..d3b18888a40e2fa42c8a965ca443ce171c87ac38 100644 --- a/alfa-client/package-lock.json +++ b/alfa-client/package-lock.json @@ -79,6 +79,7 @@ "@swc-node/register": "~1.9.1", "@swc/core": "~1.5.7", "@swc/helpers": "~0.5.11", + "@tailwindcss/typography": "^0.5.15", "@testing-library/jest-dom": "^6.4.5", "@types/file-saver": "2.0.7", "@types/jest": "29.5.13", @@ -111,6 +112,7 @@ "ng-packagr": "18.2.1", "nx": "19.8.8", "prettier": "^3.2.5", + "prettier-plugin-groovy": "^0.2.1", "prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-tailwindcss": "^0.6.8", "sonarqube-scanner": "^4.2.5", @@ -196,13 +198,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/architect/-/architect-0.1802.10.tgz", - "integrity": "sha512-/xudcHK2s4J/GcL6qyobmGaWMHQcYLSMqCaWMT+nK6I6tu9VEAj/p3R83Tzx8B/eKi31Pz499uHw9pmqdtbafg==", + "version": "0.1802.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/architect/-/architect-0.1802.11.tgz", + "integrity": "sha512-p+XIc/j51aI83ExNdeZwvkm1F4wkuKMGUUoj0MVUUi5E6NoiMlXYm6uU8+HbRvPBzGy5+3KOiGp3Fks0UmDSAA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.10", + "@angular-devkit/core": "18.2.11", "rxjs": "7.8.1" }, "engines": { @@ -212,9 +214,9 @@ } }, "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "18.2.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/core/-/core-18.2.10.tgz", - "integrity": "sha512-LFqiNdraBujg8e1lhuB0bkFVAoIbVbeXXwfoeROKH60OPbP8tHdgV6sFTqU7UGBKA+b+bYye70KFTG2Ys8QzKQ==", + "version": "18.2.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/core/-/core-18.2.11.tgz", + "integrity": "sha512-H9P1shRGigORWJHUY2BRa2YurT+DVminrhuaYHsbhXBRsPmgB2Dx/30YLTnC1s5XmR9QIRUCsg/d3kyT1wd5Zg==", "dev": true, "license": "MIT", "dependencies": { @@ -623,32 +625,6 @@ "node": ">=18" } }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-darwin-arm64": { "version": "4.22.4", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", @@ -662,175 +638,6 @@ "darwin" ] }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@angular-devkit/build-angular/node_modules/@types/estree": { "version": "1.0.5", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/estree/-/estree-1.0.5.tgz", @@ -1361,18 +1168,18 @@ } }, "node_modules/@angular/cli": { - "version": "18.2.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular/cli/-/cli-18.2.10.tgz", - "integrity": "sha512-qW/F3XVZMzzenFzbn+7FGpw8GOt9qW8UxBtYya7gUNdWlcsgGUk+ZaGC2OLbfI5gX6pchW4TOPMsDSMeaCEI2Q==", + "version": "18.2.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular/cli/-/cli-18.2.11.tgz", + "integrity": "sha512-0JI1xjOLRemBPjdT/yVlabxc3Zkjqa/lhvVxxVC1XhKoW7yGxIGwNrQ4pka4CcQtCuktO6KPMmTGIu8YgC3cpw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.10", - "@angular-devkit/core": "18.2.10", - "@angular-devkit/schematics": "18.2.10", + "@angular-devkit/architect": "0.1802.11", + "@angular-devkit/core": "18.2.11", + "@angular-devkit/schematics": "18.2.11", "@inquirer/prompts": "5.3.8", "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.10", + "@schematics/angular": "18.2.11", "@yarnpkg/lockfile": "1.1.0", "ini": "4.1.3", "jsonc-parser": "3.3.1", @@ -1395,9 +1202,9 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "18.2.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/core/-/core-18.2.10.tgz", - "integrity": "sha512-LFqiNdraBujg8e1lhuB0bkFVAoIbVbeXXwfoeROKH60OPbP8tHdgV6sFTqU7UGBKA+b+bYye70KFTG2Ys8QzKQ==", + "version": "18.2.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/core/-/core-18.2.11.tgz", + "integrity": "sha512-H9P1shRGigORWJHUY2BRa2YurT+DVminrhuaYHsbhXBRsPmgB2Dx/30YLTnC1s5XmR9QIRUCsg/d3kyT1wd5Zg==", "dev": true, "license": "MIT", "dependencies": { @@ -1423,13 +1230,13 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { - "version": "18.2.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/schematics/-/schematics-18.2.10.tgz", - "integrity": "sha512-EIm/yCYg3ZYPsPYJxXRX5F6PofJCbNQ5rZEuQEY09vy+ZRTqGezH0qoUP5WxlYeJrjiRLYqADI9WtVNzDyaD4w==", + "version": "18.2.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular-devkit/schematics/-/schematics-18.2.11.tgz", + "integrity": "sha512-efRK3FotTFp4KD5u42jWfXpHUALXB9kJNsWiB4wEImKFH6CN+vjBspJQuLqk2oeBFh/7D2qRMc5P+2tZHM5hdw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.10", + "@angular-devkit/core": "18.2.11", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -1442,14 +1249,14 @@ } }, "node_modules/@angular/cli/node_modules/@schematics/angular": { - "version": "18.2.10", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@schematics/angular/-/angular-18.2.10.tgz", - "integrity": "sha512-2pDHT4aSzfs8Up4RQmHHuFd5FeuUebS1ZJwyt46MfXzRMFtzUZV/JKsIvDqyMwnkvFfLvgJyTCkl8JGw5jQObg==", + "version": "18.2.11", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@schematics/angular/-/angular-18.2.11.tgz", + "integrity": "sha512-jT54mc9+hPOwie9bji/g2krVuK1kkNh2PNFGwfgCg3Ofmt3hcyOBai1DKuot5uLTX4VCCbvfwiVR/hJniQl2SA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.10", - "@angular-devkit/schematics": "18.2.10", + "@angular-devkit/core": "18.2.11", + "@angular-devkit/schematics": "18.2.11", "jsonc-parser": "3.3.1" }, "engines": { @@ -1572,7 +1379,6 @@ "version": "4.0.1", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/chokidar/-/chokidar-4.0.1.tgz", "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", - "license": "MIT", "dependencies": { "readdirp": "^4.0.1" }, @@ -1587,7 +1393,6 @@ "version": "4.0.2", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/readdirp/-/readdirp-4.0.2.tgz", "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", - "license": "MIT", "engines": { "node": ">= 14.16.0" }, @@ -1876,9 +1681,9 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.682.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.682.0.tgz", - "integrity": "sha512-BD8PPPk3+ZzFqCJSPraoXkgRcPTtjguXtyDYsyBMzFofWmN4YeswXSavZVAC354W98mkffDaXBvieyqu1Y9fKA==", + "version": "3.685.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.685.0.tgz", + "integrity": "sha512-4h+aw0pUEOVP77TpF1ec9AX0mzotsiw2alXfh+P0t+43eg2EjaKRftRpNXyt5XmUPws+wsH10uEL4CzSZo1sxQ==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2113,14 +1918,14 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.682.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.682.0.tgz", - "integrity": "sha512-V+y4qUQtc0kTnNR7u5LwnZn8EZk2pjdNX+84MwD9VjXekqbXikADu06Mj93kVGVW+qgqtNMvJ8PpiI3EaaxC7A==", + "version": "3.685.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.685.0.tgz", + "integrity": "sha512-qw9s09JFhJxEkmbo1gn94pAtyLHSx8YBX2qqrL6v3BdsJbP2fnRJMMssGMGR4jPyhklh5TSgZo0FzflbqJU8sw==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.682.0", + "@aws-sdk/client-cognito-identity": "3.685.0", "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/types": "^3.5.0", @@ -2286,18 +2091,18 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.682.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/credential-providers/-/credential-providers-3.682.0.tgz", - "integrity": "sha512-vLBdUlTISEXVKYFFO665ajC0U0RdXFx21fwTHiN2g4edFH++di2XCJ8/Y34bu09z9bV/rwFT2jn41iAVWasNKg==", + "version": "3.685.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/credential-providers/-/credential-providers-3.685.0.tgz", + "integrity": "sha512-pIXNNwPG2KnzjGYYbADquEkROuKxAJxuWt87TJO7LCFqKwb5l6h0Mc7yc4j13zxOVd/EhXD0VsPeqnobDklUoQ==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.682.0", + "@aws-sdk/client-cognito-identity": "3.685.0", "@aws-sdk/client-sso": "3.682.0", "@aws-sdk/client-sts": "3.682.0", "@aws-sdk/core": "3.679.0", - "@aws-sdk/credential-provider-cognito-identity": "3.682.0", + "@aws-sdk/credential-provider-cognito-identity": "3.685.0", "@aws-sdk/credential-provider-env": "3.679.0", "@aws-sdk/credential-provider-http": "3.679.0", "@aws-sdk/credential-provider-ini": "3.682.0", @@ -2458,9 +2263,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.568.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", - "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "version": "3.679.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@aws-sdk/util-locate-window/-/util-locate-window-3.679.0.tgz", + "integrity": "sha512-zKTd48/ZWrCplkXpYDABI74rQlbR0DNHs8nH95htfSLj9/mWRSwaGptoxwcihaq/77vi/fl2X3y0a1Bo8bt7RA==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2512,9 +2317,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/code-frame/-/code-frame-7.26.0.tgz", - "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", + "version": "7.26.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", @@ -2526,9 +2331,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/compat-data/-/compat-data-7.26.0.tgz", - "integrity": "sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==", + "version": "7.26.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -2565,12 +2370,12 @@ } }, "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.26.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/generator/-/generator-7.26.0.tgz", - "integrity": "sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==", + "version": "7.26.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.0", + "@babel/parser": "^7.26.2", "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", @@ -2971,9 +2776,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.1", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/parser/-/parser-7.26.1.tgz", - "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==", + "version": "7.26.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "license": "MIT", "dependencies": { "@babel/types": "^7.26.0" @@ -4633,12 +4438,12 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.26.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/generator/-/generator-7.26.0.tgz", - "integrity": "sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==", + "version": "7.26.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.0", + "@babel/parser": "^7.26.2", "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", @@ -5831,70 +5636,6 @@ "tslib": "^2.4.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@esbuild/darwin-arm64": { "version": "0.23.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", @@ -5911,321 +5652,20 @@ "node": ">=18" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } @@ -6439,9 +5879,9 @@ } }, "node_modules/@faker-js/faker": { - "version": "9.1.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@faker-js/faker/-/faker-9.1.0.tgz", - "integrity": "sha512-GJvX9iM9PBtKScJVlXQ0tWpihK3i0pha/XAhzQa1hPK/ILLa1Wq3I63Ij7lRtqTwmdTxRCyrUhLC5Sly9SLbug==", + "version": "9.2.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@faker-js/faker/-/faker-9.2.0.tgz", + "integrity": "sha512-ulqQu4KMr1/sTFIYvqSdegHT8NIkt66tFAkugGnHA+1WAfEn6hMzNR+svjXGFRVLnapxvej67Z/LwchFrnLBUg==", "dev": true, "funding": [ { @@ -6504,6 +5944,21 @@ "node": ">=18.18.0" } }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -6562,9 +6017,9 @@ "license": "BSD-3-Clause" }, "node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "version": "0.4.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@humanwhocodes/retry/-/retry-0.4.0.tgz", + "integrity": "sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -6643,9 +6098,9 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.8.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "version": "22.8.7", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-22.8.7.tgz", + "integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==", "license": "MIT", "dependencies": { "undici-types": "~6.19.8" @@ -7513,71 +6968,6 @@ "darwin" ] }, - "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.0.13", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", - "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.0.13", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", - "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.0.13", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", - "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.0.13", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", - "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.0.13", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", - "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@mdx-js/react": { "version": "3.1.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@mdx-js/react/-/react-3.1.0.tgz", @@ -7597,23 +6987,23 @@ } }, "node_modules/@module-federation/bridge-react-webpack-plugin": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.6.14.tgz", - "integrity": "sha512-bSz3jeViMVN6zYO0PbUBaLB1H6/Shebj0LusbaYmKYr1RWu6uz7cMC/3/ev4X5HHqOE7TIUPkqqu4dhqMkZRiA==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.6.15.tgz", + "integrity": "sha512-CDts14VFEEhZPe0jVpxfBAdUqo0KV4ZRjmLnoLTg1seDHMPhbkuikx8yKRt24U5GB6WujcnaYxEFdvbItP886Q==", "dependencies": { - "@module-federation/sdk": "0.6.14", + "@module-federation/sdk": "0.6.15", "@types/semver": "7.5.8", "semver": "7.6.3" } }, "node_modules/@module-federation/data-prefetch": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/data-prefetch/-/data-prefetch-0.6.14.tgz", - "integrity": "sha512-8TZNuddqAfu8eDSdJepe5J1Uascktty27PSarSHeh0y7gu2fkGdW+3oQvnzESIbMNNO5ru2hOKhG23R1rYqEaA==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/data-prefetch/-/data-prefetch-0.6.15.tgz", + "integrity": "sha512-FzyCWeOHZUd6RTegQ2YWCmXp2gpBbAIxvHuKFtfvb+KtHy21Tr7lnCGamqZAQJsdLpyo6V8oV0i1W/zF/WsSKA==", "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.6.14", - "@module-federation/sdk": "0.6.14", + "@module-federation/runtime": "0.6.15", + "@module-federation/sdk": "0.6.15", "fs-extra": "9.1.0" }, "peerDependencies": { @@ -7622,14 +7012,14 @@ } }, "node_modules/@module-federation/dts-plugin": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/dts-plugin/-/dts-plugin-0.6.14.tgz", - "integrity": "sha512-v9PB4ExSn8LLp1I+jn4iK7x54MG6znnyyVQDfk/8aDKo1sSMnlT5hO1j6/NvrSdoCzXHHgO9wAsszY2WyYSuBw==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/dts-plugin/-/dts-plugin-0.6.15.tgz", + "integrity": "sha512-JSzAifMXi+hshbRKu/6fDo788iqLap6RGpy0IAAgSquMTs0oXEq6wj+g9BYepzYjzDKHPfT79Guc/rq0KWUYNg==", "license": "MIT", "dependencies": { - "@module-federation/managers": "0.6.14", - "@module-federation/sdk": "0.6.14", - "@module-federation/third-party-dts-extractor": "0.6.14", + "@module-federation/managers": "0.6.15", + "@module-federation/sdk": "0.6.15", + "@module-federation/third-party-dts-extractor": "0.6.15", "adm-zip": "^0.5.10", "ansi-colors": "^4.1.3", "axios": "^1.7.4", @@ -7667,19 +7057,19 @@ } }, "node_modules/@module-federation/enhanced": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/enhanced/-/enhanced-0.6.14.tgz", - "integrity": "sha512-ulDGgMyBrSR2EldA+zvTeLS1T/XA+AU6uWR1S6F8wmFfcTSzQ/9JILG29VPFtcbT2Yt6v6/Pi5ldqzmhq2hQmA==", - "license": "MIT", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.6.14", - "@module-federation/data-prefetch": "0.6.14", - "@module-federation/dts-plugin": "0.6.14", - "@module-federation/managers": "0.6.14", - "@module-federation/manifest": "0.6.14", - "@module-federation/rspack": "0.6.14", - "@module-federation/runtime-tools": "0.6.14", - "@module-federation/sdk": "0.6.14", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/enhanced/-/enhanced-0.6.15.tgz", + "integrity": "sha512-ZxOijwH6wZh0yeLA6KX0Xpdo2ddOUGsKnxuRn0L4Mo5McvPGVUwXlbi6XWdHh9Dg4Kld06yMHroXm1HoqkV4Cw==", + "license": "MIT", + "dependencies": { + "@module-federation/bridge-react-webpack-plugin": "0.6.15", + "@module-federation/data-prefetch": "0.6.15", + "@module-federation/dts-plugin": "0.6.15", + "@module-federation/managers": "0.6.15", + "@module-federation/manifest": "0.6.15", + "@module-federation/rspack": "0.6.15", + "@module-federation/runtime-tools": "0.6.15", + "@module-federation/sdk": "0.6.15", "btoa": "^1.2.1", "upath": "2.0.1" }, @@ -7701,25 +7091,25 @@ } }, "node_modules/@module-federation/managers": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/managers/-/managers-0.6.14.tgz", - "integrity": "sha512-bZAtZUcNKCRvIqyJhye0XhrwJpg2ifBXtprYN/p4k+fSUsuTTdsQSGW0bzfic3cYAm3H5k1A/qyMQ0YuyUNy6w==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/managers/-/managers-0.6.15.tgz", + "integrity": "sha512-VLAlkpBxl1Dhue08AzFJ7uIUy3WlnklMaXFpuzH9rV5UwhLiGfL/QxfAYx/bPJjceMkr7uJlmZaQO+EYZni07A==", "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.6.14", + "@module-federation/sdk": "0.6.15", "find-pkg": "2.0.0", "fs-extra": "9.1.0" } }, "node_modules/@module-federation/manifest": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/manifest/-/manifest-0.6.14.tgz", - "integrity": "sha512-QWYcxbRIs4TVn12hr49VYsrvbppKQ/KsfYv9jW0VGCrYtsgLUq6Q5OTrCoCQjsIMIy3u7YKNdUxxMFJTYA3x+Q==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/manifest/-/manifest-0.6.15.tgz", + "integrity": "sha512-veog9+VMYNe3JcI1zLAPTuqIbb/ufJ7ezOuXNAsj09Jf1/+Ca2XA+i3ZsaAJfRYqaOXNmpL4Xh0pp48uVaRDaw==", "license": "MIT", "dependencies": { - "@module-federation/dts-plugin": "0.6.14", - "@module-federation/managers": "0.6.14", - "@module-federation/sdk": "0.6.14", + "@module-federation/dts-plugin": "0.6.15", + "@module-federation/managers": "0.6.15", + "@module-federation/sdk": "0.6.15", "chalk": "3.0.0", "find-pkg": "2.0.0" } @@ -7738,17 +7128,17 @@ } }, "node_modules/@module-federation/rspack": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/rspack/-/rspack-0.6.14.tgz", - "integrity": "sha512-73p+CClc+/L0JD7TJ5VX9St3YsrcOXH3CtgqU8Yu2Q1CpY0ouRMG/YYOY7W327cUdcaq6Upcs/3zNI+f/ZpSpg==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/rspack/-/rspack-0.6.15.tgz", + "integrity": "sha512-TDmOH8Uzf1ntHIkplsv3Flv1JmJgwlGpEAWLkYdMaZbb4mVS3wlK++93MLOxXKJTfIcXld3yF09IsimaYYjYhw==", "license": "MIT", "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.6.14", - "@module-federation/dts-plugin": "0.6.14", - "@module-federation/managers": "0.6.14", - "@module-federation/manifest": "0.6.14", - "@module-federation/runtime-tools": "0.6.14", - "@module-federation/sdk": "0.6.14" + "@module-federation/bridge-react-webpack-plugin": "0.6.15", + "@module-federation/dts-plugin": "0.6.15", + "@module-federation/managers": "0.6.15", + "@module-federation/manifest": "0.6.15", + "@module-federation/runtime-tools": "0.6.15", + "@module-federation/sdk": "0.6.15" }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", @@ -7764,37 +7154,37 @@ } }, "node_modules/@module-federation/runtime": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/runtime/-/runtime-0.6.14.tgz", - "integrity": "sha512-UbwKPzUdsQZGj1dSBL/CRLZl3FoZjpCiaHJ1KUBYU8oNSX1XckkM2E9nmTP7gecvN8kZqBOIuwVSCI4X7C3MCA==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/runtime/-/runtime-0.6.15.tgz", + "integrity": "sha512-1HHHWwS3cIqGKqGXY5s/Xp0AKd6L4/VefxidD9P/LHxf6GtPWsy9u9BvZulpHP03s02YLAtmWNoSfjyOq/MvCA==", "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.6.14" + "@module-federation/sdk": "0.6.15" } }, "node_modules/@module-federation/runtime-tools": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/runtime-tools/-/runtime-tools-0.6.14.tgz", - "integrity": "sha512-rrGlwqhsQQ+CYTjnx06fA+uZ9hYfEQc0hROhLMBY21Mm69sbrCbEyGBQMplkGijwXRn2ZVQynUGMUrWLhHRa/A==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/runtime-tools/-/runtime-tools-0.6.15.tgz", + "integrity": "sha512-Ps60oVVR6DWHU9zPUJ7EeTYguhMd5C4p0/2QK6WXkeT0gorzc1a3z3KLM5qY09AipiRYp4OzowiKRu2rD6Z5xg==", "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.6.14", - "@module-federation/webpack-bundler-runtime": "0.6.14" + "@module-federation/runtime": "0.6.15", + "@module-federation/webpack-bundler-runtime": "0.6.15" } }, "node_modules/@module-federation/sdk": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/sdk/-/sdk-0.6.14.tgz", - "integrity": "sha512-Qv9c/w8bpY3G/ytrsAyYE3tFpLaa1HI6slBtbP1vSg+9rQmSw1fUOoGO8J9l6jTQrhRjfO6IJWmptCguj4b6gA==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/sdk/-/sdk-0.6.15.tgz", + "integrity": "sha512-2hRCwigHmSWy0wjd23YZVxt8jL1Ael4xElDTTyyOn1JpBy0qDbZvT6tZYvpyGIMw/0OWCwq1fHLFYwwhkfIbTw==", "license": "MIT", "dependencies": { "isomorphic-rslog": "0.0.4" } }, "node_modules/@module-federation/third-party-dts-extractor": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.6.14.tgz", - "integrity": "sha512-5BFPquRQysYmbwCqEfNXN1FeAkgvChksxFRlHWvfQl8+WgJ7ASzP5736HywhUaORN5r/Jp8i7Vr4aLcSQJ5KlQ==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.6.15.tgz", + "integrity": "sha512-njUb3Fzx1Ws73Ln1dGy7cfMWf10rgSm5atZiUs+/T8c+OFf1esIV+8NK+DrWwP7QjqM9GVkNVbFLM6fvauzkbg==", "license": "MIT", "dependencies": { "find-pkg": "2.0.0", @@ -7803,13 +7193,13 @@ } }, "node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.6.14", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.6.14.tgz", - "integrity": "sha512-wRlvjEwrAKL7GZ+bw1AyKzv6clrsm9xVMVwiDY5Wx9C7DrdgQBn6Q3SidMUxrAwSTR3vA5ByIDte9c+XrYCeEA==", + "version": "0.6.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.6.15.tgz", + "integrity": "sha512-yKk0ac7uWit+aEugx7UZt78MPxlZkzT2+FVC0Y583m1HG/HvgfrU/jsM9yTFUQx8ch2HyP3gH/SA0hA/Me0MmA==", "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.6.14", - "@module-federation/sdk": "0.6.14" + "@module-federation/runtime": "0.6.15", + "@module-federation/sdk": "0.6.15" } }, "node_modules/@mongodb-js/saslprep": { @@ -7836,71 +7226,6 @@ "darwin" ] }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@napi-rs/wasm-runtime": { "version": "0.2.4", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", @@ -8680,9 +8005,9 @@ } }, "node_modules/@nx/devkit": { - "version": "20.0.6", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/devkit/-/devkit-20.0.6.tgz", - "integrity": "sha512-vUjVVEJgfq/roCzDDZDXduwnhVXl1MM5No2UELUka2oNBK09pPigdFxzUNh8XvmOyFskCGDTLKH/dAO5yTD5Bg==", + "version": "20.0.8", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/devkit/-/devkit-20.0.8.tgz", + "integrity": "sha512-MRUGgWSMzYtdwtolvWL5EZlX+7xYgu7JIXf1+3rmZU5adMmlqWKrIbyvDf53XocQlT8oxx/xXTEFHhIymGTQCg==", "dev": true, "license": "MIT", "peer": true, @@ -8837,9 +8162,9 @@ } }, "node_modules/@nx/eslint-plugin/node_modules/@eslint/js": { - "version": "9.13.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@eslint/js/-/js-9.13.0.tgz", - "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", + "version": "9.14.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@eslint/js/-/js-9.14.0.tgz", + "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", "dev": true, "license": "MIT", "peer": true, @@ -9013,23 +8338,23 @@ "peer": true }, "node_modules/@nx/eslint-plugin/node_modules/eslint": { - "version": "9.13.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eslint/-/eslint-9.13.0.tgz", - "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", + "version": "9.14.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eslint/-/eslint-9.14.0.tgz", + "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.11.0", + "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.18.0", "@eslint/core": "^0.7.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.13.0", + "@eslint/js": "9.14.0", "@eslint/plugin-kit": "^0.2.0", - "@humanfs/node": "^0.16.5", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.1", + "@humanwhocodes/retry": "^0.4.0", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -9037,9 +8362,9 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.1.0", - "eslint-visitor-keys": "^4.1.0", - "espree": "^10.2.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -9177,9 +8502,9 @@ } }, "node_modules/@nx/eslint-plugin/node_modules/globals": { - "version": "15.11.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/globals/-/globals-15.11.0.tgz", - "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", + "version": "15.12.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/globals/-/globals-15.12.0.tgz", + "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", "dev": true, "license": "MIT", "engines": { @@ -9492,150 +8817,6 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-darwin-x64": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-darwin-x64/-/nx-darwin-x64-19.8.8.tgz", - "integrity": "sha512-hNvPQDjYki0seRgeNjXY4frt8OLj7IfOOCmh/VbspwGp2xWwXbh8Zxy9fWyxp15XTqybIzvYuj+P2qosMkYmCg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.8.8.tgz", - "integrity": "sha512-PRAavzIcGVmpj8zUEl6XMVoJ8MHc7kKP11AsrO7o4pYnI0aHwT639dnhSVZ1lLtpouYJZ2u7tE6A4fV9y4X2hA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.8.8.tgz", - "integrity": "sha512-sJEMnJFgrKo1LBDLbln7gH1blnwyO0M9/1+wuNtbanB63Xl177nGBZHts3y1HKt7S3yaVSwblmtFS5VD9U7HiQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.8.8.tgz", - "integrity": "sha512-A+/8lNrIqsey/chkWOCCByob1s3AOlcIXVlmWo8YzzMTK4kBkmKGiWsV23QVAZOrgAwfpcuV5A5ZqEqCtnH8fA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.8.8.tgz", - "integrity": "sha512-InWILcL5Ku6URttDavfCUwfbJouHvQl+/o/KNMGC1EIjCFfQdEAfwgybo9eNcUQl6Xl5vx5NkA5+Ff7wbkMZdw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.8.8.tgz", - "integrity": "sha512-LCfnm42cQUrrch/8RqVgC46bYovX/ZcbP44pmTgrkChfrmxDhdaIfi0m1aUWpfize6DvCWxvmg8VEaV+Cf4/cg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.8.8.tgz", - "integrity": "sha512-1noYDMQ0uZw0OeWe/JScx0QLNfPUy9fJLXwemRf5g2K69m0r/WRvTcWMa1+ZypPn75tp3fvIH+Nne1PS+REqYw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.8.8.tgz", - "integrity": "sha512-gVEiPn1hjATQMeZ9unEmOTDS42oVLItlgm9+oXSW2AJArO1Add+47+nxVPMeOSk5x0gK0EZJ5gGdM8929qYfRA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.8.8", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.8.8.tgz", - "integrity": "sha512-AkGmZnZoIY6lAWf7NKGzNFy2OrRj1vQjYCCi2FtB0QR+seX7PgvqD+pgalLhl5ZmteojKWSJlT9fitKp5K/Ezw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@nx/storybook": { "version": "19.8.8", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@nx/storybook/-/storybook-19.8.8.tgz", @@ -10442,36 +9623,10 @@ } } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz", - "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz", - "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz", - "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==", + "version": "4.24.4", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", "cpu": [ "arm64" ], @@ -10481,205 +9636,10 @@ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz", - "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz", - "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz", - "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz", - "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz", - "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz", - "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz", - "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz", - "integrity": "sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz", - "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz", - "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz", - "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz", - "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz", - "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz", - "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz", - "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@rollup/wasm-node": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/wasm-node/-/wasm-node-4.24.3.tgz", - "integrity": "sha512-lahpprfoJKm88bgp2IrDI/VRyZocsvGvemSkhrsbBTj9yqhkyIb7W5CZAdZWgeAibO5EIk2cN0yWCHcjohL1YQ==", + "version": "4.24.4", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@rollup/wasm-node/-/wasm-node-4.24.4.tgz", + "integrity": "sha512-WKJUdPcM8YAYujafY95+2EapqU3F/nwfBkXh9AfkBvWBwFhsvNJABA86Br6graRH2vRE4FBsiqjFvFWOtEO6wg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -11748,9 +10708,9 @@ } }, "node_modules/@storybook/angular/node_modules/@types/node": { - "version": "22.8.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "version": "22.8.7", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-22.8.7.tgz", + "integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12354,7 +11314,7 @@ }, "node_modules/@storybook/theming": { "version": "8.4.6", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@storybook/theming/-/theming-8.4.6.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@storybook/theming/-/theming-8.4.6.tgz", "integrity": "sha512-q7vDPN/mgj7cXIVQ9R1/V75hrzNgKkm2G0LjMo57//9/djQ+7LxvBsR1iScbFIRSEqppvMiBFzkts+2uXidySA==", "dev": true, "license": "MIT", @@ -12371,6 +11331,7 @@ "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc-node/core/-/core-1.13.3.tgz", "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==", "devOptional": true, + "license": "MIT", "engines": { "node": ">= 10" }, @@ -12388,6 +11349,7 @@ "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc-node/register/-/register-1.9.2.tgz", "integrity": "sha512-BBjg0QNuEEmJSoU/++JOXhrjWdu3PTyYeJWsvchsI0Aqtj8ICkz/DqlwtXbmZVZ5vuDPpTfFlwDBZe81zgShMA==", "devOptional": true, + "license": "MIT", "dependencies": { "@swc-node/core": "^1.13.1", "@swc-node/sourcemap-support": "^0.5.0", @@ -12410,6 +11372,7 @@ "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz", "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==", "devOptional": true, + "license": "MIT", "dependencies": { "source-map-support": "^0.5.21", "tslib": "^2.6.3" @@ -12417,10 +11380,11 @@ }, "node_modules/@swc/core": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core/-/core-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core/-/core-1.5.29.tgz", "integrity": "sha512-nvTtHJI43DUSOAf3h9XsqYg8YXKc0/N4il9y4j0xAkO0ekgDNo+3+jbw6MInawjKJF9uulyr+f5bAutTsOKVlw==", "devOptional": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.8" @@ -12455,11 +11419,12 @@ }, "node_modules/@swc/core-darwin-arm64": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.29.tgz", "integrity": "sha512-6F/sSxpHaq3nzg2ADv9FHLi4Fu2A8w8vP8Ich8gIl16D2htStlwnaPmCLjRswO+cFkzgVqy/l01gzNGWd4DFqA==", "cpu": [ "arm64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -12470,11 +11435,12 @@ }, "node_modules/@swc/core-darwin-x64": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-darwin-x64/-/core-darwin-x64-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-darwin-x64/-/core-darwin-x64-1.5.29.tgz", "integrity": "sha512-rF/rXkvUOTdTIfoYbmszbSUGsCyvqACqy1VeP3nXONS+LxFl4bRmRcUTRrblL7IE5RTMCKUuPbqbQSE2hK7bqg==", "cpu": [ "x64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -12485,11 +11451,12 @@ }, "node_modules/@swc/core-linux-arm-gnueabihf": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.29.tgz", "integrity": "sha512-2OAPL8iWBsmmwkjGXqvuUhbmmoLxS1xNXiMq87EsnCNMAKohGc7wJkdAOUL6J/YFpean/vwMWg64rJD4pycBeg==", "cpu": [ "arm" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -12500,11 +11467,12 @@ }, "node_modules/@swc/core-linux-arm64-gnu": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.29.tgz", "integrity": "sha512-eH/Q9+8O5qhSxMestZnhuS1xqQMr6M7SolZYxiXJqxArXYILLCF+nq2R9SxuMl0CfjHSpb6+hHPk/HXy54eIRA==", "cpu": [ "arm64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -12515,11 +11483,12 @@ }, "node_modules/@swc/core-linux-arm64-musl": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.29.tgz", "integrity": "sha512-TERh2OICAJz+SdDIK9+0GyTUwF6r4xDlFmpoiHKHrrD/Hh3u+6Zue0d7jQ/he/i80GDn4tJQkHlZys+RZL5UZg==", "cpu": [ "arm64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -12530,11 +11499,12 @@ }, "node_modules/@swc/core-linux-x64-gnu": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.29.tgz", "integrity": "sha512-WMDPqU7Ji9dJpA+Llek2p9t7pcy7Bob8ggPUvgsIlv3R/eesF9DIzSbrgl6j3EAEPB9LFdSafsgf6kT/qnvqFg==", "cpu": [ "x64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -12545,11 +11515,12 @@ }, "node_modules/@swc/core-linux-x64-musl": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.29.tgz", "integrity": "sha512-DO14glwpdKY4POSN0201OnGg1+ziaSVr6/RFzuSLggshwXeeyVORiHv3baj7NENhJhWhUy3NZlDsXLnRFkmhHQ==", "cpu": [ "x64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -12560,11 +11531,12 @@ }, "node_modules/@swc/core-win32-arm64-msvc": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.29.tgz", "integrity": "sha512-V3Y1+a1zG1zpYXUMqPIHEMEOd+rHoVnIpO/KTyFwAmKVu8v+/xPEVx/AGoYE67x4vDAAvPQrKI3Aokilqa5yVg==", "cpu": [ "arm64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -12575,11 +11547,12 @@ }, "node_modules/@swc/core-win32-ia32-msvc": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.29.tgz", "integrity": "sha512-OrM6yfXw4wXhnVFosOJzarw0Fdz5Y0okgHfn9oFbTPJhoqxV5Rdmd6kXxWu2RiVKs6kGSJFZXHDeUq2w5rTIMg==", "cpu": [ "ia32" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -12590,11 +11563,12 @@ }, "node_modules/@swc/core-win32-x64-msvc": { "version": "1.5.29", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.29.tgz", + "resolved": "https://nexus.ozg-sh.de/repository/npm-proxy/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.29.tgz", "integrity": "sha512-eD/gnxqKyZQQR0hR7TMkIlJ+nCF9dzYmVVNbYZWuA1Xy94aBPUsEk3Uw3oG7q6R3ErrEUPP0FNf2ztEnv+I+dw==", "cpu": [ "x64" ], + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -12607,7 +11581,8 @@ "version": "0.1.3", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "devOptional": true + "devOptional": true, + "license": "Apache-2.0" }, "node_modules/@swc/helpers": { "version": "0.5.13", @@ -12624,10 +11599,27 @@ "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@swc/types/-/types-0.1.17.tgz", "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==", "devOptional": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.15", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@tailwindcss/typography/-/typography-0.5.15.tgz", + "integrity": "sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20" + } + }, "node_modules/@testing-library/dom": { "version": "10.4.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@testing-library/dom/-/dom-10.4.0.tgz", @@ -12649,9 +11641,9 @@ } }, "node_modules/@testing-library/jest-dom": { - "version": "6.6.2", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@testing-library/jest-dom/-/jest-dom-6.6.2.tgz", - "integrity": "sha512-P6GJD4yqc9jZLbe98j/EkyQDTPgqftohZF5FBkHY5BUERZmcf4HeO2k0XaefEg329ux2p21i1A1DmyQ1kKw2Jw==", + "version": "6.6.3", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz", + "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==", "dev": true, "license": "MIT", "dependencies": { @@ -12886,6 +11878,26 @@ "@types/node": "*" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/estree/-/estree-1.0.6.tgz", @@ -12905,6 +11917,18 @@ } }, "node_modules/@types/express-serve-static-core": { + "version": "5.0.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", + "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { "version": "4.19.6", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", @@ -13090,9 +12114,9 @@ } }, "node_modules/@types/node": { - "version": "20.17.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-20.17.3.tgz", - "integrity": "sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ==", + "version": "20.17.6", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-20.17.6.tgz", + "integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -13292,9 +12316,9 @@ "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "version": "8.5.13", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -16002,9 +15026,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001675", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001675.tgz", - "integrity": "sha512-/wV1bQwPrkLiQMjaJF5yUMVM/VdRPOCU8QZ+PmG6uW6DvYSrNY1bpwHI/3mOcUosLaJCzYDi5o91IQB51ft6cg==", + "version": "1.0.30001677", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz", + "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==", "funding": [ { "type": "opencollective", @@ -16112,7 +15136,6 @@ "version": "3.6.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -16136,7 +15159,6 @@ "version": "5.1.2", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -16680,32 +15702,23 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/debug/-/debug-2.6.9.tgz", @@ -16721,11 +15734,14 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/concat-map": { "version": "0.0.1", @@ -17000,12 +16016,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.39.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", @@ -17013,9 +16029,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.38.1", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/core-js-pure/-/core-js-pure-3.38.1.tgz", - "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", + "version": "3.39.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -17173,26 +16189,30 @@ } }, "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "version": "3.12.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", "dev": true, "license": "MIT", "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" }, "engines": { - "node": "*" + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/css-declaration-sorter": { @@ -18683,9 +17703,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.49", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", - "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==", + "version": "1.5.50", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz", + "integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==", "license": "ISC" }, "node_modules/elliptic": { @@ -24633,6 +23653,13 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "license": "MIT" }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.clonedeepwith": { "version": "4.5.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", @@ -24666,6 +23693,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lodash.isstring/-/lodash.isstring-4.0.1.tgz", @@ -25629,9 +24663,9 @@ } }, "node_modules/mocha": { - "version": "10.8.1", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mocha/-/mocha-10.8.1.tgz", - "integrity": "sha512-WxSpEWgF03HfgNKBuysfK40DUaOSVX5zxgLDoieMGO+zyE69iq2eQ1vBypvIJ5mOPKpuVAqWiTbt4Orj7L6wVw==", + "version": "10.8.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "license": "MIT", "peer": true, @@ -26201,9 +25235,9 @@ "license": "MIT" }, "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "license": "MIT", "optionalDependencies": { "msgpackr-extract": "^3.0.2" @@ -27384,9 +26418,9 @@ } }, "node_modules/ordered-binary": { - "version": "1.5.2", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ordered-binary/-/ordered-binary-1.5.2.tgz", - "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==", + "version": "1.5.3", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", "license": "MIT" }, "node_modules/os-browserify": { @@ -28190,6 +27224,19 @@ "postcss": "^8.2.2" } }, + "node_modules/postcss-calc/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-colormin": { "version": "6.1.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-colormin/-/postcss-colormin-6.1.0.tgz", @@ -28473,6 +27520,19 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-minify-font-values": { "version": "6.1.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", @@ -28537,6 +27597,19 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", @@ -28622,6 +27695,20 @@ "postcss": "^8.2.14" } }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-normalize-charset": { "version": "6.0.2", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", @@ -28803,9 +27890,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "6.0.10", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -28846,6 +27933,19 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-unique-selectors/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -28877,6 +27977,19 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-plugin-groovy": { + "version": "0.2.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/prettier-plugin-groovy/-/prettier-plugin-groovy-0.2.1.tgz", + "integrity": "sha512-89i4b9nxnQ+KKjl/rSktUA0u1HFCK3HeoqXAaHNpQC8wKjnL/FJ87pRQlDi0nrmGsWRcvGqbD1FaTgSS0EZ44Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0 || ^18.12.0" + }, + "peerDependencies": { + "prettier": "^3.3.3" + } + }, "node_modules/prettier-plugin-organize-imports": { "version": "4.1.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.1.0.tgz", @@ -29425,7 +28538,6 @@ "version": "3.6.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -29437,7 +28549,6 @@ "version": "2.3.1", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -29984,9 +29095,9 @@ } }, "node_modules/rollup": { - "version": "4.24.3", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/rollup/-/rollup-4.24.3.tgz", - "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==", + "version": "4.24.4", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", "license": "MIT", "dependencies": { "@types/estree": "1.0.6" @@ -29999,24 +29110,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.3", - "@rollup/rollup-android-arm64": "4.24.3", - "@rollup/rollup-darwin-arm64": "4.24.3", - "@rollup/rollup-darwin-x64": "4.24.3", - "@rollup/rollup-freebsd-arm64": "4.24.3", - "@rollup/rollup-freebsd-x64": "4.24.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.3", - "@rollup/rollup-linux-arm-musleabihf": "4.24.3", - "@rollup/rollup-linux-arm64-gnu": "4.24.3", - "@rollup/rollup-linux-arm64-musl": "4.24.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.3", - "@rollup/rollup-linux-riscv64-gnu": "4.24.3", - "@rollup/rollup-linux-s390x-gnu": "4.24.3", - "@rollup/rollup-linux-x64-gnu": "4.24.3", - "@rollup/rollup-linux-x64-musl": "4.24.3", - "@rollup/rollup-win32-arm64-msvc": "4.24.3", - "@rollup/rollup-win32-ia32-msvc": "4.24.3", - "@rollup/rollup-win32-x64-msvc": "4.24.3", + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", "fsevents": "~2.3.2" } }, @@ -31804,6 +30915,19 @@ "postcss": "^8.4.31" } }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/stylus": { "version": "0.59.0", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/stylus/-/stylus-0.59.0.tgz", @@ -32082,6 +31206,20 @@ "postcss": "^8.0.0" } }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tapable/-/tapable-2.2.1.tgz", @@ -32538,22 +31676,22 @@ } }, "node_modules/tldts": { - "version": "6.1.57", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tldts/-/tldts-6.1.57.tgz", - "integrity": "sha512-Oy7yDXK8meJl8vPMOldzA+MtueAJ5BrH4l4HXwZuj2AtfoQbLjmTJmjNWPUcAo+E/ibHn7QlqMS0BOcXJFJyHQ==", + "version": "6.1.58", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tldts/-/tldts-6.1.58.tgz", + "integrity": "sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.57" + "tldts-core": "^6.1.58" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.57", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tldts-core/-/tldts-core-6.1.57.tgz", - "integrity": "sha512-lXnRhuQpx3zU9EONF9F7HfcRLvN1uRYUBIiKL+C/gehC/77XTU+Jye6ui86GA3rU6FjlJ0triD1Tkjt2F/2lEg==", + "version": "6.1.58", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tldts-core/-/tldts-core-6.1.58.tgz", + "integrity": "sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==", "dev": true, "license": "MIT" }, @@ -32721,9 +31859,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "1.4.0", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ts-api-utils/-/ts-api-utils-1.4.0.tgz", + "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", "license": "MIT", "engines": { "node": ">=16" @@ -33027,9 +32165,9 @@ } }, "node_modules/tslib": { - "version": "2.8.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tsscmp": { @@ -33756,70 +32894,6 @@ } } }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { "version": "0.21.5", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", @@ -33836,294 +32910,6 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/vite/node_modules/esbuild": { "version": "0.21.5", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/esbuild/-/esbuild-0.21.5.tgz", @@ -34591,18 +33377,18 @@ } }, "node_modules/webpack": { - "version": "5.95.0", - "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "version": "5.96.1", + "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", diff --git a/alfa-client/package.json b/alfa-client/package.json index b73e4360607a5574783ccd3c8749c75d20cbac43..6a98a1180219badf6a8222049186f41cc0688429 100644 --- a/alfa-client/package.json +++ b/alfa-client/package.json @@ -7,6 +7,7 @@ "start:admin": "nx run admin:serve --port 4301 --disable-host-check", "start:demo": "nx run demo:serve --port 4500 --disable-host-check", "start:debug": "nx run alfa:serve --port 4300 --disable-host-check --verbose", + "start:info": "nx run info:serve --port 4600 --disable-host-check", "start-for-screenreader": "nx run alfa:serve --host 192.168.178.20 --port 4300 --disable-host-check --verbose", "start:devbe": "nx run alfa:serve --port 4300 --disable-host-check --proxy-config proxy.dev.conf.json --verbose", "build": "nx run alfa:build", @@ -121,6 +122,7 @@ "@swc-node/register": "~1.9.1", "@swc/core": "~1.5.7", "@swc/helpers": "~0.5.11", + "@tailwindcss/typography": "^0.5.15", "@testing-library/jest-dom": "^6.4.5", "@types/file-saver": "2.0.7", "@types/jest": "29.5.13", @@ -153,6 +155,7 @@ "ng-packagr": "18.2.1", "nx": "19.8.8", "prettier": "^3.2.5", + "prettier-plugin-groovy": "^0.2.1", "prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-tailwindcss": "^0.6.8", "sonarqube-scanner": "^4.2.5",