@patternfly/elements 2.0.0-rc.3 → 2.0.0-rc.5

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 (233) hide show
  1. package/custom-elements.json +36 -0
  2. package/package.json +2 -1
  3. package/pf-accordion/BaseAccordion.js +1 -1
  4. package/pf-accordion/BaseAccordionHeader.js +1 -1
  5. package/pf-accordion/BaseAccordionPanel.js +1 -1
  6. package/pf-accordion/README.md +44 -0
  7. package/pf-accordion/pf-accordion-header.js +1 -1
  8. package/pf-accordion/pf-accordion-panel.js +1 -1
  9. package/pf-accordion/pf-accordion.js +1 -1
  10. package/pf-avatar/BaseAvatar.js +1 -1
  11. package/pf-avatar/README.md +31 -0
  12. package/pf-avatar/pf-avatar.js +1 -1
  13. package/pf-badge/BaseBadge.js +1 -1
  14. package/pf-badge/README.md +57 -0
  15. package/pf-badge/pf-badge.js +1 -1
  16. package/pf-button/BaseButton.js +1 -1
  17. package/pf-button/README.md +61 -0
  18. package/pf-button/pf-button.js +1 -1
  19. package/pf-card/BaseCard.js +1 -1
  20. package/pf-card/README.md +34 -0
  21. package/pf-card/pf-card.js +1 -1
  22. package/pf-clipboard-copy/BaseClipboardCopy.js +1 -1
  23. package/pf-clipboard-copy/README.md +8 -0
  24. package/pf-clipboard-copy/pf-clipboard-copy.js +1 -1
  25. package/pf-code-block/BaseCodeBlock.js +1 -1
  26. package/pf-code-block/README.md +77 -0
  27. package/pf-code-block/pf-code-block.js +1 -1
  28. package/pf-icon/BaseIcon.js +1 -1
  29. package/pf-icon/README.md +86 -0
  30. package/pf-icon/pf-icon.js +1 -1
  31. package/pf-jump-links/README.md +27 -0
  32. package/pf-jump-links/pf-jump-links-item.js +1 -1
  33. package/pf-jump-links/pf-jump-links-list.js +1 -1
  34. package/pf-jump-links/pf-jump-links.js +1 -1
  35. package/pf-label/BaseLabel.js +1 -1
  36. package/pf-label/README.md +61 -0
  37. package/pf-label/pf-label.js +1 -1
  38. package/pf-modal/README.md +63 -0
  39. package/pf-modal/pf-modal.js +1 -1
  40. package/pf-panel/README.md +10 -0
  41. package/pf-panel/pf-panel.js +1 -1
  42. package/pf-progress-stepper/README.md +41 -0
  43. package/pf-progress-stepper/pf-progress-step.js +1 -1
  44. package/pf-progress-stepper/pf-progress-stepper.js +1 -1
  45. package/pf-spinner/BaseSpinner.js +1 -1
  46. package/pf-spinner/README.md +46 -0
  47. package/pf-spinner/pf-spinner.js +1 -1
  48. package/pf-switch/BaseSwitch.js +1 -1
  49. package/pf-switch/README.md +91 -0
  50. package/pf-switch/pf-switch.js +1 -1
  51. package/pf-tabs/BaseTab.d.ts +1 -0
  52. package/pf-tabs/BaseTab.js +9 -6
  53. package/pf-tabs/BaseTab.js.map +1 -1
  54. package/pf-tabs/BaseTabPanel.js +1 -1
  55. package/pf-tabs/BaseTabs.d.ts +6 -0
  56. package/pf-tabs/BaseTabs.js +40 -73
  57. package/pf-tabs/BaseTabs.js.map +1 -1
  58. package/pf-tabs/README.md +40 -0
  59. package/pf-tabs/pf-tab-panel.js +1 -1
  60. package/pf-tabs/pf-tab.css +1 -0
  61. package/pf-tabs/pf-tab.js +1 -1
  62. package/pf-tabs/pf-tabs.js +1 -1
  63. package/pf-tile/README.md +12 -0
  64. package/pf-tile/pf-tile.js +1 -1
  65. package/pf-timestamp/README.md +64 -0
  66. package/pf-timestamp/pf-timestamp.js +1 -1
  67. package/pf-tooltip/BaseTooltip.js +1 -1
  68. package/pf-tooltip/README.md +64 -0
  69. package/pf-tooltip/pf-tooltip.js +1 -1
  70. package/pfe.min.js +129 -129
  71. package/pfe.min.js.map +4 -4
  72. package/pf-accordion/demo/demo.css +0 -9
  73. package/pf-accordion/demo/pf-accordion.js +0 -10
  74. package/pf-accordion/test/pf-accordion.e2e.d.ts +0 -1
  75. package/pf-accordion/test/pf-accordion.e2e.js +0 -11
  76. package/pf-accordion/test/pf-accordion.e2e.js.map +0 -1
  77. package/pf-accordion/test/pf-accordion.spec.d.ts +0 -1
  78. package/pf-accordion/test/pf-accordion.spec.js +0 -971
  79. package/pf-accordion/test/pf-accordion.spec.js.map +0 -1
  80. package/pf-avatar/demo/demo.css +0 -18
  81. package/pf-avatar/demo/pf-avatar.js +0 -1
  82. package/pf-avatar/test/pf-avatar.e2e.d.ts +0 -1
  83. package/pf-avatar/test/pf-avatar.e2e.js +0 -11
  84. package/pf-avatar/test/pf-avatar.e2e.js.map +0 -1
  85. package/pf-avatar/test/pf-avatar.spec.d.ts +0 -1
  86. package/pf-avatar/test/pf-avatar.spec.js +0 -42
  87. package/pf-avatar/test/pf-avatar.spec.js.map +0 -1
  88. package/pf-badge/demo/demo.css +0 -9
  89. package/pf-badge/demo/pf-badge.js +0 -8
  90. package/pf-badge/test/pf-badge.e2e.d.ts +0 -1
  91. package/pf-badge/test/pf-badge.e2e.js +0 -11
  92. package/pf-badge/test/pf-badge.e2e.js.map +0 -1
  93. package/pf-badge/test/pf-badge.spec.d.ts +0 -1
  94. package/pf-badge/test/pf-badge.spec.js +0 -49
  95. package/pf-badge/test/pf-badge.spec.js.map +0 -1
  96. package/pf-button/demo/demo.css +0 -11
  97. package/pf-button/demo/form-control.js +0 -15
  98. package/pf-button/demo/pf-button.js +0 -28
  99. package/pf-button/test/pf-button.e2e.d.ts +0 -1
  100. package/pf-button/test/pf-button.e2e.js +0 -11
  101. package/pf-button/test/pf-button.e2e.js.map +0 -1
  102. package/pf-button/test/pf-button.spec.d.ts +0 -1
  103. package/pf-button/test/pf-button.spec.js +0 -94
  104. package/pf-button/test/pf-button.spec.js.map +0 -1
  105. package/pf-card/demo/demo.css +0 -44
  106. package/pf-card/demo/pf-card.js +0 -23
  107. package/pf-card/test/pf-card.e2e.d.ts +0 -1
  108. package/pf-card/test/pf-card.e2e.js +0 -11
  109. package/pf-card/test/pf-card.e2e.js.map +0 -1
  110. package/pf-card/test/pf-card.spec.d.ts +0 -1
  111. package/pf-card/test/pf-card.spec.js +0 -153
  112. package/pf-card/test/pf-card.spec.js.map +0 -1
  113. package/pf-clipboard-copy/demo/demo.css +0 -12
  114. package/pf-clipboard-copy/demo/pf-clipboard-copy.js +0 -1
  115. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.d.ts +0 -1
  116. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +0 -11
  117. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +0 -1
  118. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.d.ts +0 -1
  119. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js +0 -100
  120. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js.map +0 -1
  121. package/pf-code-block/demo/demo.css +0 -4
  122. package/pf-code-block/demo/pf-code-block.js +0 -2
  123. package/pf-code-block/test/pf-code-block.e2e.d.ts +0 -1
  124. package/pf-code-block/test/pf-code-block.e2e.js +0 -11
  125. package/pf-code-block/test/pf-code-block.e2e.js.map +0 -1
  126. package/pf-code-block/test/pf-code-block.spec.d.ts +0 -1
  127. package/pf-code-block/test/pf-code-block.spec.js +0 -86
  128. package/pf-code-block/test/pf-code-block.spec.js.map +0 -1
  129. package/pf-icon/demo/custom-icon-sets.js +0 -5
  130. package/pf-icon/demo/demo.css +0 -53
  131. package/pf-icon/demo/icons/rh/boba-tea.js +0 -5
  132. package/pf-icon/demo/icons/rh/lifecycle.js +0 -3
  133. package/pf-icon/demo/pf-icon.js +0 -68
  134. package/pf-icon/test/pf-icon.e2e.d.ts +0 -1
  135. package/pf-icon/test/pf-icon.e2e.js +0 -11
  136. package/pf-icon/test/pf-icon.e2e.js.map +0 -1
  137. package/pf-icon/test/pf-icon.spec.d.ts +0 -1
  138. package/pf-icon/test/pf-icon.spec.js +0 -127
  139. package/pf-icon/test/pf-icon.spec.js.map +0 -1
  140. package/pf-icon/test/rh-icon-aed.js +0 -2
  141. package/pf-icon/test/rh-icon-api.js +0 -2
  142. package/pf-icon/test/rh-icon-atom.js +0 -2
  143. package/pf-icon/test/rh-icon-bike.js +0 -2
  144. package/pf-jump-links/demo/demo.css +0 -4
  145. package/pf-jump-links/demo/pf-jump-links.js +0 -4
  146. package/pf-jump-links/demo/scrollspy-with-subsections.css +0 -60
  147. package/pf-jump-links/demo/scrollspy-with-subsections.js +0 -34
  148. package/pf-jump-links/test/pf-jump-links.e2e.d.ts +0 -1
  149. package/pf-jump-links/test/pf-jump-links.e2e.js +0 -11
  150. package/pf-jump-links/test/pf-jump-links.e2e.js.map +0 -1
  151. package/pf-jump-links/test/pf-jump-links.spec.d.ts +0 -1
  152. package/pf-jump-links/test/pf-jump-links.spec.js +0 -88
  153. package/pf-jump-links/test/pf-jump-links.spec.js.map +0 -1
  154. package/pf-label/demo/demo.css +0 -37
  155. package/pf-label/demo/pf-label.js +0 -10
  156. package/pf-label/test/pf-label.e2e.d.ts +0 -1
  157. package/pf-label/test/pf-label.e2e.js +0 -11
  158. package/pf-label/test/pf-label.e2e.js.map +0 -1
  159. package/pf-label/test/pf-label.spec.d.ts +0 -1
  160. package/pf-label/test/pf-label.spec.js +0 -108
  161. package/pf-label/test/pf-label.spec.js.map +0 -1
  162. package/pf-modal/demo/demo.css +0 -32
  163. package/pf-modal/demo/pf-modal.js +0 -10
  164. package/pf-modal/test/pf-modal.e2e.d.ts +0 -1
  165. package/pf-modal/test/pf-modal.e2e.js +0 -13
  166. package/pf-modal/test/pf-modal.e2e.js.map +0 -1
  167. package/pf-modal/test/pf-modal.spec.d.ts +0 -1
  168. package/pf-modal/test/pf-modal.spec.js +0 -209
  169. package/pf-modal/test/pf-modal.spec.js.map +0 -1
  170. package/pf-panel/demo/demo.css +0 -7
  171. package/pf-panel/demo/pf-panel.js +0 -1
  172. package/pf-panel/test/pf-panel.e2e.d.ts +0 -1
  173. package/pf-panel/test/pf-panel.e2e.js +0 -11
  174. package/pf-panel/test/pf-panel.e2e.js.map +0 -1
  175. package/pf-panel/test/pf-panel.spec.d.ts +0 -1
  176. package/pf-panel/test/pf-panel.spec.js +0 -19
  177. package/pf-panel/test/pf-panel.spec.js.map +0 -1
  178. package/pf-progress-stepper/demo/demo.css +0 -10
  179. package/pf-progress-stepper/demo/pf-progress-stepper.js +0 -13
  180. package/pf-progress-stepper/test/pf-progress-stepper.e2e.d.ts +0 -1
  181. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +0 -11
  182. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +0 -1
  183. package/pf-progress-stepper/test/pf-progress-stepper.spec.d.ts +0 -1
  184. package/pf-progress-stepper/test/pf-progress-stepper.spec.js +0 -13
  185. package/pf-progress-stepper/test/pf-progress-stepper.spec.js.map +0 -1
  186. package/pf-spinner/demo/demo.css +0 -2
  187. package/pf-spinner/demo/pf-spinner.js +0 -2
  188. package/pf-spinner/test/pf-spinner.e2e.d.ts +0 -1
  189. package/pf-spinner/test/pf-spinner.e2e.js +0 -11
  190. package/pf-spinner/test/pf-spinner.e2e.js.map +0 -1
  191. package/pf-spinner/test/pf-spinner.spec.d.ts +0 -1
  192. package/pf-spinner/test/pf-spinner.spec.js +0 -52
  193. package/pf-spinner/test/pf-spinner.spec.js.map +0 -1
  194. package/pf-switch/demo/demo.css +0 -32
  195. package/pf-switch/demo/pf-switch.js +0 -13
  196. package/pf-switch/test/pf-switch.e2e.d.ts +0 -1
  197. package/pf-switch/test/pf-switch.e2e.js +0 -11
  198. package/pf-switch/test/pf-switch.e2e.js.map +0 -1
  199. package/pf-switch/test/pf-switch.spec.d.ts +0 -1
  200. package/pf-switch/test/pf-switch.spec.js +0 -164
  201. package/pf-switch/test/pf-switch.spec.js.map +0 -1
  202. package/pf-tabs/demo/demo.css +0 -62
  203. package/pf-tabs/demo/pf-tabs.js +0 -44
  204. package/pf-tabs/test/pf-tabs.e2e.d.ts +0 -1
  205. package/pf-tabs/test/pf-tabs.e2e.js +0 -13
  206. package/pf-tabs/test/pf-tabs.e2e.js.map +0 -1
  207. package/pf-tabs/test/pf-tabs.spec.d.ts +0 -1
  208. package/pf-tabs/test/pf-tabs.spec.js +0 -178
  209. package/pf-tabs/test/pf-tabs.spec.js.map +0 -1
  210. package/pf-tile/demo/demo.css +0 -59
  211. package/pf-tile/demo/pf-tile.js +0 -21
  212. package/pf-tile/test/pf-tile.e2e.d.ts +0 -1
  213. package/pf-tile/test/pf-tile.e2e.js +0 -11
  214. package/pf-tile/test/pf-tile.e2e.js.map +0 -1
  215. package/pf-tile/test/pf-tile.spec.d.ts +0 -1
  216. package/pf-tile/test/pf-tile.spec.js +0 -51
  217. package/pf-tile/test/pf-tile.spec.js.map +0 -1
  218. package/pf-timestamp/demo/pf-timestamp.js +0 -3
  219. package/pf-timestamp/test/pf-timestamp.e2e.d.ts +0 -1
  220. package/pf-timestamp/test/pf-timestamp.e2e.js +0 -12
  221. package/pf-timestamp/test/pf-timestamp.e2e.js.map +0 -1
  222. package/pf-timestamp/test/pf-timestamp.spec.d.ts +0 -1
  223. package/pf-timestamp/test/pf-timestamp.spec.js +0 -139
  224. package/pf-timestamp/test/pf-timestamp.spec.js.map +0 -1
  225. package/pf-tooltip/demo/demo.css +0 -39
  226. package/pf-tooltip/demo/performance.js +0 -45
  227. package/pf-tooltip/demo/pf-tooltip.js +0 -7
  228. package/pf-tooltip/test/pf-tooltip.e2e.d.ts +0 -1
  229. package/pf-tooltip/test/pf-tooltip.e2e.js +0 -11
  230. package/pf-tooltip/test/pf-tooltip.e2e.js.map +0 -1
  231. package/pf-tooltip/test/pf-tooltip.spec.d.ts +0 -1
  232. package/pf-tooltip/test/pf-tooltip.spec.js +0 -50
  233. package/pf-tooltip/test/pf-tooltip.spec.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { customElement, property } from 'lit/decorators.js';
