Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
e3cdfe6
feat(progress): adding progress element, adding variants and styles
brianferry May 31, 2023
58c9cf3
fix(progress): adding accessibility fixes for pf-progress without htm…
brianferry Jun 1, 2023
ca5db3b
fix: formatting for icons, html
brianferry Jun 6, 2023
87a9670
docs(progress): adding kitchen sink, adding example
brianferry Jun 6, 2023
4920adc
docs(progress): adding cssprop, summary, kitchen sink demo
brianferry Jun 6, 2023
1ac5001
fix(progress): remove demo css file
brianferry Jun 6, 2023
e800261
chore: adding changeset
brianferry Jun 6, 2023
cd07bd9
Merge branch 'main' into feat/pf-progress
brianferry Jun 7, 2023
b03d2b7
test: adding test cases for pf-progress
brianferry Jun 7, 2023
4efcebd
Merge branch 'main' into feat/pf-progress
brianferry Jun 8, 2023
a257e91
Merge branch 'main' into feat/pf-progress
bennypowers Jun 20, 2023
a8d2320
Merge branch 'main' into feat/pf-progress
brianferry Jun 23, 2023
fe0c283
chore: checkpoint
brianferry Jun 26, 2023
b371654
feat: kitchen sink demo fixing, adding opacity, progress, meter styling
brianferry Jun 27, 2023
0284fa9
feat(progress): progress html5 element, updating tabindex and aria va…
brianferry Jun 28, 2023
e506660
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Jun 28, 2023
3eda551
feat(progress): jsdocs, element internals, inline accessibility template
brianferry Jun 29, 2023
45732cb
Update elements/pf-progress/pf-progress.ts
brianferry Jul 5, 2023
6c877a2
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Jul 5, 2023
76b5bd2
fix(progress): remove willUpdate super method call
brianferry Jul 5, 2023
1857d79
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Jul 5, 2023
ee2fa82
feat(progress): adding label attribute and span element for screen re…
brianferry Jul 6, 2023
0b6928d
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Jul 6, 2023
9ea75e5
refactor(progress): removing label, form associated internals, add tests
brianferry Jul 6, 2023
dab1c21
Merge branch 'main' into feat/pf-progress
brianferry Jul 11, 2023
877051a
Merge branch 'main' into feat/pf-progress
brianferry Jul 17, 2023
8e76ac6
Merge branch 'main' into feat/pf-progress
brianferry Jul 20, 2023
bf7b990
fix: remove unused import
brianferry Jul 20, 2023
b158c19
Update elements/pf-progress/pf-progress.ts
brianferry Jul 24, 2023
6560543
fix(progress): singleLine class fix
brianferry Aug 3, 2023
40072a9
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Aug 3, 2023
c75f42f
Update elements/pf-progress/pf-progress.ts
brianferry Aug 3, 2023
17a5672
Update elements/pf-progress/pf-progress.ts
brianferry Aug 3, 2023
25638ee
style(progress): adding new lines too styling classes
brianferry Aug 3, 2023
4edd20e
Merge branch 'feat/pf-progress' of github.com:patternfly/patternfly-e…
brianferry Aug 3, 2023
79bc22f
Merge branch 'main' of github.com:patternfly/patternfly-elements into…
brianferry Aug 4, 2023
903533d
docs(card): patterns page fixing image, broken ctas
brianferry Aug 4, 2023
3b95431
fix(progress): remove form association from progress bar, form demo
brianferry Aug 7, 2023
65c964d
fix(progress): willUpdate for internals, attachInternals instead of c…
brianferry Aug 7, 2023
f990a79
style(switch): whitespace
bennypowers Aug 8, 2023
9387379
feat(tooltip): trigger, flip
bennypowers Aug 8, 2023
8155ba3
docs(popover): added flip demo
bennypowers Aug 8, 2023
23e666b
feat(progress): truncated title
bennypowers Aug 8, 2023
dbf36c6
docs(progress): typos
bennypowers Aug 8, 2023
30871a4
fix(progress): truncated
bennypowers Aug 8, 2023
a6886f6
fix(tooltip): detect when invoker slot should be block level
bennypowers Aug 8, 2023
f49edc1
test(popover): clarify tests
bennypowers Aug 8, 2023
372f2ed
fix(tooltip): tooltip invoker is called depending on whether it has a…
brianferry Aug 8, 2023
ad77a77
perf(popover): reassign trigger less often
bennypowers Aug 9, 2023
75af29b
feat(tools): click element center test util
bennypowers Aug 9, 2023
e08600a
test(popover): rationalize tests
bennypowers Aug 9, 2023
8a02902
perf(tooltip): calculate internal state less often
bennypowers Aug 9, 2023
8787851
fix: trigger attached by reference should toggle popover
eyevana Aug 10, 2023
ff49508
fix: test nesting
eyevana Aug 11, 2023
d478bc5
Merge branch 'main' into feat/pf-progress
brianferry Aug 17, 2023
d730655
test(popover): refactor tests
bennypowers Aug 20, 2023
69619e3
test: refactor
bennypowers Aug 20, 2023
4e4e325
chore: fix netlify deploy command
bennypowers Aug 20, 2023
f49d0cf
refactor(progress): remove unused variable
bennypowers Aug 20, 2023
d610761
Merge branch 'main' into feat/pf-progress
bennypowers Aug 21, 2023
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/pf-tooltip-deprecate-base.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@patternfly/elements": patch
---
`<pf-tooltip>`: marks `BaseTooltip` and it's stylesheet as deprecated.
The files will remain in place until the next major version.
4 changes: 4 additions & 0 deletions .changeset/pf-tooltip-flip.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/elements": minor
---
`<pf-tooltip>`: added `no-flip` and `flip-behaviour` attributes as in `<pf-popover>`
11 changes: 11 additions & 0 deletions .changeset/pf-tooltip-trigger.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@patternfly/element": minor
---
`<pf-tooltip>` added the `trigger` attribute to specify a tooltip-invoking
element outside of the tooltip's children.

