Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1160a5a
Release Tracking (#3664)
primer[bot] Sep 3, 2025
3c515ff
Bump actions/github-script from 7 to 8 (#3674)
dependabot[bot] Sep 8, 2025
f685e91
Bump rubocop-performance from 1.25.0 to 1.26.0 (#3667)
dependabot[bot] Sep 8, 2025
65a3f3f
Bump actions/labeler from 5 to 6 (#3673)
dependabot[bot] Sep 8, 2025
28cdf4c
Bump rubocop from 1.80.0 to 1.80.2 in the development-dependencies gr…
dependabot[bot] Sep 8, 2025
00715ea
Bump actions/setup-node from 4 to 5 (#3675)
dependabot[bot] Sep 8, 2025
60c3069
Bump the production-dependencies group across 1 directory with 2 upda…
dependabot[bot] Sep 8, 2025
5c67907
Bump the production-dependencies group across 1 directory with 2 upda…
dependabot[bot] Sep 8, 2025
330fe3e
Bump actions/stale from 9 to 10 (#3672)
dependabot[bot] Sep 11, 2025
67166f5
Bump vite from 7.1.3 to 7.1.5 in /demo in the all-demo group (#3665)
dependabot[bot] Sep 11, 2025
9c76592
Bump the development-dependencies group across 1 directory with 3 upd…
dependabot[bot] Sep 15, 2025
7ab8b06
Bump puma from 6.6.1 to 7.0.3 (#3683)
dependabot[bot] Sep 17, 2025
db729fb
Implement forced colors for progress bar (#3686)
langermank Sep 19, 2025
6734331
Primer Alpha::ToggleSwitch custom status label support (#3659)
bsatarnejad Sep 22, 2025
856d790
Generating static files
primer-css Sep 22, 2025
2da25b2
Bump postcss-preset-env from 10.2.4 to 10.4.0 (#3689)
dependabot[bot] Sep 22, 2025
263b185
Fix tooltip in `AvatarStack` (#3676)
TylerJDev Sep 22, 2025
b0acdff
Replace State draft colors with new draft token (#3692)
lukasoppermann Sep 24, 2025
edb200b
Bump puma from 7.0.3 to 7.0.4 in the production-dependencies group (#…
dependabot[bot] Sep 29, 2025
f1ea686
Bump actions/cache from 4.2.4 to 4.3.0 (#3709)
dependabot[bot] Sep 29, 2025
3ffae63
Bump @primer/behaviors from 1.8.2 to 1.8.3 in the production-dependen…
dependabot[bot] Sep 29, 2025
99a5709
Bump @primer/primitives from 11.1.0 to 11.2.0 in /demo (#3710)
dependabot[bot] Sep 29, 2025
55b8bd6
Bump octicons from 19.16.0 to 19.18.0 (#3682)
dependabot[bot] Sep 29, 2025
c132e30
Bump rexml from 3.4.1 to 3.4.2 (#3685)
dependabot[bot] Sep 29, 2025
7c72ee7
Prevent event propagation when in `SelectPanel` (#3700)
TylerJDev Oct 1, 2025
ac45681
Update FlashMigrationCounter guidance to reference un-deprecated comp…
tomthorogood Oct 1, 2025
7889c78
primer/alpha/tooltip: Fix typos in the description of the component (…
issyl0 Oct 1, 2025
232cc69
Generating static files
primer-css Oct 1, 2025
2acee0e
Bump turbo-rails from 2.0.16 to 2.0.17 in /demo in the all-demo group…
dependabot[bot] Oct 6, 2025
7cae01e
Bump typescript from 5.8.3 to 5.9.3 (#3717)
dependabot[bot] Oct 6, 2025
6fedc4b
Bump octicons from 19.15.5 to 19.18.0 in /demo (#3681)
dependabot[bot] Oct 6, 2025
a06f4d2
Bump rubocop-rails from 2.32.0 to 2.33.4 (#3702)
dependabot[bot] Oct 6, 2025
901f563
Bump eslint from 9.31.0 to 9.37.0 (#3715)
dependabot[bot] Oct 6, 2025
84374ed
Release workflow updates (#3720)
jonrohan Oct 6, 2025
3c4bedb
Update Dialog large heading size (#3719)
langermank Oct 6, 2025
e545103
Add box-shadow back to the AvatarStack avatars (#3723)
jonrohan Oct 7, 2025
cfb6ef0
Merge branch 'bump/primer-upstream-ref' into bump/primer-upstream
HDinger Oct 9, 2025
ba9256a
Revert "Update Dialog large heading size (#3719)"
HDinger Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/blue-phones-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@openproject/primer-view-components': minor
---

Utilize modern `Tooltip` component for `AvatarStack`
5 changes: 5 additions & 0 deletions .changeset/every-suns-fold.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@openproject/primer-view-components': patch
---

Replacing color tokens for StateLabel draft with new draft tokens
5 changes: 5 additions & 0 deletions .changeset/proud-baths-brake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@openproject/primer-view-components': minor
---

SelectPanel: Prevents `keydown` events from escaping the SelectPanel when within the items.
5 changes: 5 additions & 0 deletions .changeset/spotty-birds-cough.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@openproject/primer-view-components": patch
---

Add custom label support for ToggleSwitch on/off states
5 changes: 5 additions & 0 deletions .changeset/warm-bottles-smell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@openproject/primer-view-components": patch
---

Add box-shadow back to the AvatarStack avatars
5 changes: 5 additions & 0 deletions .changeset/wet-pugs-divide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@openproject/primer-view-components": patch
---

Implement forced colors for progress bar
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
with:
languages: javascript

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/demo-production-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
with:
ruby-version: '3.3'
bundler-cache: true
- uses: actions/cache@v4.2.4
- uses: actions/cache@v4.3.0
with:
path: demo/gemfiles/vendor/bundle
key: gems-build-kuby-main-ruby-3.3.x-${{ hashFiles('demo/gemfiles/kuby.gemfile.lock') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
CODE_OF_CONDUCT.md
- uses: xt0rted/markdownlint-problem-matcher@v3
if: steps.changed-files.outputs.any_changed == 'true'
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
if: steps.changed-files.outputs.any_changed == 'true'
with:
cache: 'npm'
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
with:
files: |
app/components/**/*.ts
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
if: steps.changed-files.outputs.any_changed == 'true'
with:
cache: 'npm'
Expand All @@ -104,7 +104,7 @@ jobs:
files: |
app/components/**/*.pcss
lib/postcss_mixins/*.pcss
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
if: steps.changed-files.outputs.any_changed == 'true'
with:
cache: 'npm'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
with:
ruby-version: '3.3'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand All @@ -26,7 +26,7 @@ jobs:
chmod 0600 $HOME/.gem/credentials
env:
RUBYGEMS_TOKEN: ${{ secrets.RUBYGEMS_TOKEN_SHARED }}
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
- name: Create .npmrc
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-checklist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- name: Get or Create Comment
if: success() && steps.findPr.outputs.number
uses: actions/github-script@v7
uses: actions/github-script@v8
env:
PR_NUMBER: ${{ steps.findPr.outputs.pr }}
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
persist-credentials: false

- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
release-canary:
name: npm
if: ${{ github.repository == 'opf/primer_view_components' }}
uses: primer/.github/.github/workflows/release_canary.yml@v2.2.0
uses: primer/.github/.github/workflows/release_canary.yml@v2.2.1
with:
install: npm i
secrets:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
release-candidate:
name: npm
if: ${{ github.repository == 'opf/primer_view_components' }}
uses: primer/.github/.github/workflows/release_candidate.yml@v2.2.0
uses: primer/.github/.github/workflows/release_candidate.yml@v2.2.1
secrets:
gh_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_AUTH_TOKEN_SHARED }}
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
if: ${{ github.repository == 'primer/view_components' }}
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:

# General settings
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
with:
ruby-version: '3.3'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
with:
ruby-version: '3.4'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
cache-version: ${{ matrix.rails_version }}-${{ matrix.ruby_version }}
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
cache-version: ${{ matrix.rails_version }}-${{ matrix.ruby_version }}
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down Expand Up @@ -185,7 +185,7 @@ jobs:
with:
ruby-version: '3.2'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand All @@ -208,7 +208,7 @@ jobs:
with:
ruby-version: '3.2'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down Expand Up @@ -237,7 +237,7 @@ jobs:
with:
ruby-version: '3.2'
bundler-cache: true
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down Expand Up @@ -317,7 +317,7 @@ jobs:
ruby-version: '3.2'
bundler-cache: true
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 20
cache: 'npm'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
if: github.event_name == 'pull_request' && github.event.action != 'labeled' && github.event.action != 'unlabeled'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
sync-labels: true
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Expand All @@ -53,7 +53,7 @@ jobs:
name: semver label
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v8
id: version-result
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
Expand All @@ -65,7 +65,7 @@ jobs:
if (match && match[0]) {
return match[0][1]
}
- uses: actions/github-script@v7
- uses: actions/github-script@v8
env:
RELEASE: ${{ steps.version-result.outputs.result }}
with:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ end
# rubocop:enable Bundler/DuplicatedGem

# Use Puma as the app server
gem "puma", "~> 6.6.1"
gem "puma", "~> 7.0.4"

# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", ">= 1.4.2", require: false

gem "lookbook", "~> 2.3.12"
gem "lookbook", "~> 2.3.13"
if ENV["VIEW_COMPONENT_PATH"]
gem "view_component", path: ENV["VIEW_COMPONENT_PATH"]
else
gem "view_component", "4.0.1"
gem "view_component", "4.0.2"
end

gem "kramdown", "~> 2.5"
Expand Down
30 changes: 15 additions & 15 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ GEM
erubi (~> 1.4)
parser (>= 2.4)
smart_properties
bigdecimal (3.2.2)
bigdecimal (3.2.3)
bootsnap (1.18.6)
msgpack (~> 1.2)
builder (3.3.0)
Expand All @@ -70,7 +70,7 @@ GEM
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
connection_pool (2.5.4)
crack (1.0.0)
bigdecimal
rexml
Expand Down Expand Up @@ -115,7 +115,7 @@ GEM
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.13.2)
json (2.15.0)
kramdown (2.5.1)
rexml (>= 3.3.9)
language_server-protocol (3.17.0.5)
Expand All @@ -127,7 +127,7 @@ GEM
loofah (2.24.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lookbook (2.3.12)
lookbook (2.3.13)
activemodel
css_parser
htmlbeautifier (~> 1.3)
Expand Down Expand Up @@ -167,10 +167,10 @@ GEM
date
stringio
public_suffix (6.0.2)
puma (6.6.1)
puma (7.0.4)
nio4r (~> 2.0)
racc (1.8.1)
rack (3.1.16)
rack (3.2.1)
rack-cors (3.0.0)
logger
rack (>= 3.0.14)
Expand Down Expand Up @@ -210,7 +210,7 @@ GEM
regexp_parser (2.11.3)
reline (0.6.2)
io-console (~> 0.5)
rexml (3.4.1)
rexml (3.4.2)
rouge (4.6.0)
rubocop (1.80.2)
json (~> 2.3)
Expand All @@ -223,18 +223,18 @@ GEM
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.46.0)
rubocop-ast (1.47.1)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-github (0.26.0)
rubocop (>= 1.76)
rubocop-performance (>= 1.24)
rubocop-rails (>= 2.23)
rubocop-performance (1.25.0)
rubocop-performance (1.26.0)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-rails (2.32.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-rails (2.33.4)
activesupport (>= 4.2.0)
lint_roller (~> 1.1)
rack (>= 1.1)
Expand Down Expand Up @@ -284,7 +284,7 @@ GEM
unicode-emoji (4.1.0)
uri (1.0.3)
useragent (0.16.11)
view_component (4.0.1)
view_component (4.0.2)
activesupport (>= 7.1.0, < 8.1)
concurrent-ruby (~> 1)
vite_rails (3.0.19)
Expand Down Expand Up @@ -330,11 +330,11 @@ DEPENDENCIES
erblint-github (~> 1.0.1)
kramdown (~> 2.5)
listen (~> 3.9)
lookbook (~> 2.3.12)
lookbook (~> 2.3.13)
matrix (~> 0.4.3)
mocha
openproject-primer_view_components!
puma (~> 6.6.1)
puma (~> 7.0.4)
rack-cors
railties (= 8.0.2)
rake (~> 13.3)
Expand All @@ -351,7 +351,7 @@ DEPENDENCIES
sprockets-rails
thor
timecop
view_component (= 4.0.1)
view_component (= 4.0.2)
vite_rails (~> 3.0)
webmock
yard (~> 0.9.37)
Expand Down
12 changes: 12 additions & 0 deletions app/components/primer/alpha/select_panel_element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,18 @@ export class SelectPanelElement extends HTMLElement {
return
}

if (
event.type === 'keydown' &&
event instanceof KeyboardEvent &&
(event.target as Element).closest(visibleMenuItemSelectors)
) {
const hasModifier = event.ctrlKey || event.altKey || event.metaKey
const isAlphabetKey = event.key.length === 1 && /[a-z\d]/i.test(event.key)

// eslint-disable-next-line no-restricted-syntax
if (!hasModifier && isAlphabetKey) event.stopPropagation()
}

if (event.target === this.dialog && event.type === 'close') {
// Remove data-ready so it can be set the next time the panel is opened
this.dialog.removeAttribute('data-ready')
Expand Down
Loading
Loading