@patternfly/elements 2.0.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/custom-elements.json +438 -23
  2. package/package.json +5 -4
  3. package/pf-accordion/BaseAccordion.d.ts +1 -0
  4. package/pf-accordion/BaseAccordion.js +12 -4
  5. package/pf-accordion/BaseAccordion.js.map +1 -1
  6. package/pf-accordion/BaseAccordionHeader.js +2 -1
  7. package/pf-accordion/BaseAccordionHeader.js.map +1 -1
  8. package/pf-accordion/BaseAccordionPanel.js +2 -1
  9. package/pf-accordion/BaseAccordionPanel.js.map +1 -1
  10. package/pf-accordion/pf-accordion-header.js.map +1 -1
  11. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  12. package/pf-accordion/pf-accordion.d.ts +2 -1
  13. package/pf-accordion/pf-accordion.js +18 -1
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/BaseAvatar.js +2 -1
  16. package/pf-avatar/BaseAvatar.js.map +1 -1
  17. package/pf-avatar/pf-avatar.d.ts +1 -1
  18. package/pf-avatar/pf-avatar.js +1 -1
  19. package/pf-avatar/pf-avatar.js.map +1 -1
  20. package/pf-badge/BaseBadge.js +2 -1
  21. package/pf-badge/BaseBadge.js.map +1 -1
  22. package/pf-badge/pf-badge.d.ts +1 -1
  23. package/pf-badge/pf-badge.js +1 -1
  24. package/pf-badge/pf-badge.js.map +1 -1
  25. package/pf-button/BaseButton.d.ts +1 -1
  26. package/pf-button/BaseButton.js +6 -4
  27. package/pf-button/BaseButton.js.map +1 -1
  28. package/pf-button/pf-button.d.ts +1 -1
  29. package/pf-button/pf-button.js +1 -1
  30. package/pf-button/pf-button.js.map +1 -1
  31. package/pf-card/BaseCard.js +2 -1
  32. package/pf-card/BaseCard.js.map +1 -1
  33. package/pf-card/pf-card.d.ts +1 -1
  34. package/pf-card/pf-card.js +1 -1
  35. package/pf-card/pf-card.js.map +1 -1
  36. package/pf-clipboard-copy/BaseClipboardCopy.js +2 -1
  37. package/pf-clipboard-copy/BaseClipboardCopy.js.map +1 -1
  38. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -1
  39. package/pf-clipboard-copy/pf-clipboard-copy.js +11 -5
  40. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  41. package/pf-code-block/BaseCodeBlock.js +2 -1
  42. package/pf-code-block/BaseCodeBlock.js.map +1 -1
  43. package/pf-code-block/pf-code-block.d.ts +1 -1
  44. package/pf-code-block/pf-code-block.js +5 -3
  45. package/pf-code-block/pf-code-block.js.map +1 -1
  46. package/pf-icon/BaseIcon.js +2 -1
  47. package/pf-icon/BaseIcon.js.map +1 -1
  48. package/pf-icon/icons/fab/teamspeak.js +1 -1
  49. package/pf-icon/icons/fab/ussunnah.js +1 -1
  50. package/pf-icon/icons/far/bell-slash.js +1 -1
  51. package/pf-icon/icons/far/calendar-minus.js +1 -1
  52. package/pf-icon/icons/far/calendar-plus.js +1 -1
  53. package/pf-icon/icons/far/calendar-xmark.js +1 -1
  54. package/pf-icon/icons/far/chess-knight.js +1 -1
  55. package/pf-icon/icons/far/chess-rook.js +1 -1
  56. package/pf-icon/icons/far/circle-check.js +1 -1
  57. package/pf-icon/icons/far/circle-dot.js +1 -1
  58. package/pf-icon/icons/far/circle-xmark.js +1 -1
  59. package/pf-icon/icons/far/circle.js +1 -1
  60. package/pf-icon/icons/far/clone.js +1 -1
  61. package/pf-icon/icons/far/copy.js +1 -1
  62. package/pf-icon/icons/far/file-pdf.js +1 -1
  63. package/pf-icon/icons/far/file-zipper.js +1 -1
  64. package/pf-icon/icons/far/folder-closed.js +1 -1
  65. package/pf-icon/icons/far/font-awesome.js +1 -1
  66. package/pf-icon/icons/far/futbol.js +1 -1
  67. package/pf-icon/icons/far/gem.js +1 -1
  68. package/pf-icon/icons/far/hand-back-fist.js +1 -1
  69. package/pf-icon/icons/far/hand-peace.js +1 -1
  70. package/pf-icon/icons/far/hand-pointer.js +1 -1
  71. package/pf-icon/icons/far/hand-scissors.js +1 -1
  72. package/pf-icon/icons/far/hand-spock.js +1 -1
  73. package/pf-icon/icons/far/heart.js +1 -1
  74. package/pf-icon/icons/far/lightbulb.js +1 -1
  75. package/pf-icon/icons/far/map.js +1 -1
  76. package/pf-icon/icons/far/newspaper.js +1 -1
  77. package/pf-icon/icons/far/object-group.js +1 -1
  78. package/pf-icon/icons/far/paste.js +1 -1
  79. package/pf-icon/icons/far/rectangle-xmark.js +1 -1
  80. package/pf-icon/icons/far/snowflake.js +1 -1
  81. package/pf-icon/icons/far/square-check.js +1 -1
  82. package/pf-icon/icons/far/square-full.js +1 -1
  83. package/pf-icon/icons/far/square-minus.js +1 -1
  84. package/pf-icon/icons/far/square-plus.js +1 -1
  85. package/pf-icon/icons/far/square.js +1 -1
  86. package/pf-icon/icons/far/star-half-stroke.js +1 -1
  87. package/pf-icon/icons/far/star-half.js +1 -1
  88. package/pf-icon/icons/far/star.js +1 -1
  89. package/pf-icon/icons/far/thumbs-up.js +1 -1
  90. package/pf-icon/icons/fas/1.js +1 -1
  91. package/pf-icon/icons/fas/angle-down.js +1 -1
  92. package/pf-icon/icons/fas/angle-left.js +1 -1
  93. package/pf-icon/icons/fas/angle-right.js +1 -1
  94. package/pf-icon/icons/fas/angle-up.js +1 -1
  95. package/pf-icon/icons/fas/angles-down.js +1 -1
  96. package/pf-icon/icons/fas/angles-left.js +1 -1
  97. package/pf-icon/icons/fas/angles-right.js +1 -1
  98. package/pf-icon/icons/fas/angles-up.js +1 -1
  99. package/pf-icon/icons/fas/arrow-down-1-9.js +1 -1
  100. package/pf-icon/icons/fas/arrow-down-9-1.js +1 -1
  101. package/pf-icon/icons/fas/arrow-down-a-z.js +1 -1
  102. package/pf-icon/icons/fas/arrow-down-long.js +1 -1
  103. package/pf-icon/icons/fas/arrow-down-z-a.js +1 -1
  104. package/pf-icon/icons/fas/arrow-rotate-left.js +1 -1
  105. package/pf-icon/icons/fas/arrow-rotate-right.js +1 -1
  106. package/pf-icon/icons/fas/arrow-up-1-9.js +1 -1
  107. package/pf-icon/icons/fas/arrow-up-9-1.js +1 -1
  108. package/pf-icon/icons/fas/arrow-up-a-z.js +1 -1
  109. package/pf-icon/icons/fas/arrow-up-from-ground-water.js +1 -1
  110. package/pf-icon/icons/fas/arrow-up-from-water-pump.js +1 -1
  111. package/pf-icon/icons/fas/arrow-up-long.js +1 -1
  112. package/pf-icon/icons/fas/arrow-up-z-a.js +1 -1
  113. package/pf-icon/icons/fas/arrows-down-to-people.js +1 -1
  114. package/pf-icon/icons/fas/arrows-rotate.js +1 -1
  115. package/pf-icon/icons/fas/arrows-spin.js +1 -1
  116. package/pf-icon/icons/fas/arrows-to-eye.js +1 -1
  117. package/pf-icon/icons/fas/arrows-up-down.js +1 -1
  118. package/pf-icon/icons/fas/atom.js +1 -1
  119. package/pf-icon/icons/fas/baby.js +1 -1
  120. package/pf-icon/icons/fas/bacteria.js +1 -1
  121. package/pf-icon/icons/fas/bahai.js +1 -1
  122. package/pf-icon/icons/fas/basketball.js +1 -1
  123. package/pf-icon/icons/fas/bath.js +1 -1
  124. package/pf-icon/icons/fas/biohazard.js +1 -1
  125. package/pf-icon/icons/fas/bolt.js +1 -1
  126. package/pf-icon/icons/fas/book-journal-whills.js +1 -1
  127. package/pf-icon/icons/fas/border-none.js +1 -1
  128. package/pf-icon/icons/fas/bottle-droplet.js +1 -1
  129. package/pf-icon/icons/fas/bottle-water.js +1 -1
  130. package/pf-icon/icons/fas/bowling-ball.js +1 -1
  131. package/pf-icon/icons/fas/box-open.js +1 -1
  132. package/pf-icon/icons/fas/braille.js +1 -1
  133. package/pf-icon/icons/fas/brush.js +1 -1
  134. package/pf-icon/icons/fas/building-columns.js +1 -1
  135. package/pf-icon/icons/fas/burger.js +1 -1
  136. package/pf-icon/icons/fas/bus.js +1 -1
  137. package/pf-icon/icons/fas/calendar-minus.js +1 -1
  138. package/pf-icon/icons/fas/calendar-plus.js +1 -1
  139. package/pf-icon/icons/fas/calendar-xmark.js +1 -1
  140. package/pf-icon/icons/fas/camera-rotate.js +1 -1
  141. package/pf-icon/icons/fas/cannabis.js +1 -1
  142. package/pf-icon/icons/fas/car-burst.js +1 -1
  143. package/pf-icon/icons/fas/car-on.js +1 -1
  144. package/pf-icon/icons/fas/car-tunnel.js +1 -1
  145. package/pf-icon/icons/fas/cat.js +1 -1
  146. package/pf-icon/icons/fas/cedi-sign.js +1 -1
  147. package/pf-icon/icons/fas/cent-sign.js +1 -1
  148. package/pf-icon/icons/fas/chart-pie.js +1 -1
  149. package/pf-icon/icons/fas/check-double.js +1 -1
  150. package/pf-icon/icons/fas/check.js +1 -1
  151. package/pf-icon/icons/fas/chess-knight.js +1 -1
  152. package/pf-icon/icons/fas/chess-pawn.js +1 -1
  153. package/pf-icon/icons/fas/chess-queen.js +1 -1
  154. package/pf-icon/icons/fas/chess-rook.js +1 -1
  155. package/pf-icon/icons/fas/chevron-down.js +1 -1
  156. package/pf-icon/icons/fas/chevron-up.js +1 -1
  157. package/pf-icon/icons/fas/child-combatant.js +1 -1
  158. package/pf-icon/icons/fas/child-reaching.js +1 -1
  159. package/pf-icon/icons/fas/circle-check.js +1 -1
  160. package/pf-icon/icons/fas/circle-dollar-to-slot.js +1 -1
  161. package/pf-icon/icons/fas/circle-dot.js +1 -1
  162. package/pf-icon/icons/fas/circle-half-stroke.js +1 -1
  163. package/pf-icon/icons/fas/circle-minus.js +1 -1
  164. package/pf-icon/icons/fas/circle-plus.js +1 -1
  165. package/pf-icon/icons/fas/circle-xmark.js +1 -1
  166. package/pf-icon/icons/fas/circle.js +1 -1
  167. package/pf-icon/icons/fas/clone.js +1 -1
  168. package/pf-icon/icons/fas/cloud-moon-rain.js +1 -1
  169. package/pf-icon/icons/fas/code-branch.js +1 -1
  170. package/pf-icon/icons/fas/code-commit.js +1 -1
  171. package/pf-icon/icons/fas/code-compare.js +1 -1
  172. package/pf-icon/icons/fas/code-fork.js +1 -1
  173. package/pf-icon/icons/fas/code-merge.js +1 -1
  174. package/pf-icon/icons/fas/code-pull-request.js +1 -1
  175. package/pf-icon/icons/fas/colon-sign.js +1 -1
  176. package/pf-icon/icons/fas/cookie-bite.js +1 -1
  177. package/pf-icon/icons/fas/cookie.js +1 -1
  178. package/pf-icon/icons/fas/copy.js +1 -1
  179. package/pf-icon/icons/fas/cruzeiro-sign.js +1 -1
  180. package/pf-icon/icons/fas/cubes.js +1 -1
  181. package/pf-icon/icons/fas/dharmachakra.js +1 -1
  182. package/pf-icon/icons/fas/dice-d20.js +1 -1
  183. package/pf-icon/icons/fas/dice-d6.js +1 -1
  184. package/pf-icon/icons/fas/dice-five.js +1 -1
  185. package/pf-icon/icons/fas/dice-four.js +1 -1
  186. package/pf-icon/icons/fas/dice-one.js +1 -1
  187. package/pf-icon/icons/fas/dice-six.js +1 -1
  188. package/pf-icon/icons/fas/dice-three.js +1 -1
  189. package/pf-icon/icons/fas/dice-two.js +1 -1
  190. package/pf-icon/icons/fas/dice.js +1 -1
  191. package/pf-icon/icons/fas/disease.js +1 -1
  192. package/pf-icon/icons/fas/divide.js +1 -1
  193. package/pf-icon/icons/fas/dollar-sign.js +1 -1
  194. package/pf-icon/icons/fas/dumbbell.js +1 -1
  195. package/pf-icon/icons/fas/earth-africa.js +1 -1
  196. package/pf-icon/icons/fas/earth-europe.js +1 -1
  197. package/pf-icon/icons/fas/ellipsis-vertical.js +1 -1
  198. package/pf-icon/icons/fas/ellipsis.js +1 -1
  199. package/pf-icon/icons/fas/envelopes-bulk.js +1 -1
  200. package/pf-icon/icons/fas/equals.js +1 -1
  201. package/pf-icon/icons/fas/eraser.js +1 -1
  202. package/pf-icon/icons/fas/exclamation.js +1 -1
  203. package/pf-icon/icons/fas/face-grin-squint-tears.js +1 -1
  204. package/pf-icon/icons/fas/file-csv.js +1 -1
  205. package/pf-icon/icons/fas/file-pdf.js +1 -1
  206. package/pf-icon/icons/fas/file-waveform.js +1 -1
  207. package/pf-icon/icons/fas/file-word.js +1 -1
  208. package/pf-icon/icons/fas/fill.js +1 -1
  209. package/pf-icon/icons/fas/filter-circle-dollar.js +1 -1
  210. package/pf-icon/icons/fas/filter-circle-xmark.js +1 -1
  211. package/pf-icon/icons/fas/fingerprint.js +1 -1
  212. package/pf-icon/icons/fas/flag-checkered.js +1 -1
  213. package/pf-icon/icons/fas/flag-usa.js +1 -1
  214. package/pf-icon/icons/fas/futbol.js +1 -1
  215. package/pf-icon/icons/fas/gamepad.js +1 -1
  216. package/pf-icon/icons/fas/gear.js +1 -1
  217. package/pf-icon/icons/fas/gears.js +1 -1
  218. package/pf-icon/icons/fas/gem.js +1 -1
  219. package/pf-icon/icons/fas/genderless.js +1 -1
  220. package/pf-icon/icons/fas/globe.js +1 -1
  221. package/pf-icon/icons/fas/golf-ball-tee.js +1 -1
  222. package/pf-icon/icons/fas/grip-vertical.js +1 -1
  223. package/pf-icon/icons/fas/grip.js +1 -1
  224. package/pf-icon/icons/fas/group-arrows-rotate.js +1 -1
  225. package/pf-icon/icons/fas/hand-back-fist.js +1 -1
  226. package/pf-icon/icons/fas/hand-fist.js +1 -1
  227. package/pf-icon/icons/fas/hand-middle-finger.js +1 -1
  228. package/pf-icon/icons/fas/hand-peace.js +1 -1
  229. package/pf-icon/icons/fas/hand-pointer.js +1 -1
  230. package/pf-icon/icons/fas/hand-spock.js +1 -1
  231. package/pf-icon/icons/fas/hands-bound.js +1 -1
  232. package/pf-icon/icons/fas/hands-bubbles.js +1 -1
  233. package/pf-icon/icons/fas/hands-praying.js +1 -1
  234. package/pf-icon/icons/fas/hands.js +1 -1
  235. package/pf-icon/icons/fas/handshake-angle.js +1 -1
  236. package/pf-icon/icons/fas/handshake-simple-slash.js +1 -1
  237. package/pf-icon/icons/fas/handshake-slash.js +1 -1
  238. package/pf-icon/icons/fas/head-side-cough-slash.js +1 -1
  239. package/pf-icon/icons/fas/head-side-cough.js +1 -1
  240. package/pf-icon/icons/fas/head-side-mask.js +1 -1
  241. package/pf-icon/icons/fas/head-side-virus.js +1 -1
  242. package/pf-icon/icons/fas/heart-circle-bolt.js +1 -1
  243. package/pf-icon/icons/fas/heart-circle-check.js +1 -1
  244. package/pf-icon/icons/fas/heart-circle-exclamation.js +1 -1
  245. package/pf-icon/icons/fas/heart-circle-minus.js +1 -1
  246. package/pf-icon/icons/fas/heart-circle-plus.js +1 -1
  247. package/pf-icon/icons/fas/heart-circle-xmark.js +1 -1
  248. package/pf-icon/icons/fas/helicopter-symbol.js +1 -1
  249. package/pf-icon/icons/fas/hill-avalanche.js +1 -1
  250. package/pf-icon/icons/fas/holly-berry.js +1 -1
  251. package/pf-icon/icons/fas/horse-head.js +1 -1
  252. package/pf-icon/icons/fas/hourglass-half.js +1 -1
  253. package/pf-icon/icons/fas/house-flood-water.js +1 -1
  254. package/pf-icon/icons/fas/house-tsunami.js +1 -1
  255. package/pf-icon/icons/fas/ice-cream.js +1 -1
  256. package/pf-icon/icons/fas/industry.js +1 -1
  257. package/pf-icon/icons/fas/jedi.js +1 -1
  258. package/pf-icon/icons/fas/khanda.js +1 -1
  259. package/pf-icon/icons/fas/land-mine-on.js +1 -1
  260. package/pf-icon/icons/fas/laptop-file.js +1 -1
  261. package/pf-icon/icons/fas/leaf.js +1 -1
  262. package/pf-icon/icons/fas/lightbulb.js +1 -1
  263. package/pf-icon/icons/fas/link.js +1 -1
  264. package/pf-icon/icons/fas/location-arrow.js +1 -1
  265. package/pf-icon/icons/fas/map-pin.js +1 -1
  266. package/pf-icon/icons/fas/mars-and-venus.js +1 -1
  267. package/pf-icon/icons/fas/mars-stroke-right.js +1 -1
  268. package/pf-icon/icons/fas/maximize.js +1 -1
  269. package/pf-icon/icons/fas/mercury.js +1 -1
  270. package/pf-icon/icons/fas/microphone-lines.js +1 -1
  271. package/pf-icon/icons/fas/microphone.js +1 -1
  272. package/pf-icon/icons/fas/minus.js +1 -1
  273. package/pf-icon/icons/fas/mobile-button.js +1 -1
  274. package/pf-icon/icons/fas/mobile-screen-button.js +1 -1
  275. package/pf-icon/icons/fas/mobile-screen.js +1 -1
  276. package/pf-icon/icons/fas/mobile.js +1 -1
  277. package/pf-icon/icons/fas/mound.js +1 -1
  278. package/pf-icon/icons/fas/mountain.js +1 -1
  279. package/pf-icon/icons/fas/neuter.js +1 -1
  280. package/pf-icon/icons/fas/newspaper.js +1 -1
  281. package/pf-icon/icons/fas/not-equal.js +1 -1
  282. package/pf-icon/icons/fas/outdent.js +1 -1
  283. package/pf-icon/icons/fas/paperclip.js +1 -1
  284. package/pf-icon/icons/fas/parachute-box.js +1 -1
  285. package/pf-icon/icons/fas/paste.js +1 -1
  286. package/pf-icon/icons/fas/pen-nib.js +1 -1
  287. package/pf-icon/icons/fas/pen-to-square.js +1 -1
  288. package/pf-icon/icons/fas/people-arrows.js +1 -1
  289. package/pf-icon/icons/fas/people-robbery.js +1 -1
  290. package/pf-icon/icons/fas/person-breastfeeding.js +1 -1
  291. package/pf-icon/icons/fas/person-cane.js +1 -1
  292. package/pf-icon/icons/fas/person-drowning.js +1 -1
  293. package/pf-icon/icons/fas/person-falling.js +1 -1
  294. package/pf-icon/icons/fas/person-military-pointing.js +1 -1
  295. package/pf-icon/icons/fas/person-military-rifle.js +1 -1
  296. package/pf-icon/icons/fas/person-military-to-person.js +1 -1
  297. package/pf-icon/icons/fas/person-praying.js +1 -1
  298. package/pf-icon/icons/fas/person-pregnant.js +1 -1
  299. package/pf-icon/icons/fas/person-rifle.js +1 -1
  300. package/pf-icon/icons/fas/person-snowboarding.js +1 -1
  301. package/pf-icon/icons/fas/person-walking-luggage.js +1 -1
  302. package/pf-icon/icons/fas/person-walking-with-cane.js +1 -1
  303. package/pf-icon/icons/fas/piggy-bank.js +1 -1
  304. package/pf-icon/icons/fas/plug-circle-minus.js +1 -1
  305. package/pf-icon/icons/fas/plus.js +1 -1
  306. package/pf-icon/icons/fas/poo-storm.js +1 -1
  307. package/pf-icon/icons/fas/pump-medical.js +1 -1
  308. package/pf-icon/icons/fas/pump-soap.js +1 -1
  309. package/pf-icon/icons/fas/puzzle-piece.js +1 -1
  310. package/pf-icon/icons/fas/question.js +1 -1
  311. package/pf-icon/icons/fas/radiation.js +1 -1
  312. package/pf-icon/icons/fas/receipt.js +1 -1
  313. package/pf-icon/icons/fas/ribbon.js +1 -1
  314. package/pf-icon/icons/fas/rotate-left.js +1 -1
  315. package/pf-icon/icons/fas/rotate-right.js +1 -1
  316. package/pf-icon/icons/fas/rotate.js +1 -1
  317. package/pf-icon/icons/fas/ruler.js +1 -1
  318. package/pf-icon/icons/fas/rupee-sign.js +1 -1
  319. package/pf-icon/icons/fas/s.js +1 -1
  320. package/pf-icon/icons/fas/sailboat.js +1 -1
  321. package/pf-icon/icons/fas/scale-unbalanced-flip.js +1 -1
  322. package/pf-icon/icons/fas/scale-unbalanced.js +1 -1
  323. package/pf-icon/icons/fas/shield-cat.js +1 -1
  324. package/pf-icon/icons/fas/shield-dog.js +1 -1
  325. package/pf-icon/icons/fas/shield-halved.js +1 -1
  326. package/pf-icon/icons/fas/shield-heart.js +1 -1
  327. package/pf-icon/icons/fas/shield-virus.js +1 -1
  328. package/pf-icon/icons/fas/shield.js +1 -1
  329. package/pf-icon/icons/fas/shower.js +1 -1
  330. package/pf-icon/icons/fas/signal.js +1 -1
  331. package/pf-icon/icons/fas/signs-post.js +1 -1
  332. package/pf-icon/icons/fas/sliders.js +1 -1
  333. package/pf-icon/icons/fas/solar-panel.js +1 -1
  334. package/pf-icon/icons/fas/spinner.js +1 -1
  335. package/pf-icon/icons/fas/splotch.js +1 -1
  336. package/pf-icon/icons/fas/staff-snake.js +1 -1
  337. package/pf-icon/icons/fas/star-half-stroke.js +1 -1
  338. package/pf-icon/icons/fas/star-of-david.js +1 -1
  339. package/pf-icon/icons/fas/star-of-life.js +1 -1
  340. package/pf-icon/icons/fas/stethoscope.js +1 -1
  341. package/pf-icon/icons/fas/stopwatch-20.js +1 -1
  342. package/pf-icon/icons/fas/stopwatch.js +1 -1
  343. package/pf-icon/icons/fas/store.js +1 -1
  344. package/pf-icon/icons/fas/table-tennis-paddle-ball.js +1 -1
  345. package/pf-icon/icons/fas/temperature-arrow-down.js +1 -1
  346. package/pf-icon/icons/fas/temperature-arrow-up.js +1 -1
  347. package/pf-icon/icons/fas/temperature-empty.js +1 -1
  348. package/pf-icon/icons/fas/temperature-full.js +1 -1
  349. package/pf-icon/icons/fas/temperature-half.js +1 -1
  350. package/pf-icon/icons/fas/temperature-high.js +1 -1
  351. package/pf-icon/icons/fas/temperature-quarter.js +1 -1
  352. package/pf-icon/icons/fas/temperature-three-quarters.js +1 -1
  353. package/pf-icon/icons/fas/tent-arrows-down.js +1 -1
  354. package/pf-icon/icons/fas/terminal.js +1 -1
  355. package/pf-icon/icons/fas/toilet-paper-slash.js +1 -1
  356. package/pf-icon/icons/fas/toilet-paper.js +1 -1
  357. package/pf-icon/icons/fas/tooth.js +1 -1
  358. package/pf-icon/icons/fas/train-tram.js +1 -1
  359. package/pf-icon/icons/fas/tty.js +1 -1
  360. package/pf-icon/icons/fas/umbrella.js +1 -1
  361. package/pf-icon/icons/fas/user-large-slash.js +1 -1
  362. package/pf-icon/icons/fas/user-secret.js +1 -1
  363. package/pf-icon/icons/fas/venus-double.js +1 -1
  364. package/pf-icon/icons/fas/venus.js +1 -1
  365. package/pf-icon/icons/fas/video-slash.js +1 -1
  366. package/pf-icon/icons/fas/virus-slash.js +1 -1
  367. package/pf-icon/icons/fas/volcano.js +1 -1
  368. package/pf-icon/icons/fas/wine-glass-empty.js +1 -1
  369. package/pf-icon/icons/fas/wine-glass.js +1 -1
  370. package/pf-icon/icons/fas/worm.js +1 -1
  371. package/pf-icon/icons/fas/xmark.js +1 -1
  372. package/pf-icon/icons/fas/yen-sign.js +1 -1
  373. package/pf-icon/pf-icon.d.ts +1 -1
  374. package/pf-icon/pf-icon.js +1 -1
  375. package/pf-icon/pf-icon.js.map +1 -1
  376. package/pf-jump-links/pf-jump-links-item.js +5 -2
  377. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  378. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  379. package/pf-jump-links/pf-jump-links.d.ts +1 -1
  380. package/pf-jump-links/pf-jump-links.js +10 -4
  381. package/pf-jump-links/pf-jump-links.js.map +1 -1
  382. package/pf-label/BaseLabel.js +2 -1
  383. package/pf-label/BaseLabel.js.map +1 -1
  384. package/pf-label/pf-label.d.ts +1 -1
  385. package/pf-label/pf-label.js +1 -1
  386. package/pf-label/pf-label.js.map +1 -1
  387. package/pf-modal/pf-modal.d.ts +1 -1
  388. package/pf-modal/pf-modal.js +8 -2
  389. package/pf-modal/pf-modal.js.map +1 -1
  390. package/pf-panel/pf-panel.d.ts +1 -1
  391. package/pf-panel/pf-panel.js +1 -1
  392. package/pf-panel/pf-panel.js.map +1 -1
  393. package/pf-popover/README.md +48 -0
  394. package/pf-popover/pf-popover.css +191 -0
  395. package/pf-popover/pf-popover.d.ts +266 -0
  396. package/pf-popover/pf-popover.js +447 -0
  397. package/pf-popover/pf-popover.js.map +1 -0
  398. package/pf-progress-stepper/pf-progress-step.js +2 -1
  399. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  400. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -1
  401. package/pf-progress-stepper/pf-progress-stepper.js +5 -2
  402. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  403. package/pf-spinner/BaseSpinner.js +2 -1
  404. package/pf-spinner/BaseSpinner.js.map +1 -1
  405. package/pf-spinner/pf-spinner.d.ts +1 -1
  406. package/pf-spinner/pf-spinner.js +1 -1
  407. package/pf-spinner/pf-spinner.js.map +1 -1
  408. package/pf-switch/BaseSwitch.js +2 -1
  409. package/pf-switch/BaseSwitch.js.map +1 -1
  410. package/pf-switch/pf-switch.d.ts +1 -1
  411. package/pf-switch/pf-switch.js +1 -1
  412. package/pf-switch/pf-switch.js.map +1 -1
  413. package/pf-tabs/BaseTab.d.ts +1 -0
  414. package/pf-tabs/BaseTab.js +8 -1
  415. package/pf-tabs/BaseTab.js.map +1 -1
  416. package/pf-tabs/BaseTabPanel.js +4 -1
  417. package/pf-tabs/BaseTabPanel.js.map +1 -1
  418. package/pf-tabs/BaseTabs.js +5 -2
  419. package/pf-tabs/BaseTabs.js.map +1 -1
  420. package/pf-tabs/pf-tab-panel.d.ts +0 -1
  421. package/pf-tabs/pf-tab-panel.js +0 -5
  422. package/pf-tabs/pf-tab-panel.js.map +1 -1
  423. package/pf-tabs/pf-tab.d.ts +0 -1
  424. package/pf-tabs/pf-tab.js +0 -5
  425. package/pf-tabs/pf-tab.js.map +1 -1
  426. package/pf-tabs/pf-tabs.d.ts +1 -1
  427. package/pf-tabs/pf-tabs.js +1 -1
  428. package/pf-tabs/pf-tabs.js.map +1 -1
  429. package/pf-tile/pf-tile.d.ts +1 -1
  430. package/pf-tile/pf-tile.js +1 -1
  431. package/pf-tile/pf-tile.js.map +1 -1
  432. package/pf-timestamp/pf-timestamp.d.ts +1 -1
  433. package/pf-timestamp/pf-timestamp.js +5 -2
  434. package/pf-timestamp/pf-timestamp.js.map +1 -1
  435. package/pf-tooltip/BaseTooltip.js +2 -2
  436. package/pf-tooltip/BaseTooltip.js.map +1 -1
  437. package/pf-tooltip/pf-tooltip.d.ts +1 -1
  438. package/pf-tooltip/pf-tooltip.js +1 -1
  439. package/pf-tooltip/pf-tooltip.js.map +1 -1
  440. package/pfe.min.js +156 -100
  441. package/pfe.min.js.map +4 -4
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,SAAS;IAA/B;;QAKL;;;;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;;AAxDe,cAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,yBAAiB,GAAmB,EAAE,GAAG,SAAS,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAOjG;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;AA9B9D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CA0DnB;SA1DY,OAAO","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 *\n * @summary Allows users to display meta data in a stylized form.\n *\n * @fires close - when a removable label's close button is clicked\n *\n * @cssprop {<length>} --pf-c-label--FontSize {@default `0.875em`}\n *\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 *\n * @cssprop {<color>} --pf-c-label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}\n *\n * @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}\n *\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 *\n * @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}\n *\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 *\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 *\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 *\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 *\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 *\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 *\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\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 *\n * @csspart icon - container for the label icon\n * @csspart close-button - container for removable labels' close button\n *\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n *\n * @slot\n * Must contain the text for the label.\n *\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 readonly shadowRootOptions: ShadowRootInit = { ...BaseLabel.shadowRootOptions, delegatesFocus: true };\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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,IAAa,OAAO,GAApB,MAAa,OAAQ,SAAQ,SAAS;IAAtC;;QAKE;;;;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;;AAxDe,cAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,AAAhC,CAAiC;AAEvC,yBAAiB,GAAmB,EAAE,GAAG,SAAS,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,AAA3E,CAA4E;AAOjG;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;AA9B9D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CA0DnB;SA1DY,OAAO","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 *\n * @summary Allows users to display meta data in a stylized form.\n *\n * @fires close - when a removable label's close button is clicked\n *\n * @cssprop {<length>} --pf-c-label--FontSize {@default `0.875em`}\n *\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 *\n * @cssprop {<color>} --pf-c-label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}\n *\n * @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}\n *\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 *\n * @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}\n *\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 *\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 *\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 *\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 *\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 *\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 *\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\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 *\n * @csspart icon - container for the label icon\n * @csspart close-button - container for removable labels' close button\n *\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n *\n * @slot\n * Must contain the text for the label.\n *\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 readonly shadowRootOptions: ShadowRootInit = { ...BaseLabel.shadowRootOptions, delegatesFocus: true };\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"]}
@@ -14,7 +14,7 @@ export declare class ModalOpenEvent extends ComposedEvent {
14
14
  trigger: HTMLElement | null);
