Skip to content

feat!: rename all elements to pf-v5-* prefix#3088

Merged
zeroedin merged 9 commits intostaging/pfe5from
rename/all-elements
Apr 28, 2026
Merged

feat!: rename all elements to pf-v5-* prefix#3088
zeroedin merged 9 commits intostaging/pfe5from
rename/all-elements

Conversation

@bennypowers
Copy link
Copy Markdown
Member

Summary

Rename all 35 elements and their sub-components from pf-* to pf-v5-*:

  • Element tags: <pf-button> becomes <pf-v5-button>
  • CSS custom properties: --pf-c-button--* becomes --pf-v5-c-button--*
  • Class names: PfButton becomes PfV5Button
  • Global tokens (--pf-global--*) are unchanged

Elements renamed

pf-accordion, pf-alert, pf-avatar, pf-back-to-top, pf-background-image,
pf-badge, pf-banner, pf-button, pf-card, pf-chip, pf-clipboard-copy,
pf-code-block, pf-dropdown, pf-helper-text, pf-hint, pf-icon,
pf-jump-links, pf-label, pf-label-group, pf-modal, pf-panel, pf-popover,
pf-progress, pf-progress-stepper, pf-search-input, pf-select, pf-spinner,
pf-switch, pf-table, pf-tabs, pf-text-area, pf-text-input, pf-tile,
pf-timestamp, pf-tooltip

Closes #3052, #3053, #3054, #3055, #3056, #3057, #3058, #3059,
#3060, #3061, #3062, #3063, #3064, #3065, #3066, #3067,
#3068, #3069, #3070, #3071, #3072, #3073, #3074, #3075,
#3076, #3077, #3078, #3079, #3080, #3081, #3082, #3083,
#3084, #3085, #3086

Test plan

  • Verify all element tags are registered with pf-v5-* names
  • Verify CSS custom properties use --pf-v5-c-* prefix
  • Verify global tokens (--pf-global--*) are unchanged
  • Verify sub-components (e.g. pf-v5-accordion-header) are properly renamed

Rename all 35 elements and their sub-components from pf-* to pf-v5-*.
CSS custom properties renamed from --pf-c-* to --pf-v5-c-*.
Global tokens (--pf-global--*) are unchanged.

Closes #3052, closes #3053, closes #3054, closes #3055,
closes #3056, closes #3057, closes #3058, closes #3059,
closes #3060, closes #3061, closes #3062, closes #3063,
closes #3064, closes #3065, closes #3066, closes #3067,
closes #3068, closes #3069, closes #3070, closes #3071,
closes #3072, closes #3073, closes #3074, closes #3075,
closes #3076, closes #3077, closes #3078, closes #3079,
closes #3080, closes #3081, closes #3082, closes #3083,
closes #3084, closes #3085, closes #3086

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 15, 2026

🦋 Changeset detected

Latest commit: fe3f83c

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

This PR includes changesets to release 1 package
Name Type
@patternfly/elements 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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

✅ Commitlint tests passed!

More Info
{
  "valid": true,
  "errors": [],
  "warnings": [],
  "input": "feat!: rename all elements to pf-v5-* prefix"
}

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

Deploy Preview for patternfly-elements ready!

Name Link
🔨 Latest commit 0f35470
😎 Deploy Preview https://deploy-preview-3088--patternfly-elements.netlify.app/

To edit notification comments on pull requests, go to your Netlify site settings.

@github-actions github-actions Bot added the AT passed Automated testing has passed label Apr 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

SSR Test Run for f0dd3b2: Report

Update all docs site references to use the new pf-v5-* element names,
including HTML tags, CSS selectors, import paths, and code examples.

Blog posts and changelogs left unchanged as historical records.
PF4 core CSS tokens (--pf-c-content/title/text) left unchanged as
they reference the PF CSS framework, not pf-elements components.

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

SSR Test Run for f624b6f: Report

- Update main.mjs to import PfV5Icon from renamed path
- Update pfe-assets.cjs regex and JSDoc for pf-v5-* paths
- Pass prefix option to PfeAssetsPlugin in eleventy config
- Replace broken generateImportMap shortcodes with static import
  maps (jspm.io can't resolve unpublished pf-v5-* paths)
- Fix pre-existing TS build errors: use Router.Middleware instead
  of non-existent RouterMiddleware export, remove stale
  @ts-expect-error directive
- Fix pre-existing slug function call using deprecated
  eleventyConfig.javascript.functions API

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bennypowers bennypowers requested a review from zeroedin April 23, 2026 14:57
- Use koa Middleware type instead of Router.Middleware namespace
  (namespace not available with Node moduleResolution)
- Use @ts-ignore instead of @ts-expect-error for colorjs.io import
  (error occurs on CI but not locally due to moduleResolution)

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Apply pf-v5-* rename rules to all incoming changes from main:
- label: link variant, hover borders, icon colors, link.html demo
- switch: accessible-label property and tests
- popover: outsideClick guard for hidden popovers
- table: columnheader role fix, toggle button a11y
- tabs: passive scroll event listeners
- jump-links: landmark label with part attribute
- select: replace rh-color tokens with pf-global tokens
- back-to-top: hover/focus background color, pf-button selectors
- core: SlotController fix

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
`@sindresorhus/slugify` v2 is ESM-only. Node 22 `require()` of ESM
returns the module namespace object, not the default export, causing
`TypeError: slugify is not a function` in the eleventy `ids` transform.

Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

SSR Test Run for f6408c7: Report

- README: update test path examples to pf-v5-* element dirs
- elements/package.json: remove orphaned pf-jazz-hands export entry
- eslint.config.js: fix pf-icon ignore path to pf-v5-icon
- bundle.ts: update pf-icon export to pf-v5-icon
- dev server index.html template: update pf-button/pf-icon/pf-card tags
  and imports to pf-v5-* equivalents
- docs/_snippets: update accordion-jsx and card-html import paths
- vue.md: fix CodeSandbox search hint to @patternfly/elements

Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

SSR Test Run for 3d37ef4: Report

@github-actions
Copy link
Copy Markdown
Contributor

SSR Test Run for 0f35470: Report

Copy link
Copy Markdown
Collaborator

@zeroedin zeroedin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good to go, going to merge it then open another branch on staging/pfe5 that fixes the remaining tools/docs issues due to this change.

@zeroedin zeroedin merged commit e7ba695 into staging/pfe5 Apr 28, 2026
12 checks passed
@zeroedin zeroedin deleted the rename/all-elements branch April 28, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AT passed Automated testing has passed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants