Skip to content

Commit 73b2389

Browse files
feat!: patternfly elements v5 (#3113)
* feat!: rename all elements to pf-v5-* prefix 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> * feat!: remove bundled entrypoint (pfe.min.js) (#3089) * feat!: remove bundled entrypoint (pfe.min.js) The bundled entrypoint causes custom element double-registration issues and is not the recommended way to consume the library. Closes #3087 Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove bundle references from docs plugin Remove the bundle() call and pfe.min.* passthrough copies from the Eleventy docs plugin, since the bundled entrypoint was removed. Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove trailing blank line in pfe-assets plugin Fixes padded-blocks lint error. Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: update element references from pf-* to pf-v5-* 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> * fix(docs): fix docs build after pf-v5-* rename - 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> * feat!: remove deprecated APIs (#3090) - Remove CascadeController and @Cascades decorator (use @lit/context) - Remove SlotController.anonymous (use SlotController.default) - Remove pf-popover closeButtonLabel / close-label attribute (use accessible-close-label) pfeCustomElementsManifestConfig was already removed from the codebase. Closes #2975, closes #2974, closes #2973, closes #2972 Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(tools): fix TS build errors on CI - 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> * fix(docs): handle ESM default export from slugify v2 `@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> * chore: clean up remaining pf-* references after rename - 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> * fix: tools and docs for pf-v5 prefix/ elements rename compatibility (#3114) * docs: rename doc files to match pf-v5 element names * chore: update tagPrefix in config * fix: use unbundled element modules for docs site * refactor(tools): use pfe config for tag aliasing in DocsPage * chore(tools): add changeset * chore: correct npm run docs to include the elements build * fix: copy element screenshots to docs site * fix: copy demo assets to docs site * fix: strip v5 prefix from docs titles, replace jspm with mappa (#3115) * fix: strip v5 prefix from docs titles, replace @jspm/generator with @pwrs/mappa Strip the tag prefix (pf-v5-) from element display names in the docs site sidebar, page titles, and demo headings so they show "Accordion" instead of "V5 Accordion". Replace @jspm/generator with @pwrs/mappa for import map generation in both the 11ty docs build and the dev server plugin. This fixes the "Unable to resolve npm:lit@3.3.2" build error and simplifies the import map infrastructure. Also adds v5 to the docs version dropdown and marks it as current. Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove stale @jspm/generator patch file Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: lint errors in create-import-map and package.json sort order Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: operator-linebreak style in create-import-map Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Benny Powers <web@bennypowers.com> Co-authored-by: Benny Powers <bennypowers@users.noreply.github.com>
1 parent 3a64fd3 commit 73b2389

1,014 files changed

Lines changed: 31634 additions & 32697 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
"@patternfly/elements": major
3+
---
4+
5+
Removed the bundled entrypoint (`pfe.min.js`). Import individual
6+
elements directly instead, e.g. `import '@patternfly/elements/pf-button/pf-button.js'`.
7+
8+
The bundled entrypoint caused custom element double-registration issues
9+
and is not recommended for production use.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
"@patternfly/pfe-core": major
3+
"@patternfly/elements": major
4+
---
5+
6+
Removed deprecated APIs:
7+
8+
- **`CascadeController`** and **`@cascades`** decorator are removed.
9+
Use [`@lit/context`](https://lit.dev/docs/data/context/) instead for
10+
sharing data between parent and child elements.
11+
- **`SlotController.anonymous`** is removed. Use `SlotController.default` instead.
12+
- **`pf-popover`**: the `close-label` attribute and `closeButtonLabel` property
13+
are removed. Use `accessible-close-label` instead.

.changeset/rename-all-elements.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"@patternfly/elements": major
3+
---
4+
5+
All elements are now versioned with a `pf-v5-` prefix.
6+
7+
This is a breaking change. Update your HTML to use the new element names,
8+
e.g. `<pf-button>` becomes `<pf-v5-button>`, `<pf-accordion>` becomes
9+
`<pf-v5-accordion>`, etc.
10+
11+
CSS custom properties are also renamed from `--pf-c-*` to `--pf-v5-c-*`.
12+
Global tokens (`--pf-global--*`) are unchanged.

.changeset/wacky-jobs-lead.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@patternfly/pfe-tools": patch
3+
---
4+
5+
Corrected usage of config for tagPrefix in `DocsPage` for alias
6+

.pfe.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"renderTitleInOverview": false
2+
"renderTitleInOverview": false,
3+
"tagPrefix": "pf-v5"
34
}

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ npm start
6363
npm run test:watch
6464

6565
# Run a single test in watch mode.
66-
npm run test:watch -- --files elements/pf-accordion/test/pf-accordion.spec.ts
66+
npm run test:watch -- --files elements/pf-v5-accordion/test/pf-v5-accordion.spec.ts
6767

6868
# Or multiple:
69-
npm run test:watch -- --files 'elements/pf-{select,card}/test/*.spec.ts'
69+
npm run test:watch -- --files 'elements/pf-v5-{select,card}/test/*.spec.ts'
7070

7171
# Run all tests excluding react and vue tests.
7272
npm run test:watch

core/pfe-core/controllers/cascade-controller.ts

Lines changed: 0 additions & 169 deletions
This file was deleted.

core/pfe-core/controllers/slot-controller-server.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import {
77
export class SlotController implements SlotControllerPublicAPI {
88
public static default = Symbol('default slot') satisfies symbol as symbol;
99

10-
/** @deprecated use `default` */
11-
public static anonymous: symbol = this.default;
1210

1311
static attribute = 'ssr-hint-has-slotted' as const;
1412

core/pfe-core/controllers/slot-controller.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,6 @@ class SlotRecord {
130130
export class SlotController implements SlotControllerPublicAPI {
131131
public static default = Symbol('default slot') satisfies symbol as symbol;
132132

133-
/** @deprecated use `default` */
134-
public static anonymous: symbol = this.default;
135133

136134
#slotRecords = new Map<string | typeof SlotController.default, SlotRecord>();
137135

core/pfe-core/decorators.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export * from './decorators/bound.js';
2-
export * from './decorators/cascades.js';
32
export * from './decorators/deprecation.js';
43
export * from './decorators/initializer.js';
54
export * from './decorators/listen.js';

0 commit comments

Comments
 (0)