Skip to content

Commit

Permalink
chore: release 4.0 (#2734)
Browse files Browse the repository at this point in the history
* fix(avatar)!: remove BaseAvatar (#2630)

* fix(avatar)!: remove BaseAvatar

Closes #2617
Closes #2575
Closes #2349

* fix(avatar): update css

* fix(avatar)!: rename AvatarLoadEvent => PfAvatarLoadEvent

* fix(clipboard-copy)!: remove BaseClipboardCopy (#2635)

* fix(clipboard-copy)!: remove BaseClipboardCopy

Closes #2611

* fix(clipboard-copy): use pfv4 styles

* fix(clipboard-copy)!: rename ClipboardCopyCopiedEvent to PfClipboardCopyCopiedEvent

* fix(switch)!: remove BaseSwitch (#2634)

* fix(switch)!: remove BaseSwitch

Closes #2618

* fix(switch): remove extra semicolon

* Merge branch 'staging/4.0' into fix/switch/remove-base

* fix(switch): svg namespace

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(code-block)!: remove BaseCodeBlock (#2633)

Closes #2613

Co-authored-by: Steven Spriggs <[email protected]>

* fix(label)!: remove BaseLabel (#2632)

* fix(label)!: remove BaseLabel

Closes #2620

* feat(label): self-remove on close

* test(label): update tests

* fix(label): correct font-size unit, include missing pf global var

* docs(label): fix accesibility demo

* fix(label): removes the removal of element and only triggers close event

* fix(label): undo last commit, see the example in the changeset

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(badge)!: remove BaseBadge (#2629)

Closes #2619

* fix(spinner)!: remove BaseSpinner (#2627)

Closes #2614

Co-authored-by: Steven Spriggs <[email protected]>

* fix(tile)!: remove BaseTile (#2625)

Co-authored-by: Steven Spriggs <[email protected]>

* fix(tooltip)!: remove BaseTooltip (#2628)

Closes #2615

Co-authored-by: Steven Spriggs <[email protected]>

* feat(card)!: remove BaseCard (#2586)

* fix(card): moving styles and code from baseclass

* chore: changset

* feat(card): removing basecard class, styles

* fix(card): remove unused basecard import

* Update .changeset/sharp-spiders-float.md

Co-authored-by: Benny Powers <[email protected]>

* docs: make changeset major

* fix(card): make slot controller private

* feat(card): title slot, header actions

---------

Co-authored-by: Benny Powers <[email protected]>
Co-authored-by: Benny Powers <[email protected]>

* fix(button)!: remove BaseButton (#2631)

* fix(tabs)!: remove BaseTabs (#2745)

closes #2624

* fix(button): keyboard focus

* fix(switch): revert bad merge from BaseSwitch

* fix(icon)!: remove svg files (#2763)

* fix(icon)!: remove BaseIcon (#2636)

* fix(icon)!: remove BaseIcon

Closes #2621

* docs: jsdoc

* fix(icon): base styles

* docs: addIconSet jsdoc

Co-authored-by: Steven Spriggs <[email protected]>

* docs: jsdoc for getIconUrl

Co-authored-by: Steven Spriggs <[email protected]>

* style: lint

* fix: remove baseicon from bad merge

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(accordion)!: remove BaseAccordion (#2764)

* fix(accordion)!: remove BaseAccordion

Closes #2612

fix(accordion): expand logic

refactor(accordion): prevent circular imports

* feat(tools): querySnapshot test helper

* test(accordion): fix some tests

* fix(accordion): single attribute

* feat(tools): ts transform to add static version to elements (#2768)

* fix(icon)!: remove getIconUrl for webpack's sake (#2766)

* fix(icon)!: remove getIconUrl for webpack's sake

* test(icon): refactor tests

* chore: update icons

* docs(icon): fix custom sets demo

* chore: update rhds dep

* feat!: ssr (#2762)

* fix(core)!: remove side effects from core import

Removes `window.PfeConfig` and auto-reveal features
Adds server checks to `createContextWithRoot`

* feat(tools): ssr test page

* test(accordion): ssr tests

* test(avatar): ssr tests

* test(back-to-top): ssr

* test(background-image): ssr

* test(badge): ssr

* test(banner): ssr

* test(button): ssr

* test(card): ssr

* test(chip): ssr

* test(clipboard-copy): ssr

* test(code-block): ssr

* test(dropdown): ssr

* test(icon): ssr

* test(jump-links): ssr

* test(label): ssr

* test(modal): ssr

* test(panel): ssr

* test(popover): ssr

* test(progress): ssr

* test(progress-stepper): ssr

* test(select): ssr

* test(spinner): ssr

* test(switch): ssr

* test(table): ssr

* test(tabs): ssr

* test(text-area): ssr

* test(text-area): ssr

* test(tile): ssr

* test(timestamp): ssr

* test(tooltip): ssr

* feat(create-element): ssr tests

* feat(tools): automatic ssr demos

* fix(tools): shim module

* docs: changesets

* test: remove cruft

* fix(tools): ssr error reports

* test: playwright config for ssr

* chore: ssr test workflow

* fix(tools): ssr error status message

* chore: ssr test workflow

* chore: ssr test workflow

* chore: ignore reports

* fix(accordion): ssrability

* fix(back-to-top): ssrability

* docs: jsdoc for ssr tests

* chore: test workflow in ci

* fix(core): fix Logger for ssr

* style: whitespace

* chore: better elements build

* fix(core): more ssr-able controllers

* test(back-to-top): ssrable demos

* fix(tools): redirects for demos in dev server

* fix(tools): ssr files

* test(background-image): ssrable demos

* fix(tools): 11ty demo images

* fix(core): floating dom controller more ssrable

* feat(tools): export ssr helpers

* fix(code-block): ssrable

* fix(jump-links): ssrable

* fix(core): ssrable ScrollSpyController

* fix(progress-stepper): ssrable

* fix(popover): ssrable

* fix(core): ssrable lbc

* fix(icon): ssr

* fix(select): ssrable

* fix(table): ssrable

* fix(text-area): ssrable

* fix(text-input): ssrable

* fix(tooltip): ssrable

* chore: pr reports

* fix(tools): update playwright

* chore: ssr workflow

* chore: ssr workflow

* chore: actions versions

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* fix: remove BaseAccordion from bad merge

* chore: remove references to Base*

* fix(core): ariaDescribedByElements, etc types

* chore: lint

massive lint. no more warnings

* chore: update typescript

enable `isolatedDeclarations`, which makes our dx a bit worse but
improves downstream performance

* chore: appease cupertino

* chore: pkg lock

* refactor(core): clarify the guts of InternalsController

* docs(button): demo of custom roles

* docs(button): a wee bit of style

* chore: typescript 5.5 (#2801)

* chore: lint

massive lint. no more warnings

* chore: update typescript

enable `isolatedDeclarations`, which makes our dx a bit worse but
improves downstream performance

* chore: appease cupertino

* chore: pkg lock

* fix(tools): less chatty tests

* chore: deps

* chore: lint

* test: lint

* chore: update playwright in ci

* fix(tools): dev server config watcher regexp

* perf(tools): dev server uses mtime for etag

* feat(core): new decorators `@listen` and  `@observes` (#2807)

* feat(core): add `@listen` decorator

* feat(core): add `@observes` decorator

* refactor: use new listen and observes decorators

* fix(core): listen decorator call lifecycle correctly

* test(core): observes decorator test

* feat(core): observes decorator options

waitFor option lets caller wait for connected, firstUpdated, or updated
until calling the method

* fix: observes calls

* fix(core): improved types

* fix(core): even better types

* test(core): listen decorator

* feat(select): typeahead (#2809)

* fix(select): display value from attribute

* feat(select): typeahead

adds `ActivedescendantController` to core

* fix: wip activedescendantcontroller clone nodes

* fix(select): slightly less janky clonenode path

* refactor: iterative improvements

* fix(core)!: a11y controller options

* fix: elements usage of a11y controllers

* fix!: abstract ATFocusController

* fix!: inching towards correctness

* fix: give listbox controller access to control element

* fix: inching closer

* fix(core): index at focus item by number

* fix(select): typeahead, focus, filter

* fix(select): roles

* fix(select): combobox controller

* fix(select): combobox controller

works with orca ff, apparently

* fix(core): combobox

* fix(select): better vo support

* fix(select): activedescentant

* fix(select): dropdown orientation

* fix(core): listbox select

* fix: select, core jsdoc, cleanup

* fix(core): a more general combobox interface

* fix(core): more nitpicks

* fix(core): oopsies

forgot to commit these yesterday

* refactor(select): polish

* fix(tabs): update to use new rtic stuff

* fix(core): initial focus for rti

* fix(accordion): wip rtic migration

* test(accordion): update tests

* refactor(accordion): whitespace

* docs(accordion): focusable content in panel

* docs(accordion): demo formatting

* test(accordion): fix and refactor tests

* fix(core): off-by-one error in RTIC controller

* fix(core): nested rtic

* feat(tools): chai a11y snapshot assertions

* fix(core): more ssr-able controllers

* fix(core): more ssr-able controllers

* fix(core): more ssr-able controllers

* fix(icon): more ssr-able icon

* fix(core): remove unused ax controller apis

* test(core): observes decorator

* fix(chip): rtic apis, tests

* feat(tools): a11yShapshot queries can match regex

* chore: import maps in tests

* refactor(select): type assertion

* feat(tools): more ax assertions

* fix(core): listbox/combobox selection state

* fix(select): no placeholder label

* fix(select): checkboxes

* fix(core): listbox select behaviour

* feat(tools): more ax chai helpers

* docs(select): checkbox demo padding

* test(select): all green

* test: reporter in ci

* fix(tools): always junit reporter in ci

* chore: test runner config

* fix(tools): test runner config

* fix(tools): flatten assertions in ci

* test(select): summaries

* chore: update deps

* test: refactor ax helpers

* test(select): reformat test file

* test(select): taborder when bluring listbox

* test(select): format test file

* test(select): home/end should expand listbox

* test(select): show+home after selecting

* test(select): no scroll on space

* docs(select): demo containers

* fix(core): aria-multiselectable

* test(select): format test file

* fix(select): redundant button role

* fix: visually-hidden styles

* test(select): provisional home/end typeahead

* test(select): aria-posinset

* fix(core): listbox aria-posinset

* test(select): format file

* test(select): dont expand listbox on type space

* test(select): space on button no scroll

* fix(core): combobox prevent scroll

Also prevent listbox from showing on typing space in combobox input

* test(select): tabbing away does not focus button

* fix(core): combobox dont focus button on blur

* refactor(core): combobox listeners

* fix(core): home/end for combobox

* test(select): format file

* fix(select): ghost placeholder

* test(select): refactor

* test(select): cases involving labels and placeholders

* fix(core): placeholder/label/carat

* fix(select): focus styles

* fix(select): fallback label to placeholder

* fix(select): workaround for safari

* test(select): cases

* fix(select): inert instead of aria-hidden

* fix(core): safari workaround for activedescendant

* fix(core): wip single-vs-multiselect on click

* fix(core): multiselect click

* fix(select): checkbox label

* test(select): refactor tests

* feat(tools): test utils: allow clicking out of element bounds

* test(select): clicking items

* fix(core): clicking shadow ad items

* test(select): more better selected tests

* fix(core): clicking shadow items

* fix(core): more x-root aria shenanigans

* test(select): add lightdom options slotted test

* refactor(core): unused var

* test(core): test shadow-root-only combobox-controller

* test(core): combobox works even with no user-set ids

* fix(core): propertly detect rotten apples

* refactor(core): rename support boolean

* fix(core): ad controller works without preset ids

* fix(core): default isItemDisabled predicate

* test: try to deflake

* test(select): greg's issues when an item is selected

* refactor(core): controller field privacy

* fix(core): correct order of operations in combobox listeners

* refactor(core): override onKeydown

* fix(core): ensure compatibility in combobox controller

* test(core): combobox tests

* refactor(core): don't bind this in controller options

---------

Co-authored-by: Steven Spriggs <[email protected]>

* feat(tools): getAllManifests

* fix(tools): correct import (#2824)

* docs: more changesets

* chore: decruft

* docs: pdate a11y-controller-opts.md

* docs: update dirty-bears-win.md

* docs: update a11y-controller-opts.md

---------

Co-authored-by: Steven Spriggs <[email protected]>
Co-authored-by: Brian Ferry <[email protected]>
Co-authored-by: Kelsey S <[email protected]>
  • Loading branch information
4 people authored Aug 16, 2024
1 parent 05361d4 commit c9bd577
Show file tree
Hide file tree
Showing 2,061 changed files with 13,733 additions and 13,024 deletions.
46 changes: 46 additions & 0 deletions .changeset/a11y-controller-opts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
"@patternfly/pfe-core": major
---
`RovingTabindexController`, `ListboxController`: constructor options were changed.
In particular, the `initItems(items: Item[])` and `setActiveItem(item: Item)` methods
were removed and replaced with the `getItems: () => Item[]` constructor option, and
the `atFocusedItemIndex` accessor.

**Before**:

```ts
#tabindex = new TabindexController(this);

firstUpdated() {
this.#tabindex.initItems(this.items);
}

updated(changed: PropertyValues<this>) {
if (changed.has('activeItem')) {
this.#tabindex.setActiveItem(this.activeItem);
}
}
```

**After**:

```ts
#tabindex = new TabindexController(this, {
getItems: () => this.items,
});

updated(changed: PropertyValues<this>) {
if (changed.has('activeItem')) {
this.#tabindex.atFocusedItemIndex = this.items.indexOf(this.activeItem);
}
}
```


**For further migration guidance**, please see the [sources in `@patternfly/pfe-core`][sources],
especially:
- `ATFocusController.ts`,
- `RovingTabindexController.ts`, and
- `ListboxController.ts`.

[sources]: https://github.com/patternfly/patternfly-elements/tree/main/core/pfe-core/controllers/
32 changes: 32 additions & 0 deletions .changeset/a11y-snapshot-chai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
"@patternfly/pfe-tools": minor
---
`a11ySnapshot`: Added chai assertions for various accessibility-tree scenarios

Examples:
```ts
describe('<pf-accordion>', function() {
beforeEach(() => fixture(html`
<pf-accordion>
<pf-accordion-header id="header1">header-1</pf-accordion-header>
<pf-accordion-panel>panel-1</pf-accordion-panel>
</pf-accordion>
`))
describe('clicking the first heading', function() {
beforeEach(clickFirstHeading);
it('expands the first panel', async function() {
expect(await a11ySnapshot())
.to.axContainName('panel-1');
});
it('focuses the first panel', async function() {
expect(await a11ySnapshot())
.to.have.axTreeFocusOn(document.getElementById('header1'));
});
it('shows the collapse all button', async function() {
expect(await a11ySnapshot())
.to.axContainRole('button');
});
})
})

```
20 changes: 20 additions & 0 deletions .changeset/activedescendant-controller.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
"@patternfly/pfe-core": minor
---
✨ Added `ActiveDescendantController`

This controller implements the [WAI-ARIA activedescendant pattern][pattern]
for keyboard and screen-reader accessibility.

```ts
#activedescentant = ActivedescendantController.of(this, {
getItems: () => this.options,
getItemsContainer: () => this.#listbox,
getOrientation: () => 'vertical',
getActiveDescendantContainer: () => this.#input,
getControlsElements: () => [this.#input, this.#button].filter(x => !!x),
setItemActive: (item, active) => void (item.active = active),
});
```

[pattern]: https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_focus_activedescendant
8 changes: 8 additions & 0 deletions .changeset/clever-places-happen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@patternfly/eslint-config": patch
"@patternfly/create-element": patch
"@patternfly/pfe-core": patch
"@patternfly/pfe-tools": patch
"@patternfly/elements": patch
---
updated dependencies
4 changes: 4 additions & 0 deletions .changeset/clever-yaks-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/elements": minor
---
`<pf-card>`: added `title` slot, for when the title is not inline with any slotted header actions
28 changes: 28 additions & 0 deletions .changeset/combobox-controller.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
"@patternfly/pfe-core": minor
---
✨ Added `ComboboxController`

This controller implements the [WAI-ARIA combobox pattern][pattern] for both
select-only and inline autocomplete comboboxes.

```ts
#combobox = ComboboxController.of(this, {
multi: this.multi,
getItems: () => this.options,
getFallbackLabel: () => this.accessibleLabel,
getListboxElement: () => this._listbox ?? null,
getToggleButton: () => this._toggleButton ?? null,
getComboboxInput: () => this._toggleInput ?? null,
isExpanded: () => this.expanded,
requestShowListbox: () => void (this.expanded ||= true),
requestHideListbox: () => void (this.expanded &&= false),
setItemHidden: (item, hidden) => void (item.hidden = hidden),
isItem: item => item instanceof PfOption,
setItemActive: (item, active) => item.active = active,
setItemSelected: (item, selected) => item.selected = selected,
});

```

[pattern]: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/
34 changes: 34 additions & 0 deletions .changeset/dirty-bears-win.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
"@patternfly/elements": major
---
`<pf-icon>`: removed the `getIconUrl` static method, and replaced it with the
`resolve` static method

The steps for overriding icon loading behaviour have changed. Before, you had to
return a string from the `getIconUrl` method, or the second argument to
`addIconSet`. Now, both of those functions must return a Node, or any lit-html
renderable value, or a Promise thereof.

**Before**:

```js
PfIcon.addIconSet('local', (set, icon) =>
new URL(`/assets/icons/${set}-${icon}.js`));

// or
PfIcon.getIconUrl = (set, icon) =>
new URL(`/assets/icons/${set}-${icon}.js`))
```

**After**:
```js
PfIcon.addIconSet('local', (set, icon) =>
import(`/assets/icons/${set}-${icon}.js`))
.then(mod => mod.default);

// or
PfIcon.resolve = (set, icon) =>
import(`/assets/icons/${set}-${icon}.js`))
.then(mod => mod.default);
```

4 changes: 4 additions & 0 deletions .changeset/few-lands-feel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-core": major
---
Removed global `pfeLog` feature
16 changes: 16 additions & 0 deletions .changeset/fluffy-papers-sit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"@patternfly/pfe-core": minor
---
**Decorators**: Added `@listen`. Use it to attach element event listeners to
class methods.

```ts
@customElement('custom-input')
class CustomInput extends LitElement {
@property({ type: Boolean }) dirty = false;
@listen('keyup', { once: true })
protected onKeyup() {
this.dirty = true;
}
}
```
4 changes: 4 additions & 0 deletions .changeset/free-ideas-fry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-core": patch
---
`InternalsController`: corrected the types for aria IDL list attributes
4 changes: 4 additions & 0 deletions .changeset/fresh-shrimps-work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/elements": major
---
`<pf-icon>`: removed the `defaultIconSet` static field.
18 changes: 18 additions & 0 deletions .changeset/heavy-peas-appear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@patternfly/pfe-tools": minor
---
Added `querySnapshot` accessibility testing helper

```ts

describe('then clicking the toggle', function() {
beforeEach(async function() {
await clickElementAtCenter(toggle);
});
it('expands the disclosure panel', async function() {
const snapshot = await a11ySnapshot();
const expanded = querySnapshot(snapshot, { expanded: true });
expect(expanded).to.be.ok;
});
});
```
32 changes: 32 additions & 0 deletions .changeset/hip-coins-prove.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
"@patternfly/elements": major
---
`<pf-accordion>`: Removed `BaseAccordion*` classes, as well as static `isPanel`, `isHeader`, and `isAccordion` methods. Removed the optional `parentAccordion` parameter to `PfAccordion#expand(index)`. Renamed accordion event classes by adding the `Pf` prefix:

**Before**:

```js
import {
AccordionHeaderChangeEvent
} from '@patternfly/elements/pf-accordion/pf-accordion.js';

addEventListener('change', function(event) {
if (event instanceof AccordionHeaderChangeEvent) {
// ...
}
});
```

**After**:

```js
import {
PfAccordionHeaderChangeEvent
} from '@patternfly/elements/pf-accordion/pf-accordion.js';

addEventListener('change', function(event) {
if (event instanceof PfAccordionHeaderChangeEvent) {
// ...
}
});
```
4 changes: 4 additions & 0 deletions .changeset/khaki-regions-play.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/elements": major
---
`<pf-icon>`: removed svg files, use `@patternfly/icons` instead
17 changes: 17 additions & 0 deletions .changeset/label-close-remove.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
"@patternfly/elements": major
---
`<pf-label>`: when clicking close button, `close` event is fired.
Now, if that event is not cancelled, the label will remove itself from the document.

To restore previous behaviour:

```js
import { LabelCloseEvent } from '@patternfly/elements/pf-label/pf-label.js';
label.addEventListener('close', function(event) {
if (event instanceof LabelCloseEvent) {
event.preventDefault();
return false;
}
});
```
16 changes: 16 additions & 0 deletions .changeset/lemon-tables-visit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"@patternfly/pfe-tools": major
---
**Custom Elements Manifest**: added `custom-elements-manifest.js`, which exports the function `getAllManifests`

```js
import { getAllManifests } from '@patternfly/pfe-tools/custom-elements-manifest/custom-elements-manifest/.js';

for (const manifest of getAllManifests()) {
const packageName = manifest.packageJson?.name ?? 'package';
console.log(
`Available Elements in ${packageName}`,
...manifest.getTagNames(),
);
}
```
4 changes: 4 additions & 0 deletions .changeset/mean-tires-ask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-core": major
---
Removed `window.PfeConfig` global config object
21 changes: 21 additions & 0 deletions .changeset/pf-select-typeahead.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
"@patternfly/pfe-core": minor
---
✨ Added `<pf-select variant="typeahead>`

```html
<label for="state">State</label>
<pf-select id="state"
variant="typeahead"
placeholder="Select a state">
<pf-option value="Alabama"
description="The heart of Dixie"></pf-option>
<pf-option value="Florida"
description="The sunshine state"
disabled></pf-option>
<pf-option value="New Jersey"></pf-option>
<pf-option value="New York"></pf-option>
<pf-option value="New Mexico"></pf-option>
<pf-option value="North Carolina"></pf-option>
</pf-select>
```
4 changes: 4 additions & 0 deletions .changeset/polite-rules-dress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-core": major
---
Removed global `auto-reveal` feature
28 changes: 28 additions & 0 deletions .changeset/poor-years-hug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
"@patternfly/pfe-core": major
---
**Decorators**: Added `@observes`. Use it to add property change callback by
decorating them with the name of the property to observe

```ts
@customElement('custom-button')
class CustomButton extends LitElement {
#internals = this.attachInternals();

@property({ type: Boolean }) disabled = false;

@observes('disabled')
protected disabledChanged() {
this.#internals.ariaDisabled =
this.disabled ? 'true'
: this.ariaDisabled ?? 'false';
}
}
```

Breaking change: This commit makes some changes to the internal APIs of the
pre-existing `@observed` observer, most notably it changes the constructor
signature of the `PropertyObserverController` and associated functions. Most
users should not have to make any changes, but if you directly import and use
those functions, check the commit log to see how to update your call sites.

4 changes: 4 additions & 0 deletions .changeset/public-yaks-tickle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-core": patch
---
Context: `makeContextRoot` no longer crashes SSR processes
Loading

0 comments on commit c9bd577

Please sign in to comment.