From 75c4f4ee23e5f9d753a9fe19323652d9e36a591d Mon Sep 17 00:00:00 2001 From: Urs Keller Date: Fri, 21 Nov 2025 15:38:34 +0100 Subject: [PATCH 1/3] LSPAY-34879: helios theme --- .github/workflows/chromatic-label.yml | 2 + .github/workflows/chromatic.yml | 2 + .github/workflows/publish-lerna.yml | 6 +- .github/workflows/publish-mainline.yml | 6 +- .github/workflows/test.yml | 2 + .npmrc | 3 +- .storybook/addons/theme-switcher/register.js | 12 ++ .yarnrc.yml | 5 + lerna.json | 2 +- packages/flame/package.json | 1 + packages/flame/scripts/build-themes.ts | 5 + .../__snapshots__/Checkbox.test.tsx.snap | 14 +- packages/flame/src/Core/index.tsx | 4 + .../Radio/__snapshots__/Radio.test.tsx.snap | 8 +- packages/flame/src/Toaster/Toaster.tsx | 7 +- packages/flame/themes/helios/colors.ts | 90 ++++++++ .../flame/themes/helios/components/alert.ts | 69 ++++++ .../flame/themes/helios/components/badge.ts | 74 +++++++ .../flame/themes/helios/components/bone.ts | 10 + .../flame/themes/helios/components/button.ts | 196 ++++++++++++++++++ .../flame/themes/helios/components/card.ts | 29 +++ .../themes/helios/components/checkbox.ts | 37 ++++ .../flame/themes/helios/components/divider.ts | 10 + .../flame/themes/helios/components/group.ts | 11 + .../flame/themes/helios/components/input.ts | 88 ++++++++ .../flame/themes/helios/components/logo.ts | 46 ++++ .../flame/themes/helios/components/modal.ts | 23 ++ .../flame/themes/helios/components/nps.ts | 9 + .../flame/themes/helios/components/popover.ts | 16 ++ .../themes/helios/components/progress.ts | 26 +++ .../flame/themes/helios/components/radio.ts | 26 +++ .../flame/themes/helios/components/select.ts | 15 ++ .../flame/themes/helios/components/sidebar.ts | 37 ++++ .../flame/themes/helios/components/switch.ts | 32 +++ .../flame/themes/helios/components/table.ts | 44 ++++ .../flame/themes/helios/components/tag.ts | 38 ++++ .../flame/themes/helios/components/text.ts | 11 + .../flame/themes/helios/components/toaster.ts | 53 +++++ .../flame/themes/helios/components/tooltip.ts | 19 ++ .../themes/helios/components/wordmark.ts | 13 ++ packages/flame/themes/helios/index.ts | 67 ++++++ packages/flame/themes/helios/shadows.ts | 6 + yarn.lock | 5 + 43 files changed, 1157 insertions(+), 22 deletions(-) create mode 100644 packages/flame/themes/helios/colors.ts create mode 100644 packages/flame/themes/helios/components/alert.ts create mode 100644 packages/flame/themes/helios/components/badge.ts create mode 100644 packages/flame/themes/helios/components/bone.ts create mode 100644 packages/flame/themes/helios/components/button.ts create mode 100644 packages/flame/themes/helios/components/card.ts create mode 100644 packages/flame/themes/helios/components/checkbox.ts create mode 100644 packages/flame/themes/helios/components/divider.ts create mode 100644 packages/flame/themes/helios/components/group.ts create mode 100644 packages/flame/themes/helios/components/input.ts create mode 100644 packages/flame/themes/helios/components/logo.ts create mode 100644 packages/flame/themes/helios/components/modal.ts create mode 100644 packages/flame/themes/helios/components/nps.ts create mode 100644 packages/flame/themes/helios/components/popover.ts create mode 100644 packages/flame/themes/helios/components/progress.ts create mode 100644 packages/flame/themes/helios/components/radio.ts create mode 100644 packages/flame/themes/helios/components/select.ts create mode 100644 packages/flame/themes/helios/components/sidebar.ts create mode 100644 packages/flame/themes/helios/components/switch.ts create mode 100644 packages/flame/themes/helios/components/table.ts create mode 100644 packages/flame/themes/helios/components/tag.ts create mode 100644 packages/flame/themes/helios/components/text.ts create mode 100644 packages/flame/themes/helios/components/toaster.ts create mode 100644 packages/flame/themes/helios/components/tooltip.ts create mode 100644 packages/flame/themes/helios/components/wordmark.ts create mode 100644 packages/flame/themes/helios/index.ts create mode 100644 packages/flame/themes/helios/shadows.ts diff --git a/.github/workflows/chromatic-label.yml b/.github/workflows/chromatic-label.yml index b6e00c88..48d6ad24 100644 --- a/.github/workflows/chromatic-label.yml +++ b/.github/workflows/chromatic-label.yml @@ -6,6 +6,8 @@ jobs: name: Run visual regression tests with chromatic (label triggered) if: ${{ contains(github.event.pull_request.labels.*.name, 'snapshot') }} runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index d869756c..86b0ca53 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -10,6 +10,8 @@ jobs: snapshot: name: Run visual regression tests with chromatic runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/publish-lerna.yml b/.github/workflows/publish-lerna.yml index 5d635e5e..d39118c0 100644 --- a/.github/workflows/publish-lerna.yml +++ b/.github/workflows/publish-lerna.yml @@ -9,6 +9,8 @@ jobs: publish: name: Publish runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v1 - name: Dump GitHub context @@ -22,7 +24,7 @@ jobs: uses: actions/setup-node@v2 with: node-version: "${{ steps.nvm.outputs.nvmrc }}" - registry-url: https://registry.npmjs.org/ + registry-url: https://npm.pkg.github.com - uses: actions/cache@v4 with: path: ~/.cache/yarn @@ -35,5 +37,3 @@ jobs: run: yarn bootstrap - name: Publish run: yarn lerna:publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} diff --git a/.github/workflows/publish-mainline.yml b/.github/workflows/publish-mainline.yml index cee8c913..307600ed 100644 --- a/.github/workflows/publish-mainline.yml +++ b/.github/workflows/publish-mainline.yml @@ -9,6 +9,8 @@ jobs: publish: name: Publish runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v1 - name: Dump GitHub context @@ -22,7 +24,7 @@ jobs: uses: actions/setup-node@v2 with: node-version: "${{ steps.nvm.outputs.nvmrc }}" - registry-url: https://registry.npmjs.org/ + registry-url: https://npm.pkg.github.com - uses: actions/cache@v4 with: path: ~/.cache/yarn @@ -37,5 +39,3 @@ jobs: run: | cd packages/flame node ./scripts/check-changed.js && yarn build && yarn build:docgen && npm publish ./dist --quiet || exit 0 - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0ff6d655..b08d0033 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,6 +10,8 @@ jobs: build: name: Test, lint, typecheck runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@master - name: Read .nvmrc diff --git a/.npmrc b/.npmrc index 6f73a690..4589833c 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,4 @@ init-author-name=Lightspeed init-author-url=https://lightspeedhq.com -registry=https://registry.npmjs.org/ +@lightspeed:registry=https://npm.pkg.github.com +//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN} diff --git a/.storybook/addons/theme-switcher/register.js b/.storybook/addons/theme-switcher/register.js index c5e4dc27..21c42238 100644 --- a/.storybook/addons/theme-switcher/register.js +++ b/.storybook/addons/theme-switcher/register.js @@ -44,6 +44,18 @@ const ThemeSwitcher = () => { /> Lightspeed (Old theme) +
+ ); diff --git a/.yarnrc.yml b/.yarnrc.yml index 3186f3f0..ca218b88 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1 +1,6 @@ nodeLinker: node-modules + +npmScopes: + lightspeed: + npmAuthToken: '${GITHUB_TOKEN}' + npmRegistryServer: 'https://npm.pkg.github.com' diff --git a/lerna.json b/lerna.json index c304ff32..806a6172 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,7 @@ "version": "independent", "command": { "publish": { - "allowBranch": ["master", "next", "LSPAY-33449"], + "allowBranch": ["master", "next", "LSPAY-34879"], "ignoreChanges": [ "**/story.js", "**/story.tsx", diff --git a/packages/flame/package.json b/packages/flame/package.json index c7e8a236..30a7d8b6 100644 --- a/packages/flame/package.json +++ b/packages/flame/package.json @@ -37,6 +37,7 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "dependencies": { + "@lightspeed/unified-tokens": "^3.3.0", "@popperjs/core": "^2.11.8", "@styled-system/css": "^5.1.5", "@styled-system/theme-get": "5.0.16", diff --git a/packages/flame/scripts/build-themes.ts b/packages/flame/scripts/build-themes.ts index b1473358..f3d327a3 100644 --- a/packages/flame/scripts/build-themes.ts +++ b/packages/flame/scripts/build-themes.ts @@ -1,6 +1,7 @@ import { theme as flameTheme, themeUI as flameThemeUI } from '../themes/flame'; import { theme as oldSkoolTheme } from '../themes/oldskool'; import { theme as darkTheme } from '../themes/dark'; +import { theme as heliosTheme } from '../themes/helios'; // @ts-ignore const fs = require('fs'); @@ -97,6 +98,10 @@ const themeList: ThemeList = [ filename: 'dark', themeObject: darkTheme, }, + { + filename: 'helios', + themeObject: heliosTheme, + }, ]; // @ts-ignore diff --git a/packages/flame/src/Checkbox/__snapshots__/Checkbox.test.tsx.snap b/packages/flame/src/Checkbox/__snapshots__/Checkbox.test.tsx.snap index 26bb7b7d..5580351e 100644 --- a/packages/flame/src/Checkbox/__snapshots__/Checkbox.test.tsx.snap +++ b/packages/flame/src/Checkbox/__snapshots__/Checkbox.test.tsx.snap @@ -2,7 +2,7 @@ exports[` Snapshots when all props and label/description with html should render correctly 1`] = `