15
15
  }
16
16
  /**
17
- * A modal displays important information to a user without requiring them to navigate
17
+ * A **modal** displays important information to a user without requiring them to navigate
18
18
  * to a new page.
19
19
  *
20
20
  * @summary Displays information or helps a user focus on a task
@@ -32,7 +32,7 @@ export class ModalOpenEvent extends ComposedEvent {
32
32
  }
33
33
  }
34
34
  /**
35
- * A modal displays important information to a user without requiring them to navigate
35
+ * A **modal** displays important information to a user without requiring them to navigate
36
36
  * to a new page.
37
37
  *
38
38
  * @summary Displays information or helps a user focus on a task
@@ -264,7 +264,13 @@ let PfModal = PfModal_1 = class PfModal extends LitElement {
264
264
  this.open = false;
265
265
  }
266
266
  };
267
- _PfModal_headerId = new WeakMap(), _PfModal_triggerElement = new WeakMap(), _PfModal_header = new WeakMap(), _PfModal_body = new WeakMap(), _PfModal_headings = new WeakMap(), _PfModal_cancelling = new WeakMap(), _PfModal_slots = new WeakMap();
267
+ _PfModal_headerId = new WeakMap();
268
+ _PfModal_triggerElement = new WeakMap();
269
+ _PfModal_header = new WeakMap();
270
+ _PfModal_body = new WeakMap();
271
+ _PfModal_headings = new WeakMap();
272
+ _PfModal_cancelling = new WeakMap();
273
+ _PfModal_slots = new WeakMap();
268
274
  PfModal.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
269
275
  PfModal.styles = [style];
270
276
  /** Should the dialog close when user clicks outside the dialog? */
