@patternfly/elements 4.1.0 → 4.3.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 (318) hide show
  1. package/custom-elements.json +14909 -12588
  2. package/package.json +26 -17
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-alert/pf-alert.css +193 -0
  16. package/pf-alert/pf-alert.d.ts +95 -0
  17. package/pf-alert/pf-alert.js +406 -0
  18. package/pf-alert/pf-alert.js.map +1 -0
  19. package/pf-alert/test/pf-alert.e2e.d.ts +1 -0
  20. package/pf-alert/test/pf-alert.e2e.js +45 -0
  21. package/pf-alert/test/pf-alert.e2e.js.map +1 -0
  22. package/pf-alert/test/pf-alert.spec.d.ts +1 -0
  23. package/pf-alert/test/pf-alert.spec.js +42 -0
  24. package/pf-alert/test/pf-alert.spec.js.map +1 -0
  25. package/pf-avatar/pf-avatar.css +14 -0
  26. package/pf-avatar/pf-avatar.d.ts +1 -14
  27. package/pf-avatar/pf-avatar.js +82 -2
  28. package/pf-avatar/pf-avatar.js.map +1 -1
  29. package/pf-back-to-top/pf-back-to-top.css +12 -0
  30. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  31. package/pf-back-to-top/pf-back-to-top.js +87 -3
  32. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  33. package/pf-back-to-top/test/pf-back-to-top.spec.js +3 -2
  34. package/pf-back-to-top/test/pf-back-to-top.spec.js.map +1 -1
  35. package/pf-background-image/pf-background-image.css +7 -0
  36. package/pf-background-image/pf-background-image.d.ts +1 -8
  37. package/pf-background-image/pf-background-image.js +76 -2
  38. package/pf-background-image/pf-background-image.js.map +1 -1
  39. package/pf-badge/pf-badge.css +13 -0
  40. package/pf-badge/pf-badge.d.ts +1 -13
  41. package/pf-badge/pf-badge.js +53 -2
  42. package/pf-badge/pf-badge.js.map +1 -1
  43. package/pf-banner/pf-banner.css +21 -0
  44. package/pf-banner/pf-banner.d.ts +1 -19
  45. package/pf-banner/pf-banner.js +122 -2
  46. package/pf-banner/pf-banner.js.map +1 -1
  47. package/pf-button/pf-button-tokens.css +38 -0
  48. package/pf-button/pf-button.d.ts +1 -106
  49. package/pf-button/pf-button.js +837 -4
  50. package/pf-button/pf-button.js.map +1 -1
  51. package/pf-card/pf-card.css +24 -0
  52. package/pf-card/pf-card.d.ts +1 -38
  53. package/pf-card/pf-card.js +248 -2
  54. package/pf-card/pf-card.js.map +1 -1
  55. package/pf-chip/pf-chip-group.css +15 -0
  56. package/pf-chip/pf-chip-group.d.ts +0 -15
  57. package/pf-chip/pf-chip-group.js +111 -2
  58. package/pf-chip/pf-chip-group.js.map +1 -1
  59. package/pf-chip/pf-chip.css +30 -1
  60. package/pf-chip/pf-chip.d.ts +1 -20
  61. package/pf-chip/pf-chip.js +135 -2
  62. package/pf-chip/pf-chip.js.map +1 -1
  63. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  64. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  65. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  66. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  67. package/pf-code-block/pf-code-block.css +11 -1
  68. package/pf-code-block/pf-code-block.js +70 -18
  69. package/pf-code-block/pf-code-block.js.map +1 -1
  70. package/pf-dropdown/pf-dropdown-group.js +40 -2
  71. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  72. package/pf-dropdown/pf-dropdown-item.css +10 -0
  73. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  74. package/pf-dropdown/pf-dropdown-item.js +155 -2
  75. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  76. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  77. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  78. package/pf-dropdown/pf-dropdown.css +13 -1
  79. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  80. package/pf-dropdown/pf-dropdown.js +357 -2
  81. package/pf-dropdown/pf-dropdown.js.map +1 -1
  82. package/pf-helper-text/pf-helper-text.css +35 -0
  83. package/pf-helper-text/pf-helper-text.d.ts +41 -0
  84. package/pf-helper-text/pf-helper-text.js +107 -0
  85. package/pf-helper-text/pf-helper-text.js.map +1 -0
  86. package/pf-helper-text/test/pf-helper-text.e2e.d.ts +1 -0
  87. package/pf-helper-text/test/pf-helper-text.e2e.js +23 -0
  88. package/pf-helper-text/test/pf-helper-text.e2e.js.map +1 -0
  89. package/pf-helper-text/test/pf-helper-text.spec.d.ts +1 -0
  90. package/pf-helper-text/test/pf-helper-text.spec.js +57 -0
  91. package/pf-helper-text/test/pf-helper-text.spec.js.map +1 -0
  92. package/pf-hint/pf-hint.css +120 -0
  93. package/pf-hint/pf-hint.d.ts +19 -0
  94. package/pf-hint/pf-hint.js +180 -0
  95. package/pf-hint/pf-hint.js.map +1 -0
  96. package/pf-hint/test/pf-hint.e2e.d.ts +1 -0
  97. package/pf-hint/test/pf-hint.e2e.js +23 -0
  98. package/pf-hint/test/pf-hint.e2e.js.map +1 -0
  99. package/pf-hint/test/pf-hint.spec.d.ts +1 -0
  100. package/pf-hint/test/pf-hint.spec.js +87 -0
  101. package/pf-hint/test/pf-hint.spec.js.map +1 -0
  102. package/pf-icon/pf-icon.css +1 -0
  103. package/pf-icon/pf-icon.d.ts +1 -3
  104. package/pf-icon/pf-icon.js +44 -4
  105. package/pf-icon/pf-icon.js.map +1 -1
  106. package/pf-jump-links/pf-jump-links-item.css +7 -1
  107. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  108. package/pf-jump-links/pf-jump-links-item.js +77 -2
  109. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  110. package/pf-jump-links/pf-jump-links-list.css +3 -0
  111. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  112. package/pf-jump-links/pf-jump-links-list.js +20 -2
  113. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  114. package/pf-jump-links/pf-jump-links.css +36 -0
  115. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  116. package/pf-jump-links/pf-jump-links.js +179 -2
  117. package/pf-jump-links/pf-jump-links.js.map +1 -1
  118. package/pf-label/pf-label.css +51 -1
  119. package/pf-label/pf-label.d.ts +1 -58
  120. package/pf-label/pf-label.js +257 -2
  121. package/pf-label/pf-label.js.map +1 -1
  122. package/pf-modal/pf-modal.css +11 -0
  123. package/pf-modal/pf-modal.d.ts +2 -25
  124. package/pf-modal/pf-modal.js +215 -2
  125. package/pf-modal/pf-modal.js.map +1 -1
  126. package/pf-panel/pf-panel.css +29 -0
  127. package/pf-panel/pf-panel.d.ts +1 -32
  128. package/pf-panel/pf-panel.js +204 -2
  129. package/pf-panel/pf-panel.js.map +1 -1
  130. package/pf-popover/pf-popover.css +33 -0
  131. package/pf-popover/pf-popover.d.ts +1 -108
  132. package/pf-popover/pf-popover.js +251 -3
  133. package/pf-popover/pf-popover.js.map +1 -1
  134. package/pf-progress/pf-progress.css +19 -0
  135. package/pf-progress/pf-progress.d.ts +1 -57
  136. package/pf-progress/pf-progress.js +231 -2
  137. package/pf-progress/pf-progress.js.map +1 -1
  138. package/pf-progress-stepper/pf-progress-step.js +126 -2
  139. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  140. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  141. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  142. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  143. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  144. package/pf-search-input/pf-search-input.css +308 -0
  145. package/pf-search-input/pf-search-input.d.ts +75 -0
  146. package/pf-search-input/pf-search-input.js +630 -0
  147. package/pf-search-input/pf-search-input.js.map +1 -0
  148. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  149. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  150. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  151. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  152. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  153. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  154. package/pf-select/pf-option-group.js +27 -2
  155. package/pf-select/pf-option-group.js.map +1 -1
  156. package/pf-select/pf-option.css +9 -1
  157. package/pf-select/pf-option.js +83 -2
  158. package/pf-select/pf-option.js.map +1 -1
  159. package/pf-select/pf-select.css +157 -0
  160. package/pf-select/pf-select.d.ts +1 -158
  161. package/pf-select/pf-select.js +542 -5
  162. package/pf-select/pf-select.js.map +1 -1
  163. package/pf-spinner/pf-spinner.css +13 -0
  164. package/pf-spinner/pf-spinner.d.ts +1 -14
  165. package/pf-spinner/pf-spinner.js +101 -2
  166. package/pf-spinner/pf-spinner.js.map +1 -1
  167. package/pf-switch/pf-switch.css +22 -0
  168. package/pf-switch/pf-switch.d.ts +1 -30
  169. package/pf-switch/pf-switch.js +156 -2
  170. package/pf-switch/pf-switch.js.map +1 -1
  171. package/pf-table/pf-caption.js +10 -2
  172. package/pf-table/pf-caption.js.map +1 -1
  173. package/pf-table/pf-table.css +211 -0
  174. package/pf-table/pf-table.d.ts +1 -635
  175. package/pf-table/pf-table.js +437 -2
  176. package/pf-table/pf-table.js.map +1 -1
  177. package/pf-table/pf-tbody.js +18 -2
  178. package/pf-table/pf-tbody.js.map +1 -1
  179. package/pf-table/pf-td.js +107 -2
  180. package/pf-table/pf-td.js.map +1 -1
  181. package/pf-table/pf-th.js +95 -2
  182. package/pf-table/pf-th.js.map +1 -1
  183. package/pf-table/pf-thead.js +20 -2
  184. package/pf-table/pf-thead.js.map +1 -1
  185. package/pf-table/pf-tr.js +89 -2
  186. package/pf-table/pf-tr.js.map +1 -1
  187. package/pf-tabs/pf-tab-panel.css +1 -0
  188. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  189. package/pf-tabs/pf-tab-panel.js +19 -3
  190. package/pf-tabs/pf-tab-panel.js.map +1 -1
  191. package/pf-tabs/pf-tab.css +33 -0
  192. package/pf-tabs/pf-tab.d.ts +0 -40
  193. package/pf-tabs/pf-tab.js +231 -2
  194. package/pf-tabs/pf-tab.js.map +1 -1
  195. package/pf-tabs/pf-tabs.css +26 -0
  196. package/pf-tabs/pf-tabs.d.ts +1 -34
  197. package/pf-tabs/pf-tabs.js +307 -2
  198. package/pf-tabs/pf-tabs.js.map +1 -1
  199. package/pf-text-area/pf-text-area.css +125 -0
  200. package/pf-text-area/pf-text-area.d.ts +1 -125
  201. package/pf-text-area/pf-text-area.js +320 -2
  202. package/pf-text-area/pf-text-area.js.map +1 -1
  203. package/pf-text-input/pf-text-input.css +126 -0
  204. package/pf-text-input/pf-text-input.d.ts +1 -126
  205. package/pf-text-input/pf-text-input.js +395 -2
  206. package/pf-text-input/pf-text-input.js.map +1 -1
  207. package/pf-tile/pf-tile.css +28 -8
  208. package/pf-tile/pf-tile.d.ts +1 -24
  209. package/pf-tile/pf-tile.js +156 -2
  210. package/pf-tile/pf-tile.js.map +1 -1
  211. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  212. package/pf-timestamp/pf-timestamp.js +10 -2
  213. package/pf-timestamp/pf-timestamp.js.map +1 -1
  214. package/pf-tooltip/pf-tooltip.css +10 -0
  215. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  216. package/pf-tooltip/pf-tooltip.js +113 -3
  217. package/pf-tooltip/pf-tooltip.js.map +1 -1
  218. package/pfe.min.js +0 -7439
  219. package/pfe.min.js.LEGAL.txt +0 -57
  220. package/pfe.min.js.map +0 -7
  221. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  222. package/react/pf-accordion/pf-accordion-header.js +0 -12
  223. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  224. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  225. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  226. package/react/pf-accordion/pf-accordion.js +0 -13
  227. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  228. package/react/pf-avatar/pf-avatar.js +0 -12
  229. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  230. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  231. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  232. package/react/pf-background-image/pf-background-image.js +0 -10
  233. package/react/pf-badge/pf-badge.d.ts +0 -5
  234. package/react/pf-badge/pf-badge.js +0 -10
  235. package/react/pf-banner/pf-banner.d.ts +0 -5
  236. package/react/pf-banner/pf-banner.js +0 -10
  237. package/react/pf-button/pf-button.d.ts +0 -5
  238. package/react/pf-button/pf-button.js +0 -12
  239. package/react/pf-card/pf-card.d.ts +0 -5
  240. package/react/pf-card/pf-card.js +0 -10
  241. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  242. package/react/pf-chip/pf-chip-group.js +0 -13
  243. package/react/pf-chip/pf-chip.d.ts +0 -5
  244. package/react/pf-chip/pf-chip.js +0 -13
  245. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  246. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  247. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  248. package/react/pf-code-block/pf-code-block.js +0 -10
  249. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  250. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  251. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  252. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  253. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  254. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  255. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  256. package/react/pf-dropdown/pf-dropdown.js +0 -14
  257. package/react/pf-icon/pf-icon.d.ts +0 -5
  258. package/react/pf-icon/pf-icon.js +0 -13
  259. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  260. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  261. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  262. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  263. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  264. package/react/pf-jump-links/pf-jump-links.js +0 -12
  265. package/react/pf-label/pf-label.d.ts +0 -5
  266. package/react/pf-label/pf-label.js +0 -12
  267. package/react/pf-modal/pf-modal.d.ts +0 -5
  268. package/react/pf-modal/pf-modal.js +0 -13
  269. package/react/pf-panel/pf-panel.d.ts +0 -5
  270. package/react/pf-panel/pf-panel.js +0 -10
  271. package/react/pf-popover/pf-popover.d.ts +0 -5
  272. package/react/pf-popover/pf-popover.js +0 -10
  273. package/react/pf-progress/pf-progress.d.ts +0 -5
  274. package/react/pf-progress/pf-progress.js +0 -10
  275. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  276. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  277. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  278. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  279. package/react/pf-select/pf-option-group.d.ts +0 -5
  280. package/react/pf-select/pf-option-group.js +0 -10
  281. package/react/pf-select/pf-option.d.ts +0 -5
  282. package/react/pf-select/pf-option.js +0 -10
  283. package/react/pf-select/pf-select.d.ts +0 -5
  284. package/react/pf-select/pf-select.js +0 -13
  285. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  286. package/react/pf-spinner/pf-spinner.js +0 -10
  287. package/react/pf-switch/pf-switch.d.ts +0 -5
  288. package/react/pf-switch/pf-switch.js +0 -12
  289. package/react/pf-table/pf-caption.d.ts +0 -5
  290. package/react/pf-table/pf-caption.js +0 -10
  291. package/react/pf-table/pf-table.d.ts +0 -5
  292. package/react/pf-table/pf-table.js +0 -10
  293. package/react/pf-table/pf-tbody.d.ts +0 -5
  294. package/react/pf-table/pf-tbody.js +0 -10
  295. package/react/pf-table/pf-td.d.ts +0 -5
  296. package/react/pf-table/pf-td.js +0 -10
  297. package/react/pf-table/pf-th.d.ts +0 -5
  298. package/react/pf-table/pf-th.js +0 -10
  299. package/react/pf-table/pf-thead.d.ts +0 -5
  300. package/react/pf-table/pf-thead.js +0 -10
  301. package/react/pf-table/pf-tr.d.ts +0 -5
  302. package/react/pf-table/pf-tr.js +0 -10
  303. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  304. package/react/pf-tabs/pf-tab-panel.js +0 -10
  305. package/react/pf-tabs/pf-tab.d.ts +0 -5
  306. package/react/pf-tabs/pf-tab.js +0 -12
  307. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  308. package/react/pf-tabs/pf-tabs.js +0 -10
  309. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  310. package/react/pf-text-area/pf-text-area.js +0 -10
  311. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  312. package/react/pf-text-input/pf-text-input.js +0 -10
  313. package/react/pf-tile/pf-tile.d.ts +0 -5
  314. package/react/pf-tile/pf-tile.js +0 -10
  315. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  316. package/react/pf-timestamp/pf-timestamp.js +0 -10
  317. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  318. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -10,7 +10,116 @@ import { observes } from '@patternfly/pfe-core/decorators/observes.js';
