@patternfly/elements 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/custom-elements.json +34 -1
  2. package/package.json +3 -3
  3. package/pf-accordion/pf-accordion-header.js +1 -1
  4. package/pf-accordion/pf-accordion-panel.js +1 -1
  5. package/pf-accordion/pf-accordion.js +1 -1
  6. package/pf-avatar/pf-avatar.js +1 -1
  7. package/pf-back-to-top/pf-back-to-top.js +5 -2
  8. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  9. package/pf-background-image/pf-background-image.js +1 -1
  10. package/pf-badge/pf-badge.js +1 -1
  11. package/pf-banner/pf-banner.js +1 -1
  12. package/pf-button/pf-button.js +1 -1
  13. package/pf-card/pf-card.js +1 -1
  14. package/pf-card/test/pf-card.e2e.js +20 -1
  15. package/pf-card/test/pf-card.e2e.js.map +1 -1
  16. package/pf-chip/pf-chip-group.js +1 -1
  17. package/pf-chip/pf-chip.js +1 -1
  18. package/pf-clipboard-copy/pf-clipboard-copy.js +6 -4
  19. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  20. package/pf-code-block/pf-code-block.js +1 -1
  21. package/pf-dropdown/pf-dropdown-group.js +1 -1
  22. package/pf-dropdown/pf-dropdown-item.js +1 -1
  23. package/pf-dropdown/pf-dropdown-menu.js +1 -1
  24. package/pf-dropdown/pf-dropdown.js +1 -1
  25. package/pf-icon/pf-icon.js +1 -1
  26. package/pf-jump-links/pf-jump-links-item.js +1 -1
  27. package/pf-jump-links/pf-jump-links-list.js +1 -1
  28. package/pf-jump-links/pf-jump-links.css +22 -11
  29. package/pf-jump-links/pf-jump-links.js +2 -2
  30. package/pf-label/pf-label.js +1 -1
  31. package/pf-modal/pf-modal.js +1 -1
  32. package/pf-panel/pf-panel.js +1 -1
  33. package/pf-popover/pf-popover.js +1 -1
  34. package/pf-progress/pf-progress.js +1 -1
  35. package/pf-progress-stepper/pf-progress-step.js +1 -1
  36. package/pf-progress-stepper/pf-progress-stepper.js +1 -1
  37. package/pf-select/pf-option-group.js +1 -1
  38. package/pf-select/pf-option.js +1 -1
  39. package/pf-select/pf-select.js +1 -1
  40. package/pf-spinner/pf-spinner.js +1 -1
  41. package/pf-switch/pf-switch.js +1 -1
  42. package/pf-table/context.d.ts +3 -0
  43. package/pf-table/context.js +3 -0
  44. package/pf-table/context.js.map +1 -0
  45. package/pf-table/pf-caption.js +1 -1
  46. package/pf-table/pf-table.d.ts +1 -0
  47. package/pf-table/pf-table.js +9 -3
  48. package/pf-table/pf-table.js.map +1 -1
  49. package/pf-table/pf-tbody.js +1 -1
  50. package/pf-table/pf-td.js +1 -1
  51. package/pf-table/pf-th.d.ts +1 -0
  52. package/pf-table/pf-th.js +8 -6
  53. package/pf-table/pf-th.js.map +1 -1
  54. package/pf-table/pf-thead.d.ts +1 -0
  55. package/pf-table/pf-thead.js +7 -1
  56. package/pf-table/pf-thead.js.map +1 -1
  57. package/pf-table/pf-tr.js +1 -1
  58. package/pf-tabs/pf-tab-panel.js +1 -1
  59. package/pf-tabs/pf-tab.d.ts +1 -1
  60. package/pf-tabs/pf-tab.js +4 -3
  61. package/pf-tabs/pf-tab.js.map +1 -1
  62. package/pf-tabs/pf-tabs.js +1 -1
  63. package/pf-tabs/test/pf-tabs.spec.js +10 -1
  64. package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
  65. package/pf-text-area/pf-text-area.js +1 -1
  66. package/pf-text-input/pf-text-input.js +1 -1
  67. package/pf-tile/pf-tile.js +1 -1
  68. package/pf-timestamp/pf-timestamp.js +1 -1
  69. package/pf-tooltip/pf-tooltip.js +3 -3
  70. package/pf-tooltip/pf-tooltip.js.map +1 -1
  71. package/pfe.min.js +293 -282
  72. package/pfe.min.js.map +4 -4
@@ -4324,6 +4324,12 @@
4324
4324
  "href": "https://github.com/patternfly/patternfly-elements/tree/main/elements/pf-card/demo/modifiers.html"
4325
4325
  }
4326
4326
  },
4327
+ {
4328
+ "url": "https://patternflyelements.org/components/card/demo/ssr/",
4329
+ "source": {
4330
+ "href": "https://github.com/patternfly/patternfly-elements/tree/main/elements/pf-card/demo/ssr.html"
4331
+ }
4332
+ },
4327
4333
  {
4328
4334
  "url": "https://patternflyelements.org/components/card/demo/title-inline-with-images-and-actions/",
4329
4335
  "source": {
@@ -14835,6 +14841,15 @@
14835
14841
  "privacy": "private",
14836
14842
  "default": "0"
14837
14843
  },
14844
+ {
14845
+ "kind": "field",
14846
+ "name": "thRowContext",
14847
+ "type": {
14848
+ "text": "string"
14849
+ },
14850
+ "privacy": "private",
14851
+ "default": "'rowheader'"
14852
+ },
14838
14853
  {
14839
14854
  "kind": "method",
14840
14855
  "name": "#onRequestExpand",
@@ -15239,6 +15254,15 @@
15239
15254
  },
15240
15255
  "attribute": "key"
15241
15256
  },
15257
+ {
15258
+ "kind": "field",
15259
+ "name": "contextualRole",
15260
+ "type": {
15261
+ "text": "'colheader' | 'rowheader'"
15262
+ },
15263
+ "privacy": "private",
15264
+ "default": "'rowheader'"
15265
+ },
15242
15266
  {
15243
15267
  "kind": "method",
15244
15268
  "name": "#onClick",
@@ -15336,6 +15360,15 @@
15336
15360
  }
15337
15361
  ],
15338
15362
  "members": [
15363
+ {
15364
+ "kind": "field",
15365
+ "name": "thRowContext",
15366
+ "type": {
15367
+ "text": "string"
15368
+ },
15369
+ "privacy": "private",
15370
+ "default": "'colheader'"
15371
+ },
15339
15372
  {
15340
15373
  "kind": "method",
15341
15374
  "name": "#onSlotchange",
@@ -15838,7 +15871,7 @@
15838
15871
  "kind": "field",
15839
15872
  "name": "icons",
15840
15873
  "type": {
15841
- "text": "HTMLElement[]"
15874
+ "text": "HTMLElement[] | undefined"
15842
15875
  },
15843
15876
  "privacy": "private"
15844
15877
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@patternfly/elements",
3
3
  "license": "MIT",
4
- "version": "4.0.1",
4
+ "version": "4.1.0",
5
5
  "description": "PatternFly Elements",
6
6
  "customElements": "custom-elements.json",
7
7
  "type": "module",
@@ -130,8 +130,8 @@
130
130
  "dependencies": {
131
131
  "@lit/context": "^1.1.2",
132
132
  "@patternfly/icons": "^1.0.3",
133
- "@patternfly/pfe-core": "^4.0.1",
134
- "lit": "^3.2.0",
133
+ "@patternfly/pfe-core": "^5.0.0",
134
+ "lit": "^3.2.1",
135
135
  "tslib": "^2.6.3"
136
136
  }
137
137
  }
@@ -131,7 +131,7 @@ PfAccordionHeader.shadowRootOptions = {
131
131
  ...LitElement.shadowRootOptions,
132
132
  delegatesFocus: true,
133
133
  };
134
- PfAccordionHeader.version = "4.0.1";
134
+ PfAccordionHeader.version = "4.1.0";
135
135
  __decorate([
136
136
  property({ reflect: true })
137
137
  ], PfAccordionHeader.prototype, "bordered", void 0);
@@ -28,7 +28,7 @@ let PfAccordionPanel = class PfAccordionPanel extends LitElement {
28
28
  }
29
29
  };
