Skip to content

🚀 release -> v20#1856

Closed
hirsch88 wants to merge 25 commits into
mainfrom
release/v20
Closed

🚀 release -> v20#1856
hirsch88 wants to merge 25 commits into
mainfrom
release/v20

Conversation

@hirsch88
Copy link
Copy Markdown
Member

@hirsch88 hirsch88 commented Nov 11, 2025

  • One angular lib instead of 3
  • improved stencil compiler
  • clean up smaller libs
  • update nx libs
  • resolve npm audit
  • move a11y tests to play
  • source maps issues
  • angular v21 upgrade
  • esm modules
  • style dictionary upgrade
  • tsconfig alignment

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Nov 11, 2025

🦋 Changeset detected

Latest commit: 7e36b90

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 7 packages
Name Type
@baloise/ds-core Major
docs Patch
@baloise/ds-assets Major
@baloise/ds-css Major
@baloise/ds-playwright Major
@baloise/ds-tokens Major
@baloise/ds-eslint-plugin Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented Nov 11, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
design-system Ready Ready Preview, Comment May 13, 2026 8:05pm
design-system-core Ready Ready Preview, Comment May 13, 2026 8:05pm

Request Review

@hirsch88 hirsch88 changed the title Release/v20 🚀 release -> v20 Nov 11, 2025
@hirsch88 hirsch88 self-assigned this Nov 11, 2025
@hirsch88 hirsch88 added the 💥 breaking change Changes of the public interface, which could break projects. label Nov 11, 2025
* chore(angular): remove module package

* chore: fix directive

* chore: add changeset

* chore: update docs

* chore: update deps for angular and remove unused
* chore: react deps

* chore: remove jest

* chore: fix lodash

* chore: clean up small libs
* chore: update stencil

* chore: fix npm audit issues

* chore: fix e2e deps

* chore: fix e2e tests 2

* chore: update play to fix audit

* chore: update play to fix audit

* chore: generate new images

* update snapshots

* chore: revert ci

* chore: fix font mocking and generate new image

* update snapshots

* chore: activate ci

* chore: activate ci

---------

Co-authored-by: hirsch88 <hirsch88@users.noreply.github.com>
* chore: remove cypress a11y tests

* chore: remove axe form cypress

* chore: prepare play for a11y

* chore: prepare play

* chore: remove a11y files

* chore: disable source maps and create a11y tests

* chore: revert tscondig changes

* chore: add component.json

* chore: add component.json

* chore: add component.json

* chore: remove a11y test

* chore: improve visual tests to wait for images
* chore: update packages to esm

* chore: generate screenshots

* update snapshots

* chore: active ci again

* chore: update ci

* update snapshots

* chore: update visual test

---------

Co-authored-by: hirsch88 <hirsch88@users.noreply.github.com>
hirsch88 and others added 3 commits January 20, 2026 13:28
* feat(heading): adopt to shadow dom

* chore: adjust line-height

* chore: set line-height due a11y test

* chore: generate new base images

* update snapshots

* chore: migrate more components to the new styles

* chore: solve breaking changes

* chore: update docs, improve stack & buttons

* d

* chore: migrate close, tag and card

* chore: remove nav component

* chore: fix spell issue

* chore: fix build

* chore: fix visual heading and label

* chore: fix padding issue card

* chore: fix visual tests

* chore: fix visual tests

* chore: fix visual tests

* chore: fix visual tests

* chore: fix visual tests

* chore: fix visuals

* chore: use one shard

* chore: improve visuals for shadow dom

* chore: build artifacts

* chore: fix visual label, card

* chore: fix visual and improve expect for visuals

* chore: fix button-group height

* chore: adjust visual issues

* chore: create base images

* update snapshots

* chore: change ci

* chore: fix test

* chore: fix cypress

* chore: fix angular cypress test

* chore: fix angular cypress

* chore: fix react cypress test

* chore: fix cypress component test

* chore: fix button with form events for shadow dom

* chore: fix style issue with mount

* chore: fix a11y badge

* chore: update docs

* chore: fix lint issue

---------

Co-authored-by: hirsch88 <hirsch88@users.noreply.github.com>
* chore: adjust vars for atoms

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

* chore: update visuals

* chore: update visuals

* chore: update visuals

* update snapshots

* chore: add missing visual test

* update snapshots

* chore: update docs

* update snapshots

* chore: migrate link

* update snapshots

* chore: migrate stack

* update snapshots

* chore: migrate divider

* update snapshots

* chore: migrate badge

* update snapshots

* chore: migrate tag

* update snapshots

* chore: migrate button

* update snapshots

* chore: migrate notification

* update snapshots

* chore: migrate toast and snackbar

* update snapshots

* chore: migrate ul,ol,dl

* update snapshots

* chore: migrate button group

* chore: migrate card to website use-cases

* update snapshots

* chore: migrate card

* update snapshots

* chore: migrate accordion

* chore: migrate list

* chore: migrate list

* update snapshots

* docs: add design tokens skill spec