3
3
  import { css } from "lit";
4
- const style = css `:host {\n background-color: var(--pf-c-card--BackgroundColor, var(--pf-global--BackgroundColor--100, #ffffff));\n box-shadow: var(--pf-c-card--BoxShadow, var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06)));\n}\n\n:host([size="compact"]) {\n --_pf-c-card__body--FontSize: var(--pf-c-card--size-compact__body--FontSize, var(--pf-global--FontSize--sm, .875rem));\n --_pf-c-card__footer--FontSize: var(--pf-c-card--size-compact__footer--FontSize, var(--pf-global--spacer--md, 1rem));\n --_pf-c-card--first-child--PaddingTop: var(--pf-c-card--size-compact--first-child--PaddingTop, var(--pf-global--spacer--lg, 1.5rem));\n --_pf-c-card--child--PaddingRight: var(--pf-c-card--size-compact--child--PaddingRight, var(--pf-global--spacer--md, 1rem));\n --_pf-c-card--child--PaddingBottom: var(--pf-c-card--size-compact--child--PaddingBottom, var(--pf-global--spacer--md, 1rem));\n --_pf-c-card--child--PaddingLeft: var(--pf-c-card--size-compact--child--PaddingLeft, var(--pf-global--spacer--md, 1rem));\n --_pf-c-card__title--not--last-child--PaddingBottom: var(--pf-c-card--size-compact__title--not--last-child--PaddingBottom, var(--pf-global--spacer--sm, .5rem));\n}\n\n:host([size="large"]) {\n --pf-c-card__title--FontSize: var(--pf-c-card--size-large__title--FontSize, var(--pf-global--FontSize--xl, 1.25rem));\n --_pf-c-card--first-child--PaddingTop: var(--pf-c-card--size-large--first-child--PaddingTop, var(--pf-global--spacer--xl, 2rem));\n --_pf-c-card--child--PaddingRight: var(--pf-c-card--size-large--child--PaddingRight, var(--pf-global--spacer--xl, 2rem));\n --_pf-c-card--child--PaddingBottom: var(--pf-c-card--size-large--child--PaddingBottom, var(--pf-global--spacer--xl, 2rem));\n --_pf-c-card--child--PaddingLeft: var(--pf-c-card--size-large--child--PaddingLeft, var(--pf-global--spacer--xl, 2rem));\n --_pf-c-card__title--not--last-child--PaddingBottom: var(--pf-c-card--size-large__title--not--last-child--PaddingBottom, var(--pf-global--spacer--lg, 1.5rem));\n}\n\n:host([flat]) {\n --pf-c-card--BoxShadow: none;\n border: var(--pf-c-card--m-flat--BorderWidth, var(--pf-global--BorderWidth--sm, 1px)) solid var(--pf-c-card--m-flat--BorderColor, var(--pf-global--BorderColor--100, #d2d2d2));\n}\n\n:host([plain]) {\n --pf-c-card--BoxShadow: var(--pf-c-card--m-plain--BoxShadow, none);\n --pf-c-card--BackgroundColor: var(--pf-c-card--m-plain--BackgroundColor, transparent);\n}\n\n:host([rounded]) {\n border-radius: var(--pf-c-card--m-rounded--BorderRadius, var(--pf-global--BorderRadius--sm, 3px));\n}\n\n:host([full-height]) {\n height: var(--pf-c-card--m-full-height--Height, 100%);\n --_pf-c-card__body--FullHeight--Flex: 1 1 auto;\n}\n\n[part="header"],\n[part="body"],\n[part="footer"] {\n padding-inline-start: var(--_pf-c-card--child--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));\n padding-inline-end: var(--_pf-c-card--child--PaddingRight, var(--pf-global--spacer--lg, 1.5rem));\n padding-block-end: var(--_pf-c-card--child--PaddingBottom, var(--pf-global--spacer--lg, 1.5rem));\n}\n\n[part="body"] {\n font-size: var(--_pf-c-card__body--FontSize, var(--pf-global--FontSize--md, 1rem));\n flex: var(--_pf-c-card__body--FullHeight--Flex, initial);\n}\n\nheader {\n padding-block-start: var(--_pf-c-card--first-child--PaddingTop, var(--pf-global--spacer--lg, 1.5rem));\n padding-block-end: var(--_pf-c-card__title--not--last-child--PaddingBottom, var(--pf-global--spacer--md, 1rem));\n}\n\nheader ::slotted(*) {\n font-family: var(--pf-c-card__title--FontFamily, var(--pf-global--FontFamily--heading--sans-serif, "RedHatDisplayUpdated", helvetica, arial, sans-serif));\n font-size: var(--pf-c-card__title--FontSize, var(--pf-global--FontSize--md, 1rem));\n font-weight: var(--pf-c-card__title--FontWeight, var(--pf-global--FontWeight--bold, 700));\n margin-block: 0;\n}\n\n[part="footer"] {\n font-size: var(--_pf-c-card__footer--FontSize, var(--pf-global--FontSize--md, 1rem));\n margin-block-start: auto;\n}\n\n`;
4
+ const style = css `:host{background-color:var(--pf-c-card--BackgroundColor,var(--pf-global--BackgroundColor--100,#fff));box-shadow:var(--pf-c-card--BoxShadow,var(--pf-global--BoxShadow--sm,0 .0625rem .125rem 0 rgba(3,3,3,.12),0 0 .125rem 0 rgba(3,3,3,.06)))}:host([size=compact]){--_pf-c-card__body--FontSize:var(--pf-c-card--size-compact__body--FontSize, var(--pf-global--FontSize--sm, .875rem));--_pf-c-card__footer--FontSize:var(--pf-c-card--size-compact__footer--FontSize, var(--pf-global--spacer--md, 1rem));--_pf-c-card--first-child--PaddingTop:var(--pf-c-card--size-compact--first-child--PaddingTop, var(--pf-global--spacer--lg, 1.5rem));--_pf-c-card--child--PaddingRight:var(--pf-c-card--size-compact--child--PaddingRight, var(--pf-global--spacer--md, 1rem));--_pf-c-card--child--PaddingBottom:var(--pf-c-card--size-compact--child--PaddingBottom, var(--pf-global--spacer--md, 1rem));--_pf-c-card--child--PaddingLeft:var(--pf-c-card--size-compact--child--PaddingLeft, var(--pf-global--spacer--md, 1rem));--_pf-c-card__title--not--last-child--PaddingBottom:var(--pf-c-card--size-compact__title--not--last-child--PaddingBottom, var(--pf-global--spacer--sm, .5rem))}:host([size=large]){--pf-c-card__title--FontSize:var(--pf-c-card--size-large__title--FontSize, var(--pf-global--FontSize--xl, 1.25rem));--_pf-c-card--first-child--PaddingTop:var(--pf-c-card--size-large--first-child--PaddingTop, var(--pf-global--spacer--xl, 2rem));--_pf-c-card--child--PaddingRight:var(--pf-c-card--size-large--child--PaddingRight, var(--pf-global--spacer--xl, 2rem));--_pf-c-card--child--PaddingBottom:var(--pf-c-card--size-large--child--PaddingBottom, var(--pf-global--spacer--xl, 2rem));--_pf-c-card--child--PaddingLeft:var(--pf-c-card--size-large--child--PaddingLeft, var(--pf-global--spacer--xl, 2rem));--_pf-c-card__title--not--last-child--PaddingBottom:var(--pf-c-card--size-large__title--not--last-child--PaddingBottom, var(--pf-global--spacer--lg, 1.5rem))}:host([flat]){--pf-c-card--BoxShadow:none;border:var(--pf-c-card--m-flat--BorderWidth,var(--pf-global--BorderWidth--sm,1px)) solid var(--pf-c-card--m-flat--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2))}:host([plain]){--pf-c-card--BoxShadow:var(--pf-c-card--m-plain--BoxShadow, none);--pf-c-card--BackgroundColor:var(--pf-c-card--m-plain--BackgroundColor, transparent)}:host([rounded]){border-radius:var(--pf-c-card--m-rounded--BorderRadius,var(--pf-global--BorderRadius--sm,3px))}:host([full-height]){height:var(--pf-c-card--m-full-height--Height,100%);--_pf-c-card__body--FullHeight--Flex:1 1 auto}[part=body],[part=footer],[part=header]{padding-inline-start:var(--_pf-c-card--child--PaddingLeft,var(--pf-global--spacer--lg,1.5rem));padding-inline-end:var(--_pf-c-card--child--PaddingRight,var(--pf-global--spacer--lg,1.5rem));padding-block-end:var(--_pf-c-card--child--PaddingBottom,var(--pf-global--spacer--lg,1.5rem))}[part=body]{font-size:var(--_pf-c-card__body--FontSize, var(--pf-global--FontSize--md, 1rem));flex:var(--_pf-c-card__body--FullHeight--Flex,initial)}header{padding-block-start:var(--_pf-c-card--first-child--PaddingTop,var(--pf-global--spacer--lg,1.5rem));padding-block-end:var(--_pf-c-card__title--not--last-child--PaddingBottom,var(--pf-global--spacer--md,1rem))}header ::slotted(*){font-family:var(--pf-c-card__title--FontFamily, var(--pf-global--FontFamily--heading--sans-serif, "RedHatDisplayUpdated", helvetica, arial, sans-serif));font-size:var(--pf-c-card__title--FontSize, var(--pf-global--FontSize--md, 1rem));font-weight:var(--pf-c-card__title--FontWeight,var(--pf-global--FontWeight--bold,700));margin-block:0}[part=footer]{font-size:var(--_pf-c-card__footer--FontSize, var(--pf-global--FontSize--md, 1rem));margin-block-start:auto}`;
5
5
  import { BaseCard } from './BaseCard.js';