30
30
  PfAccordionPanel.styles = [style];
31
- PfAccordionPanel.version = "4.0.1";
31
+ PfAccordionPanel.version = "4.1.0";
32
32
  __decorate([
33
33
  property({ type: Boolean, reflect: true })
34
34
  ], PfAccordionPanel.prototype, "expanded", void 0);
@@ -300,7 +300,7 @@ _PfAccordion_getIndex = function _PfAccordion_getIndex(el) {
300
300
  return -1;
301
301
  };
302
302
  PfAccordion.styles = [style];
303
- PfAccordion.version = "4.0.1";
303
+ PfAccordion.version = "4.1.0";
304
304
  __decorate([
305
305
  property({ reflect: true, type: Boolean })
306
306
  ], PfAccordion.prototype, "single", void 0);
@@ -49,7 +49,7 @@ _PfAvatar_onLoad = function _PfAvatar_onLoad(event) {
49
49
  this.dispatchEvent(new PfAvatarLoadEvent(event));
50
50
  };
51
51
  PfAvatar.styles = [style];
52
- PfAvatar.version = "4.0.1";
52
+ PfAvatar.version = "4.1.0";
53
53
  __decorate([
54
54
  property()
55
55
  ], PfAvatar.prototype, "src", void 0);
@@ -132,7 +132,10 @@ _PfBackToTop_addScrollListener = function _PfBackToTop_addScrollListener() {
132
132
  return;
133
133
  }
134
134
  __classPrivateFieldSet(this, _PfBackToTop_scrollSpy, !!this.scrollableSelector, "f");