```html
<pf-button id="button">Button</pf-button>
<pf-tooltip trigger="button"
content="I'm a button!"></pf-tooltip>
```
9 changes: 9 additions & 0 deletions .changeset/rich-kangaroos-brake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@patternfly/elements": minor
---

✨ Added `<pf-progress>`

```html
<pf-progress title="Default" value="33"></pf-progress>
```
4 changes: 4 additions & 0 deletions .changeset/test-tools-click-el.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
"@patternfly/pfe-tools": minor
---
Test: add `clickElementCenter` utility function for tests
1 change: 1 addition & 0 deletions elements/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"./pf-panel/pf-panel.js": "./pf-panel/pf-panel.js",
"./pf-progress-stepper/pf-progress-step.js": "./pf-progress-stepper/pf-progress-step.js",
"./pf-progress-stepper/pf-progress-stepper.js": "./pf-progress-stepper/pf-progress-stepper.js",
"./pf-progress/pf-progress.js": "./pf-progress/pf-progress.js",
"./pf-spinner/BaseSpinner.js": "./pf-spinner/BaseSpinner.js",
"./pf-spinner/pf-spinner.js": "./pf-spinner/pf-spinner.js",
"./pf-switch/BaseSwitch.js": "./pf-switch/BaseSwitch.js",
Expand Down
41 changes: 41 additions & 0 deletions elements/pf-popover/demo/flip.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<link rel="stylesheet" href="demo.css">
<script type="module" src="pf-popover.js"></script>

<form id="basic">
<fieldset>
<legend>No flip</legend>
<pf-popover heading="Popover heading"
body="Popovers are triggered by click rather than hover."
footer="Popover footer"
no-flip>
<pf-button>Toggle popover</pf-button>
</pf-popover>
</fieldset>

<fieldset>
<legend>Flip fallback</legend>
<label>
Popover positions
<select id="position-select">
<option value="top">top</option>
<option value="right">right</option>
<option value="bottom">bottom</option>
<option value="left">left</option>
<option value="top-start">top-start</option>
<option value="top-end">top-end</option>
<option value="right-start">right-start</option>
<option value="right-end">right-end</option>
<option value="bottom-start">bottom-start</option>
<option value="bottom-end">bottom-end</option>
<option value="left-start">left-start</option>
<option value="left-end">left-end</option>
</select>
</label>
<pf-popover heading="Popover heading"
body="Popovers are triggered by click rather than hover."
footer="Popover footer"
no-outside-click>
<pf-button>Toggle popover</pf-button>
</pf-popover>
</fieldset>
</form>
4 changes: 2 additions & 2 deletions elements/pf-popover/demo/pf-popover.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<link rel="stylesheet" href="./demo.css" />
<script type="module" src="./pf-popover.js"></script>
<link rel="stylesheet" href="demo.css">
<script type="module" src="pf-popover.js"></script>

