@patternfly/elements 2.0.0-rc.4 → 2.0.0-rc.6

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 (1089) hide show
  1. package/custom-elements.json +48 -16
  2. package/package.json +4 -3
  3. package/pf-accordion/BaseAccordion.js +2 -2
  4. package/pf-accordion/BaseAccordion.js.map +1 -1
  5. package/pf-accordion/BaseAccordionHeader.js +2 -2
  6. package/pf-accordion/BaseAccordionHeader.js.map +1 -1
  7. package/pf-accordion/BaseAccordionPanel.js +2 -2
  8. package/pf-accordion/BaseAccordionPanel.js.map +1 -1
  9. package/pf-accordion/README.md +44 -0
  10. package/pf-accordion/pf-accordion-header.js +3 -2
  11. package/pf-accordion/pf-accordion-header.js.map +1 -1
  12. package/pf-accordion/pf-accordion-panel.js +3 -2
  13. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  14. package/pf-accordion/pf-accordion.js +3 -3
  15. package/pf-accordion/pf-accordion.js.map +1 -1
  16. package/pf-avatar/BaseAvatar.d.ts +2 -0
  17. package/pf-avatar/BaseAvatar.js +8 -4
  18. package/pf-avatar/BaseAvatar.js.map +1 -1
  19. package/pf-avatar/README.md +31 -0
  20. package/pf-avatar/pf-avatar.js +3 -2
  21. package/pf-avatar/pf-avatar.js.map +1 -1
  22. package/pf-badge/BaseBadge.js +1 -1
  23. package/pf-badge/README.md +57 -0
  24. package/pf-badge/pf-badge.js +3 -2
  25. package/pf-badge/pf-badge.js.map +1 -1
  26. package/pf-button/BaseButton.js +2 -2
  27. package/pf-button/BaseButton.js.map +1 -1
  28. package/pf-button/README.md +61 -0
  29. package/pf-button/pf-button.js +3 -2
  30. package/pf-button/pf-button.js.map +1 -1
  31. package/pf-card/BaseCard.js +1 -1
  32. package/pf-card/README.md +34 -0
  33. package/pf-card/pf-card.js +3 -2
  34. package/pf-card/pf-card.js.map +1 -1
  35. package/pf-clipboard-copy/BaseClipboardCopy.js +1 -1
  36. package/pf-clipboard-copy/README.md +8 -0
  37. package/pf-clipboard-copy/pf-clipboard-copy.js +3 -2
  38. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  39. package/pf-code-block/BaseCodeBlock.js +1 -1
  40. package/pf-code-block/README.md +77 -0
  41. package/pf-code-block/pf-code-block.js +3 -2
  42. package/pf-code-block/pf-code-block.js.map +1 -1
  43. package/pf-icon/BaseIcon.js +3 -2
  44. package/pf-icon/BaseIcon.js.map +1 -1
  45. package/pf-icon/README.md +86 -0
  46. package/pf-icon/icons/fab/algolia.js +1 -1
  47. package/pf-icon/icons/fab/line.js +1 -1
  48. package/pf-icon/icons/fab/odysee.js +1 -0
  49. package/pf-icon/icons/fab/stubber.js +1 -0
  50. package/pf-icon/icons/far/address-book.js +1 -1
  51. package/pf-icon/icons/far/address-card.js +1 -1
  52. package/pf-icon/icons/far/bell-slash.js +1 -1
  53. package/pf-icon/icons/far/bell.js +1 -1
  54. package/pf-icon/icons/far/bookmark.js +1 -1
  55. package/pf-icon/icons/far/building.js +1 -1
  56. package/pf-icon/icons/far/calendar-check.js +1 -1
  57. package/pf-icon/icons/far/calendar-days.js +1 -1
  58. package/pf-icon/icons/far/calendar-minus.js +1 -1
  59. package/pf-icon/icons/far/calendar-plus.js +1 -1
  60. package/pf-icon/icons/far/calendar-xmark.js +1 -1
  61. package/pf-icon/icons/far/calendar.js +1 -1
  62. package/pf-icon/icons/far/chart-bar.js +1 -1
  63. package/pf-icon/icons/far/chess-bishop.js +1 -1
  64. package/pf-icon/icons/far/chess-king.js +1 -1
  65. package/pf-icon/icons/far/chess-knight.js +1 -1
  66. package/pf-icon/icons/far/chess-pawn.js +1 -1
  67. package/pf-icon/icons/far/chess-queen.js +1 -1
  68. package/pf-icon/icons/far/chess-rook.js +1 -1
  69. package/pf-icon/icons/far/circle-down.js +1 -1
  70. package/pf-icon/icons/far/circle-left.js +1 -1
  71. package/pf-icon/icons/far/circle-pause.js +1 -1
  72. package/pf-icon/icons/far/circle-play.js +1 -1
  73. package/pf-icon/icons/far/circle-question.js +1 -1
  74. package/pf-icon/icons/far/circle-right.js +1 -1
  75. package/pf-icon/icons/far/circle-stop.js +1 -1
  76. package/pf-icon/icons/far/circle-up.js +1 -1
  77. package/pf-icon/icons/far/circle-user.js +1 -1
  78. package/pf-icon/icons/far/clock.js +1 -1
  79. package/pf-icon/icons/far/clone.js +1 -1
  80. package/pf-icon/icons/far/closed-captioning.js +1 -1
  81. package/pf-icon/icons/far/comment-dots.js +1 -1
  82. package/pf-icon/icons/far/comment.js +1 -1
  83. package/pf-icon/icons/far/comments.js +1 -1
  84. package/pf-icon/icons/far/compass.js +1 -1
  85. package/pf-icon/icons/far/copy.js +1 -1
  86. package/pf-icon/icons/far/copyright.js +1 -1
  87. package/pf-icon/icons/far/credit-card.js +1 -1
  88. package/pf-icon/icons/far/envelope-open.js +1 -1
  89. package/pf-icon/icons/far/eye-slash.js +1 -1
  90. package/pf-icon/icons/far/eye.js +1 -1
  91. package/pf-icon/icons/far/face-angry.js +1 -1
  92. package/pf-icon/icons/far/face-dizzy.js +1 -1
  93. package/pf-icon/icons/far/face-flushed.js +1 -1
  94. package/pf-icon/icons/far/face-frown-open.js +1 -1
  95. package/pf-icon/icons/far/face-frown.js +1 -1
  96. package/pf-icon/icons/far/face-grimace.js +1 -1
  97. package/pf-icon/icons/far/face-grin-beam-sweat.js +1 -1
  98. package/pf-icon/icons/far/face-grin-beam.js +1 -1
  99. package/pf-icon/icons/far/face-grin-hearts.js +1 -1
  100. package/pf-icon/icons/far/face-grin-squint-tears.js +1 -1
  101. package/pf-icon/icons/far/face-grin-squint.js +1 -1
  102. package/pf-icon/icons/far/face-grin-stars.js +1 -1
  103. package/pf-icon/icons/far/face-grin-tears.js +1 -1
  104. package/pf-icon/icons/far/face-grin-tongue-squint.js +1 -1
  105. package/pf-icon/icons/far/face-grin-tongue-wink.js +1 -1
  106. package/pf-icon/icons/far/face-grin-tongue.js +1 -1
  107. package/pf-icon/icons/far/face-grin-wide.js +1 -1
  108. package/pf-icon/icons/far/face-grin-wink.js +1 -1
  109. package/pf-icon/icons/far/face-grin.js +1 -1
  110. package/pf-icon/icons/far/face-kiss-beam.js +1 -1
  111. package/pf-icon/icons/far/face-kiss-wink-heart.js +1 -1
  112. package/pf-icon/icons/far/face-kiss.js +1 -1
  113. package/pf-icon/icons/far/face-laugh-beam.js +1 -1
  114. package/pf-icon/icons/far/face-laugh-squint.js +1 -1
  115. package/pf-icon/icons/far/face-laugh-wink.js +1 -1
  116. package/pf-icon/icons/far/face-laugh.js +1 -1
  117. package/pf-icon/icons/far/face-meh-blank.js +1 -1
  118. package/pf-icon/icons/far/face-meh.js +1 -1
  119. package/pf-icon/icons/far/face-rolling-eyes.js +1 -1
  120. package/pf-icon/icons/far/face-sad-cry.js +1 -1
  121. package/pf-icon/icons/far/face-sad-tear.js +1 -1
  122. package/pf-icon/icons/far/face-smile-beam.js +1 -1
  123. package/pf-icon/icons/far/face-smile-wink.js +1 -1
  124. package/pf-icon/icons/far/face-smile.js +1 -1
  125. package/pf-icon/icons/far/face-surprise.js +1 -1
  126. package/pf-icon/icons/far/face-tired.js +1 -1
  127. package/pf-icon/icons/far/file-audio.js +1 -1
  128. package/pf-icon/icons/far/file-code.js +1 -1
  129. package/pf-icon/icons/far/file-excel.js +1 -1
  130. package/pf-icon/icons/far/file-image.js +1 -1
  131. package/pf-icon/icons/far/file-lines.js +1 -1
  132. package/pf-icon/icons/far/file-pdf.js +1 -1
  133. package/pf-icon/icons/far/file-powerpoint.js +1 -1
  134. package/pf-icon/icons/far/file-video.js +1 -1
  135. package/pf-icon/icons/far/file-word.js +1 -1
  136. package/pf-icon/icons/far/file-zipper.js +1 -1
  137. package/pf-icon/icons/far/file.js +1 -1
  138. package/pf-icon/icons/far/floppy-disk.js +1 -1
  139. package/pf-icon/icons/far/folder-closed.js +1 -1
  140. package/pf-icon/icons/far/folder-open.js +1 -1
  141. package/pf-icon/icons/far/folder.js +1 -1
  142. package/pf-icon/icons/far/font-awesome.js +1 -1
  143. package/pf-icon/icons/far/hand-back-fist.js +1 -1
  144. package/pf-icon/icons/far/hand-lizard.js +1 -1
  145. package/pf-icon/icons/far/hand-peace.js +1 -1
  146. package/pf-icon/icons/far/hand-point-down.js +1 -1
  147. package/pf-icon/icons/far/hand-point-left.js +1 -1
  148. package/pf-icon/icons/far/hand-point-right.js +1 -1
  149. package/pf-icon/icons/far/hand-point-up.js +1 -1
  150. package/pf-icon/icons/far/hand-pointer.js +1 -1
  151. package/pf-icon/icons/far/hand-scissors.js +1 -1
  152. package/pf-icon/icons/far/hand-spock.js +1 -1
  153. package/pf-icon/icons/far/hand.js +1 -1
  154. package/pf-icon/icons/far/handshake.js +1 -1
  155. package/pf-icon/icons/far/hard-drive.js +1 -1
  156. package/pf-icon/icons/far/hospital.js +1 -1
  157. package/pf-icon/icons/far/hourglass-half.js +1 -1
  158. package/pf-icon/icons/far/hourglass.js +1 -1
  159. package/pf-icon/icons/far/id-badge.js +1 -1
  160. package/pf-icon/icons/far/id-card.js +1 -1
  161. package/pf-icon/icons/far/image.js +1 -1
  162. package/pf-icon/icons/far/images.js +1 -1
  163. package/pf-icon/icons/far/keyboard.js +1 -1
  164. package/pf-icon/icons/far/lemon.js +1 -1
  165. package/pf-icon/icons/far/life-ring.js +1 -1
  166. package/pf-icon/icons/far/lightbulb.js +1 -1
  167. package/pf-icon/icons/far/map.js +1 -1
  168. package/pf-icon/icons/far/message.js +1 -1
  169. package/pf-icon/icons/far/money-bill-1.js +1 -1
  170. package/pf-icon/icons/far/moon.js +1 -1
  171. package/pf-icon/icons/far/newspaper.js +1 -1
  172. package/pf-icon/icons/far/object-group.js +1 -1
  173. package/pf-icon/icons/far/object-ungroup.js +1 -1
  174. package/pf-icon/icons/far/pen-to-square.js +1 -1
  175. package/pf-icon/icons/far/rectangle-list.js +1 -1
  176. package/pf-icon/icons/far/registered.js +1 -1
  177. package/pf-icon/icons/far/snowflake.js +1 -1
  178. package/pf-icon/icons/far/square-caret-down.js +1 -1
  179. package/pf-icon/icons/far/square-caret-left.js +1 -1
  180. package/pf-icon/icons/far/square-caret-right.js +1 -1
  181. package/pf-icon/icons/far/square-caret-up.js +1 -1
  182. package/pf-icon/icons/far/sun.js +1 -1
  183. package/pf-icon/icons/far/thumbs-down.js +1 -1
  184. package/pf-icon/icons/far/thumbs-up.js +1 -1
  185. package/pf-icon/icons/far/trash-can.js +1 -1
  186. package/pf-icon/icons/far/user.js +1 -1
  187. package/pf-icon/icons/far/window-maximize.js +1 -1
  188. package/pf-icon/icons/far/window-minimize.js +1 -1
  189. package/pf-icon/icons/far/window-restore.js +1 -1
  190. package/pf-icon/icons/fas/3.js +1 -1
  191. package/pf-icon/icons/fas/6.js +1 -1
  192. package/pf-icon/icons/fas/9.js +1 -1
  193. package/pf-icon/icons/fas/a.js +1 -1
  194. package/pf-icon/icons/fas/address-book.js +1 -1
  195. package/pf-icon/icons/fas/address-card.js +1 -1
  196. package/pf-icon/icons/fas/anchor-circle-check.js +1 -1
  197. package/pf-icon/icons/fas/anchor-circle-exclamation.js +1 -1
  198. package/pf-icon/icons/fas/anchor-circle-xmark.js +1 -1
  199. package/pf-icon/icons/fas/anchor-lock.js +1 -1
  200. package/pf-icon/icons/fas/anchor.js +1 -1
  201. package/pf-icon/icons/fas/angle-down.js +1 -1
  202. package/pf-icon/icons/fas/angle-left.js +1 -1
  203. package/pf-icon/icons/fas/angle-right.js +1 -1
  204. package/pf-icon/icons/fas/angle-up.js +1 -1
  205. package/pf-icon/icons/fas/angles-down.js +1 -1
  206. package/pf-icon/icons/fas/angles-left.js +1 -1
  207. package/pf-icon/icons/fas/angles-right.js +1 -1
  208. package/pf-icon/icons/fas/angles-up.js +1 -1
  209. package/pf-icon/icons/fas/arrow-down-1-9.js +1 -1
  210. package/pf-icon/icons/fas/arrow-down-9-1.js +1 -1
  211. package/pf-icon/icons/fas/arrow-down-a-z.js +1 -1
  212. package/pf-icon/icons/fas/arrow-down-long.js +1 -1
  213. package/pf-icon/icons/fas/arrow-down-z-a.js +1 -1
  214. package/pf-icon/icons/fas/arrow-left-long.js +1 -1
  215. package/pf-icon/icons/fas/arrow-right-from-bracket.js +1 -1
  216. package/pf-icon/icons/fas/arrow-rotate-left.js +1 -1
  217. package/pf-icon/icons/fas/arrow-rotate-right.js +1 -1
  218. package/pf-icon/icons/fas/arrow-up-1-9.js +1 -1
  219. package/pf-icon/icons/fas/arrow-up-9-1.js +1 -1
  220. package/pf-icon/icons/fas/arrow-up-a-z.js +1 -1
  221. package/pf-icon/icons/fas/arrow-up-long.js +1 -1
  222. package/pf-icon/icons/fas/arrow-up-right-dots.js +1 -1
  223. package/pf-icon/icons/fas/arrow-up-z-a.js +1 -1
  224. package/pf-icon/icons/fas/arrows-down-to-line.js +1 -1
  225. package/pf-icon/icons/fas/arrows-down-to-people.js +1 -1
  226. package/pf-icon/icons/fas/arrows-rotate.js +1 -1
  227. package/pf-icon/icons/fas/arrows-to-circle.js +1 -1
  228. package/pf-icon/icons/fas/arrows-to-dot.js +1 -1
  229. package/pf-icon/icons/fas/arrows-to-eye.js +1 -1
  230. package/pf-icon/icons/fas/arrows-turn-right.js +1 -1
  231. package/pf-icon/icons/fas/arrows-turn-to-dots.js +1 -1
  232. package/pf-icon/icons/fas/arrows-up-down.js +1 -1
  233. package/pf-icon/icons/fas/arrows-up-to-line.js +1 -1
  234. package/pf-icon/icons/fas/at.js +1 -1
  235. package/pf-icon/icons/fas/atom.js +1 -1
  236. package/pf-icon/icons/fas/award.js +1 -1
  237. package/pf-icon/icons/fas/b.js +1 -1
  238. package/pf-icon/icons/fas/baby-carriage.js +1 -1
  239. package/pf-icon/icons/fas/baby.js +1 -1
  240. package/pf-icon/icons/fas/bacteria.js +1 -1
  241. package/pf-icon/icons/fas/bacterium.js +1 -1
  242. package/pf-icon/icons/fas/bag-shopping.js +1 -1
  243. package/pf-icon/icons/fas/bahai.js +1 -1
  244. package/pf-icon/icons/fas/ban-smoking.js +1 -1
  245. package/pf-icon/icons/fas/ban.js +1 -1
  246. package/pf-icon/icons/fas/bandage.js +1 -1
  247. package/pf-icon/icons/fas/baseball-bat-ball.js +1 -1
  248. package/pf-icon/icons/fas/bath.js +1 -1
  249. package/pf-icon/icons/fas/battery-empty.js +1 -1
  250. package/pf-icon/icons/fas/battery-full.js +1 -1
  251. package/pf-icon/icons/fas/battery-half.js +1 -1
  252. package/pf-icon/icons/fas/battery-quarter.js +1 -1
  253. package/pf-icon/icons/fas/battery-three-quarters.js +1 -1
  254. package/pf-icon/icons/fas/bed-pulse.js +1 -1
  255. package/pf-icon/icons/fas/bed.js +1 -1
  256. package/pf-icon/icons/fas/biohazard.js +1 -1
  257. package/pf-icon/icons/fas/blender-phone.js +1 -1
  258. package/pf-icon/icons/fas/blender.js +1 -1
  259. package/pf-icon/icons/fas/bolt.js +1 -1
  260. package/pf-icon/icons/fas/bong.js +1 -1
  261. package/pf-icon/icons/fas/book-atlas.js +1 -1
  262. package/pf-icon/icons/fas/book-journal-whills.js +1 -1
  263. package/pf-icon/icons/fas/book-open-reader.js +1 -1
  264. package/pf-icon/icons/fas/book-open.js +1 -1
  265. package/pf-icon/icons/fas/book-skull.js +1 -1
  266. package/pf-icon/icons/fas/border-none.js +1 -1
  267. package/pf-icon/icons/fas/border-top-left.js +1 -1
  268. package/pf-icon/icons/fas/bore-hole.js +1 -1
  269. package/pf-icon/icons/fas/box-open.js +1 -1
  270. package/pf-icon/icons/fas/bridge-circle-check.js +1 -1
  271. package/pf-icon/icons/fas/bridge-circle-exclamation.js +1 -1
  272. package/pf-icon/icons/fas/bridge-circle-xmark.js +1 -1
  273. package/pf-icon/icons/fas/broom-ball.js +1 -1
  274. package/pf-icon/icons/fas/broom.js +1 -1
  275. package/pf-icon/icons/fas/brush.js +1 -1
  276. package/pf-icon/icons/fas/bugs.js +1 -1
  277. package/pf-icon/icons/fas/building-circle-arrow-right.js +1 -1
  278. package/pf-icon/icons/fas/building-circle-check.js +1 -1
  279. package/pf-icon/icons/fas/building-circle-exclamation.js +1 -1
  280. package/pf-icon/icons/fas/building-circle-xmark.js +1 -1
  281. package/pf-icon/icons/fas/building-columns.js +1 -1
  282. package/pf-icon/icons/fas/building-user.js +1 -1
  283. package/pf-icon/icons/fas/bullseye.js +1 -1
  284. package/pf-icon/icons/fas/burger.js +1 -1
  285. package/pf-icon/icons/fas/bus-simple.js +1 -1
  286. package/pf-icon/icons/fas/bus.js +1 -1
  287. package/pf-icon/icons/fas/business-time.js +1 -1
  288. package/pf-icon/icons/fas/cable-car.js +1 -1
  289. package/pf-icon/icons/fas/calculator.js +1 -1
  290. package/pf-icon/icons/fas/camera-retro.js +1 -1
  291. package/pf-icon/icons/fas/camera.js +1 -1
  292. package/pf-icon/icons/fas/cannabis.js +1 -1
  293. package/pf-icon/icons/fas/car-burst.js +1 -1
  294. package/pf-icon/icons/fas/car-on.js +1 -1
  295. package/pf-icon/icons/fas/car-side.js +1 -1
  296. package/pf-icon/icons/fas/car-tunnel.js +1 -1
  297. package/pf-icon/icons/fas/car.js +1 -1
  298. package/pf-icon/icons/fas/caravan.js +1 -1
  299. package/pf-icon/icons/fas/cash-register.js +1 -1
  300. package/pf-icon/icons/fas/cat.js +1 -1
  301. package/pf-icon/icons/fas/cedi-sign.js +1 -1
  302. package/pf-icon/icons/fas/cent-sign.js +1 -1
  303. package/pf-icon/icons/fas/chalkboard-user.js +1 -1
  304. package/pf-icon/icons/fas/champagne-glasses.js +1 -1
  305. package/pf-icon/icons/fas/chart-pie.js +1 -1
  306. package/pf-icon/icons/fas/chess-bishop.js +1 -1
  307. package/pf-icon/icons/fas/chess-king.js +1 -1
  308. package/pf-icon/icons/fas/chess-knight.js +1 -1
  309. package/pf-icon/icons/fas/chess-pawn.js +1 -1
  310. package/pf-icon/icons/fas/chess-queen.js +1 -1
  311. package/pf-icon/icons/fas/chess-rook.js +1 -1
  312. package/pf-icon/icons/fas/chess.js +1 -1
  313. package/pf-icon/icons/fas/chevron-down.js +1 -1
  314. package/pf-icon/icons/fas/chevron-left.js +1 -1
  315. package/pf-icon/icons/fas/chevron-right.js +1 -1
  316. package/pf-icon/icons/fas/chevron-up.js +1 -1
  317. package/pf-icon/icons/fas/child-combatant.js +1 -1
  318. package/pf-icon/icons/fas/child-dress.js +1 -1
  319. package/pf-icon/icons/fas/child-reaching.js +1 -1
  320. package/pf-icon/icons/fas/child.js +1 -1
  321. package/pf-icon/icons/fas/children.js +1 -1
  322. package/pf-icon/icons/fas/circle-arrow-down.js +1 -1
  323. package/pf-icon/icons/fas/circle-arrow-left.js +1 -1
  324. package/pf-icon/icons/fas/circle-arrow-right.js +1 -1
  325. package/pf-icon/icons/fas/circle-arrow-up.js +1 -1
  326. package/pf-icon/icons/fas/circle-chevron-down.js +1 -1
  327. package/pf-icon/icons/fas/circle-chevron-left.js +1 -1
  328. package/pf-icon/icons/fas/circle-chevron-right.js +1 -1
  329. package/pf-icon/icons/fas/circle-chevron-up.js +1 -1
  330. package/pf-icon/icons/fas/circle-down.js +1 -1
  331. package/pf-icon/icons/fas/circle-exclamation.js +1 -1
  332. package/pf-icon/icons/fas/circle-h.js +1 -1
  333. package/pf-icon/icons/fas/circle-info.js +1 -1
  334. package/pf-icon/icons/fas/circle-left.js +1 -1
  335. package/pf-icon/icons/fas/circle-pause.js +1 -1
  336. package/pf-icon/icons/fas/circle-play.js +1 -1
  337. package/pf-icon/icons/fas/circle-question.js +1 -1
  338. package/pf-icon/icons/fas/circle-radiation.js +1 -1
  339. package/pf-icon/icons/fas/circle-right.js +1 -1
  340. package/pf-icon/icons/fas/circle-stop.js +1 -1
  341. package/pf-icon/icons/fas/circle-up.js +1 -1
  342. package/pf-icon/icons/fas/circle-user.js +1 -1
  343. package/pf-icon/icons/fas/clock.js +1 -1
  344. package/pf-icon/icons/fas/cloud-meatball.js +1 -1
  345. package/pf-icon/icons/fas/cloud-moon-rain.js +1 -1
  346. package/pf-icon/icons/fas/cloud-showers-heavy.js +1 -1
  347. package/pf-icon/icons/fas/cloud-sun-rain.js +1 -1
  348. package/pf-icon/icons/fas/cloud-sun.js +1 -1
  349. package/pf-icon/icons/fas/colon-sign.js +1 -1
  350. package/pf-icon/icons/fas/comment-dots.js +1 -1
  351. package/pf-icon/icons/fas/comment-sms.js +1 -1
  352. package/pf-icon/icons/fas/compact-disc.js +1 -1
  353. package/pf-icon/icons/fas/compass-drafting.js +1 -1
  354. package/pf-icon/icons/fas/compass.js +1 -1
  355. package/pf-icon/icons/fas/computer.js +1 -1
  356. package/pf-icon/icons/fas/cookie-bite.js +1 -1
  357. package/pf-icon/icons/fas/cookie.js +1 -1
  358. package/pf-icon/icons/fas/copyright.js +1 -1
  359. package/pf-icon/icons/fas/cow.js +1 -1
  360. package/pf-icon/icons/fas/crosshairs.js +1 -1
  361. package/pf-icon/icons/fas/crow.js +1 -1
  362. package/pf-icon/icons/fas/cruzeiro-sign.js +1 -1
  363. package/pf-icon/icons/fas/cubes.js +1 -1
  364. package/pf-icon/icons/fas/d.js +1 -1
  365. package/pf-icon/icons/fas/democrat.js +1 -1
  366. package/pf-icon/icons/fas/dharmachakra.js +1 -1
  367. package/pf-icon/icons/fas/disease.js +1 -1
  368. package/pf-icon/icons/fas/divide.js +1 -1
  369. package/pf-icon/icons/fas/dog.js +1 -1
  370. package/pf-icon/icons/fas/dollar-sign.js +1 -1
  371. package/pf-icon/icons/fas/dolly.js +1 -1
  372. package/pf-icon/icons/fas/dong-sign.js +1 -1
  373. package/pf-icon/icons/fas/door-closed.js +1 -1
  374. package/pf-icon/icons/fas/door-open.js +1 -1
  375. package/pf-icon/icons/fas/dove.js +1 -1
  376. package/pf-icon/icons/fas/down-left-and-up-right-to-center.js +1 -1
  377. package/pf-icon/icons/fas/down-long.js +1 -1
  378. package/pf-icon/icons/fas/download.js +1 -1
  379. package/pf-icon/icons/fas/drum.js +1 -1
  380. package/pf-icon/icons/fas/e.js +1 -1
  381. package/pf-icon/icons/fas/ear-listen.js +1 -1
  382. package/pf-icon/icons/fas/earth-africa.js +1 -1
  383. package/pf-icon/icons/fas/earth-americas.js +1 -1
  384. package/pf-icon/icons/fas/earth-asia.js +1 -1
  385. package/pf-icon/icons/fas/earth-europe.js +1 -1
  386. package/pf-icon/icons/fas/earth-oceania.js +1 -1
  387. package/pf-icon/icons/fas/elevator.js +1 -1
  388. package/pf-icon/icons/fas/ellipsis-vertical.js +1 -1
  389. package/pf-icon/icons/fas/ellipsis.js +1 -1
  390. package/pf-icon/icons/fas/equals.js +1 -1
  391. package/pf-icon/icons/fas/eraser.js +1 -1
  392. package/pf-icon/icons/fas/exclamation.js +1 -1
  393. package/pf-icon/icons/fas/eye-low-vision.js +1 -1
  394. package/pf-icon/icons/fas/eye-slash.js +1 -1
  395. package/pf-icon/icons/fas/eye.js +1 -1
  396. package/pf-icon/icons/fas/f.js +1 -1
  397. package/pf-icon/icons/fas/face-angry.js +1 -1
  398. package/pf-icon/icons/fas/face-dizzy.js +1 -1
  399. package/pf-icon/icons/fas/face-flushed.js +1 -1
  400. package/pf-icon/icons/fas/face-frown-open.js +1 -1
  401. package/pf-icon/icons/fas/face-frown.js +1 -1
  402. package/pf-icon/icons/fas/face-grimace.js +1 -1
  403. package/pf-icon/icons/fas/face-grin-beam.js +1 -1
  404. package/pf-icon/icons/fas/face-grin-hearts.js +1 -1
  405. package/pf-icon/icons/fas/face-grin-squint-tears.js +1 -1
  406. package/pf-icon/icons/fas/face-grin-squint.js +1 -1
  407. package/pf-icon/icons/fas/face-grin-stars.js +1 -1
  408. package/pf-icon/icons/fas/face-grin-tongue-wink.js +1 -1
  409. package/pf-icon/icons/fas/face-grin-tongue.js +1 -1
  410. package/pf-icon/icons/fas/face-grin-wide.js +1 -1
  411. package/pf-icon/icons/fas/face-grin-wink.js +1 -1
  412. package/pf-icon/icons/fas/face-grin.js +1 -1
  413. package/pf-icon/icons/fas/face-kiss-beam.js +1 -1
  414. package/pf-icon/icons/fas/face-kiss-wink-heart.js +1 -1
  415. package/pf-icon/icons/fas/face-kiss.js +1 -1
  416. package/pf-icon/icons/fas/face-laugh-beam.js +1 -1
  417. package/pf-icon/icons/fas/face-laugh-squint.js +1 -1
  418. package/pf-icon/icons/fas/face-laugh-wink.js +1 -1
  419. package/pf-icon/icons/fas/face-laugh.js +1 -1
  420. package/pf-icon/icons/fas/face-meh-blank.js +1 -1
  421. package/pf-icon/icons/fas/face-meh.js +1 -1
  422. package/pf-icon/icons/fas/face-rolling-eyes.js +1 -1
  423. package/pf-icon/icons/fas/face-sad-tear.js +1 -1
  424. package/pf-icon/icons/fas/face-smile-beam.js +1 -1
  425. package/pf-icon/icons/fas/face-smile-wink.js +1 -1
  426. package/pf-icon/icons/fas/face-smile.js +1 -1
  427. package/pf-icon/icons/fas/face-surprise.js +1 -1
  428. package/pf-icon/icons/fas/face-tired.js +1 -1
  429. package/pf-icon/icons/fas/fan.js +1 -1
  430. package/pf-icon/icons/fas/fax.js +1 -1
  431. package/pf-icon/icons/fas/file-circle-check.js +1 -1
  432. package/pf-icon/icons/fas/file-circle-exclamation.js +1 -1
  433. package/pf-icon/icons/fas/file-circle-minus.js +1 -1
  434. package/pf-icon/icons/fas/file-circle-plus.js +1 -1
  435. package/pf-icon/icons/fas/file-circle-question.js +1 -1
  436. package/pf-icon/icons/fas/file-circle-xmark.js +1 -1
  437. package/pf-icon/icons/fas/file-export.js +1 -1
  438. package/pf-icon/icons/fas/file-image.js +1 -1
  439. package/pf-icon/icons/fas/file-pdf.js +1 -1
  440. package/pf-icon/icons/fas/fill.js +1 -1
  441. package/pf-icon/icons/fas/fingerprint.js +1 -1
  442. package/pf-icon/icons/fas/fire-burner.js +1 -1
  443. package/pf-icon/icons/fas/fire-extinguisher.js +1 -1
  444. package/pf-icon/icons/fas/fire.js +1 -1
  445. package/pf-icon/icons/fas/fish-fins.js +1 -1
  446. package/pf-icon/icons/fas/fish.js +1 -1
  447. package/pf-icon/icons/fas/floppy-disk.js +1 -1
  448. package/pf-icon/icons/fas/folder-closed.js +1 -1
  449. package/pf-icon/icons/fas/folder-minus.js +1 -1
  450. package/pf-icon/icons/fas/folder-plus.js +1 -1
  451. package/pf-icon/icons/fas/folder.js +1 -1
  452. package/pf-icon/icons/fas/frog.js +1 -1
  453. package/pf-icon/icons/fas/g.js +1 -1
  454. package/pf-icon/icons/fas/gauge-high.js +1 -1
  455. package/pf-icon/icons/fas/gauge-simple-high.js +1 -1
  456. package/pf-icon/icons/fas/gauge-simple.js +1 -1
  457. package/pf-icon/icons/fas/gauge.js +1 -1
  458. package/pf-icon/icons/fas/gear.js +1 -1
  459. package/pf-icon/icons/fas/gears.js +1 -1
  460. package/pf-icon/icons/fas/genderless.js +1 -1
  461. package/pf-icon/icons/fas/ghost.js +1 -1
  462. package/pf-icon/icons/fas/glass-water-droplet.js +1 -1
  463. package/pf-icon/icons/fas/glass-water.js +1 -1
  464. package/pf-icon/icons/fas/group-arrows-rotate.js +1 -1
  465. package/pf-icon/icons/fas/guitar.js +1 -1
  466. package/pf-icon/icons/fas/hamsa.js +1 -1
  467. package/pf-icon/icons/fas/hand-back-fist.js +1 -1
  468. package/pf-icon/icons/fas/hand-dots.js +1 -1
  469. package/pf-icon/icons/fas/hand-holding.js +1 -1
  470. package/pf-icon/icons/fas/hand-middle-finger.js +1 -1
  471. package/pf-icon/icons/fas/hand-peace.js +1 -1
  472. package/pf-icon/icons/fas/hand-spock.js +1 -1
  473. package/pf-icon/icons/fas/handcuffs.js +1 -1
  474. package/pf-icon/icons/fas/hands-bubbles.js +1 -1
  475. package/pf-icon/icons/fas/hands-clapping.js +1 -1
  476. package/pf-icon/icons/fas/hands-holding-child.js +1 -1
  477. package/pf-icon/icons/fas/hands-holding-circle.js +1 -1
  478. package/pf-icon/icons/fas/hands-praying.js +1 -1
  479. package/pf-icon/icons/fas/hands.js +1 -1
  480. package/pf-icon/icons/fas/handshake-angle.js +1 -1
  481. package/pf-icon/icons/fas/handshake-slash.js +1 -1
  482. package/pf-icon/icons/fas/handshake.js +1 -1
  483. package/pf-icon/icons/fas/hard-drive.js +1 -1
  484. package/pf-icon/icons/fas/hat-cowboy-side.js +1 -1
  485. package/pf-icon/icons/fas/head-side-cough-slash.js +1 -1
  486. package/pf-icon/icons/fas/head-side-cough.js +1 -1
  487. package/pf-icon/icons/fas/head-side-mask.js +1 -1
  488. package/pf-icon/icons/fas/head-side-virus.js +1 -1
  489. package/pf-icon/icons/fas/helicopter-symbol.js +1 -1
  490. package/pf-icon/icons/fas/helicopter.js +1 -1
  491. package/pf-icon/icons/fas/highlighter.js +1 -1
  492. package/pf-icon/icons/fas/hill-avalanche.js +1 -1
  493. package/pf-icon/icons/fas/hill-rockslide.js +1 -1
  494. package/pf-icon/icons/fas/hippo.js +1 -1
  495. package/pf-icon/icons/fas/holly-berry.js +1 -1
  496. package/pf-icon/icons/fas/horse-head.js +1 -1
  497. package/pf-icon/icons/fas/horse.js +1 -1
  498. package/pf-icon/icons/fas/hospital-user.js +1 -1
  499. package/pf-icon/icons/fas/hot-tub-person.js +1 -1
  500. package/pf-icon/icons/fas/hotel.js +1 -1
  501. package/pf-icon/icons/fas/house-chimney-user.js +1 -1
  502. package/pf-icon/icons/fas/house-circle-check.js +1 -1
  503. package/pf-icon/icons/fas/house-circle-exclamation.js +1 -1
  504. package/pf-icon/icons/fas/house-circle-xmark.js +1 -1
  505. package/pf-icon/icons/fas/house-fire.js +1 -1
  506. package/pf-icon/icons/fas/house-flood-water-circle-arrow-right.js +1 -1
  507. package/pf-icon/icons/fas/house-lock.js +1 -1
  508. package/pf-icon/icons/fas/house-medical-circle-check.js +1 -1
  509. package/pf-icon/icons/fas/house-medical-circle-exclamation.js +1 -1
  510. package/pf-icon/icons/fas/house-medical-circle-xmark.js +1 -1
  511. package/pf-icon/icons/fas/house-signal.js +1 -1
  512. package/pf-icon/icons/fas/house-user.js +1 -1
  513. package/pf-icon/icons/fas/hurricane.js +1 -1
  514. package/pf-icon/icons/fas/icons.js +1 -1
  515. package/pf-icon/icons/fas/id-badge.js +1 -1
  516. package/pf-icon/icons/fas/id-card-clip.js +1 -1
  517. package/pf-icon/icons/fas/id-card.js +1 -1
  518. package/pf-icon/icons/fas/image-portrait.js +1 -1
  519. package/pf-icon/icons/fas/image.js +1 -1
  520. package/pf-icon/icons/fas/images.js +1 -1
  521. package/pf-icon/icons/fas/info.js +1 -1
  522. package/pf-icon/icons/fas/jedi.js +1 -1
  523. package/pf-icon/icons/fas/key.js +1 -1
  524. package/pf-icon/icons/fas/khanda.js +1 -1
  525. package/pf-icon/icons/fas/kitchen-set.js +1 -1
  526. package/pf-icon/icons/fas/kiwi-bird.js +1 -1
  527. package/pf-icon/icons/fas/land-mine-on.js +1 -1
  528. package/pf-icon/icons/fas/left-long.js +1 -1
  529. package/pf-icon/icons/fas/life-ring.js +1 -1
  530. package/pf-icon/icons/fas/lightbulb.js +1 -1
  531. package/pf-icon/icons/fas/lines-leaning.js +1 -1
  532. package/pf-icon/icons/fas/link.js +1 -1
  533. package/pf-icon/icons/fas/lira-sign.js +1 -1
  534. package/pf-icon/icons/fas/list-check.js +1 -1
  535. package/pf-icon/icons/fas/list-ul.js +1 -1
  536. package/pf-icon/icons/fas/litecoin-sign.js +1 -1
  537. package/pf-icon/icons/fas/location-arrow.js +1 -1
  538. package/pf-icon/icons/fas/location-crosshairs.js +1 -1
  539. package/pf-icon/icons/fas/location-dot.js +1 -1
  540. package/pf-icon/icons/fas/location-pin-lock.js +1 -1
  541. package/pf-icon/icons/fas/locust.js +1 -1
  542. package/pf-icon/icons/fas/lungs-virus.js +1 -1
  543. package/pf-icon/icons/fas/magnifying-glass-location.js +1 -1
  544. package/pf-icon/icons/fas/magnifying-glass.js +1 -1
  545. package/pf-icon/icons/fas/map-location-dot.js +1 -1
  546. package/pf-icon/icons/fas/map-pin.js +1 -1
  547. package/pf-icon/icons/fas/mars-and-venus-burst.js +1 -1
  548. package/pf-icon/icons/fas/mars-and-venus.js +1 -1
  549. package/pf-icon/icons/fas/mars-double.js +1 -1
  550. package/pf-icon/icons/fas/mars-stroke-right.js +1 -1
  551. package/pf-icon/icons/fas/mars-stroke-up.js +1 -1
  552. package/pf-icon/icons/fas/mars-stroke.js +1 -1
  553. package/pf-icon/icons/fas/mars.js +1 -1
  554. package/pf-icon/icons/fas/mask.js +1 -1
  555. package/pf-icon/icons/fas/masks-theater.js +1 -1
  556. package/pf-icon/icons/fas/medal.js +1 -1
  557. package/pf-icon/icons/fas/mercury.js +1 -1
  558. package/pf-icon/icons/fas/meteor.js +1 -1
  559. package/pf-icon/icons/fas/microphone-lines.js +1 -1
  560. package/pf-icon/icons/fas/microphone.js +1 -1
  561. package/pf-icon/icons/fas/microscope.js +1 -1
  562. package/pf-icon/icons/fas/minus.js +1 -1
  563. package/pf-icon/icons/fas/mobile-button.js +1 -1
  564. package/pf-icon/icons/fas/mobile-retro.js +1 -1
  565. package/pf-icon/icons/fas/mobile-screen-button.js +1 -1
  566. package/pf-icon/icons/fas/mobile-screen.js +1 -1
  567. package/pf-icon/icons/fas/mobile.js +1 -1
  568. package/pf-icon/icons/fas/money-bill-1.js +1 -1
  569. package/pf-icon/icons/fas/money-bill-transfer.js +1 -1
  570. package/pf-icon/icons/fas/money-bill-trend-up.js +1 -1
  571. package/pf-icon/icons/fas/money-bill-wheat.js +1 -1
  572. package/pf-icon/icons/fas/money-bill.js +1 -1
  573. package/pf-icon/icons/fas/money-bills.js +1 -1
  574. package/pf-icon/icons/fas/money-check-dollar.js +1 -1
  575. package/pf-icon/icons/fas/motorcycle.js +1 -1
  576. package/pf-icon/icons/fas/mound.js +1 -1
  577. package/pf-icon/icons/fas/mountain-sun.js +1 -1
  578. package/pf-icon/icons/fas/mountain.js +1 -1
  579. package/pf-icon/icons/fas/neuter.js +1 -1
  580. package/pf-icon/icons/fas/not-equal.js +1 -1
  581. package/pf-icon/icons/fas/o.js +1 -1
  582. package/pf-icon/icons/fas/otter.js +1 -1
  583. package/pf-icon/icons/fas/outdent.js +1 -1
  584. package/pf-icon/icons/fas/p.js +1 -1
  585. package/pf-icon/icons/fas/paintbrush.js +1 -1
  586. package/pf-icon/icons/fas/palette.js +1 -1
  587. package/pf-icon/icons/fas/panorama.js +1 -1
  588. package/pf-icon/icons/fas/paperclip.js +1 -1
  589. package/pf-icon/icons/fas/parachute-box.js +1 -1
  590. package/pf-icon/icons/fas/passport.js +1 -1
  591. package/pf-icon/icons/fas/peace.js +1 -1
  592. package/pf-icon/icons/fas/pen-nib.js +1 -1
  593. package/pf-icon/icons/fas/people-arrows.js +1 -1
  594. package/pf-icon/icons/fas/people-carry-box.js +1 -1
  595. package/pf-icon/icons/fas/people-group.js +1 -1
  596. package/pf-icon/icons/fas/people-line.js +1 -1
  597. package/pf-icon/icons/fas/people-pulling.js +1 -1
  598. package/pf-icon/icons/fas/people-robbery.js +1 -1
  599. package/pf-icon/icons/fas/people-roof.js +1 -1
  600. package/pf-icon/icons/fas/percent.js +1 -1
  601. package/pf-icon/icons/fas/person-arrow-down-to-line.js +1 -1
  602. package/pf-icon/icons/fas/person-arrow-up-from-line.js +1 -1
  603. package/pf-icon/icons/fas/person-biking.js +1 -1
  604. package/pf-icon/icons/fas/person-booth.js +1 -1
  605. package/pf-icon/icons/fas/person-breastfeeding.js +1 -1
  606. package/pf-icon/icons/fas/person-burst.js +1 -1
  607. package/pf-icon/icons/fas/person-cane.js +1 -1
  608. package/pf-icon/icons/fas/person-chalkboard.js +1 -1
  609. package/pf-icon/icons/fas/person-circle-check.js +1 -1
  610. package/pf-icon/icons/fas/person-circle-exclamation.js +1 -1
  611. package/pf-icon/icons/fas/person-circle-minus.js +1 -1
  612. package/pf-icon/icons/fas/person-circle-plus.js +1 -1
  613. package/pf-icon/icons/fas/person-circle-question.js +1 -1
  614. package/pf-icon/icons/fas/person-circle-xmark.js +1 -1
  615. package/pf-icon/icons/fas/person-digging.js +1 -1
  616. package/pf-icon/icons/fas/person-dots-from-line.js +1 -1
  617. package/pf-icon/icons/fas/person-dress-burst.js +1 -1
  618. package/pf-icon/icons/fas/person-dress.js +1 -1
  619. package/pf-icon/icons/fas/person-drowning.js +1 -1
  620. package/pf-icon/icons/fas/person-falling-burst.js +1 -1
  621. package/pf-icon/icons/fas/person-falling.js +1 -1
  622. package/pf-icon/icons/fas/person-half-dress.js +1 -1
  623. package/pf-icon/icons/fas/person-harassing.js +1 -1
  624. package/pf-icon/icons/fas/person-hiking.js +1 -1
  625. package/pf-icon/icons/fas/person-military-pointing.js +1 -1
  626. package/pf-icon/icons/fas/person-military-rifle.js +1 -1
  627. package/pf-icon/icons/fas/person-military-to-person.js +1 -1
  628. package/pf-icon/icons/fas/person-praying.js +1 -1
  629. package/pf-icon/icons/fas/person-pregnant.js +1 -1
  630. package/pf-icon/icons/fas/person-rays.js +1 -1
  631. package/pf-icon/icons/fas/person-rifle.js +1 -1
  632. package/pf-icon/icons/fas/person-running.js +1 -1
  633. package/pf-icon/icons/fas/person-shelter.js +1 -1
  634. package/pf-icon/icons/fas/person-skating.js +1 -1
  635. package/pf-icon/icons/fas/person-skiing-nordic.js +1 -1
  636. package/pf-icon/icons/fas/person-skiing.js +1 -1
  637. package/pf-icon/icons/fas/person-snowboarding.js +1 -1
  638. package/pf-icon/icons/fas/person-swimming.js +1 -1
  639. package/pf-icon/icons/fas/person-through-window.js +1 -1
  640. package/pf-icon/icons/fas/person-walking-arrow-loop-left.js +1 -1
  641. package/pf-icon/icons/fas/person-walking-arrow-right.js +1 -1
  642. package/pf-icon/icons/fas/person-walking-dashed-line-arrow-right.js +1 -1
  643. package/pf-icon/icons/fas/person-walking-luggage.js +1 -1
  644. package/pf-icon/icons/fas/person-walking-with-cane.js +1 -1
  645. package/pf-icon/icons/fas/person-walking.js +1 -1
  646. package/pf-icon/icons/fas/person.js +1 -1
  647. package/pf-icon/icons/fas/photo-film.js +1 -1
  648. package/pf-icon/icons/fas/piggy-bank.js +1 -1
  649. package/pf-icon/icons/fas/pizza-slice.js +1 -1
  650. package/pf-icon/icons/fas/plane-arrival.js +1 -1
  651. package/pf-icon/icons/fas/plane-circle-check.js +1 -1
  652. package/pf-icon/icons/fas/plane-circle-exclamation.js +1 -1
  653. package/pf-icon/icons/fas/plane-circle-xmark.js +1 -1
  654. package/pf-icon/icons/fas/plane-slash.js +1 -1
  655. package/pf-icon/icons/fas/plug-circle-bolt.js +1 -1
  656. package/pf-icon/icons/fas/plug-circle-check.js +1 -1
  657. package/pf-icon/icons/fas/plug-circle-exclamation.js +1 -1
  658. package/pf-icon/icons/fas/plug-circle-minus.js +1 -1
  659. package/pf-icon/icons/fas/plug-circle-plus.js +1 -1
  660. package/pf-icon/icons/fas/plug-circle-xmark.js +1 -1
  661. package/pf-icon/icons/fas/plus.js +1 -1
  662. package/pf-icon/icons/fas/podcast.js +1 -1
  663. package/pf-icon/icons/fas/poo-storm.js +1 -1
  664. package/pf-icon/icons/fas/poo.js +1 -1
  665. package/pf-icon/icons/fas/print.js +1 -1
  666. package/pf-icon/icons/fas/pump-medical.js +1 -1
  667. package/pf-icon/icons/fas/pump-soap.js +1 -1
  668. package/pf-icon/icons/fas/q.js +1 -1
  669. package/pf-icon/icons/fas/qrcode.js +1 -1
  670. package/pf-icon/icons/fas/question.js +1 -1
  671. package/pf-icon/icons/fas/r.js +1 -1
  672. package/pf-icon/icons/fas/radiation.js +1 -1
  673. package/pf-icon/icons/fas/radio.js +1 -1
  674. package/pf-icon/icons/fas/record-vinyl.js +1 -1
  675. package/pf-icon/icons/fas/rectangle-ad.js +1 -1
  676. package/pf-icon/icons/fas/rectangle-list.js +1 -1
  677. package/pf-icon/icons/fas/recycle.js +1 -1
  678. package/pf-icon/icons/fas/registered.js +1 -1
  679. package/pf-icon/icons/fas/restroom.js +1 -1
  680. package/pf-icon/icons/fas/ribbon.js +1 -1
  681. package/pf-icon/icons/fas/right-from-bracket.js +1 -1
  682. package/pf-icon/icons/fas/right-long.js +1 -1
  683. package/pf-icon/icons/fas/right-to-bracket.js +1 -1
  684. package/pf-icon/icons/fas/road-circle-check.js +1 -1
  685. package/pf-icon/icons/fas/road-circle-exclamation.js +1 -1
  686. package/pf-icon/icons/fas/road-circle-xmark.js +1 -1
  687. package/pf-icon/icons/fas/robot.js +1 -1
  688. package/pf-icon/icons/fas/rocket.js +1 -1
  689. package/pf-icon/icons/fas/rotate-left.js +1 -1
  690. package/pf-icon/icons/fas/rotate-right.js +1 -1
  691. package/pf-icon/icons/fas/rotate.js +1 -1
  692. package/pf-icon/icons/fas/route.js +1 -1
  693. package/pf-icon/icons/fas/rss.js +1 -1
  694. package/pf-icon/icons/fas/ruler.js +1 -1
  695. package/pf-icon/icons/fas/s.js +1 -1
  696. package/pf-icon/icons/fas/sack-dollar.js +1 -1
  697. package/pf-icon/icons/fas/sailboat.js +1 -1
  698. package/pf-icon/icons/fas/scale-balanced.js +1 -1
  699. package/pf-icon/icons/fas/scale-unbalanced-flip.js +1 -1
  700. package/pf-icon/icons/fas/scale-unbalanced.js +1 -1
  701. package/pf-icon/icons/fas/school-flag.js +1 -1
  702. package/pf-icon/icons/fas/scissors.js +1 -1
  703. package/pf-icon/icons/fas/screwdriver-wrench.js +1 -1
  704. package/pf-icon/icons/fas/section.js +1 -1
  705. package/pf-icon/icons/fas/seedling.js +1 -1
  706. package/pf-icon/icons/fas/server.js +1 -1
  707. package/pf-icon/icons/fas/shapes.js +1 -1
  708. package/pf-icon/icons/fas/shield-cat.js +1 -1
  709. package/pf-icon/icons/fas/shield-dog.js +1 -1
  710. package/pf-icon/icons/fas/shield-halved.js +1 -1
  711. package/pf-icon/icons/fas/shield-heart.js +1 -1
  712. package/pf-icon/icons/fas/shield-virus.js +1 -1
  713. package/pf-icon/icons/fas/shield.js +1 -1
  714. package/pf-icon/icons/fas/shower.js +1 -1
  715. package/pf-icon/icons/fas/shrimp.js +1 -1
  716. package/pf-icon/icons/fas/signs-post.js +1 -1
  717. package/pf-icon/icons/fas/skull-crossbones.js +1 -1
  718. package/pf-icon/icons/fas/skull.js +1 -1
  719. package/pf-icon/icons/fas/sliders.js +1 -1
  720. package/pf-icon/icons/fas/snowflake.js +1 -1
  721. package/pf-icon/icons/fas/snowman.js +1 -1
  722. package/pf-icon/icons/fas/snowplow.js +1 -1
  723. package/pf-icon/icons/fas/soap.js +1 -1
  724. package/pf-icon/icons/fas/solar-panel.js +1 -1
  725. package/pf-icon/icons/fas/spaghetti-monster-flying.js +1 -1
  726. package/pf-icon/icons/fas/spell-check.js +1 -1
  727. package/pf-icon/icons/fas/spider.js +1 -1
  728. package/pf-icon/icons/fas/splotch.js +1 -1
  729. package/pf-icon/icons/fas/spray-can-sparkles.js +1 -1
  730. package/pf-icon/icons/fas/spray-can.js +1 -1
  731. package/pf-icon/icons/fas/square-person-confined.js +1 -1
  732. package/pf-icon/icons/fas/square-root-variable.js +1 -1
  733. package/pf-icon/icons/fas/square-rss.js +1 -1
  734. package/pf-icon/icons/fas/square-up-right.js +1 -1
  735. package/pf-icon/icons/fas/square-virus.js +1 -1
  736. package/pf-icon/icons/fas/staff-snake.js +1 -1
  737. package/pf-icon/icons/fas/star-and-crescent.js +1 -1
  738. package/pf-icon/icons/fas/star-of-david.js +1 -1
  739. package/pf-icon/icons/fas/star-of-life.js +1 -1
  740. package/pf-icon/icons/fas/sterling-sign.js +1 -1
  741. package/pf-icon/icons/fas/stethoscope.js +1 -1
  742. package/pf-icon/icons/fas/stopwatch-20.js +1 -1
  743. package/pf-icon/icons/fas/stopwatch.js +1 -1
  744. package/pf-icon/icons/fas/store.js +1 -1
  745. package/pf-icon/icons/fas/street-view.js +1 -1
  746. package/pf-icon/icons/fas/stroopwafel.js +1 -1
  747. package/pf-icon/icons/fas/sun-plant-wilt.js +1 -1
  748. package/pf-icon/icons/fas/sun.js +1 -1
  749. package/pf-icon/icons/fas/swatchbook.js +1 -1
  750. package/pf-icon/icons/fas/table-tennis-paddle-ball.js +1 -1
  751. package/pf-icon/icons/fas/tablet-button.js +1 -1
  752. package/pf-icon/icons/fas/tablet-screen-button.js +1 -1
  753. package/pf-icon/icons/fas/tachograph-digital.js +1 -1
  754. package/pf-icon/icons/fas/tag.js +1 -1
  755. package/pf-icon/icons/fas/tags.js +1 -1
  756. package/pf-icon/icons/fas/tape.js +1 -1
  757. package/pf-icon/icons/fas/tarp-droplet.js +1 -1
  758. package/pf-icon/icons/fas/tarp.js +1 -1
  759. package/pf-icon/icons/fas/taxi.js +1 -1
  760. package/pf-icon/icons/fas/temperature-empty.js +1 -1
  761. package/pf-icon/icons/fas/temperature-full.js +1 -1
  762. package/pf-icon/icons/fas/temperature-half.js +1 -1
  763. package/pf-icon/icons/fas/temperature-high.js +1 -1
  764. package/pf-icon/icons/fas/temperature-low.js +1 -1
  765. package/pf-icon/icons/fas/temperature-quarter.js +1 -1
  766. package/pf-icon/icons/fas/temperature-three-quarters.js +1 -1
  767. package/pf-icon/icons/fas/tent-arrow-left-right.js +1 -1
  768. package/pf-icon/icons/fas/tent-arrow-turn-left.js +1 -1
  769. package/pf-icon/icons/fas/tent-arrows-down.js +1 -1
  770. package/pf-icon/icons/fas/text-height.js +1 -1
  771. package/pf-icon/icons/fas/text-slash.js +1 -1
  772. package/pf-icon/icons/fas/text-width.js +1 -1
  773. package/pf-icon/icons/fas/thumbs-down.js +1 -1
  774. package/pf-icon/icons/fas/thumbs-up.js +1 -1
  775. package/pf-icon/icons/fas/ticket-simple.js +1 -1
  776. package/pf-icon/icons/fas/ticket.js +1 -1
  777. package/pf-icon/icons/fas/timeline.js +1 -1
  778. package/pf-icon/icons/fas/toggle-off.js +1 -1
  779. package/pf-icon/icons/fas/toggle-on.js +1 -1
  780. package/pf-icon/icons/fas/toilet-paper.js +1 -1
  781. package/pf-icon/icons/fas/torii-gate.js +1 -1
  782. package/pf-icon/icons/fas/tractor.js +1 -1
  783. package/pf-icon/icons/fas/traffic-light.js +1 -1
  784. package/pf-icon/icons/fas/trailer.js +1 -1
  785. package/pf-icon/icons/fas/train-subway.js +1 -1
  786. package/pf-icon/icons/fas/train-tram.js +1 -1
  787. package/pf-icon/icons/fas/train.js +1 -1
  788. package/pf-icon/icons/fas/transgender.js +1 -1
  789. package/pf-icon/icons/fas/triangle-exclamation.js +1 -1
  790. package/pf-icon/icons/fas/truck-arrow-right.js +1 -1
  791. package/pf-icon/icons/fas/truck-droplet.js +1 -1
  792. package/pf-icon/icons/fas/truck-fast.js +1 -1
  793. package/pf-icon/icons/fas/truck-field-un.js +1 -1
  794. package/pf-icon/icons/fas/truck-field.js +1 -1
  795. package/pf-icon/icons/fas/truck-front.js +1 -1
  796. package/pf-icon/icons/fas/truck-medical.js +1 -1
  797. package/pf-icon/icons/fas/truck-monster.js +1 -1
  798. package/pf-icon/icons/fas/truck-moving.js +1 -1
  799. package/pf-icon/icons/fas/truck-pickup.js +1 -1
  800. package/pf-icon/icons/fas/truck-plane.js +1 -1
  801. package/pf-icon/icons/fas/truck-ramp-box.js +1 -1
  802. package/pf-icon/icons/fas/truck.js +1 -1
  803. package/pf-icon/icons/fas/tty.js +1 -1
  804. package/pf-icon/icons/fas/turkish-lira-sign.js +1 -1
  805. package/pf-icon/icons/fas/turn-down.js +1 -1
  806. package/pf-icon/icons/fas/turn-up.js +1 -1
  807. package/pf-icon/icons/fas/umbrella.js +1 -1
  808. package/pf-icon/icons/fas/universal-access.js +1 -1
  809. package/pf-icon/icons/fas/up-long.js +1 -1
  810. package/pf-icon/icons/fas/up-right-and-down-left-from-center.js +1 -1
  811. package/pf-icon/icons/fas/upload.js +1 -1
  812. package/pf-icon/icons/fas/user-astronaut.js +1 -1
  813. package/pf-icon/icons/fas/user-check.js +1 -1
  814. package/pf-icon/icons/fas/user-clock.js +1 -1
  815. package/pf-icon/icons/fas/user-doctor.js +1 -1
  816. package/pf-icon/icons/fas/user-gear.js +1 -1
  817. package/pf-icon/icons/fas/user-graduate.js +1 -1
  818. package/pf-icon/icons/fas/user-group.js +1 -1
  819. package/pf-icon/icons/fas/user-large.js +1 -1
  820. package/pf-icon/icons/fas/user-lock.js +1 -1
  821. package/pf-icon/icons/fas/user-minus.js +1 -1
  822. package/pf-icon/icons/fas/user-ninja.js +1 -1
  823. package/pf-icon/icons/fas/user-nurse.js +1 -1
  824. package/pf-icon/icons/fas/user-pen.js +1 -1
  825. package/pf-icon/icons/fas/user-plus.js +1 -1
  826. package/pf-icon/icons/fas/user-shield.js +1 -1
  827. package/pf-icon/icons/fas/user-tag.js +1 -1
  828. package/pf-icon/icons/fas/user-tie.js +1 -1
  829. package/pf-icon/icons/fas/user-xmark.js +1 -1
  830. package/pf-icon/icons/fas/user.js +1 -1
  831. package/pf-icon/icons/fas/users-between-lines.js +1 -1
  832. package/pf-icon/icons/fas/users-gear.js +1 -1
  833. package/pf-icon/icons/fas/users-line.js +1 -1
  834. package/pf-icon/icons/fas/users-rays.js +1 -1
  835. package/pf-icon/icons/fas/users-rectangle.js +1 -1
  836. package/pf-icon/icons/fas/users-slash.js +1 -1
  837. package/pf-icon/icons/fas/users-viewfinder.js +1 -1
  838. package/pf-icon/icons/fas/users.js +1 -1
  839. package/pf-icon/icons/fas/v.js +1 -1
  840. package/pf-icon/icons/fas/van-shuttle.js +1 -1
  841. package/pf-icon/icons/fas/vault.js +1 -1
  842. package/pf-icon/icons/fas/venus-double.js +1 -1
  843. package/pf-icon/icons/fas/venus-mars.js +1 -1
  844. package/pf-icon/icons/fas/venus.js +1 -1
  845. package/pf-icon/icons/fas/vest-patches.js +1 -1
  846. package/pf-icon/icons/fas/vial-circle-check.js +1 -1
  847. package/pf-icon/icons/fas/vial-virus.js +1 -1
  848. package/pf-icon/icons/fas/virus-covid.js +1 -1
  849. package/pf-icon/icons/fas/virus.js +1 -1
  850. package/pf-icon/icons/fas/viruses.js +1 -1
  851. package/pf-icon/icons/fas/voicemail.js +1 -1
  852. package/pf-icon/icons/fas/vr-cardboard.js +1 -1
  853. package/pf-icon/icons/fas/wallet.js +1 -1
  854. package/pf-icon/icons/fas/wand-sparkles.js +1 -1
  855. package/pf-icon/icons/fas/weight-hanging.js +1 -1
  856. package/pf-icon/icons/fas/weight-scale.js +1 -1
  857. package/pf-icon/icons/fas/wheat-awn-circle-exclamation.js +1 -1
  858. package/pf-icon/icons/fas/wheelchair-move.js +1 -1
  859. package/pf-icon/icons/fas/wheelchair.js +1 -1
  860. package/pf-icon/icons/fas/wifi.js +1 -1
  861. package/pf-icon/icons/fas/wine-glass-empty.js +1 -1
  862. package/pf-icon/icons/fas/wine-glass.js +1 -1
  863. package/pf-icon/icons/fas/worm.js +1 -1
  864. package/pf-icon/icons/fas/wrench.js +1 -1
  865. package/pf-icon/icons/fas/x-ray.js +1 -1
  866. package/pf-icon/icons/fas/yin-yang.js +1 -1
  867. package/pf-icon/icons/patternfly/data-processor.js +1 -0
  868. package/pf-icon/pf-icon.js +3 -2
  869. package/pf-icon/pf-icon.js.map +1 -1
  870. package/pf-jump-links/README.md +27 -0
  871. package/pf-jump-links/pf-jump-links-item.js +4 -2
  872. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  873. package/pf-jump-links/pf-jump-links-list.js +2 -2
  874. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  875. package/pf-jump-links/pf-jump-links.js +4 -2
  876. package/pf-jump-links/pf-jump-links.js.map +1 -1
  877. package/pf-label/BaseLabel.js +1 -1
  878. package/pf-label/README.md +61 -0
  879. package/pf-label/pf-label.js +3 -2
  880. package/pf-label/pf-label.js.map +1 -1
  881. package/pf-modal/README.md +63 -0
  882. package/pf-modal/pf-modal.js +4 -2
  883. package/pf-modal/pf-modal.js.map +1 -1
  884. package/pf-panel/README.md +10 -0
  885. package/pf-panel/pf-panel.js +3 -2
  886. package/pf-panel/pf-panel.js.map +1 -1
  887. package/pf-progress-stepper/README.md +41 -0
  888. package/pf-progress-stepper/pf-progress-step.js +3 -2
  889. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  890. package/pf-progress-stepper/pf-progress-stepper.js +3 -2
  891. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  892. package/pf-spinner/BaseSpinner.js +2 -2
  893. package/pf-spinner/BaseSpinner.js.map +1 -1
  894. package/pf-spinner/README.md +46 -0
  895. package/pf-spinner/pf-spinner.js +2 -2
  896. package/pf-spinner/pf-spinner.js.map +1 -1
  897. package/pf-switch/BaseSwitch.js +2 -2
  898. package/pf-switch/BaseSwitch.js.map +1 -1
  899. package/pf-switch/README.md +91 -0
  900. package/pf-switch/pf-switch.js +2 -2
  901. package/pf-switch/pf-switch.js.map +1 -1
  902. package/pf-tabs/BaseTab.js +3 -2
  903. package/pf-tabs/BaseTab.js.map +1 -1
  904. package/pf-tabs/BaseTabPanel.js +1 -1
  905. package/pf-tabs/BaseTabs.d.ts +1 -3
  906. package/pf-tabs/BaseTabs.js +33 -74
  907. package/pf-tabs/BaseTabs.js.map +1 -1
  908. package/pf-tabs/README.md +40 -0
  909. package/pf-tabs/pf-tab-panel.js +2 -2
  910. package/pf-tabs/pf-tab-panel.js.map +1 -1
  911. package/pf-tabs/pf-tab.js +3 -2
  912. package/pf-tabs/pf-tab.js.map +1 -1
  913. package/pf-tabs/pf-tabs.css +1 -0
  914. package/pf-tabs/pf-tabs.js +3 -2
  915. package/pf-tabs/pf-tabs.js.map +1 -1
  916. package/pf-tile/README.md +12 -0
  917. package/pf-tile/pf-tile.js +3 -3
  918. package/pf-tile/pf-tile.js.map +1 -1
  919. package/pf-timestamp/README.md +64 -0
  920. package/pf-timestamp/pf-timestamp.js +3 -2
  921. package/pf-timestamp/pf-timestamp.js.map +1 -1
  922. package/pf-tooltip/BaseTooltip.js +1 -1
  923. package/pf-tooltip/README.md +64 -0
  924. package/pf-tooltip/pf-tooltip.js +3 -2
  925. package/pf-tooltip/pf-tooltip.js.map +1 -1
  926. package/pfe.min.js +104 -99
  927. package/pfe.min.js.map +4 -4
  928. package/pf-accordion/demo/demo.css +0 -9
  929. package/pf-accordion/demo/pf-accordion.js +0 -10
  930. package/pf-accordion/test/pf-accordion.e2e.d.ts +0 -1
  931. package/pf-accordion/test/pf-accordion.e2e.js +0 -11
  932. package/pf-accordion/test/pf-accordion.e2e.js.map +0 -1
  933. package/pf-accordion/test/pf-accordion.spec.d.ts +0 -1
  934. package/pf-accordion/test/pf-accordion.spec.js +0 -971
  935. package/pf-accordion/test/pf-accordion.spec.js.map +0 -1
  936. package/pf-avatar/demo/demo.css +0 -18
  937. package/pf-avatar/demo/pf-avatar.js +0 -1
  938. package/pf-avatar/test/pf-avatar.e2e.d.ts +0 -1
  939. package/pf-avatar/test/pf-avatar.e2e.js +0 -11
  940. package/pf-avatar/test/pf-avatar.e2e.js.map +0 -1
  941. package/pf-avatar/test/pf-avatar.spec.d.ts +0 -1
  942. package/pf-avatar/test/pf-avatar.spec.js +0 -42
  943. package/pf-avatar/test/pf-avatar.spec.js.map +0 -1
  944. package/pf-badge/demo/demo.css +0 -9
  945. package/pf-badge/demo/pf-badge.js +0 -8
  946. package/pf-badge/test/pf-badge.e2e.d.ts +0 -1
  947. package/pf-badge/test/pf-badge.e2e.js +0 -11
  948. package/pf-badge/test/pf-badge.e2e.js.map +0 -1
  949. package/pf-badge/test/pf-badge.spec.d.ts +0 -1
  950. package/pf-badge/test/pf-badge.spec.js +0 -49
  951. package/pf-badge/test/pf-badge.spec.js.map +0 -1
  952. package/pf-button/demo/demo.css +0 -11
  953. package/pf-button/demo/form-control.js +0 -15
  954. package/pf-button/demo/pf-button.js +0 -28
  955. package/pf-button/test/pf-button.e2e.d.ts +0 -1
  956. package/pf-button/test/pf-button.e2e.js +0 -11
  957. package/pf-button/test/pf-button.e2e.js.map +0 -1
  958. package/pf-button/test/pf-button.spec.d.ts +0 -1
  959. package/pf-button/test/pf-button.spec.js +0 -94
  960. package/pf-button/test/pf-button.spec.js.map +0 -1
  961. package/pf-card/demo/demo.css +0 -44
  962. package/pf-card/demo/pf-card.js +0 -23
  963. package/pf-card/test/pf-card.e2e.d.ts +0 -1
  964. package/pf-card/test/pf-card.e2e.js +0 -11
  965. package/pf-card/test/pf-card.e2e.js.map +0 -1
  966. package/pf-card/test/pf-card.spec.d.ts +0 -1
  967. package/pf-card/test/pf-card.spec.js +0 -153
  968. package/pf-card/test/pf-card.spec.js.map +0 -1
  969. package/pf-clipboard-copy/demo/demo.css +0 -12
  970. package/pf-clipboard-copy/demo/pf-clipboard-copy.js +0 -1
  971. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.d.ts +0 -1
  972. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +0 -11
  973. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +0 -1
  974. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.d.ts +0 -1
  975. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js +0 -100
  976. package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js.map +0 -1
  977. package/pf-code-block/demo/demo.css +0 -4
  978. package/pf-code-block/demo/pf-code-block.js +0 -2
  979. package/pf-code-block/test/pf-code-block.e2e.d.ts +0 -1
  980. package/pf-code-block/test/pf-code-block.e2e.js +0 -11
  981. package/pf-code-block/test/pf-code-block.e2e.js.map +0 -1
  982. package/pf-code-block/test/pf-code-block.spec.d.ts +0 -1
  983. package/pf-code-block/test/pf-code-block.spec.js +0 -86
  984. package/pf-code-block/test/pf-code-block.spec.js.map +0 -1
  985. package/pf-icon/demo/custom-icon-sets.js +0 -5
  986. package/pf-icon/demo/demo.css +0 -53
  987. package/pf-icon/demo/icons/rh/boba-tea.js +0 -5
  988. package/pf-icon/demo/icons/rh/lifecycle.js +0 -3
  989. package/pf-icon/demo/pf-icon.js +0 -68
  990. package/pf-icon/test/pf-icon.e2e.d.ts +0 -1
  991. package/pf-icon/test/pf-icon.e2e.js +0 -11
  992. package/pf-icon/test/pf-icon.e2e.js.map +0 -1
  993. package/pf-icon/test/pf-icon.spec.d.ts +0 -1
  994. package/pf-icon/test/pf-icon.spec.js +0 -127
  995. package/pf-icon/test/pf-icon.spec.js.map +0 -1
  996. package/pf-icon/test/rh-icon-aed.js +0 -2
  997. package/pf-icon/test/rh-icon-api.js +0 -2
  998. package/pf-icon/test/rh-icon-atom.js +0 -2
  999. package/pf-icon/test/rh-icon-bike.js +0 -2
  1000. package/pf-jump-links/demo/demo.css +0 -4
  1001. package/pf-jump-links/demo/pf-jump-links.js +0 -4
  1002. package/pf-jump-links/demo/scrollspy-with-subsections.css +0 -60
  1003. package/pf-jump-links/demo/scrollspy-with-subsections.js +0 -34
  1004. package/pf-jump-links/test/pf-jump-links.e2e.d.ts +0 -1
  1005. package/pf-jump-links/test/pf-jump-links.e2e.js +0 -11
  1006. package/pf-jump-links/test/pf-jump-links.e2e.js.map +0 -1
  1007. package/pf-jump-links/test/pf-jump-links.spec.d.ts +0 -1
  1008. package/pf-jump-links/test/pf-jump-links.spec.js +0 -88
  1009. package/pf-jump-links/test/pf-jump-links.spec.js.map +0 -1
  1010. package/pf-label/demo/demo.css +0 -37
  1011. package/pf-label/demo/pf-label.js +0 -10
  1012. package/pf-label/test/pf-label.e2e.d.ts +0 -1
  1013. package/pf-label/test/pf-label.e2e.js +0 -11
  1014. package/pf-label/test/pf-label.e2e.js.map +0 -1
  1015. package/pf-label/test/pf-label.spec.d.ts +0 -1
  1016. package/pf-label/test/pf-label.spec.js +0 -108
  1017. package/pf-label/test/pf-label.spec.js.map +0 -1
  1018. package/pf-modal/demo/demo.css +0 -32
  1019. package/pf-modal/demo/pf-modal.js +0 -10
  1020. package/pf-modal/test/pf-modal.e2e.d.ts +0 -1
  1021. package/pf-modal/test/pf-modal.e2e.js +0 -13
  1022. package/pf-modal/test/pf-modal.e2e.js.map +0 -1
  1023. package/pf-modal/test/pf-modal.spec.d.ts +0 -1
  1024. package/pf-modal/test/pf-modal.spec.js +0 -209
  1025. package/pf-modal/test/pf-modal.spec.js.map +0 -1
  1026. package/pf-panel/demo/demo.css +0 -7
  1027. package/pf-panel/demo/pf-panel.js +0 -1
  1028. package/pf-panel/test/pf-panel.e2e.d.ts +0 -1
  1029. package/pf-panel/test/pf-panel.e2e.js +0 -11
  1030. package/pf-panel/test/pf-panel.e2e.js.map +0 -1
  1031. package/pf-panel/test/pf-panel.spec.d.ts +0 -1
  1032. package/pf-panel/test/pf-panel.spec.js +0 -19
  1033. package/pf-panel/test/pf-panel.spec.js.map +0 -1
  1034. package/pf-progress-stepper/demo/demo.css +0 -10
  1035. package/pf-progress-stepper/demo/pf-progress-stepper.js +0 -13
  1036. package/pf-progress-stepper/test/pf-progress-stepper.e2e.d.ts +0 -1
  1037. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +0 -11
  1038. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +0 -1
  1039. package/pf-progress-stepper/test/pf-progress-stepper.spec.d.ts +0 -1
  1040. package/pf-progress-stepper/test/pf-progress-stepper.spec.js +0 -13
  1041. package/pf-progress-stepper/test/pf-progress-stepper.spec.js.map +0 -1
  1042. package/pf-spinner/demo/demo.css +0 -2
  1043. package/pf-spinner/demo/pf-spinner.js +0 -2
  1044. package/pf-spinner/test/pf-spinner.e2e.d.ts +0 -1
  1045. package/pf-spinner/test/pf-spinner.e2e.js +0 -11
  1046. package/pf-spinner/test/pf-spinner.e2e.js.map +0 -1
  1047. package/pf-spinner/test/pf-spinner.spec.d.ts +0 -1
  1048. package/pf-spinner/test/pf-spinner.spec.js +0 -52
  1049. package/pf-spinner/test/pf-spinner.spec.js.map +0 -1
  1050. package/pf-switch/demo/demo.css +0 -32
  1051. package/pf-switch/demo/pf-switch.js +0 -13
  1052. package/pf-switch/test/pf-switch.e2e.d.ts +0 -1
  1053. package/pf-switch/test/pf-switch.e2e.js +0 -11
  1054. package/pf-switch/test/pf-switch.e2e.js.map +0 -1
  1055. package/pf-switch/test/pf-switch.spec.d.ts +0 -1
  1056. package/pf-switch/test/pf-switch.spec.js +0 -164
  1057. package/pf-switch/test/pf-switch.spec.js.map +0 -1
  1058. package/pf-tabs/demo/demo.css +0 -62
  1059. package/pf-tabs/demo/pf-tabs.js +0 -44
  1060. package/pf-tabs/test/pf-tabs.e2e.d.ts +0 -1
  1061. package/pf-tabs/test/pf-tabs.e2e.js +0 -13
  1062. package/pf-tabs/test/pf-tabs.e2e.js.map +0 -1
  1063. package/pf-tabs/test/pf-tabs.spec.d.ts +0 -1
  1064. package/pf-tabs/test/pf-tabs.spec.js +0 -234
  1065. package/pf-tabs/test/pf-tabs.spec.js.map +0 -1
  1066. package/pf-tile/demo/demo.css +0 -59
  1067. package/pf-tile/demo/pf-tile.js +0 -21
  1068. package/pf-tile/test/pf-tile.e2e.d.ts +0 -1
  1069. package/pf-tile/test/pf-tile.e2e.js +0 -11
  1070. package/pf-tile/test/pf-tile.e2e.js.map +0 -1
  1071. package/pf-tile/test/pf-tile.spec.d.ts +0 -1
  1072. package/pf-tile/test/pf-tile.spec.js +0 -51
  1073. package/pf-tile/test/pf-tile.spec.js.map +0 -1
  1074. package/pf-timestamp/demo/pf-timestamp.js +0 -3
  1075. package/pf-timestamp/test/pf-timestamp.e2e.d.ts +0 -1
  1076. package/pf-timestamp/test/pf-timestamp.e2e.js +0 -12
  1077. package/pf-timestamp/test/pf-timestamp.e2e.js.map +0 -1
  1078. package/pf-timestamp/test/pf-timestamp.spec.d.ts +0 -1
  1079. package/pf-timestamp/test/pf-timestamp.spec.js +0 -139
  1080. package/pf-timestamp/test/pf-timestamp.spec.js.map +0 -1
  1081. package/pf-tooltip/demo/demo.css +0 -39
  1082. package/pf-tooltip/demo/performance.js +0 -45
  1083. package/pf-tooltip/demo/pf-tooltip.js +0 -7
  1084. package/pf-tooltip/test/pf-tooltip.e2e.d.ts +0 -1
  1085. package/pf-tooltip/test/pf-tooltip.e2e.js +0 -11
  1086. package/pf-tooltip/test/pf-tooltip.e2e.js.map +0 -1
  1087. package/pf-tooltip/test/pf-tooltip.spec.d.ts +0 -1
  1088. package/pf-tooltip/test/pf-tooltip.spec.js +0 -50
  1089. package/pf-tooltip/test/pf-tooltip.spec.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ # PatternFly Elements Switch
2
+
3
+ `<pf-switch>` is a switch that toggles the state of a setting (between on and
4
+ off). Switches provide a more explicit, visible representation on a setting.
5
+
6
+ Read more about Switch in the [PatternFly Elements Switch documentation](https://patternflyelements.org/components/switch)
7
+
8
+ ## Installation
9
+
10
+ Load `<pf-switch>` via CDN:
11
+
12
+ ```html
13
+ <script src="https://jspm.dev/@patternfly/elements/pf-switch/pf-switch.js"></script>
14
+ ```
15
+
16
+ Or, if you are using [NPM](https://npm.im), install it
17
+
18
+ ```bash
19
+ npm install @patternfly/elements
20
+ ```
21
+
22
+ Then once installed, import it to your application:
23
+
24
+ ```js
25
+ import '@patternfly/elements/pf-switch/pf-switch.js';
26
+ ```
27
+
28
+ ### Note
29
+ For `<pf-switch>` to work in Safari, you'll need to load the [element-internals-polyfill](https://www.npmjs.com/package/element-internals-polyfill). Safari is in the process of [adding element internals to WebKit](https://bugs.webkit.org/show_bug.cgi?id=197960) so this polyfill should be temporary.
30
+
31
+ ## Usage
32
+ ```html
33
+ <pf-switch id="switch"></pf-switch>
34
+ <label for="switch" data-state="on">Message when on</label>
35
+ <label for="switch" data-state="off" hidden>Message when off</label>
36
+ ```
37
+
38
+ ### Form Associated
39
+
40
+ `<pf-switch>` is a form-associated custom element. That means that it can
41
+ participate in HTML forms just like a native `<input>`. For example, if you add
42
+ the `name` attribute, or the `id` attribute, the element will appear in the
43
+ FormData object. For example, if you add the `name` attribute, or the `id`
44
+ attribute, the element will appear in the `FormData` object.
45
+
46
+ ```html
47
+ <form>
48
+ <label> Dark Mode
49
+ <pf-switch name="dark"></pf-switch>
50
+ </label>
51
+ <script>
52
+ document.currentScript.closest('form').addEventListener('submit', function() {
53
+ console.log(this.elements.dark) // <pf-switch>
54
+ })
55
+ </script>
56
+ </form>
57
+ ```
58
+
59
+
60
+ ### Without label
61
+
62
+ ```html
63
+ <pf-switch></pf-switch>
64
+ ```
65
+
66
+ ### Checked with label
67
+
68
+ ```html
69
+ <pf-switch show-check-icon></pf-switch>
70
+ <label for="switch" data-state="on">Message when on</label>
71
+ <label for="switch" data-state="off" hidden>Message when off</label>
72
+ ```
73
+
74
+ ### Disabled Switches
75
+
76
+ ```html
77
+ <form>
78
+ <fieldset>
79
+ <legend>Checked and Disabled</legend>
80
+ <pf-switch id="checked-disabled" checked disabled></pf-switch>
81
+ <label for="checked-disabled" data-state="on">Message when on</label>
82
+ <label for="checked-disabled" data-state="off">Message when off</label>
83
+ </fieldset>
84
+
85
+ <fieldset>
86
+ <pf-switch id="disabled" disabled></pf-switch>
87
+ <label for="disabled" data-state="on">Message when on</label>
88
+ <label for="disabled" data-state="off">Message when off</label>
89
+ </fieldset>
90
+ </form>
91
+ ```
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
3
  import { BaseSwitch } from './BaseSwitch.js';
4
4
  import { css } from "lit";
5
- const styles = css `:host([checked]) #container {\n color: var(--pf-c-switch__input--checked__label--Color,\n var(--pf-global--Color--dark-100, #151515));\n background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,\n var(--pf-global--primary-color--100, #06c));\n}\n\n:host([checked]) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:disabled) #container {\n color: var(--pf-c-switch__input--disabled__label--Color,\n var(--pf-global--disabled-color--100, #6a6e73));\n background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,\n var(--pf-global--disabled-color--200, #d2d2d2));\n}\n\n:host(:disabled) #container::before {\n background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,\n var(--pf-global--palette--black-150, #f5f5f5));\n}\n\n:host([checked]:disabled) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n#container {\n width: var(--pf-c-switch__toggle--Width,\n calc(var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) + var(--pf-c-switch__toggle-icon--Offset, 0.125rem) + var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)))));\n height: var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5))));\n background-color: var(--pf-c-switch__toggle--BackgroundColor,\n var(--pf-global--palette--black-500, #8a8d90));\n border-radius: var(--pf-c-switch__toggle--BorderRadius,\n var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))));\n}\n\n#container::before {\n top: var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));\n left: var(--pf-c-switch__toggle--before--Left,\n var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));\n width: var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n height: var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));\n background-color: var(--pf-c-switch__toggle--before--backgroundcolor,\n var(--pf-global--backgroundcolor--100, #fff));\n border-radius: var(--pf-c-switch__toggle--before--BorderRadius,\n var(--pf-global--BorderRadius--lg, 30em));\n box-shadow: var(--pf-c-switch__toggle--before--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)));\n transition: var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s)); ;\n}\n\n:host(:focus-within) #container {\n outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,\n var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,\n var(--pf-global--primary-color--100, #06c));\n outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,\n var(--pf-global--spacer--sm, 0.5rem));\n}\n\nsvg {\n margin-inline: var(--pf-c-switch__toggle-icon--Left,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .4));\n font-size: var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));\n color: var(--pf-c-switch__toggle-icon--Color,\n var(--pf-global--Color--light-100, #fff));\n}\n`;
5
+ const styles = css `:host([checked]) #container{color:var(--pf-c-switch__input--checked__label--Color,var(--pf-global--Color--dark-100,#151515));background-color:var(--pf-c-switch__input--checked__toggle--BackgroundColor,var(--pf-global--primary-color--100,#06c))}:host([checked]) #container::before{translate:var(--pf-c-switch__input--checked__toggle--before--TranslateX,calc(100% + var(--pf-c-switch__toggle-icon--Offset,0.125rem)))}:host(:disabled) #container{color:var(--pf-c-switch__input--disabled__label--Color,var(--pf-global--disabled-color--100,#6a6e73));background-color:var(--pf-c-switch__input--disabled__toggle--BackgroundColor,var(--pf-global--disabled-color--200,#d2d2d2))}:host(:disabled) #container::before{background-color:var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,var(--pf-global--palette--black-150,#f5f5f5))}:host([checked]:disabled) #container::before{translate:var(--pf-c-switch__input--checked__toggle--before--TranslateX,calc(100% + var(--pf-c-switch__toggle-icon--Offset,0.125rem)))}#container{width:var(--pf-c-switch__toggle--Width,calc(var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) + var(--pf-c-switch__toggle-icon--Offset,.125rem) + var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))));height:var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5))));background-color:var(--pf-c-switch__toggle--BackgroundColor,var(--pf-global--palette--black-500,#8a8d90));border-radius:var(--pf-c-switch__toggle--BorderRadius,var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))))}#container::before{top:var(--pf-c-switch__toggle--before--Top,calc((var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) - var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))))/ 2));left:var(--pf-c-switch__toggle--before--Left,var(--pf-c-switch__toggle--before--Top,calc((var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) - var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))))/ 2)));width:var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)));height:var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem))));background-color:var(--pf-c-switch__toggle--before--backgroundcolor,var(--pf-global--backgroundcolor--100,#fff));border-radius:var(--pf-c-switch__toggle--before--BorderRadius,var(--pf-global--BorderRadius--lg,30em));box-shadow:var(--pf-c-switch__toggle--before--BoxShadow,var(--pf-global--BoxShadow--md,0 .25rem .5rem 0 rgba(3,3,3,.12),0 0 .25rem 0 rgba(3,3,3,.06)));transition:var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s))}:host(:focus-within) #container{outline:var(--pf-c-switch__input--focus__toggle--OutlineWidth,var(--pf-global--BorderWidth--md,2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,var(--pf-global--primary-color--100,#06c));outline-offset:var(--pf-c-switch__input--focus__toggle--OutlineOffset,var(--pf-global--spacer--sm,0.5rem))}svg{margin-inline:var(--pf-c-switch__toggle-icon--Left,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * .4));font-size:var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));color:var(--pf-c-switch__toggle-icon--Color,var(--pf-global--Color--light-100,#fff))}`;
6
6
  /**
7
7
  * Switch
8
8
  * @cssprop --pf-c-switch--FontSize {@default `1rem`}
@@ -1 +1 @@
1
- {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;;AACtB,eAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["import { customElement } from 'lit/decorators.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * Switch\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\n declare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;;AACtB,eAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * Switch\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\n declare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  var _BaseTab_instances, _BaseTab_internals, _BaseTab_clickHandler, _BaseTab_activeChanged, _BaseTab_disabledChanged;
2
2
  import { __classPrivateFieldGet, __decorate } from "tslib";
3
3
  import { LitElement, html } from 'lit';
4
- import { queryAssignedElements, query } from 'lit/decorators.js';
4
+ import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';
5
+ import { query } from 'lit/decorators/query.js';
5
6
  import { ComposedEvent } from '@patternfly/pfe-core';
6
7
  import { css } from "lit";
7
- const style = css `:host {\n display: flex;\n flex: none;\n}\n\n:host([vertical]) [part="text"] {\n max-width: 100%;\n overflow-wrap: break-word;\n}\n\n[hidden] {\n display: none !important;\n}\n\nslot[name="icon"] {\n display: block;\n}\n\nbutton {\n margin: 0;\n font-family: inherit;\n font-size: 100%;\n border: 0;\n position: relative;\n display: flex;\n flex: 1;\n text-decoration: none;\n cursor: pointer;\n}\n\nbutton::before,\nbutton::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: "";\n border-style: solid;\n padding: 0;\n margin: 0;\n background-color: transparent;\n}\n\nbutton::before {\n pointer-events: none;\n}\n\n:host([fill]) button {\n flex-basis: 100%;\n justify-content: center;\n}\n\n:host(:disabled) button {\n pointer-events: none;\n}\n\n:host([aria-disabled="true"]) button {\n cursor: default;\n}\n`;
8
+ const style = css `:host{display:flex;flex:none}:host([vertical]) [part=text]{max-width:100%;overflow-wrap:break-word}[hidden]{display:none!important}slot[name=icon]{display:block}button{margin:0;font-family:inherit;font-size:100%;border:0;position:relative;display:flex;flex:1;text-decoration:none;cursor:pointer}button::after,button::before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";border-style:solid;padding:0;margin:0;background-color:transparent}button::before{pointer-events:none}:host([fill]) button{flex-basis:100%;justify-content:center}:host(:disabled) button{pointer-events:none}:host([aria-disabled=true]) button{cursor:default}`;
8
9
  export class TabExpandEvent extends ComposedEvent {
9
10
  constructor(active, tab) {
10
11
  super('expand');
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;;;AAIrD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YACS,MAAe,EACf,GAAY;QAEnB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHT,WAAM,GAAN,MAAM,CAAS;QACf,QAAG,GAAH,GAAG,CAAS;IAGrB,CAAC;CACF;AAED,MAAM,OAAgB,OAAQ,SAAQ,UAAU;IAAhD;;;QAgBE,6BAAa,IAAI,CAAC,eAAe,EAAE,EAAC;IAqDtC,CAAC;IAnDC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,iDAAc,CAAC,CAAC;QACnD,uBAAA,IAAI,0BAAW,CAAC,IAAI,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,QAAQ;;;yBAG7B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;6BACd,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGlD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACzB,uBAAA,IAAI,kDAAe,MAAnB,IAAI,CAAiB,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC3B,uBAAA,IAAI,oDAAiB,MAArB,IAAI,CAAmB,CAAC;SACzB;IACH,CAAC;;;IAGC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,uBAAA,IAAI,0BAAW,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AACH,CAAC;IAGC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC;KACvC;SAAM;QACL,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,OAAO,CAAC;KACxC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;IAQC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAnEe,cAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AAE1B,yBAAiB,GAAG,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAGrF;IADC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCACpB;AAElB;IAAhB,KAAK,CAAC,QAAQ,CAAC;uCAAoC","sourcesContent":["import type { PropertyValues } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { queryAssignedElements, query } from 'lit/decorators.js';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport style from './BaseTab.css';\n\nexport class TabExpandEvent extends ComposedEvent {\n constructor(\n public active: boolean,\n public tab: BaseTab,\n ) {\n super('expand');\n }\n}\n\nexport abstract class BaseTab extends LitElement {\n static readonly styles = [style];\n\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private icons!: Array<HTMLElement>;\n\n @query('button') private button!: HTMLButtonElement;\n\n /** `active` should be observed, and true when the tab is selected */\n abstract active: boolean;\n\n /** `active` should be observed, and true when the tab is disabled */\n abstract disabled: boolean;\n\n #internals = this.attachInternals();\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.#clickHandler);\n this.#internals.role = 'tab';\n }\n\n render() {\n return html`\n <button part=\"button\" ?disabled=\"${this.disabled}\">\n <slot name=\"icon\"\n part=\"icon\"\n ?hidden=\"${!this.icons.length}\"\n @slotchange=\"${() => this.requestUpdate()}\"></slot>\n <slot part=\"text\"></slot>\n </button>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n this.#internals.ariaSelected = String(this.ariaSelected);\n if (changed.has('active')) {\n this.#activeChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n #clickHandler() {\n if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {\n this.active = true;\n }\n }\n\n #activeChanged() {\n if (this.active && !this.disabled) {\n this.#internals.ariaSelected = 'true';\n } else {\n this.#internals.ariaSelected = 'false';\n }\n this.dispatchEvent(new TabExpandEvent(this.active, this));\n }\n\n /**\n * if a tab is disabled, then it is also aria-disabled\n * if a tab is removed from disabled its not necessarily\n * not still aria-disabled so we don't remove the aria-disabled\n */\n #disabledChanged() {\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n}\n"]}
1
+ {"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;;;AAIrD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YACS,MAAe,EACf,GAAY;QAEnB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHT,WAAM,GAAN,MAAM,CAAS;QACf,QAAG,GAAH,GAAG,CAAS;IAGrB,CAAC;CACF;AAED,MAAM,OAAgB,OAAQ,SAAQ,UAAU;IAAhD;;;QAgBE,6BAAa,IAAI,CAAC,eAAe,EAAE,EAAC;IAqDtC,CAAC;IAnDC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,iDAAc,CAAC,CAAC;QACnD,uBAAA,IAAI,0BAAW,CAAC,IAAI,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,QAAQ;;;yBAG7B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;6BACd,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGlD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACzB,uBAAA,IAAI,kDAAe,MAAnB,IAAI,CAAiB,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC3B,uBAAA,IAAI,oDAAiB,MAArB,IAAI,CAAmB,CAAC;SACzB;IACH,CAAC;;;IAGC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,uBAAA,IAAI,0BAAW,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AACH,CAAC;IAGC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC;KACvC;SAAM;QACL,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,OAAO,CAAC;KACxC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;IAQC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAnEe,cAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AAE1B,yBAAiB,GAAG,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAGrF;IADC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCACpB;AAElB;IAAhB,KAAK,CAAC,QAAQ,CAAC;uCAAoC","sourcesContent":["import type { PropertyValues } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { query } from 'lit/decorators/query.js';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport style from './BaseTab.css';\n\nexport class TabExpandEvent extends ComposedEvent {\n constructor(\n public active: boolean,\n public tab: BaseTab,\n ) {\n super('expand');\n }\n}\n\nexport abstract class BaseTab extends LitElement {\n static readonly styles = [style];\n\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private icons!: Array<HTMLElement>;\n\n @query('button') private button!: HTMLButtonElement;\n\n /** `active` should be observed, and true when the tab is selected */\n abstract active: boolean;\n\n /** `active` should be observed, and true when the tab is disabled */\n abstract disabled: boolean;\n\n #internals = this.attachInternals();\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.#clickHandler);\n this.#internals.role = 'tab';\n }\n\n render() {\n return html`\n <button part=\"button\" ?disabled=\"${this.disabled}\">\n <slot name=\"icon\"\n part=\"icon\"\n ?hidden=\"${!this.icons.length}\"\n @slotchange=\"${() => this.requestUpdate()}\"></slot>\n <slot part=\"text\"></slot>\n </button>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n this.#internals.ariaSelected = String(this.ariaSelected);\n if (changed.has('active')) {\n this.#activeChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n #clickHandler() {\n if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {\n this.active = true;\n }\n }\n\n #activeChanged() {\n if (this.active && !this.disabled) {\n this.#internals.ariaSelected = 'true';\n } else {\n this.#internals.ariaSelected = 'false';\n }\n this.dispatchEvent(new TabExpandEvent(this.active, this));\n }\n\n /**\n * if a tab is disabled, then it is also aria-disabled\n * if a tab is removed from disabled its not necessarily\n * not still aria-disabled so we don't remove the aria-disabled\n */\n #disabledChanged() {\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n}\n"]}
@@ -2,7 +2,7 @@ var _BaseTabPanel_internals;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { LitElement, html } from 'lit';
4
4
  import { css } from "lit";
5
- const style = css `:host {\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n`;
5
+ const style = css `:host{display:block}:host([hidden]){display:none}`;
6
6
  export class BaseTabPanel extends LitElement {
7
7
  constructor() {
8
8
  super(...arguments);
@@ -35,8 +35,6 @@ export declare abstract class BaseTabs extends LitElement {
35
35
  set activeIndex(index: number);
36
36
  connectedCallback(): void;
37
37
  disconnectedCallback(): void;
38
- render(): import("lit-html").TemplateResult<1>;
39
38
  firstUpdated(): Promise<void>;
40
- /** override to prevent scroll buttons from showing */
41
- protected get canShowScrollButtons(): boolean;
39
+ render(): import("lit-html").TemplateResult<1>;
42
40
  }
@@ -1,15 +1,18 @@
1
- var _BaseTabs_instances, _a, _BaseTabs_rovingTabindexController, _BaseTabs_instances_1, _BaseTabs_showScrollButtons, _BaseTabs_overflowOnLeft, _BaseTabs_overflowOnRight, _BaseTabs_logger, _BaseTabs__allTabs, _BaseTabs__allPanels, _BaseTabs_scrollTimeout, _BaseTabs_activeIndex, _BaseTabs_activeTab_get, _BaseTabs_allTabs_get, _BaseTabs_allTabs_set, _BaseTabs_allPanels_get, _BaseTabs_allPanels_set, _BaseTabs_onSlotchange, _BaseTabs_updateAccessibility, _BaseTabs_onTabExpand, _BaseTabs_deactivateExcept, _BaseTabs_firstFocusable_get, _BaseTabs_lastFocusable_get, _BaseTabs_firstTab_get, _BaseTabs_lastTab_get, _BaseTabs_activeItemIndex_get, _BaseTabs_activate, _BaseTabs_select, _BaseTabs_onKeydown, _BaseTabs_onScroll, _BaseTabs_firstLastClasses, _BaseTabs_setOverflowState, _BaseTabs_scrollLeft, _BaseTabs_scrollRight;
1
+ var _BaseTabs_instances, _a, _BaseTabs_instances_1, _BaseTabs_tabindex, _BaseTabs_overflow, _BaseTabs_logger, _BaseTabs__allTabs, _BaseTabs__allPanels, _BaseTabs_activeIndex, _BaseTabs_activeTab_get, _BaseTabs_allTabs_get, _BaseTabs_allTabs_set, _BaseTabs_allPanels_get, _BaseTabs_allPanels_set, _BaseTabs_onSlotchange, _BaseTabs_updateAccessibility, _BaseTabs_onTabExpand, _BaseTabs_deactivateExcept, _BaseTabs_firstFocusable_get, _BaseTabs_lastFocusable_get, _BaseTabs_firstTab_get, _BaseTabs_lastTab_get, _BaseTabs_activeItemIndex_get, _BaseTabs_activate, _BaseTabs_select, _BaseTabs_onKeydown, _BaseTabs_firstLastClasses, _BaseTabs_scrollLeft, _BaseTabs_scrollRight;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
3
3
  import { LitElement, html } from 'lit';
4
- import { property, query, queryAssignedElements } from 'lit/decorators.js';
4
+ import { property } from 'lit/decorators/property.js';
5
+ import { query } from 'lit/decorators/query.js';
6
+ import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';
7
+ import { classMap } from 'lit/directives/class-map.js';
5
8
  import { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';
6
- import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
9
+ import { OverflowController } from '@patternfly/pfe-core/controllers/overflow-controller.js';
7
10
  import { Logger } from '@patternfly/pfe-core/controllers/logger.js';
8
- import { isElementInView } from '@patternfly/pfe-core/functions/isElementInView.js';
11
+ import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
9
12
  import { BaseTab, TabExpandEvent } from './BaseTab.js';
10
13
  import { BaseTabPanel } from './BaseTabPanel.js';
11
14
  import { css } from "lit";
12
- const styles = css `:host {\n display: block;\n}\n\n[part="tabs-container"] {\n position: relative;\n display: flex;\n overflow: hidden;\n}\n\n[part="tabs-container"]::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n border-style: solid;\n}\n\n:host button {\n opacity: 1;\n}\n\n:host button:nth-of-type(1) {\n margin-inline-end: 0;\n translate: 0 0;\n}\n\n:host button:nth-of-type(2) {\n margin-inline-start: 0;\n translate: 0 0;\n}\n\n[part="tabs"],\n[part="panels"] {\n display: block;\n}\n\n[part="tabs"] {\n scrollbar-width: none;\n position: relative;\n max-width: 100%;\n overflow-x: auto;\n}\n\n[part="tabs-container"]::before,\n[part="tabs"]::before,\nbutton::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n content: "";\n border-style: solid;\n}\n\n[part="tabs"]::before,\nbutton::before {\n top: 0;\n}\n\nbutton,\n[part="tabs"]::before {\n border: 0;\n}\n\nbutton {\n flex: none;\n line-height: 1;\n opacity: 0;\n}\n\nbutton::before {\n border-block-start-width: 0;\n}\n\nbutton:nth-of-type(1) {\n translate: -100% 0;\n}\n\nbutton:nth-of-type(2) {\n translate: 100% 0;\n}\n\nbutton:disabled {\n pointer-events: none;\n}\n\n`;
15
+ const styles = css `:host{display:block}[part=tabs-container]{position:relative;display:flex;overflow:hidden}[part=tabs-container]::before{position:absolute;right:0;bottom:0;left:0;border-style:solid}:host button{opacity:1}:host button:first-of-type{margin-inline-end:0;translate:0 0}:host button:nth-of-type(2){margin-inline-start:0;translate:0 0}[part=panels],[part=tabs]{display:block}[part=tabs]{scrollbar-width:none;position:relative;max-width:100%;overflow-x:auto}[part=tabs-container]::before,[part=tabs]::before,button::before{position:absolute;right:0;bottom:0;left:0;content:"";border-style:solid}[part=tabs]::before,button::before{top:0}[part=tabs]::before,button{border:0}button{flex:none;line-height:1;opacity:0}button::before{border-block-start-width:0}button:first-of-type{translate:-100% 0}button:nth-of-type(2){translate:100% 0}button:disabled{pointer-events:none}`;
13
16
  /**
14
17
  * BaseTabs
15
18
  *
@@ -21,14 +24,11 @@ export class BaseTabs extends LitElement {
21
24
  constructor() {
22
25
  super(...arguments);
23
26
  _BaseTabs_instances.add(this);
24
- _BaseTabs_rovingTabindexController.set(this, new RovingTabindexController(this));
25
- _BaseTabs_showScrollButtons.set(this, false);
26
- _BaseTabs_overflowOnLeft.set(this, false);
27
- _BaseTabs_overflowOnRight.set(this, false);
27
+ _BaseTabs_tabindex.set(this, new RovingTabindexController(this));
28
+ _BaseTabs_overflow.set(this, new OverflowController(this));
28
29
  _BaseTabs_logger.set(this, new Logger(this));
29
30
  _BaseTabs__allTabs.set(this, []);
30
31
  _BaseTabs__allPanels.set(this, []);
31
- _BaseTabs_scrollTimeout.set(this, void 0);
32
32
  _BaseTabs_activeIndex.set(this, 0);
33
33
  this.id = this.id || getRandomId(this.localName);
34
34
  /**
@@ -57,12 +57,12 @@ export class BaseTabs extends LitElement {
57
57
  case 'ArrowUp':
58
58
  case 'ArrowLeft':
59
59
  event.preventDefault();
60
- __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").activeItem);
60
+ __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").activeItem);
61
61
  break;
62
62
  case 'ArrowDown':
63
63
  case 'ArrowRight':
64
64
  event.preventDefault();
65
- __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").activeItem);
65
+ __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").activeItem);
66
66
  break;
67
67
  case 'Home':
68
68
  event.preventDefault();
@@ -76,11 +76,6 @@ export class BaseTabs extends LitElement {
76
76
  return;
77
77
  }
78
78
  });
79
- _BaseTabs_onScroll.set(this, () => {
80
- clearTimeout(__classPrivateFieldGet(this, _BaseTabs_scrollTimeout, "f"));
81
- const { scrollTimeoutDelay } = this.constructor;
82
- __classPrivateFieldSet(this, _BaseTabs_scrollTimeout, setTimeout(() => __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this), scrollTimeoutDelay), "f");
83
- });
84
79
  }
85
80
  static isTab(element) {
86
81
  return element instanceof BaseTab;
@@ -97,7 +92,7 @@ export class BaseTabs extends LitElement {
97
92
  if (tab) {
98
93
  if (tab.disabled) {
99
94
  __classPrivateFieldGet(this, _BaseTabs_logger, "f").warn(`Disabled tabs can not be active, setting first focusable tab to active`);
100
- __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstFocusable_get));
95
+ __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstFocusable_get));
101
96
  index = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeItemIndex_get);
102
97
  }
103
98
  else if (!tab.active) {
@@ -108,8 +103,8 @@ export class BaseTabs extends LitElement {
108
103
  }
109
104
  if (index === -1) {
110
105
  __classPrivateFieldGet(this, _BaseTabs_logger, "f").warn(`No active tab found, setting first focusable tab to active`);
111
- const first = __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").firstItem;
112
- __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").updateActiveItem(first);
106
+ const first = __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").firstItem;
107
+ __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(first);
113
108
  index = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeItemIndex_get);
114
109
  }
115
110
  __classPrivateFieldSet(this, _BaseTabs_activeIndex, index, "f");
@@ -128,24 +123,27 @@ export class BaseTabs extends LitElement {
128
123
  super.disconnectedCallback();
129
124
  __classPrivateFieldGet(BaseTabs, _a, "f", _BaseTabs_instances_1).delete(this);
130
125
  }
126
+ async firstUpdated() {
127
+ this.tabList.addEventListener('scroll', __classPrivateFieldGet(this, _BaseTabs_overflow, "f").onScroll.bind(this));
128
+ }
131
129
  render() {
132
130
  const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor;
133
131
  return html `
134
- <div part="container">
135
- <div part="tabs-container">${!__classPrivateFieldGet(this, _BaseTabs_showScrollButtons, "f") ? '' : html `
132
+ <div part="container" class="${classMap({ overflow: __classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons })}">
133
+ <div part="tabs-container">${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons ? '' : html `
136
134
  <button id="previousTab" tabindex="-1"
137
135
  aria-label="${this.getAttribute('label-scroll-left') ?? 'Scroll left'}"
138
- ?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflowOnLeft, "f")}"
136
+ ?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").overflowLeft}"
139
137
  @click="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_scrollLeft)}">
140
138
  <pf-icon icon="${scrollIconLeft}" set="${scrollIconSet}" loading="eager"></pf-icon>
141
139
  </button>`}
142
140
  <slot name="tab"
143
141
  part="tabs"
144
142
  role="tablist"
145
- @slotchange="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_onSlotchange)}"></slot> ${!__classPrivateFieldGet(this, _BaseTabs_showScrollButtons, "f") ? '' : html `
143
+ @slotchange="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_onSlotchange)}"></slot> ${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons ? '' : html `
146
144
  <button id="nextTab" tabindex="-1"
147
145
  aria-label="${this.getAttribute('label-scroll-right') ?? 'Scroll right'}"
148
- ?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflowOnRight, "f")}"
146
+ ?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").overflowRight}"
149
147
  @click="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_scrollRight)}">
150
148
  <pf-icon icon="${scrollIconRight}" set="${scrollIconSet}" loading="eager"></pf-icon>
151
149
  </button>`}
@@ -154,16 +152,8 @@ export class BaseTabs extends LitElement {
154
152
  </div>
155
153
  `;
156
154
  }
157
- async firstUpdated() {
158
- __classPrivateFieldGet(this, _BaseTabs_onScroll, "f").call(this);
159
- this.tabList.addEventListener('scroll', __classPrivateFieldGet(this, _BaseTabs_onScroll, "f"));
160
- }
161
- /** override to prevent scroll buttons from showing */
162
- get canShowScrollButtons() {
163
- return true;
164
- }
165
155
  }
166
- _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_showScrollButtons = new WeakMap(), _BaseTabs_overflowOnLeft = new WeakMap(), _BaseTabs_overflowOnRight = new WeakMap(), _BaseTabs_logger = new WeakMap(), _BaseTabs__allTabs = new WeakMap(), _BaseTabs__allPanels = new WeakMap(), _BaseTabs_scrollTimeout = new WeakMap(), _BaseTabs_activeIndex = new WeakMap(), _BaseTabs_onTabExpand = new WeakMap(), _BaseTabs_onKeydown = new WeakMap(), _BaseTabs_onScroll = new WeakMap(), _BaseTabs_instances = new WeakSet(), _BaseTabs_activeTab_get = function _BaseTabs_activeTab_get() {
156
+ _a = BaseTabs, _BaseTabs_tabindex = new WeakMap(), _BaseTabs_overflow = new WeakMap(), _BaseTabs_logger = new WeakMap(), _BaseTabs__allTabs = new WeakMap(), _BaseTabs__allPanels = new WeakMap(), _BaseTabs_activeIndex = new WeakMap(), _BaseTabs_onTabExpand = new WeakMap(), _BaseTabs_onKeydown = new WeakMap(), _BaseTabs_instances = new WeakSet(), _BaseTabs_activeTab_get = function _BaseTabs_activeTab_get() {
167
157
  const [tab] = __classPrivateFieldGet(this, _BaseTabs__allTabs, "f").filter(tab => tab.active);
168
158
  return tab;
169
159
  }, _BaseTabs_allTabs_get = function _BaseTabs_allTabs_get() {
@@ -185,9 +175,10 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
185
175
  (__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).length !== 0 || __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allPanels_get).length !== 0)) {
186
176
  __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_updateAccessibility).call(this);
187
177
  __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_firstLastClasses).call(this);
188
- __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").initItems(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get));
178
+ __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").initItems(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get));
189
179
  this.activeIndex = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).findIndex(tab => tab.active);
190
- __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeTab_get));
180
+ __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeTab_get));
181
+ __classPrivateFieldGet(this, _BaseTabs_overflow, "f").init(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get));
191
182
  }
192
183
  }, _BaseTabs_updateAccessibility = function _BaseTabs_updateAccessibility() {
193
184
  __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).forEach((tab, index) => {
@@ -201,16 +192,16 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
201
192
  __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).forEach((tab, i) => tab.active = i === index);
202
193
  __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allPanels_get).forEach((panel, i) => panel.hidden = i !== index);
203
194
  }, _BaseTabs_firstFocusable_get = function _BaseTabs_firstFocusable_get() {
204
- return __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").firstItem;
195
+ return __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").firstItem;
205
196
  }, _BaseTabs_lastFocusable_get = function _BaseTabs_lastFocusable_get() {
206
- return __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f").lastItem;
197
+ return __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").lastItem;
207
198
  }, _BaseTabs_firstTab_get = function _BaseTabs_firstTab_get() {
208
199
  const [tab] = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
209
200
  return tab;
210
201
  }, _BaseTabs_lastTab_get = function _BaseTabs_lastTab_get() {
211
202
  return __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).at(-1);
212
203
  }, _BaseTabs_activeItemIndex_get = function _BaseTabs_activeItemIndex_get() {
213
- const { activeItem } = __classPrivateFieldGet(this, _BaseTabs_rovingTabindexController, "f");
204
+ const { activeItem } = __classPrivateFieldGet(this, _BaseTabs_tabindex, "f");
214
205
  return __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).findIndex(t => t === activeItem);
215
206
  }, _BaseTabs_activate = function _BaseTabs_activate(selectedTab) {
216
207
  if (selectedTab.ariaDisabled !== 'true') {
@@ -223,42 +214,10 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
223
214
  }, _BaseTabs_firstLastClasses = function _BaseTabs_firstLastClasses() {
224
215
  __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstTab_get).classList.add('first');
225
216
  __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_lastTab_get).classList.add('last');
226
- }, _BaseTabs_setOverflowState = function _BaseTabs_setOverflowState() {
227
- const { canShowScrollButtons } = this;
228
- __classPrivateFieldSet(this, _BaseTabs_overflowOnLeft, canShowScrollButtons && !isElementInView(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstTab_get)), "f");
229
- __classPrivateFieldSet(this, _BaseTabs_overflowOnRight, canShowScrollButtons && !isElementInView(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_lastTab_get)), "f");
230
- __classPrivateFieldSet(this, _BaseTabs_showScrollButtons, canShowScrollButtons && (__classPrivateFieldGet(this, _BaseTabs_overflowOnLeft, "f") || __classPrivateFieldGet(this, _BaseTabs_overflowOnRight, "f")), "f");
231
- this.requestUpdate();
232
217
  }, _BaseTabs_scrollLeft = function _BaseTabs_scrollLeft() {
233
- const container = this.tabList;
234
- const childrenArr = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
235
- let firstElementInView;
236
- let lastElementOutOfView;
237
- for (let i = 0; i < childrenArr.length && !firstElementInView; i++) {
238
- if (isElementInView(container, childrenArr[i], false)) {
239
- firstElementInView = childrenArr[i];
240
- lastElementOutOfView = childrenArr[i - 1];
241
- }
242
- }
243
- if (lastElementOutOfView) {
244
- container.scrollLeft -= lastElementOutOfView.scrollWidth;
245
- }
246
- __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this);
218
+ __classPrivateFieldGet(this, _BaseTabs_overflow, "f").scrollLeft();
247
219
  }, _BaseTabs_scrollRight = function _BaseTabs_scrollRight() {
248
- const container = this.tabList;
249
- const childrenArr = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
250
- let lastElementInView;
251
- let firstElementOutOfView;
252
- for (let i = childrenArr.length - 1; i >= 0 && !lastElementInView; i--) {
253
- if (isElementInView(container, childrenArr[i], false)) {
254
- lastElementInView = childrenArr[i];
255
- firstElementOutOfView = childrenArr[i + 1];
256
- }
257
- }
258
- if (firstElementOutOfView) {
259
- container.scrollLeft += firstElementOutOfView.scrollWidth;
260
- }
261
- __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this);
220
+ __classPrivateFieldGet(this, _BaseTabs_overflow, "f").scrollRight();
262
221
  };
263
222
  BaseTabs.styles = [styles];
264
223
  /** Time in milliseconds to debounce between scroll events and updating scroll button state */
@@ -274,7 +233,7 @@ _BaseTabs_instances_1 = { value: new Set() };
274
233
  // on resize check for overflows to add or remove scroll buttons
275
234
  window.addEventListener('resize', () => {
276
235
  for (const instance of __classPrivateFieldGet(_a, _a, "f", _BaseTabs_instances_1)) {
277
- __classPrivateFieldGet(instance, _BaseTabs_onScroll, "f").call(instance);
236
+ __classPrivateFieldGet(instance, _BaseTabs_overflow, "f").onScroll();
278
237
  }
279
238
  }, { capture: false });
280
239
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTabs.js","sourceRoot":"","sources":["BaseTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\nimport { isElementInView } from '@patternfly/pfe-core/functions/isElementInView.js';\n\nimport { BaseTab, TabExpandEvent } from './BaseTab.js';\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\nimport styles from './BaseTabs.css';\n\n/**\n * BaseTabs\n *\n * @attr [label-scroll-left=\"Scroll left\"] - accessible label for the tab panel's scroll left button.\n * @attr [label-scroll-right=\"Scroll right\"] - accessible label for the tab panel's scroll right button.\n *\n */\nexport abstract class BaseTabs extends LitElement {\n static readonly styles = [styles];\n\n static isTab(element: BaseTab): element is BaseTab {\n return element instanceof BaseTab;\n }\n\n static isPanel(element: BaseTabPanel): element is BaseTabPanel {\n return element instanceof BaseTabPanel;\n }\n\n /** Time in milliseconds to debounce between scroll events and updating scroll button state */\n protected static readonly scrollTimeoutDelay: number = 0;\n /** Icon name to use for the scroll left button */\n protected static readonly scrollIconLeft: string = 'angle-left';\n /** Icon name to use for the scroll right button */\n protected static readonly scrollIconRight: string = 'angle-right';\n /** Icon set to use for the scroll buttons */\n protected static readonly scrollIconSet: string = 'fas';\n\n #rovingTabindexController = new RovingTabindexController(this);\n\n static #instances = new Set<BaseTabs>();\n\n static {\n // on resize check for overflows to add or remove scroll buttons\n window.addEventListener('resize', () => {\n for (const instance of this.#instances) {\n instance.#onScroll();\n }\n }, { capture: false });\n }\n\n @queryAssignedElements({ slot: 'tab' }) private tabs!: BaseTab[];\n\n @queryAssignedElements() private panels!: BaseTabPanel[];\n\n @query('[part=\"tabs\"]') private tabList!: HTMLElement;\n\n #showScrollButtons = false;\n\n #overflowOnLeft = false;\n\n #overflowOnRight = false;\n\n #logger = new Logger(this);\n\n #_allTabs: BaseTab[] = [];\n\n #_allPanels: BaseTabPanel[] = [];\n\n #scrollTimeout?: ReturnType<typeof setTimeout>;\n\n #activeIndex = 0;\n\n id: string = this.id || getRandomId(this.localName);\n\n /**\n * Tab activation\n * Tabs can be either [automatic](https://w3c.github.io/aria-practices/examples/tabs/tabs-automatic.html) activated\n * or [manual](https://w3c.github.io/aria-practices/examples/tabs/tabs-manual.html)\n */\n @property({ reflect: true, type: Boolean }) manual = false;\n\n @property({ attribute: false })\n get activeIndex() {\n return this.#activeIndex;\n }\n\n set activeIndex(index: number) {\n const oldIndex = this.activeIndex;\n const tab = this.#allTabs[index];\n if (tab) {\n if (tab.disabled) {\n this.#logger.warn(`Disabled tabs can not be active, setting first focusable tab to active`);\n this.#rovingTabindexController.updateActiveItem(this.#firstFocusable);\n index = this.#activeItemIndex;\n } else if (!tab.active) {\n // if the activeIndex was set through the CLI e.g.`$0.activeIndex = 2`\n tab.active = true;\n return;\n }\n }\n\n if (index === -1) {\n this.#logger.warn(`No active tab found, setting first focusable tab to active`);\n const first = this.#rovingTabindexController.firstItem as BaseTab;\n this.#rovingTabindexController.updateActiveItem(first);\n index = this.#activeItemIndex;\n }\n this.#activeIndex = index;\n this.requestUpdate('activeIndex', oldIndex);\n\n this.#allPanels[this.#activeIndex].hidden = false;\n // close all tabs that are not the activeIndex\n this.#deactivateExcept(this.#activeIndex);\n }\n\n get #activeTab() {\n const [tab] = this.#_allTabs.filter(tab => tab.active);\n return tab;\n }\n\n get #allTabs() {\n return this.#_allTabs;\n }\n\n set #allTabs(tabs: BaseTab[]) {\n this.#_allTabs = tabs.filter(tab => (this.constructor as typeof BaseTabs).isTab(tab));\n }\n\n get #allPanels() {\n return this.#_allPanels;\n }\n\n set #allPanels(panels: BaseTabPanel[]) {\n this.#_allPanels = panels.filter(panel => (this.constructor as typeof BaseTabs).isPanel(panel));\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('expand', this.#onTabExpand);\n this.addEventListener('keydown', this.#onKeydown);\n BaseTabs.#instances.add(this);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n BaseTabs.#instances.delete(this);\n }\n\n override render() {\n const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor as typeof BaseTabs;\n\n return html`\n <div part=\"container\">\n <div part=\"tabs-container\">${!this.#showScrollButtons ? '' : html`\n <button id=\"previousTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-left') ?? 'Scroll left'}\"\n ?disabled=\"${!this.#overflowOnLeft}\"\n @click=\"${this.#scrollLeft}\">\n <pf-icon icon=\"${scrollIconLeft}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n <slot name=\"tab\"\n part=\"tabs\"\n role=\"tablist\"\n @slotchange=\"${this.#onSlotchange}\"></slot> ${!this.#showScrollButtons ? '' : html`\n <button id=\"nextTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-right') ?? 'Scroll right'}\"\n ?disabled=\"${!this.#overflowOnRight}\"\n @click=\"${this.#scrollRight}\">\n <pf-icon icon=\"${scrollIconRight}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n </div>\n <slot part=\"panels\" @slotchange=\"${this.#onSlotchange}\"></slot>\n </div>\n `;\n }\n\n async firstUpdated() {\n this.#onScroll();\n this.tabList.addEventListener('scroll', this.#onScroll);\n }\n\n #onSlotchange(event: { target: { name: string; }; }) {\n if (event.target.name === 'tab') {\n this.#allTabs = this.tabs;\n } else {\n this.#allPanels = this.panels;\n }\n\n if ((this.#allTabs.length === this.#allPanels.length) &&\n (this.#allTabs.length !== 0 || this.#allPanels.length !== 0)) {\n this.#updateAccessibility();\n this.#firstLastClasses();\n this.#rovingTabindexController.initItems(this.#allTabs);\n this.activeIndex = this.#allTabs.findIndex(tab => tab.active);\n this.#rovingTabindexController.updateActiveItem(this.#activeTab);\n }\n }\n\n #updateAccessibility(): void {\n this.#allTabs.forEach((tab, index) => {\n const panel = this.#allPanels[index];\n if (!panel.hasAttribute('aria-labelledby')) {\n panel.setAttribute('aria-labelledby', tab.id);\n }\n tab.setAttribute('aria-controls', panel.id);\n });\n }\n\n #onTabExpand = (event: Event): void => {\n if (!(event instanceof TabExpandEvent) ||\n this.#allTabs.length === 0 || this.#allPanels.length === 0) {\n return;\n }\n\n const target = event as TabExpandEvent;\n if (target.active) {\n this.activeIndex = this.#allTabs.findIndex(tab => tab === target.tab);\n }\n };\n\n #deactivateExcept(index: number) {\n this.#allTabs.forEach((tab, i) => tab.active = i === index);\n this.#allPanels.forEach((panel, i) => panel.hidden = i !== index);\n }\n\n get #firstFocusable(): BaseTab {\n return this.#rovingTabindexController.firstItem as BaseTab;\n }\n\n get #lastFocusable(): BaseTab {\n return this.#rovingTabindexController.lastItem as BaseTab;\n }\n\n get #firstTab(): BaseTab {\n const [tab] = this.#allTabs;\n return tab;\n }\n\n get #lastTab(): BaseTab {\n return this.#allTabs.at(-1) as BaseTab;\n }\n\n get #activeItemIndex() {\n const { activeItem } = this.#rovingTabindexController;\n return this.#allTabs.findIndex(t => t === activeItem);\n }\n\n #activate(selectedTab: BaseTab): void {\n if (selectedTab.ariaDisabled !== 'true') {\n selectedTab.active = true;\n }\n }\n\n async #select(selectedTab: BaseTab): Promise<void> {\n if (!this.manual) {\n this.#activate(selectedTab);\n }\n }\n\n // RTI: will handle key events\n #onKeydown = (event: KeyboardEvent): void => {\n const foundTab = this.#allTabs.find(tab => tab === event.target);\n if (!foundTab) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n this.#select(this.#rovingTabindexController.activeItem as BaseTab);\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n this.#select(this.#rovingTabindexController.activeItem as BaseTab);\n break;\n\n case 'Home':\n event.preventDefault();\n this.#select(this.#firstFocusable);\n break;\n\n case 'End':\n event.preventDefault();\n this.#select(this.#lastFocusable);\n break;\n\n default:\n return;\n }\n };\n\n #onScroll = () => {\n clearTimeout(this.#scrollTimeout);\n const { scrollTimeoutDelay } = (this.constructor as typeof BaseTabs);\n this.#scrollTimeout = setTimeout(() => this.#setOverflowState(), scrollTimeoutDelay);\n };\n\n #firstLastClasses() {\n this.#firstTab.classList.add('first');\n this.#lastTab.classList.add('last');\n }\n\n /** override to prevent scroll buttons from showing */\n protected get canShowScrollButtons() {\n return true;\n }\n\n #setOverflowState(): void {\n const { canShowScrollButtons } = this;\n this.#overflowOnLeft = canShowScrollButtons && !isElementInView(this.tabList, this.#firstTab);\n this.#overflowOnRight = canShowScrollButtons && !isElementInView(this.tabList, this.#lastTab);\n this.#showScrollButtons = canShowScrollButtons && (this.#overflowOnLeft || this.#overflowOnRight);\n this.requestUpdate();\n }\n\n #scrollLeft(): void {\n const container = this.tabList;\n const childrenArr = this.#allTabs;\n let firstElementInView: BaseTab | undefined;\n let lastElementOutOfView: BaseTab | undefined;\n for (let i = 0; i < childrenArr.length && !firstElementInView; i++) {\n if (isElementInView(container, childrenArr[i] as HTMLElement, false)) {\n firstElementInView = childrenArr[i];\n lastElementOutOfView = childrenArr[i - 1];\n }\n }\n if (lastElementOutOfView) {\n container.scrollLeft -= lastElementOutOfView.scrollWidth;\n }\n this.#setOverflowState();\n }\n\n #scrollRight(): void {\n const container = this.tabList;\n const childrenArr = this.#allTabs;\n let lastElementInView: BaseTab | undefined;\n let firstElementOutOfView: BaseTab | undefined;\n for (let i = childrenArr.length - 1; i >= 0 && !lastElementInView; i--) {\n if (isElementInView(container, childrenArr[i] as HTMLElement, false)) {\n lastElementInView = childrenArr[i];\n firstElementOutOfView = childrenArr[i + 1];\n }\n }\n if (firstElementOutOfView) {\n container.scrollLeft += firstElementOutOfView.scrollWidth;\n }\n this.#setOverflowState();\n }\n}\n"]}
1
+ {"version":3,"file":"BaseTabs.js","sourceRoot":"","sources":["BaseTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\n\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\nimport { OverflowController } from '@patternfly/pfe-core/controllers/overflow-controller.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { BaseTab, TabExpandEvent } from './BaseTab.js';\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\nimport styles from './BaseTabs.css';\n\n/**\n * BaseTabs\n *\n * @attr [label-scroll-left=\"Scroll left\"] - accessible label for the tab panel's scroll left button.\n * @attr [label-scroll-right=\"Scroll right\"] - accessible label for the tab panel's scroll right button.\n *\n */\nexport abstract class BaseTabs extends LitElement {\n static readonly styles = [styles];\n\n static isTab(element: BaseTab): element is BaseTab {\n return element instanceof BaseTab;\n }\n\n static isPanel(element: BaseTabPanel): element is BaseTabPanel {\n return element instanceof BaseTabPanel;\n }\n\n /** Time in milliseconds to debounce between scroll events and updating scroll button state */\n protected static readonly scrollTimeoutDelay: number = 0;\n /** Icon name to use for the scroll left button */\n protected static readonly scrollIconLeft: string = 'angle-left';\n /** Icon name to use for the scroll right button */\n protected static readonly scrollIconRight: string = 'angle-right';\n /** Icon set to use for the scroll buttons */\n protected static readonly scrollIconSet: string = 'fas';\n\n static #instances = new Set<BaseTabs>();\n\n static {\n // on resize check for overflows to add or remove scroll buttons\n window.addEventListener('resize', () => {\n for (const instance of this.#instances) {\n instance.#overflow.onScroll();\n }\n }, { capture: false });\n }\n\n @queryAssignedElements({ slot: 'tab' }) private tabs!: BaseTab[];\n\n @queryAssignedElements() private panels!: BaseTabPanel[];\n\n @query('[part=\"tabs\"]') private tabList!: HTMLElement;\n\n #tabindex = new RovingTabindexController(this);\n\n #overflow = new OverflowController(this);\n\n #logger = new Logger(this);\n\n #_allTabs: BaseTab[] = [];\n\n #_allPanels: BaseTabPanel[] = [];\n\n #activeIndex = 0;\n\n id: string = this.id || getRandomId(this.localName);\n\n /**\n * Tab activation\n * Tabs can be either [automatic](https://w3c.github.io/aria-practices/examples/tabs/tabs-automatic.html) activated\n * or [manual](https://w3c.github.io/aria-practices/examples/tabs/tabs-manual.html)\n */\n @property({ reflect: true, type: Boolean }) manual = false;\n\n @property({ attribute: false })\n get activeIndex() {\n return this.#activeIndex;\n }\n\n set activeIndex(index: number) {\n const oldIndex = this.activeIndex;\n const tab = this.#allTabs[index];\n if (tab) {\n if (tab.disabled) {\n this.#logger.warn(`Disabled tabs can not be active, setting first focusable tab to active`);\n this.#tabindex.updateActiveItem(this.#firstFocusable);\n index = this.#activeItemIndex;\n } else if (!tab.active) {\n // if the activeIndex was set through the CLI e.g.`$0.activeIndex = 2`\n tab.active = true;\n return;\n }\n }\n\n if (index === -1) {\n this.#logger.warn(`No active tab found, setting first focusable tab to active`);\n const first = this.#tabindex.firstItem as BaseTab;\n this.#tabindex.updateActiveItem(first);\n index = this.#activeItemIndex;\n }\n this.#activeIndex = index;\n this.requestUpdate('activeIndex', oldIndex);\n\n this.#allPanels[this.#activeIndex].hidden = false;\n // close all tabs that are not the activeIndex\n this.#deactivateExcept(this.#activeIndex);\n }\n\n get #activeTab() {\n const [tab] = this.#_allTabs.filter(tab => tab.active);\n return tab;\n }\n\n get #allTabs() {\n return this.#_allTabs;\n }\n\n set #allTabs(tabs: BaseTab[]) {\n this.#_allTabs = tabs.filter(tab => (this.constructor as typeof BaseTabs).isTab(tab));\n }\n\n get #allPanels() {\n return this.#_allPanels;\n }\n\n set #allPanels(panels: BaseTabPanel[]) {\n this.#_allPanels = panels.filter(panel => (this.constructor as typeof BaseTabs).isPanel(panel));\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('expand', this.#onTabExpand);\n this.addEventListener('keydown', this.#onKeydown);\n BaseTabs.#instances.add(this);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n BaseTabs.#instances.delete(this);\n }\n\n async firstUpdated() {\n this.tabList.addEventListener('scroll', this.#overflow.onScroll.bind(this));\n }\n\n override render() {\n const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor as typeof BaseTabs;\n return html`\n <div part=\"container\" class=\"${classMap({ overflow: this.#overflow.showScrollButtons })}\">\n <div part=\"tabs-container\">${!this.#overflow.showScrollButtons ? '' : html`\n <button id=\"previousTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-left') ?? 'Scroll left'}\"\n ?disabled=\"${!this.#overflow.overflowLeft}\"\n @click=\"${this.#scrollLeft}\">\n <pf-icon icon=\"${scrollIconLeft}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n <slot name=\"tab\"\n part=\"tabs\"\n role=\"tablist\"\n @slotchange=\"${this.#onSlotchange}\"></slot> ${!this.#overflow.showScrollButtons ? '' : html`\n <button id=\"nextTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-right') ?? 'Scroll right'}\"\n ?disabled=\"${!this.#overflow.overflowRight}\"\n @click=\"${this.#scrollRight}\">\n <pf-icon icon=\"${scrollIconRight}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n </div>\n <slot part=\"panels\" @slotchange=\"${this.#onSlotchange}\"></slot>\n </div>\n `;\n }\n\n #onSlotchange(event: { target: { name: string; }; }) {\n if (event.target.name === 'tab') {\n this.#allTabs = this.tabs;\n } else {\n this.#allPanels = this.panels;\n }\n\n if ((this.#allTabs.length === this.#allPanels.length) &&\n (this.#allTabs.length !== 0 || this.#allPanels.length !== 0)) {\n this.#updateAccessibility();\n this.#firstLastClasses();\n this.#tabindex.initItems(this.#allTabs);\n this.activeIndex = this.#allTabs.findIndex(tab => tab.active);\n this.#tabindex.updateActiveItem(this.#activeTab);\n this.#overflow.init(this.tabList, this.#allTabs);\n }\n }\n\n #updateAccessibility(): void {\n this.#allTabs.forEach((tab, index) => {\n const panel = this.#allPanels[index];\n if (!panel.hasAttribute('aria-labelledby')) {\n panel.setAttribute('aria-labelledby', tab.id);\n }\n tab.setAttribute('aria-controls', panel.id);\n });\n }\n\n #onTabExpand = (event: Event): void => {\n if (!(event instanceof TabExpandEvent) ||\n this.#allTabs.length === 0 || this.#allPanels.length === 0) {\n return;\n }\n\n const target = event as TabExpandEvent;\n if (target.active) {\n this.activeIndex = this.#allTabs.findIndex(tab => tab === target.tab);\n }\n };\n\n #deactivateExcept(index: number) {\n this.#allTabs.forEach((tab, i) => tab.active = i === index);\n this.#allPanels.forEach((panel, i) => panel.hidden = i !== index);\n }\n\n get #firstFocusable(): BaseTab {\n return this.#tabindex.firstItem as BaseTab;\n }\n\n get #lastFocusable(): BaseTab {\n return this.#tabindex.lastItem as BaseTab;\n }\n\n get #firstTab(): BaseTab {\n const [tab] = this.#allTabs;\n return tab;\n }\n\n get #lastTab(): BaseTab {\n return this.#allTabs.at(-1) as BaseTab;\n }\n\n get #activeItemIndex() {\n const { activeItem } = this.#tabindex;\n return this.#allTabs.findIndex(t => t === activeItem);\n }\n\n #activate(selectedTab: BaseTab): void {\n if (selectedTab.ariaDisabled !== 'true') {\n selectedTab.active = true;\n }\n }\n\n async #select(selectedTab: BaseTab): Promise<void> {\n if (!this.manual) {\n this.#activate(selectedTab);\n }\n }\n\n // RTI: will handle key events\n #onKeydown = (event: KeyboardEvent): void => {\n const foundTab = this.#allTabs.find(tab => tab === event.target);\n if (!foundTab) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n this.#select(this.#tabindex.activeItem as BaseTab);\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n this.#select(this.#tabindex.activeItem as BaseTab);\n break;\n\n case 'Home':\n event.preventDefault();\n this.#select(this.#firstFocusable);\n break;\n\n case 'End':\n event.preventDefault();\n this.#select(this.#lastFocusable);\n break;\n\n default:\n return;\n }\n };\n\n #firstLastClasses() {\n this.#firstTab.classList.add('first');\n this.#lastTab.classList.add('last');\n }\n\n #scrollLeft() {\n this.#overflow.scrollLeft();\n }\n\n #scrollRight() {\n this.#overflow.scrollRight();\n }\n}\n"]}
@@ -0,0 +1,40 @@
1
+ # PatternFly Elements Tabs
2
+
3
+ Read more about Tabs in the [PatternFly Elements Tabs documentation](https://patternflyelements.org/components/tabs)
4
+
5
+ ## Installation
6
+
7
+ Load `<pf-tabs>` via CDN:
8
+
9
+ ```html
10
+ <script src="https://jspm.dev/@patternfly/elements/pf-tabs/pf-tabs.js"></script>
11
+ ```
12
+
13
+ Or, if you are using [NPM](https://npm.im), install it
14
+
15
+ ```bash
16
+ npm install @patternfly/elements
17
+ ```
18
+
19
+ Then once installed, import it to your application:
20
+
21
+ ```js
22
+ import '@patternfly/elements/pf-tabs/pf-tabs.js';
23
+ ```
24
+
25
+ ### Note
26
+ For `<pf-tabs>` to work in Safari, you'll need to load the [element-internals-polyfill](https://www.npmjs.com/package/element-internals-polyfill). Safari is in the process of [adding element internals to WebKit](https://bugs.webkit.org/show_bug.cgi?id=197960) so this polyfill should be temporary.
27
+
28
+ ## Usage
29
+
30
+ ```html
31
+ <pf-tabs>
32
+ <pf-tab id="users" slot="tab">Users</pf-tab>
33
+ <pf-tab-panel>Users</pf-tab-panel>
34
+ <pf-tab slot="tab">Containers</pf-tab>
35
+ <pf-tab-panel>Containers <a href="#">Focusable element</a></pf-tab-panel>
36
+ <pf-tab slot="tab">Database</pf-tab>
37
+ <pf-tab-panel>Database</pf-tab-panel>
38
+ </pf-tabs>
39
+ ```
40
+
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
3
  import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
4
4
  import { css } from "lit";
5
- const styles = css `:host([box="light"]) {\n background-color: var(--pf-c-tab-content--m-light-300, var(--pf-global--BackgroundColor--light-300, #f0f0f0));\n}\n`;
5
+ const styles = css `:host([box=light]){background-color:var(--pf-c-tab-content--m-light-300,var(--pf-global--BackgroundColor--light-300,#f0f0f0))}`;
6
6
  import { BaseTabPanel } from './BaseTabPanel.js';
7
7
  /**
8
8
  * @slot - Tab panel content
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tab-panel.js","sourceRoot":"","sources":["pf-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;;;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;GAMG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAG1C,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;IAC1C,CAAC;;AALe,iBAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD/C,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU,CAOtB;SAPY,UAAU","sourcesContent":["import { customElement } from 'lit/decorators.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport styles from './pf-tab-panel.css';\n\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\n/**\n * @slot - Tab panel content\n *\n * @cssprop {<color>} --pf-c-tab-content--m-light-300 {@default `#f0f0f0`}\n *\n * @csspart container - container for the panel content\n */\n@customElement('pf-tab-panel')\nexport class PfTabPanel extends BaseTabPanel {\n static readonly styles = [...BaseTabPanel.styles, styles];\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab-panel': PfTabPanel;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-tab-panel.js","sourceRoot":"","sources":["pf-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;;;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;GAMG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAG1C,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;IAC1C,CAAC;;AALe,iBAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD/C,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU,CAOtB;SAPY,UAAU","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport styles from './pf-tab-panel.css';\n\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\n/**\n * @slot - Tab panel content\n *\n * @cssprop {<color>} --pf-c-tab-content--m-light-300 {@default `#f0f0f0`}\n *\n * @csspart container - container for the panel content\n */\n@customElement('pf-tab-panel')\nexport class PfTabPanel extends BaseTabPanel {\n static readonly styles = [...BaseTabPanel.styles, styles];\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab-panel': PfTabPanel;\n }\n}\n"]}