10
10
  import { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';
11
11
  import { PfChip, PfChipRemoveEvent } from './pf-chip.js';
12
12
  import { css } from "lit";
13
- const styles = css `:host {\n --pf-c-chip-group__list--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);\n --pf-c-chip-group__list--MarginRight: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);\n --pf-c-chip-group--m-category--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip-group--m-category--PaddingRight: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip-group--m-category--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip-group--m-category--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-chip-group--m-category--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);\n --pf-c-chip-group--m-category--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);\n --pf-c-chip-group__label--MarginRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-chip-group__label--FontSize: var(--pf-global--FontSize--sm, 0.875rem);\n --pf-c-chip-group__label--MaxWidth: 18ch;\n --pf-c-chip-group__close--MarginTop: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);\n --pf-c-chip-group__close--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);\n --pf-c-chip-group__list-item--MarginRight: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip-group__list-item--MarginBottom: var(--pf-global--spacer--xs, 0.25rem);\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n color: var(--pf-global--Color--100, #151515);\n}\n\n[hidden],\n.empty,\n::slotted([overflow-hidden]) {\n display: none !important;\n}\n\n#outer {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n align-items: baseline;\n min-width: 0;\n display: inline-flex;\n column-gap: var(--pf-global--spacer--xs, 0.25rem);\n align-items: center;\n border-radius: var(--pf-global--BorderRadius--sm, 3px);\n padding: 0 !important;\n}\n\n#outer.has-category {\n padding: var(--pf-global--spacer--xs, 0.25rem) var(--pf-global--spacer--sm, 0.5rem) !important;\n background-color: var(--pf-theme--color--surface--lighter, #f0f0f0);\n}\n\n#chips {\n margin-right: var(--pf-c-chip-group__list--MarginRight);\n margin-bottom: var(--pf-c-chip-group__list--MarginBottom);\n font-family: var(--pf-global--FontFamily--sans-serif, "RedHatTextUpdated", "Overpass", overpass, helvetica, arial, sans-serif);\n font-size: var(--pf-global--FontSize--sm, 14px);\n font-weight: var(--pf-global--FontWeight--normal, 400);\n line-height: 1.6;\n}\n\n#chips ::slotted(pf-chip) {\n display: inline-flex;\n min-width: 0;\n margin-right: var(--pf-c-chip-group__list-item--MarginRight);\n margin-bottom: var(--pf-c-chip-group__list-item--MarginBottom);\n}\n\n#close-button {\n --pf-icon--size: 16px;\n margin: var(--pf-c-chip__c-button--MarginTop)\n var(--pf-c-chip__c-button--MarginRight)\n var(--pf-c-chip__c-button--MarginBottom)\n var(--pf-c-chip__c-button--MarginLeft);\n padding: var(--pf-c-chip__c-button--PaddingTop)\n var(--pf-c-chip__c-button--PaddingRight)\n var(--pf-c-chip__c-button--PaddingBottom)\n var(--pf-c-chip__c-button--PaddingLeft);\n inset-block-start: 0.125em;\n}\n\nsvg {\n width: var(--pf-global--FontSize--sm, 14px);\n height: var(--pf-global--FontSize--sm, 14px);\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n block-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n}\n\n`;
13
+ const styles = css `:host {
14
+ /** MarginBottom for the chip group list */
15
+ --pf-c-chip-group__list--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);
16
+ /** MarginRight for the chip group list */
17
+ --pf-c-chip-group__list--MarginRight: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);
18
+ /** PaddingTop for the chip group category */
19
+ --pf-c-chip-group--m-category--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
20
+ /** PaddingRight for the chip group category */
21
+ --pf-c-chip-group--m-category--PaddingRight: var(--pf-global--spacer--xs, 0.25rem);
22
+ /** PaddingBottom for the chip group category */
23
+ --pf-c-chip-group--m-category--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
24
+ /** PaddingLeft for the chip group category */
25
+ --pf-c-chip-group--m-category--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
26
+ /** BorderRadius for the chip group category */
27
+ --pf-c-chip-group--m-category--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
28
+ /** BackgroundColor for the chip group category */
29
+ --pf-c-chip-group--m-category--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);
30
+ /** MarginRight for the chip group label */
31
+ --pf-c-chip-group__label--MarginRight: var(--pf-global--spacer--sm, 0.5rem);
32
+ /** FontSize for the chip group label */
33
+ --pf-c-chip-group__label--FontSize: var(--pf-global--FontSize--sm, 0.875rem);
34
+ /** MaxWidth for the chip group label */
35
+ --pf-c-chip-group__label--MaxWidth: 18ch;
36
+ /** MarginTop for the chip group close button */
37
+ --pf-c-chip-group__close--MarginTop: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);
38
+ /** MarginBottom for the chip group close button */
39
+ --pf-c-chip-group__close--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1);
40
+ /** MarginRight for chip group list items */
41
+ --pf-c-chip-group__list-item--MarginRight: var(--pf-global--spacer--xs, 0.25rem);
42
+ /** MarginBottom for chip group list items */
43
+ --pf-c-chip-group__list-item--MarginBottom: var(--pf-global--spacer--xs, 0.25rem);
44
+ display: inline-flex;
45
+ flex-wrap: wrap;
46
+ align-items: center;
47
+ min-width: 0;
48
+ max-width: 100%;
49
+ color: var(--pf-global--Color--100, #151515);
50
+ }
51
+
52
+ [hidden],
53
+ .empty,
54
+ ::slotted([overflow-hidden]) {
55
+ display: none !important;
56
+ }
57
+
58
+ #outer {
59
+ display: flex;
60
+ flex: 1;
61
+ flex-wrap: wrap;
62
+ align-items: baseline;
63
+ min-width: 0;
64
+ display: inline-flex;
65
+ column-gap: var(--pf-global--spacer--xs, 0.25rem);
66
+ align-items: center;
67
+ border-radius: var(--pf-global--BorderRadius--sm, 3px);
68
+ padding: 0 !important;
69
+ }
70
+
71
+ #outer.has-category {
72
+ padding: var(--pf-global--spacer--xs, 0.25rem) var(--pf-global--spacer--sm, 0.5rem) !important;
73
+ background-color: var(--pf-theme--color--surface--lighter, #f0f0f0);
74
+ }
75
+
76
+ #chips {
77
+ margin-right: var(--pf-c-chip-group__list--MarginRight);
78
+ margin-bottom: var(--pf-c-chip-group__list--MarginBottom);
79
+ font-family: var(--pf-global--FontFamily--sans-serif, "RedHatTextUpdated", "Overpass", overpass, helvetica, arial, sans-serif);
80
+ font-size: var(--pf-global--FontSize--sm, 14px);
81
+ font-weight: var(--pf-global--FontWeight--normal, 400);
82
+ line-height: 1.6;
83
+ }
84
+
85
+ #chips ::slotted(pf-chip) {
86
+ display: inline-flex;
87
+ min-width: 0;
88
+ margin-right: var(--pf-c-chip-group__list-item--MarginRight);
89
+ margin-bottom: var(--pf-c-chip-group__list-item--MarginBottom);
90
+ }
91
+
92
+ #close-button {
93
+ --pf-icon--size: 16px;
94
+ margin: var(--pf-c-chip__c-button--MarginTop)
95
+ var(--pf-c-chip__c-button--MarginRight)
96
+ var(--pf-c-chip__c-button--MarginBottom)
97
+ var(--pf-c-chip__c-button--MarginLeft);
98
+ padding: var(--pf-c-chip__c-button--PaddingTop)
99
+ var(--pf-c-chip__c-button--PaddingRight)
100
+ var(--pf-c-chip__c-button--PaddingBottom)
101
+ var(--pf-c-chip__c-button--PaddingLeft);
102
+ inset-block-start: 0.125em;
103
+ }
104
+
105
+ svg {
106
+ width: var(--pf-global--FontSize--sm, 14px);
107
+ height: var(--pf-global--FontSize--sm, 14px);
108
+ }
109
+
110
+ .visually-hidden {
111
+ border: 0;
112
+ clip: rect(0, 0, 0, 0);
113
+ block-size: 1px;
114
+ margin: -1px;
115
+ overflow: hidden;
116
+ padding: 0;
117
+ position: absolute;
118
+ white-space: nowrap;
119
+ inline-size: 1px;
120
+ }
121
+
122
+ `;
14
123
  import shared from "./pf-chip-shared.css.js";
15
124
  export class PfChipGroupExpandEvent extends Event {
16
125
  constructor() {
@@ -190,7 +299,7 @@ PfChipGroup.shadowRootOptions = {
190
299
  ...LitElement.shadowRootOptions,
191
300
  delegatesFocus: true,
192
301
  };
193
- PfChipGroup.version = "4.1.0";
302
+ PfChipGroup.version = "4.3.0";
194
303
  __decorate([
195
304
  property({ attribute: 'accessible-label', type: String })
196
305
  ], PfChipGroup.prototype, "accessibleLabel", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-chip-group.js","sourceRoot":"","sources":["pf-chip-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { queryAssignedNodes } from 'lit/decorators/query-assigned-nodes.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfChip, PfChipRemoveEvent } from './pf-chip.js';\n\nimport styles from './pf-chip-group.css';\nimport shared from './pf-chip-shared.css';\n\nexport class PfChipGroupExpandEvent extends Event {\n constructor() {\n super('expand', { bubbles: true, cancelable: true });\n }\n}\n\nexport class PfChipGroupRemoveEvent extends Event {\n constructor() {\n super('remove', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * `${`\n * **WS** (_>= 0x_)\n * `remaining`\n * **WS** (_>= 0x_)\n * `}`\n */\nconst REMAINING_RE = /\\$\\{\\s*remaining\\s*\\}/g;\n\n/**\n * A **chip group** is a collection of chips that can be grouped by category and used to represent one or more values assigned to a single attribute. When value of numChips is exceeded, additional chips will be hidden using an overflow chip.\n * @fires expand - Fires when chip group is expanded to show all chips\n * @fires remove - Fires when chip group is closed/removed\n * @slot category-name\n * Category name text for chip group category. If this prop is supplied chip group with have a label and category styling applied\n * @slot - `<pf-chip>` elements.\n * @cssprop [--pf-c-chip-group__list--MarginBottom=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)]\n * @cssprop [--pf-c-chip-group__list--MarginRight=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)]\n * @cssprop [--pf-c-chip-group--m-category--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip-group--m-category--PaddingRight=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip-group--m-category--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip-group--m-category--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-chip-group--m-category--BorderRadius=var(--pf-global--BorderRadius--sm, 3px)]\n * @cssprop [--pf-c-chip-group--m-category--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]\n * @cssprop [--pf-c-chip-group__label--MarginRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-chip-group__label--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]\n * @cssprop [--pf-c-chip-group__label--MaxWidth=18ch]\n * @cssprop [--pf-c-chip-group__close--MarginTop=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)]\n * @cssprop [--pf-c-chip-group__close--MarginBottom=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)]\n * @cssprop [--pf-c-chip-group__list-item--MarginRight=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip-group__list-item--MarginBottom=var(--pf-global--spacer--xs, 0.25rem)]\n */\n@customElement('pf-chip-group')\nexport class PfChipGroup extends LitElement {\n static readonly styles: CSSStyleSheet[] = [shared, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Accessible label for chip group that does not have a category name\n */\n @property({ attribute: 'accessible-label', type: String }) accessibleLabel = '';\n\n /**\n * Accessible label for close button\n */\n @property({ attribute: 'accessible-close-label', type: String }) accessibleCloseLabel = 'Close';\n\n /**\n * Customizeable \"more\" template string. Use variable \"${remaining}\" for overflow chip count.\n */\n @property({ attribute: 'collapsed-text', type: String }) collapsedText = '${remaining} more';\n\n /**\n * Customizable \"show less\" text string.\n */\n @property({ attribute: 'expanded-text', type: String }) expandedText = 'show less';\n\n /**\n * Set number of chips to show before overflow\n */\n @property({ attribute: 'num-chips', type: Number }) numChips = 3;\n\n /**\n * Flag indicating if overflow chips are visible\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * Flag if chip group can be closed\n */\n @property({ reflect: true, type: Boolean }) closeable = false;\n\n @query('#overflow') private _overflowChip?: PfChip;\n\n @query('#close-button') private _button?: HTMLButtonElement;\n\n @queryAssignedNodes({ slot: 'category-name', flatten: true }) private _categorySlotted?: Node[];\n\n get #chips(): NodeListOf<PfChip> {\n return this.querySelectorAll<PfChip>('pf-chip:not([slot]):not([overflow-chip])');\n }\n\n #tabindex = RovingTabindexController.of(this, {\n getItems: () => [\n ...Array.prototype.slice.call(this.#chips, 0, this.open ? this.#chips.length\n : Math.min(this.#chips.length, this.numChips)),\n this._overflowChip,\n this._button,\n ].filter(x => !!x),\n });\n\n /**\n * active chip that receives focus when group receives focus\n */\n get activeChip() {\n const button = this.#tabindex.items.at(this.#tabindex.atFocusedItemIndex);\n const shadow = button?.getRootNode() as ShadowRoot;\n return shadow?.host as PfChip;\n }\n\n set activeChip(chip: HTMLElement) {\n const button = chip.shadowRoot?.querySelector('button');\n if (button) {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(button);\n }\n }\n\n /**\n * whether or not group has a category\n */\n get hasCategory(): boolean {\n return (this._categorySlotted || []).length > 0;\n }\n\n get remaining(): number {\n return this.#chips.length - this.numChips;\n }\n\n constructor() {\n super();\n this.addEventListener('remove', this.#onRemove);\n }\n\n render(): TemplateResult<1> {\n const empty = this.#chips.length <= 0;\n return html`\n <div id=\"outer\"\n class=\"${classMap({ 'has-category': this.hasCategory, empty })}\"\n role=\"toolbar\">\n <slot id=\"category\"\n name=\"category-name\"\n @slotchange=\"${this.#onSlotchange}\">\n <span class=\"visually-hidden\"\n ?hidden=\"${!this.accessibleLabel}\">${this.accessibleLabel ?? ''}</span>\n </slot>\n <slot id=\"chips\" @slotchange=\"${this.#onSlotchange}\"></slot>\n <pf-chip id=\"overflow\"\n aria-controls=\"chips\"\n overflow-chip\n ?hidden=\"${this.remaining < 1}\"\n @click=\"${this.#onMoreClick}\"\n >${this.remaining < 1 ? ''\n : this.open ? this.expandedText\n : this.collapsedText.replace(REMAINING_RE, this.remaining.toString())}</pf-chip>\n <pf-button id=\"close-button\"\n plain\n icon=\"times-circle\"\n icon-set=\"fas\"\n label=\"${this.accessibleCloseLabel}\"\n aria-describedby=\"category\"\n ?hidden=\"${!this.closeable}\"\n @click=\"${this.#onCloseClick}\"></pf-button>\n </div>\n `;\n }\n\n /**\n * updates chips when they change\n */\n @observes('accessibleCloseLabel')\n @observes('numChips')\n @observes('closeable')\n @observes('open')\n private chipsChanged(): void {\n this.#updateOverflow();\n }\n\n /**\n * handles chip group close\n */\n #onCloseClick() {\n this.dispatchEvent(new PfChipGroupRemoveEvent());\n }\n\n /**\n * handles overflow chip's click event\n * @param event click event\n */\n async #onMoreClick(event: Event) {\n event.stopPropagation();\n this.open = !this.open;\n await this.updateComplete;\n this.chipsChanged();\n if (this._overflowChip) {\n this.focusOnChip(this._overflowChip);\n }\n this.dispatchEvent(new PfChipGroupExpandEvent());\n }\n\n #onSlotchange() {\n this.requestUpdate();\n }\n\n #onRemove(event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n const index = this.#tabindex.atFocusedItemIndex;\n if (event.chip) {\n this.#tabindex.atFocusedItemIndex = index + 1;\n }\n } else if (event instanceof PfChipGroupRemoveEvent) {\n this.remove();\n }\n }\n\n /**\n * updates which chips are hidden\n */\n #updateOverflow() {\n this.#chips.forEach((chip, i) => {\n chip.accessibleCloseLabel = this.accessibleCloseLabel;\n const overflowHidden = i >= this.numChips && !this.open;\n chip.hidden = overflowHidden;\n });\n }\n\n /**\n * Activates the specified chip and sets focus on it\n * @param chip pf-chip element\n */\n focusOnChip(chip: PfChip): void {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(chip);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-chip-group': PfChipGroup;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-chip-group.js","sourceRoot":"","sources":["pf-chip-group.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,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAE1G,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGlD,MAAM;AAEb,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAWvC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IA8DzC;;OAEG;IACH,IAAI,UAAU;QACZ,MAAM,MAAM,GAAG,uBAAA,IAAI,6BAAU,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAA,IAAI,6BAAU,CAAC,kBAAkB,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,EAAE,WAAW,EAAgB,CAAC;QACnD,OAAO,MAAM,EAAE,IAAc,CAAC;IAChC,CAAC;IAED,IAAI,UAAU,CAAC,IAAiB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,uBAAA,IAAI,6BAAU,CAAC,kBAAkB,GAAG,uBAAA,IAAI,6BAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,sDAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED;QACE,KAAK,EAAE,CAAC;;QAlFV;;WAEG;QACwD,oBAAe,GAAG,EAAE,CAAC;QAEhF;;WAEG;QAC8D,yBAAoB,GAAG,OAAO,CAAC;QAEhG;;WAEG;QACsD,kBAAa,GAAG,mBAAmB,CAAC;QAE7F;;WAEG;QACqD,iBAAY,GAAG,WAAW,CAAC;QAEnF;;WAEG;QACiD,aAAQ,GAAG,CAAC,CAAC;QAEjE;;WAEG;QACyC,SAAI,GAAG,KAAK,CAAC;QAEzD;;WAEG;QACyC,cAAS,GAAG,KAAK,CAAC;QAY9D,gCAAY,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;YAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACd,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,sDAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAA,IAAI,sDAAO,CAAC,MAAM;oBACtD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAA,IAAI,sDAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpE,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,OAAO;aACb,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACnB,CAAC,EAAC;QA+BD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAA,IAAI,qDAAU,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,uBAAA,IAAI,sDAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAA;;oBAEK,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;;;;6BAI5C,uBAAA,IAAI,yDAAc;;2BAEpB,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe,IAAI,EAAE;;wCAEvC,uBAAA,IAAI,yDAAc;;;;4BAI9B,IAAI,CAAC,SAAS,GAAG,CAAC;2BACnB,uBAAA,IAAI,wDAAa;WACjC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;gBAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;;;;;4BAKlD,IAAI,CAAC,oBAAoB;;8BAEvB,CAAC,IAAI,CAAC,SAAS;6BAChB,uBAAA,IAAI,yDAAc;;KAE1C,CAAC;IACJ,CAAC;IAED;;OAEG;IAKK,YAAY;QAClB,uBAAA,IAAI,2DAAgB,MAApB,IAAI,CAAkB,CAAC;IACzB,CAAC;IAkDD;;;OAGG;IACH,WAAW,CAAC,IAAY;QACtB,uBAAA,IAAI,6BAAU,CAAC,kBAAkB,GAAG,uBAAA,IAAI,6BAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;;;;;IA9IC,OAAO,IAAI,CAAC,gBAAgB,CAAS,0CAA0C,CAAC,CAAC;AACnF,CAAC;;IA2FC,IAAI,CAAC,aAAa,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;AACnD,CAAC;;AAED;;;GAGG;AACH,KAAK,mCAAc,KAAY;IAC7B,KAAK,CAAC,eAAe,EAAE,CAAC;IACxB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,IAAI,CAAC,cAAc,CAAC;IAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;AACnD,CAAC;;IAGC,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,CAAC;uDAES,KAAY;IACpB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,uBAAA,IAAI,6BAAU,CAAC,kBAAkB,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,uBAAA,IAAI,6BAAU,CAAC,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;;IAMC,uBAAA,IAAI,sDAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAvLe,kBAAM,GAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,AAApC,CAAqC;AAElC,6BAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAKyD;IAA1D,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAsB;AAKf;IAAhE,QAAQ,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDAAgC;AAKvC;IAAxD,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAAqC;AAKrC;IAAvD,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAA4B;AAK/B;IAAnD,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAc;AAKrB;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCAAc;AAKb;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CAAmB;AAElC;IAA3B,KAAK,CAAC,WAAW,CAAC;kDAAgC;AAEnB;IAA/B,KAAK,CAAC,eAAe,CAAC;4CAAqC;AAEU;IAArE,kBAAkB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAmC;AAuFxF;IAJP,QAAQ,CAAC,sBAAsB,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC;IACpB,QAAQ,CAAC,WAAW,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC;+CAGhB;AAxIU,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { queryAssignedNodes } from 'lit/decorators/query-assigned-nodes.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfChip, PfChipRemoveEvent } from './pf-chip.js';\n\nimport styles from './pf-chip-group.css';\nimport shared from './pf-chip-shared.css';\n\nexport class PfChipGroupExpandEvent extends Event {\n constructor() {\n super('expand', { bubbles: true, cancelable: true });\n }\n}\n\nexport class PfChipGroupRemoveEvent extends Event {\n constructor() {\n super('remove', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * `${`\n * **WS** (_>= 0x_)\n * `remaining`\n * **WS** (_>= 0x_)\n * `}`\n */\nconst REMAINING_RE = /\\$\\{\\s*remaining\\s*\\}/g;\n\n/**\n * A **chip group** is a collection of chips that can be grouped by category and used to represent one or more values assigned to a single attribute. When value of numChips is exceeded, additional chips will be hidden using an overflow chip.\n * @fires expand - Fires when chip group is expanded to show all chips\n * @fires remove - Fires when chip group is closed/removed\n * @slot category-name\n * Category name text for chip group category. If this prop is supplied chip group with have a label and category styling applied\n * @slot - `<pf-chip>` elements.\n */\n@customElement('pf-chip-group')\nexport class PfChipGroup extends LitElement {\n static readonly styles: CSSStyleSheet[] = [shared, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Accessible label for chip group that does not have a category name\n */\n @property({ attribute: 'accessible-label', type: String }) accessibleLabel = '';\n\n /**\n * Accessible label for close button\n */\n @property({ attribute: 'accessible-close-label', type: String }) accessibleCloseLabel = 'Close';\n\n /**\n * Customizeable \"more\" template string. Use variable \"${remaining}\" for overflow chip count.\n */\n @property({ attribute: 'collapsed-text', type: String }) collapsedText = '${remaining} more';\n\n /**\n * Customizable \"show less\" text string.\n */\n @property({ attribute: 'expanded-text', type: String }) expandedText = 'show less';\n\n /**\n * Set number of chips to show before overflow\n */\n @property({ attribute: 'num-chips', type: Number }) numChips = 3;\n\n /**\n * Flag indicating if overflow chips are visible\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * Flag if chip group can be closed\n */\n @property({ reflect: true, type: Boolean }) closeable = false;\n\n @query('#overflow') private _overflowChip?: PfChip;\n\n @query('#close-button') private _button?: HTMLButtonElement;\n\n @queryAssignedNodes({ slot: 'category-name', flatten: true }) private _categorySlotted?: Node[];\n\n get #chips(): NodeListOf<PfChip> {\n return this.querySelectorAll<PfChip>('pf-chip:not([slot]):not([overflow-chip])');\n }\n\n #tabindex = RovingTabindexController.of(this, {\n getItems: () => [\n ...Array.prototype.slice.call(this.#chips, 0, this.open ? this.#chips.length\n : Math.min(this.#chips.length, this.numChips)),\n this._overflowChip,\n this._button,\n ].filter(x => !!x),\n });\n\n /**\n * active chip that receives focus when group receives focus\n */\n get activeChip() {\n const button = this.#tabindex.items.at(this.#tabindex.atFocusedItemIndex);\n const shadow = button?.getRootNode() as ShadowRoot;\n return shadow?.host as PfChip;\n }\n\n set activeChip(chip: HTMLElement) {\n const button = chip.shadowRoot?.querySelector('button');\n if (button) {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(button);\n }\n }\n\n /**\n * whether or not group has a category\n */\n get hasCategory(): boolean {\n return (this._categorySlotted || []).length > 0;\n }\n\n get remaining(): number {\n return this.#chips.length - this.numChips;\n }\n\n constructor() {\n super();\n this.addEventListener('remove', this.#onRemove);\n }\n\n render(): TemplateResult<1> {\n const empty = this.#chips.length <= 0;\n return html`\n <div id=\"outer\"\n class=\"${classMap({ 'has-category': this.hasCategory, empty })}\"\n role=\"toolbar\">\n <slot id=\"category\"\n name=\"category-name\"\n @slotchange=\"${this.#onSlotchange}\">\n <span class=\"visually-hidden\"\n ?hidden=\"${!this.accessibleLabel}\">${this.accessibleLabel ?? ''}</span>\n </slot>\n <slot id=\"chips\" @slotchange=\"${this.#onSlotchange}\"></slot>\n <pf-chip id=\"overflow\"\n aria-controls=\"chips\"\n overflow-chip\n ?hidden=\"${this.remaining < 1}\"\n @click=\"${this.#onMoreClick}\"\n >${this.remaining < 1 ? ''\n : this.open ? this.expandedText\n : this.collapsedText.replace(REMAINING_RE, this.remaining.toString())}</pf-chip>\n <pf-button id=\"close-button\"\n plain\n icon=\"times-circle\"\n icon-set=\"fas\"\n label=\"${this.accessibleCloseLabel}\"\n aria-describedby=\"category\"\n ?hidden=\"${!this.closeable}\"\n @click=\"${this.#onCloseClick}\"></pf-button>\n </div>\n `;\n }\n\n /**\n * updates chips when they change\n */\n @observes('accessibleCloseLabel')\n @observes('numChips')\n @observes('closeable')\n @observes('open')\n private chipsChanged(): void {\n this.#updateOverflow();\n }\n\n /**\n * handles chip group close\n */\n #onCloseClick() {\n this.dispatchEvent(new PfChipGroupRemoveEvent());\n }\n\n /**\n * handles overflow chip's click event\n * @param event click event\n */\n async #onMoreClick(event: Event) {\n event.stopPropagation();\n this.open = !this.open;\n await this.updateComplete;\n this.chipsChanged();\n if (this._overflowChip) {\n this.focusOnChip(this._overflowChip);\n }\n this.dispatchEvent(new PfChipGroupExpandEvent());\n }\n\n #onSlotchange() {\n this.requestUpdate();\n }\n\n #onRemove(event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n const index = this.#tabindex.atFocusedItemIndex;\n if (event.chip) {\n this.#tabindex.atFocusedItemIndex = index + 1;\n }\n } else if (event instanceof PfChipGroupRemoveEvent) {\n this.remove();\n }\n }\n\n /**\n * updates which chips are hidden\n */\n #updateOverflow() {\n this.#chips.forEach((chip, i) => {\n chip.accessibleCloseLabel = this.accessibleCloseLabel;\n const overflowHidden = i >= this.numChips && !this.open;\n chip.hidden = overflowHidden;\n });\n }\n\n /**\n * Activates the specified chip and sets focus on it\n * @param chip pf-chip element\n */\n focusOnChip(chip: PfChip): void {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(chip);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-chip-group': PfChipGroup;\n }\n}\n"]}
@@ -1,20 +1,37 @@
1
1
  :host {
2
+ /** Top padding for chip */
2
3
  --pf-c-chip--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
4
+ /** Right padding for chip */
3
5
  --pf-c-chip--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
6
+ /** Bottom padding for chip */
4
7
  --pf-c-chip--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
8
+ /** Left padding for chip */
5
9
  --pf-c-chip--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
10
+ /** Background color for chip */
6
11
  --pf-c-chip--BackgroundColor: var(--pf-global--Color--light-100, #fff);
12
+ /** Border radius for chip */
7
13
  --pf-c-chip--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
14
+ /** Border color for chip */
8
15
  --pf-c-chip--before--BorderColor: var(--pf-global--BorderColor--300, #f0f0f0);
16
+ /** Border width for chip */
9
17
  --pf-c-chip--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
18
+ /** Border radius for chip border (references chip border radius) */
10
19
  --pf-c-chip--before--BorderRadius: var(--pf-c-chip--BorderRadius);
20
+ /** Text color for overflow chip */
11
21
  --pf-c-chip--m-overflow__text--Color: var(--pf-global--primary-color--100, #06c);
22
+ /** Background color for draggable chip */
12
23
  --pf-c-chip--m-draggable--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);
24
+ /** Box shadow for draggable chip */
13
25
  --pf-c-chip--m-draggable--BoxShadow: var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06));
26
+ /** Font size for draggable chip icon */
14
27
  --pf-c-chip--m-draggable__icon--FontSize: var(--pf-global--icon--FontSize--sm, 0.625rem);
28
+ /** Font size for chip text */
15
29
  --pf-c-chip__text--FontSize: var(--pf-global--FontSize--xs, 0.75rem);
30
+ /** Color for chip text */
16
31
  --pf-c-chip__text--Color: var(--pf-global--Color--100, #151515);
32
+ /** Maximum width for chip text */
17
33
  --pf-c-chip__text--MaxWidth: 16ch;
34
+ /** Left margin for chip icon */
18
35
  --pf-c-chip__icon--MarginLeft: var(--pf-global--spacer--sm, 0.5rem);
19
36
  color: var(--pf-global--Color--100, #151515);
20
37
  position: relative;
@@ -22,7 +39,9 @@
22
39
  align-items: center;
23
40
  min-width: 0;
24
41
  list-style: none;
42
+ /** Background color of chip */
25
43
  background-color: var(--pf-c-chip--BackgroundColor);
44
+ /** Border radius of chip */
26
45
  border-radius: var(--pf-c-chip--BorderRadius);
27
46
  padding:
28
47
  var(--pf-c-chip--PaddingTop)
@@ -47,7 +66,13 @@ div#outer {
47
66
  bottom: 0;
48
67
  left: 0;
49
68
  content: "";
50
- border: var(--pf-c-chip--before--BorderWidth) solid var(--pf-c-chip--before--BorderColor);
69
+ border:
70
+ /** Border width */
71
+ var(--pf-c-chip--before--BorderWidth)
72
+ solid
73
+ /** Border color */
74
+ var(--pf-c-chip--before--BorderColor);
75
+ /** Border radius of chip border */
51
76
  border-radius: var(--pf-c-chip--before--BorderRadius);
52
77
  }
53
78
 
@@ -57,8 +82,11 @@ span {
57
82
  text-overflow: ellipsis;
58
83
  white-space: nowrap;
59
84
  position: relative;
85
+ /** Maximum width of chip text */
60
86
  max-width: var(--pf-c-chip__text--MaxWidth);
87
+ /** Font size of chip text */
61
88
  font-size: var(--pf-c-chip__text--FontSize);
89
+ /** Color of chip text */
62
90
  color: var(--pf-c-chip__text--Color);
63
91
  }
64
92
 
@@ -75,6 +103,7 @@ button#outer {
75
103
  }
76
104
 
77
105
  button#outer span {
106
+ /** Color for overflow chip text */
78
107
  color: var(--pf-c-chip--m-overflow__text--Color);
79
108
  }
80
109
 
@@ -6,28 +6,9 @@ export declare class PfChipRemoveEvent extends Event {
6
6
  }
7
7
  /**
8
8
  * A **chip** is used to communicate a value or a set of attribute-value pairs within workflows that involve filtering a set of objects.
9
+ * @alias Chip
9
10
  * @fires {ChipRemoveEvent} remove - Fires when chip is removed
10
11
  * @fires {Event} click - when close button is clicked
11
- * @slot
12
- * chip text
13
- * @csspart text - container for chip text
14
- * @cssprop [--pf-c-chip--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]
15
- * @cssprop [--pf-c-chip--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]
16
- * @cssprop [--pf-c-chip--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]
17
- * @cssprop [--pf-c-chip--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]
18
- * @cssprop [--pf-c-chip--BackgroundColor=var(--pf-global--Color--light-100, #fff)]
19
- * @cssprop [--pf-c-chip--BorderRadius=var(--pf-global--BorderRadius--sm, 3px)]
20
- * @cssprop [--pf-c-chip--before--BorderColor=var(--pf-global--BorderColor--300, #f0f0f0)]
21
- * @cssprop [--pf-c-chip--before--BorderWidth=var(--pf-global--BorderWidth--sm, 1px)]
22
- * @cssprop [--pf-c-chip--before--BorderRadius=var(--pf-c-chip--BorderRadius)]
23
- * @cssprop [--pf-c-chip--m-overflow__text--Color=var(--pf-global--primary-color--100, #06c)]
24
- * @cssprop [--pf-c-chip--m-draggable--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]
25
- * @cssprop [--pf-c-chip--m-draggable--BoxShadow=var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06))]
26
- * @cssprop [--pf-c-chip--m-draggable__icon--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]
27
- * @cssprop [--pf-c-chip__text--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]
28
- * @cssprop [--pf-c-chip__text--Color=var(--pf-global--Color--100, #151515)]
29
- * @cssprop [--pf-c-chip__text--MaxWidth=16ch]
30
- * @cssprop [--pf-c-chip__icon--MarginLeft=var(--pf-global--spacer--sm, 0.5rem)]
31
12
  */
32
13
  export declare class PfChip extends LitElement {
33
14
  #private;
@@ -5,7 +5,136 @@ import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { property } from 'lit/decorators/property.js';
6
6
  import '@patternfly/elements/pf-button/pf-button.js';
7
7
  import { css } from "lit";
8
- const styles = css `:host {\n --pf-c-chip--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-chip--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-chip--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-chip--BackgroundColor: var(--pf-global--Color--light-100, #fff);\n --pf-c-chip--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);\n --pf-c-chip--before--BorderColor: var(--pf-global--BorderColor--300, #f0f0f0);\n --pf-c-chip--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);\n --pf-c-chip--before--BorderRadius: var(--pf-c-chip--BorderRadius);\n --pf-c-chip--m-overflow__text--Color: var(--pf-global--primary-color--100, #06c);\n --pf-c-chip--m-draggable--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);\n --pf-c-chip--m-draggable--BoxShadow: var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06));\n --pf-c-chip--m-draggable__icon--FontSize: var(--pf-global--icon--FontSize--sm, 0.625rem);\n --pf-c-chip__text--FontSize: var(--pf-global--FontSize--xs, 0.75rem);\n --pf-c-chip__text--Color: var(--pf-global--Color--100, #151515);\n --pf-c-chip__text--MaxWidth: 16ch;\n --pf-c-chip__icon--MarginLeft: var(--pf-global--spacer--sm, 0.5rem);\n color: var(--pf-global--Color--100, #151515);\n position: relative;\n display: inline-flex;\n align-items: center;\n min-width: 0;\n list-style: none;\n background-color: var(--pf-c-chip--BackgroundColor);\n border-radius: var(--pf-c-chip--BorderRadius);\n padding:\n\t var(--pf-c-chip--PaddingTop)\n\t var(--pf-c-chip--PaddingRight)\n\t var(--pf-c-chip--PaddingBottom)\n\t var(--pf-c-chip--PaddingLeft);\n}\n\n[hidden],\n:host([hidden]) {\n display: none !important;\n}\n\ndiv#outer {\n display: contents;\n}\n\n#outer:before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: "";\n border: var(--pf-c-chip--before--BorderWidth) solid var(--pf-c-chip--before--BorderColor);\n border-radius: var(--pf-c-chip--before--BorderRadius);\n}\n\nspan {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n max-width: var(--pf-c-chip__text--MaxWidth);\n font-size: var(--pf-c-chip__text--FontSize);\n color: var(--pf-c-chip__text--Color);\n}\n\n:host([readonly]) span {\n color: var(--pf-global--Color--200, #6a6e73);\n}\n\n/* OVERFLOW */\n\nbutton#outer {\n display: flex;\n background: none;\n border: 1px solid transparent;\n}\n\nbutton#outer span {\n color: var(--pf-c-chip--m-overflow__text--Color);\n}\n\n/* CLOSE */\n\n#close-button {\n --pf-icon--size: 12px;\n --pf-c-button--PaddingTop: var(--pf-c-chip__c-button--PaddingTop);\n --pf-c-button--PaddingRight: var(--pf-c-chip__c-button--PaddingRight);\n --pf-c-button--PaddingBottom: var(--pf-c-chip__c-button--PaddingBottom);\n --pf-c-button--PaddingLeft: var(--pf-c-chip__c-button--PaddingLeft);\n --pf-c-button--FontSize: var(--pf-c-chip__c-button--FontSize);\n margin-top: var(--pf-c-chip__c-button--MarginTop);\n margin-right: var(--pf-c-chip__c-button--MarginRight);\n margin-bottom: var(--pf-c-chip__c-button--MarginBottom);\n inset-block-start: 0.125em;\n}\n\n::slotted(pf-badge) {\n font-size: var(--pf-global--FontSize--xs, 12px);\n margin: 0 0 0 var(--pf-global--spacer--xs, 0.25rem) !important;\n min-width: unset;\n}\n`;
8
+ const styles = css `:host {
9
+ /** Top padding for chip */
10
+ --pf-c-chip--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
11
+ /** Right padding for chip */
12
+ --pf-c-chip--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
13
+ /** Bottom padding for chip */
14
+ --pf-c-chip--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
15
+ /** Left padding for chip */
16
+ --pf-c-chip--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
17
+ /** Background color for chip */
18
+ --pf-c-chip--BackgroundColor: var(--pf-global--Color--light-100, #fff);
19
+ /** Border radius for chip */
20
+ --pf-c-chip--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
21
+ /** Border color for chip */
22
+ --pf-c-chip--before--BorderColor: var(--pf-global--BorderColor--300, #f0f0f0);
23
+ /** Border width for chip */
24
+ --pf-c-chip--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
25
+ /** Border radius for chip border (references chip border radius) */
26
+ --pf-c-chip--before--BorderRadius: var(--pf-c-chip--BorderRadius);
27
+ /** Text color for overflow chip */
28
+ --pf-c-chip--m-overflow__text--Color: var(--pf-global--primary-color--100, #06c);
29
+ /** Background color for draggable chip */
30
+ --pf-c-chip--m-draggable--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);
31
+ /** Box shadow for draggable chip */
32
+ --pf-c-chip--m-draggable--BoxShadow: var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06));
33
+ /** Font size for draggable chip icon */
34
+ --pf-c-chip--m-draggable__icon--FontSize: var(--pf-global--icon--FontSize--sm, 0.625rem);
35
+ /** Font size for chip text */
36
+ --pf-c-chip__text--FontSize: var(--pf-global--FontSize--xs, 0.75rem);
37
+ /** Color for chip text */
38
+ --pf-c-chip__text--Color: var(--pf-global--Color--100, #151515);
39
+ /** Maximum width for chip text */
40
+ --pf-c-chip__text--MaxWidth: 16ch;
41
+ /** Left margin for chip icon */
42
+ --pf-c-chip__icon--MarginLeft: var(--pf-global--spacer--sm, 0.5rem);
43
+ color: var(--pf-global--Color--100, #151515);
44
+ position: relative;
45
+ display: inline-flex;
46
+ align-items: center;
47
+ min-width: 0;
48
+ list-style: none;
49
+ /** Background color of chip */
50
+ background-color: var(--pf-c-chip--BackgroundColor);
51
+ /** Border radius of chip */
52
+ border-radius: var(--pf-c-chip--BorderRadius);
53
+ padding:
54
+ \t var(--pf-c-chip--PaddingTop)
55
+ \t var(--pf-c-chip--PaddingRight)
56
+ \t var(--pf-c-chip--PaddingBottom)
57
+ \t var(--pf-c-chip--PaddingLeft);
58
+ }
59
+
60
+ [hidden],
61
+ :host([hidden]) {
62
+ display: none !important;
63
+ }
64
+
65
+ div#outer {
66
+ display: contents;
67
+ }
68
+
69
+ #outer:before {
70
+ position: absolute;
71
+ top: 0;
72
+ right: 0;
73
+ bottom: 0;
74
+ left: 0;
75
+ content: "";
76
+ border:
77
+ /** Border width */
78
+ var(--pf-c-chip--before--BorderWidth)
79
+ solid
80
+ /** Border color */
81
+ var(--pf-c-chip--before--BorderColor);
82
+ /** Border radius of chip border */
83
+ border-radius: var(--pf-c-chip--before--BorderRadius);
84
+ }
85
+
86
+ span {
87
+ display: inline-block;
88
+ overflow: hidden;
89
+ text-overflow: ellipsis;
90
+ white-space: nowrap;
91
+ position: relative;
92
+ /** Maximum width of chip text */
93
+ max-width: var(--pf-c-chip__text--MaxWidth);
94
+ /** Font size of chip text */
95
+ font-size: var(--pf-c-chip__text--FontSize);
96
+ /** Color of chip text */
97
+ color: var(--pf-c-chip__text--Color);
98
+ }
99
+
100
+ :host([readonly]) span {
101
+ color: var(--pf-global--Color--200, #6a6e73);
102
+ }
103
+
104
+ /* OVERFLOW */
105
+
106
+ button#outer {
107
+ display: flex;
108
+ background: none;
109
+ border: 1px solid transparent;
110
+ }
111
+
112
+ button#outer span {
113
+ /** Color for overflow chip text */
114
+ color: var(--pf-c-chip--m-overflow__text--Color);
115
+ }
116
+
117
+ /* CLOSE */
118
+
119
+ #close-button {
120
+ --pf-icon--size: 12px;
121
+ --pf-c-button--PaddingTop: var(--pf-c-chip__c-button--PaddingTop);
122
+ --pf-c-button--PaddingRight: var(--pf-c-chip__c-button--PaddingRight);
123
+ --pf-c-button--PaddingBottom: var(--pf-c-chip__c-button--PaddingBottom);
124
+ --pf-c-button--PaddingLeft: var(--pf-c-chip__c-button--PaddingLeft);
125
+ --pf-c-button--FontSize: var(--pf-c-chip__c-button--FontSize);
126
+ margin-top: var(--pf-c-chip__c-button--MarginTop);
127
+ margin-right: var(--pf-c-chip__c-button--MarginRight);
128
+ margin-bottom: var(--pf-c-chip__c-button--MarginBottom);
129
+ inset-block-start: 0.125em;
130
+ }
131
+
132
+ ::slotted(pf-badge) {
133
+ font-size: var(--pf-global--FontSize--xs, 12px);
134
+ margin: 0 0 0 var(--pf-global--spacer--xs, 0.25rem) !important;
135
+ min-width: unset;
136
+ }
137
+ `;
9
138
  import shared from "./pf-chip-shared.css.js";
10
139
  export class PfChipRemoveEvent extends Event {
11
140
  constructor(chip) {
@@ -33,13 +162,17 @@ let PfChip = class PfChip extends LitElement {
33
162
  render() {
34
163
  return this.overflowChip ? html `
35
164
  <button id="outer">
165
+ <!-- container for chip text -->
36
166
  <span part="text">
167
+ <!-- chip text -->
37
168
  <slot></slot>
38
169
  </span>
39
170
  </button>
40
171
  ` : html `
41
172
  <div id="outer">
173
+ <!-- container for chip text -->
42
174
  <span id="chip-text" part="text">
175
+ <!-- chip text -->
43
176
  <slot></slot>
44
177
  </span>
45
178
  <pf-button id="close-button"
@@ -64,7 +197,7 @@ PfChip.shadowRootOptions = {
64
197
  ...LitElement.shadowRootOptions,
65
198
  delegatesFocus: true,
66
199
  };
67
- PfChip.version = "4.1.0";
200
+ PfChip.version = "4.3.0";
68
201
  __decorate([
69
202
  property({ attribute: 'accessible-close-label', type: String })
70
203
  ], PfChip.prototype, "accessibleCloseLabel", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-chip.js","sourceRoot":"","sources":["pf-chip.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;AAEtD,OAAO,6CAA6C,CAAC;;;OAG9C,MAAM;AAEb,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAmB,IAAY;QAC7B,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QADlB,SAAI,GAAJ,IAAI,CAAQ;IAE/B,CAAC;CACF;AA4BM,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;;QAQL;;WAEG;QAC8D,yBAAoB,GAAG,OAAO,CAAC;QAEhG;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAE7D;;WAEG;QACqE,iBAAY,GAAG,KAAK,CAAC;;IAE7F,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;;;;;;KAM9B,CAAC,CAAC,CAAC,IAAI,CAAA;;;;;;;;yBAQa,IAAI,CAAC,oBAAoB;;2BAEvB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;0BACnC,uBAAA,IAAI,0CAAS;;KAElC,CAAC;IACJ,CAAC;;;;IAGC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAjDe,aAAM,GAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,AAApC,CAAqC;AAElC,wBAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAK+D;IAAhE,QAAQ,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAgC;AAKpD;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAKW;IAAvE,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CAAsB;AArBlF,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-chip.css';\nimport shared from './pf-chip-shared.css';\n\nexport class PfChipRemoveEvent extends Event {\n constructor(public chip: PfChip) {\n super('remove', { bubbles: true });\n }\n}\n\n/**\n * A **chip** is used to communicate a value or a set of attribute-value pairs within workflows that involve filtering a set of objects.\n * @fires {ChipRemoveEvent} remove - Fires when chip is removed\n * @fires {Event} click - when close button is clicked\n * @slot\n * chip text\n * @csspart text - container for chip text\n * @cssprop [--pf-c-chip--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-chip--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-chip--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-chip--BackgroundColor=var(--pf-global--Color--light-100, #fff)]\n * @cssprop [--pf-c-chip--BorderRadius=var(--pf-global--BorderRadius--sm, 3px)]\n * @cssprop [--pf-c-chip--before--BorderColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-chip--before--BorderWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-chip--before--BorderRadius=var(--pf-c-chip--BorderRadius)]\n * @cssprop [--pf-c-chip--m-overflow__text--Color=var(--pf-global--primary-color--100, #06c)]\n * @cssprop [--pf-c-chip--m-draggable--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]\n * @cssprop [--pf-c-chip--m-draggable--BoxShadow=var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06))]\n * @cssprop [--pf-c-chip--m-draggable__icon--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]\n * @cssprop [--pf-c-chip__text--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]\n * @cssprop [--pf-c-chip__text--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-chip__text--MaxWidth=16ch]\n * @cssprop [--pf-c-chip__icon--MarginLeft=var(--pf-global--spacer--sm, 0.5rem)]\n */\n@customElement('pf-chip')\nexport class PfChip extends LitElement {\n static readonly styles: CSSStyleSheet[] = [shared, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Accessible label for close button\n */\n @property({ attribute: 'accessible-close-label', type: String }) accessibleCloseLabel = 'Close';\n\n /**\n * Flag indicating if chip is read-only and cannot be removed\n */\n @property({ reflect: true, type: Boolean }) readonly = false;\n\n /**\n * Flag indicating if chip is read-only and cannot be removed\n */\n @property({ attribute: 'overflow-chip', reflect: true, type: Boolean }) overflowChip = false;\n\n render(): TemplateResult<1> {\n return this.overflowChip ? html`\n <button id=\"outer\">\n <span part=\"text\">\n <slot></slot>\n </span>\n </button>\n ` : html`\n <div id=\"outer\">\n <span id=\"chip-text\" part=\"text\">\n <slot></slot>\n </span>\n <pf-button id=\"close-button\"\n plain\n icon=\"close\" icon-set=\"patternfly\"\n label=\"${this.accessibleCloseLabel}\"\n aria-describedby=\"chip-text\"\n ?hidden=\"${this.readonly || this.overflowChip}\"\n @click=\"${this.#onClick}\"></pf-button>\n </div>\n `;\n }\n\n #onClick() {\n if (this.dispatchEvent(new PfChipRemoveEvent(this))) {\n this.remove();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-chip': PfChip;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-chip.js","sourceRoot":"","sources":["pf-chip.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;AAEtD,OAAO,6CAA6C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAG9C,MAAM;AAEb,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAmB,IAAY;QAC7B,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QADlB,SAAI,GAAJ,IAAI,CAAQ;IAE/B,CAAC;CACF;AASM,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;;QAQL;;WAEG;QAC8D,yBAAoB,GAAG,OAAO,CAAC;QAEhG;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAE7D;;WAEG;QACqE,iBAAY,GAAG,KAAK,CAAC;;IAE7F,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;;;;;;;;KAQ9B,CAAC,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;yBAUa,IAAI,CAAC,oBAAoB;;2BAEvB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;0BACnC,uBAAA,IAAI,0CAAS;;KAElC,CAAC;IACJ,CAAC;;;;IAGC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AArDe,aAAM,GAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,AAApC,CAAqC;AAElC,wBAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAK+D;IAAhE,QAAQ,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAgC;AAKpD;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAKW;IAAvE,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CAAsB;AArBlF,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-chip.css';\nimport shared from './pf-chip-shared.css';\n\nexport class PfChipRemoveEvent extends Event {\n constructor(public chip: PfChip) {\n super('remove', { bubbles: true });\n }\n}\n\n/**\n * A **chip** is used to communicate a value or a set of attribute-value pairs within workflows that involve filtering a set of objects.\n * @alias Chip\n * @fires {ChipRemoveEvent} remove - Fires when chip is removed\n * @fires {Event} click - when close button is clicked\n */\n@customElement('pf-chip')\nexport class PfChip extends LitElement {\n static readonly styles: CSSStyleSheet[] = [shared, styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Accessible label for close button\n */\n @property({ attribute: 'accessible-close-label', type: String }) accessibleCloseLabel = 'Close';\n\n /**\n * Flag indicating if chip is read-only and cannot be removed\n */\n @property({ reflect: true, type: Boolean }) readonly = false;\n\n /**\n * Flag indicating if chip is read-only and cannot be removed\n */\n @property({ attribute: 'overflow-chip', reflect: true, type: Boolean }) overflowChip = false;\n\n render(): TemplateResult<1> {\n return this.overflowChip ? html`\n <button id=\"outer\">\n <!-- container for chip text -->\n <span part=\"text\">\n <!-- chip text -->\n <slot></slot>\n </span>\n </button>\n ` : html`\n <div id=\"outer\">\n <!-- container for chip text -->\n <span id=\"chip-text\" part=\"text\">\n <!-- chip text -->\n <slot></slot>\n </span>\n <pf-button id=\"close-button\"\n plain\n icon=\"close\" icon-set=\"patternfly\"\n label=\"${this.accessibleCloseLabel}\"\n aria-describedby=\"chip-text\"\n ?hidden=\"${this.readonly || this.overflowChip}\"\n @click=\"${this.#onClick}\"></pf-button>\n </div>\n `;\n }\n\n #onClick() {\n if (this.dispatchEvent(new PfChipRemoveEvent(this))) {\n this.remove();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-chip': PfChip;\n }\n}\n"]}
@@ -1,28 +1,53 @@
1
1
  :host {
2
+ /** Transition for the toggle icon */
2
3
  --pf-c-clipboard-copy__toggle-icon--Transition: .2s ease-in 0s;
4
+ /** Rotate value for the toggle icon when expanded */
3
5
  --pf-c-clipboard-copy--m-expanded__toggle-icon--Rotate: 90deg;
6
+ /** PaddingTop for the expandable content */
4
7
  --pf-c-clipboard-copy__expandable-content--PaddingTop: var(--pf-global--spacer--md, 1rem);
8
+ /** PaddingRight for the expandable content */
5
9
  --pf-c-clipboard-copy__expandable-content--PaddingRight: var(--pf-global--spacer--md, 1rem);
10
+ /** PaddingBottom for the expandable content */
6
11
  --pf-c-clipboard-copy__expandable-content--PaddingBottom: var(--pf-global--spacer--md, 1rem);
12
+ /** PaddingLeft for the expandable content */
7
13
  --pf-c-clipboard-copy__expandable-content--PaddingLeft: var(--pf-global--spacer--md, 1rem);
14
+ /** BackgroundColor for the expandable content */
8
15
  --pf-c-clipboard-copy__expandable-content--BackgroundColor: var(--pf-global--BackgroundColor--light-100, #fff);
16
+ /** BorderTopWidth for the expandable content */
9
17
  --pf-c-clipboard-copy__expandable-content--BorderTopWidth: 0;
18
+ /** BorderRightWidth for the expandable content */
10
19
  --pf-c-clipboard-copy__expandable-content--BorderRightWidth: var(--pf-global--BorderWidth--sm, 1px);
20
+ /** BorderBottomWidth for the expandable content */
11
21
  --pf-c-clipboard-copy__expandable-content--BorderBottomWidth: var(--pf-global--BorderWidth--sm, 1px);
22
+ /** BorderLeftWidth for the expandable content */
12
23
  --pf-c-clipboard-copy__expandable-content--BorderLeftWidth: var(--pf-global--BorderWidth--sm, 1px);
24
+ /** BorderColor for the expandable content */
13
25
  --pf-c-clipboard-copy__expandable-content--BorderColor: var(--pf-global--BorderColor--100, #d2d2d2);
26
+ /** OutlineOffset for the expandable content */
14
27
  --pf-c-clipboard-copy__expandable-content--OutlineOffset: calc(-1 * var(--pf-global--spacer--xs, 0.25rem));
28
+ /** PaddingTop for the inline variant */
15
29
  --pf-c-clipboard-copy--m-inline--PaddingTop: 0;
30
+ /** PaddingBottom for the inline variant */
16
31
  --pf-c-clipboard-copy--m-inline--PaddingBottom: 0;
32
+ /** PaddingLeft for the inline variant */
17
33
  --pf-c-clipboard-copy--m-inline--PaddingLeft: var(--pf-global--spacer--xs, 0.25rem);
34
+ /** BackgroundColor for the inline variant */
18
35
  --pf-c-clipboard-copy--m-inline--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0);
36
+ /** FontFamily for the code text */
19
37
  --pf-c-clipboard-copy__text--m-code--FontFamily: var(--pf-global--FontFamily--monospace, "Liberation Mono", consolas, "SFMono-Regular", menlo, monaco, "Courier New", monospace);
38
+ /** FontSize for the code text */
20
39
  --pf-c-clipboard-copy__text--m-code--FontSize: var(--pf-global--FontSize--sm, 0.875rem);
40
+ /** MarginTop for actions item */
21
41
  --pf-c-clipboard-copy__actions-item--MarginTop: calc(-1 * var(--pf-global--spacer--form-element, 0.375rem));
42
+ /** MarginBottom for actions item */
22
43
  --pf-c-clipboard-copy__actions-item--MarginBottom: calc(-1 * var(--pf-global--spacer--form-element, 0.375rem));
44
+ /** PaddingTop for actions item button */
23
45
  --pf-c-clipboard-copy__actions-item--button--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
46
+ /** PaddingRight for actions item button */
24
47
  --pf-c-clipboard-copy__actions-item--button--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
48
+ /** PaddingBottom for actions item button */
25
49
  --pf-c-clipboard-copy__actions-item--button--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
50
+ /** PaddingLeft for actions item button */
26
51
  --pf-c-clipboard-copy__actions-item--button--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
27
52
  --pf-icon--size: var(--pf-global--FontSize--md, 1rem);
28
53
  }
@@ -8,34 +8,8 @@ export declare class PfClipboardCopyCopiedEvent extends Event {
8
8
  }
9
9
  /**
10
10
  * The **clipboard copy** component allows users to quickly and easily copy content to their clipboard.
11
- * @slot - Place content to copy here, or use the `value` attribute
12
- * @slot actions - Place additional action buttons here
11
+ * @alias Clipboard Copy
13
12
  * @fires {PfClipboardCopyCopiedEvent} copy - when the text snippet is successfully copied.
14
- * @cssprop [--pf-c-clipboard-copy__toggle-icon--Transition=.2s ease-in 0s]
15
- * @cssprop [--pf-c-clipboard-copy--m-expanded__toggle-icon--Rotate=90deg]
16
- * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingTop=var(--pf-global--spacer--md, 1rem)]
17
- * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingRight=var(--pf-global--spacer--md, 1rem)]
18
- * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingBottom=var(--pf-global--spacer--md, 1rem)]
19
- * @cssprop [--pf-c-clipboard-copy__expandable-content--PaddingLeft=var(--pf-global--spacer--md, 1rem)]
20
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #fff)]
21
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderTopWidth=0]
22
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderRightWidth=var(--pf-global--BorderWidth--sm, 1px)]
23
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)]
24
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderLeftWidth=var(--pf-global--BorderWidth--sm, 1px)]
25
- * @cssprop [--pf-c-clipboard-copy__expandable-content--BorderColor=var(--pf-global--BorderColor--100, #d2d2d2)]
26
- * @cssprop [--pf-c-clipboard-copy__expandable-content--OutlineOffset=calc(-1 * var(--pf-global--spacer--xs, 0.25rem))]
27
- * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingTop=0]
28
- * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingBottom=0]
29
- * @cssprop [--pf-c-clipboard-copy--m-inline--PaddingLeft=var(--pf-global--spacer--xs, 0.25rem)]
30
- * @cssprop [--pf-c-clipboard-copy--m-inline--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)]
31
- * @cssprop [--pf-c-clipboard-copy__text--m-code--FontFamily=var(--pf-global--FontFamily--monospace, "Liberation Mono", consolas, "SFMono-Regular", menlo, monaco, "Courier New", monospace)]
32
- * @cssprop [--pf-c-clipboard-copy__text--m-code--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]
33
- * @cssprop [--pf-c-clipboard-copy__actions-item--MarginTop=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]
34
- * @cssprop [--pf-c-clipboard-copy__actions-item--MarginBottom=calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))]
35
- * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)]
36
- * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]
37
- * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)]
38
- * @cssprop [--pf-c-clipboard-copy__actions-item--button--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]
39
13
  */
40
14
  export declare class PfClipboardCopy extends LitElement {
41
15
  #private;