diff --git a/.github/workflows/publish-featurefix-prerelease.yml b/.github/workflows/publish-featurefix-prerelease.yml index 5a4ef21a9..00fd26a70 100644 --- a/.github/workflows/publish-featurefix-prerelease.yml +++ b/.github/workflows/publish-featurefix-prerelease.yml @@ -8,6 +8,7 @@ on: - "fix/*" - "bugfix/*" - "hotfix/*" + - "change/*" inputs: confirmation: description: "Create feature tag and publish package" @@ -28,7 +29,7 @@ jobs: uses: tj-actions/branch-names@v8 - name: Allow only for feature/fix branches run: | - if [[ ! ${{ steps.branch-name.outputs.current_branch }} =~ ^(feature|fix|bugfix|hotfix)\/ ]] ; + if [[ ! ${{ steps.branch-name.outputs.current_branch }} =~ ^(feature|fix|bugfix|hotfix|change)\/ ]] ; then echo "Only allowed to get triggered on feature and fix branches!" echo "You started it on '${{ steps.branch-name.outputs.current_branch }}'." diff --git a/.github/workflows/push-tagged-release.yml b/.github/workflows/push-tagged-release.yml index dace7bba3..8ab76f4e2 100644 --- a/.github/workflows/push-tagged-release.yml +++ b/.github/workflows/push-tagged-release.yml @@ -37,7 +37,6 @@ jobs: - uses: actions/setup-node@main with: node-version: "lts/krypton" - registry-url: "https://registry.npmjs.org" - name: Set name vars id: info-vars run: | @@ -68,6 +67,11 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} projectToken: ${{ secrets.chromaticToken }} exitZeroOnChanges: true + - uses: actions/setup-node@main + with: + node-version: "lts/krypton" + registry-url: "https://registry.npmjs.org" + package-manager-cache: false - name: Publish npm package run: yarn publish --access public env: diff --git a/.gitignore b/.gitignore index 28be384d9..ba70b2d04 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,6 @@ launch.json storybook-static //jest .jest-test-results.json + +# ignore Typescript assets +*.tsbuildinfo diff --git a/.storybook/main.js b/.storybook/main.js index fb5986c91..cbf56f51e 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -1,19 +1,20 @@ const sass = require("sass"); const path = require("path"); const sassRenderSyncConfig = require("./../scripts/sassConfig"); +const { silenceDeprecations } = require("../scripts/sassDeprecationConfig"); module.exports = { stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"], addons: [ "@storybook/addon-links", - "@storybook/addon-essentials", - "@storybook/addon-jest", + "@storybook/addon-docs", + "@storybook/addon-a11y", { name: "@storybook/preset-scss", options: { sassLoaderOptions: { implementation: sass, - sassOptions: sassRenderSyncConfig, + sassOptions: {...sassRenderSyncConfig, silenceDeprecations}, }, }, }, @@ -98,7 +99,4 @@ module.exports = { }; return config; }, - docs: { - autodocs: true, - }, }; diff --git a/.storybook/preview.js b/.storybook/preview.js index fd350e4b1..be7d5ee23 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -1,32 +1,11 @@ -import { withTests } from "@storybook/addon-jest"; - import "./styles.scss"; -const getJestResults = () => { - try { - return require("../.jest-test-results.json"); - } catch (err) { - return {}; - } -}; - -const jestResults = getJestResults(); - -export const decorators = [ - withTests({ - results: jestResults, - }), -]; - export const parameters = { options: { storySort: { order: ["Configuration", "Components", "Forms", "Extensions", "CMEM", "*"], }, }, - actions: { - argTypesRegex: "^on[A-Z].*", - }, controls: { matchers: { color: /(background|color)$/i, @@ -34,3 +13,12 @@ export const parameters = { }, }, }; + +const preview = { + // Enables auto-generated documentation for all stories + // @see https://storybook.js.org/docs/writing-docs/autodocs + tags: ['autodocs'], + parameters, +}; + +export default preview; diff --git a/.typescript/tsbuild-esm.json b/.typescript/tsbuild-esm.json index fe99631ff..dbd3b7dad 100644 --- a/.typescript/tsbuild-esm.json +++ b/.typescript/tsbuild-esm.json @@ -1,7 +1,16 @@ { "extends": "./../tsconfig.json", "compilerOptions": { - "lib": ["dom", "dom.iterable", "es2015", "es2020", "es2021", "es2022.intl", "es2015.collection", "es2015.iterable"], + "lib": [ + "dom", + "dom.iterable", + "es2015", + "es2020", + "es2021", + "es2022.intl", + "es2015.collection", + "es2015.iterable" + ], "module": "es2015", "target": "es5", "noEmit": false, diff --git a/CHANGELOG.md b/CHANGELOG.md index 06cba5167..d33de5917 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,117 +6,200 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ## [Unreleased] +This is a major release, and it might not be compatible with your current usage of our library. Please read about the necessary changes in the migration section below. + +### Migration from v25 to v26 + +- remove deprecated components, properties and imports from your project; if the info cannot be found here, it was already mentioned in the **Deprecated** sections of past changelogs +- apply changes mentioned in the **Changed** subsection + +### Added + +- `` + - simple placeholder element that can be used to display info about missing data +- `` + - `forceInline` property: force inline rendering +- `` + - `togglerSize`: replaces the deprecated `togglerLarge` property +- `` + - `searchListPredicate` property: allows filtering of the complete list of search options at once + - the following optional BlueprintJS properties are now forwarded to override default behaviour: `noResults`, `createNewItemRenderer` and `itemRenderer` + - `isValidNewOption` property: checks if an input string is or can be turned into a valid new option +- `ActivityControlWidget` + - Support `badge` on activity control menu button. +- new icons: + - `module-marketplace` + - `artefact-ruleblock` + +### Fixed + +- `` + - borders of the BlueprintJS `Tag` elements were fixed +- `extendedTooltip` of a handle in the ReactFlow (v12) component does not show the tooltip. +- `` + - `readOnly` appearance uses same borders like read-only text fields and it does not display a blinking cursor +- `