<form id="basic">
<h2>Basic</h2>
Expand Down
4 changes: 2 additions & 2 deletions elements/pf-popover/demo/pf-popover.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ select.addEventListener('change', event =>

// Close popover from content
const closeButton = document.getElementById('close-button');
closeButton.addEventListener('click', event => event.target.closest('pf-popover').hide());
closeButton?.addEventListener('click', event => event.target.closest('pf-popover').hide());

// Alert variants
const alert = document.getElementById('alert');
alert.addEventListener('change', event =>
alert?.addEventListener('change', event =>
alert
.querySelector('pf-popover')
.setAttribute('alert-severity', event.target.closest('form').elements.severity.value));
Expand Down
40 changes: 26 additions & 14 deletions elements/pf-popover/pf-popover.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LitElement, nothing, html } from 'lit';
import { LitElement, nothing, html, type PropertyValues } from 'lit';
import { customElement } from 'lit/decorators/custom-element.js';
import { property } from 'lit/decorators/property.js';
import { query } from 'lit/decorators/query.js';
Expand All @@ -9,7 +9,6 @@ import { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating
import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
import { bound } from '@patternfly/pfe-core/decorators/bound.js';
import { ComposedEvent, StringListConverter } from '@patternfly/pfe-core/core.js';
import { observed } from '@patternfly/pfe-core/decorators/observed.js';
import type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';
import '@patternfly/elements/pf-button/pf-button.js';
import styles from './pf-popover.css';
Expand Down Expand Up @@ -301,7 +300,6 @@ export class PfPopover extends LitElement {
/**
* The ID of the element to attach the popover to.
*/
@observed('triggerChanged')
@property({ reflect: true }) trigger?: string;

@query('#popover') private _popover!: HTMLDialogElement;
Expand Down Expand Up @@ -360,7 +358,10 @@ export class PfPopover extends LitElement {
<div id="container"
style="${styleMap(styles)}"
class="${classMap({ [anchor]: !!anchor, [alignment]: !!alignment })}">
<slot id="trigger" @keydown=${this.onKeydown} @click=${this.toggle}></slot>
<slot id="trigger"
@slotchange="${this.#triggerChanged}"
@keydown=${this.onKeydown}
@click=${this.toggle}></slot>
<dialog id="popover" aria-labelledby="heading" aria-describedby="body" aria-label=${ifDefined(this.label)}>
<div id="arrow"></div>
<div id="content" part="content">
Expand Down Expand Up @@ -389,10 +390,27 @@ export class PfPopover extends LitElement {
disconnectedCallback() {
super.disconnectedCallback();
PfPopover.instances.delete(this);
this.#referenceTrigger?.removeEventListener('click', this.show);
this.#referenceTrigger?.removeEventListener('click', this.toggle);
this.#referenceTrigger?.removeEventListener('keydown', this.onKeydown);
}

#getReferenceTrigger() {
const root = this.getRootNode() as Document | ShadowRoot;
return !this.trigger ? null : root.getElementById(this.trigger);
}


#triggerChanged() {
const oldReferenceTrigger = this.#referenceTrigger;
this.#referenceTrigger = this.#getReferenceTrigger();
if (oldReferenceTrigger !== this.#referenceTrigger) {
oldReferenceTrigger?.removeEventListener('click', this.toggle);
oldReferenceTrigger?.removeEventListener('keydown', this.onKeydown);
this.#referenceTrigger?.addEventListener('click', this.toggle);
this.#referenceTrigger?.addEventListener('keydown', this.onKeydown);
}
}

@bound private onKeydown(event: KeyboardEvent) {
switch (event.key) {
case 'Escape':
Expand Down Expand Up @@ -420,15 +438,9 @@ export class PfPopover extends LitElement {
* Removes event listeners from the old trigger element and attaches
* them to the new trigger element.
*/
triggerChanged(oldValue?: string, newValue?: string) {
if (oldValue) {
this.#referenceTrigger?.removeEventListener('click', this.show);
this.#referenceTrigger?.removeEventListener('keydown', this.onKeydown);
}
if (newValue) {
this.#referenceTrigger = (this.getRootNode() as Document | ShadowRoot).getElementById(newValue);
this.#referenceTrigger?.addEventListener('click', this.show);
this.#referenceTrigger?.addEventListener('keydown', this.onKeydown);
override willUpdate(changed: PropertyValues<this>) {
if (changed.has('trigger')) {
this.#triggerChanged();
}
}

Expand Down
Loading