Skip to content

Commit d26635f

Browse files
iOvergaardJesmoDev
andauthored
feat(uui-popover-container): remove the Firefox popover polyfill (#858)
* feat: remove the Firefox polyfill as Firefox now natively supports the Popover API * test: add test for `popover` attribute * package json * revert package lock * update package lock * update github action to install all playwright dependencies --------- Co-authored-by: JesmoDev <[email protected]>
1 parent b16d500 commit d26635f

File tree

6 files changed

+41
-179
lines changed

6 files changed

+41
-179
lines changed

.github/workflows/tests.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ jobs:
3131
cache: 'npm'
3232
- run: npm install
3333
- run: npm run lint
34-
- run: sudo npx playwright install-deps
34+
- name: Install Playwright dependencies
35+
run: npx playwright install --with-deps
3536
- run: npm run test
3637

3738
build:

package-lock.json

+28-10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@
132132
"vite-tsconfig-paths": "4.3.2",
133133
"web-component-analyzer": "2.0.0"
134134
},
135+
"overrides": {
136+
"playwright": "^1.45.3"
137+
},
135138
"workspaces": [
136139
"./packages/*"
137140
],

packages/uui-popover-container/lib/uui-popover-container.element.ts

-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration';
22
import { findAncestorByAttributeValue } from '@umbraco-ui/uui-base/lib/utils';
33
import { css, html, LitElement } from 'lit';
44
import { property, state } from 'lit/decorators.js';
5-
import { polyfill } from './uui-popover-polyfill.js';
65

76
export type PopoverContainerPlacement =
87
| 'top'
@@ -72,10 +71,6 @@ export class UUIPopoverContainerElement extends LitElement {
7271
#scrollParents: Element[] = [];
7372

7473
connectedCallback(): void {
75-
//TODO: Remove this polyfill when firefox supports the new popover API
76-
!Object.prototype.hasOwnProperty.call(HTMLElement, 'popover') &&
77-
polyfill.bind(this)();
78-
7974
if (!this.hasAttribute('popover')) {
8075
this.setAttribute('popover', '');
8176
}

packages/uui-popover-container/lib/uui-popover-container.test.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ describe('UUIPopoverContainerElement', () => {
66

77
beforeEach(async () => {
88
element = await fixture(html`
9-
<uui-popover-container></uui-popover-container>
9+
<uui-popover-container id="my-popover">
10+
Hello world
11+
</uui-popover-container>
1012
`);
1113
});
1214

@@ -17,4 +19,9 @@ describe('UUIPopoverContainerElement', () => {
1719
it('passes the a11y audit', async () => {
1820
await expect(element).shadowDom.to.be.accessible();
1921
});
22+
23+
it('gets the popover attribute', async () => {
24+
await element.updateComplete;
25+
expect(element).to.have.attribute('popover');
26+
});
2027
});

packages/uui-popover-container/lib/uui-popover-polyfill.ts

-162
This file was deleted.

0 commit comments

Comments
 (0)