* docs: add naming guide and figma integration notes to token skill spec

* docs: add design-tokens skill implementation plan

* chore: add claude context

* chore: migrate list

* update snapshots

* chore: migrate list

* update snapshots

* chore: add po for the components

* update snapshots

* chore: fix ci build

* chore: fix ci build

* update snapshots

* chore: fix ci build

* update snapshots

* chore: fix ci build

* update snapshots

* chore: remove false test

* docs: add spec for removing bal- prefix from component files and namespaces

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add implementation plan for removing bal- prefix from component files and namespaces

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: rename bal- prefixed folders and files to drop bal- prefix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: rename missed bal-doc-app and fix rename script outer loop

The rename script outer loop was checking entry.startsWith('bal-') before recursing into subdirectories, which missed the docs/ directory containing bal-doc-app. Fixed by always recursing into subdirectories and letting renameDir() handle the rename logic.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: update all content references to remove bal- prefix

* refactor: fix content update script to handle ./bal- paths and all @use patterns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: fix @listen event strings and FormInput interface property names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: merge BalProps/BalEvents into DS namespace and strip Bal prefix from type names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: replace BalProps.*/BalEvents.* with DS.* in component source files and docs

* refactor: replace BalProps/BalEvents namespace declarations with DS in interfaces.d.ts

* refactor: fix remaining bal- prefix references found during build verification

Restore BalDate class name in date.ts (was incorrectly renamed to Date by the
refactoring script, causing a name conflict with the global Date constructor).
Fix stale BalDate references in date.spec.ts import and test body.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: reset visuals

* chore: rename internal bal to ds

* chore: ignore .worktrees directory

* refactor: rename Stencil tag declarations from bal- to ds-

* refactor: rename bal- element tags in TSX render trees to ds-

* refactor: rename HTMLBal* element types to HTMLDs*

Replace all HTMLBal* TypeScript type references with HTMLDs* to align with
the tag rename from bal- to ds-. These types are auto-generated by Stencil
from component tag names and will regenerate correctly after the tag rename.

Changes:
- packages/core/src/components/**/*.tsx: HTMLBal → HTMLDs
- packages/core/src/components/**/*.interfaces.ts: HTMLBal → HTMLDs
- packages/core/src/components/alert/alert.controller.ts: HTMLBal → HTMLDs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: rename bal- strings in createElement/querySelector/closest calls

Update DOM API calls to use ds- prefix for custom element tag names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: rename tag list entries from bal- to ds-

* refactor: rename bal- element selectors in SCSS to ds-

* refactor: rename bal- element tags in test HTML fixtures to ds-

* refactor: rename bal- locator strings in Playwright play and spec files

* refactor: fix remaining bal- references in HTML style/script blocks

- close.visual.html: .my-theme bal-close → .my-theme ds-close
- text.visual.html: bal-text.my-theme → ds-text.my-theme
- icon.visual.html: querySelectorAll('bal-icon[tile]') → querySelectorAll('ds-icon[tile]')

* refactor: rename bal- locators in Playwright PO package and mount helper

* refactor: rename bal- element references in Storybook stories

* refactor: rename bal- element references in Storybook MDX and code-sandbox docs

* refactor: update changeset executor to strip ds- prefix instead of bal-

* refactor: fix remaining bal- references found during final verification

- Fix alert-container.tsx dynamic JSX tag strings ('bal-toast'/'bal-snackbar' → 'ds-toast'/'ds-snackbar')
- Fix button.tsx hasAttribute check ('bal-popup' → 'ds-popup') to match updated docs usage
- Fix data-testid values in text.tsx and tag.tsx ('bal-text'/'bal-tag-close' → 'ds-text'/'ds-tag-close')
- Fix toCssVarName() in build-styles utils.ts to remap bal- token name prefix to ds- in CSS var output (fixes 7 failing unit tests)
- Update all docs MDX files (guides, foundation, contributing) to use ds- component names in code examples

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: update plans

* docs: update playwright PO skill plan/spec for ds- prefix and unprefixed file paths

* chore: clean up

* chore: format files

* update snapshots

* chore: clean up

* chore: add logger to all components

* fix: correct onKeydown type to KeyboardEvent in InputMaskFormatterInterface

* feat: implement VehicleRegistrationNumber mask formatter

* refactor: inline vehicle registration number format logic into mask class

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: wire mask formatter into ds-input onKeydown and render

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: remove unused getMaskAllowedKeys and correct value type in render

* feat: add OfferNumber, ContractNumber, BasicContractNumber mask formatters

* feat: add ClaimNumber mask formatter

* feat: add BeEnterpriseNumber and BeIBAN mask formatters

* refactor: register all mask formatters, delete input-util.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: migrate input

* docs: add textarea migration design spec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add textarea migration implementation plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: scaffold textarea directory for ds migration

* feat: add ds-textarea interfaces (DS namespace)

* feat: migrate bal-textarea to ds-textarea with shadow DOM and FormControl