6
6
  /**
7
7
  * This element creates a header, body, and footer region in which to place
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { ComposedEvent } from '@patternfly/pfe-core';
3
3
  import { css } from "lit";
4
- const styles = css `[hidden],\n[inert],\n[inert]::slotted(*) {\n display: none !important;\n}\n\n`;
4
+ const styles = css `[hidden],[inert],[inert]::slotted(*){display:none!important}`;
5
5
  export class ClipboardCopyCopiedEvent extends ComposedEvent {
6
6
  constructor(text) {
7
7
  super('copy');
@@ -0,0 +1,8 @@
1
+ # Clipboard Copy
2
+ Copy-to-clipboard widget
3
+
4
+ ## Usage
5
+
6
+ ```html
7
+ <pf-clipboard-copy>Content to copy</pf-clipboard-copy>
8
+ ```
@@ -6,7 +6,7 @@ import { classMap } from 'lit/directives/class-map.js';
6
6
  import { ifDefined } from 'lit/directives/if-defined.js';
7
7
  import { BaseClipboardCopy } from './BaseClipboardCopy.js';
8
8
  import { css } from "lit";
9
- const styles = css `.container {\n display: flex;\n flex-direction: column;\n}\n\n#input-group {\n display: flex;\n}\n\npf-tooltip::part(invoker) {\n display: flex;\n height: 100%;\n}\n\n#input-group > * + * {\n margin-left: -1px;\n}\n\ninput {\n color: var(--pf-c-form-control--Color,\n var(--pf-global--Color--100, var(--pf-global--Color--dark-100, #151515)));\n width: var(--pf-c-form-control--Width);\n padding:\n var(--pf-c-form-control--PaddingTop, calc(var(--pf-global--spacer--form-element, 0.375rem) - var(--pf-global--BorderWidth--sm, 1px)))\n var(--pf-c-form-control--PaddingRight, var(--pf-c-form-control--inset--base, var(--pf-global--spacer--sm, 0.5rem)))\n var(--pf-c-form-control--PaddingBottom, calc(var(--pf-global--spacer--form-element, 0.375rem) - var(--pf-global--BorderWidth--sm, 1px)))\n var(--pf-c-form-control--PaddingLeft, var(--pf-c-form-control--inset--base, var(--pf-global--spacer--sm, 0.5rem)));\n font-size: var(--pf-c-form-control--FontSize);\n line-height: var(--pf-c-form-control--LineHeight);\n background-color: var(--pf-c-form-control--BackgroundColor);\n background-repeat: no-repeat;\n border: var(--pf-c-form-control--BorderWidth, var(--pf-global--BorderWidth--sm, 1px)) solid;\n border-color:\n var(--pf-c-form-control--BorderTopColor, var(--pf-global--BorderColor--300, #f0f0f0))\n var(--pf-c-form-control--BorderRightColor, var(--pf-global--BorderColor--300, #f0f0f0))\n var(--pf-c-form-control--BorderBottomColor, var(--pf-global--BorderColor--200, #8a8d90))\n var(--pf-c-form-control--BorderLeftColor, var(--pf-global--BorderColor--300, #f0f0f0));\n border-radius: var(--pf-c-form-control--BorderRadius, 0);\n margin: 0;\n appearance: none;\n height: var(--pf-c-form-control--Height, calc(var(--pf-c-form-control--FontSize) * var(--pf-c-form-control--LineHeight) + var(--pf-c-form-control--BorderWidth) * 2 + var(--pf-c-form-control--PaddingTop) + var(--pf-c-form-control--PaddingBottom)), 36px);\n text-overflow: ellipsis;\n flex: 1 1 auto;\n}\n\ninput[disabled] {\n background-color: var(--pf-c-form-control--readonly--BackgroundColor,\n var(--pf-global--disabled-color--300, #f0f0f0));\n}\n\ntextarea {\n display: flex;\n flex: 1 1 auto;\n padding:\n var(--pf-c-clipboard-copy__expandable-content--PaddingTop,\n var(--pf-global--spacer--md, 1rem))\n var(--pf-c-clipboard-copy__expandable-content--PaddingRight,\n var(--pf-global--spacer--md, 1rem))\n var(--pf-c-clipboard-copy__expandable-content--PaddingBottom,\n var(--pf-global--spacer--md, 1rem))\n var(--pf-c-clipboard-copy__expandable-content--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n word-wrap: break-word;\n background-color: var(--pf-c-clipboard-copy__expandable-content--BackgroundColor, var(--pf-global--BackgroundColor--light-100, #fff));\n background-clip: padding-box;\n border: solid var(--pf-c-clipboard-copy__expandable-content--BorderColor,\n var(--pf-global--BorderColor--100, #d2d2d2));\n border-width:\n var(--pf-c-clipboard-copy__expandable-content--BorderTopWidth, 0)\n var(--pf-c-clipboard-copy__expandable-content--BorderRightWidth,\n var(--pf-global--BorderWidth--sm, 1px))\n var(--pf-c-clipboard-copy__expandable-content--BorderBottomWidth,\n var(--pf-global--BorderWidth--sm, 1px))\n var(--pf-c-clipboard-copy__expandable-content--BorderLeftWidth,\n var(--pf-global--BorderWidth--sm, 1px));\n box-shadow: var(--pf-c-clipboard-copy__expandable-content--BoxShadow);\n margin: 0;\n color: inherit;\n font-family: inherit;\n}\n\n.container.code textarea {\n font-family: var(--pf-global--FontFamily--monospace,\n var(--pf-global--FontFamily--redhat--monospace,\n "RedHatMono",\n "Liberation Mono",\n consolas,\n "SFMono-Regular",\n menlo,\n monaco,\n "Courier New",\n monospace));\n}\n\n.container.expanded #expand-button pf-icon {\n rotate: 90deg;\n}\n\n.container.inline {\n display: inline;\n background-color: var(--pf-c-clipboard-copy--m-inline--BackgroundColor,\n var(--pf-global--BackgroundColor--200, #f0f0f0));\n padding-block-start: var(--pf-c-clipboard-copy--m-inline--PaddingTop, 0px);\n padding-block-end: var(--pf-c-clipboard-copy--m-inline--PaddingBottom, 0px);\n padding-inline-start: var(--pf-c-clipboard-copy--m-inline--PaddingLeft,\n var(--pf-global--spacer--xs, 0.25rem));\n word-break: break-word;\n white-space: normal;\n}\n\n.container:is(.compact, .inline) #input-group {\n display: contents;\n}\n\n.container:is(.compact, .inline) pf-tooltip,\n.container:is(.compact, .inline) pf-tooltip::part(invoker) {\n display: inline-flex;\n}\n\n.container:is(.compact, .inline) #input-group {\n background-color: var(--pf-c-button--m-plain--BackgroundColor,\n var(--pf-global--BackgroundColor--200, #f0f0f0));\n}\n\n.container.compact.block {\n display: block;\n background-color: var(--pf-c-clipboard-copy--m-inline--BackgroundColor,\n var(--pf-global--BackgroundColor--200, #f0f0f0));\n}\n\n.container:is(.compact, .inline) #copy-button,\n.container:is(.compact, .inline) slot[name="actions"]::slotted(*) {\n --pf-c-button--PaddingTop: var(--pf-c-clipboard-copy__actions-item--button--PaddingTop,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingRight: var(--pf-c-clipboard-copy__actions-item--button--PaddingRight,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingBottom: var(--pf-c-clipboard-copy__actions-item--button--PaddingBottom,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingLeft: var(--pf-c-clipboard-copy__actions-item--button--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));\n margin-block-start: calc(-1 * var(--pf-c-button--PaddingTop));\n margin-block-end: calc(-1 * var(--pf-c-button--PaddingBottom));\n}\n\n`;
9
+ const styles = css `.container{display:flex;flex-direction:column}#input-group{display:flex}pf-tooltip::part(invoker){display:flex;height:100%}#input-group>*+*{margin-left:-1px}input{color:var(--pf-c-form-control--Color,var(--pf-global--Color--100,var(--pf-global--Color--dark-100,#151515)));width:var(--pf-c-form-control--Width);padding:var(--pf-c-form-control--PaddingTop,calc(var(--pf-global--spacer--form-element,.375rem) - var(--pf-global--BorderWidth--sm,1px))) var(--pf-c-form-control--PaddingRight,var(--pf-c-form-control--inset--base,var(--pf-global--spacer--sm,.5rem))) var(--pf-c-form-control--PaddingBottom,calc(var(--pf-global--spacer--form-element,.375rem) - var(--pf-global--BorderWidth--sm,1px))) var(--pf-c-form-control--PaddingLeft,var(--pf-c-form-control--inset--base,var(--pf-global--spacer--sm,.5rem)));font-size:var(--pf-c-form-control--FontSize);line-height:var(--pf-c-form-control--LineHeight);background-color:var(--pf-c-form-control--BackgroundColor);background-repeat:no-repeat;border:var(--pf-c-form-control--BorderWidth,var(--pf-global--BorderWidth--sm,1px)) solid;border-color:var(--pf-c-form-control--BorderTopColor,var(--pf-global--BorderColor--300,#f0f0f0)) var(--pf-c-form-control--BorderRightColor,var(--pf-global--BorderColor--300,#f0f0f0)) var(--pf-c-form-control--BorderBottomColor,var(--pf-global--BorderColor--200,#8a8d90)) var(--pf-c-form-control--BorderLeftColor,var(--pf-global--BorderColor--300,#f0f0f0));border-radius:var(--pf-c-form-control--BorderRadius,0);margin:0;appearance:none;height:var(--pf-c-form-control--Height,calc(var(--pf-c-form-control--FontSize) * var(--pf-c-form-control--LineHeight) + var(--pf-c-form-control--BorderWidth) * 2 + var(--pf-c-form-control--PaddingTop) + var(--pf-c-form-control--PaddingBottom)),36px);text-overflow:ellipsis;flex:1 1 auto}input[disabled]{background-color:var(--pf-c-form-control--readonly--BackgroundColor,var(--pf-global--disabled-color--300,#f0f0f0))}textarea{display:flex;flex:1 1 auto;padding:var(--pf-c-clipboard-copy__expandable-content--PaddingTop,var(--pf-global--spacer--md,1rem)) var(--pf-c-clipboard-copy__expandable-content--PaddingRight,var(--pf-global--spacer--md,1rem)) var(--pf-c-clipboard-copy__expandable-content--PaddingBottom,var(--pf-global--spacer--md,1rem)) var(--pf-c-clipboard-copy__expandable-content--PaddingLeft,var(--pf-global--spacer--md,1rem));word-wrap:break-word;background-color:var(--pf-c-clipboard-copy__expandable-content--BackgroundColor,var(--pf-global--BackgroundColor--light-100,#fff));background-clip:padding-box;border:solid var(--pf-c-clipboard-copy__expandable-content--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2));border-width:var(--pf-c-clipboard-copy__expandable-content--BorderTopWidth,0) var(--pf-c-clipboard-copy__expandable-content--BorderRightWidth,var(--pf-global--BorderWidth--sm,1px)) var(--pf-c-clipboard-copy__expandable-content--BorderBottomWidth,var(--pf-global--BorderWidth--sm,1px)) var(--pf-c-clipboard-copy__expandable-content--BorderLeftWidth,var(--pf-global--BorderWidth--sm,1px));box-shadow:var(--pf-c-clipboard-copy__expandable-content--BoxShadow);margin:0;color:inherit;font-family:inherit}.container.code textarea{font-family:var(--pf-global--FontFamily--monospace,\n var(--pf-global--FontFamily--redhat--monospace,\n "RedHatMono",\n "Liberation Mono",\n consolas,\n "SFMono-Regular",\n menlo,\n monaco,\n "Courier New",\n monospace))}.container.expanded #expand-button pf-icon{rotate:90deg}.container.inline{display:inline;background-color:var(--pf-c-clipboard-copy--m-inline--BackgroundColor,var(--pf-global--BackgroundColor--200,#f0f0f0));padding-block-start:var(--pf-c-clipboard-copy--m-inline--PaddingTop,0px);padding-block-end:var(--pf-c-clipboard-copy--m-inline--PaddingBottom,0px);padding-inline-start:var(--pf-c-clipboard-copy--m-inline--PaddingLeft,var(--pf-global--spacer--xs,0.25rem));word-break:break-word;white-space:normal}.container:is(.compact,.inline) #input-group{display:contents}.container:is(.compact,.inline) pf-tooltip,.container:is(.compact,.inline) pf-tooltip::part(invoker){display:inline-flex}.container:is(.compact,.inline) #input-group{background-color:var(--pf-c-button--m-plain--BackgroundColor,var(--pf-global--BackgroundColor--200,#f0f0f0))}.container.compact.block{display:block;background-color:var(--pf-c-clipboard-copy--m-inline--BackgroundColor,var(--pf-global--BackgroundColor--200,#f0f0f0))}.container:is(.compact,.inline) #copy-button,.container:is(.compact,.inline) slot[name=actions]::slotted(*){--pf-c-button--PaddingTop:var(--pf-c-clipboard-copy__actions-item--button--PaddingTop,\n var(--pf-global--spacer--xs, 0.25rem));--pf-c-button--PaddingRight:var(--pf-c-clipboard-copy__actions-item--button--PaddingRight,\n var(--pf-global--spacer--xs, 0.25rem));--pf-c-button--PaddingBottom:var(--pf-c-clipboard-copy__actions-item--button--PaddingBottom,\n var(--pf-global--spacer--xs, 0.25rem));--pf-c-button--PaddingLeft:var(--pf-c-clipboard-copy__actions-item--button--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));margin-block-start:calc(-1 * var(--pf-c-button--PaddingTop));margin-block-end:calc(-1 * var(--pf-c-button--PaddingBottom))}`;
10
10
  import '@patternfly/elements/pf-button/pf-button.js';
11
11
  import '@patternfly/elements/pf-icon/pf-icon.js';
12
12
  import '@patternfly/elements/pf-tooltip/pf-tooltip.js';
@@ -1,6 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { css } from "lit";
3
- const styles = css `:host {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n`;
3
+ const styles = css `:host{display:block}[hidden]{display:none!important}`;
4
4
  export class BaseCodeBlock extends LitElement {
5
5
  get content() {
6
6
  const script = this.querySelector('script[type]');
@@ -0,0 +1,77 @@
1
+ # PatternFly Elements Code Block
2
+ `<pf-code-block>` is a component that contains two or more lines of ready-only
3
+ code. The code in a code block can be copied to the clipboard.
4
+
5
+ Read more about Code Block in the [PatternFly Elements Code Block
6
+ documentation](https://patternflyelements.org/components/code-block)
7
+
8
+ ## Installation
9
+
10
+ Load `<pf-code-block>` via CDN:
11
+
12
+ ```html
13
+ <script src="https://jspm.dev/@patternfly/elements/pf-code-block/pf-code-block.js"></script>
14
+ ```
15
+
16
+ Or, if you are using [NPM](https://npm.im), install it
17
+
18
+ ```bash
19
+ npm install @patternfly/pf-code-block
20
+ ```
21
+
22
+ Then once installed, import it to your application:
23
+
24
+ ```js
25
+ import '@patternfly/pf-code-block';
26
+ ```
27
+
28
+ ## Usage
29
+ ### Basic
30
+
31
+ Place your code in a `script` tag with a [non-javascript mimetype][mime].
32
+ JavaScript snippets **must** use the `text/javascript-sample` script type.
33
+ Script text content will be automatically dedented.
34
+
35
+
36
+ To add copy-to-clipboard functionality, be sure to import
37
+ `@patternfly/pf-clipboard` and add the `pf-clipboard` to the `action` slot.
38
+
39
+ ```html
40
+ <pf-code-block>
41
+ <script type="application/openshift">
42
+ apiVersion: helm.openshift.io/v1beta1/
43
+ kind: HelmChartRepository
44
+ metadata:
45
+ name: azure-sample-repo0oooo00ooo
46
+ spec:
47
+ connectionConfig:
48
+ url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
49
+ </script>
50
+ </pf-code-block>
51
+ ```
52
+
53
+ ### Expandable
54
+
55
+ If a block of code is long and you'd like to hide some of the code to take up
56
+ less height on the page, place the code you'd like to hide in a `script` with
57
+ `data-expand` attribute present.
58
+
59
+ It is important that you place the span right next to the first `script`,
60
+ because of how the whitespace will be handled. Failing to do this can result in
61
+ unwanted line breaks.
62
+
63
+ ```html
64
+ <pf-code-block id="expandable-code">
65
+ <script type="application/openshift">
66
+ apiVersion: helm.openshift.io/v1beta1/
67
+ kind: HelmChartRepository
68
+ metadata:
69
+ name: azure-sample-repo</script><script type="application/openshift"
70
+ data-expand>
71
+ spec:
72
+ connectionConfig:
73
+ url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
74
+ </script>
75
+ <pf-clipboard slot="actions" copy-from="#expandable-code"></pf-clipboard>
76
+ </pf-code-block>
77
+ ```
@@ -5,7 +5,7 @@ import { customElement, property } from 'lit/decorators.js';
5
5
  import { classMap } from 'lit/directives/class-map.js';
6
6
  import { BaseCodeBlock } from './BaseCodeBlock.js';
7
7
  import { css } from "lit";
8
- const styles = css `:host {\n background-color: var(--pf-c-code-block--BackgroundColor, #f0f0f0);\n font-size: var(--pf-c-code-block__pre--FontSize, 0.875rem);\n font-family: var(--pf-c-code-block__pre--FontFamily, "Liberation Mono", consolas, "SFMono-Regular", menlo, monaco, "Courier New", monospace);\n}\n\n#container {\n padding-top: var(--pf-c-code-block__content--PaddingTop, 1rem);\n padding-right: var(--pf-c-code-block__content--PaddingRight, 1rem);\n padding-bottom: var(--pf-c-code-block__content--PaddingBottom, 1rem);\n padding-left: var(--pf-c-code-block__content--PaddingLeft, 1rem);\n}\n\n#header {\n border-bottom: var(--pf-c-code-block__header--BorderBottomWidth, 1px) solid var(--pf-c-code-block__header--BorderBottomColor, #d2d2d2);\n}\n\n#container {\n margin: 0;\n}\n\npre {\n margin: 0;\n}\n\nslot[name="actions"] {\n display: flex;\n justify-content: end;\n}\n\n#expanded {\n display: inline;\n}\n\nbutton {\n display: flex;\n background: none;\n border: none;\n padding: 6px 16px 6px 0;\n color: #06c;\n cursor: pointer;\n font-size: 16px;\n}\n\nbutton svg {\n color: #151515;\n margin-right: 12px;\n transition: .2s ease-in 0s;\n}\n\n.expanded button svg {\n transform: rotate(-90deg);\n}\n`;
8
+ const styles = css `:host{background-color:var(--pf-c-code-block--BackgroundColor,#f0f0f0);font-size:var(--pf-c-code-block__pre--FontSize, .875rem);font-family:var(--pf-c-code-block__pre--FontFamily, "Liberation Mono", consolas, "SFMono-Regular", menlo, monaco, "Courier New", monospace)}#container{padding-top:var(--pf-c-code-block__content--PaddingTop,1rem);padding-right:var(--pf-c-code-block__content--PaddingRight,1rem);padding-bottom:var(--pf-c-code-block__content--PaddingBottom,1rem);padding-left:var(--pf-c-code-block__content--PaddingLeft,1rem)}#header{border-bottom:var(--pf-c-code-block__header--BorderBottomWidth,1px) solid var(--pf-c-code-block__header--BorderBottomColor,#d2d2d2)}#container{margin:0}pre{margin:0}slot[name=actions]{display:flex;justify-content:end}#expanded{display:inline}button{display:flex;background:0 0;border:none;padding:6px 16px 6px 0;color:#06c;cursor:pointer;font-size:16px}button svg{color:#151515;margin-right:12px;transition:.2s ease-in 0s}.expanded button svg{transform:rotate(-90deg)}`;
9
9
  /**
10
10
  * @slot code
11
11
  * The slot to put the code in
@@ -4,7 +4,7 @@ import { LitElement, html } from 'lit';
4
4
  import { property, state } from 'lit/decorators.js';
5
5
  import { Logger } from '@patternfly/pfe-core/controllers/logger.js';
6
6
  import { css } from "lit";
7
- const style = css `:host {\n position: relative;\n display: inline-block;\n line-height: 0;\n height: fit-content !important;\n width: fit-content !important;\n}\n\n#container {\n display: grid;\n grid-template: 1fr / 1fr;\n place-content: center;\n}\n\n#container.content ::slotted(*) {\n display: none;\n}\n\nsvg {\n fill: currentcolor;\n}\n\n`;
7
+ const style = css `:host{position:relative;display:inline-block;line-height:0;height:fit-content!important;width:fit-content!important}#container{display:grid;grid-template:1fr/1fr;place-content:center}#container.content ::slotted(*){display:none}svg{fill:currentcolor}`;
8
8
  /** requestIdleCallback when available, requestAnimationFrame when not */
9
9
  const ric = window.requestIdleCallback ?? window.requestAnimationFrame;
10
10
  /** Fired when an icon fails to load */
@@ -0,0 +1,86 @@
1
+ # PatternFly Elements Icon
2
+
3
+ Read more about Icon in the [PatternFly Elements Icon documentation][docs]
4
+
5
+ ## Installation
6
+
7
+ Load `<pf-icon>` via CDN:
8
+
9
+ ```html
10
+ <script src="https://jspm.dev/@patternfly/elements/pf-icon/pf-icon.js"></script>
11
+ ```
12
+
13
+ Or, if you are using [NPM](https://npm.im/@patternfly/elements/), install it
14
+
15
+ ```bash
16
+ npm install @patternfly/elements
17
+ ```
18
+
19
+ Then once installed, import it to your application:
20
+
21
+ ```js
22
+ import '@patternfly/elements/pf-icon/pf-icon.js';
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ Place the icon element on the page and give it an icon name from the [default icon set][icon-sets].
28
+ In most cases, the icon should be labelled using `aria-label` or `aria-labelledby`, or removed from
29
+ the accessibility tree with `aria-hidden="true"` or `role="presentation"`, if its content is merely
30
+ presentational and expressed using accessible text copy elsewhere.
31
+
32
+ ```html
33
+ <pf-icon icon="award" aria-label="Awards"></pf-icon>
34
+ ```
35
+
36
+ ### Fallback Content
37
+
38
+ If you wish to display some content while the icon loads (or while JS is disabled),
39
+ you can slot it into `<pf-icon>`. For instance, when using a checkmark icon in a
40
+ server status table, you may wish to display a checkmark emoji if JS is disabled.
41
+
42
+ ```html
43
+ <pf-icon icon="check">✅</pf-icon>
44
+ ```
45
+
46
+ ### Icon Sets
47
+
48
+ Icon comes with three built-in icon sets:
49
+
50
+ 1. `fas`: Font Awesome Free Solid icons (the default set)
51
+ 1. `far`: Font Awesome Free Regular icons
52
+ 1. `patternfly`: PatternFly icons
53
+
54
+ Use the `set` attribute to pick an alternative icon set.
55
+ ```html
56
+ <pf-icon icon="star" set="far"></pf-icon>
57
+ <pf-icon icon="redhat" set="fab"></pf-icon>
58
+ <pf-icon icon="package" set="patternfly"></pf-icon>
59
+ ```
60
+
61
+ It is possible to add custom icon sets or override the default sets.
62
+ Icon sets are defined in detail in [the docs][icon-sets].
63
+
64
+ ### Bundling
65
+
66
+ When bundling PfIcon with other modules, the default icon imports will be
67
+ relative to the bundle, not the source file, so be sure to either register all
68
+ the icon sets you'll need, or override the default getter.
69
+
70
+ ```js
71
+ // Workaround for bundled pf-icon: make icon imports absolute, instead of
72
+ relative to the bundle
73
+ import { PfIcon } from '/pfe.min.js';
74
+ PfIcon.getIconUrl = (set, icon) =>
75
+ new URL(`/assets/icons/${set}/${icon}.js`, import.meta.url);
76
+ // default: new URL(`./icons/${set}/${icon}.js`, import.meta.url);
77
+ ```
78
+
79
+ ## Loading
80
+
81
+ Icons load _lazily_ by default, meaning that the browser will not attempt to fetch and render the
82
+ icon until it scrolls into view. You can change this with the `loading` attribute;
83
+ see the [docs][docs] for more info.
84
+
85
+ [docs]: https://patternflyelements.org/components/icon/
86
+ [icon-sets]: https://patternflyelements.org/components/icon/#icon-sets
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { BaseIcon } from './BaseIcon.js';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
4
  import { css } from "lit";
5
- const style = css `:host([size=sm]) #container { --_size: var(--pf-global--icon--FontSize--sm, 10px); }\n:host([size=md]) #container { --_size: var(--pf-global--icon--FontSize--md, 18px); }\n:host([size=lg]) #container { --_size: var(--pf-global--icon--FontSize--lg, 24px); }\n:host([size=xl]) #container { --_size: var(--pf-global--icon--FontSize--xl, 54px); }\n\n#container, svg {\n width: var(--pf-icon--size, var(--_size));\n height: var(--pf-icon--size, var(--_size));\n min-width: var(--pf-icon--size, var(--_size));\n min-height: var(--pf-icon--size, var(--_size));\n}\n\n`;
5
+ const style = css `:host([size=sm]) #container{--_size:var(--pf-global--icon--FontSize--sm, 10px)}:host([size=md]) #container{--_size:var(--pf-global--icon--FontSize--md, 18px)}:host([size=lg]) #container{--_size:var(--pf-global--icon--FontSize--lg, 24px)}:host([size=xl]) #container{--_size:var(--pf-global--icon--FontSize--xl, 54px)}#container,svg{width:var(--pf-icon--size,var(--_size));height:var(--pf-icon--size,var(--_size));min-width:var(--pf-icon--size,var(--_size));min-height:var(--pf-icon--size,var(--_size))}`;
6
6
  /**
7
7
  * PatternFly Icon component lazy-loads icons and allows custom icon sets
8
8
  *
@@ -0,0 +1,27 @@
1
+ # Jump Links
2
+
3
+ **Jump links** allow users to navigate to sections within a page.
4
+
5
+ Read more about Jump Links in the [documentation][docs].
6
+
7
+ ## Installation
8
+
9
+ Load `<pf-jump-links>` via CDN:
10
+
11
+ ```html
12
+ <script src="https://jspm.dev/@patternfly/elements/pf-jump-links/pf-jump-links.js"></script>
13
+ ```
14
+
15
+ Or, if you are using [NPM](https://npm.im), install it
16
+
17
+ ```bash
18
+ npm install @patternfly/elements
19
+ ```
20
+
21
+ Then once installed, import it to your application:
22
+
23
+ ```js
24
+ import '@patternfly/elements/pf-jump-links/pf-jump-links.js';
25
+ ```
26
+
27
+ [docs]: https://patternflyelements.org/components/jump-links
@@ -5,7 +5,7 @@ import { customElement, property, query } from 'lit/decorators.js';
5
5
  import { ifDefined } from 'lit/directives/if-defined.js';
6
6
  import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
7
7
  import { css } from "lit";
8
- const style = css `:host {\n display: block;\n}\n\n#container {\n display: contents;\n}\n\nslot:not([name]) {\n display: flex;\n flex-direction: column;\n row-gap: var(--pf-global--spacer--md, 1rem);\n}\n\na {\n position: relative;\n display: flex;\n cursor: pointer;\n flex: 1;\n padding-block-start: var(--pf-c-jump-links__link--PaddingTop,\n var(--pf-global--spacer--md, 1rem));\n padding-inline-end: var(--pf-c-jump-links__link--PaddingRight,\n var(--pf-global--spacer--md, 1rem));\n padding-block-end: var(--pf-c-jump-links__link--PaddingBottom,\n var(--pf-global--spacer--md, 1rem));\n padding-inline-start: var(--pf-c-jump-links__link--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n text-decoration: none;\n outline-offset: var(--pf-c-jump-links__link--OutlineOffset,\n calc(-1 * var(--pf-global--spacer--sm, 0.5rem)));\n color: var(--pf-c-jump-links__link-text--Color,\n var(--pf-global--Color--200, #6a6e73));\n}\n\na::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: "";\n border-color: var(--pf-c-jump-links__link--before--BorderColor, transparent);\n border-style: solid;\n border-width:\n var(--pf-c-jump-links__link--before--BorderTopWidth,\n var(--pf-c-jump-links__list--before--BorderTopWidth,\n var(--pf-global--BorderWidth--sm, 1px)))\n var(--pf-c-jump-links__link--before--BorderRightWidth, 0)\n var(--pf-c-jump-links__link--before--BorderBottomWidth, 0)\n var(--pf-c-jump-links__link--before--BorderLeftWidth, 0);\n}\n\na:hover {\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--hover__link-text--Color,\n var(--pf-global--Color--100, #151515));\n}\n\na:focus {\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--focus__link-text--Color,\n var(--pf-global--Color--100, #151515));\n}\n\n:host([active]) {\n --pf-c-jump-links__link--before--BorderTopWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderTopWidth,\n var(--pf-global--BorderWidth--lg, 3px));\n --pf-c-jump-links__link--before--BorderLeftWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderLeftWidth, 0);\n --pf-c-jump-links__link--before--BorderColor: var(--pf-c-jump-links__item--m-current__link--before--BorderColor,\n var(--pf-global--primary-color--100, #06c));\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__item--m-current__link-text--Color,\n pfvar(--pf-global--Color--100, #151515));\n}\n`;
8
+ const style = css `:host{display:block}#container{display:contents}slot:not([name]){display:flex;flex-direction:column;row-gap:var(--pf-global--spacer--md,1rem)}a{position:relative;display:flex;cursor:pointer;flex:1;padding-block-start:var(--pf-c-jump-links__link--PaddingTop,var(--pf-global--spacer--md,1rem));padding-inline-end:var(--pf-c-jump-links__link--PaddingRight,var(--pf-global--spacer--md,1rem));padding-block-end:var(--pf-c-jump-links__link--PaddingBottom,var(--pf-global--spacer--md,1rem));padding-inline-start:var(--pf-c-jump-links__link--PaddingLeft,var(--pf-global--spacer--md,1rem));text-decoration:none;outline-offset:var(--pf-c-jump-links__link--OutlineOffset,calc(-1 * var(--pf-global--spacer--sm,0.5rem)));color:var(--pf-c-jump-links__link-text--Color,var(--pf-global--Color--200,#6a6e73))}a::before{position:absolute;inset:0;pointer-events:none;content:"";border-color:var(--pf-c-jump-links__link--before--BorderColor,transparent);border-style:solid;border-width:var(--pf-c-jump-links__link--before--BorderTopWidth,var(--pf-c-jump-links__list--before--BorderTopWidth,var(--pf-global--BorderWidth--sm,1px))) var(--pf-c-jump-links__link--before--BorderRightWidth,0) var(--pf-c-jump-links__link--before--BorderBottomWidth,0) var(--pf-c-jump-links__link--before--BorderLeftWidth,0)}a:hover{--pf-c-jump-links__link-text--Color:var(--pf-c-jump-links__link--hover__link-text--Color,\n var(--pf-global--Color--100, #151515))}a:focus{--pf-c-jump-links__link-text--Color:var(--pf-c-jump-links__link--focus__link-text--Color,\n var(--pf-global--Color--100, #151515))}:host([active]){--pf-c-jump-links__link--before--BorderTopWidth:var(--pf-c-jump-links__item--m-current__link--before--BorderTopWidth,\n var(--pf-global--BorderWidth--lg, 3px));--pf-c-jump-links__link--before--BorderLeftWidth:var(--pf-c-jump-links__item--m-current__link--before--BorderLeftWidth, 0);--pf-c-jump-links__link--before--BorderColor:var(--pf-c-jump-links__item--m-current__link--before--BorderColor,\n var(--pf-global--primary-color--100, #06c));--pf-c-jump-links__link-text--Color:var(--pf-c-jump-links__item--m-current__link-text--Color,\n pfvar(--pf-global--Color--100, #151515))}`;
9
9
  import { observed } from '@patternfly/pfe-core/decorators/observed.js';
10
10
  /**
11
11
  * @cssprop --pf-c-jump-links__link--PaddingTop -- padding around the link
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { html, LitElement } from 'lit';
3
3
  import { customElement } from 'lit/decorators.js';
4
4
  import { css } from "lit";
5
- const style = css `:host {\n display: block;\n}\n\n#container {\n display: contents;\n --pf-c-jump-links__list--PaddingTop: 0;\n --pf-c-jump-links__list--PaddingBottom: 0;\n --pf-c-jump-links__link--PaddingTop: var(--pf-c-jump-links__list__list__link--PaddingTop,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-jump-links__link--PaddingBottom: var(--pf-c-jump-links__list__list__link--PaddingBottom,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-jump-links__link--PaddingLeft: var(--pf-c-jump-links__list__list__link--PaddingLeft,\n var(--pf-global--spacer--lg, 1.5rem));\n}\n`;
5
+ const style = css `:host{display:block}#container{display:contents;--pf-c-jump-links__list--PaddingTop:0;--pf-c-jump-links__list--PaddingBottom:0;--pf-c-jump-links__link--PaddingTop:var(--pf-c-jump-links__list__list__link--PaddingTop,\n var(--pf-global--spacer--sm, 0.5rem));--pf-c-jump-links__link--PaddingBottom:var(--pf-c-jump-links__list__list__link--PaddingBottom,\n var(--pf-global--spacer--sm, 0.5rem));--pf-c-jump-links__link--PaddingLeft:var(--pf-c-jump-links__list__list__link--PaddingLeft,\n var(--pf-global--spacer--lg, 1.5rem))}`;
6
6
  /**
7
7
  * @cssprop --pf-c-jump-links__list__list__link--PaddingTop -- padding around each link
8
8
  * @cssprop --pf-c-jump-links__list__list__link--PaddingBottom
@@ -7,7 +7,7 @@ import { RovingTabindexController } from '@patternfly/pfe-core/controllers/rovin
7
7
  import './pf-jump-links-item.js';
8
8
  import '@patternfly/elements/pf-icon/pf-icon.js';
9
9
  import { css } from "lit";
10
- 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`;
10
+ const style = css `[hidden]{display:none!important}:host{display:block}#container{display:flex;flex-wrap:wrap;font-family:var(--pf-global--FontFamily--sans-serif, "RedHatTextUpdated", "Overpass", overpass, helvetica, arial, sans-serif);font-size:var(--pf-global--FontSize--md, 16px);font-weight:var(--pf-global--FontWeight--normal,400)}slot{position:relative;display:var(--pf-c-jump-links__list--Display,flex);flex-direction:var(--pf-c-jump-links__list--FlexDirection,row);padding-block-start:var(--pf-c-jump-links__list--PaddingTop,0);padding-inline-end:var(--pf-c-jump-links__list--PaddingRight,var(--pf-global--spacer--md,1rem));padding-block-end:var(--pf-c-jump-links__list--PaddingBottom,0);padding-inline-start:var(--pf-c-jump-links__list--PaddingLeft,var(--pf-global--spacer--md,1rem));visibility:var(--pf-c-jump-links__list--Visibility,visible)}slot::before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";border:solid var(--pf-c-jump-links__list--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2));border-width:var(--pf-c-jump-links__list--before--BorderTopWidth,var(--pf-global--BorderWidth--sm,1px)) var(--pf-c-jump-links__list--before--BorderRightWidth,0) var(--pf-c-jump-links__list--before--BorderBottomWidth,0) var(--pf-c-jump-links__list--before--BorderLeftWidth,0)}:host([vertical]) #container{--pf-c-jump-links__list--PaddingTop:var(--pf-c-jump-links--m-vertical__list--PaddingTop,\n var(--pf-global--spacer--md, 1rem));--pf-c-jump-links__list--PaddingRight:var(--pf-c-jump-links--m-vertical__list--PaddingRight, 0);--pf-c-jump-links__list--PaddingBottom:var(--pf-c-jump-links--m-vertical__list--PaddingBottom\n var(--pf-global--spacer--md, 1rem));--pf-c-jump-links__list--PaddingLeft:var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);--pf-c-jump-links__list--before--BorderTopWidth:var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);--pf-c-jump-links__list--before--BorderLeftWidth:var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth, \n var(--pf-global--BorderWidth--sm, 1px));--pf-c-jump-links__item--m-current__link--before--BorderTopWidth:var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);--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));--pf-c-jump-links__list--FlexDirection:var(--pf-c-jump-links--m-vertical__list--FlexDirection, column)}:host([centered]) #container{justify-content:center}:host([centered]) #label{text-align:center}:host(:not([expandable])) #label{display:block;width:100%;margin-block-end:var(--pf-c-jump-links__label--MarginBottom,var(--pf-global--spacer--md,1rem))}:host([expandable]){--pf-c-jump-links--m-expanded__toggle--MarginBottom: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))}summary{display:block;margin-block-start:var(--pf-c-jump-links__toggle--MarginTop,calc(-1 * var(--pf-global--spacer--form-element,0.375rem)));margin-block-end:var(--pf-c-jump-links__toggle--MarginBottom,var(--pf-c-jump-links__toggle--MarginBottom--base,calc(-1 * var(--pf-global--spacer--form-element,0.375rem))));margin-inline-start:var(--pf-c-jump-links__toggle--MarginLeft);color:var(--pf-c-jump-links__toggle-text--Color,var(--pf-global--Color--100,#151515));padding:var(--pf-c-button--PaddingTop,var(--pf-global--spacer--form-element,.375rem)) var(--pf-c-button--PaddingRight,var(--pf-global--spacer--md,1rem)) var(--pf-c-button--PaddingBottom,var(--pf-global--spacer--form-element,.375rem)) var(--pf-c-button--PaddingLeft,var(--pf-global--spacer--md,1rem))}summary pf-icon{rotate:var(--pf-c-jump-links__toggle-icon--Rotate,0);transition:var(--pf-c-jump-links__toggle-icon--Transition,\n var(--pf-global--Transition, all 250ms cubic-bezier(.42, 0, .58, 1)))}summary span{margin-inline-start:var(--pf-c-jump-links__toggle-text--MarginLeft,var(--pf-global--spacer--md,1rem))}:host([expanded]) #container{--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)));--pf-c-jump-links__toggle-icon--Rotate:var(--pf-c-jump-links--m-expanded__toggle-icon--Rotate,\n 90deg);--pf-c-jump-links__toggle-icon--Color:var(--pf-c-jump-links--m-expanded__toggle-icon--Color,\n var(--pf-global--Color--100, #151515));--pf-c-jump-links__toggle-icon--Rotate:90deg}`;
11
11
  import { PfJumpLinksItem } from './pf-jump-links-item.js';
12
12
  /**
13
13
  * **Jump links** allow users to navigate to sections within a page.
@@ -2,7 +2,7 @@ import { LitElement, html } from 'lit';
2
2
  import { classMap } from 'lit/directives/class-map.js';
3
3
  import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
4
4
  import { css } from "lit";
5
- const styles = css `:host {\n position: relative;\n white-space: nowrap;\n border: 0;\n}\n\npf-icon, ::slotted(pf-icon) {\n color: currentColor;\n}\n\n:host,\n#container {\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n}\n\n#container {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-width: 0;\n}\n\n#container::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: "";\n}\n\n[part=icon] {\n display: none;\n pointer-events: none;\n}\n\n.hasIcon [part=icon] {\n display: inline-flex;\n width: 1em;\n}\n\n`;
5
+ const styles = css `:host{position:relative;white-space:nowrap;border:0}::slotted(pf-icon),pf-icon{color:currentColor}#container,:host{display:inline-flex;align-items:center;vertical-align:middle}#container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-width:0}#container::before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:""}[part=icon]{display:none;pointer-events:none}.hasIcon [part=icon]{display:inline-flex;width:1em}`;
6
6
  /**
7
7
  * Base label class
8
8
  */
@@ -0,0 +1,61 @@
1
+ # Label
2
+ An inline-block element component that provides a distinct visual style for
3
+ metadata in a UI. Commonly used as visual representations for tags, labels can
4
+ include an optional pf-icon and are available in a solid and outline style
5
+ variant.
6
+
7
+ Read more about Label in the [PatternFly Elements Label documentation](https://patternflyelements.org/components/label)
8
+
9
+ ## Installation
10
+
11
+ Load `<pf-label>` via CDN:
12
+
13
+ ```html
14
+ <script src="https://jspm.dev/@patternfly/elements/pf-label/pf-label.js"></script>
15
+ ```
16
+
17
+ Or, if you are using [NPM](https://npm.im), install it
18
+
19
+ ```bash
20
+ npm install @patternfly/elements
21
+ ```
22
+
23
+ Then once installed, import it to your application:
24
+
25
+ ```js
26
+ import '@patternfly/elements/pf-label/pf-label.js';
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ Default
32
+ ```html
33
+ <p>Some Text <pf-label>Your label text here</pf-label></p>
34
+ ```
35
+
36
+ Color Options: `grey (default), blue ,green, orange, red, purple, cyan`
37
+ ```html
38
+ <p>Some Text <pf-label color="red">Your label text here</pf-label></p>
39
+ ```
40
+
41
+ With and Icon:
42
+ ```html
43
+ <p>Some Text <pf-label icon="web-icon-globe">Your label text here</pf-label></p>
44
+ ```
45
+
46
+ Outline variant:
47
+ ```html
48
+ <p>Some Text <pf-label outline>Your label text here</pf-label></p>
49
+ ```
50
+
51
+ > ### Conveying meaning to assistive technologies
52
+ > 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
53
+ > 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
54
+ > hidden with the a class.
55
+
56
+
57
+ ```html
58
+ <pf-label color="red">
59
+ Some text <span class="visually-hidden-class">Some additional info</span>
60
+ </pf-label>
61
+ ```
@@ -6,7 +6,7 @@ import { ComposedEvent } from '@patternfly/pfe-core';
6
6
  import { BaseLabel } from './BaseLabel.js';
7
7
  import '@patternfly/elements/pf-button/pf-button.js';
8
8
  import { css } from "lit";
9
- const styles = css `#pf-container {\n display: contents;\n}\n\n#container {\n --pf-global--icon--FontSize--sm: 14px;\n\n padding-top: var(--pf-c-label--PaddingTop, var(--pf-global--spacer--xs, 0.25rem));\n padding-left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));\n padding-bottom: var(--pf-c-label--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem));\n padding-right: var(--pf-c-label--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));\n font-size: var(--pf-c-label--FontSize, 0.875em);\n color: var(--pf-c-label--Color, var(--pf-global--Color--100, #151515));\n background-color: var(--pf-c-label--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5));\n border-radius: var(--pf-c-label--BorderRadius, 30em);\n max-width: var(--pf-c-label__content--MaxWidth, 100%);\n color: var(--pf-c-label__content--Color, var(--pf-global--Color--100, #151515));\n}\n\n#container::before {\n border-radius: var(--pf-c-label--BorderRadius, 30em);\n border: var(--pf-c-label__content--before--BorderWidth, 1px) solid var(--pf-c-label__content--before--BorderColor, var(--pf-global--palette--black-300, #d2d2d2));\n}\n\n.compact {\n --pf-c-label--PaddingTop: var(--pf-c-label--m-compact--PaddingTop, 0);\n --pf-c-label--PaddingRight: var(--pf-c-label--m-compact--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-label--PaddingBottom: var(--pf-c-label--m-compact--PaddingBottom, 0);\n --pf-c-label--PaddingLeft: var(--pf-c-label--m-compact--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));\n --pf-global--icon--FontSize--sm: 12px;\n}\n\n\n.blue {\n --pf-c-label__content--Color: var(--pf-c-label--m-blue__content--Color, var(--pf-global--info-color--200, #002952));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-blue--BackgroundColor, var(--pf-global--palette--blue-50, #e7f1fa));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-blue__content--before--BorderColor, var(--pf-global--palette--blue-100, #bee1f4));\n}\n\n.blue.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-blue__content--Color, var(--pf-global--primary-color--100, #06c)));\n}\n\n.cyan {\n --pf-c-label__content--Color: var(--pf-c-label--m-cyan__content--Color, var(--pf-global--default-color--300, #003737));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-cyan--BackgroundColor, var(--pf-global--palette--cyan-50, #f2f9f9));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-cyan__content--before--BorderColor, var(--pf-global--palette--cyan-100, #a2d9d9));\n}\n\n.cyan.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-cyan__content--Color, var(--pf-global--palette--cyan-400, #005f60)))\n}\n\n.green {\n --pf-c-label__content--Color: var(--pf-c-label--m-green__content--Color,var(--pf-global--success-color--200, #1e4f18));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-green--BackgroundColor, var(--pf-global--palette--green-50, #f3faf2));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-green__content--before--BorderColor, var(--pf-global--palette--green-100, #bde5b8));\n}\n\n.green.outline{\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-green__content--Color, var(--pf-global--success-color--100, #3e8635)))\n}\n\n.orange {\n --pf-c-label__content--Color: var(--pf-c-label--m-orange__content--Color, var(--pf-global--palette--orange-700, #3b1f00));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-orange--BackgroundColor, var(--pf-global--palette--orange-50, #fff6ec));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-orange__content--before--BorderColor, var(--pf-global--palette--orange-100, #f4b678));\n}\n\n.orange.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-orange__content--Color, var(--pf-global--palette--orange-500, #8f4700)))\n}\n\n.purple {\n --pf-c-label__content--Color: var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-700, #1f0066));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-purple--BackgroundColor, var(--pf-global--palette--purple-50, #f2f0fc));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-purple__content--before--BorderColor, var(--pf-global--palette--purple-100, #cbc1ff));\n}\n\n.purple.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac));\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac)))\n}\n\n.red {\n --pf-c-label__content--Color: var(--pf-c-label--m-red__content--Color, var(--pf-global--palette--red-300, #7d1007));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-red--BackgroundColor, var(--pf-global--palette--red-50, #faeae8));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-red__content--before--BorderColor, var(--pf-global--palette--red-100, #c9190b));\n}\n\n.red.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-red__content--Color, var(--pf-global--danger-color--100, #c9190b)))\n}\n\n.gold {\n --pf-c-label__content--Color: var(--pf-c-label--m-gold__content--Color, var(--pf-global--palette--gold-700, #3d2c00));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-gold--BackgroundColor, var(--pf-global--palette--gold-50, #fdf7e7));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-gold__content--before--BorderColor, var(--pf-global--palette--gold-100, #f9e0a2));\n}\n\n.gold.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-gold__content--Color, var(--pf-global--palette--gold-600, #795600)))\n}\n\n.outline {\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-outline--BackgroundColor, #ffffff);\n --pf-c-label__content--before--BorderColor: var(--pf-global--palette--black-300, #d2d2d2);\n}\n\n.hasIcon [part=icon] {\n left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--md, 1rem));\n margin-inline-end: var(--pf-c-label__icon--MarginRight, var(--pf-global--spacer--xs, 0.25rem));\n}\n\n.blue .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-blue__icon--Color, var(--pf-global--primary-color--100, #06c)));\n}\n\n.cyan .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-cyan__icon--Color, var(--pf-global--default-color--200, #009596)));\n}\n\n.green .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-green__icon--Color, var(--pf-global--success-color--100, #3e8635)));\n}\n\n.orange .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-orange__icon--Color, var(--pf-global--palette--orange-300, #ec7a08)));\n}\n\n.purple .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-purple__icon--Color, var(--pf-global--palette--purple-500, #6753ac)));\n}\n\n.red .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-red__icon--Color, var(--pf-global--danger-color--100, #c9190b)));\n}\n\n.gold .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-gold__icon--Color, var(--pf-global--palette--gold-400, #f0ab00)));\n}\n\npf-button {\n --pf-c-button--FontSize: var(--pf-c-label__c-button--FontSize,\n var(--pf-global--FontSize--xs, 0.75rem));\n --pf-c-button--PaddingTop: var(--pf-c-label__c-button--PaddingTop,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingRight: var(--pf-c-label__c-button--PaddingRight,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-button--PaddingBottom: var(--pf-c-label__c-button--PaddingBottom,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingLeft: var(--pf-c-label__c-button--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));\n margin-top: var(--pf-c-label__c-button--MarginTop, -0.5rem);\n margin-right: var(--pf-c-label__c-button--MarginRight, -0.5rem);\n margin-bottom: var(--pf-c-label__c-button--MarginBottom, -0.5rem);\n margin-left: var(--pf-c-label__c-button--MarginLeft, 0.25rem);\n}\n\nsvg {\n vertical-align:-0.125em;\n fill: currentColor;\n height: 1em;\n width: 1em;\n}\n`;
9
+ const styles = css `#pf-container{display:contents}#container{--pf-global--icon--FontSize--sm:14px;padding-top:var(--pf-c-label--PaddingTop,var(--pf-global--spacer--xs,.25rem));padding-left:var(--pf-c-label--PaddingLeft,var(--pf-global--spacer--sm,.5rem));padding-bottom:var(--pf-c-label--PaddingBottom,var(--pf-global--spacer--xs,.25rem));padding-right:var(--pf-c-label--PaddingRight,var(--pf-global--spacer--sm,.5rem));font-size:var(--pf-c-label--FontSize, .875em);color:var(--pf-c-label--Color,var(--pf-global--Color--100,#151515));background-color:var(--pf-c-label--BackgroundColor,var(--pf-global--palette--black-150,#f5f5f5));border-radius:var(--pf-c-label--BorderRadius,30em);max-width:var(--pf-c-label__content--MaxWidth,100%);color:var(--pf-c-label__content--Color,var(--pf-global--Color--100,#151515))}#container::before{border-radius:var(--pf-c-label--BorderRadius,30em);border:var(--pf-c-label__content--before--BorderWidth,1px) solid var(--pf-c-label__content--before--BorderColor,var(--pf-global--palette--black-300,#d2d2d2))}.compact{--pf-c-label--PaddingTop:var(--pf-c-label--m-compact--PaddingTop, 0);--pf-c-label--PaddingRight:var(--pf-c-label--m-compact--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));--pf-c-label--PaddingBottom:var(--pf-c-label--m-compact--PaddingBottom, 0);--pf-c-label--PaddingLeft:var(--pf-c-label--m-compact--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));--pf-global--icon--FontSize--sm:12px}.blue{--pf-c-label__content--Color:var(--pf-c-label--m-blue__content--Color, var(--pf-global--info-color--200, #002952));--pf-c-label--BackgroundColor:var(--pf-c-label--m-blue--BackgroundColor, var(--pf-global--palette--blue-50, #e7f1fa));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-blue__content--before--BorderColor, var(--pf-global--palette--blue-100, #bee1f4))}.blue.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-blue__content--Color, var(--pf-global--primary-color--100, #06c)))}.cyan{--pf-c-label__content--Color:var(--pf-c-label--m-cyan__content--Color, var(--pf-global--default-color--300, #003737));--pf-c-label--BackgroundColor:var(--pf-c-label--m-cyan--BackgroundColor, var(--pf-global--palette--cyan-50, #f2f9f9));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-cyan__content--before--BorderColor, var(--pf-global--palette--cyan-100, #a2d9d9))}.cyan.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-cyan__content--Color, var(--pf-global--palette--cyan-400, #005f60)))}.green{--pf-c-label__content--Color:var(--pf-c-label--m-green__content--Color,var(--pf-global--success-color--200, #1e4f18));--pf-c-label--BackgroundColor:var(--pf-c-label--m-green--BackgroundColor, var(--pf-global--palette--green-50, #f3faf2));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-green__content--before--BorderColor, var(--pf-global--palette--green-100, #bde5b8))}.green.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-green__content--Color, var(--pf-global--success-color--100, #3e8635)))}.orange{--pf-c-label__content--Color:var(--pf-c-label--m-orange__content--Color, var(--pf-global--palette--orange-700, #3b1f00));--pf-c-label--BackgroundColor:var(--pf-c-label--m-orange--BackgroundColor, var(--pf-global--palette--orange-50, #fff6ec));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-orange__content--before--BorderColor, var(--pf-global--palette--orange-100, #f4b678))}.orange.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-orange__content--Color, var(--pf-global--palette--orange-500, #8f4700)))}.purple{--pf-c-label__content--Color:var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-700, #1f0066));--pf-c-label--BackgroundColor:var(--pf-c-label--m-purple--BackgroundColor, var(--pf-global--palette--purple-50, #f2f0fc));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-purple__content--before--BorderColor, var(--pf-global--palette--purple-100, #cbc1ff))}.purple.outline{--pf-c-label__content--Color:var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac));--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac)))}.red{--pf-c-label__content--Color:var(--pf-c-label--m-red__content--Color, var(--pf-global--palette--red-300, #7d1007));--pf-c-label--BackgroundColor:var(--pf-c-label--m-red--BackgroundColor, var(--pf-global--palette--red-50, #faeae8));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-red__content--before--BorderColor, var(--pf-global--palette--red-100, #c9190b))}.red.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-red__content--Color, var(--pf-global--danger-color--100, #c9190b)))}.gold{--pf-c-label__content--Color:var(--pf-c-label--m-gold__content--Color, var(--pf-global--palette--gold-700, #3d2c00));--pf-c-label--BackgroundColor:var(--pf-c-label--m-gold--BackgroundColor, var(--pf-global--palette--gold-50, #fdf7e7));--pf-c-label__content--before--BorderColor:var(--pf-c-label--m-gold__content--before--BorderColor, var(--pf-global--palette--gold-100, #f9e0a2))}.gold.outline{--pf-c-label__content--Color:var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-gold__content--Color, var(--pf-global--palette--gold-600, #795600)))}.outline{--pf-c-label--BackgroundColor:var(--pf-c-label--m-outline--BackgroundColor, #ffffff);--pf-c-label__content--before--BorderColor:var(--pf-global--palette--black-300, #d2d2d2)}.hasIcon [part=icon]{left:var(--pf-c-label--PaddingLeft,var(--pf-global--spacer--md,1rem));margin-inline-end:var(--pf-c-label__icon--MarginRight,var(--pf-global--spacer--xs,.25rem))}.blue .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-blue__icon--Color,var(--pf-global--primary-color--100,#06c)))}.cyan .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-cyan__icon--Color,var(--pf-global--default-color--200,#009596)))}.green .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-green__icon--Color,var(--pf-global--success-color--100,#3e8635)))}.orange .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-orange__icon--Color,var(--pf-global--palette--orange-300,#ec7a08)))}.purple .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-purple__icon--Color,var(--pf-global--palette--purple-500,#6753ac)))}.red .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-red__icon--Color,var(--pf-global--danger-color--100,#c9190b)))}.gold .hasIcon [part=icon]{color:var(--pf-c-label__icon--Color,var(--pf-c-label--m-gold__icon--Color,var(--pf-global--palette--gold-400,#f0ab00)))}pf-button{--pf-c-button--FontSize:var(--pf-c-label__c-button--FontSize,\n var(--pf-global--FontSize--xs, 0.75rem));--pf-c-button--PaddingTop:var(--pf-c-label__c-button--PaddingTop,\n var(--pf-global--spacer--xs, 0.25rem));--pf-c-button--PaddingRight:var(--pf-c-label__c-button--PaddingRight,\n var(--pf-global--spacer--sm, 0.5rem));--pf-c-button--PaddingBottom:var(--pf-c-label__c-button--PaddingBottom,\n var(--pf-global--spacer--xs, 0.25rem));--pf-c-button--PaddingLeft:var(--pf-c-label__c-button--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));margin-top:var(--pf-c-label__c-button--MarginTop,-.5rem);margin-right:var(--pf-c-label__c-button--MarginRight,-.5rem);margin-bottom:var(--pf-c-label__c-button--MarginBottom,-.5rem);margin-left:var(--pf-c-label__c-button--MarginLeft,.25rem)}svg{vertical-align:-.125em;fill:currentColor;height:1em;width:1em}`;
10
10
  /**
11
11
  * Labels allow users to display meta data in a stylized form.
12
12
  *
@@ -0,0 +1,63 @@
1
+ # PatternFly Elements Modal
2
+
3
+ `pf-modal` is a self-contained modal window that is hidden on page load and (when activated) restricts the user from interacting with content in the main window.
4
+
5
+ Read more about Modal in the [PatternFly Elements Modal documentation](https://patternflyelements.org/components/modal)
6
+
7
+ ## Installation
8
+
9
+ Load `<pf-modal>` via CDN:
10
+
11
+ ```html
12
+ <script src="https://jspm.dev/@patternfly/elements/pf-modal/pf-modal.js"></script>
13
+ ```
14
+
15
+ Or, if you are using [NPM](https://npm.im), install it
16
+
17
+ ```bash
18
+ npm install @patternfly/elements
19
+ ```
20
+
21
+ Then once installed, import it to your application:
22
+
23
+ ```js
24
+ import '@patternfly/elements/pf-modal/pf-modal.js';
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ Open a modal dialog with the `showModal()` method, or by setting the `open` boolean attribute.
30
+
31
+ ```html
32
+ <pf-modal>
33
+ <h2 slot="header">Modal with a header</h2>
34
+ <p>Lorem ipsum dolor sit amet, <a href="#foo">consectetur adipisicing</a> elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
35
+ <a slot="footer" href="#bar">Learn more</a>
36
+ </pf-modal>
37
+
38
+ <script>
39
+ document.querySelector('pf-modal').showModal();
40
+ </script>
41
+ ```
42
+
43
+ ### With a trigger
44
+
45
+ You may assign a button-like trigger element to the modal by setting the modal element's `trigger` attribute to the trigger's ID.
46
+
47
+ ```html
48
+ <pf-modal trigger="trigger-button">
49
+ <h2 slot="header">Modal with a header</h2>
50
+ <p>Lorem ipsum dolor sit amet, <a href="#foo">consectetur adipisicing</a> elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
51
+ <a slot="footer" href="#bar">Learn more</a>
52
+ </pf-modal>
53
+
54
+ <button id="trigger-button">Open modal</button>
55
+ ```
56
+
57
+ You may also imperatively set the trigger element with the `setTrigger()` method:
58
+ ```js
59
+ const modal = document.querySelector('pf-modal');
60
+ const trigger = document.querySelector('button#my-trigger');
61
+ modal.setTrigger(trigger);
62
+ ```
63
+