@patternfly/elements 3.0.1 → 4.0.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 (371) hide show
  1. package/custom-elements.json +8857 -8783
  2. package/form-control.css +127 -0
  3. package/package.json +12 -25
  4. package/pf-accordion/pf-accordion-header.css +23 -0
  5. package/pf-accordion/pf-accordion-header.d.ts +52 -43
  6. package/pf-accordion/pf-accordion-header.js +130 -87
  7. package/pf-accordion/pf-accordion-header.js.map +1 -1
  8. package/pf-accordion/pf-accordion-panel.css +15 -0
  9. package/pf-accordion/pf-accordion-panel.d.ts +27 -25
  10. package/pf-accordion/pf-accordion-panel.js +29 -43
  11. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  12. package/pf-accordion/pf-accordion.d.ts +122 -65
  13. package/pf-accordion/pf-accordion.js +283 -94
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-accordion/test/pf-accordion.e2e.js +12 -0
  16. package/pf-accordion/test/pf-accordion.e2e.js.map +1 -1
  17. package/pf-accordion/test/pf-accordion.spec.js +366 -350
  18. package/pf-accordion/test/pf-accordion.spec.js.map +1 -1
  19. package/pf-avatar/pf-avatar.css +50 -24
  20. package/pf-avatar/pf-avatar.d.ts +29 -3
  21. package/pf-avatar/pf-avatar.js +51 -9
  22. package/pf-avatar/pf-avatar.js.map +1 -1
  23. package/pf-avatar/test/pf-avatar.e2e.js +12 -0
  24. package/pf-avatar/test/pf-avatar.e2e.js.map +1 -1
  25. package/pf-avatar/test/pf-avatar.spec.js +2 -3
  26. package/pf-avatar/test/pf-avatar.spec.js.map +1 -1
  27. package/pf-back-to-top/pf-back-to-top.css +10 -0
  28. package/pf-back-to-top/pf-back-to-top.d.ts +14 -18
  29. package/pf-back-to-top/pf-back-to-top.js +9 -30
  30. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  31. package/pf-back-to-top/test/pf-back-to-top.e2e.js +12 -0
  32. package/pf-back-to-top/test/pf-back-to-top.e2e.js.map +1 -1
  33. package/pf-background-image/pf-background-image.d.ts +4 -4
  34. package/pf-background-image/pf-background-image.js +1 -12
  35. package/pf-background-image/pf-background-image.js.map +1 -1
  36. package/pf-background-image/test/pf-background-image.e2e.js +12 -0
  37. package/pf-background-image/test/pf-background-image.e2e.js.map +1 -1
  38. package/pf-badge/pf-badge.css +4 -0
  39. package/pf-badge/pf-badge.d.ts +26 -22
  40. package/pf-badge/pf-badge.js +14 -27
  41. package/pf-badge/pf-badge.js.map +1 -1
  42. package/pf-badge/test/pf-badge.e2e.js +12 -0
  43. package/pf-badge/test/pf-badge.e2e.js.map +1 -1
  44. package/pf-banner/pf-banner.d.ts +16 -16
  45. package/pf-banner/pf-banner.js +1 -24
  46. package/pf-banner/pf-banner.js.map +1 -1
  47. package/pf-banner/test/pf-banner.e2e.js +12 -0
  48. package/pf-banner/test/pf-banner.e2e.js.map +1 -1
  49. package/pf-button/pf-button.css +22 -12
  50. package/pf-button/pf-button.d.ts +128 -122
  51. package/pf-button/pf-button.js +95 -172
  52. package/pf-button/pf-button.js.map +1 -1
  53. package/pf-button/test/pf-button.e2e.js +12 -0
  54. package/pf-button/test/pf-button.e2e.js.map +1 -1
  55. package/pf-card/pf-card.css +172 -43
  56. package/pf-card/pf-card.d.ts +41 -38
  57. package/pf-card/pf-card.js +37 -54
  58. package/pf-card/pf-card.js.map +1 -1
  59. package/pf-card/test/pf-card.e2e.js +12 -0
  60. package/pf-card/test/pf-card.e2e.js.map +1 -1
  61. package/pf-chip/pf-chip-group.css +9 -6
  62. package/pf-chip/pf-chip-group.d.ts +27 -14
  63. package/pf-chip/pf-chip-group.js +65 -94
  64. package/pf-chip/pf-chip-group.js.map +1 -1
  65. package/pf-chip/pf-chip.d.ts +20 -9
  66. package/pf-chip/pf-chip.js +1 -8
  67. package/pf-chip/pf-chip.js.map +1 -1
  68. package/pf-chip/test/pf-chip-group.spec.js +42 -22
  69. package/pf-chip/test/pf-chip-group.spec.js.map +1 -1
  70. package/pf-chip/test/pf-chip.e2e.js +12 -0
  71. package/pf-chip/test/pf-chip.e2e.js.map +1 -1
  72. package/pf-clipboard-copy/pf-clipboard-copy.css +83 -85
  73. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +53 -18
  74. package/pf-clipboard-copy/pf-clipboard-copy.js +55 -44
  75. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  76. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +12 -0
  77. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +1 -1
  78. package/pf-code-block/pf-code-block.css +7 -4
  79. package/pf-code-block/pf-code-block.d.ts +4 -25
  80. package/pf-code-block/pf-code-block.js +44 -23
  81. package/pf-code-block/pf-code-block.js.map +1 -1
  82. package/pf-code-block/test/pf-code-block.e2e.js +12 -0
  83. package/pf-code-block/test/pf-code-block.e2e.js.map +1 -1
  84. package/pf-dropdown/context.d.ts +2 -3
  85. package/pf-dropdown/context.js.map +1 -1
  86. package/pf-dropdown/pf-dropdown-group.d.ts +3 -9
  87. package/pf-dropdown/pf-dropdown-group.js +1 -5
  88. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  89. package/pf-dropdown/pf-dropdown-item.d.ts +21 -27
  90. package/pf-dropdown/pf-dropdown-item.js +1 -37
  91. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  92. package/pf-dropdown/pf-dropdown-menu.d.ts +4 -10
  93. package/pf-dropdown/pf-dropdown-menu.js +23 -23
  94. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  95. package/pf-dropdown/pf-dropdown.d.ts +8 -24
  96. package/pf-dropdown/pf-dropdown.js +1 -26
  97. package/pf-dropdown/pf-dropdown.js.map +1 -1
  98. package/pf-dropdown/test/pf-dropdown.e2e.js +12 -0
  99. package/pf-dropdown/test/pf-dropdown.e2e.js.map +1 -1
  100. package/pf-icon/pf-icon.css +22 -0
  101. package/pf-icon/pf-icon.d.ts +93 -4
  102. package/pf-icon/pf-icon.js +191 -13
  103. package/pf-icon/pf-icon.js.map +1 -1
  104. package/pf-icon/test/pf-icon.e2e.js +12 -0
  105. package/pf-icon/test/pf-icon.e2e.js.map +1 -1
  106. package/pf-icon/test/pf-icon.spec.js +102 -88
  107. package/pf-icon/test/pf-icon.spec.js.map +1 -1
  108. package/pf-jump-links/pf-jump-links-item.d.ts +4 -11
  109. package/pf-jump-links/pf-jump-links-item.js +8 -15
  110. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  111. package/pf-jump-links/pf-jump-links-list.d.ts +2 -2
  112. package/pf-jump-links/pf-jump-links-list.js +1 -5
  113. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  114. package/pf-jump-links/pf-jump-links.d.ts +2 -2
  115. package/pf-jump-links/pf-jump-links.js +23 -62
  116. package/pf-jump-links/pf-jump-links.js.map +1 -1
  117. package/pf-jump-links/test/pf-jump-links.e2e.js +12 -0
  118. package/pf-jump-links/test/pf-jump-links.e2e.js.map +1 -1
  119. package/pf-label/pf-label.css +38 -5
  120. package/pf-label/pf-label.d.ts +65 -69
  121. package/pf-label/pf-label.js +49 -90
  122. package/pf-label/pf-label.js.map +1 -1
  123. package/pf-label/test/pf-label.e2e.js +12 -0
  124. package/pf-label/test/pf-label.e2e.js.map +1 -1
  125. package/pf-label/test/pf-label.spec.js +26 -16
  126. package/pf-label/test/pf-label.spec.js.map +1 -1
  127. package/pf-modal/pf-modal.d.ts +17 -22
  128. package/pf-modal/pf-modal.js +13 -39
  129. package/pf-modal/pf-modal.js.map +1 -1
  130. package/pf-modal/test/pf-modal.e2e.js +12 -0
  131. package/pf-modal/test/pf-modal.e2e.js.map +1 -1
  132. package/pf-panel/pf-panel.d.ts +31 -3
  133. package/pf-panel/pf-panel.js +1 -10
  134. package/pf-panel/pf-panel.js.map +1 -1
  135. package/pf-panel/test/pf-panel.e2e.js +12 -0
  136. package/pf-panel/test/pf-panel.e2e.js.map +1 -1
  137. package/pf-popover/pf-popover.d.ts +66 -84
  138. package/pf-popover/pf-popover.js +33 -150
  139. package/pf-popover/pf-popover.js.map +1 -1
  140. package/pf-popover/test/pf-popover.e2e.js +12 -0
  141. package/pf-popover/test/pf-popover.e2e.js.map +1 -1
  142. package/pf-popover/test/pf-popover.spec.js +0 -11
  143. package/pf-popover/test/pf-popover.spec.js.map +1 -1
  144. package/pf-progress/pf-progress.d.ts +40 -40
  145. package/pf-progress/pf-progress.js +1 -61
  146. package/pf-progress/pf-progress.js.map +1 -1
  147. package/pf-progress/test/pf-progress.e2e.js +12 -0
  148. package/pf-progress/test/pf-progress.e2e.js.map +1 -1
  149. package/pf-progress-stepper/pf-progress-step.d.ts +2 -3
  150. package/pf-progress-stepper/pf-progress-step.js +4 -14
  151. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  152. package/pf-progress-stepper/pf-progress-stepper.d.ts +118 -2
  153. package/pf-progress-stepper/pf-progress-stepper.js +10 -12
  154. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  155. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +12 -0
  156. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +1 -1
  157. package/pf-select/pf-option-group.d.ts +2 -2
  158. package/pf-select/pf-option-group.js +1 -5
  159. package/pf-select/pf-option-group.js.map +1 -1
  160. package/pf-select/pf-option.css +1 -1
  161. package/pf-select/pf-option.d.ts +4 -4
  162. package/pf-select/pf-option.js +20 -30
  163. package/pf-select/pf-option.js.map +1 -1
  164. package/pf-select/pf-select.css +14 -6
  165. package/pf-select/pf-select.d.ts +183 -40
  166. package/pf-select/pf-select.js +185 -260
  167. package/pf-select/pf-select.js.map +1 -1
  168. package/pf-select/test/pf-select.e2e.js +12 -0
  169. package/pf-select/test/pf-select.e2e.js.map +1 -1
  170. package/pf-select/test/pf-select.spec.js +1292 -613
  171. package/pf-select/test/pf-select.spec.js.map +1 -1
  172. package/pf-spinner/pf-spinner.css +27 -17
  173. package/pf-spinner/pf-spinner.d.ts +21 -17
  174. package/pf-spinner/pf-spinner.js +20 -24
  175. package/pf-spinner/pf-spinner.js.map +1 -1
  176. package/pf-spinner/test/pf-spinner.e2e.js +12 -0
  177. package/pf-spinner/test/pf-spinner.e2e.js.map +1 -1
  178. package/pf-switch/pf-switch.css +39 -13
  179. package/pf-switch/pf-switch.d.ts +48 -34
  180. package/pf-switch/pf-switch.js +114 -43
  181. package/pf-switch/pf-switch.js.map +1 -1
  182. package/pf-switch/test/pf-switch.e2e.js +12 -0
  183. package/pf-switch/test/pf-switch.e2e.js.map +1 -1
  184. package/pf-table/pf-caption.d.ts +2 -2
  185. package/pf-table/pf-caption.js +1 -4
  186. package/pf-table/pf-caption.js.map +1 -1
  187. package/pf-table/pf-table.d.ts +424 -424
  188. package/pf-table/pf-table.js +7 -645
  189. package/pf-table/pf-table.js.map +1 -1
  190. package/pf-table/pf-tbody.d.ts +2 -2
  191. package/pf-table/pf-tbody.js +1 -4
  192. package/pf-table/pf-tbody.js.map +1 -1
  193. package/pf-table/pf-td.d.ts +2 -2
  194. package/pf-table/pf-td.js +1 -4
  195. package/pf-table/pf-td.js.map +1 -1
  196. package/pf-table/pf-th.d.ts +2 -2
  197. package/pf-table/pf-th.js +1 -4
  198. package/pf-table/pf-th.js.map +1 -1
  199. package/pf-table/pf-thead.d.ts +2 -2
  200. package/pf-table/pf-thead.js +1 -4
  201. package/pf-table/pf-thead.js.map +1 -1
  202. package/pf-table/pf-tr.d.ts +1 -1
  203. package/pf-table/pf-tr.js +1 -4
  204. package/pf-table/pf-tr.js.map +1 -1
  205. package/pf-table/test/pf-table.e2e.js +12 -0
  206. package/pf-table/test/pf-table.e2e.js.map +1 -1
  207. package/pf-tabs/context.d.ts +2 -3
  208. package/pf-tabs/context.js.map +1 -1
  209. package/pf-tabs/pf-tab-panel.d.ts +3 -5
  210. package/pf-tabs/pf-tab-panel.js +1 -7
  211. package/pf-tabs/pf-tab-panel.js.map +1 -1
  212. package/pf-tabs/pf-tab.d.ts +37 -37
  213. package/pf-tabs/pf-tab.js +16 -54
  214. package/pf-tabs/pf-tab.js.map +1 -1
  215. package/pf-tabs/pf-tabs.d.ts +36 -37
  216. package/pf-tabs/pf-tabs.js +40 -78
  217. package/pf-tabs/pf-tabs.js.map +1 -1
  218. package/pf-tabs/test/pf-tabs.e2e.js +12 -0
  219. package/pf-tabs/test/pf-tabs.e2e.js.map +1 -1
  220. package/pf-tabs/test/pf-tabs.spec.js +11 -12
  221. package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
  222. package/pf-text-area/pf-text-area.d.ts +128 -134
  223. package/pf-text-area/pf-text-area.js +7 -131
  224. package/pf-text-area/pf-text-area.js.map +1 -1
  225. package/pf-text-area/test/pf-text-area.e2e.js +12 -0
  226. package/pf-text-area/test/pf-text-area.e2e.js.map +1 -1
  227. package/pf-text-input/pf-text-input.d.ts +129 -135
  228. package/pf-text-input/pf-text-input.js +7 -132
  229. package/pf-text-input/pf-text-input.js.map +1 -1
  230. package/pf-text-input/test/pf-text-input.e2e.js +12 -0
  231. package/pf-text-input/test/pf-text-input.e2e.js.map +1 -1
  232. package/pf-tile/pf-tile.d.ts +21 -20
  233. package/pf-tile/pf-tile.js +18 -35
  234. package/pf-tile/pf-tile.js.map +1 -1
  235. package/pf-tile/test/pf-tile.e2e.js +12 -0
  236. package/pf-tile/test/pf-tile.e2e.js.map +1 -1
  237. package/pf-timestamp/pf-timestamp.d.ts +2 -2
  238. package/pf-timestamp/pf-timestamp.js +1 -3
  239. package/pf-timestamp/pf-timestamp.js.map +1 -1
  240. package/pf-timestamp/test/pf-timestamp.e2e.js +12 -0
  241. package/pf-timestamp/test/pf-timestamp.e2e.js.map +1 -1
  242. package/pf-tooltip/pf-tooltip.d.ts +51 -50
  243. package/pf-tooltip/pf-tooltip.js +26 -106
  244. package/pf-tooltip/pf-tooltip.js.map +1 -1
  245. package/pf-tooltip/test/pf-tooltip.e2e.js +12 -0
  246. package/pf-tooltip/test/pf-tooltip.e2e.js.map +1 -1
  247. package/pfe.min.js +1194 -1002
  248. package/pfe.min.js.map +4 -4
  249. package/react/pf-accordion/pf-accordion-header.js +2 -2
  250. package/react/pf-accordion/pf-accordion-panel.js +2 -2
  251. package/react/pf-accordion/pf-accordion.js +2 -2
  252. package/react/pf-avatar/pf-avatar.d.ts +1 -1
  253. package/react/pf-avatar/pf-avatar.js +5 -3
  254. package/react/pf-back-to-top/pf-back-to-top.js +2 -2
  255. package/react/pf-background-image/pf-background-image.js +2 -2
  256. package/react/pf-badge/pf-badge.js +2 -2
  257. package/react/pf-banner/pf-banner.js +2 -2
  258. package/react/pf-button/pf-button.js +2 -2
  259. package/react/pf-card/pf-card.js +2 -2
  260. package/react/pf-chip/pf-chip-group.js +2 -2
  261. package/react/pf-chip/pf-chip.js +2 -2
  262. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -1
  263. package/react/pf-clipboard-copy/pf-clipboard-copy.js +5 -3
  264. package/react/pf-code-block/pf-code-block.js +2 -2
  265. package/react/pf-dropdown/pf-dropdown-group.js +2 -2
  266. package/react/pf-dropdown/pf-dropdown-item.js +2 -2
  267. package/react/pf-dropdown/pf-dropdown-menu.js +2 -2
  268. package/react/pf-dropdown/pf-dropdown.js +2 -2
  269. package/react/pf-icon/pf-icon.js +2 -2
  270. package/react/pf-jump-links/pf-jump-links-item.js +2 -2
  271. package/react/pf-jump-links/pf-jump-links-list.js +2 -2
  272. package/react/pf-jump-links/pf-jump-links.js +2 -2
  273. package/react/pf-label/pf-label.js +2 -2
  274. package/react/pf-modal/pf-modal.js +2 -2
  275. package/react/pf-panel/pf-panel.js +2 -2
  276. package/react/pf-popover/pf-popover.js +2 -2
  277. package/react/pf-progress/pf-progress.js +2 -2
  278. package/react/pf-progress-stepper/pf-progress-step.js +2 -2
  279. package/react/pf-progress-stepper/pf-progress-stepper.js +2 -2
  280. package/react/pf-select/pf-option-group.js +2 -2
  281. package/react/pf-select/pf-option.js +2 -2
  282. package/react/pf-select/pf-select.d.ts +1 -1
  283. package/react/pf-select/pf-select.js +2 -3
  284. package/react/pf-spinner/pf-spinner.js +2 -2
  285. package/react/pf-switch/pf-switch.js +2 -2
  286. package/react/pf-table/pf-caption.js +2 -2
  287. package/react/pf-table/pf-table.js +2 -2
  288. package/react/pf-table/pf-tbody.js +2 -2
  289. package/react/pf-table/pf-td.js +2 -2
  290. package/react/pf-table/pf-th.js +2 -2
  291. package/react/pf-table/pf-thead.js +2 -2
  292. package/react/pf-table/pf-tr.js +2 -2
  293. package/react/pf-tabs/pf-tab-panel.js +2 -2
  294. package/react/pf-tabs/pf-tab.js +2 -2
  295. package/react/pf-tabs/pf-tabs.js +2 -2
  296. package/react/pf-text-area/pf-text-area.js +2 -2
  297. package/react/pf-text-input/pf-text-input.js +2 -2
  298. package/react/pf-tile/pf-tile.js +2 -2
  299. package/react/pf-timestamp/pf-timestamp.js +2 -2
  300. package/react/pf-tooltip/pf-tooltip.js +2 -2
  301. package/pf-accordion/BaseAccordion.d.ts +0 -61
  302. package/pf-accordion/BaseAccordion.js +0 -269
  303. package/pf-accordion/BaseAccordion.js.map +0 -1
  304. package/pf-accordion/BaseAccordionHeader.css +0 -39
  305. package/pf-accordion/BaseAccordionHeader.d.ts +0 -29
  306. package/pf-accordion/BaseAccordionHeader.js +0 -128
  307. package/pf-accordion/BaseAccordionHeader.js.map +0 -1
  308. package/pf-accordion/BaseAccordionPanel.css +0 -27
  309. package/pf-accordion/BaseAccordionPanel.d.ts +0 -7
  310. package/pf-accordion/BaseAccordionPanel.js +0 -33
  311. package/pf-accordion/BaseAccordionPanel.js.map +0 -1
  312. package/pf-avatar/BaseAvatar.css +0 -13
  313. package/pf-avatar/BaseAvatar.d.ts +0 -23
  314. package/pf-avatar/BaseAvatar.js +0 -62
  315. package/pf-avatar/BaseAvatar.js.map +0 -1
  316. package/pf-back-to-top/demo/demo.css +0 -25
  317. package/pf-badge/BaseBadge.css +0 -6
  318. package/pf-badge/BaseBadge.d.ts +0 -18
  319. package/pf-badge/BaseBadge.js +0 -16
  320. package/pf-badge/BaseBadge.js.map +0 -1
  321. package/pf-button/BaseButton.css +0 -68
  322. package/pf-button/BaseButton.d.ts +0 -51
  323. package/pf-button/BaseButton.js +0 -84
  324. package/pf-button/BaseButton.js.map +0 -1
  325. package/pf-card/BaseCard.css +0 -36
  326. package/pf-card/BaseCard.d.ts +0 -24
  327. package/pf-card/BaseCard.js +0 -51
  328. package/pf-card/BaseCard.js.map +0 -1
  329. package/pf-clipboard-copy/BaseClipboardCopy.css +0 -6
  330. package/pf-clipboard-copy/BaseClipboardCopy.d.ts +0 -18
  331. package/pf-clipboard-copy/BaseClipboardCopy.js +0 -25
  332. package/pf-clipboard-copy/BaseClipboardCopy.js.map +0 -1
  333. package/pf-code-block/BaseCodeBlock.css +0 -7
  334. package/pf-code-block/BaseCodeBlock.d.ts +0 -8
  335. package/pf-code-block/BaseCodeBlock.js +0 -22
  336. package/pf-code-block/BaseCodeBlock.js.map +0 -1
  337. package/pf-icon/BaseIcon.css +0 -22
  338. package/pf-icon/BaseIcon.d.ts +0 -41
  339. package/pf-icon/BaseIcon.js +0 -144
  340. package/pf-icon/BaseIcon.js.map +0 -1
  341. package/pf-label/BaseLabel.css +0 -44
  342. package/pf-label/BaseLabel.d.ts +0 -30
  343. package/pf-label/BaseLabel.js +0 -29
  344. package/pf-label/BaseLabel.js.map +0 -1
  345. package/pf-spinner/BaseSpinner.css +0 -20
  346. package/pf-spinner/BaseSpinner.d.ts +0 -27
  347. package/pf-spinner/BaseSpinner.js +0 -45
  348. package/pf-spinner/BaseSpinner.js.map +0 -1
  349. package/pf-switch/BaseSwitch.css +0 -36
  350. package/pf-switch/BaseSwitch.d.ts +0 -19
  351. package/pf-switch/BaseSwitch.js +0 -109
  352. package/pf-switch/BaseSwitch.js.map +0 -1
  353. package/pf-tabs/BaseTab.css +0 -60
  354. package/pf-tabs/BaseTab.d.ts +0 -32
  355. package/pf-tabs/BaseTab.js +0 -83
  356. package/pf-tabs/BaseTab.js.map +0 -1
  357. package/pf-tabs/BaseTabPanel.css +0 -7
  358. package/pf-tabs/BaseTabPanel.d.ts +0 -7
  359. package/pf-tabs/BaseTabPanel.js +0 -36
  360. package/pf-tabs/BaseTabPanel.js.map +0 -1
  361. package/pf-tabs/BaseTabs.css +0 -86
  362. package/pf-tabs/BaseTabs.d.ts +0 -38
  363. package/pf-tabs/BaseTabs.js +0 -221
  364. package/pf-tabs/BaseTabs.js.map +0 -1
  365. package/pf-tile/BaseTile.d.ts +0 -13
  366. package/pf-tile/BaseTile.js +0 -28
  367. package/pf-tile/BaseTile.js.map +0 -1
  368. package/pf-tooltip/BaseTooltip.css +0 -70
  369. package/pf-tooltip/BaseTooltip.d.ts +0 -16
  370. package/pf-tooltip/BaseTooltip.js +0 -54
  371. package/pf-tooltip/BaseTooltip.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pf-jump-links.js","sourceRoot":"","sources":["pf-jump-links.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAE1G,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,yCAAyC,CAAC;;;AAIjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;;QAGL,4EAA4E;QAChC,eAAU,GAAG,KAAK,CAAC;QAE/D,qEAAqE;QACzB,aAAQ,GAAG,KAAK,CAAC;QAE7D,gEAAgE;QACpB,aAAQ,GAAG,KAAK,CAAC;QAE7D,kCAAkC;QACU,aAAQ,GAAG,KAAK,CAAC;QAE7D,oGAAoG;QACxE,WAAM,GAAG,CAAC,CAAC;QAKvC,4BAAQ,IAAI,CAAC,gBAAgB,CAAa,6CAA6C,CAAC,EAAC;QAEzF,wCAAwD;QAExD,2BAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE;YACnC,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,gBAAgB;YAC1C,QAAQ,EAAE,CAAC,oBAAoB,CAAC;SACjC,CAAC,EAAC;IA8EL,CAAC;IA5EoB,KAAK,CAAC,iBAAiB;QACxC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,yBAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,uBAAA,IAAI,wDAAa,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAA,IAAI,qDAAU,CAAC,CAAC;IAClD,CAAC;IAEQ,YAAY;QACnB,uBAAA,IAAI,yBAAa,IAAI,wBAAwB,CAAoB,IAAI,EAAE;YACrE,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,yBAAM,CAAC;qBAC/B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE;oBAC5C,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE;iBACjC,CAAC,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,MAAA,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAkB,4BAA4B,CAAC,CAAC;QACjF,IAAI,MAAM,EAAE,CAAC;YACX,uBAAA,IAAI,0DAAe,MAAnB,IAAI,EAAgB,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEQ,OAAO,CAAC,OAA6B;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,uBAAA,IAAI,wBAAK,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;4BACa,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;0BACxB,IAAI,CAAC,QAAQ,cAAc,uBAAA,IAAI,qDAAU;;;+BAGpC,IAAI,CAAC,KAAK;;;;;mBAKtB,CAAC,CAAC,CAAC,IAAI,CAAA;2BACC,IAAI,CAAC,KAAK;;;eAGtB;;KAEV,CAAC;IACJ,CAAC;;;;;;;IAGC,uBAAA,IAAI,6BAAU,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC;uDAES,KAAY;IACpB,IAAI,KAAK,CAAC,MAAM,YAAY,eAAe,EAAE,CAAC;QAC5C,uBAAA,IAAI,0DAAe,MAAnB,IAAI,EAAgB,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;iEAEc,IAAqB;IAClC,uBAAA,IAAI,6BAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IAChF,uBAAA,IAAI,wBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;uDAES,KAAY;IACpB,IAAI,KAAK,CAAC,MAAM,YAAY,kBAAkB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC;AAxGe,kBAAM,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW;AAGW;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CAAoB;AAGnB;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAGjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAAY;AAG3B;IAAX,QAAQ,EAAE;0CAAgB;AAnBhB,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW,CA0GvB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ScrollSpyController } from '@patternfly/pfe-core/controllers/scroll-spy-controller.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfJumpLinksItem } from './pf-jump-links-item.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport style from './pf-jump-links.css';\n\n/**\n * **Jump links** allow users to navigate to sections within a page.\n * @fires toggle - when the `expanded` disclosure widget is toggled\n * @slot - Place pf-jump-links-items here\n * @cssprop --pf-c-jump-links__list--Display\n * @cssprop --pf-c-jump-links__list--FlexDirection\n * @cssprop --pf-c-jump-links__list--PaddingTop -- padding around the list of links\n * @cssprop --pf-c-jump-links__list--PaddingRight\n * @cssprop --pf-c-jump-links__list--PaddingBottom\n * @cssprop --pf-c-jump-links__list--PaddingLeft\n * @cssprop --pf-c-jump-links__list--Visibility\n * @cssprop --pf-c-jump-links__list--before--BorderColor\n * @cssprop --pf-c-jump-links__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links__list--before--BorderRightWidth\n * @cssprop --pf-c-jump-links__list--before--BorderBottomWidth\n * @cssprop --pf-c-jump-links__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-jump-links__toggle--MarginBottom\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginLeft\n * @cssprop --pf-c-jump-links__toggle-text--Color\n * @cssprop --pf-c-button--PaddingTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-button--PaddingRight\n * @cssprop --pf-c-button--PaddingBottom\n * @cssprop --pf-c-button--PaddingLeft\n * @cssprop --pf-c-jump-links__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links__toggle-icon--Transition\n * @cssprop --pf-c-jump-links__toggle-text--MarginLeft\n * @cssprop --pf-c-jump-links--m-expanded__toggle--MarginBottom\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Color\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingTop\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingRight\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingBottom\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingLeft\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--FlexDirection\n */\n@customElement('pf-jump-links')\nexport class PfJumpLinks extends LitElement {\n static readonly styles = [style];\n\n /** Whether the element features a disclosure widget around the nav items */\n @property({ reflect: true, type: Boolean }) expandable = false;\n\n /** Whether the expandable element's disclosure widget is expanded */\n @property({ reflect: true, type: Boolean }) expanded = false;\n\n /** Whether the layout of children is vertical or horizontal. */\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n /** Whether to center children. */\n @property({ reflect: true, type: Boolean }) centered = false;\n\n /** Offset to add to the scroll position, potentially for a masthead which content scrolls under. */\n @property({ type: Number }) offset = 0;\n\n /** Label to add to nav element. */\n @property() label?: string;\n\n #kids = this.querySelectorAll<LitElement>(':is(pf-jump-links-item, pf-jump-links-list)');\n\n #tabindex?: RovingTabindexController<HTMLAnchorElement>;\n\n #spy = new ScrollSpyController(this, {\n rootMargin: `${this.offset}px 0px 0px 0px`,\n tagNames: ['pf-jump-links-item'],\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const here = await super.getUpdateComplete();\n const ps = await Promise.all(Array.from(this.#kids, x => x.updateComplete));\n return here && ps.every(x => !!x);\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('slotchange', this.#updateItems);\n this.addEventListener('select', this.#onSelect);\n }\n\n override firstUpdated() {\n this.#tabindex = new RovingTabindexController<HTMLAnchorElement>(this, {\n getItems: () => {\n const items = Array.from(this.#kids)\n .flatMap(i => [\n ...i.shadowRoot?.querySelectorAll('a') ?? [],\n ...i.querySelectorAll('a') ?? [],\n ]);\n return items;\n },\n });\n const active = this.querySelector<PfJumpLinksItem>('pf-jump-links-item[active]');\n if (active) {\n this.#setActiveItem(active);\n }\n }\n\n override updated(changed: Map<string, unknown>) {\n if (changed.has('offset')) {\n this.#spy.rootMargin = `${this.offset ?? 0}px 0px 0px 0px`;\n }\n }\n\n render() {\n return html`\n <nav id=\"container\">${this.expandable ? html`\n <details ?open=\"${this.expanded}\" @toggle=\"${this.#onToggle}\">\n <summary>\n <pf-icon icon=\"chevron-right\"></pf-icon>\n <span id=\"label\">${this.label}</span>\n </summary>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>\n </details>` : html`\n <span id=\"label\">${this.label}</span>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>`}\n </nav>\n `;\n }\n\n #updateItems() {\n this.#tabindex?.updateItems();\n }\n\n #onSelect(event: Event) {\n if (event.target instanceof PfJumpLinksItem) {\n this.#setActiveItem(event.target);\n }\n }\n\n #setActiveItem(item: PfJumpLinksItem) {\n this.#tabindex?.setActiveItem(item.shadowRoot?.querySelector('a') ?? undefined);\n this.#spy.setActive(item);\n }\n\n #onToggle(event: Event) {\n if (event.target instanceof HTMLDetailsElement) {\n this.expanded = event.target.open;\n }\n this.dispatchEvent(new Event('toggle'));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links': PfJumpLinks;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-jump-links.js","sourceRoot":"","sources":["pf-jump-links.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ScrollSpyController } from '@patternfly/pfe-core/controllers/scroll-spy-controller.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfJumpLinksItem } from './pf-jump-links-item.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport style from './pf-jump-links.css';\n\n/**\n * **Jump links** allow users to navigate to sections within a page.\n * @fires toggle - when the `expanded` disclosure widget is toggled\n * @slot - Place pf-jump-links-items here\n * @cssprop --pf-c-jump-links__list--Display\n * @cssprop --pf-c-jump-links__list--FlexDirection\n * @cssprop --pf-c-jump-links__list--PaddingTop -- padding around the list of links\n * @cssprop --pf-c-jump-links__list--PaddingRight\n * @cssprop --pf-c-jump-links__list--PaddingBottom\n * @cssprop --pf-c-jump-links__list--PaddingLeft\n * @cssprop --pf-c-jump-links__list--Visibility\n * @cssprop --pf-c-jump-links__list--before--BorderColor\n * @cssprop --pf-c-jump-links__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links__list--before--BorderRightWidth\n * @cssprop --pf-c-jump-links__list--before--BorderBottomWidth\n * @cssprop --pf-c-jump-links__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-jump-links__toggle--MarginBottom\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginLeft\n * @cssprop --pf-c-jump-links__toggle-text--Color\n * @cssprop --pf-c-button--PaddingTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-button--PaddingRight\n * @cssprop --pf-c-button--PaddingBottom\n * @cssprop --pf-c-button--PaddingLeft\n * @cssprop --pf-c-jump-links__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links__toggle-icon--Transition\n * @cssprop --pf-c-jump-links__toggle-text--MarginLeft\n * @cssprop --pf-c-jump-links--m-expanded__toggle--MarginBottom\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Color\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingTop\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingRight\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingBottom\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingLeft\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--FlexDirection\n */\n@customElement('pf-jump-links')\nexport class PfJumpLinks extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n /** Whether the element features a disclosure widget around the nav items */\n @property({ reflect: true, type: Boolean }) expandable = false;\n\n /** Whether the expandable element's disclosure widget is expanded */\n @property({ reflect: true, type: Boolean }) expanded = false;\n\n /** Whether the layout of children is vertical or horizontal. */\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n /** Whether to center children. */\n @property({ reflect: true, type: Boolean }) centered = false;\n\n /** Offset to add to the scroll position, potentially for a masthead which content scrolls under. */\n @property({ type: Number }) offset = 0;\n\n /** Label to add to nav element. */\n @property() label?: string;\n\n #kids = this.querySelectorAll?.<LitElement>(':is(pf-jump-links-item, pf-jump-links-list)');\n\n get #items() {\n return Array.from(this.#kids ?? [])\n .flatMap(i => [\n ...i.shadowRoot?.querySelectorAll?.('a') ?? [],\n ...i.querySelectorAll?.('a') ?? [],\n ]);\n }\n\n #tabindex = RovingTabindexController.of<HTMLAnchorElement>(this, {\n getItems: () => this.#items,\n });\n\n #spy = new ScrollSpyController(this, {\n rootMargin: `${this.offset}px 0px 0px 0px`,\n tagNames: ['pf-jump-links-item'],\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const here = await super.getUpdateComplete();\n const ps = await Promise.all(Array.from(this.#kids, x => x.updateComplete));\n return here && ps.every(x => !!x);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('slotchange', this.#onSlotChange);\n this.addEventListener('select', this.#onSelect);\n }\n\n override firstUpdated(): void {\n const active = this.querySelector?.<PfJumpLinksItem>('pf-jump-links-item[active]');\n if (active) {\n this.#setActiveItem(active);\n }\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('offset')) {\n this.#spy.rootMargin = `${this.offset ?? 0}px 0px 0px 0px`;\n }\n }\n\n render(): TemplateResult<1> {\n return html`\n <nav id=\"container\">${this.expandable ? html`\n <details ?open=\"${this.expanded}\" @toggle=\"${this.#onToggle}\">\n <summary>\n <pf-icon icon=\"chevron-right\"></pf-icon>\n <span id=\"label\">${this.label}</span>\n </summary>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>\n </details>` : html`\n <span id=\"label\">${this.label}</span>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>`}\n </nav>\n `;\n }\n\n #onSlotChange() {\n this.#tabindex.items = this.#items;\n }\n\n #onSelect(event: Event) {\n if (event.target instanceof PfJumpLinksItem) {\n this.#setActiveItem(event.target);\n }\n }\n\n #setActiveItem(item: PfJumpLinksItem) {\n const itemLink = item.shadowRoot?.querySelector?.('a') ?? null;\n if (itemLink) {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(itemLink);\n this.#spy.setActive(item);\n }\n }\n\n #onToggle(event: Event) {\n if (event.target instanceof HTMLDetailsElement) {\n this.expanded = event.target.open;\n }\n this.dispatchEvent(new Event('toggle'));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links': PfJumpLinks;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { test } from '@playwright/test';
2
2
  import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
3
+ import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
3
4
  const tagName = 'pf-jump-links';
4
5
  test.describe(tagName, () => {
5
6
  test('snapshot', async ({ page }) => {
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
7
8
  await componentPage.navigate({ selector: 'pf-jump-links-nav' });
8
9
  await componentPage.snapshot();
9
10
  });
11
+ test('ssr', async ({ browser }) => {
12
+ const fixture = new SSRPage({
13
+ tagName,
14
+ browser,
15
+ demoDir: new URL('../demo/', import.meta.url),
16
+ importSpecifiers: [
17
+ `@patternfly/elements/${tagName}/${tagName}.js`,
18
+ ],
19
+ });
20
+ await fixture.snapshots();
21
+ });
10
22
  });
11
23
  //# sourceMappingURL=pf-jump-links.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pf-jump-links.e2e.js","sourceRoot":"","sources":["pf-jump-links.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF,MAAM,OAAO,GAAG,eAAe,CAAC;AAEhC,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,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\n\nconst tagName = 'pf-jump-links';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate({ selector: 'pf-jump-links-nav' });\n await componentPage.snapshot();\n });\n});\n"]}
1
+ {"version":3,"file":"pf-jump-links.e2e.js","sourceRoot":"","sources":["pf-jump-links.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,eAAe,CAAC;AAEhC,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,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,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-jump-links';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate({ selector: 'pf-jump-links-nav' });\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,27 +1,61 @@
1
- #pf-container {
2
- display: contents;
1
+ :host {
2
+ position: relative;
3
+ white-space: nowrap;
4
+ border: 0;
3
5
  }
4
6
 
7
+ pf-icon, ::slotted(pf-icon) {
8
+ color: currentColor;
9
+ }
10
+
11
+ :host,
5
12
  #container {
6
- --pf-global--icon--FontSize--sm: 14px;
13
+ display: inline-flex;
14
+ align-items: center;
15
+ vertical-align: middle;
16
+ }
7
17
 
18
+ #container {
19
+ overflow: hidden;
20
+ text-overflow: ellipsis;
21
+ white-space: nowrap;
22
+ border-width: 0;
8
23
  padding-top: var(--pf-c-label--PaddingTop, var(--pf-global--spacer--xs, 0.25rem));
9
24
  padding-left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));
10
25
  padding-bottom: var(--pf-c-label--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem));
11
26
  padding-right: var(--pf-c-label--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));
12
- font-size: var(--pf-c-label--FontSize, 0.875em);
27
+ font-size: var(--pf-c-label--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
13
28
  color: var(--pf-c-label--Color, var(--pf-global--Color--100, #151515));
14
29
  background-color: var(--pf-c-label--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5));
15
30
  border-radius: var(--pf-c-label--BorderRadius, 30em);
16
31
  max-width: var(--pf-c-label__content--MaxWidth, 100%);
17
32
  color: var(--pf-c-label__content--Color, var(--pf-global--Color--100, #151515));
33
+
34
+ --pf-global--icon--FontSize--sm: 14px;
18
35
  }
19
36
 
20
37
  #container::before {
38
+ position: absolute;
39
+ top: 0;
40
+ right: 0;
41
+ bottom: 0;
42
+ left: 0;
43
+ pointer-events: none;
44
+ content: "";
21
45
  border-radius: var(--pf-c-label--BorderRadius, 30em);
22
46
  border: var(--pf-c-label__content--before--BorderWidth, 1px) solid var(--pf-c-label__content--before--BorderColor, var(--pf-global--palette--black-300, #d2d2d2));
23
47
  }
24
48
 
49
+ [part=icon] {
50
+ display: none;
51
+ pointer-events: none;
52
+ }
53
+
54
+ .hasIcon [part=icon] {
55
+ display: inline-flex;
56
+ width: 1em;
57
+ }
58
+
25
59
  .compact {
26
60
  --pf-c-label--PaddingTop: var(--pf-c-label--m-compact--PaddingTop, 0);
27
61
  --pf-c-label--PaddingRight: var(--pf-c-label--m-compact--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));
@@ -30,7 +64,6 @@
30
64
  --pf-global--icon--FontSize--sm: 12px;
31
65
  }
32
66
 
33
-
34
67
  .blue {
35
68
  --pf-c-label__content--Color: var(--pf-c-label--m-blue__content--Color, var(--pf-global--info-color--200, #002952));
36
69
  --pf-c-label--BackgroundColor: var(--pf-c-label--m-blue--BackgroundColor, var(--pf-global--palette--blue-50, #e7f1fa));
@@ -1,90 +1,86 @@
1
- import { BaseLabel } from './BaseLabel.js';
1
+ import { LitElement, type TemplateResult } from 'lit';
2
2
  import '@patternfly/elements/pf-button/pf-button.js';
3
- export type LabelVariant = ('filled' | 'outline');
4
- export type LabelColor = ('blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey' | 'gold');
3
+ export declare class LabelCloseEvent extends Event {
4
+ constructor();
5
+ }
5
6
  /**
6
7
  * The **label** component allows users to add specific element captions for user
7
8
  * clarity and convenience.
8
9
  * @summary Allows users to display meta data in a stylized form.
9
- * @fires close - when a removable label's close button is clicked
10
- * @cssprop {<length>} --pf-c-label--FontSize {@default `0.875em`}
11
- * @cssprop {<length>} --pf-c-label--PaddingTop {@default `0.25rem`}
12
- * @cssprop {<length>} --pf-c-label--PaddingRight {@default `0.5rem`}
13
- * @cssprop {<length>} --pf-c-label--PaddingBottom {@default `0.25rem`}
14
- * @cssprop {<length>} --pf-c-label--PaddingLeft {@default `0.5rem`}
15
- * @cssprop {<color>} --pf-c-label--Color {@default `#151515`}
16
- * @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}
17
- * @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}
18
- * @cssprop {<length>} --pf-c-label__content--MaxWidth {@default `100%`}
19
- * @cssprop {<color>} --pf-c-label__content--Color {@default `#151515`}
20
- * @cssprop {<length>} --pf-c-label__content--before--BorderWidth {@default `1px`}
21
- * @cssprop {<color>} --pf-c-label__content--before--BorderColor {@default `#d2d2d2`}
22
- * @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}
23
- * @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}
24
- * @cssprop {<color>} --pf-c-label--m-blue__content--Color {@default `#002952`}
25
- * @cssprop {<color>} --pf-c-label--m-blue--BackgroundColor {@default `#e7f1fa`}
26
- * @cssprop {<color>} --pf-c-label--m-blue__content--before--BorderColor {@default `#bee1f4`}
27
- * @cssprop {<color>} --pf-c-label--m-outline--m-blue__content--Color {@default `#06c`}
28
- * @cssprop {<color>} --pf-c-label--m-cyan__content--Color {@default `#3b1f00`}
29
- * @cssprop {<color>} --pf-c-label--m-cyan--BackgroundColor {@default `#f2f9f9`}
30
- * @cssprop {<color>} --pf-c-label--m-cyan__content--before--BorderColor {@default `#a2d9d9`}
31
- * @cssprop {<color>} --pf-c-label--m-outline--m-cyan__content--Color {@default `#005f60`}
32
- * @cssprop {<color>} --pf-c-label--m-green__content--Color {@default `#1e4f18`}
33
- * @cssprop {<color>} --pf-c-label--m-green--BackgroundColor {@default `#f3faf2`}
34
- * @cssprop {<color>} --pf-c-label--m-green__content--before--BorderColor {@default `#bde5b8`}
35
- * @cssprop {<color>} --pf-c-label--m-outline--m-green__content--Color {@default `#3e8635`}
36
- * @cssprop {<color>} --pf-c-label--m-orange__content--Color {@default `#003737`}
37
- * @cssprop {<color>} --pf-c-label--m-orange--BackgroundColor {@default `#fff6ec`}
38
- * @cssprop {<color>} --pf-c-label--m-orange__content--before--BorderColor {@default `#f4b678`}
39
- * @cssprop {<color>} --pf-c-label--m-outline--m-orange__content--Color {@default `#8f4700`}
40
- * @cssprop {<color>} --pf-c-label--m-purple__content--Color {@default `#1f0066`}
41
- * @cssprop {<color>} --pf-c-label--m-purple--BackgroundColor {@default `#f2f0fc`}
42
- * @cssprop {<color>} --pf-c-label--m-purple__content--before--BorderColor {@default `#cbc1ff`}
43
- * @cssprop {<color>} --pf-c-label--m-outline--m-purple__content--Color {@default `#6753ac`}
44
- * @cssprop {<color>} --pf-c-label--m-red__content--Color {@default `#7d1007`}
45
- * @cssprop {<color>} --pf-c-label--m-red--BackgroundColor {@default `#faeae8`}
46
- * @cssprop {<color>} --pf-c-label--m-red__content--before--BorderColor {@default `#c9190b`}
47
- * @cssprop {<color>} --pf-c-label--m-outline--m-red__content--Color {@default `#c9190b`}
48
- * @cssprop {<color>} --pf-c-label--m-gold__content--Color {@default `#3d2c00`}
49
- * @cssprop {<color>} --pf-c-label--m-gold--BackgroundColor {@default `#fdf7e7`}
50
- * @cssprop {<color>} --pf-c-label--m-gold__content--before--BorderColor {@default `#f9e0a2`}
51
- * @cssprop {<color>} --pf-c-label--m-outline--m-gold__content--Color {@default `#795600`}
52
- * @cssprop {<color>} --pf-c-label--m-blue__icon--Color {@default `#06c`}
53
- * @cssprop {<color>} --pf-c-label--m-cyan__icon--Color {@default `#009596`}
54
- * @cssprop {<color>} --pf-c-label--m-green__icon--Color {@default `#3e8635`}
55
- * @cssprop {<color>} --pf-c-label--m-orange__icon--Color {@default `#ec7a08`}
56
- * @cssprop {<color>} --pf-c-label--m-red__icon--Color {@default `#c9190b`}
57
- * @cssprop {<color>} --pf-c-label--m-gold__icon--Color {@default `#f0ab00`}
10
+ * @fires {LabelCloseEvent} close - when a removable label's close button is clicked
11
+ * @cssprop {<length>} [--pf-c-label--FontSize=0.875em]
12
+ * @cssprop {<length>} [--pf-c-label--PaddingTop=0.25rem]
13
+ * @cssprop {<length>} [--pf-c-label--PaddingRight=0.5rem]
14
+ * @cssprop {<length>} [--pf-c-label--PaddingBottom=0.25rem]
15
+ * @cssprop {<length>} [--pf-c-label--PaddingLeft=0.5rem]
16
+ * @cssprop {<color>} [--pf-c-label--Color=#151515]
17
+ * @cssprop {<color>} [--pf-c-label--BackgroundColor=#f5f5f5]
18
+ * @cssprop {<length>} [--pf-c-label--BorderRadius=30em]
19
+ * @cssprop {<length>} [--pf-c-label__content--MaxWidth=100]
20
+ * @cssprop {<color>} [--pf-c-label__content--Color=#151515]
21
+ * @cssprop {<length>} [--pf-c-label__content--before--BorderWidth=1px]
22
+ * @cssprop {<color>} [--pf-c-label__content--before--BorderColor=#d2d2d2]
23
+ * @cssprop {<color>} [--pf-c-label--m-outline__content--Color=#151515]
24
+ * @cssprop {<color>} [--pf-c-label--m-outline--BackgroundColor=#ffffff]
25
+ * @cssprop {<color>} [--pf-c-label--m-blue__content--Color=#002952]
26
+ * @cssprop {<color>} [--pf-c-label--m-blue--BackgroundColor=#e7f1fa]
27
+ * @cssprop {<color>} [--pf-c-label--m-blue__content--before--BorderColor=#bee1f4]
28
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-blue__content--Color=#06c]
29
+ * @cssprop {<color>} [--pf-c-label--m-cyan__content--Color=#3b1f00]
30
+ * @cssprop {<color>} [--pf-c-label--m-cyan--BackgroundColor=#f2f9f9]
31
+ * @cssprop {<color>} [--pf-c-label--m-cyan__content--before--BorderColor=#a2d9d9]
32
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-cyan__content--Color=#005f60]
33
+ * @cssprop {<color>} [--pf-c-label--m-green__content--Color=#1e4f18]
34
+ * @cssprop {<color>} [--pf-c-label--m-green--BackgroundColor=#f3faf2]
35
+ * @cssprop {<color>} [--pf-c-label--m-green__content--before--BorderColor=#bde5b8]
36
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-green__content--Color=#3e8635]
37
+ * @cssprop {<color>} [--pf-c-label--m-orange__content--Color=#003737]
38
+ * @cssprop {<color>} [--pf-c-label--m-orange--BackgroundColor=#fff6ec]
39
+ * @cssprop {<color>} [--pf-c-label--m-orange__content--before--BorderColor=#f4b678]
40
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-orange__content--Color=#8f4700]
41
+ * @cssprop {<color>} [--pf-c-label--m-purple__content--Color=#1f0066]
42
+ * @cssprop {<color>} [--pf-c-label--m-purple--BackgroundColor=#f2f0fc]
43
+ * @cssprop {<color>} [--pf-c-label--m-purple__content--before--BorderColor=#cbc1ff]
44
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-purple__content--Color=#6753ac]
45
+ * @cssprop {<color>} [--pf-c-label--m-red__content--Color=#7d1007]
46
+ * @cssprop {<color>} [--pf-c-label--m-red--BackgroundColor=#faeae8]
47
+ * @cssprop {<color>} [--pf-c-label--m-red__content--before--BorderColor=#c9190b]
48
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-red__content--Color=#c9190b]
49
+ * @cssprop {<color>} [--pf-c-label--m-gold__content--Color=#3d2c00]
50
+ * @cssprop {<color>} [--pf-c-label--m-gold--BackgroundColor=#fdf7e7]
51
+ * @cssprop {<color>} [--pf-c-label--m-gold__content--before--BorderColor=#f9e0a2]
52
+ * @cssprop {<color>} [--pf-c-label--m-outline--m-gold__content--Color=#795600]
53
+ * @cssprop {<color>} [--pf-c-label--m-blue__icon--Color=#06c]
54
+ * @cssprop {<color>} [--pf-c-label--m-cyan__icon--Color=#009596]
55
+ * @cssprop {<color>} [--pf-c-label--m-green__icon--Color=#3e8635]
56
+ * @cssprop {<color>} [--pf-c-label--m-orange__icon--Color=#ec7a08]
57
+ * @cssprop {<color>} [--pf-c-label--m-red__icon--Color=#c9190b]
58
+ * @cssprop {<color>} [--pf-c-label--m-gold__icon--Color=#f0ab00]
58
59
  * @csspart icon - container for the label icon
59
60
  * @csspart close-button - container for removable labels' close button
60
61
  * @slot icon
61
62
  * Contains the labels's icon, e.g. web-icon-alert-success.
62
63
  * @slot
63
64
  * Must contain the text for the label.
64
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingTop {@default `0`}
65
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingRight {@default `0.5rem`}
66
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingBottom {@default `0`}
67
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingLeft {@default `0.5rem`}
65
+ * @cssprop {<length>} [--pf-c-label--m-compact--PaddingTop=0]
66
+ * @cssprop {<length>} [--pf-c-label--m-compact--PaddingRight=0.5rem]
67
+ * @cssprop {<length>} [--pf-c-label--m-compact--PaddingBottom=0]
68
+ * @cssprop {<length>} [--pf-c-label--m-compact--PaddingLeft=0.5rem]
68
69
  */
69
- export declare class PfLabel extends BaseLabel {
70
+ export declare class PfLabel extends LitElement {
71
+ #private;
70
72
  static readonly styles: CSSStyleSheet[];
71
- static readonly shadowRootOptions: {
72
- delegatesFocus: boolean;
73
- mode: ShadowRootMode;
74
- slotAssignment?: SlotAssignmentMode | undefined;
75
- customElements?: CustomElementRegistry | undefined;
76
- registry?: CustomElementRegistry | undefined;
77
- };
73
+ static readonly shadowRootOptions: ShadowRootInit;
78
74
  /**
79
75
  * Changes the style of the label.
80
76
  * - Filled: Colored background with colored border.
81
77
  * - Outline: White background with colored border.
82
78
  */
83
- variant: LabelVariant;
79
+ variant: 'filled' | 'outline';
84
80
  /**
85
81
  * Changes the color of the label
86
82
  */
87
- color: LabelColor;
83
+ color: 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey' | 'gold';
88
84
  /** Shorthand for the `icon` slot, the value is icon name */
89
85
  icon?: string;
90
86
  /** Flag indicating the label is compact */
@@ -95,10 +91,10 @@ export declare class PfLabel extends BaseLabel {
95
91
  removable: boolean;
96
92
  /** Text label for a removable label's close button */
97
93
  closeButtonLabel?: string;
98
- render(): import("lit-html").TemplateResult<1>;
99
- protected renderDefaultIcon(): import("lit-html").TemplateResult<1> | "";
100
- protected renderSuffix(): import("lit-html").TemplateResult<1> | "";
94
+ render(): TemplateResult<1>;
101
95
  }
96
+ export type LabelVariant = PfLabel['variant'];
97
+ export type LabelColor = PfLabel['color'];
102
98
  declare global {
103
99
  interface HTMLElementTagNameMap {
104
100
  'pf-label': PfLabel;
@@ -1,80 +1,22 @@
1
- import { __decorate } from "tslib";
2
- import { html } from 'lit';
1
+ var _PfLabel_instances, _PfLabel_slots, _PfLabel_onClickClose;
2
+ import { __classPrivateFieldGet, __decorate } from "tslib";
3
+ import { LitElement, html } from 'lit';
3
4
  import { customElement } from 'lit/decorators/custom-element.js';
4
5
  import { property } from 'lit/decorators/property.js';
5
6
  import { classMap } from 'lit/directives/class-map.js';
6
- import { ComposedEvent } from '@patternfly/pfe-core';
7
- import { BaseLabel } from './BaseLabel.js';
7
+ import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
8
8
  import '@patternfly/elements/pf-button/pf-button.js';
9
9
  import { css } from "lit";
10
- 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`;
11
- /**
12
- * The **label** component allows users to add specific element captions for user
13
- * clarity and convenience.
14
- * @summary Allows users to display meta data in a stylized form.
15
- * @fires close - when a removable label's close button is clicked
16
- * @cssprop {<length>} --pf-c-label--FontSize {@default `0.875em`}
17
- * @cssprop {<length>} --pf-c-label--PaddingTop {@default `0.25rem`}
18
- * @cssprop {<length>} --pf-c-label--PaddingRight {@default `0.5rem`}
19
- * @cssprop {<length>} --pf-c-label--PaddingBottom {@default `0.25rem`}
20
- * @cssprop {<length>} --pf-c-label--PaddingLeft {@default `0.5rem`}
21
- * @cssprop {<color>} --pf-c-label--Color {@default `#151515`}
22
- * @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}
23
- * @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}
24
- * @cssprop {<length>} --pf-c-label__content--MaxWidth {@default `100%`}
25
- * @cssprop {<color>} --pf-c-label__content--Color {@default `#151515`}
26
- * @cssprop {<length>} --pf-c-label__content--before--BorderWidth {@default `1px`}
27
- * @cssprop {<color>} --pf-c-label__content--before--BorderColor {@default `#d2d2d2`}
28
- * @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}
29
- * @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}
30
- * @cssprop {<color>} --pf-c-label--m-blue__content--Color {@default `#002952`}
31
- * @cssprop {<color>} --pf-c-label--m-blue--BackgroundColor {@default `#e7f1fa`}
32
- * @cssprop {<color>} --pf-c-label--m-blue__content--before--BorderColor {@default `#bee1f4`}
33
- * @cssprop {<color>} --pf-c-label--m-outline--m-blue__content--Color {@default `#06c`}
34
- * @cssprop {<color>} --pf-c-label--m-cyan__content--Color {@default `#3b1f00`}
35
- * @cssprop {<color>} --pf-c-label--m-cyan--BackgroundColor {@default `#f2f9f9`}
36
- * @cssprop {<color>} --pf-c-label--m-cyan__content--before--BorderColor {@default `#a2d9d9`}
37
- * @cssprop {<color>} --pf-c-label--m-outline--m-cyan__content--Color {@default `#005f60`}
38
- * @cssprop {<color>} --pf-c-label--m-green__content--Color {@default `#1e4f18`}
39
- * @cssprop {<color>} --pf-c-label--m-green--BackgroundColor {@default `#f3faf2`}
40
- * @cssprop {<color>} --pf-c-label--m-green__content--before--BorderColor {@default `#bde5b8`}
41
- * @cssprop {<color>} --pf-c-label--m-outline--m-green__content--Color {@default `#3e8635`}
42
- * @cssprop {<color>} --pf-c-label--m-orange__content--Color {@default `#003737`}
43
- * @cssprop {<color>} --pf-c-label--m-orange--BackgroundColor {@default `#fff6ec`}
44
- * @cssprop {<color>} --pf-c-label--m-orange__content--before--BorderColor {@default `#f4b678`}
45
- * @cssprop {<color>} --pf-c-label--m-outline--m-orange__content--Color {@default `#8f4700`}
46
- * @cssprop {<color>} --pf-c-label--m-purple__content--Color {@default `#1f0066`}
47
- * @cssprop {<color>} --pf-c-label--m-purple--BackgroundColor {@default `#f2f0fc`}
48
- * @cssprop {<color>} --pf-c-label--m-purple__content--before--BorderColor {@default `#cbc1ff`}
49
- * @cssprop {<color>} --pf-c-label--m-outline--m-purple__content--Color {@default `#6753ac`}
50
- * @cssprop {<color>} --pf-c-label--m-red__content--Color {@default `#7d1007`}
51
- * @cssprop {<color>} --pf-c-label--m-red--BackgroundColor {@default `#faeae8`}
52
- * @cssprop {<color>} --pf-c-label--m-red__content--before--BorderColor {@default `#c9190b`}
53
- * @cssprop {<color>} --pf-c-label--m-outline--m-red__content--Color {@default `#c9190b`}
54
- * @cssprop {<color>} --pf-c-label--m-gold__content--Color {@default `#3d2c00`}
55
- * @cssprop {<color>} --pf-c-label--m-gold--BackgroundColor {@default `#fdf7e7`}
56
- * @cssprop {<color>} --pf-c-label--m-gold__content--before--BorderColor {@default `#f9e0a2`}
57
- * @cssprop {<color>} --pf-c-label--m-outline--m-gold__content--Color {@default `#795600`}
58
- * @cssprop {<color>} --pf-c-label--m-blue__icon--Color {@default `#06c`}
59
- * @cssprop {<color>} --pf-c-label--m-cyan__icon--Color {@default `#009596`}
60
- * @cssprop {<color>} --pf-c-label--m-green__icon--Color {@default `#3e8635`}
61
- * @cssprop {<color>} --pf-c-label--m-orange__icon--Color {@default `#ec7a08`}
62
- * @cssprop {<color>} --pf-c-label--m-red__icon--Color {@default `#c9190b`}
63
- * @cssprop {<color>} --pf-c-label--m-gold__icon--Color {@default `#f0ab00`}
64
- * @csspart icon - container for the label icon
65
- * @csspart close-button - container for removable labels' close button
66
- * @slot icon
67
- * Contains the labels's icon, e.g. web-icon-alert-success.
68
- * @slot
69
- * Must contain the text for the label.
70
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingTop {@default `0`}
71
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingRight {@default `0.5rem`}
72
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingBottom {@default `0`}
73
- * @cssprop {<length>} --pf-c-label--m-compact--PaddingLeft {@default `0.5rem`}
74
- */
75
- let PfLabel = class PfLabel extends BaseLabel {
10
+ 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 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, var(--pf-global--FontSize--sm, 0.875rem));\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 --pf-global--icon--FontSize--sm: 14px;\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 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[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.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.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`;
11
+ export class LabelCloseEvent extends Event {
12
+ constructor() {
13
+ super('close', { bubbles: true, cancelable: true });
14
+ }
15
+ }
16
+ let PfLabel = class PfLabel extends LitElement {
76
17
  constructor() {
77
18
  super(...arguments);
19
+ _PfLabel_instances.add(this);
78
20
  /**
79
21
  * Changes the style of the label.
80
22
  * - Filled: Colored background with colored border.
@@ -91,37 +33,54 @@ let PfLabel = class PfLabel extends BaseLabel {
91
33
  this.truncated = false;
92
34
  /** Flag indicating the label is removable */
93
35
  this.removable = false;
36
+ /** Represents the state of the anonymous and icon slots */
37
+ _PfLabel_slots.set(this, new SlotController(this, null, 'icon'));
94
38
  }
95
39
  render() {
96
40
  const { compact, truncated } = this;
41
+ const { variant, color, icon } = this;
42
+ const hasIcon = !!icon || __classPrivateFieldGet(this, _PfLabel_slots, "f").hasSlotted('icon');
97
43
  return html `
98
- <span id="pf-container" class="${classMap({ compact, truncated })}">${super.render()}</span>
99
- `;
100
- }
101
- renderDefaultIcon() {
102
- return !this.icon ? '' : html `
103
- <pf-icon icon="${this.icon}" size="sm"></pf-icon>
104
- `;
105
- }
106
- renderSuffix() {
107
- return !this.removable ? '' : html `
108
- <span part="close-button" ?hidden=${!this.removable}>
109
- <pf-button plain
110
- @click="${() => this.dispatchEvent(new ComposedEvent('close'))}"
111
- label="${this.closeButtonLabel ?? 'remove'}">
112
- <svg viewBox="0 0 352 512">
113
- <path d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"/>
114
- </svg>
115
- </pf-button>
44
+ <span id="container"
45
+ class="${classMap({
46
+ hasIcon,
47
+ compact,
48
+ truncated,
49
+ [variant ?? '']: !!variant,
50
+ [color ?? '']: !!color
51
+ })}">
52
+ <slot name="icon" part="icon">
53
+ <pf-icon ?hidden="${!icon}"
54
+ size="sm"
55
+ .icon="${this.icon || undefined}"></pf-icon>
56
+ </slot>
57
+ <slot id="text"></slot>
58
+ <span part="close-button" ?hidden=${!this.removable}>
59
+ <pf-button plain
60
+ @click="${__classPrivateFieldGet(this, _PfLabel_instances, "m", _PfLabel_onClickClose)}"
61
+ label="${this.closeButtonLabel ?? 'remove'}">
62
+ <svg viewBox="0 0 352 512">
63
+ <path d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"/>
64
+ </svg>
65
+ </pf-button>
66
+ </span>
116
67
  </span>
117
68
  `;
118
69
  }
119
70
  };
120
- PfLabel.styles = [...BaseLabel.styles, styles];
71
+ _PfLabel_slots = new WeakMap();
72
+ _PfLabel_instances = new WeakSet();
73
+ _PfLabel_onClickClose = function _PfLabel_onClickClose() {
74
+ if (this.removable && this.dispatchEvent(new LabelCloseEvent())) {
75
+ this.remove();
76
+ }
77
+ };
78
+ PfLabel.styles = [styles];
121
79
  PfLabel.shadowRootOptions = {
122
- ...BaseLabel.shadowRootOptions,
80
+ ...LitElement.shadowRootOptions,
123
81
  delegatesFocus: true,
124
82
  };
83
+ PfLabel.version = "4.0.0";
125
84
  __decorate([
126
85
  property()
127
86
  ], PfLabel.prototype, "variant", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-label.js","sourceRoot":"","sources":["pf-label.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,6CAA6C,CAAC;;;AAoBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,SAAS;IAA/B;;QAQL;;;;WAIG;QACS,YAAO,GAAiB,QAAQ,CAAC;QAE7C;;WAEG;QACS,UAAK,GAAe,MAAM,CAAC;QAKvC,2CAA2C;QACd,YAAO,GAAG,KAAK,CAAC;QAE7C,yDAAyD;QAC5B,cAAS,GAAG,KAAK,CAAC;QAE/C,6CAA6C;QAChB,cAAS,GAAG,KAAK,CAAC;IA+BjD,CAAC;IA1BU,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO,IAAI,CAAA;uCACwB,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE;KACrF,CAAC;IACJ,CAAC;IAEkB,iBAAiB;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;uBACV,IAAI,CAAC,IAAI;KAC3B,CAAC;IACJ,CAAC;IAEkB,YAAY;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;0CACI,CAAC,IAAI,CAAC,SAAS;;8BAE3B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;6BACrD,IAAI,CAAC,gBAAgB,IAAI,QAAQ;;;;;;KAMzD,CAAC;IACJ,CAAC;;AA3De,cAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,AAAhC,CAAiC;AAE9B,yBAAiB,GAAG;IAC3C,GAAG,SAAS,CAAC,iBAAiB;IAC9B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;AAOU;IAAX,QAAQ,EAAE;wCAAkC;AAKjC;IAAX,QAAQ,EAAE;sCAA4B;AAG3B;IAAX,QAAQ,EAAE;qCAAe;AAGG;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAiB;AAGhB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGlB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGA;IAA9C,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;iDAA2B;AAjC9D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CA6DnB","sourcesContent":["import { html } 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';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport { BaseLabel } from './BaseLabel.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-label.css';\n\nexport type LabelVariant = (\n | 'filled'\n | 'outline'\n);\n\nexport type LabelColor = (\n | 'blue'\n | 'cyan'\n | 'green'\n | 'orange'\n | 'purple'\n | 'red'\n | 'grey'\n | 'gold'\n);\n\n/**\n * The **label** component allows users to add specific element captions for user\n * clarity and convenience.\n * @summary Allows users to display meta data in a stylized form.\n * @fires close - when a removable label's close button is clicked\n * @cssprop {<length>} --pf-c-label--FontSize {@default `0.875em`}\n * @cssprop {<length>} --pf-c-label--PaddingTop {@default `0.25rem`}\n * @cssprop {<length>} --pf-c-label--PaddingRight {@default `0.5rem`}\n * @cssprop {<length>} --pf-c-label--PaddingBottom {@default `0.25rem`}\n * @cssprop {<length>} --pf-c-label--PaddingLeft {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}\n * @cssprop {<length>} --pf-c-label__content--MaxWidth {@default `100%`}\n * @cssprop {<color>} --pf-c-label__content--Color {@default `#151515`}\n * @cssprop {<length>} --pf-c-label__content--before--BorderWidth {@default `1px`}\n * @cssprop {<color>} --pf-c-label__content--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}\n * @cssprop {<color>} --pf-c-label--m-blue__content--Color {@default `#002952`}\n * @cssprop {<color>} --pf-c-label--m-blue--BackgroundColor {@default `#e7f1fa`}\n * @cssprop {<color>} --pf-c-label--m-blue__content--before--BorderColor {@default `#bee1f4`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-blue__content--Color {@default `#06c`}\n * @cssprop {<color>} --pf-c-label--m-cyan__content--Color {@default `#3b1f00`}\n * @cssprop {<color>} --pf-c-label--m-cyan--BackgroundColor {@default `#f2f9f9`}\n * @cssprop {<color>} --pf-c-label--m-cyan__content--before--BorderColor {@default `#a2d9d9`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-cyan__content--Color {@default `#005f60`}\n * @cssprop {<color>} --pf-c-label--m-green__content--Color {@default `#1e4f18`}\n * @cssprop {<color>} --pf-c-label--m-green--BackgroundColor {@default `#f3faf2`}\n * @cssprop {<color>} --pf-c-label--m-green__content--before--BorderColor {@default `#bde5b8`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-green__content--Color {@default `#3e8635`}\n * @cssprop {<color>} --pf-c-label--m-orange__content--Color {@default `#003737`}\n * @cssprop {<color>} --pf-c-label--m-orange--BackgroundColor {@default `#fff6ec`}\n * @cssprop {<color>} --pf-c-label--m-orange__content--before--BorderColor {@default `#f4b678`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-orange__content--Color {@default `#8f4700`}\n * @cssprop {<color>} --pf-c-label--m-purple__content--Color {@default `#1f0066`}\n * @cssprop {<color>} --pf-c-label--m-purple--BackgroundColor {@default `#f2f0fc`}\n * @cssprop {<color>} --pf-c-label--m-purple__content--before--BorderColor {@default `#cbc1ff`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-purple__content--Color {@default `#6753ac`}\n * @cssprop {<color>} --pf-c-label--m-red__content--Color {@default `#7d1007`}\n * @cssprop {<color>} --pf-c-label--m-red--BackgroundColor {@default `#faeae8`}\n * @cssprop {<color>} --pf-c-label--m-red__content--before--BorderColor {@default `#c9190b`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-red__content--Color {@default `#c9190b`}\n * @cssprop {<color>} --pf-c-label--m-gold__content--Color {@default `#3d2c00`}\n * @cssprop {<color>} --pf-c-label--m-gold--BackgroundColor {@default `#fdf7e7`}\n * @cssprop {<color>} --pf-c-label--m-gold__content--before--BorderColor {@default `#f9e0a2`}\n * @cssprop {<color>} --pf-c-label--m-outline--m-gold__content--Color {@default `#795600`}\n * @cssprop {<color>} --pf-c-label--m-blue__icon--Color {@default `#06c`}\n * @cssprop {<color>} --pf-c-label--m-cyan__icon--Color {@default `#009596`}\n * @cssprop {<color>} --pf-c-label--m-green__icon--Color {@default `#3e8635`}\n * @cssprop {<color>} --pf-c-label--m-orange__icon--Color {@default `#ec7a08`}\n * @cssprop {<color>} --pf-c-label--m-red__icon--Color {@default `#c9190b`}\n * @cssprop {<color>} --pf-c-label--m-gold__icon--Color {@default `#f0ab00`}\n * @csspart icon - container for the label icon\n * @csspart close-button - container for removable labels' close button\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n * @slot\n * Must contain the text for the label.\n * @cssprop {<length>} --pf-c-label--m-compact--PaddingTop {@default `0`}\n * @cssprop {<length>} --pf-c-label--m-compact--PaddingRight {@default `0.5rem`}\n * @cssprop {<length>} --pf-c-label--m-compact--PaddingBottom {@default `0`}\n * @cssprop {<length>} --pf-c-label--m-compact--PaddingLeft {@default `0.5rem`}\n */\n@customElement('pf-label')\nexport class PfLabel extends BaseLabel {\n static readonly styles = [...BaseLabel.styles, styles];\n\n static override readonly shadowRootOptions = {\n ...BaseLabel.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Changes the style of the label.\n * - Filled: Colored background with colored border.\n * - Outline: White background with colored border.\n */\n @property() variant: LabelVariant = 'filled';\n\n /**\n * Changes the color of the label\n */\n @property() color: LabelColor = 'grey';\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property() icon?: string;\n\n /** Flag indicating the label is compact */\n @property({ type: Boolean }) compact = false;\n\n /** Flag indicating the label text should be truncated */\n @property({ type: Boolean }) truncated = false;\n\n /** Flag indicating the label is removable */\n @property({ type: Boolean }) removable = false;\n\n /** Text label for a removable label's close button */\n @property({ attribute: 'close-button-label' }) closeButtonLabel?: string;\n\n override render() {\n const { compact, truncated } = this;\n return html`\n <span id=\"pf-container\" class=\"${classMap({ compact, truncated })}\">${super.render()}</span>\n `;\n }\n\n protected override renderDefaultIcon() {\n return !this.icon ? '' : html`\n <pf-icon icon=\"${this.icon}\" size=\"sm\"></pf-icon>\n `;\n }\n\n protected override renderSuffix() {\n return !this.removable ? '' : html`\n <span part=\"close-button\" ?hidden=${!this.removable}>\n <pf-button plain\n @click=\"${() => this.dispatchEvent(new ComposedEvent('close'))}\"\n label=\"${this.closeButtonLabel ?? 'remove'}\">\n <svg viewBox=\"0 0 352 512\">\n <path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/>\n </svg>\n </pf-button>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-label': PfLabel;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-label.js","sourceRoot":"","sources":["pf-label.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAErF,OAAO,6CAA6C,CAAC;;;AAIrD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC;QACE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AAmEM,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;;QAQL;;;;WAIG;QACS,YAAO,GAEH,QAAQ,CAAC;QAEzB;;WAEG;QACS,UAAK,GAQJ,MAAM,CAAC;QAKpB,2CAA2C;QACd,YAAO,GAAG,KAAK,CAAC;QAE7C,yDAAyD;QAC5B,cAAS,GAAG,KAAK,CAAC;QAE/C,6CAA6C;QAChB,cAAS,GAAG,KAAK,CAAC;QAK/C,2DAA2D;QAC3D,yBAAS,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAC;;IAEvC,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAA;;qBAEM,QAAQ,CAAC;YAChB,OAAO;YACP,OAAO;YACP,SAAS;YACT,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO;YAC1B,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK;SAAE,CAAC;;8BAET,CAAC,IAAI;;4BAEP,IAAI,CAAC,IAAI,IAAI,SAA8B;;;4CAG3B,CAAC,IAAI,CAAC,SAAS;;+BAE5B,uBAAA,IAAI,iDAAc;8BACnB,IAAI,CAAC,gBAAgB,IAAI,QAAQ;;;;;;;KAO1D,CAAC;IACJ,CAAC;;;;;IAGC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAlFe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;AAE1B,yBAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAOU;IAAX,QAAQ,EAAE;wCAEc;AAKb;IAAX,QAAQ,EAAE;sCAQS;AAGR;IAAX,QAAQ,EAAE;qCAAe;AAGG;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAiB;AAGhB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGlB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGA;IAA9C,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;iDAA2B;AA3C9D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","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';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-label.css';\n\nexport class LabelCloseEvent extends Event {\n constructor() {\n super('close', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * The **label** component allows users to add specific element captions for user\n * clarity and convenience.\n * @summary Allows users to display meta data in a stylized form.\n * @fires {LabelCloseEvent} close - when a removable label's close button is clicked\n * @cssprop {<length>} [--pf-c-label--FontSize=0.875em]\n * @cssprop {<length>} [--pf-c-label--PaddingTop=0.25rem]\n * @cssprop {<length>} [--pf-c-label--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-label--PaddingBottom=0.25rem]\n * @cssprop {<length>} [--pf-c-label--PaddingLeft=0.5rem]\n * @cssprop {<color>} [--pf-c-label--Color=#151515]\n * @cssprop {<color>} [--pf-c-label--BackgroundColor=#f5f5f5]\n * @cssprop {<length>} [--pf-c-label--BorderRadius=30em]\n * @cssprop {<length>} [--pf-c-label__content--MaxWidth=100]\n * @cssprop {<color>} [--pf-c-label__content--Color=#151515]\n * @cssprop {<length>} [--pf-c-label__content--before--BorderWidth=1px]\n * @cssprop {<color>} [--pf-c-label__content--before--BorderColor=#d2d2d2]\n * @cssprop {<color>} [--pf-c-label--m-outline__content--Color=#151515]\n * @cssprop {<color>} [--pf-c-label--m-outline--BackgroundColor=#ffffff]\n * @cssprop {<color>} [--pf-c-label--m-blue__content--Color=#002952]\n * @cssprop {<color>} [--pf-c-label--m-blue--BackgroundColor=#e7f1fa]\n * @cssprop {<color>} [--pf-c-label--m-blue__content--before--BorderColor=#bee1f4]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-blue__content--Color=#06c]\n * @cssprop {<color>} [--pf-c-label--m-cyan__content--Color=#3b1f00]\n * @cssprop {<color>} [--pf-c-label--m-cyan--BackgroundColor=#f2f9f9]\n * @cssprop {<color>} [--pf-c-label--m-cyan__content--before--BorderColor=#a2d9d9]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-cyan__content--Color=#005f60]\n * @cssprop {<color>} [--pf-c-label--m-green__content--Color=#1e4f18]\n * @cssprop {<color>} [--pf-c-label--m-green--BackgroundColor=#f3faf2]\n * @cssprop {<color>} [--pf-c-label--m-green__content--before--BorderColor=#bde5b8]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-green__content--Color=#3e8635]\n * @cssprop {<color>} [--pf-c-label--m-orange__content--Color=#003737]\n * @cssprop {<color>} [--pf-c-label--m-orange--BackgroundColor=#fff6ec]\n * @cssprop {<color>} [--pf-c-label--m-orange__content--before--BorderColor=#f4b678]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-orange__content--Color=#8f4700]\n * @cssprop {<color>} [--pf-c-label--m-purple__content--Color=#1f0066]\n * @cssprop {<color>} [--pf-c-label--m-purple--BackgroundColor=#f2f0fc]\n * @cssprop {<color>} [--pf-c-label--m-purple__content--before--BorderColor=#cbc1ff]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-purple__content--Color=#6753ac]\n * @cssprop {<color>} [--pf-c-label--m-red__content--Color=#7d1007]\n * @cssprop {<color>} [--pf-c-label--m-red--BackgroundColor=#faeae8]\n * @cssprop {<color>} [--pf-c-label--m-red__content--before--BorderColor=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-red__content--Color=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-gold__content--Color=#3d2c00]\n * @cssprop {<color>} [--pf-c-label--m-gold--BackgroundColor=#fdf7e7]\n * @cssprop {<color>} [--pf-c-label--m-gold__content--before--BorderColor=#f9e0a2]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-gold__content--Color=#795600]\n * @cssprop {<color>} [--pf-c-label--m-blue__icon--Color=#06c]\n * @cssprop {<color>} [--pf-c-label--m-cyan__icon--Color=#009596]\n * @cssprop {<color>} [--pf-c-label--m-green__icon--Color=#3e8635]\n * @cssprop {<color>} [--pf-c-label--m-orange__icon--Color=#ec7a08]\n * @cssprop {<color>} [--pf-c-label--m-red__icon--Color=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-gold__icon--Color=#f0ab00]\n * @csspart icon - container for the label icon\n * @csspart close-button - container for removable labels' close button\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n * @slot\n * Must contain the text for the label.\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingTop=0]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingBottom=0]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingLeft=0.5rem]\n */\n@customElement('pf-label')\nexport class PfLabel extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Changes the style of the label.\n * - Filled: Colored background with colored border.\n * - Outline: White background with colored border.\n */\n @property() variant:\n | 'filled'\n | 'outline' = 'filled';\n\n /**\n * Changes the color of the label\n */\n @property() color:\n | 'blue'\n | 'cyan'\n | 'green'\n | 'orange'\n | 'purple'\n | 'red'\n | 'grey'\n | 'gold' = 'grey';\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property() icon?: string;\n\n /** Flag indicating the label is compact */\n @property({ type: Boolean }) compact = false;\n\n /** Flag indicating the label text should be truncated */\n @property({ type: Boolean }) truncated = false;\n\n /** Flag indicating the label is removable */\n @property({ type: Boolean }) removable = false;\n\n /** Text label for a removable label's close button */\n @property({ attribute: 'close-button-label' }) closeButtonLabel?: string;\n\n /** Represents the state of the anonymous and icon slots */\n #slots = new SlotController(this, null, 'icon');\n\n override render(): TemplateResult<1> {\n const { compact, truncated } = this;\n const { variant, color, icon } = this;\n const hasIcon = !!icon || this.#slots.hasSlotted('icon');\n return html`\n <span id=\"container\"\n class=\"${classMap({\n hasIcon,\n compact,\n truncated,\n [variant ?? '']: !!variant,\n [color ?? '']: !!color })}\">\n <slot name=\"icon\" part=\"icon\">\n <pf-icon ?hidden=\"${!icon}\"\n size=\"sm\"\n .icon=\"${this.icon || undefined as unknown as string}\"></pf-icon>\n </slot>\n <slot id=\"text\"></slot>\n <span part=\"close-button\" ?hidden=${!this.removable}>\n <pf-button plain\n @click=\"${this.#onClickClose}\"\n label=\"${this.closeButtonLabel ?? 'remove'}\">\n <svg viewBox=\"0 0 352 512\">\n <path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/>\n </svg>\n </pf-button>\n </span>\n </span>\n `;\n }\n\n #onClickClose() {\n if (this.removable && this.dispatchEvent(new LabelCloseEvent())) {\n this.remove();\n }\n }\n}\n\nexport type LabelVariant = PfLabel['variant'];\n\nexport type LabelColor = PfLabel['color'];\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-label': PfLabel;\n }\n}\n"]}