* feat: add textarea SCSS files (mixin, host, style)

* chore: remove old bal-textarea component

* feat: add DsTextarea page object

* test: add ds-textarea component interaction tests

* test: add ds-textarea accessibility tests

* feat: add ds-textarea visual HTML fixtures and visual regression tests

Add textarea.visual.html (web component variants), textarea.style.html (CSS-only variants), and textarea.visual.play.ts (Playwright visual tests) with coverage for basic, disabled, invalid, valid, warning, rows, and long-content states.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add ds-textarea Storybook stories

* feat: add ds-textarea Storybook MDX documentation

* docs: add number-input migration design spec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: fix number-input spec (event types, SCSS placeholders)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add number-input migration implementation plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: scaffold number-input directory for ds migration

* feat: add ds-number-input interfaces (DS namespace)

* feat: add number-input utils (renamed from bal-number-input)

* feat: migrate bal-number-input to ds-number-input with shadow DOM and partial FormControl

* feat: add number-input.host.scss and number-input.style.scss

- number-input.host.scss: Shadow DOM styles using input mixins
- number-input.style.scss: CSS-only hybrid mode styles with .field selector

Both files implement:
  - CSS variable setup (4-layer cascade)
  - Danger, success, and warning state variants
  - Disabled state handling
  - Container, label, and description styling

* chore: remove old bal-number-input, verify ds-number-input build

* feat: add DsNumberInput page object

* test: add ds-number-input component interaction tests

* test: add ds-number-input accessibility tests

* feat: add number-input visual and style HTML fixtures

* test: add ds-number-input visual regression tests

* feat: add ds-number-input Storybook stories

* feat: add ds-number-input Storybook MDX documentation

* chore: migrate number-input

* chore: rewrite checkbox, radio

* chore: add docs and test for radio, checkbox and toggle

* chore: add more ai docs

* chore: lint components

* chore: migrate segment

* chore: migrate segment

* chore: add a11y docs

* chore: fix a11y in docs

* chore: rename expanded to wide

* chore: migrate progress bar

* chore: migrate utils and pagination

* chore: adjust import to use aliases

* chore: add prop validation

* chore: migrate interfaces

* chore: migrate enum validators

* chore: improve docs

* chore: improve docs

* chore: update docs

* chore: format

* chore: update docs

* chore: update docs

* chore: update docs

* chore: update docs

* chore: add links

* chore: fix some smaller ux issues

* chore: fix spelling mistakes

* chore: ci fixe

* chore: fix tests

* chore: docs improvments

* chore: fix visuals

* update snapshots

* chore: lint validators

* update snapshots

* feat(tokens): rename primitive tier to global in transformer

* feat(tokens): update core components to use global primitive token names

* feat(tokens): update styles package to use global primitive token names

* docs: update primitive token name references to global prefix

* chore: improve tokens

* update snapshots

* docs: add ESLint v8→v10 flat config migration design spec

* chore(deps): upgrade eslint 10, typescript-eslint v8, add jiti

* feat(eslint-plugin): update to flat config format with meta field

* feat(eslint): add flat config base (replaces .eslintrc.base.json)

* feat(eslint): add root flat config (replaces .eslintrc.json)

* feat(eslint): add flat configs for output-target-angular, output-target-web, eslint-plugin

* feat(eslint): add flat config for libs/nx

* feat(eslint): add flat configs for playwright, docs, and core

* chore(eslint): remove legacy .eslintrc.json files

* fix(eslint): resolve lint errors after flat config migration

* chore: fix npm dep audits

* chore: fix build

* chore: update scss generation

* chore: add multi brand

* chore(css): add sass devDependency for SCSS compilation

* chore(css): migrate DS mixins into packages/css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(css): migrate normalize and structure SCSS

* chore(css): migrate core styles (grid, container, form, table, picture)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(core): move core styles to CSS-only components in packages/core

Grid, container, table, picture, form, and has-sticky-footer are now
CSS-only components under packages/core/src/components, following the
link component pattern. The incorrectly placed packages/css/src/scss/core
directory is removed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: add uno-css

* chore: prepare turborepo

* chore: fix lint, test, docs and play

* chore: update deps

* chore: update docs

* chore: fix spell and format files

* chore: fix ci

* chore: update ci to turbo

* chore: update ci to turbo

* chore: update ci to turbo

* chore: update ci to turbo

* chore: ci

* chore: update ci

* chore:  update ci

* chore: fix ci build

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci 2

* docs: add security audit design spec for CRA compliance

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add security audit implementation plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: update ci 3

* chore: update ci 4

* chore: update ci 5

* chore: update ci 6

* chore: update ci 7

* update snapshots

* chore: update ci 8

* update snapshots

* chore: update ci 9

* chore: update ci 10

* chore: update ci 11

* chore: update ci 12

* chore: update ci 13

* chore: update ci 14

* chore: finish first update

---------

Co-authored-by: hirsch88 <hirsch88@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💥 breaking change Changes of the public interface, which could break projects.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant