diff --git a/.github/workflows/auto-file-generator.yml b/.github/workflows/auto-file-generator.yml deleted file mode 100644 index 7551a882e6..0000000000 --- a/.github/workflows/auto-file-generator.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Auto file generator - -on: - schedule: - - cron: '0 2 * * *' - workflow_dispatch: - -jobs: - update: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - persist-credentials: false - ref: 'develop' - - # - uses: pnpm/action-setup@v4 - # with: - # run_install: false - # version: 8 - # - uses: actions/setup-node@v4 - # with: - # cache: pnpm - # node-version: 20 - - # https://github.com/pnpm/action-setup#use-cache-to-reduce-installation-time - - name: Install Node.js - uses: actions/setup-node@v4 - with: - # cache: pnpm - node-version: 20 - - uses: pnpm/action-setup@v4 - name: Install pnpm - id: pnpm-install - with: - version: 9 - run_install: false - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store # -${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store - - - name: Create new branch - run: git checkout -b chore/auto-file-gen - - name: Install dependencies - run: pnpm i - - name: Build all packages - run: npm run pack - - name: Commit changed files - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add . - git status - git commit -m "chore: auto file generate" - - - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: 'chore/auto-file-gen' - force: true diff --git a/.github/workflows/dod-checker.yml b/.github/workflows/dod-checker.yml index 2a8f4df88c..73b9975eff 100644 --- a/.github/workflows/dod-checker.yml +++ b/.github/workflows/dod-checker.yml @@ -4,7 +4,7 @@ on: types: [opened, edited, synchronize] concurrency: - group: pr-{{ github.event.pull_request.number }} + group: 'pr-${{ github.event.pull_request.number }}' cancel-in-progress: true jobs: diff --git a/lerna.json b/lerna.json index 7ee5508747..c2a0ecbeaf 100644 --- a/lerna.json +++ b/lerna.json @@ -19,5 +19,5 @@ "packages/tools/visual-tests" ], "useNx": true, - "version": "3.0.0-rc.2" + "version": "3.0.0-rc.3" } diff --git a/packages/adapters/angular/v15/package.json b/packages/adapters/angular/v15/package.json index 1b71aa9cd3..2174509522 100644 --- a/packages/adapters/angular/v15/package.json +++ b/packages/adapters/angular/v15/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/angular-v15", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -54,8 +54,7 @@ "build:tsc": "tsc -p .", "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map", "build:umd": "tsc -m umd --outDir umd", - "build": "npm run build:clean && npm run build:ngc", - "prepack": "npm run build" + "build": "npm run build:clean && npm run build:ngc" }, "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/adapters/angular/v16/package.json b/packages/adapters/angular/v16/package.json index 3ef57b9646..9550b10b6f 100644 --- a/packages/adapters/angular/v16/package.json +++ b/packages/adapters/angular/v16/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/angular-v16", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -54,8 +54,7 @@ "build:tsc": "tsc -p .", "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map", "build:umd": "tsc -m umd --outDir umd", - "build": "npm run build:clean && npm run build:ngc", - "prepack": "npm run build" + "build": "npm run build:clean && npm run build:ngc" }, "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/adapters/angular/v17/package.json b/packages/adapters/angular/v17/package.json index 7522653472..7ec919fddd 100644 --- a/packages/adapters/angular/v17/package.json +++ b/packages/adapters/angular/v17/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/angular-v17", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -54,8 +54,7 @@ "build:tsc": "tsc -p .", "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map", "build:umd": "tsc -m umd --outDir umd", - "build": "npm run build:clean && npm run build:ngc", - "prepack": "npm run build" + "build": "npm run build:clean && npm run build:ngc" }, "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/adapters/angular/v18/package.json b/packages/adapters/angular/v18/package.json index 1a7cce75cc..e9b435b7fe 100644 --- a/packages/adapters/angular/v18/package.json +++ b/packages/adapters/angular/v18/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/angular-v18", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -54,8 +54,7 @@ "build:tsc": "tsc -p .", "build:types": "tsc -d --outDir types && rimraf types/*.js types/*.map types/**/*.js types/**/*.map", "build:umd": "tsc -m umd --outDir umd", - "build": "npm run build:clean && npm run build:ngc", - "prepack": "npm run build" + "build": "npm run build:clean && npm run build:ngc" }, "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/adapters/hydrate/package.json b/packages/adapters/hydrate/package.json index 2dac3c4cb8..2fa5ce847d 100644 --- a/packages/adapters/hydrate/package.json +++ b/packages/adapters/hydrate/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/hydrate", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "hydrate" ], "scripts": { - "build": "rimraf dist/package.json", - "prepack": "npm run build" + "build": "rimraf dist/package.json" }, "devDependencies": { "@public-ui/components": "workspace:*", diff --git a/packages/adapters/preact/package.json b/packages/adapters/preact/package.json index 2a418f9a17..3d65bf23c7 100644 --- a/packages/adapters/preact/package.json +++ b/packages/adapters/preact/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/preact", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "preact" ], "scripts": { - "build": "unbuild", - "prepack": "unbuild" + "build": "unbuild" }, "dependencies": { "@public-ui/react": "workspace:*" diff --git a/packages/adapters/react-standalone/package.json b/packages/adapters/react-standalone/package.json index 49567921f2..39e107a6e2 100644 --- a/packages/adapters/react-standalone/package.json +++ b/packages/adapters/react-standalone/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/react-standalone", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "react" ], "scripts": { - "build": "webpack", - "prepack": "pnpm build" + "build": "webpack" }, "devDependencies": { "@public-ui/react": "workspace:*", diff --git a/packages/adapters/react/package.json b/packages/adapters/react/package.json index 03e1450b0d..4b0b702887 100644 --- a/packages/adapters/react/package.json +++ b/packages/adapters/react/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/react", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "react" ], "scripts": { - "build": "unbuild", - "prepack": "unbuild" + "build": "unbuild" }, "devDependencies": { "@public-ui/components": "workspace:*", diff --git a/packages/adapters/solid/package.json b/packages/adapters/solid/package.json index ca7828476d..d59a9f094f 100644 --- a/packages/adapters/solid/package.json +++ b/packages/adapters/solid/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/solid", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "solidjs" ], "scripts": { - "build": "unbuild", - "prepack": "unbuild" + "build": "unbuild" }, "devDependencies": { "@public-ui/components": "workspace:*", diff --git a/packages/adapters/vue/package.json b/packages/adapters/vue/package.json index e20234677f..e13c26f48c 100644 --- a/packages/adapters/vue/package.json +++ b/packages/adapters/vue/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/vue", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { @@ -45,8 +45,7 @@ "vue" ], "scripts": { - "build": "unbuild", - "prepack": "unbuild" + "build": "unbuild" }, "devDependencies": { "@babel/types": "7.26.7", diff --git a/packages/components/package.json b/packages/components/package.json index 218a3b813b..6cf96a9b56 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@public-ui/components", - "version": "3.0.0-rc.2", + "version": "3.0.0-rc.3", "license": "EUPL-1.2", "homepage": "https://public-ui.github.io", "repository": { diff --git a/packages/components/src/components/form/shadow.tsx b/packages/components/src/components/form/shadow.tsx index 7fd3738861..b749b47956 100644 --- a/packages/components/src/components/form/shadow.tsx +++ b/packages/components/src/components/form/shadow.tsx @@ -1,12 +1,12 @@ import type { JSX } from '@stencil/core'; +import { Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core'; import { validateErrorList, watchBoolean, watchString } from '../../schema'; -import { Component, Element, h, Host, Prop, State, Watch, Method } from '@stencil/core'; import { translate } from '../../i18n'; -import type { ErrorListPropType, FormAPI, FormStates, KoliBriFormCallbacks, Stringified } from '../../schema'; import { KolLinkWcTag } from '../../core/component-names'; import KolAlertFc from '../../functional-components/Alert'; +import type { ErrorListPropType, FormAPI, FormStates, KoliBriFormCallbacks, Stringified } from '../../schema'; import { dispatchDomEvent, KolEvent } from '../../utils/events'; /** @@ -21,7 +21,8 @@ import { dispatchDomEvent, KolEvent } from '../../utils/events'; }) export class KolForm implements FormAPI { @Element() private readonly host?: HTMLKolTextareaElement; - errorListElement?: HTMLElement; + errorListBlock?: HTMLElement; + errorListFirstLink?: HTMLElement; /* Hint: This method may not be used at all while events are handled in form/controller#propagateSubmitEventToForm */ private readonly onSubmit = (event: Event) => { @@ -45,33 +46,39 @@ export class KolForm implements FormAPI { } }; - private readonly handleLinkClick = (event: Event) => { - const href = (event.target as HTMLAnchorElement | undefined)?.href; - if (href) { - const hrefUrl = new URL(href); - - const targetElement = document.querySelector(hrefUrl.hash); - if (targetElement && typeof targetElement.focus === 'function') { - targetElement.scrollIntoView({ behavior: 'smooth' }); - targetElement.focus(); - } + private readonly handleLinkClick = (selector: string) => { + const targetElement = document.querySelector(selector); + if (targetElement && typeof targetElement.focus === 'function') { + targetElement.scrollIntoView({ behavior: 'smooth' }); + targetElement.focus(); } }; private renderErrorList(errorList?: ErrorListPropType[]): JSX.Element { return ( - + { + this.errorListBlock = el; + }} + type="error" + variant="card" + label={translate('kol-error-list-message')} + >