135
- if (__classPrivateFieldGet(this, _PfBackToTop_scrollSpy, "f") && this.scrollableSelector) {
135
+ if (isServer) {
136
+ return;
137
+ }
138
+ else if (__classPrivateFieldGet(this, _PfBackToTop_scrollSpy, "f") && this.scrollableSelector) {
136
139
  const scrollableElement = __classPrivateFieldGet(this, _PfBackToTop_instances, "a", _PfBackToTop_rootNode_get)?.querySelector?.(this.scrollableSelector);
137
140
  if (!scrollableElement) {
138
141
  __classPrivateFieldGet(this, _PfBackToTop_logger, "f").error(`unable to find element with selector ${this.scrollableSelector}`);
@@ -147,7 +150,7 @@ _PfBackToTop_addScrollListener = function _PfBackToTop_addScrollListener() {
147
150
  __classPrivateFieldGet(this, _PfBackToTop_toggleVisibility, "f").call(this);
148
151
  };
149
152
  PfBackToTop.styles = [styles];
150
- PfBackToTop.version = "4.0.1";
153
+ PfBackToTop.version = "4.1.0";
151
154
  __decorate([
152
155
  property({ reflect: true })
153
156
  ], PfBackToTop.prototype, "icon", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-back-to-top.js","sourceRoot":"","sources":["pf-back-to-top.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, isServer, type PropertyValues, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport styles from './pf-back-to-top.css';\n\n/**\n * The **back to top** component is a shortcut that allows users to quickly navigate to the top of a lengthy content page.\n * @summary A shortcut that allows users to quickly navigate to the top of a lengthy content page.\n * @csspart trigger - The `<a>` or `<pf-button>` element\n * @slot icon\n * Contains the prefix icon to display before the link or button.\n * @slot\n * Text to display inside the link or button.\n * @cssprop {<length>} [--pf-c-back-to-top--Right=3rem`]\n * @cssprop {<length>} [--pf-c-back-to-top--Bottom=1.5rem`]\n * @cssprop [--pf-c-back-to-top--c-button--BoxShadow=0 0.75rem 0.75rem -0.5rem rgba(3, 3, 3, 0.18)]\n * @cssprop {<length>} [--pf-c-button--FontSize=0.75rem]\n * @cssprop {<length>|<percentage>} [--pf-c-button--BorderRadius=30em]\n * @cssprop {<length>} [--pf-c-button--PaddingTop=0.25rem]\n * @cssprop {<length>} [--pf-c-button--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-button--PaddingBottom=0.25rem]\n * @cssprop {<length>} [--pf-c-button--PaddingLeft=0.5rem]\n * @cssprop {<color>} [--pf-c-button--m-primary--Color=#fff]\n * @cssprop {<color>} [--pf-c-button--m-primary--BackgroundColor=#06c]\n * @cssprop {<length>} [--pf-c-button__icon--m-end--MarginLeft=0.25rem]\n */\n@customElement('pf-back-to-top')\nexport class PfBackToTop extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property({ reflect: true }) icon?: string;\n\n /** Icon set for the `icon` property */\n @property({ attribute: 'icon-set' }) iconSet?: string;\n\n /** Flag to always show back to top button, defaults to false. */\n @property({ reflect: true, type: Boolean, attribute: 'always-visible' }) alwaysVisible = false;\n\n /** Element selector to spy on for scrolling. Not passing a selector defaults to spying on window scroll events */\n @property({ reflect: true, attribute: 'scrollable-selector' }) scrollableSelector?: string;\n\n /** Distance from the top of the scrollable element to trigger the visibility of the back to top button */\n @property({ type: Number, attribute: 'scroll-distance' }) scrollDistance = 400;\n\n /** Accessible name for the back-to-top link, use when component does not have slotted text */\n @property() label?: string;\n\n /** Page fragment link to target element, must include hash ex: #top */\n @property({ reflect: true }) href?: string;\n\n #scrollSpy = false;\n\n #visible = false;\n\n #scrollElement?: Element | Window;\n\n #hasSlottedText = false;\n\n #logger = new Logger(this);\n\n get #rootNode(): Document | ShadowRoot | null {\n let root = null;\n if (isServer) {\n return null;\n } else if ((root = this.getRootNode()) instanceof Document || root instanceof ShadowRoot) {\n return root;\n } else {\n return document;\n }\n }\n\n get #ariaLabel(): string | undefined {\n if (this.#hasSlottedText) {\n return undefined;\n }\n return this.label ?? 'Back to top';\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#addScrollListener();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#removeScrollListener();\n }\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('scrollableSelector')) {\n this.#addScrollListener();\n }\n if (changed.has('alwaysVisible')) {\n this.#toggleVisibility();\n }\n }\n\n render(): TemplateResult<1> {\n // ensure href has a hash\n if (this.href && this.href.charAt(0) !== '#') {\n this.href = `#${this.href}`;\n this.#logger.warn(`missing hash in href fragment link`);\n }\n\n if (this.href) {\n return html`\n <a href=\"${this.href}\" ?hidden=\"${!this.#visible}\" part=\"trigger\" aria-label=\"${ifDefined(this.#ariaLabel)}\">\n <slot name=\"icon\"></slot>\n <slot @slotchange=\"${this.#onSlotchange}\"></slot>\n <pf-icon icon=\"angle-up\" set=\"fas\"></pf-icon>\n </a>\n `;\n } else {\n return html`\n <pf-button\n icon=\"${ifDefined(this.icon)}\"\n icon-set=\"${ifDefined(this.iconSet)}\"\n ?hidden=\"${!this.#visible}\"\n tabindex=\"${this.#visible ? '0' : '-1'}\"\n part=\"trigger\"\n label=\"${ifDefined(this.#ariaLabel)}\"\n >\n <slot name=\"icon\" slot=\"icon\"></slot>\n <span>\n <slot></slot>\n <pf-icon icon=\"angle-up\" set=\"fas\"></pf-icon>\n </span>\n </pf-button>\n `;\n }\n }\n\n #onSlotchange(event: Event) {\n const slot = event.currentTarget as HTMLSlotElement;\n const nodes = slot.assignedNodes();\n this.#hasSlottedText = nodes.length > 0 ? true : false;\n this.requestUpdate();\n }\n\n #removeScrollListener() {\n this.#scrollElement?.removeEventListener('scroll', this.#toggleVisibility);\n }\n\n #addScrollListener() {\n this.#removeScrollListener();\n\n if (this.scrollableSelector?.trim() === '') {\n this.#logger.error(`scrollable-selector attribute cannot be empty`);\n return;\n }\n\n this.#scrollSpy = !!this.scrollableSelector;\n if (this.#scrollSpy && this.scrollableSelector) {\n const scrollableElement = this.#rootNode?.querySelector?.(this.scrollableSelector);\n if (!scrollableElement) {\n this.#logger.error(`unable to find element with selector ${this.scrollableSelector}`);\n return;\n }\n this.#scrollElement = scrollableElement;\n } else {\n this.#scrollElement = window;\n }\n\n this.#scrollElement.addEventListener('scroll', this.#toggleVisibility, { passive: true });\n this.#toggleVisibility();\n }\n\n #toggleVisibility = () => {\n if (this.alwaysVisible) {\n this.#visible = true;\n this.requestUpdate();\n return;\n }\n const previousVisibility = this.#visible;\n if (this.#scrollElement) {\n const scrolled =\n (this.#scrollElement instanceof Window) ?\n this.#scrollElement.scrollY\n : this.#scrollElement.scrollTop;\n this.#visible = (scrolled > this.scrollDistance);\n if (previousVisibility !== this.#visible) {\n this.requestUpdate();\n }\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-back-to-top': PfBackToTop;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-back-to-top.js","sourceRoot":"","sources":["pf-back-to-top.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, isServer, type PropertyValues, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport styles from './pf-back-to-top.css';\n\n/**\n * The **back to top** component is a shortcut that allows users to quickly navigate to the top of a lengthy content page.\n * @summary A shortcut that allows users to quickly navigate to the top of a lengthy content page.\n * @csspart trigger - The `<a>` or `<pf-button>` element\n * @slot icon\n * Contains the prefix icon to display before the link or button.\n * @slot\n * Text to display inside the link or button.\n * @cssprop {<length>} [--pf-c-back-to-top--Right=3rem`]\n * @cssprop {<length>} [--pf-c-back-to-top--Bottom=1.5rem`]\n * @cssprop [--pf-c-back-to-top--c-button--BoxShadow=0 0.75rem 0.75rem -0.5rem rgba(3, 3, 3, 0.18)]\n * @cssprop {<length>} [--pf-c-button--FontSize=0.75rem]\n * @cssprop {<length>|<percentage>} [--pf-c-button--BorderRadius=30em]\n * @cssprop {<length>} [--pf-c-button--PaddingTop=0.25rem]\n * @cssprop {<length>} [--pf-c-button--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-button--PaddingBottom=0.25rem]\n * @cssprop {<length>} [--pf-c-button--PaddingLeft=0.5rem]\n * @cssprop {<color>} [--pf-c-button--m-primary--Color=#fff]\n * @cssprop {<color>} [--pf-c-button--m-primary--BackgroundColor=#06c]\n * @cssprop {<length>} [--pf-c-button__icon--m-end--MarginLeft=0.25rem]\n */\n@customElement('pf-back-to-top')\nexport class PfBackToTop extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property({ reflect: true }) icon?: string;\n\n /** Icon set for the `icon` property */\n @property({ attribute: 'icon-set' }) iconSet?: string;\n\n /** Flag to always show back to top button, defaults to false. */\n @property({ reflect: true, type: Boolean, attribute: 'always-visible' }) alwaysVisible = false;\n\n /** Element selector to spy on for scrolling. Not passing a selector defaults to spying on window scroll events */\n @property({ reflect: true, attribute: 'scrollable-selector' }) scrollableSelector?: string;\n\n /** Distance from the top of the scrollable element to trigger the visibility of the back to top button */\n @property({ type: Number, attribute: 'scroll-distance' }) scrollDistance = 400;\n\n /** Accessible name for the back-to-top link, use when component does not have slotted text */\n @property() label?: string;\n\n /** Page fragment link to target element, must include hash ex: #top */\n @property({ reflect: true }) href?: string;\n\n #scrollSpy = false;\n\n #visible = false;\n\n #scrollElement?: Element | Window;\n\n #hasSlottedText = false;\n\n #logger = new Logger(this);\n\n get #rootNode(): Document | ShadowRoot | null {\n let root = null;\n if (isServer) {\n return null;\n } else if ((root = this.getRootNode()) instanceof Document || root instanceof ShadowRoot) {\n return root;\n } else {\n return document;\n }\n }\n\n get #ariaLabel(): string | undefined {\n if (this.#hasSlottedText) {\n return undefined;\n }\n return this.label ?? 'Back to top';\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#addScrollListener();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#removeScrollListener();\n }\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('scrollableSelector')) {\n this.#addScrollListener();\n }\n if (changed.has('alwaysVisible')) {\n this.#toggleVisibility();\n }\n }\n\n render(): TemplateResult<1> {\n // ensure href has a hash\n if (this.href && this.href.charAt(0) !== '#') {\n this.href = `#${this.href}`;\n this.#logger.warn(`missing hash in href fragment link`);\n }\n\n if (this.href) {\n return html`\n <a href=\"${this.href}\" ?hidden=\"${!this.#visible}\" part=\"trigger\" aria-label=\"${ifDefined(this.#ariaLabel)}\">\n <slot name=\"icon\"></slot>\n <slot @slotchange=\"${this.#onSlotchange}\"></slot>\n <pf-icon icon=\"angle-up\" set=\"fas\"></pf-icon>\n </a>\n `;\n } else {\n return html`\n <pf-button\n icon=\"${ifDefined(this.icon)}\"\n icon-set=\"${ifDefined(this.iconSet)}\"\n ?hidden=\"${!this.#visible}\"\n tabindex=\"${this.#visible ? '0' : '-1'}\"\n part=\"trigger\"\n label=\"${ifDefined(this.#ariaLabel)}\"\n >\n <slot name=\"icon\" slot=\"icon\"></slot>\n <span>\n <slot></slot>\n <pf-icon icon=\"angle-up\" set=\"fas\"></pf-icon>\n </span>\n </pf-button>\n `;\n }\n }\n\n #onSlotchange(event: Event) {\n const slot = event.currentTarget as HTMLSlotElement;\n const nodes = slot.assignedNodes();\n this.#hasSlottedText = nodes.length > 0 ? true : false;\n this.requestUpdate();\n }\n\n #removeScrollListener() {\n this.#scrollElement?.removeEventListener('scroll', this.#toggleVisibility);\n }\n\n #addScrollListener() {\n this.#removeScrollListener();\n\n if (this.scrollableSelector?.trim() === '') {\n this.#logger.error(`scrollable-selector attribute cannot be empty`);\n return;\n }\n\n this.#scrollSpy = !!this.scrollableSelector;\n if (isServer) {\n return;\n } else if (this.#scrollSpy && this.scrollableSelector) {\n const scrollableElement = this.#rootNode?.querySelector?.(this.scrollableSelector);\n if (!scrollableElement) {\n this.#logger.error(`unable to find element with selector ${this.scrollableSelector}`);\n return;\n }\n this.#scrollElement = scrollableElement;\n } else {\n this.#scrollElement = window;\n }\n\n this.#scrollElement.addEventListener('scroll', this.#toggleVisibility, { passive: true });\n this.#toggleVisibility();\n }\n\n #toggleVisibility = () => {\n if (this.alwaysVisible) {\n this.#visible = true;\n this.requestUpdate();\n return;\n }\n const previousVisibility = this.#visible;\n if (this.#scrollElement) {\n const scrolled =\n (this.#scrollElement instanceof Window) ?\n this.#scrollElement.scrollY\n : this.#scrollElement.scrollTop;\n this.#visible = (scrolled > this.scrollDistance);\n if (previousVisibility !== this.#visible) {\n this.requestUpdate();\n }\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-back-to-top': PfBackToTop;\n }\n}\n"]}
@@ -74,7 +74,7 @@ _PfBackgroundImage_onSlotChange = function _PfBackgroundImage_onSlotChange() {
74
74
  }
75
75
  };
76
76
  PfBackgroundImage.styles = [styles];
77
- PfBackgroundImage.version = "4.0.1";
77
+ PfBackgroundImage.version = "4.1.0";
78
78
  __decorate([
79
79
  property({ reflect: true })
80
80
  ], PfBackgroundImage.prototype, "src", void 0);
@@ -16,7 +16,7 @@ let PfBadge = class PfBadge extends LitElement {
16
16
  }
17
17
  };
18
18
  PfBadge.styles = [styles];
19
- PfBadge.version = "4.0.1";
19
+ PfBadge.version = "4.1.0";
20
20
  __decorate([
21
21
  property({ reflect: true })
22
22
  ], PfBadge.prototype, "state", void 0);
@@ -36,7 +36,7 @@ let PfBanner = class PfBanner extends LitElement {
36
36
  };
37
37
  _PfBanner_slots = new WeakMap();
38
38
  PfBanner.styles = [styles];
39
- PfBanner.version = "4.0.1";
39
+ PfBanner.version = "4.1.0";
40
40
  __decorate([
41
41
  property({ reflect: true })
42
42
  ], PfBanner.prototype, "variant", void 0);
@@ -170,7 +170,7 @@ PfButton.styles = [
170
170
  iconStyles,
171
171
  styles,
172
172
  ];
173
- PfButton.version = "4.0.1";
173
+ PfButton.version = "4.1.0";
174
174
  __decorate([
175
175
  property({ reflect: true })
176
176
  ], PfButton.prototype, "type", void 0);
@@ -49,7 +49,7 @@ let PfCard = class PfCard extends LitElement {
49
49
  };
50
50
  _PfCard_slots = new WeakMap();
51
51
  PfCard.styles = [style];
52
- PfCard.version = "4.0.1";
52
+ PfCard.version = "4.1.0";
53
53
  __decorate([
54
54
  property({ reflect: true })
55
55
  ], PfCard.prototype, "size", void 0);
@@ -1,7 +1,8 @@
1
- import { test } from '@playwright/test';
1
+ import { test, expect } from '@playwright/test';
2
2
  import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
3
3
  import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
4
4
  const tagName = 'pf-card';
5
+ const html = String.raw;
5
6
  test.describe(tagName, () => {
6
7
  test('snapshot', async ({ page }) => {
7
8
  const componentPage = new PfeDemoPage(page, tagName);
@@ -19,5 +20,23 @@ test.describe(tagName, () => {
19
20
  });
20
21
  await fixture.snapshots();
21
22
  });
23
+ test('ssr hints', async ({ browser }) => {
24
+ const fixture = new SSRPage({
25
+ tagName,
26
+ browser,
27
+ importSpecifiers: [`@patternfly/elements/${tagName}/${tagName}.js`],
28
+ demoContent: html `
29
+ <pf-card ssr-hint-has-slotted-default
30
+ ssr-hint-has-slotted="header,footer">
31
+ <h2 slot="header">Header</h2>
32
+ <span>Body</span>
33
+ <span slot="footer">Footer</span>
34
+ </pf-card>
35
+ `,
36
+ });
37
+ await fixture.updateCompleteFor('pf-card');
38
+ await expect(fixture.page.locator('pf-card #title')).toHaveAttribute('hidden');
39
+ await expect(fixture.page.locator('pf-card #header')).not.toHaveAttribute('hidden');
40
+ });
22
41
  });
23
42
  //# sourceMappingURL=pf-card.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pf-card.e2e.js","sourceRoot":"","sources":["pf-card.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-card';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n});\n"]}
1
+ {"version":3,"file":"pf-card.e2e.js","sourceRoot":"","sources":["pf-card.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AAExB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,gBAAgB,EAAE,CAAC,wBAAwB,OAAO,IAAI,OAAO,KAAK,CAAC;YACnE,WAAW,EAAE,IAAI,CAAA;;;;;;;OAOhB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-card';\n\nconst html = String.raw;\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n\n test('ssr hints', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n importSpecifiers: [`@patternfly/elements/${tagName}/${tagName}.js`],\n demoContent: html`\n <pf-card ssr-hint-has-slotted-default\n ssr-hint-has-slotted=\"header,footer\">\n <h2 slot=\"header\">Header</h2>\n <span>Body</span>\n <span slot=\"footer\">Footer</span>\n </pf-card>\n `,\n });\n await fixture.updateCompleteFor('pf-card');\n await expect(fixture.page.locator('pf-card #title')).toHaveAttribute('hidden');\n await expect(fixture.page.locator('pf-card #header')).not.toHaveAttribute('hidden');\n });\n});\n"]}
@@ -190,7 +190,7 @@ PfChipGroup.shadowRootOptions = {
190
190
  ...LitElement.shadowRootOptions,
191
191
  delegatesFocus: true,
192
192
  };
193
- PfChipGroup.version = "4.0.1";
193
+ PfChipGroup.version = "4.1.0";
194
194
  __decorate([
195
195
  property({ attribute: 'accessible-label', type: String })
196
196
  ], PfChipGroup.prototype, "accessibleLabel", void 0);
@@ -64,7 +64,7 @@ PfChip.shadowRootOptions = {
64
64
  ...LitElement.shadowRootOptions,
65
65
  delegatesFocus: true,
66
66
  };
67
- PfChip.version = "4.0.1";
67
+ PfChip.version = "4.1.0";
68
68
  __decorate([
69
69
  property({ attribute: 'accessible-close-label', type: String })
70
70
  ], PfChip.prototype, "accessibleCloseLabel", void 0);
@@ -1,6 +1,6 @@
1
1
  var _PfClipboardCopy_instances, _PfClipboardCopy_copied, _PfClipboardCopy_mo, _PfClipboardCopy_onClick, _PfClipboardCopy_onChange, _PfClipboardCopy_onMutation, _PfClipboardCopy_dedent;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
3
- import { LitElement, html } from 'lit';
3
+ import { LitElement, html, isServer } from 'lit';
4
4
  import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { property } from 'lit/decorators/property.js';
6
6
  import { classMap } from 'lit/directives/class-map.js';
@@ -56,7 +56,9 @@ let PfClipboardCopy = class PfClipboardCopy extends LitElement {
56
56
  connectedCallback() {
57
57
  super.connectedCallback();
58
58
  __classPrivateFieldGet(this, _PfClipboardCopy_mo, "f").observe(this, { characterData: true });
59
- __classPrivateFieldGet(this, _PfClipboardCopy_instances, "m", _PfClipboardCopy_onMutation).call(this);
59
+ if (!isServer) {
60
+ __classPrivateFieldGet(this, _PfClipboardCopy_instances, "m", _PfClipboardCopy_onMutation).call(this);
61
+ }
60
62
  }
61
63
  /**
62
64
  * @todo fix the collapsed whitespace between the end of the "inline-compact" variant and the text node.
@@ -128,7 +130,7 @@ _PfClipboardCopy_onChange = function _PfClipboardCopy_onChange(e) {
128
130
  this.value = value;
129
131
  };
130
132
  _PfClipboardCopy_onMutation = function _PfClipboardCopy_onMutation() {
131
- if (this.childNodes.length > 0) {
133
+ if (this.childNodes?.length > 0) {
132
134
  this.value = this.getAttribute('value') ?? __classPrivateFieldGet(this, _PfClipboardCopy_instances, "m", _PfClipboardCopy_dedent).call(this, Array.from(this.childNodes, child => (child instanceof Element || child instanceof Text) ? (child.textContent ?? '') : '')
133
135
  .join(''));
134
136
  }
@@ -143,7 +145,7 @@ PfClipboardCopy.shadowRootOptions = {
143
145
  ...LitElement.shadowRootOptions,
144
146
  delegatesFocus: true,
145
147
  };
146
- PfClipboardCopy.version = "4.0.1";
148
+ PfClipboardCopy.version = "4.1.0";
147
149
  __decorate([
148
150
  property({ attribute: 'click-tip' })
149
151
  ], PfClipboardCopy.prototype, "clickTip", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-clipboard-copy.js","sourceRoot":"","sources":["pf-clipboard-copy.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport styles from './pf-clipboard-copy.css';\nimport formControlStyles from '../form-control.css';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\nimport '@patternfly/elements/pf-tooltip/pf-tooltip.js';\n\nconst sleep = (ms?: number) => new Promise(r => setTimeout(r, ms));\n\nexport class PfClipboardCopyCopiedEvent extends Event {\n constructor(public text: string) {\n super('copy', { bubbles: true });\n }\n}\n\n/**\n * The **clipboard copy** component allows users to quickly and easily copy content to their clipboard.\n * @slot - Place content to copy here, or use the `value` attribute\n * @slot actions - Place additional action buttons here\n * @fires {PfClipboardCopyCopiedEvent} copy - when the text snippet is successfully copied.\n * @cssprop [--pf-c-clipboard-copy__toggle-icon--Transition=.2s ease-in 0s]\n * @cssprop [--pf-c-clipboard-copy--m-expanded__toggle-icon--Rotate=90deg]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingTop=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #fff)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderTopWidth=0]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderRightWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderLeftWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderColor=var(--pf-global--BorderColor--100, #d2d2d2)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--OutlineOffset=calc(-1 * var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingTop=0]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingBottom=0]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy--m-inline--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]\n * @cssprop [--pf-c-clipboard-copy__text--m-code--FontFamily=var(--pf-global--FontFamily--monospace, \"Liberation Mono\", consolas, \"SFMono-Regular\", menlo, monaco, \"Courier New\", monospace)]\n * @cssprop [--pf-c-clipboard-copy__text--m-code--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--MarginTop=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]\n * @cssprop [--pf-c-clipboard-copy__actions-item--MarginBottom=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n */\n@customElement('pf-clipboard-copy')\nexport class PfClipboardCopy extends LitElement {\n static readonly styles: CSSStyleSheet[] = [formControlStyles, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Tooltip message to display when clicking the copy button */\n @property({ attribute: 'click-tip' }) clickTip = 'Successfully copied to clipboard!';\n\n /** Tooltip message to display when hover the copy button */\n @property({ attribute: 'hover-tip' }) hoverTip = 'Copy to clipboard';\n\n /** Accessible label to use on the text input. */\n @property({ attribute: 'accessible-text-label' }) accessibleTextLabel = 'Copyable input';\n\n /** Accessible label to use on the toggle button. */\n @property({ attribute: 'accessible-toggle-label' }) accessibleToggleLabel = 'Show content';\n\n /** Delay in ms before the tooltip appears. */\n @property({ type: Number, attribute: 'entry-delay' }) entryDelay = 300;\n\n /** Delay in ms before the tooltip disappears. */\n @property({ type: Number, attribute: 'exit-delay' }) exitDelay = 1500;\n\n /** Flag to determine if inline clipboard copy should be block styling */\n @property({ type: Boolean, reflect: true }) block = false;\n\n /** Flag to determine if clipboard copy content includes code */\n @property({ type: Boolean, reflect: true }) code = false;\n\n /** Flag to determine if clipboard copy is in the expanded state */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /** Implies not `inline`. */\n @property({ type: Boolean, reflect: true }) expandable = false;\n\n /** Flag to show if the input is read only. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Implies not expandable. Overrules `expandable`. */\n @property({ type: Boolean, reflect: true }) inline = false;\n\n /** Flag to determine if inline clipboard copy should have compact styling */\n @property({ type: Boolean, reflect: true }) compact = false;\n\n /** String to copy */\n @property() value = '';\n\n #copied = false;\n\n #mo = new MutationObserver(() => this.#onMutation());\n\n connectedCallback(): void {\n super.connectedCallback();\n this.#mo.observe(this, { characterData: true });\n this.#onMutation();\n }\n\n /**\n * @todo fix the collapsed whitespace between the end of the \"inline-compact\" variant and the text node.\n * This demonstrates the collapsed whitespace issue.\n * The extra space between the closing slot tag and the closing template literal results in a collapsed whitespace.\n */\n render(): TemplateResult<1> {\n const { expanded, expandable, inline, compact, code, block, readonly } = this;\n return html`\n <div id=\"container\" class=\"${classMap({ code, expanded, inline, compact, block })}\">\n <div id=\"input-group\">\n <div id=\"wrapper\">\n <pf-button id=\"expand-button\"\n variant=\"control\"\n label=\"EXPAND\"\n ?inert=\"${!expandable}\"\n @click=\"${this.#onClick}\">\n <pf-icon icon=\"chevron-right\"></pf-icon>\n </pf-button>\n </div>\n <span ?hidden=\"${!(inline || compact)}\">${this.value}</span>\n <input aria-label=\"${this.accessibleTextLabel}\"\n ?hidden=\"${inline || compact}\"\n ?disabled=\"${expanded || readonly}\"\n .value=\"${this.value}\"\n @input=\"${this.#onChange}\">\n <pf-tooltip>\n <pf-button id=\"copy-button\"\n icon=\"copy\"\n ?plain=\"${inline || compact}\"\n variant=\"${ifDefined(!(inline || compact) ? 'control' : undefined)}\"\n label=\"${this.hoverTip}\"\n @click=\"${this.copy}\">\n </pf-button>\n <span slot=\"content\">${this.#copied ? this.clickTip : this.hoverTip}</span>\n </pf-tooltip>\n <slot name=\"actions\"></slot>\n </div>\n <textarea .value=\"${this.value}\"\n .disabled=\"${this.readonly}\"\n ?hidden=\"${!(expandable && expanded)}\"\n @input=\"${this.#onChange}\">\n </textarea>\n </div>\n `;\n }\n\n #onClick() {\n this.expanded = !this.expanded;\n }\n\n #onChange(e: Event) {\n const { value } = e.target as HTMLInputElement || HTMLTextAreaElement;\n this.value = value;\n }\n\n #onMutation() {\n if (this.childNodes.length > 0) {\n this.value = this.getAttribute('value') ?? this.#dedent(Array.from(this.childNodes, child =>\n (child instanceof Element || child instanceof Text) ? (child.textContent ?? '') : '')\n .join(''));\n }\n }\n\n #dedent(str: string): string {\n const stripped = str.replace(/^\\n/, '');\n const match = stripped.match(/^\\s+/);\n return match ? stripped.replace(new RegExp(`^${match[0]}`, 'gm'), '') : str;\n }\n\n /**\n * Copy the current value to the clipboard.\n */\n async copy(): Promise<void> {\n await navigator.clipboard.writeText(this.value);\n this.dispatchEvent(new PfClipboardCopyCopiedEvent(this.value));\n await sleep(this.entryDelay);\n this.#copied = true;\n this.requestUpdate();\n await sleep(this.exitDelay);\n this.#copied = false;\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-clipboard-copy': PfClipboardCopy;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-clipboard-copy.js","sourceRoot":"","sources":["pf-clipboard-copy.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, isServer, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport styles from './pf-clipboard-copy.css';\nimport formControlStyles from '../form-control.css';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\nimport '@patternfly/elements/pf-tooltip/pf-tooltip.js';\n\nconst sleep = (ms?: number) => new Promise(r => setTimeout(r, ms));\n\nexport class PfClipboardCopyCopiedEvent extends Event {\n constructor(public text: string) {\n super('copy', { bubbles: true });\n }\n}\n\n/**\n * The **clipboard copy** component allows users to quickly and easily copy content to their clipboard.\n * @slot - Place content to copy here, or use the `value` attribute\n * @slot actions - Place additional action buttons here\n * @fires {PfClipboardCopyCopiedEvent} copy - when the text snippet is successfully copied.\n * @cssprop [--pf-c-clipboard-copy__toggle-icon--Transition=.2s ease-in 0s]\n * @cssprop [--pf-c-clipboard-copy--m-expanded__toggle-icon--Rotate=90deg]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingTop=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #fff)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderTopWidth=0]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderRightWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderLeftWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderColor=var(--pf-global--BorderColor--100, #d2d2d2)]\n * @cssprop [--pf-c-clipboard-copy__expandable-content--OutlineOffset=calc(-1 * var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingTop=0]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingBottom=0]\n * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy--m-inline--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]\n * @cssprop [--pf-c-clipboard-copy__text--m-code--FontFamily=var(--pf-global--FontFamily--monospace, \"Liberation Mono\", consolas, \"SFMono-Regular\", menlo, monaco, \"Courier New\", monospace)]\n * @cssprop [--pf-c-clipboard-copy__text--m-code--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--MarginTop=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]\n * @cssprop [--pf-c-clipboard-copy__actions-item--MarginBottom=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n */\n@customElement('pf-clipboard-copy')\nexport class PfClipboardCopy extends LitElement {\n static readonly styles: CSSStyleSheet[] = [formControlStyles, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Tooltip message to display when clicking the copy button */\n @property({ attribute: 'click-tip' }) clickTip = 'Successfully copied to clipboard!';\n\n /** Tooltip message to display when hover the copy button */\n @property({ attribute: 'hover-tip' }) hoverTip = 'Copy to clipboard';\n\n /** Accessible label to use on the text input. */\n @property({ attribute: 'accessible-text-label' }) accessibleTextLabel = 'Copyable input';\n\n /** Accessible label to use on the toggle button. */\n @property({ attribute: 'accessible-toggle-label' }) accessibleToggleLabel = 'Show content';\n\n /** Delay in ms before the tooltip appears. */\n @property({ type: Number, attribute: 'entry-delay' }) entryDelay = 300;\n\n /** Delay in ms before the tooltip disappears. */\n @property({ type: Number, attribute: 'exit-delay' }) exitDelay = 1500;\n\n /** Flag to determine if inline clipboard copy should be block styling */\n @property({ type: Boolean, reflect: true }) block = false;\n\n /** Flag to determine if clipboard copy content includes code */\n @property({ type: Boolean, reflect: true }) code = false;\n\n /** Flag to determine if clipboard copy is in the expanded state */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /** Implies not `inline`. */\n @property({ type: Boolean, reflect: true }) expandable = false;\n\n /** Flag to show if the input is read only. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Implies not expandable. Overrules `expandable`. */\n @property({ type: Boolean, reflect: true }) inline = false;\n\n /** Flag to determine if inline clipboard copy should have compact styling */\n @property({ type: Boolean, reflect: true }) compact = false;\n\n /** String to copy */\n @property() value = '';\n\n #copied = false;\n\n #mo = new MutationObserver(() => this.#onMutation());\n\n connectedCallback(): void {\n super.connectedCallback();\n this.#mo.observe(this, { characterData: true });\n if (!isServer) {\n this.#onMutation();\n }\n }\n\n /**\n * @todo fix the collapsed whitespace between the end of the \"inline-compact\" variant and the text node.\n * This demonstrates the collapsed whitespace issue.\n * The extra space between the closing slot tag and the closing template literal results in a collapsed whitespace.\n */\n render(): TemplateResult<1> {\n const { expanded, expandable, inline, compact, code, block, readonly } = this;\n return html`\n <div id=\"container\" class=\"${classMap({ code, expanded, inline, compact, block })}\">\n <div id=\"input-group\">\n <div id=\"wrapper\">\n <pf-button id=\"expand-button\"\n variant=\"control\"\n label=\"EXPAND\"\n ?inert=\"${!expandable}\"\n @click=\"${this.#onClick}\">\n <pf-icon icon=\"chevron-right\"></pf-icon>\n </pf-button>\n </div>\n <span ?hidden=\"${!(inline || compact)}\">${this.value}</span>\n <input aria-label=\"${this.accessibleTextLabel}\"\n ?hidden=\"${inline || compact}\"\n ?disabled=\"${expanded || readonly}\"\n .value=\"${this.value}\"\n @input=\"${this.#onChange}\">\n <pf-tooltip>\n <pf-button id=\"copy-button\"\n icon=\"copy\"\n ?plain=\"${inline || compact}\"\n variant=\"${ifDefined(!(inline || compact) ? 'control' : undefined)}\"\n label=\"${this.hoverTip}\"\n @click=\"${this.copy}\">\n </pf-button>\n <span slot=\"content\">${this.#copied ? this.clickTip : this.hoverTip}</span>\n </pf-tooltip>\n <slot name=\"actions\"></slot>\n </div>\n <textarea .value=\"${this.value}\"\n .disabled=\"${this.readonly}\"\n ?hidden=\"${!(expandable && expanded)}\"\n @input=\"${this.#onChange}\">\n </textarea>\n </div>\n `;\n }\n\n #onClick() {\n this.expanded = !this.expanded;\n }\n\n #onChange(e: Event) {\n const { value } = e.target as HTMLInputElement || HTMLTextAreaElement;\n this.value = value;\n }\n\n #onMutation() {\n if (this.childNodes?.length > 0) {\n this.value = this.getAttribute('value') ?? this.#dedent(Array.from(this.childNodes, child =>\n (child instanceof Element || child instanceof Text) ? (child.textContent ?? '') : '')\n .join(''));\n }\n }\n\n #dedent(str: string): string {\n const stripped = str.replace(/^\\n/, '');\n const match = stripped.match(/^\\s+/);\n return match ? stripped.replace(new RegExp(`^${match[0]}`, 'gm'), '') : str;\n }\n\n /**\n * Copy the current value to the clipboard.\n */\n async copy(): Promise<void> {\n await navigator.clipboard.writeText(this.value);\n this.dispatchEvent(new PfClipboardCopyCopiedEvent(this.value));\n await sleep(this.entryDelay);\n this.#copied = true;\n this.requestUpdate();\n await sleep(this.exitDelay);\n this.#copied = false;\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-clipboard-copy': PfClipboardCopy;\n }\n}\n"]}
@@ -85,7 +85,7 @@ _PfCodeBlock_toggle = function _PfCodeBlock_toggle() {
85
85
  this.expanded = !this.expanded;
86
86
  };
87
87
  PfCodeBlock.styles = [styles];
88
- PfCodeBlock.version = "4.0.1";
88
+ PfCodeBlock.version = "4.1.0";
89
89
  __decorate([
90
90
  property({ type: Boolean, reflect: true })
91
91
  ], PfCodeBlock.prototype, "expanded", void 0);
@@ -17,7 +17,7 @@ PfDropdownGroup.shadowRootOptions = {
17
17
  ...LitElement.shadowRootOptions,
18
18
  delegatesFocus: true,
19
19
  };
20
- PfDropdownGroup.version = "4.0.1";
20
+ PfDropdownGroup.version = "4.1.0";
21
21
  __decorate([
22
22
  property({ reflect: true })
23
23
  ], PfDropdownGroup.prototype, "label", void 0);
@@ -54,7 +54,7 @@ PfDropdownItem.shadowRootOptions = {
54
54
  ...LitElement.shadowRootOptions,
55
55
  delegatesFocus: true,
56
56
  };
57
- PfDropdownItem.version = "4.0.1";
57
+ PfDropdownItem.version = "4.1.0";
58
58
  __decorate([
59
59
  property({ reflect: true })
60
60
  ], PfDropdownItem.prototype, "value", void 0);
@@ -120,7 +120,7 @@ PfDropdownMenu.shadowRootOptions = {
120
120
  ...LitElement.shadowRootOptions,
121
121
  delegatesFocus: true,
122
122
  };
123
- PfDropdownMenu.version = "4.0.1";
123
+ PfDropdownMenu.version = "4.1.0";
124
124
  __decorate([
125
125
  consume({ context, subscribe: true }),
126
126
  state()
@@ -214,7 +214,7 @@ PfDropdown.shadowRootOptions = {
214
214
  ...LitElement.shadowRootOptions,
215
215
  delegatesFocus: true,
216
216
  };
217
- PfDropdown.version = "4.0.1";
217
+ PfDropdown.version = "4.1.0";
218
218
  __decorate([
219
219
  property({ type: Boolean, reflect: true })
220
220
  ], PfDropdown.prototype, "disabled", void 0);
@@ -187,7 +187,7 @@ PfIcon.instances = new Set();
187
187
  * ```
188
188
  */
189
189
  PfIcon.resolve = PfIcon.defaultResolve;
190
- PfIcon.version = "4.0.1";
190
+ PfIcon.version = "4.1.0";
191
191
  __decorate([
192
192
  property()
193
193
  ], PfIcon.prototype, "set", void 0);
@@ -43,7 +43,7 @@ PfJumpLinksItem.shadowRootOptions = {
43
43
  ...LitElement.shadowRootOptions,
44
44
  delegatesFocus: true,
45
45
  };
46
- PfJumpLinksItem.version = "4.0.1";
46
+ PfJumpLinksItem.version = "4.1.0";
47
47
  __decorate([
48
48
  property({ type: Boolean, reflect: true })
49
49
  ], PfJumpLinksItem.prototype, "active", void 0);
@@ -11,7 +11,7 @@ let PfJumpLinksList = class PfJumpLinksList extends LitElement {
11
11
  }
12
12
  };
13
13
  PfJumpLinksList.styles = [style];
14
- PfJumpLinksList.version = "4.0.1";
14
+ PfJumpLinksList.version = "4.1.0";
15
15
  PfJumpLinksList = __decorate([
16
16
  customElement('pf-jump-links-list')
17
17
  ], PfJumpLinksList);
@@ -46,18 +46,29 @@ slot::before {
46
46
  }
47
47
 
48
48
  :host([vertical]) #container {
49
- --pf-c-jump-links__list--PaddingTop: var(--pf-c-jump-links--m-vertical__list--PaddingTop,
50
- var(--pf-global--spacer--md, 1rem));
51
- --pf-c-jump-links__list--PaddingRight: var(--pf-c-jump-links--m-vertical__list--PaddingRight, 0);
52
- --pf-c-jump-links__list--PaddingBottom: var(--pf-c-jump-links--m-vertical__list--PaddingBottom
53
- var(--pf-global--spacer--md, 1rem));
54
- --pf-c-jump-links__list--PaddingLeft: var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);
55
- --pf-c-jump-links__list--before--BorderTopWidth: var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);
56
- --pf-c-jump-links__list--before--BorderLeftWidth: var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth,
49
+ --pf-c-jump-links__list--PaddingTop:
50
+ var(--pf-c-jump-links--m-vertical__list--PaddingTop,
51
+ var(--pf-global--spacer--md, 1rem)
52
+ );
53
+ --pf-c-jump-links__list--PaddingRight:
54
+ var(--pf-c-jump-links--m-vertical__list--PaddingRight,0);
55
+ --pf-c-jump-links__list--PaddingBottom:
56
+ var(--pf-c-jump-links--m-vertical__list--PaddingBottom,
57
+ var(--pf-global--spacer--md, 1rem)
58
+ );
59
+ --pf-c-jump-links__list--PaddingLeft:
60
+ var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);
61
+ --pf-c-jump-links__list--before--BorderTopWidth:
62
+ var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);
63
+ --pf-c-jump-links__list--before--BorderLeftWidth:
64
+ var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth,
57
65
  var(--pf-global--BorderWidth--sm, 1px));
58
- --pf-c-jump-links__item--m-current__link--before--BorderTopWidth: var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);
59
- --pf-c-jump-links__item--m-current__link--before--BorderLeftWidth: var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth,
60
- var(--pf-global--BorderWidth--lg, 3px));
66
+ --pf-c-jump-links__item--m-current__link--before--BorderTopWidth:
67
+ var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);
68
+ --pf-c-jump-links__item--m-current__link--before--BorderLeftWidth:
69
+ var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth,
70
+ var(--pf-global--BorderWidth--lg, 3px)
71
+ );
61
72
  --pf-c-jump-links__list--FlexDirection: var(--pf-c-jump-links--m-vertical__list--FlexDirection, column);
62
73
  }
63
74
 
@@ -8,7 +8,7 @@ import { RovingTabindexController } from '@patternfly/pfe-core/controllers/rovin
8
8
  import { PfJumpLinksItem } from './pf-jump-links-item.js';
9
9
  import '@patternfly/elements/pf-icon/pf-icon.js';
10
10
  import { css } from "lit";
11
- const style = css `[hidden] {\n display: none !important;\n}\n\n:host {\n display: block;\n}\n\n#container {\n display: flex;\n flex-wrap: wrap;\n font-family: var(--pf-global--FontFamily--sans-serif, "RedHatTextUpdated", "Overpass", overpass, helvetica, arial, sans-serif);\n font-size: var(--pf-global--FontSize--md, 16px);\n font-weight: var(--pf-global--FontWeight--normal, 400);\n}\n\nslot {\n position: relative;\n display: var(--pf-c-jump-links__list--Display, flex);\n flex-direction: var(--pf-c-jump-links__list--FlexDirection, row);\n padding-block-start: var(--pf-c-jump-links__list--PaddingTop, 0);\n padding-inline-end: var(--pf-c-jump-links__list--PaddingRight,\n var(--pf-global--spacer--md, 1rem));\n padding-block-end: var(--pf-c-jump-links__list--PaddingBottom, 0);\n padding-inline-start: var(--pf-c-jump-links__list--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n visibility: var(--pf-c-jump-links__list--Visibility, visible);\n}\n\nslot::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: "";\n border: solid var(--pf-c-jump-links__list--before--BorderColor,\n var(--pf-global--BorderColor--100, #d2d2d2));\n border-width:\n var(--pf-c-jump-links__list--before--BorderTopWidth,\n var(--pf-global--BorderWidth--sm, 1px))\n var(--pf-c-jump-links__list--before--BorderRightWidth, 0)\n var(--pf-c-jump-links__list--before--BorderBottomWidth, 0)\n var(--pf-c-jump-links__list--before--BorderLeftWidth, 0);\n}\n\n:host([vertical]) #container {\n --pf-c-jump-links__list--PaddingTop: var(--pf-c-jump-links--m-vertical__list--PaddingTop,\n var(--pf-global--spacer--md, 1rem));\n --pf-c-jump-links__list--PaddingRight: var(--pf-c-jump-links--m-vertical__list--PaddingRight, 0);\n --pf-c-jump-links__list--PaddingBottom: var(--pf-c-jump-links--m-vertical__list--PaddingBottom\n var(--pf-global--spacer--md, 1rem));\n --pf-c-jump-links__list--PaddingLeft: var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);\n --pf-c-jump-links__list--before--BorderTopWidth: var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);\n --pf-c-jump-links__list--before--BorderLeftWidth: var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth, \n var(--pf-global--BorderWidth--sm, 1px));\n --pf-c-jump-links__item--m-current__link--before--BorderTopWidth: var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);\n --pf-c-jump-links__item--m-current__link--before--BorderLeftWidth: var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth,\n var(--pf-global--BorderWidth--lg, 3px));\n --pf-c-jump-links__list--FlexDirection: var(--pf-c-jump-links--m-vertical__list--FlexDirection, column);\n}\n\n:host([centered]) #container {\n justify-content: center;\n}\n\n:host([centered]) #label {\n text-align: center;\n}\n\n:host(:not([expandable])) #label {\n display: block;\n width: 100%;\n margin-block-end: var(--pf-c-jump-links__label--MarginBottom,\n var(--pf-global--spacer--md, 1rem));\n}\n\n:host([expandable]) {\n --pf-c-jump-links--m-expanded__toggle--MarginBottom:\n calc(var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))\n ) + var(--pf-global--spacer--md, 1rem));\n}\n\nsummary {\n display: block;\n margin-block-start: var(--pf-c-jump-links__toggle--MarginTop,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem)));\n margin-block-end: var(--pf-c-jump-links__toggle--MarginBottom,\n var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))));\n margin-inline-start: var(--pf-c-jump-links__toggle--MarginLeft);\n color: var(--pf-c-jump-links__toggle-text--Color,\n var(--pf-global--Color--100, #151515));\n padding:\n var(--pf-c-button--PaddingTop,\n var(--pf-global--spacer--form-element, 0.375rem))\n var(--pf-c-button--PaddingRight,\n var(--pf-global--spacer--md, 1rem))\n var(--pf-c-button--PaddingBottom,\n var(--pf-global--spacer--form-element, 0.375rem))\n var(--pf-c-button--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n}\n\nsummary pf-icon {\n rotate: var(--pf-c-jump-links__toggle-icon--Rotate, 0);\n transition: var(--pf-c-jump-links__toggle-icon--Transition,\n var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1)));\n}\n\nsummary span {\n margin-inline-start: var(--pf-c-jump-links__toggle-text--MarginLeft,\n var(--pf-global--spacer--md, 1rem));\n}\n\n:host([expanded]) #container {\n --pf-c-jump-links__toggle--MarginBottom: var(--pf-c-jump-links--m-expanded__toggle--MarginBottom,\n calc(var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))) +\n var(--pf-global--spacer--md, 1rem)));\n --pf-c-jump-links__toggle-icon--Rotate: var(--pf-c-jump-links--m-expanded__toggle-icon--Rotate,\n 90deg);\n --pf-c-jump-links__toggle-icon--Color: var(--pf-c-jump-links--m-expanded__toggle-icon--Color,\n var(--pf-global--Color--100, #151515));\n --pf-c-jump-links__toggle-icon--Rotate: 90deg;\n}\n`;
11
+ const style = css `[hidden] {\n display: none !important;\n}\n\n:host {\n display: block;\n}\n\n#container {\n display: flex;\n flex-wrap: wrap;\n font-family: var(--pf-global--FontFamily--sans-serif, "RedHatTextUpdated", "Overpass", overpass, helvetica, arial, sans-serif);\n font-size: var(--pf-global--FontSize--md, 16px);\n font-weight: var(--pf-global--FontWeight--normal, 400);\n}\n\nslot {\n position: relative;\n display: var(--pf-c-jump-links__list--Display, flex);\n flex-direction: var(--pf-c-jump-links__list--FlexDirection, row);\n padding-block-start: var(--pf-c-jump-links__list--PaddingTop, 0);\n padding-inline-end: var(--pf-c-jump-links__list--PaddingRight,\n var(--pf-global--spacer--md, 1rem));\n padding-block-end: var(--pf-c-jump-links__list--PaddingBottom, 0);\n padding-inline-start: var(--pf-c-jump-links__list--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n visibility: var(--pf-c-jump-links__list--Visibility, visible);\n}\n\nslot::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: "";\n border: solid var(--pf-c-jump-links__list--before--BorderColor,\n var(--pf-global--BorderColor--100, #d2d2d2));\n border-width:\n var(--pf-c-jump-links__list--before--BorderTopWidth,\n var(--pf-global--BorderWidth--sm, 1px))\n var(--pf-c-jump-links__list--before--BorderRightWidth, 0)\n var(--pf-c-jump-links__list--before--BorderBottomWidth, 0)\n var(--pf-c-jump-links__list--before--BorderLeftWidth, 0);\n}\n\n:host([vertical]) #container {\n --pf-c-jump-links__list--PaddingTop:\n var(--pf-c-jump-links--m-vertical__list--PaddingTop,\n var(--pf-global--spacer--md, 1rem)\n );\n --pf-c-jump-links__list--PaddingRight:\n var(--pf-c-jump-links--m-vertical__list--PaddingRight,0);\n --pf-c-jump-links__list--PaddingBottom:\n var(--pf-c-jump-links--m-vertical__list--PaddingBottom,\n var(--pf-global--spacer--md, 1rem)\n );\n --pf-c-jump-links__list--PaddingLeft:\n var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);\n --pf-c-jump-links__list--before--BorderTopWidth:\n var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);\n --pf-c-jump-links__list--before--BorderLeftWidth:\n var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth,\n var(--pf-global--BorderWidth--sm, 1px));\n --pf-c-jump-links__item--m-current__link--before--BorderTopWidth:\n var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);\n --pf-c-jump-links__item--m-current__link--before--BorderLeftWidth:\n var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth,\n var(--pf-global--BorderWidth--lg, 3px)\n );\n --pf-c-jump-links__list--FlexDirection: var(--pf-c-jump-links--m-vertical__list--FlexDirection, column);\n}\n\n:host([centered]) #container {\n justify-content: center;\n}\n\n:host([centered]) #label {\n text-align: center;\n}\n\n:host(:not([expandable])) #label {\n display: block;\n width: 100%;\n margin-block-end: var(--pf-c-jump-links__label--MarginBottom,\n var(--pf-global--spacer--md, 1rem));\n}\n\n:host([expandable]) {\n --pf-c-jump-links--m-expanded__toggle--MarginBottom:\n calc(var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))\n ) + var(--pf-global--spacer--md, 1rem));\n}\n\nsummary {\n display: block;\n margin-block-start: var(--pf-c-jump-links__toggle--MarginTop,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem)));\n margin-block-end: var(--pf-c-jump-links__toggle--MarginBottom,\n var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))));\n margin-inline-start: var(--pf-c-jump-links__toggle--MarginLeft);\n color: var(--pf-c-jump-links__toggle-text--Color,\n var(--pf-global--Color--100, #151515));\n padding:\n var(--pf-c-button--PaddingTop,\n var(--pf-global--spacer--form-element, 0.375rem))\n var(--pf-c-button--PaddingRight,\n var(--pf-global--spacer--md, 1rem))\n var(--pf-c-button--PaddingBottom,\n var(--pf-global--spacer--form-element, 0.375rem))\n var(--pf-c-button--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n}\n\nsummary pf-icon {\n rotate: var(--pf-c-jump-links__toggle-icon--Rotate, 0);\n transition: var(--pf-c-jump-links__toggle-icon--Transition,\n var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1)));\n}\n\nsummary span {\n margin-inline-start: var(--pf-c-jump-links__toggle-text--MarginLeft,\n var(--pf-global--spacer--md, 1rem));\n}\n\n:host([expanded]) #container {\n --pf-c-jump-links__toggle--MarginBottom: var(--pf-c-jump-links--m-expanded__toggle--MarginBottom,\n calc(var(--pf-c-jump-links__toggle--MarginBottom--base,\n calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))) +\n var(--pf-global--spacer--md, 1rem)));\n --pf-c-jump-links__toggle-icon--Rotate: var(--pf-c-jump-links--m-expanded__toggle-icon--Rotate,\n 90deg);\n --pf-c-jump-links__toggle-icon--Color: var(--pf-c-jump-links--m-expanded__toggle-icon--Color,\n var(--pf-global--Color--100, #151515));\n --pf-c-jump-links__toggle-icon--Rotate: 90deg;\n}\n`;
12
12
  let PfJumpLinks = class PfJumpLinks extends LitElement {
13
13
  constructor() {
14
14
  super(...arguments);
@@ -106,7 +106,7 @@ _PfJumpLinks_onToggle = function _PfJumpLinks_onToggle(event) {
106
106
  this.dispatchEvent(new Event('toggle'));
107
107
  };
108
108
  PfJumpLinks.styles = [style];
109
- PfJumpLinks.version = "4.0.1";
109
+ PfJumpLinks.version = "4.1.0";
110
110
  __decorate([
111
111
  property({ reflect: true, type: Boolean })
112
112
  ], PfJumpLinks.prototype, "expandable", void 0);
@@ -80,7 +80,7 @@ PfLabel.shadowRootOptions = {
80
80
  ...LitElement.shadowRootOptions,
81
81
  delegatesFocus: true,
82
82
  };
83
- PfLabel.version = "4.0.1";
83
+ PfLabel.version = "4.1.0";
84
84
  __decorate([
85
85
  property()
86
86
  ], PfLabel.prototype, "variant", void 0);