@@ -1 +1 @@
1
- {"version":3,"file":"pf-modal.js","sourceRoot":"","sources":["pf-modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } 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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\nimport { bound, deprecation, initializer, observed } from '@patternfly/pfe-core/decorators.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport style from './pf-modal.css';\n\nexport class ModalCancelEvent extends ComposedEvent {\n constructor() {\n super('cancel');\n }\n}\n\nexport class ModalCloseEvent extends ComposedEvent {\n constructor() {\n super('close');\n }\n}\n\nexport class ModalOpenEvent extends ComposedEvent {\n constructor(\n /** The trigger element which triggered the modal to open */\n public trigger: HTMLElement | null\n ) {\n super('open');\n }\n}\n\n/**\n * A modal displays important information to a user without requiring them to navigate\n * to a new page.\n *\n * @summary Displays information or helps a user focus on a task\n *\n * @slot - The default slot can contain any type of content. When the header is not present this unnamed slot appear at the top of the modal window (to the left of the close button). Otherwise it will appear beneath the header.\n * @slot header - The header is an optional slot that appears at the top of the modal window. It should be a header tag (h2-h6).\n * @slot footer - Optional footer content. Good place to put action buttons.\n *\n * @fires {ModalOpenEvent} open - Fires when a user clicks on the trigger or manually opens a modal.\n * @fires {ModalCloseEvent} close - Fires when either a user clicks on either the close button or the overlay or manually closes a modal.\n *\n * @csspart overlay - The modal overlay which lies under the dialog and above the page body\n * @csspart dialog - The dialog element\n * @csspart content - The container for the dialog content\n * @csspart header - The container for the optional dialog header\n * @csspart description - The container for the optional dialog description in the header\n * @csspart close-button - The modal's close button\n * @csspart footer - Actions footer container\n *\n * @cssprop {<length>} --pf-c-modal-box--ZIndex {@default 500}\n * @cssprop {<length>} --pf-c-modal-box--Width - Width of the modal {@default calc(100% - 2rem)}\n * @cssprop {<length>} --pf-c-modal-box--MaxWidth - Max width of the modal {@default calc(100% - 2rem)}\n * @cssprop {<length>} --pf-c-modal-box--m-sm--sm--MaxWidth - Max width of the small variant modal {@default 35rem}\n * @cssprop {<length>} --pf-c-modal-box--m-md--MaxWidth - Max width of the small variant modal {@default 52.5rem}\n * @cssprop {<length>} --pf-c-modal-box--m-lg--lg--MaxWidth - Max width of the large variant modal {@default 70rem}\n * @cssprop {<length>} --pf-c-modal-box--MaxHeight - Max height of the modal {@default calc(100% - 3rem)}\n * @cssprop {<length>} --pf-c-modal-box--BoxShadow - {@default var(--pf-global--BoxShadow--xl)}\n * @cssprop {<length>} --pf-c-modal-box__title--FontSize - {@default 1.5rem}\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MarginTop - {@default 2rem}\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MaxWidth\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MaxHeight\n * @cssprop {<color>} --pf-c-modal-box--BackgroundColor - {@default #fff}\n * @cssprop --pf-c-modal-box__title--FontFamily - default font family for header-slotted headings\n */\n@customElement('pf-modal')\nexport class PfModal extends LitElement implements HTMLDialogElement {\n static readonly shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n static readonly styles = [style];\n\n /** Should the dialog close when user clicks outside the dialog? */\n protected static closeOnOutsideClick = false;\n\n /**\n * The `variant` controls the width of the modal.\n * There are three options: `small`, `medium` and `large`. The default is `large`.\n */\n @property({ reflect: true }) variant?: 'small' | 'medium' | 'large';\n\n @deprecation({ alias: 'variant', attribute: 'width' }) width?: 'small' | 'medium' | 'large';\n\n /**\n * `position=\"top\"` aligns the dialog with the top of the page\n */\n @property({ reflect: true }) position?: 'top';\n\n @observed\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Optional ID of the trigger element */\n @observed\n @property() trigger?: string;\n\n /** @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/returnValue */\n public returnValue = '';\n\n @query('#overlay') private overlay?: HTMLElement | null;\n @query('#dialog') private dialog?: HTMLElement | null;\n @query('#close-button') private closeButton?: HTMLElement | null;\n\n #headerId = getRandomId();\n #triggerElement: HTMLElement | null = null;\n #header: HTMLElement | null = null;\n #body: Element[] = [];\n #headings: Element[] = [];\n #cancelling = false;\n\n #slots = new SlotController(this, null, 'header', 'description', 'footer');\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this.onKeydown);\n this.addEventListener('click', this.onClick);\n }\n\n render() {\n const headerId = (this.#header || this.#headings.length) ? this.#headerId : undefined;\n const headerLabel = this.#triggerElement ? this.#triggerElement.innerText : undefined;\n const hasHeader = this.#slots.hasSlotted('header');\n const hasDescription = this.#slots.hasSlotted('description');\n const hasFooter = this.#slots.hasSlotted('footer');\n\n return html`\n <section ?hidden=${!this.open}>\n <div id=\"overlay\" part=\"overlay\" ?hidden=${!this.open}></div>\n <div id=\"dialog\"\n part=\"dialog\"\n tabindex=\"0\"\n role=\"dialog\"\n aria-labelledby=${ifDefined(headerId)}\n aria-label=${ifDefined(headerLabel)}\n ?hidden=\"${!this.open}\">\n <div id=\"container\">\n <div id=\"content\" part=\"content\" class=${classMap({ hasHeader, hasDescription, hasFooter })}>\n <header part=\"header\">\n <slot name=\"header\"></slot>\n <div part=\"description\" ?hidden=${!hasDescription}>\n <slot name=\"description\"></slot>\n </div>\n </header>\n <slot></slot>\n <footer ?hidden=${!hasFooter} part=\"footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n <button id=\"close-button\"\n part=\"close-button\"\n aria-label=\"Close dialog\"\n @keydown=${this.onKeydown}\n @click=${this.close}>\n <svg fill=\"currentColor\" 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\"></path>\n </svg>\n </button>\n </div>\n </div>\n </section>\n `;\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener('keydown', this.onKeydown);\n\n this.#triggerElement?.removeEventListener('click', this.onTriggerClick);\n }\n\n @initializer()\n protected async _init() {\n await this.updateComplete;\n this.#header = this.querySelector(`[slot$=\"header\"]`);\n this.#body = [...this.querySelectorAll(`*:not([slot])`)];\n this.#headings = this.#body.filter(el => el.tagName.slice(0, 1) === 'H');\n\n if (this.#triggerElement) {\n this.#triggerElement.addEventListener('click', this.onTriggerClick);\n this.removeAttribute('hidden');\n }\n\n if (this.#header) {\n this.#header.id = this.#headerId;\n } else if (this.#headings.length > 0) {\n // Get the first heading in the modal if it exists\n this.#headings[0].id = this.#headerId;\n }\n }\n\n protected async _openChanged(oldValue?: boolean, newValue?: boolean) {\n // loosening types to prevent running these effects in unexpected circumstances\n // eslint-disable-next-line eqeqeq\n if (oldValue == null || newValue == null || oldValue == newValue) {\n return;\n } else if (this.open) {\n // This prevents background scroll\n document.body.style.overflow = 'hidden';\n await this.updateComplete;\n // Set the focus to the container\n this.dialog?.focus();\n this.dispatchEvent(new ModalOpenEvent(this.#triggerElement));\n } else {\n // Return scrollability\n document.body.style.overflow = 'auto';\n\n await this.updateComplete;\n\n if (this.#triggerElement) {\n this.#triggerElement.focus();\n }\n\n this.dispatchEvent(this.#cancelling ? new ModalCancelEvent() : new ModalCloseEvent());\n }\n }\n\n protected _triggerChanged() {\n if (this.trigger) {\n this.#triggerElement = (this.getRootNode() as Document | ShadowRoot).getElementById(this.trigger);\n this.#triggerElement?.addEventListener('click', this.onTriggerClick);\n }\n }\n\n @bound private onTriggerClick(event: MouseEvent) {\n event.preventDefault();\n // TODO: in non-modal case, toggle the dialog\n this.showModal();\n }\n\n @bound private onClick(event: MouseEvent) {\n const { open, overlay, dialog } = this;\n if (open) {\n const path = event.composedPath();\n const { closeOnOutsideClick } = this.constructor as typeof PfModal;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (closeOnOutsideClick && path.includes(overlay!) && !path.includes(dialog!)) {\n event.preventDefault();\n this.cancel();\n }\n }\n }\n\n @bound private onKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n if (event.target === this.closeButton) {\n event.preventDefault();\n this.dialog?.focus();\n }\n return;\n case 'Escape':\n case 'Esc':\n event.preventDefault();\n this.cancel();\n return;\n case 'Enter':\n if (event.target === this.#triggerElement) {\n event.preventDefault();\n this.showModal();\n }\n return;\n }\n }\n\n private async cancel() {\n this.#cancelling = true;\n this.open = false;\n await this.updateComplete;\n this.#cancelling = false;\n }\n\n setTrigger(element: HTMLElement) {\n this.#triggerElement = element;\n this.#triggerElement.addEventListener('click', this.onTriggerClick);\n }\n\n /**\n * Manually toggles the modal.\n * ```js\n * modal.toggle();\n * ```\n */\n @bound toggle() {\n this.open = !this.open;\n }\n\n /**\n * Manually opens the modal.\n * ```js\n * modal.open();\n * ```\n */\n @bound show() {\n this.open = true;\n }\n\n @bound showModal() {\n // TODO: non-modal mode\n this.show();\n }\n\n /**\n * Manually closes the modal.\n * ```js\n * modal.close();\n * ```\n */\n @bound close(returnValue?: string) {\n if (typeof returnValue === 'string') {\n this.returnValue = returnValue;\n }\n\n this.open = false;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-modal': PfModal;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-modal.js","sourceRoot":"","sources":["pf-modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } 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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\nimport { bound, deprecation, initializer, observed } from '@patternfly/pfe-core/decorators.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport style from './pf-modal.css';\n\nexport class ModalCancelEvent extends ComposedEvent {\n constructor() {\n super('cancel');\n }\n}\n\nexport class ModalCloseEvent extends ComposedEvent {\n constructor() {\n super('close');\n }\n}\n\nexport class ModalOpenEvent extends ComposedEvent {\n constructor(\n /** The trigger element which triggered the modal to open */\n public trigger: HTMLElement | null\n ) {\n super('open');\n }\n}\n\n/**\n * A **modal** displays important information to a user without requiring them to navigate\n * to a new page.\n *\n * @summary Displays information or helps a user focus on a task\n *\n * @slot - The default slot can contain any type of content. When the header is not present this unnamed slot appear at the top of the modal window (to the left of the close button). Otherwise it will appear beneath the header.\n * @slot header - The header is an optional slot that appears at the top of the modal window. It should be a header tag (h2-h6).\n * @slot footer - Optional footer content. Good place to put action buttons.\n *\n * @fires {ModalOpenEvent} open - Fires when a user clicks on the trigger or manually opens a modal.\n * @fires {ModalCloseEvent} close - Fires when either a user clicks on either the close button or the overlay or manually closes a modal.\n *\n * @csspart overlay - The modal overlay which lies under the dialog and above the page body\n * @csspart dialog - The dialog element\n * @csspart content - The container for the dialog content\n * @csspart header - The container for the optional dialog header\n * @csspart description - The container for the optional dialog description in the header\n * @csspart close-button - The modal's close button\n * @csspart footer - Actions footer container\n *\n * @cssprop {<length>} --pf-c-modal-box--ZIndex {@default 500}\n * @cssprop {<length>} --pf-c-modal-box--Width - Width of the modal {@default calc(100% - 2rem)}\n * @cssprop {<length>} --pf-c-modal-box--MaxWidth - Max width of the modal {@default calc(100% - 2rem)}\n * @cssprop {<length>} --pf-c-modal-box--m-sm--sm--MaxWidth - Max width of the small variant modal {@default 35rem}\n * @cssprop {<length>} --pf-c-modal-box--m-md--MaxWidth - Max width of the small variant modal {@default 52.5rem}\n * @cssprop {<length>} --pf-c-modal-box--m-lg--lg--MaxWidth - Max width of the large variant modal {@default 70rem}\n * @cssprop {<length>} --pf-c-modal-box--MaxHeight - Max height of the modal {@default calc(100% - 3rem)}\n * @cssprop {<length>} --pf-c-modal-box--BoxShadow - {@default var(--pf-global--BoxShadow--xl)}\n * @cssprop {<length>} --pf-c-modal-box__title--FontSize - {@default 1.5rem}\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MarginTop - {@default 2rem}\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MaxWidth\n * @cssprop {<length>} --pf-c-modal-box--m-align-top--MaxHeight\n * @cssprop {<color>} --pf-c-modal-box--BackgroundColor - {@default #fff}\n * @cssprop --pf-c-modal-box__title--FontFamily - default font family for header-slotted headings\n */\n@customElement('pf-modal')\nexport class PfModal extends LitElement implements HTMLDialogElement {\n static readonly shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n static readonly styles = [style];\n\n /** Should the dialog close when user clicks outside the dialog? */\n protected static closeOnOutsideClick = false;\n\n /**\n * The `variant` controls the width of the modal.\n * There are three options: `small`, `medium` and `large`. The default is `large`.\n */\n @property({ reflect: true }) variant?: 'small' | 'medium' | 'large';\n\n @deprecation({ alias: 'variant', attribute: 'width' }) width?: 'small' | 'medium' | 'large';\n\n /**\n * `position=\"top\"` aligns the dialog with the top of the page\n */\n @property({ reflect: true }) position?: 'top';\n\n @observed\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Optional ID of the trigger element */\n @observed\n @property() trigger?: string;\n\n /** @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/returnValue */\n public returnValue = '';\n\n @query('#overlay') private overlay?: HTMLElement | null;\n @query('#dialog') private dialog?: HTMLElement | null;\n @query('#close-button') private closeButton?: HTMLElement | null;\n\n #headerId = getRandomId();\n #triggerElement: HTMLElement | null = null;\n #header: HTMLElement | null = null;\n #body: Element[] = [];\n #headings: Element[] = [];\n #cancelling = false;\n\n #slots = new SlotController(this, null, 'header', 'description', 'footer');\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this.onKeydown);\n this.addEventListener('click', this.onClick);\n }\n\n render() {\n const headerId = (this.#header || this.#headings.length) ? this.#headerId : undefined;\n const headerLabel = this.#triggerElement ? this.#triggerElement.innerText : undefined;\n const hasHeader = this.#slots.hasSlotted('header');\n const hasDescription = this.#slots.hasSlotted('description');\n const hasFooter = this.#slots.hasSlotted('footer');\n\n return html`\n <section ?hidden=${!this.open}>\n <div id=\"overlay\" part=\"overlay\" ?hidden=${!this.open}></div>\n <div id=\"dialog\"\n part=\"dialog\"\n tabindex=\"0\"\n role=\"dialog\"\n aria-labelledby=${ifDefined(headerId)}\n aria-label=${ifDefined(headerLabel)}\n ?hidden=\"${!this.open}\">\n <div id=\"container\">\n <div id=\"content\" part=\"content\" class=${classMap({ hasHeader, hasDescription, hasFooter })}>\n <header part=\"header\">\n <slot name=\"header\"></slot>\n <div part=\"description\" ?hidden=${!hasDescription}>\n <slot name=\"description\"></slot>\n </div>\n </header>\n <slot></slot>\n <footer ?hidden=${!hasFooter} part=\"footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n <button id=\"close-button\"\n part=\"close-button\"\n aria-label=\"Close dialog\"\n @keydown=${this.onKeydown}\n @click=${this.close}>\n <svg fill=\"currentColor\" 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\"></path>\n </svg>\n </button>\n </div>\n </div>\n </section>\n `;\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener('keydown', this.onKeydown);\n\n this.#triggerElement?.removeEventListener('click', this.onTriggerClick);\n }\n\n @initializer()\n protected async _init() {\n await this.updateComplete;\n this.#header = this.querySelector(`[slot$=\"header\"]`);\n this.#body = [...this.querySelectorAll(`*:not([slot])`)];\n this.#headings = this.#body.filter(el => el.tagName.slice(0, 1) === 'H');\n\n if (this.#triggerElement) {\n this.#triggerElement.addEventListener('click', this.onTriggerClick);\n this.removeAttribute('hidden');\n }\n\n if (this.#header) {\n this.#header.id = this.#headerId;\n } else if (this.#headings.length > 0) {\n // Get the first heading in the modal if it exists\n this.#headings[0].id = this.#headerId;\n }\n }\n\n protected async _openChanged(oldValue?: boolean, newValue?: boolean) {\n // loosening types to prevent running these effects in unexpected circumstances\n // eslint-disable-next-line eqeqeq\n if (oldValue == null || newValue == null || oldValue == newValue) {\n return;\n } else if (this.open) {\n // This prevents background scroll\n document.body.style.overflow = 'hidden';\n await this.updateComplete;\n // Set the focus to the container\n this.dialog?.focus();\n this.dispatchEvent(new ModalOpenEvent(this.#triggerElement));\n } else {\n // Return scrollability\n document.body.style.overflow = 'auto';\n\n await this.updateComplete;\n\n if (this.#triggerElement) {\n this.#triggerElement.focus();\n }\n\n this.dispatchEvent(this.#cancelling ? new ModalCancelEvent() : new ModalCloseEvent());\n }\n }\n\n protected _triggerChanged() {\n if (this.trigger) {\n this.#triggerElement = (this.getRootNode() as Document | ShadowRoot).getElementById(this.trigger);\n this.#triggerElement?.addEventListener('click', this.onTriggerClick);\n }\n }\n\n @bound private onTriggerClick(event: MouseEvent) {\n event.preventDefault();\n // TODO: in non-modal case, toggle the dialog\n this.showModal();\n }\n\n @bound private onClick(event: MouseEvent) {\n const { open, overlay, dialog } = this;\n if (open) {\n const path = event.composedPath();\n const { closeOnOutsideClick } = this.constructor as typeof PfModal;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (closeOnOutsideClick && path.includes(overlay!) && !path.includes(dialog!)) {\n event.preventDefault();\n this.cancel();\n }\n }\n }\n\n @bound private onKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n if (event.target === this.closeButton) {\n event.preventDefault();\n this.dialog?.focus();\n }\n return;\n case 'Escape':\n case 'Esc':\n event.preventDefault();\n this.cancel();\n return;\n case 'Enter':\n if (event.target === this.#triggerElement) {\n event.preventDefault();\n this.showModal();\n }\n return;\n }\n }\n\n private async cancel() {\n this.#cancelling = true;\n this.open = false;\n await this.updateComplete;\n this.#cancelling = false;\n }\n\n setTrigger(element: HTMLElement) {\n this.#triggerElement = element;\n this.#triggerElement.addEventListener('click', this.onTriggerClick);\n }\n\n /**\n * Manually toggles the modal.\n * ```js\n * modal.toggle();\n * ```\n */\n @bound toggle() {\n this.open = !this.open;\n }\n\n /**\n * Manually opens the modal.\n * ```js\n * modal.open();\n * ```\n */\n @bound show() {\n this.open = true;\n }\n\n @bound showModal() {\n // TODO: non-modal mode\n this.show();\n }\n\n /**\n * Manually closes the modal.\n * ```js\n * modal.close();\n * ```\n */\n @bound close(returnValue?: string) {\n if (typeof returnValue === 'string') {\n this.returnValue = returnValue;\n }\n\n this.open = false;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-modal': PfModal;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  /**
3
- * The panel component is a container that supports flexible content layouts. It can
3
+ * The **panel** component is a container that supports flexible content layouts. It can
4
4
  * be used to house other components such as fields, forms, videos, buttons, and more.
5
5
  * The panel should not be confused with the [drawer](https://www.patternfly.org/v4/components/drawer/design-guidelines/)
6
6
  * component, which allows you to surface information via a collapsable container.
@@ -7,7 +7,7 @@ import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller
7
7
  import { css } from "lit";
8
8
  const styles = css `:host{--pf-c-panel--Width:auto;--pf-c-panel--MinWidth:auto;--pf-c-panel--MaxWidth:none;--pf-c-panel--ZIndex:auto;--pf-c-panel--BackgroundColor:var(--pf-global--BackgroundColor--100, #fff);--pf-c-panel--BoxShadow:none;--pf-c-panel--before--BorderWidth:0;--pf-c-panel--before--BorderColor:var(--pf-global--BorderColor--100, #d2d2d2);--pf-c-panel--m-bordered--before--BorderWidth:var(--pf-global--BorderWidth--sm, 1px);--pf-c-panel--m-raised--BoxShadow:var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06));--pf-c-panel--m-raised--ZIndex:var(--pf-global--ZIndex--sm, 200);--pf-c-panel__header--PaddingTop:var(--pf-global--spacer--md, 1rem);--pf-c-panel__header--PaddingRight:var(--pf-global--spacer--md, 1rem);--pf-c-panel__header--PaddingBottom:var(--pf-global--spacer--md, 1rem);--pf-c-panel__header--PaddingLeft:var(--pf-global--spacer--md, 1rem);--pf-c-panel__main--MaxHeight:none;--pf-c-panel__main--Overflow:visible;--pf-c-panel__main-body--PaddingTop:var(--pf-global--spacer--md, 1rem);--pf-c-panel__main-body--PaddingRight:var(--pf-global--spacer--md, 1rem);--pf-c-panel__main-body--PaddingBottom:var(--pf-global--spacer--md, 1rem);--pf-c-panel__main-body--PaddingLeft:var(--pf-global--spacer--md, 1rem);--pf-c-panel__footer--PaddingTop:var(--pf-global--spacer--md, 1rem);--pf-c-panel__footer--PaddingRight:var(--pf-global--spacer--md, 1rem);--pf-c-panel__footer--PaddingBottom:var(--pf-global--spacer--md, 1rem);--pf-c-panel__footer--PaddingLeft:var(--pf-global--spacer--md, 1rem);--pf-c-panel__footer--BoxShadow:none;--pf-c-panel--m-scrollable__main--MaxHeight:18.75rem;--pf-c-panel--m-scrollable__main--Overflow:auto;--pf-c-panel--m-scrollable__footer--BoxShadow:0 -0.3125rem 0.25rem -0.25rem rgba(3, 3, 3, 0.16);position:relative;z-index:var(--pf-c-panel--ZIndex);width:var(--pf-c-panel--Width);min-width:var(--pf-c-panel--MinWidth);max-width:var(--pf-c-panel--MaxWidth);background-color:var(--pf-c-panel--BackgroundColor);box-shadow:var(--pf-c-panel--BoxShadow);display:block}:host([variant=bordered])::before{position:absolute;inset:0;pointer-events:none;content:"";border:var(--pf-c-panel--m-bordered--before--BorderWidth,var(--pf-global--BorderWidth--sm,1px)) solid var(--pf-c-panel--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2))}:host([variant=raised])::before{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:var(--pf-c-panel--m-raised--BoxShadow,0 .25rem .5rem 0 rgba(3,3,3,.12),0 0 .25rem 0 rgba(3,3,3,.06));z-index:var(--pf-c-panel--m-raised--ZIndex,var(--pf-global--ZIndex--sm,200))}:host([variant=raised]){--pf-c-panel--BoxShadow:var(--pf-c-panel--m-raised--BoxShadow,\n var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));--pf-c-panel--ZIndex:var(--pf-c-panel--m-raised--ZIndex,\n var(--pf-global--ZIndex--sm, 200))}:host([scrollable]){--pf-c-panel__main--MaxHeight:var(--pf-c-panel--m-scrollable__main--MaxHeight);--pf-c-panel__main--Overflow:var(--pf-c-panel--m-scrollable__main--Overflow);--pf-c-panel__footer--BoxShadow:var(--pf-c-panel--m-scrollable__footer--BoxShadow)}[hidden]{display:none!important}slot{display:block}slot:not([name]){max-height:var(--pf-c-panel__main--MaxHeight);overflow:var(--pf-c-panel__main--Overflow);padding:var(--pf-c-panel__main-body--PaddingTop,var(--pf-global--spacer--md,1rem)) var(--pf-c-panel__main-body--PaddingRight,var(--pf-global--spacer--md,1rem)) var(--pf-c-panel__main-body--PaddingBottom,var(--pf-global--spacer--md,1rem)) var(--pf-c-panel__main-body--PaddingLeft,var(--pf-global--spacer--md,1rem))}slot[name=header]{padding:var(--pf-c-panel__header--PaddingTop) var(--pf-c-panel__header--PaddingRight) var(--pf-c-panel__header--PaddingBottom) var(--pf-c-panel__header--PaddingLeft)}slot[name=footer]{padding:var(--pf-c-panel__footer--PaddingTop) var(--pf-c-panel__footer--PaddingRight) var(--pf-c-panel__footer--PaddingBottom) var(--pf-c-panel__footer--PaddingLeft);box-shadow:var(--pf-c-panel__footer--BoxShadow)}hr{--pf-c-divider--BorderWidth--base:var(--pf-global--BorderWidth--sm, 1px);--pf-c-divider--BorderColor--base:var(--pf-c-divider--BackgroundColor);--pf-c-divider--Height:var(--pf-c-divider--BorderWidth--base);--pf-c-divider--BackgroundColor:var(--pf-global--BorderColor--100, #d2d2d2);--pf-c-divider--after--BackgroundColor:var(--pf-c-divider--BorderColor--base);--pf-c-divider--after--FlexBasis:100%;--pf-c-divider--after--Inset:0%;--pf-c-divider--m-vertical--after--FlexBasis:100%;--pf-c-divider--m-horizontal--Display:flex;--pf-c-divider--m-horizontal--FlexDirection:row;--pf-c-divider--m-horizontal--after--Height:var(--pf-c-divider--Height);--pf-c-divider--m-horizontal--after--Width:auto;--pf-c-divider--m-vertical--Display:inline-flex;--pf-c-divider--m-vertical--FlexDirection:column;--pf-c-divider--m-vertical--after--Height:auto;--pf-c-divider--m-vertical--after--Width:var(--pf-c-divider--BorderWidth--base);--pf-hidden-visible--visible--Display:var(--pf-c-divider--Display);--pf-c-divider--Display:var(--pf-c-divider--m-horizontal--Display);--pf-c-divider--FlexDirection:var(--pf-c-divider--m-horizontal--FlexDirection);--pf-c-divider--after--Width:var(--pf-c-divider--m-horizontal--after--Width);--pf-c-divider--after--Height:var(--pf-c-divider--m-horizontal--after--Height);width:100%;height:auto;display:var(--pf-c-divider--Display);flex-direction:var(--pf-c-divider--FlexDirection);align-items:center;align-self:stretch;flex-shrink:0;justify-content:center;border:0}hr::after{align-self:stretch;width:var(--pf-c-divider--after--Width);height:var(--pf-c-divider--after--Height);content:"";background-color:var(--pf-c-divider--after--BackgroundColor);justify-self:center;padding:0;margin:0;flex-basis:calc(var(--pf-c-divider--after--FlexBasis) - var(--pf-c-divider--after--Inset) * 2)}::slotted(:is(p,h1,h2,h3,h4,h5,h6):first-of-type){margin-block-start:0}::slotted(:is(p,h1,h2,h3,h4,h5,h6):last-of-type){margin-block-end:0}::slotted(:is(p,h1,h2,h3,h4,h5,h6):is(:last-of-type,:first-of-type)){margin-block:0}`;
9
9
  /**
10
- * The panel component is a container that supports flexible content layouts. It can
10
+ * The **panel** component is a container that supports flexible content layouts. It can
11
11
  * be used to house other components such as fields, forms, videos, buttons, and more.
12
12
  * The panel should not be confused with the [drawer](https://www.patternfly.org/v4/components/drawer/design-guidelines/)
13
13
  * component, which allows you to surface information via a collapsable container.
@@ -1 +1 @@
1
- {"version":3,"file":"pf-panel.js","sourceRoot":"","sources":["pf-panel.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;;;AAIrF;;;;;;;;;GASG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;QAGuC,eAAU,GAAG,KAAK,CAAC;QAI/D,yBAAS,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAC;IAY9D,CAAC;IAVC,MAAM;QACJ,MAAM,SAAS,GAAG,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAA;mDACoC,CAAC,SAAS;yCACpB,CAAC,SAAS;;mDAEA,CAAC,SAAS;KACxD,CAAC;IACJ,CAAC;;;AAjBe,cAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAEU;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAoB;AAElC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAiC;AALlD,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAmBnB;SAnBY,OAAO","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport styles from './pf-panel.css';\n\n/**\n * The panel component is a container that supports flexible content layouts. It can\n * be used to house other components such as fields, forms, videos, buttons, and more.\n * The panel should not be confused with the [drawer](https://www.patternfly.org/v4/components/drawer/design-guidelines/)\n * component, which allows you to surface information via a collapsable container.\n *\n * @slot header - Place header content here\n * @slot - Place main content here\n * @slot footer - Place footer content here\n */\n@customElement('pf-panel')\nexport class PfPanel extends LitElement {\n static readonly styles = [styles];\n\n @property({ type: Boolean, reflect: true }) scrollable = false;\n\n @property({ reflect: true }) variant?: 'raised' | 'bordered';\n\n #slots = new SlotController(this, 'header', null, 'footer');\n\n render() {\n const hasHeader = this.#slots.hasSlotted('header');\n const hasFooter = this.#slots.hasSlotted('footer');\n return html`\n <slot name=\"header\" role=\"region\" ?hidden=\"${!hasHeader}\"></slot>\n <hr role=\"presentation\" ?hidden=\"${!hasHeader}\">\n <slot></slot>\n <slot name=\"footer\" role=\"region\" ?hidden=\"${!hasFooter}\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-panel': PfPanel;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-panel.js","sourceRoot":"","sources":["pf-panel.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;;;AAIrF;;;;;;;;;GASG;AAEH,IAAa,OAAO,GAApB,MAAa,OAAQ,SAAQ,UAAU;IAAvC;;QAG8C,eAAU,GAAG,KAAK,CAAC;QAI/D,yBAAS,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAC;IAY9D,CAAC;IAVC,MAAM;QACJ,MAAM,SAAS,GAAG,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAA;mDACoC,CAAC,SAAS;yCACpB,CAAC,SAAS;;mDAEA,CAAC,SAAS;KACxD,CAAC;IACJ,CAAC;;;AAjBe,cAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAEU;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAoB;AAElC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAiC;AALlD,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAmBnB;SAnBY,OAAO","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport styles from './pf-panel.css';\n\n/**\n * The **panel** component is a container that supports flexible content layouts. It can\n * be used to house other components such as fields, forms, videos, buttons, and more.\n * The panel should not be confused with the [drawer](https://www.patternfly.org/v4/components/drawer/design-guidelines/)\n * component, which allows you to surface information via a collapsable container.\n *\n * @slot header - Place header content here\n * @slot - Place main content here\n * @slot footer - Place footer content here\n */\n@customElement('pf-panel')\nexport class PfPanel extends LitElement {\n static readonly styles = [styles];\n\n @property({ type: Boolean, reflect: true }) scrollable = false;\n\n @property({ reflect: true }) variant?: 'raised' | 'bordered';\n\n #slots = new SlotController(this, 'header', null, 'footer');\n\n render() {\n const hasHeader = this.#slots.hasSlotted('header');\n const hasFooter = this.#slots.hasSlotted('footer');\n return html`\n <slot name=\"header\" role=\"region\" ?hidden=\"${!hasHeader}\"></slot>\n <hr role=\"presentation\" ?hidden=\"${!hasHeader}\">\n <slot></slot>\n <slot name=\"footer\" role=\"region\" ?hidden=\"${!hasFooter}\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-panel': PfPanel;\n }\n}\n"]}
@@ -0,0 +1,48 @@
1
+ # Popover
2
+
3
+ A Popover displays content in a non-modal dialog and adds contextual information or provides resources via text and links.
4
+
5
+ ## Usage
6
+
7
+ Read more about popovers in the [PatternFly Elements Popover documentation](https://patternflyelements.org/components/popover)
8
+
9
+ ## Installation
10
+
11
+ Load `<pf-popover>` via CDN:
12
+
13
+ ```html
14
+ <script src="https://jspm.dev/@patternfly/elements/pf-popover/pf-popover.js"></script>
15
+ ```
16
+
17
+ Or, if you are using [NPM](https://npm.im), install it
18
+
19
+ ```bash
20
+ npm install @patternfly/elements
21
+ ```
22
+
23
+ Then once installed, import it to your application:
24
+
25
+ ```js
26
+ import '@patternfly/elements/pf-popover/pf-popover.js';
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ ### Basic Popover
32
+
33
+ ```html
34
+ <pf-popover heading="Popover heading"
35
+ body="Popovers are triggered by click rather than hover."
36
+ footer="Popover footer">
37
+ <pf-button>Toggle popover</pf-button>
38
+ </pf-popover>
39
+ ```
40
+
41
+ ```html
42
+ <pf-popover>
43
+ <h3 slot="heading">Popover heading</h3>
44
+ <div slot="body">Popovers are triggered by click rather than hover.</div>
45
+ <span slot="footer">Popover footer</span>
46
+ <pf-button>Toggle popover</pf-button>
47
+ </pf-popover>
48
+ ```
@@ -0,0 +1,191 @@
1
+ :host {
2
+ display: inline;
3
+ --_floating-arrow-size: var(--pf-c-popover__arrow--Width, var(--pf-global--arrow--width-lg, 1.5625rem));
4
+ --_header-text-color: var(--pf-c-popover__title-text--Color, inherit);
5
+ --_header-icon-color: var(--pf-c-popover__title-icon--Color, var(--pf-global--Color--100, #151515));
6
+ --_animation-speed: var(--pf-popover--animation-speed, 300ms);
7
+ --_z-index: var(--pf-popover--z-index, 9999);
8
+ }
9
+
10
+ .visually-hidden {
11
+ position: fixed;
12
+ top: 0;
13
+ left: 0;
14
+ overflow: hidden;
15
+ clip: rect(0, 0, 0, 0);
16
+ white-space: nowrap;
17
+ border: 0;
18
+ }
19
+
20
+ [hidden] {
21
+ display: none !important;
22
+ }
23
+
24
+ #container {
25
+ display: inline-flex;
26
+ position: relative;
27
+ }
28
+
29
+ #trigger {
30
+ display: inline-block;
31
+ position: relative;
32
+ }
33
+
34
+ #arrow {
35
+ display: block;
36
+ position: absolute;
37
+ background-color: var(--pf-c-popover__arrow--BackgroundColor, var(--pf-global--BackgroundColor--100, #fff));
38
+ box-shadow: var(
39
+ --pf-c-popover__arrow--BoxShadow,
40
+ var(--pf-global--BoxShadow--lg, 0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08))
41
+ );
42
+ content: '';
43
+ height: var(--pf-c-popover__arrow--Height, var(--pf-global--arrow--width-lg, 1.5625rem));
44
+ width: var(--pf-c-popover__arrow--Width, var(--pf-global--arrow--width-lg, 1.5625rem));
45
+ rotate: 45deg;
46
+ z-index: -1;
47
+ pointer-events: none;
48
+ }
49
+
50
+ #popover {
51
+ display: block;
52
+ position: absolute;
53
+ opacity: 0;
54
+ z-index: -1;
55
+ transition: visibility 0s, opacity var(--_animation-speed) cubic-bezier(0.54, 1.5, 0.38, 1.11) 0s;
56
+ left: 0;
57
+ top: 0;
58
+ translate: var(--_floating-content-translate);
59
+ box-shadow: var(
60
+ --pf-c-popover--BoxShadow,
61
+ var(--pf-global--BoxShadow--lg, 0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08))
62
+ );
63
+ border: 0;
64
+ padding: 0;
65
+ visibility: hidden;
66
+ }
67
+
68
+ #popover[open] {
69
+ opacity: 1;
70
+ z-index: var(--_z-index);
71
+ visibility: visible;
72
+ }
73
+
74
+ [part='content'] {
75
+ position: relative;
76
+ padding: var(--pf-c-popover__content--PaddingTop, var(--pf-global--spacer--md, 1rem))
77
+ var(--pf-c-popover__content--PaddingRight, var(--pf-global--spacer--md, 1rem))
78
+ var(--pf-c-popover__content--PaddingBottom, var(--pf-global--spacer--md, 1rem))
79
+ var(--pf-c-popover__content--PaddingLeft, var(--pf-global--spacer--md, 1rem));
80
+ word-break: break-word;
81
+ line-height: var(--pf-c-popover--line-height, 1.5);
82
+ font-size: var(--pf-c-popover__content--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
83
+ color: var(--pf-c-popover__content--Color, var(--pf-global--Color--100, #151515));
84
+ background-color: var(--pf-c-popover__content--BackgroundColor, var(--pf-global--BackgroundColor--100, #fff));
85
+ max-width: var(
86
+ --pf-c-popover--MaxWidth,
87
+ calc(var(--pf-c-popover__content--PaddingLeft, 1rem) + var(--pf-c-popover__content--PaddingRight, 1rem) + 18.75rem)
88
+ );
89
+ min-width: var(
90
+ --pf-c-popover--MinWidth,
91
+ calc(var(--pf-c-popover__content--PaddingLeft, 1rem) + var(--pf-c-popover__content--PaddingRight, 1rem) + 18.75rem)
92
+ );
93
+ width: max-content;
94
+ }
95
+
96
+ [part='close-button'] {
97
+ cursor: pointer;
98
+ position: absolute;
99
+ right: var(
100
+ --pf-c-popover--c-button--Right,
101
+ calc(var(--pf-c-popover__content--PaddingRight, 1rem) - var(--pf-global--spacer--md, 1rem))
102
+ );
103
+ top: var(
104
+ --pf-c-popover--c-button--Top,
105
+ calc(var(--pf-c-popover__content--PaddingTop, 1rem) - var(--pf-global--spacer--form-element, 0.375rem))
106
+ );
107
+ }
108
+
109
+ [part='content'] > [part='close-button']:not([hidden]) ~ *:not([hidden]) {
110
+ padding-right: var(--pf-c-popover--c-button--sibling--PaddingRight, var(--pf-global--spacer--2xl, 3rem));
111
+ }
112
+
113
+ [part='header'] {
114
+ display: flex;
115
+ align-items: baseline;
116
+ }
117
+
118
+ [part='icon'] {
119
+ color: var(--_header-icon-color);
120
+ margin-right: var(--pf-c-popover__title-icon--MarginRight, var(--pf-global--spacer--sm, 0.5rem));
121
+ }
122
+
123
+ [part='icon'] ::slotted(*),
124
+ [part='icon'] * {
125
+ vertical-align: -0.125em;
126
+ }
127
+
128
+ [part='icon'],
129
+ [part='heading']::slotted(:is(h2, h3, h4, h5, h6)),
130
+ [part='heading'] :is(h2, h3, h4, h5, h6) {
131
+ font-size: var(--pf-c-popover__title--FontSize, var(--pf-global--FontSize--md, 1rem));
132
+ font-weight: var(--pf-global--FontWeight--normal, 400);
133
+ --pf-icon--size: var(
134
+ --pf-c-popover__title--FontSize,
135
+ var(--pf-global--FontSize--md, var(--pf-global--icon--FontSize--md, 1em))
136
+ );
137
+ }
138
+
139
+ [part='heading']::slotted(:is(h2, h3, h4, h5, h6)),
140
+ [part='heading'] :is(h2, h3, h4, h5, h6) {
141
+ color: var(--_header-text-color);
142
+ margin-top: 0;
143
+ margin-bottom: var(--pf-c-popover__title--MarginBottom, var(--pf-global--spacer--sm, 0.5rem));
144
+ line-height: var(--pf-c-popover__title--LineHeight, var(--pf-global--LineHeight--md, 1.5));
145
+ font-family: var(
146
+ --pf-c-popover__title--FontFamily,
147
+ var(
148
+ --pf-global--FontFamily--heading--sans-serif,
149
+ 'RedHatDisplay',
150
+ 'Overpass',
151
+ overpass,
152
+ helvetica,
153
+ arial,
154
+ sans-serif
155
+ )
156
+ );
157
+ }
158
+
159
+ [part='body'] {
160
+ display: block;
161
+ word-wrap: break-word;
162
+ }
163
+
164
+ [part='footer'] {
165
+ margin-top: var(--pf-c-popover__footer--MarginTop, var(--pf-global--spacer--md, 1rem));
166
+ }
167
+
168
+ :host([alert-severity='default']) {
169
+ --_header-text-color: var(--pf-c-popover--m-default__title-text--Color, var(--pf-global--default-color--300, #003737));
170
+ --_header-icon-color: var(--pf-c-popover--m-default__title-icon--Color, var(--pf-global--default-color--200, #009596));
171
+ }
172
+
173
+ :host([alert-severity='info']) {
174
+ --_header-text-color: var(--pf-c-popover--m-info__title-text--Color, var(--pf-global--info-color--200, #002952));
175
+ --_header-icon-color: var(--pf-c-popover--m-info__title-icon--Color, var(--pf-global--info-color--100, #2b9af3));
176
+ }
177
+
178
+ :host([alert-severity='warning']) {
179
+ --_header-icon-color: var(--pf-c-popover--m-warning__title-icon--Color, var(--pf-global--warning-color--100, #f0ab00));
180
+ --_header-text-color: var(--pf-c-popover--m-warning__title-text--Color, var(--pf-global--warning-color--200, #795600));
181
+ }
182
+
183
+ :host([alert-severity='success']) {
184
+ --_header-icon-color: var(--pf-c-popover--m-success__title-icon--Color, var(--pf-global--success-color--100, #3e8635));
185
+ --_header-text-color: var(--pf-c-popover--m-success__title-text--Color, var(--pf-global--success-color--200, #1e4f18));
186
+ }
187
+
188
+ :host([alert-severity='danger']) {
189
+ --_header-icon-color: var(--pf-c-popover--m-danger__title-icon--Color, var(--pf-global--danger-color--100, #c9190b));
190
+ --_header-text-color: var(--pf-c-popover--m-danger__title-text--Color, var(--pf-global--danger-color--200, #a30000));
191
+ }