From 307a169cb8654bb0e352691f50e8598839c472a8 Mon Sep 17 00:00:00 2001 From: Mark Caron Date: Thu, 13 Aug 2026 10:05:12 -0400 Subject: [PATCH 1/3] feat: update pf-v6-label element --- docs/main.mjs | 2 +- elements/pf-v5-label-group/README.md | 10 +- elements/pf-v5-label-group/demo/index.html | 6 +- .../demo/label-group-closeable.html | 6 +- .../demo/label-group-vertical.html | 6 +- .../label-group-with-a-very-long-name.html | 6 +- .../label-group-with-overflow-labels.html | 12 +- .../pf-v5-label-group/pf-v5-label-group.css | 2 +- .../pf-v5-label-group/pf-v5-label-group.ts | 20 +- .../test/pf-label-group.spec.ts | 44 +-- elements/pf-v5-label/README.md | 61 ---- elements/pf-v5-label/demo/compact.html | 21 -- elements/pf-v5-label/demo/filled-color.html | 32 -- elements/pf-v5-label/demo/icon.html | 33 -- elements/pf-v5-label/demo/index.html | 13 - elements/pf-v5-label/demo/link.html | 14 - elements/pf-v5-label/demo/outline-color.html | 20 -- elements/pf-v5-label/demo/patternfly.html | 200 ----------- elements/pf-v5-label/docs/CHANGELOG.old.md | 111 ------ elements/pf-v5-label/docs/pf-v5-label.md | 129 ------- elements/pf-v5-label/docs/screenshot.png | Bin 107715 -> 0 bytes elements/pf-v5-label/pf-v5-label.css | 320 ------------------ elements/pf-v5-label/pf-v5-label.ts | 143 -------- elements/pf-v5-label/test/pf-label.e2e.ts | 25 -- elements/pf-v5-label/test/pf-label.spec.ts | 172 ---------- elements/pf-v6-label/README.md | 60 ++++ .../pf-v6-label/demo/clickable-labels.html | 38 +++ elements/pf-v6-label/demo/compact-labels.html | 33 ++ elements/pf-v6-label/demo/disabled.html | 31 ++ elements/pf-v6-label/demo/filled-labels.html | 121 +++++++ elements/pf-v6-label/demo/index.html | 9 + .../pf-v6-label/demo/outlined-labels.html | 63 ++++ elements/pf-v6-label/demo/status.html | 32 ++ .../pf-v6-label/demo/truncated-labels.html | 28 ++ elements/pf-v6-label/pf-v6-label.ts | 204 +++++++++++ 35 files changed, 676 insertions(+), 1351 deletions(-) delete mode 100644 elements/pf-v5-label/README.md delete mode 100644 elements/pf-v5-label/demo/compact.html delete mode 100644 elements/pf-v5-label/demo/filled-color.html delete mode 100644 elements/pf-v5-label/demo/icon.html delete mode 100644 elements/pf-v5-label/demo/index.html delete mode 100644 elements/pf-v5-label/demo/link.html delete mode 100644 elements/pf-v5-label/demo/outline-color.html delete mode 100644 elements/pf-v5-label/demo/patternfly.html delete mode 100644 elements/pf-v5-label/docs/CHANGELOG.old.md delete mode 100644 elements/pf-v5-label/docs/pf-v5-label.md delete mode 100644 elements/pf-v5-label/docs/screenshot.png delete mode 100644 elements/pf-v5-label/pf-v5-label.css delete mode 100644 elements/pf-v5-label/pf-v5-label.ts delete mode 100644 elements/pf-v5-label/test/pf-label.e2e.ts delete mode 100644 elements/pf-v5-label/test/pf-label.spec.ts create mode 100644 elements/pf-v6-label/README.md create mode 100644 elements/pf-v6-label/demo/clickable-labels.html create mode 100644 elements/pf-v6-label/demo/compact-labels.html create mode 100644 elements/pf-v6-label/demo/disabled.html create mode 100644 elements/pf-v6-label/demo/filled-labels.html create mode 100644 elements/pf-v6-label/demo/index.html create mode 100644 elements/pf-v6-label/demo/outlined-labels.html create mode 100644 elements/pf-v6-label/demo/status.html create mode 100644 elements/pf-v6-label/demo/truncated-labels.html create mode 100644 elements/pf-v6-label/pf-v6-label.ts diff --git a/docs/main.mjs b/docs/main.mjs index d56d42bf2d..36323bb558 100644 --- a/docs/main.mjs +++ b/docs/main.mjs @@ -13,7 +13,7 @@ import '@patternfly/elements/pf-v5-helper-text/pf-v5-helper-text.js'; import '@patternfly/elements/pf-v5-hint/pf-v5-hint.js'; import '@patternfly/elements/pf-v5-jump-links/pf-v5-jump-links.js'; import '@patternfly/elements/pf-v5-label-group/pf-v5-label-group.js'; -import '@patternfly/elements/pf-v5-label/pf-v5-label.js'; +import '@patternfly/elements/pf-v6-label/pf-v6-label.js'; import '@patternfly/elements/pf-v5-modal/pf-v5-modal.js'; import '@patternfly/elements/pf-v5-panel/pf-v5-panel.js'; import '@patternfly/elements/pf-v5-popover/pf-v5-popover.js'; diff --git a/elements/pf-v5-label-group/README.md b/elements/pf-v5-label-group/README.md index 916f75e55d..c2a82fa00e 100644 --- a/elements/pf-v5-label-group/README.md +++ b/elements/pf-v5-label-group/README.md @@ -30,9 +30,9 @@ import '@patternfly/elements/pf-v5-label-group/pf-v5-label-group.js'; ```html - Security - Performance - Networking + Security + Performance + Networking ``` @@ -40,7 +40,7 @@ With a category: ```html Filters - Security - Performance + Security + Performance ``` diff --git a/elements/pf-v5-label-group/demo/index.html b/elements/pf-v5-label-group/demo/index.html index f77c341f9d..a5435b30cc 100644 --- a/elements/pf-v5-label-group/demo/index.html +++ b/elements/pf-v5-label-group/demo/index.html @@ -1,7 +1,7 @@ - Blue - Green - Orange + Blue + Green + Orange -``` - -Or, if you are using [NPM](https://npm.im), install it - -```bash -npm install @patternfly/elements -``` - -Then once installed, import it to your application: - -```js -import '@patternfly/elements/pf-v5-label/pf-v5-label.js'; -``` - -## Usage - -Default -```html -

Some Text Your label text here

-``` - -Color Options: `grey (default), blue ,green, orange, red, purple, cyan` -```html -

Some Text Your label text here

-``` - -With and Icon: -```html -

Some Text Your label text here

-``` - -Outline variant: -```html -

Some Text Your label text here

-``` - -> ### Conveying meaning to assistive technologies -> Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that -> information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text -> hidden with the a class. - - -```html - - Some text Some additional info - -``` diff --git a/elements/pf-v5-label/demo/compact.html b/elements/pf-v5-label/demo/compact.html deleted file mode 100644 index ca72baf22a..0000000000 --- a/elements/pf-v5-label/demo/compact.html +++ /dev/null @@ -1,21 +0,0 @@ -
- Default - Blue label - Green label - Orange label - Red label - Purple label - Cyan label - Gold label - Grey label -
- - - - diff --git a/elements/pf-v5-label/demo/filled-color.html b/elements/pf-v5-label/demo/filled-color.html deleted file mode 100644 index 03a80c68a5..0000000000 --- a/elements/pf-v5-label/demo/filled-color.html +++ /dev/null @@ -1,32 +0,0 @@ -
- Blue - Green - Orange - Red Hat - Purple - Cyan - Gold - Grey -
- - - - diff --git a/elements/pf-v5-label/demo/icon.html b/elements/pf-v5-label/demo/icon.html deleted file mode 100644 index 936d743edc..0000000000 --- a/elements/pf-v5-label/demo/icon.html +++ /dev/null @@ -1,33 +0,0 @@ -
-
- Default - Blue label - Green label - Orange label - Red label - Purple label - Cyan label - Gold label -
- -
- Default - Blue label - Green label - Orange label - Red label - Purple label - Cyan label - Gold label -
-
- - - - diff --git a/elements/pf-v5-label/demo/index.html b/elements/pf-v5-label/demo/index.html deleted file mode 100644 index a1bfef0c68..0000000000 --- a/elements/pf-v5-label/demo/index.html +++ /dev/null @@ -1,13 +0,0 @@ -
- Default -
- - - - diff --git a/elements/pf-v5-label/demo/link.html b/elements/pf-v5-label/demo/link.html deleted file mode 100644 index d2ba371cc4..0000000000 --- a/elements/pf-v5-label/demo/link.html +++ /dev/null @@ -1,14 +0,0 @@ -
- Blue - Green - Orange - Red Hat - Purple - Cyan - Gold - Grey -
- - diff --git a/elements/pf-v5-label/demo/outline-color.html b/elements/pf-v5-label/demo/outline-color.html deleted file mode 100644 index 1627872a8c..0000000000 --- a/elements/pf-v5-label/demo/outline-color.html +++ /dev/null @@ -1,20 +0,0 @@ -
- Blue - Green - Orange - Red - Purple - Cyan - Gold - Grey -
- - - - diff --git a/elements/pf-v5-label/demo/patternfly.html b/elements/pf-v5-label/demo/patternfly.html deleted file mode 100644 index 47e45906d8..0000000000 --- a/elements/pf-v5-label/demo/patternfly.html +++ /dev/null @@ -1,200 +0,0 @@ -
-

Filled

- Grey - Grey icon - Grey removable - Grey icon removable - Grey link - Grey link removable - Grey label with icon that overflows -
- -
-

Blue

- Blue - Blue icon - Blue removable - Blue icon removable - Blue link - Blue link removable - Blue label with icon that overflows -
- -
-

Green

- Green - Green icon - Green removable - Green icon removable - Green link - Green link removable - Green label with icon that overflows -
- -
-

Orange

- Orange - Orange icon - Orange removable - Orange icon removable - Orange link - Orange link removable - Orange label with icon that overflows -
- -
-

Red

- Red - Red icon - Red removable - Red icon removable - Red link - Red link removable - Red label with icon that overflows -
- -
-

Purple

- Purple - Purple icon - Purple removable - Purple icon removable - Purple link - Purple link removable - Purple label with icon that overflows -
- -
-

Cyan

- Cyan - Cyan icon - Cyan removable - Cyan icon removable - Cyan link - Cyan link removable - Cyan label with icon that overflows -
- -
-

Gold

- Gold - Gold icon - Gold removable - Gold icon removable - Gold link - Gold link removable - Gold label with icon that overflows -
- -
-

Outline

- Grey - Grey icon - Grey removable - Grey icon removable - Grey link - Grey link removable - Grey label with icon that overflows -
- -
-

Outline Blue

- Blue - Blue icon - Blue removable - Blue icon removable - Blue link - Blue link removable - Blue label with icon that overflows -
- -
-

Outline Green

- Green - Green icon - Green removable - Green icon removable - Green link - Green link removable - Green label with icon that overflows -
- -
-

Outline Orange

- Orange - Orange icon - Orange removable - Orange icon removable - Orange link - Orange link removable - Orange label with icon that overflows -
- -
-

Outline Red

- Red - Red icon - Red removable - Red icon removable - Red link - Red link removable - Red label with icon that overflows -
- -
-

Outline Purple

- Purple - Purple icon - Purple removable - Purple icon removable - Purple link - Purple link removable - Purple label with icon that overflows -
- -
-

Outline Cyan

- Cyan - Cyan icon - Cyan removable - Cyan icon removable - Cyan link - Cyan link removable - Cyan label with icon that overflows -
- -
-

Outline Gold

- Gold - Gold icon - Gold removable - Gold icon removable - Gold link - Gold link removable - Gold label with icon that overflows -
- -
-

Outline Compact

- Gold - Gold icon - Gold removable - Gold icon removable - Gold link - Gold link removable - Gold label with icon that overflows -
- - - - diff --git a/elements/pf-v5-label/docs/CHANGELOG.old.md b/elements/pf-v5-label/docs/CHANGELOG.old.md deleted file mode 100644 index a4484ee8c1..0000000000 --- a/elements/pf-v5-label/docs/CHANGELOG.old.md +++ /dev/null @@ -1,111 +0,0 @@ -# @patternfly/pfe-label - -## 1.0.0-next.7 - -### Minor Changes - -- af005e2ca: Made abstract props `color`, `icon`, and `variant` optional, removed `classes` protected property in favour of composition, refactored shadow CSS - -### Patch Changes - -- Updated dependencies [b841afe40] -- Updated dependencies [0fe6c52db] -- Updated dependencies [0fe6c52db] -- Updated dependencies [b841afe40] -- Updated dependencies [0fe6c52db] -- Updated dependencies [bbcfb687f] - - @patternfly/pfe-core@2.0.0-next.13 - - @patternfly/pfe-button@2.0.0-next.9 - -## 1.0.0-next.6 - -### Patch Changes - -- 7e95ddbe: - Abstracted base class property fields - - Removed reflected properties in pfe-tabs.ts opting for classMap() usage -- Updated dependencies [6b6e2617] -- Updated dependencies [6b6e2617] - - @patternfly/pfe-button@2.0.0-next.8 - - @patternfly/pfe-core@2.0.0-next.12 - -## 1.0.0-next.5 - -### Patch Changes - -- a4b92f42: Fix label style loading -- d4442a66: Moved all pfe css property referencing styles from the `BaseLabel.scss` into to `pfe-label.scss` -- 07ad1d3d: Updates use of `` -- Updated dependencies [07ad1d3d] -- Updated dependencies [07ad1d3d] - - @patternfly/pfe-icon@2.0.0-next.5 - - @patternfly/pfe-core@2.0.0-next.10 - - @patternfly/pfe-button@2.0.0-next.7 - -## 1.0.0-next.4 - -### Patch Changes - -- bfad8b4b: Updates dependencies -- Updated dependencies [bfad8b4b] -- Updated dependencies [bfad8b4b] -- Updated dependencies [a423b010] - - @patternfly/pfe-core@2.0.0-next.8 - - @patternfly/pfe-button@2.0.0-next.5 - - @patternfly/pfe-icon@2.0.0-next.4 - -## 1.0.0-next.3 - -### Major Changes - -- c619f99f: Changes to `` to align it with [PatternFly v4](https://patternfly.org/components/label). - - NEW: - Added `variant` attribute for `filled` and `outline` style variants - Added `compact` boolean attribute for compact style version - - BREAKING CHANGES: - The `pfelement` attribute and `PFElement` class are **removed** from the `` element by default. - The `outline` boolean attribute is **removed** - _All_ the `--pfe-*` css variables are **removed** in favour of their `--pf-*` equivalents. - - See the [docs](https://patternflyelements.org/components/label) for more info, - and the [demo](https://patternflyelements.org/components/label/demo) for usage examples. - -### Patch Changes - -- Updated dependencies [34ecd410] -- Updated dependencies [a730678c] - - @patternfly/pfe-core@2.0.0-next.6 - - @patternfly/pfe-button@2.0.0-next.4 - -## 1.0.0-next.2 - -### Patch Changes - -- 6a2a0407: [View commit message here](https://gist.github.com/heyMP/200fc0b840690541475923facba393ab) -- Updated dependencies [6a2a0407] - - @patternfly/pfe-core@2.0.0-next.4 - - @patternfly/pfe-icon@2.0.0-next.2 - -## 1.0.0-next.1 - -### Patch Changes - -- 447b2d75: Remove `esbuild` export condition, as this anyways was a runtime error -- Updated dependencies [447b2d75] - - @patternfly/pfe-core@2.0.0-next.3 - - @patternfly/pfe-icon@2.0.0-next.1 - -## 1.0.0-next.0 - -### Major Changes - -- 92257735: Initial release of pfe-label. - - `` is an inline-block element component that provides a distinct visual style for metadata in a UI. Commonly used as visual representations for tags, labels can include an optional pfe-icon and are available in a solid and outline style variant. - - ### NEW: Component! - - - Adds `` component with `color`, `icon` and `outline` attributes. - - See [docs](https://patternflyelements.org/components/label/) for more info diff --git a/elements/pf-v5-label/docs/pf-v5-label.md b/elements/pf-v5-label/docs/pf-v5-label.md deleted file mode 100644 index fd0467cc74..0000000000 --- a/elements/pf-v5-label/docs/pf-v5-label.md +++ /dev/null @@ -1,129 +0,0 @@ -{% renderInstallation %} {% endrenderInstallation %} - -{% renderOverview %} - Default -{% endrenderOverview %} - -{% band header="Usage" %} - ### Default - {% htmlexample %} - Default - {% endhtmlexample %} - - ### With a color - Available colors are: grey (default), blue, green, orange, red, purple, cyan, gold - - {% htmlexample %} - Blue - Green - Orange - Red - Purple - Cyan - Gold - {% endhtmlexample %} - -
- - ### Conveying meaning to assistive technologies - Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text hidden with a class. - -
- - {% htmlexample %} - - - Red Warning - - {% endhtmlexample %} - - ### Outline variant - Swaps the color style for a outline styled variant - - {% htmlexample %} - Blue - Green - Orange - Red - Purple - Cyan - Gold - Default - {% endhtmlexample %} - - ### With icon as an attribute - Adds a optional fixed size `pf-v5-icon` to the label as a prefix - - {% htmlexample %} - Globe - {% endhtmlexample %} - - Read more about Icon in the [PatternFly Elements Icon documentation](https://patternflyelements.org/components/icon) - - ### With user defined image using `slot="icon"` - Adds user defined SVG or `pf-v5-icon` to the label. - - {% htmlexample %} - Globe - - - {% endhtmlexample %} - - {% htmlexample %} - Globe - - - {% endhtmlexample %} - - ### Compact style - Creates a compact style label which can be combined with color, variant and icon - - {% htmlexample %} - Globe - - - Green - Orange - Red - Purple - Cyan - Gold - Default - {% endhtmlexample %} -{% endband %} - -{% renderSlots %}{% endrenderSlots %} - -{% renderAttributes %}{% endrenderAttributes %} - -{% renderMethods %}{% endrenderMethods %} - -{% renderEvents %}{% endrenderEvents %} - -{% renderCssCustomProperties %}{% endrenderCssCustomProperties %} - -{% renderCssParts %}{% endrenderCssParts %} diff --git a/elements/pf-v5-label/docs/screenshot.png b/elements/pf-v5-label/docs/screenshot.png deleted file mode 100644 index 5e7131118e9b0b31671e339dd64f5c8bcaf3eee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107715 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 X!TN==>RY+rl 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 { - const { compact, truncated, href } = this; - const { variant, color, icon } = this; - const hasIcon = !!icon || this.#slots.hasSlotted('icon'); - const isLink = !!href; - return html` - - - - - - - ${isLink ? html` - - ` : html` - - `} - - - - - - - - - - `; - } - - #onClickClose() { - if (this.removable && this.dispatchEvent(new LabelCloseEvent())) { - this.remove(); - } - } -} - -export type LabelVariant = PfV5Label['variant']; - -export type LabelColor = PfV5Label['color']; - -declare global { - interface HTMLElementTagNameMap { - 'pf-v5-label': PfV5Label; - } -} diff --git a/elements/pf-v5-label/test/pf-label.e2e.ts b/elements/pf-v5-label/test/pf-label.e2e.ts deleted file mode 100644 index f75986a59b..0000000000 --- a/elements/pf-v5-label/test/pf-label.e2e.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { test } from '@playwright/test'; -import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js'; -import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js'; - -const tagName = 'pf-v5-label'; - -test.describe(tagName, () => { - test('snapshot', async ({ page }) => { - const componentPage = new PfeDemoPage(page, tagName); - await componentPage.navigate(); - await componentPage.snapshot(); - }); - - test('ssr', async ({ browser }) => { - const fixture = new SSRPage({ - tagName, - browser, - demoDir: new URL('../demo/', import.meta.url), - importSpecifiers: [ - `@patternfly/elements/${tagName}/${tagName}.js`, - ], - }); - await fixture.snapshots(); - }); -}); diff --git a/elements/pf-v5-label/test/pf-label.spec.ts b/elements/pf-v5-label/test/pf-label.spec.ts deleted file mode 100644 index 51bd413ace..0000000000 --- a/elements/pf-v5-label/test/pf-label.spec.ts +++ /dev/null @@ -1,172 +0,0 @@ -import { expect, html } from '@open-wc/testing'; -import { createFixture } from '@patternfly/pfe-tools/test/create-fixture.js'; -import { getColor, hexToRgb } from '@patternfly/pfe-tools/test/hex-to-rgb.js'; -import { PfV5Label } from '@patternfly/elements/pf-v5-label/pf-v5-label.js'; -import { PfV5Icon } from '@patternfly/elements/pf-v5-icon/pf-v5-icon.js'; - -import '@patternfly/pfe-tools/test/stub-logger.js'; - -const example = html` - Default -`; - -const exampleWithColorAttribute = html` - Red -`; - -const exampleWithColorAttributeEmpty = html` - Default -`; - -const exampleWithOutlineAttribute = html` - Default Outline -`; - -const exampleWithCompactAttribute = html` - Default Compact -`; - -const exampleWithHref = html` - Link Label -`; - - -describe('', function() { - before(function() { - // replace the default built-in icon set resolveIconName function - // with one that loads local icons. we don't want tests dependent on - // prod servers. - PfV5Icon.addIconSet('rh', function(name: string) { - return new URL(`/elements/pf-v5-icon/test/${name.replace('rh', 'rh-icon')}.svg`); - }); - }); - - it('imperatively instantiates', function() { - expect(document.createElement('pf-v5-label')).to.be.an.instanceof(PfV5Label); - }); - - it('should upgrade', async function() { - const el = await createFixture(example); - const klass = customElements.get('pf-v5-label'); - expect(el) - .to.be.an.instanceOf(klass) - .and - .to.be.an.instanceOf(PfV5Label); - }); - - it('should display default variant', async function() { - const el = await createFixture(example); - await el.updateComplete; - const container = el.shadowRoot!.querySelector('#container')!; - const beforeStyles = getComputedStyle(container, '::before'); - - expect(getColor(container, 'color')).to.deep.equal(hexToRgb('#151515')); - expect(getColor(container, 'background-color')).to.deep.equal(hexToRgb('#f5f5f5')); - expect(beforeStyles.getPropertyValue('border-color')).to.equal('rgb(210, 210, 210)'); - }); - - it('should display color variant if color attribute is present', async function() { - const el = await createFixture(exampleWithColorAttribute); - await el.updateComplete; - const container = el.shadowRoot!.querySelector('#container')!; - const beforeStyles = getComputedStyle(container, '::before'); - - expect(getColor(container, 'color')).to.deep.equal(hexToRgb('#7d1007')); - expect(getColor(container, 'background-color')).to.deep.equal(hexToRgb('#faeae8')); - expect(beforeStyles.getPropertyValue('border-color')).to.equal('rgb(201, 25, 11)'); - }); - - it('should display default variant if color attribute is present but empty', async function() { - const el = await createFixture( exampleWithColorAttributeEmpty); - await el.updateComplete; - const container = el.shadowRoot!.querySelector('#container')!; - const beforeStyles = getComputedStyle(container, '::before'); - - expect(getColor(container, 'color')).to.deep.equal(hexToRgb('#151515')); - expect(getColor(container, 'background-color')).to.deep.equal(hexToRgb('#f5f5f5')); - expect(beforeStyles.getPropertyValue('border-color')).to.equal('rgb(210, 210, 210)'); - }); - - it('should display outline variant if the attribute outline is present', async function() { - const el = await createFixture(exampleWithOutlineAttribute); - await el.updateComplete; - const container = el.shadowRoot!.querySelector('#container')!; - const beforeStyles = getComputedStyle(container, '::before'); - - expect(getColor(container, 'color')).to.deep.equal(hexToRgb('#151515')); - expect(getColor(container, 'background-color')).to.deep.equal(hexToRgb('#ffffff')); - expect(beforeStyles.getPropertyValue('border-color')).to.equal('rgb(210, 210, 210)'); - }); - - describe('with valid icon attribute', function() { - let element: PfV5Label; - beforeEach(async function() { - element = await createFixture(html` - Default Icon - `); - element.updateComplete; - }); - it('should render a pf-v5-icon', async function() { - const icon = element.shadowRoot!.querySelector('pf-v5-icon')!; - expect(icon.hidden).to.be.false; - expect(icon.icon).to.equal(element.icon); - }); - }); - - describe('with empty icon attribute', function() { - let element: PfV5Label; - beforeEach(async function() { - element = await createFixture(html` - Default - `); - element.updateComplete; - }); - it('should not render a pf-v5-icon', async function() { - const icon = element.shadowRoot!.querySelector('pf-v5-icon')!; - expect(icon.hidden).to.be.true; - expect(icon.icon).to.be.undefined; - }); - }); - - it('should display compact version if the attribute is-compact is present', async function() { - const el = await createFixture(exampleWithCompactAttribute); - await el.updateComplete; - const container = el.shadowRoot!.querySelector('#container')!; - const beforeStyles = getComputedStyle(container, '::before'); - const containerStyles = getComputedStyle(container); - - expect(getColor(container, 'color')).to.deep.equal(hexToRgb('#151515')); - expect(getColor(container, 'background-color')).to.deep.equal(hexToRgb('#f5f5f5')); - expect(beforeStyles.getPropertyValue('border-color')).to.equal('rgb(210, 210, 210)'); - - expect(containerStyles.getPropertyValue('padding-top')).to.equal('0px'); - expect(containerStyles.getPropertyValue('padding-right')).to.equal('8px'); // 0.5rem = 8px @ 16px browser default - expect(containerStyles.getPropertyValue('padding-bottom')).to.equal('0px'); - expect(containerStyles.getPropertyValue('padding-left')).to.equal('8px'); // 0.5rem = 8px @ 16px browser default - }); - - describe('with href attribute', function() { - let element: PfV5Label; - beforeEach(async function() { - element = await createFixture(exampleWithHref); - await element.updateComplete; - }); - - it('should render an anchor element', function() { - const link = element.shadowRoot!.querySelector('#link'); - expect(link).to.be.an.instanceOf(HTMLAnchorElement); - }); - - it('should set the href on the anchor', function() { - const link = element.shadowRoot!.querySelector('#link') as HTMLAnchorElement; - expect(link.href).to.equal('https://example.com/'); - }); - - it('should not render an anchor when href is not set', async function() { - const el = await createFixture(example); - await el.updateComplete; - const link = el.shadowRoot!.querySelector('#link'); - expect(link).to.be.null; - }); - }); -}); diff --git a/elements/pf-v6-label/README.md b/elements/pf-v6-label/README.md new file mode 100644 index 0000000000..43811ffdce --- /dev/null +++ b/elements/pf-v6-label/README.md @@ -0,0 +1,60 @@ +# `` + +A label is a compact element for categorization, status, or metadata display. +Labels provide a visual way to describe or tag items using keywords. + +## Usage + +```html +Grey +Blue +Success +``` + +```html + + Removable outline + +``` + +```html + + Link label + +``` + +## Divergences from React `Label` + +### Not implemented + +| React prop | Notes | +|---|---| +| `isEditable` / `editableProps` | Complex inline editing pattern; deferred to a future release | +| `onEditComplete` / `onEditCancel` | Dependent on editable support | +| `render` | React-specific render prop for router integration; not applicable to web components | +| `tooltipPosition` | Tooltip integration for truncated labels; will integrate with `` in a future release | +| `closeBtn` / `closeBtnProps` | Custom close button node; the web component always renders a native ``} + ${!(!this.href && !this.clickable) ? html`` : html` + + + `} + ${!this.removable ? html`` : html` + `} + + `; + } + + #renderStatusIcon(): TemplateResult { + switch (this.status) { + case 'success': + return html``; + case 'warning': + return html``; + case 'danger': + return html``; + case 'info': + return html``; + case 'custom': + return html``; + default: + return html``; + } + } + + #onClose() { + if (this.removable && this.dispatchEvent(new LabelCloseEvent())) { + this.remove(); + } + } +} + +declare global { + interface HTMLElementTagNameMap { + 'pf-v6-label': PfV6Label; + } +} From 2417989669a7b53d4e8feb1a88aed3db317618f2 Mon Sep 17 00:00:00 2001 From: Mark Caron Date: Thu, 13 Aug 2026 10:58:10 -0400 Subject: [PATCH 2/3] chore: fixing CI issues --- elements/pf-v6-label/pf-v6-label.css | 546 +++++++++++++++++++++++++++ elements/pf-v6-label/pf-v6-label.ts | 4 +- 2 files changed, 548 insertions(+), 2 deletions(-) create mode 100644 elements/pf-v6-label/pf-v6-label.css diff --git a/elements/pf-v6-label/pf-v6-label.css b/elements/pf-v6-label/pf-v6-label.css new file mode 100644 index 0000000000..ae5ba0b040 --- /dev/null +++ b/elements/pf-v6-label/pf-v6-label.css @@ -0,0 +1,546 @@ +:host { + display: inline-flex; + align-items: center; + vertical-align: middle; + position: relative; + white-space: nowrap; + border: 0; + isolation: isolate; +} + +:host([hidden]) { + display: none !important; +} + +:host([disabled]) { + pointer-events: none; +} + +#container { + --_bg: + /** Default label background color */ + var(--pf-v6-c-label--BackgroundColor, + var(--pf-t--global--color--nonstatus--gray--default, + light-dark(var(--pf-t--color--gray--20, #e0e0e0), var(--pf-t--color--gray--60, #4d4d4d)))); + --_color: + /** Default label text color */ + var(--pf-v6-c-label--Color, + var(--pf-t--global--text--color--nonstatus--on-gray--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: + /** Label icon color */ + var(--pf-v6-c-label__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-gray--default, + var(--pf-t--color--gray--100, #151515))); + --_border-width: + /** Label border width */ + var(--pf-v6-c-label--BorderWidth, + var(--pf-t--global--border--width--regular, 0)); + --_border-color: + /** Label border color, visible in outline variant or high-contrast mode */ + var(--pf-v6-c-label--BorderColor, + var(--pf-t--global--border--color--high-contrast, transparent)); + --_border-radius: + /** Label border radius */ + var(--pf-v6-c-label--BorderRadius, + var(--pf-t--global--border--radius--pill, 30em)); + --_font-size: + /** Label text font size */ + var(--pf-v6-c-label--FontSize, + var(--pf-t--global--font--size--body--sm, 0.75rem)); + --_gap: + /** Gap between icon, text, and close button */ + var(--pf-v6-c-label--Gap, + var(--pf-t--global--spacer--gap--text-to-element--compact, 0.25rem)); + --_padding-block-start: + /** Block-start padding */ + var(--pf-v6-c-label--PaddingBlockStart, + var(--pf-t--global--spacer--xs, 0.25rem)); + --_padding-block-end: + /** Block-end padding */ + var(--pf-v6-c-label--PaddingBlockEnd, + var(--pf-t--global--spacer--xs, 0.25rem)); + --_padding-inline-start: + /** Inline-start padding */ + var(--pf-v6-c-label--PaddingInlineStart, + var(--pf-t--global--spacer--sm, 0.5rem)); + --_padding-inline-end: + /** Inline-end padding */ + var(--pf-v6-c-label--PaddingInlineEnd, + var(--pf-t--global--spacer--sm, 0.5rem)); + --_max-width: + /** Maximum label width */ + var(--pf-v6-c-label--MaxWidth, 100%); + --_text-max-width: + /** Maximum text width before truncation */ + var(--pf-v6-c-label__text--MaxWidth, 100%); + + display: inline-flex; + align-items: center; + gap: var(--_gap); + max-width: var(--_max-width); + padding-block: var(--_padding-block-start) var(--_padding-block-end); + padding-inline: var(--_padding-inline-start) var(--_padding-inline-end); + font-size: var(--_font-size); + color: var(--_color); + border-radius: var(--_border-radius); +} + +#container::before { + position: absolute; + inset: 0; + z-index: -1; + pointer-events: none; + content: ""; + background-color: var(--_bg); + border: var(--_border-width) solid var(--_border-color); + border-radius: var(--_border-radius); +} + +/* Icon */ + +#icon { + display: inline-flex; + align-items: center; + color: var(--_icon-color); + font-size: var(--pf-v6-c-label__icon--FontSize, + var(--pf-t--global--icon--size--font--body--sm, 0.75rem)); +} + +#icon[hidden] { + display: none; +} + +#icon svg { + fill: currentColor; + block-size: 1em; + inline-size: 1em; +} + +/* Content (a | button | span) */ + +#content { + display: inline-flex; + align-items: center; + gap: var(--_gap); + max-width: 100%; + overflow: hidden; + padding: 0; + color: inherit; + cursor: var(--_cursor, revert); + background: transparent; + border: 0; + font: inherit; + text-decoration: none; +} + +a#content { + color: inherit; + cursor: pointer; +} + +a#content:hover, +a#content:focus { + text-decoration: underline; +} + +button#content { + cursor: pointer; +} + +/* Text */ + +#text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: var(--_text-max-width); +} + +/* Close button */ + +#close { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0; + border: 0; + background: transparent; + color: var(--_icon-color); + cursor: pointer; + font-size: var(--pf-v6-c-label__actions--c-button--FontSize, + var(--pf-t--global--icon--size--font--body--sm, 0.75rem)); + outline-offset: -3px; + border-radius: var(--_border-radius); +} + +#close:hover { + color: var(--_color); +} + +#close:disabled { + cursor: not-allowed; + opacity: 0.5; +} + +#close svg { + fill: currentColor; + block-size: 1em; + inline-size: 1em; +} + +/* ============================== + Non-status color modifiers + ============================== */ + +:host([color="blue"]) #container { + --_bg: var(--pf-v6-c-label--m-blue--BackgroundColor, + var(--pf-t--global--color--nonstatus--blue--default, + light-dark(var(--pf-t--color--blue--20, #b9dafc), var(--pf-t--color--blue--30, #92c5f9)))); + --_color: var(--pf-v6-c-label--m-blue--Color, + var(--pf-t--global--text--color--nonstatus--on-blue--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-blue__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-blue--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="green"]) #container { + --_bg: var(--pf-v6-c-label--m-green--BackgroundColor, + var(--pf-t--global--color--nonstatus--green--default, + light-dark(var(--pf-t--color--green--20, #d1f1bb), var(--pf-t--color--green--30, #afdc8f)))); + --_color: var(--pf-v6-c-label--m-green--Color, + var(--pf-t--global--text--color--nonstatus--on-green--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-green__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-green--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="orange"]) #container { + --_bg: var(--pf-v6-c-label--m-orange--BackgroundColor, + var(--pf-t--global--color--nonstatus--orange--default, + light-dark(var(--pf-t--color--orange--20, #fccb8f), var(--pf-t--color--orange--30, #f8ae54)))); + --_color: var(--pf-v6-c-label--m-orange--Color, + var(--pf-t--global--text--color--nonstatus--on-orange--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-orange__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-orange--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="red"]) #container { + --_bg: var(--pf-v6-c-label--m-red--BackgroundColor, + var(--pf-t--global--color--nonstatus--red--default, + light-dark(var(--pf-t--color--red--20, #fbc5c5), var(--pf-t--color--red--30, #f9a8a8)))); + --_color: var(--pf-v6-c-label--m-red--Color, + var(--pf-t--global--text--color--nonstatus--on-red--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-red__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-red--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="orangered"]) #container { + --_bg: var(--pf-v6-c-label--m-orangered--BackgroundColor, + var(--pf-t--global--color--nonstatus--orangered--default, + light-dark(var(--pf-t--color--red-orange--20, #fbbea8), var(--pf-t--color--red-orange--30, #f89b78)))); + --_color: var(--pf-v6-c-label--m-orangered--Color, + var(--pf-t--global--text--color--nonstatus--on-orangered--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-orangered__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-orangered--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="purple"]) #container { + --_bg: var(--pf-v6-c-label--m-purple--BackgroundColor, + var(--pf-t--global--color--nonstatus--purple--default, + light-dark(var(--pf-t--color--purple--20, #d0c5f4), var(--pf-t--color--purple--30, #b6a6e9)))); + --_color: var(--pf-v6-c-label--m-purple--Color, + var(--pf-t--global--text--color--nonstatus--on-purple--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-purple__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-purple--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="teal"]) #container { + --_bg: var(--pf-v6-c-label--m-teal--BackgroundColor, + var(--pf-t--global--color--nonstatus--teal--default, + light-dark(var(--pf-t--color--teal--20, #b9e5e5), var(--pf-t--color--teal--30, #9ad8d8)))); + --_color: var(--pf-v6-c-label--m-teal--Color, + var(--pf-t--global--text--color--nonstatus--on-teal--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-teal__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-teal--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([color="yellow"]) #container { + --_bg: var(--pf-v6-c-label--m-yellow--BackgroundColor, + var(--pf-t--global--color--nonstatus--yellow--default, + light-dark(var(--pf-t--color--yellow--20, #ffe072), var(--pf-t--color--yellow--30, #ffcc17)))); + --_color: var(--pf-v6-c-label--m-yellow--Color, + var(--pf-t--global--text--color--nonstatus--on-yellow--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-yellow__icon--Color, + var(--pf-t--global--icon--color--nonstatus--on-yellow--default, + var(--pf-t--color--gray--100, #151515))); +} + +/* ============================== + Status modifiers + ============================== */ + +:host([status="success"]) #container { + --_bg: var(--pf-v6-c-label--m-success--BackgroundColor, + var(--pf-t--global--color--status--success--default, + light-dark(var(--pf-t--color--green--60, #3d7317), var(--pf-t--color--green--40, #87bb62)))); + --_color: var(--pf-v6-c-label--m-success--Color, + var(--pf-t--global--text--color--status--on-success--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); + --_icon-color: var(--pf-v6-c-label--m-success__icon--Color, + var(--pf-t--global--icon--color--status--on-success--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); +} + +:host([status="warning"]) #container { + --_bg: var(--pf-v6-c-label--m-warning--BackgroundColor, + var(--pf-t--global--color--status--warning--default, + light-dark(var(--pf-t--color--yellow--30, #ffcc17), var(--pf-t--color--yellow--30, #ffcc17)))); + --_color: var(--pf-v6-c-label--m-warning--Color, + var(--pf-t--global--text--color--status--on-warning--default, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-warning__icon--Color, + var(--pf-t--global--icon--color--status--on-warning--default, + var(--pf-t--color--gray--100, #151515))); +} + +:host([status="danger"]) #container { + --_bg: var(--pf-v6-c-label--m-danger--BackgroundColor, + var(--pf-t--global--color--status--danger--default, + light-dark(var(--pf-t--color--red-orange--60, #b1380b), var(--pf-t--color--red-orange--50, #f0561d)))); + --_color: var(--pf-v6-c-label--m-danger--Color, + var(--pf-t--global--text--color--status--on-danger--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); + --_icon-color: var(--pf-v6-c-label--m-danger__icon--Color, + var(--pf-t--global--icon--color--status--on-danger--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); +} + +:host([status="info"]) #container { + --_bg: var(--pf-v6-c-label--m-info--BackgroundColor, + var(--pf-t--global--color--status--info--default, + light-dark(var(--pf-t--color--purple--50, #5e40be), var(--pf-t--color--purple--30, #b6a6e9)))); + --_color: var(--pf-v6-c-label--m-info--Color, + var(--pf-t--global--text--color--status--on-info--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); + --_icon-color: var(--pf-v6-c-label--m-info__icon--Color, + var(--pf-t--global--icon--color--status--on-info--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); +} + +:host([status="custom"]) #container { + --_bg: var(--pf-v6-c-label--m-custom--BackgroundColor, + var(--pf-t--global--color--status--custom--default, + light-dark(var(--pf-t--color--teal--60, #147878), var(--pf-t--color--teal--40, #63bdbd)))); + --_color: var(--pf-v6-c-label--m-custom--Color, + var(--pf-t--global--text--color--status--on-custom--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); + --_icon-color: var(--pf-v6-c-label--m-custom__icon--Color, + var(--pf-t--global--icon--color--status--on-custom--default, + light-dark(var(--pf-t--color--white, #ffffff), var(--pf-t--color--gray--100, #151515)))); +} + +/* ============================== + Outline variant + ============================== */ + +:host([variant="outline"]) #container { + /** Outline variant background */ + --_bg: var(--pf-v6-c-label--m-outline--BackgroundColor, transparent); + /** Outline variant text color */ + --_color: var(--pf-v6-c-label--m-outline--Color, + var(--pf-t--global--text--color--regular, + var(--pf-t--color--gray--100, #151515))); + --_icon-color: var(--pf-v6-c-label--m-outline__icon--Color, + var(--pf-t--global--icon--color--regular, + var(--pf-t--color--gray--60, #4d4d4d))); + /** Outline variant border width */ + --_border-width: var(--pf-v6-c-label--m-outline--BorderWidth, + var(--pf-t--global--border--width--action--default, 1px)); + /** Outline variant border color */ + --_border-color: var(--pf-v6-c-label--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--gray--default, #8a8d90)); +} + +/* Outline + color: override border color to match the label color */ + +:host([variant="outline"][color="blue"]) #container { + --_border-color: var(--pf-v6-c-label--m-blue--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--blue--default, #73a7d9)); +} + +:host([variant="outline"][color="green"]) #container { + --_border-color: var(--pf-v6-c-label--m-green--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--green--default, #93c572)); +} + +:host([variant="outline"][color="orange"]) #container { + --_border-color: var(--pf-v6-c-label--m-orange--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--orange--default, #dba148)); +} + +:host([variant="outline"][color="red"]) #container { + --_border-color: var(--pf-v6-c-label--m-red--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--red--default, #d98888)); +} + +:host([variant="outline"][color="orangered"]) #container { + --_border-color: var(--pf-v6-c-label--m-orangered--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--orangered--default, #d48a6a)); +} + +:host([variant="outline"][color="purple"]) #container { + --_border-color: var(--pf-v6-c-label--m-purple--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--purple--default, #a08bc7)); +} + +:host([variant="outline"][color="teal"]) #container { + --_border-color: var(--pf-v6-c-label--m-teal--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--teal--default, #7abcbc)); +} + +:host([variant="outline"][color="yellow"]) #container { + --_border-color: var(--pf-v6-c-label--m-yellow--m-outline--BorderColor, + var(--pf-t--global--border--color--nonstatus--yellow--default, #d4ab14)); +} + +/* Outline + status */ + +:host([variant="outline"][status="success"]) #container { + --_border-color: var(--pf-v6-c-label--m-success--m-outline--BorderColor, + var(--pf-t--global--border--color--status--success--default, #3d7317)); + --_icon-color: var(--pf-v6-c-label--m-success--m-outline__icon--Color, + var(--pf-t--global--icon--color--status--success--default, #3d7317)); +} + +:host([variant="outline"][status="warning"]) #container { + --_border-color: var(--pf-v6-c-label--m-warning--m-outline--BorderColor, + var(--pf-t--global--border--color--status--warning--default, #dba148)); + --_icon-color: var(--pf-v6-c-label--m-warning--m-outline__icon--Color, + var(--pf-t--global--icon--color--status--warning--default, #dba148)); +} + +:host([variant="outline"][status="danger"]) #container { + --_border-color: var(--pf-v6-c-label--m-danger--m-outline--BorderColor, + var(--pf-t--global--border--color--status--danger--default, #b1380b)); + --_icon-color: var(--pf-v6-c-label--m-danger--m-outline__icon--Color, + var(--pf-t--global--icon--color--status--danger--default, #b1380b)); +} + +:host([variant="outline"][status="info"]) #container { + --_border-color: var(--pf-v6-c-label--m-info--m-outline--BorderColor, + var(--pf-t--global--border--color--status--info--default, #5e40be)); + --_icon-color: var(--pf-v6-c-label--m-info--m-outline__icon--Color, + var(--pf-t--global--icon--color--status--info--default, #5e40be)); +} + +:host([variant="outline"][status="custom"]) #container { + --_border-color: var(--pf-v6-c-label--m-custom--m-outline--BorderColor, + var(--pf-t--global--border--color--status--custom--default, #147878)); + --_icon-color: var(--pf-v6-c-label--m-custom--m-outline__icon--Color, + var(--pf-t--global--icon--color--status--custom--default, #147878)); +} + +/* ============================== + Clickable / Link hover + ============================== */ + +:host(:is([href], [clickable])) #container { + --_cursor: pointer; +} + +:host(:is([href], [clickable])) #container:has(#content:is(:hover, :focus)) { + --_border-width: var(--pf-v6-c-label--m-clickable--hover--BorderWidth, + var(--pf-t--global--border--width--action--hover, 2px)); + --_border-color: var(--pf-v6-c-label--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--high-contrast, #151515)); +} + +/* ============================== + Compact modifier + ============================== */ + +:host([compact]) #container { + --_padding-block-start: var(--pf-v6-c-label--m-compact--PaddingBlockStart, 0); + --_padding-block-end: var(--pf-v6-c-label--m-compact--PaddingBlockEnd, 0); + --_padding-inline-start: var(--pf-v6-c-label--m-compact--PaddingInlineStart, + var(--pf-t--global--spacer--sm, 0.5rem)); + --_padding-inline-end: var(--pf-v6-c-label--m-compact--PaddingInlineEnd, + var(--pf-t--global--spacer--sm, 0.5rem)); + --_font-size: var(--pf-v6-c-label--m-compact--FontSize, + var(--pf-t--global--font--size--body--sm, 0.75rem)); +} + +/* ============================== + Overflow modifier + ============================== */ + +:host([overflow]) #container { + /** Overflow label text color */ + --_color: var(--pf-v6-c-label--m-overflow--Color, + var(--pf-t--global--text--color--brand--default, #0066cc)); + /** Overflow label background */ + --_bg: var(--pf-v6-c-label--m-overflow--BackgroundColor, + var(--pf-t--global--background--color--action--plain--default, transparent)); + --_border-width: var(--pf-v6-c-label--m-overflow--BorderWidth, + var(--pf-t--global--border--width--action--default, 1px)); + --_border-color: var(--pf-t--global--border--color--default, #d2d2d2); + --_cursor: pointer; +} + +:host([overflow]:is(:hover, :focus-within)) #container { + --_color: var(--pf-v6-c-label--m-overflow--hover--Color, + var(--pf-t--global--text--color--brand--hover, #004080)); + --_bg: var(--pf-v6-c-label--m-overflow--hover--BackgroundColor, + var(--pf-t--global--background--color--action--plain--hover, #f0f0f0)); + --_border-width: var(--pf-v6-c-label--m-overflow--hover--BorderWidth, + var(--pf-t--global--border--width--action--hover, 2px)); +} + +/* ============================== + Disabled modifier + ============================== */ + +:host([disabled]) #container { + /** Disabled background */ + --_bg: var(--pf-v6-c-label--m-disabled--BackgroundColor, + var(--pf-t--global--background--color--disabled--default, #d2d2d2)); + /** Disabled text color */ + --_color: var(--pf-v6-c-label--m-disabled--Color, + var(--pf-t--global--text--color--on-disabled, #6a6e73)); + --_icon-color: var(--pf-v6-c-label--m-disabled__icon--Color, + var(--pf-t--global--icon--color--on-disabled, #6a6e73)); + --_border-width: 0; +} + +/* ============================== + Truncated modifier + ============================== */ + +:host([truncated]) #text { + max-width: var(--_text-max-width); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* ============================== + Slotted icon content + ============================== */ + +::slotted([slot="icon"]) { + color: var(--_icon-color); +} diff --git a/elements/pf-v6-label/pf-v6-label.ts b/elements/pf-v6-label/pf-v6-label.ts index 5428a286a1..bfe63cacf0 100644 --- a/elements/pf-v6-label/pf-v6-label.ts +++ b/elements/pf-v6-label/pf-v6-label.ts @@ -144,8 +144,8 @@ export class PfV6Label extends LitElement { ${!this.href ? html`` : html` `} From 746e7689bae74e5462267c3b9d225eb6ecbe49f7 Mon Sep 17 00:00:00 2001 From: Mark Caron Date: Thu, 13 Aug 2026 11:52:08 -0400 Subject: [PATCH 3/3] feat: fix icons and hover styles. fix import issue in pfv5-label-group --- .../pf-v5-label-group/pf-v5-label-group.ts | 1 + elements/pf-v6-label/pf-v6-label.css | 91 ++++++++++++++++++- elements/pf-v6-label/pf-v6-label.ts | 4 +- 3 files changed, 92 insertions(+), 4 deletions(-) diff --git a/elements/pf-v5-label-group/pf-v5-label-group.ts b/elements/pf-v5-label-group/pf-v5-label-group.ts index 181bbee31c..abed24e1af 100644 --- a/elements/pf-v5-label-group/pf-v5-label-group.ts +++ b/elements/pf-v5-label-group/pf-v5-label-group.ts @@ -7,6 +7,7 @@ import { observes } from '@patternfly/pfe-core/decorators/observes.js'; import { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js'; import { PfV6Label } from '../pf-v6-label/pf-v6-label.js'; +import '@patternfly/elements/pf-v5-button/pf-v5-button.js'; import styles from './pf-v5-label-group.css'; diff --git a/elements/pf-v6-label/pf-v6-label.css b/elements/pf-v6-label/pf-v6-label.css index ae5ba0b040..ba69ef00bd 100644 --- a/elements/pf-v6-label/pf-v6-label.css +++ b/elements/pf-v6-label/pf-v6-label.css @@ -141,7 +141,7 @@ a#content { a#content:hover, a#content:focus { - text-decoration: underline; + text-decoration: none; } button#content { @@ -462,13 +462,100 @@ button#content { --_cursor: pointer; } -:host(:is([href], [clickable])) #container:has(#content:is(:hover, :focus)) { +:host(:not([variant="outline"]):is([href], [clickable]):hover) #container, +:host(:not([variant="outline"]):is([href], [clickable]):focus-within) #container { --_border-width: var(--pf-v6-c-label--m-clickable--hover--BorderWidth, var(--pf-t--global--border--width--action--hover, 2px)); --_border-color: var(--pf-v6-c-label--m-clickable--hover--BorderColor, var(--pf-t--global--border--color--high-contrast, #151515)); } +:host([variant="outline"]:is([href], [clickable]):hover) #container, +:host([variant="outline"]:is([href], [clickable]):focus-within) #container { + --_border-width: var(--pf-v6-c-label--m-outline--m-clickable--hover--BorderWidth, + var(--pf-t--global--border--width--action--hover, 2px)); + --_border-color: var(--pf-v6-c-label--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--gray--hover, #6a6e73)); +} + +:host([variant="outline"][color="blue"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="blue"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-blue--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--blue--hover, #4394e5)); +} + +:host([variant="outline"][color="green"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="green"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-green--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--green--hover, #6dab48)); +} + +:host([variant="outline"][color="orange"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="orange"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-orange--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--orange--hover, #c48522)); +} + +:host([variant="outline"][color="red"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="red"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-red--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--red--hover, #c95959)); +} + +:host([variant="outline"][color="orangered"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="orangered"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-orangered--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--orangered--hover, #c06740)); +} + +:host([variant="outline"][color="purple"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="purple"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-purple--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--purple--hover, #7e64b5)); +} + +:host([variant="outline"][color="teal"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="teal"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-teal--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--teal--hover, #519e9e)); +} + +:host([variant="outline"][color="yellow"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][color="yellow"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-yellow--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--nonstatus--yellow--hover, #b08e00)); +} + +:host([variant="outline"][status="success"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][status="success"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-success--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--status--success--hover, #2e5a10)); +} + +:host([variant="outline"][status="warning"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][status="warning"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-warning--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--status--warning--hover, #a67a18)); +} + +:host([variant="outline"][status="danger"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][status="danger"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-danger--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--status--danger--hover, #8a2a07)); +} + +:host([variant="outline"][status="info"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][status="info"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-info--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--status--info--hover, #462f93)); +} + +:host([variant="outline"][status="custom"]:is([href], [clickable]):hover) #container, +:host([variant="outline"][status="custom"]:is([href], [clickable]):focus-within) #container { + --_border-color: var(--pf-v6-c-label--m-custom--m-outline--m-clickable--hover--BorderColor, + var(--pf-t--global--border--color--status--custom--hover, #0e5a5a)); +} + /* ============================== Compact modifier ============================== */ diff --git a/elements/pf-v6-label/pf-v6-label.ts b/elements/pf-v6-label/pf-v6-label.ts index bfe63cacf0..c2373d27d1 100644 --- a/elements/pf-v6-label/pf-v6-label.ts +++ b/elements/pf-v6-label/pf-v6-label.ts @@ -180,11 +180,11 @@ export class PfV6Label extends LitElement { case 'warning': return html``; case 'danger': - return html``; + return html``; case 'info': return html``; case 'custom': - return html``; + return html``; default: return html``; }