@patternfly/elements 2.0.0-rc.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. package/custom-elements.json +48 -16
  2. package/package.json +3 -3
  3. package/pf-accordion/BaseAccordion.js +1 -1
  4. package/pf-accordion/BaseAccordion.js.map +1 -1
  5. package/pf-accordion/BaseAccordionHeader.js +1 -1
  6. package/pf-accordion/BaseAccordionHeader.js.map +1 -1
  7. package/pf-accordion/BaseAccordionPanel.js +1 -1
  8. package/pf-accordion/BaseAccordionPanel.js.map +1 -1
  9. package/pf-accordion/pf-accordion-header.js +2 -1
  10. package/pf-accordion/pf-accordion-header.js.map +1 -1
  11. package/pf-accordion/pf-accordion-panel.js +2 -1
  12. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  13. package/pf-accordion/pf-accordion.js +2 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/BaseAvatar.d.ts +2 -0
  16. package/pf-avatar/BaseAvatar.js +7 -3
  17. package/pf-avatar/BaseAvatar.js.map +1 -1
  18. package/pf-avatar/pf-avatar.js +2 -1
  19. package/pf-avatar/pf-avatar.js.map +1 -1
  20. package/pf-badge/pf-badge.js +2 -1
  21. package/pf-badge/pf-badge.js.map +1 -1
  22. package/pf-button/BaseButton.js +1 -1
  23. package/pf-button/BaseButton.js.map +1 -1
  24. package/pf-button/pf-button.js +2 -1
  25. package/pf-button/pf-button.js.map +1 -1
  26. package/pf-card/pf-card.js +2 -1
  27. package/pf-card/pf-card.js.map +1 -1
  28. package/pf-clipboard-copy/pf-clipboard-copy.js +2 -1
  29. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  30. package/pf-code-block/pf-code-block.js +2 -1
  31. package/pf-code-block/pf-code-block.js.map +1 -1
  32. package/pf-icon/BaseIcon.js +2 -1
  33. package/pf-icon/BaseIcon.js.map +1 -1
  34. package/pf-icon/icons/fab/algolia.js +1 -1
  35. package/pf-icon/icons/fab/line.js +1 -1
  36. package/pf-icon/icons/fab/odysee.js +1 -0
  37. package/pf-icon/icons/fab/stubber.js +1 -0
  38. package/pf-icon/icons/far/address-book.js +1 -1
  39. package/pf-icon/icons/far/address-card.js +1 -1
  40. package/pf-icon/icons/far/bell-slash.js +1 -1
  41. package/pf-icon/icons/far/bell.js +1 -1
  42. package/pf-icon/icons/far/bookmark.js +1 -1
  43. package/pf-icon/icons/far/building.js +1 -1
  44. package/pf-icon/icons/far/calendar-check.js +1 -1
  45. package/pf-icon/icons/far/calendar-days.js +1 -1
  46. package/pf-icon/icons/far/calendar-minus.js +1 -1
  47. package/pf-icon/icons/far/calendar-plus.js +1 -1
  48. package/pf-icon/icons/far/calendar-xmark.js +1 -1
  49. package/pf-icon/icons/far/calendar.js +1 -1
  50. package/pf-icon/icons/far/chart-bar.js +1 -1
  51. package/pf-icon/icons/far/chess-bishop.js +1 -1
  52. package/pf-icon/icons/far/chess-king.js +1 -1
  53. package/pf-icon/icons/far/chess-knight.js +1 -1
  54. package/pf-icon/icons/far/chess-pawn.js +1 -1
  55. package/pf-icon/icons/far/chess-queen.js +1 -1
  56. package/pf-icon/icons/far/chess-rook.js +1 -1
  57. package/pf-icon/icons/far/circle-down.js +1 -1
  58. package/pf-icon/icons/far/circle-left.js +1 -1
  59. package/pf-icon/icons/far/circle-pause.js +1 -1
  60. package/pf-icon/icons/far/circle-play.js +1 -1
  61. package/pf-icon/icons/far/circle-question.js +1 -1
  62. package/pf-icon/icons/far/circle-right.js +1 -1
  63. package/pf-icon/icons/far/circle-stop.js +1 -1
  64. package/pf-icon/icons/far/circle-up.js +1 -1
  65. package/pf-icon/icons/far/circle-user.js +1 -1
  66. package/pf-icon/icons/far/clock.js +1 -1
  67. package/pf-icon/icons/far/clone.js +1 -1
  68. package/pf-icon/icons/far/closed-captioning.js +1 -1
  69. package/pf-icon/icons/far/comment-dots.js +1 -1
  70. package/pf-icon/icons/far/comment.js +1 -1
  71. package/pf-icon/icons/far/comments.js +1 -1
  72. package/pf-icon/icons/far/compass.js +1 -1
  73. package/pf-icon/icons/far/copy.js +1 -1
  74. package/pf-icon/icons/far/copyright.js +1 -1
  75. package/pf-icon/icons/far/credit-card.js +1 -1
  76. package/pf-icon/icons/far/envelope-open.js +1 -1
  77. package/pf-icon/icons/far/eye-slash.js +1 -1
  78. package/pf-icon/icons/far/eye.js +1 -1
  79. package/pf-icon/icons/far/face-angry.js +1 -1
  80. package/pf-icon/icons/far/face-dizzy.js +1 -1
  81. package/pf-icon/icons/far/face-flushed.js +1 -1
  82. package/pf-icon/icons/far/face-frown-open.js +1 -1
  83. package/pf-icon/icons/far/face-frown.js +1 -1
  84. package/pf-icon/icons/far/face-grimace.js +1 -1
  85. package/pf-icon/icons/far/face-grin-beam-sweat.js +1 -1
  86. package/pf-icon/icons/far/face-grin-beam.js +1 -1
  87. package/pf-icon/icons/far/face-grin-hearts.js +1 -1
  88. package/pf-icon/icons/far/face-grin-squint-tears.js +1 -1
  89. package/pf-icon/icons/far/face-grin-squint.js +1 -1
  90. package/pf-icon/icons/far/face-grin-stars.js +1 -1
  91. package/pf-icon/icons/far/face-grin-tears.js +1 -1
  92. package/pf-icon/icons/far/face-grin-tongue-squint.js +1 -1
  93. package/pf-icon/icons/far/face-grin-tongue-wink.js +1 -1
  94. package/pf-icon/icons/far/face-grin-tongue.js +1 -1
  95. package/pf-icon/icons/far/face-grin-wide.js +1 -1
  96. package/pf-icon/icons/far/face-grin-wink.js +1 -1
  97. package/pf-icon/icons/far/face-grin.js +1 -1
  98. package/pf-icon/icons/far/face-kiss-beam.js +1 -1
  99. package/pf-icon/icons/far/face-kiss-wink-heart.js +1 -1
  100. package/pf-icon/icons/far/face-kiss.js +1 -1
  101. package/pf-icon/icons/far/face-laugh-beam.js +1 -1
  102. package/pf-icon/icons/far/face-laugh-squint.js +1 -1
  103. package/pf-icon/icons/far/face-laugh-wink.js +1 -1
  104. package/pf-icon/icons/far/face-laugh.js +1 -1
  105. package/pf-icon/icons/far/face-meh-blank.js +1 -1
  106. package/pf-icon/icons/far/face-meh.js +1 -1
  107. package/pf-icon/icons/far/face-rolling-eyes.js +1 -1
  108. package/pf-icon/icons/far/face-sad-cry.js +1 -1
  109. package/pf-icon/icons/far/face-sad-tear.js +1 -1
  110. package/pf-icon/icons/far/face-smile-beam.js +1 -1
  111. package/pf-icon/icons/far/face-smile-wink.js +1 -1
  112. package/pf-icon/icons/far/face-smile.js +1 -1
  113. package/pf-icon/icons/far/face-surprise.js +1 -1
  114. package/pf-icon/icons/far/face-tired.js +1 -1
  115. package/pf-icon/icons/far/file-audio.js +1 -1
  116. package/pf-icon/icons/far/file-code.js +1 -1
  117. package/pf-icon/icons/far/file-excel.js +1 -1
  118. package/pf-icon/icons/far/file-image.js +1 -1
  119. package/pf-icon/icons/far/file-lines.js +1 -1
  120. package/pf-icon/icons/far/file-pdf.js +1 -1
  121. package/pf-icon/icons/far/file-powerpoint.js +1 -1
  122. package/pf-icon/icons/far/file-video.js +1 -1
  123. package/pf-icon/icons/far/file-word.js +1 -1
  124. package/pf-icon/icons/far/file-zipper.js +1 -1
  125. package/pf-icon/icons/far/file.js +1 -1
  126. package/pf-icon/icons/far/floppy-disk.js +1 -1
  127. package/pf-icon/icons/far/folder-closed.js +1 -1
  128. package/pf-icon/icons/far/folder-open.js +1 -1
  129. package/pf-icon/icons/far/folder.js +1 -1
  130. package/pf-icon/icons/far/font-awesome.js +1 -1
  131. package/pf-icon/icons/far/hand-back-fist.js +1 -1
  132. package/pf-icon/icons/far/hand-lizard.js +1 -1
  133. package/pf-icon/icons/far/hand-peace.js +1 -1
  134. package/pf-icon/icons/far/hand-point-down.js +1 -1
  135. package/pf-icon/icons/far/hand-point-left.js +1 -1
  136. package/pf-icon/icons/far/hand-point-right.js +1 -1
  137. package/pf-icon/icons/far/hand-point-up.js +1 -1
  138. package/pf-icon/icons/far/hand-pointer.js +1 -1
  139. package/pf-icon/icons/far/hand-scissors.js +1 -1
  140. package/pf-icon/icons/far/hand-spock.js +1 -1
  141. package/pf-icon/icons/far/hand.js +1 -1
  142. package/pf-icon/icons/far/handshake.js +1 -1
  143. package/pf-icon/icons/far/hard-drive.js +1 -1
  144. package/pf-icon/icons/far/hospital.js +1 -1
  145. package/pf-icon/icons/far/hourglass-half.js +1 -1
  146. package/pf-icon/icons/far/hourglass.js +1 -1
  147. package/pf-icon/icons/far/id-badge.js +1 -1
  148. package/pf-icon/icons/far/id-card.js +1 -1
  149. package/pf-icon/icons/far/image.js +1 -1
  150. package/pf-icon/icons/far/images.js +1 -1
  151. package/pf-icon/icons/far/keyboard.js +1 -1
  152. package/pf-icon/icons/far/lemon.js +1 -1
  153. package/pf-icon/icons/far/life-ring.js +1 -1
  154. package/pf-icon/icons/far/lightbulb.js +1 -1
  155. package/pf-icon/icons/far/map.js +1 -1
  156. package/pf-icon/icons/far/message.js +1 -1
  157. package/pf-icon/icons/far/money-bill-1.js +1 -1
  158. package/pf-icon/icons/far/moon.js +1 -1
  159. package/pf-icon/icons/far/newspaper.js +1 -1
  160. package/pf-icon/icons/far/object-group.js +1 -1
  161. package/pf-icon/icons/far/object-ungroup.js +1 -1
  162. package/pf-icon/icons/far/pen-to-square.js +1 -1
  163. package/pf-icon/icons/far/rectangle-list.js +1 -1
  164. package/pf-icon/icons/far/registered.js +1 -1
  165. package/pf-icon/icons/far/snowflake.js +1 -1
  166. package/pf-icon/icons/far/square-caret-down.js +1 -1
  167. package/pf-icon/icons/far/square-caret-left.js +1 -1
  168. package/pf-icon/icons/far/square-caret-right.js +1 -1
  169. package/pf-icon/icons/far/square-caret-up.js +1 -1
  170. package/pf-icon/icons/far/sun.js +1 -1
  171. package/pf-icon/icons/far/thumbs-down.js +1 -1
  172. package/pf-icon/icons/far/thumbs-up.js +1 -1
  173. package/pf-icon/icons/far/trash-can.js +1 -1
  174. package/pf-icon/icons/far/user.js +1 -1
  175. package/pf-icon/icons/far/window-maximize.js +1 -1
  176. package/pf-icon/icons/far/window-minimize.js +1 -1
  177. package/pf-icon/icons/far/window-restore.js +1 -1
  178. package/pf-icon/icons/fas/3.js +1 -1
  179. package/pf-icon/icons/fas/6.js +1 -1
  180. package/pf-icon/icons/fas/9.js +1 -1
  181. package/pf-icon/icons/fas/a.js +1 -1
  182. package/pf-icon/icons/fas/address-book.js +1 -1
  183. package/pf-icon/icons/fas/address-card.js +1 -1
  184. package/pf-icon/icons/fas/anchor-circle-check.js +1 -1
  185. package/pf-icon/icons/fas/anchor-circle-exclamation.js +1 -1
  186. package/pf-icon/icons/fas/anchor-circle-xmark.js +1 -1
  187. package/pf-icon/icons/fas/anchor-lock.js +1 -1
  188. package/pf-icon/icons/fas/anchor.js +1 -1
  189. package/pf-icon/icons/fas/angle-down.js +1 -1
  190. package/pf-icon/icons/fas/angle-left.js +1 -1
  191. package/pf-icon/icons/fas/angle-right.js +1 -1
  192. package/pf-icon/icons/fas/angle-up.js +1 -1
  193. package/pf-icon/icons/fas/angles-down.js +1 -1
  194. package/pf-icon/icons/fas/angles-left.js +1 -1
  195. package/pf-icon/icons/fas/angles-right.js +1 -1
  196. package/pf-icon/icons/fas/angles-up.js +1 -1
  197. package/pf-icon/icons/fas/arrow-down-1-9.js +1 -1
  198. package/pf-icon/icons/fas/arrow-down-9-1.js +1 -1
  199. package/pf-icon/icons/fas/arrow-down-a-z.js +1 -1
  200. package/pf-icon/icons/fas/arrow-down-long.js +1 -1
  201. package/pf-icon/icons/fas/arrow-down-z-a.js +1 -1
  202. package/pf-icon/icons/fas/arrow-left-long.js +1 -1
  203. package/pf-icon/icons/fas/arrow-right-from-bracket.js +1 -1
  204. package/pf-icon/icons/fas/arrow-rotate-left.js +1 -1
  205. package/pf-icon/icons/fas/arrow-rotate-right.js +1 -1
  206. package/pf-icon/icons/fas/arrow-up-1-9.js +1 -1
  207. package/pf-icon/icons/fas/arrow-up-9-1.js +1 -1
  208. package/pf-icon/icons/fas/arrow-up-a-z.js +1 -1
  209. package/pf-icon/icons/fas/arrow-up-long.js +1 -1
  210. package/pf-icon/icons/fas/arrow-up-right-dots.js +1 -1
  211. package/pf-icon/icons/fas/arrow-up-z-a.js +1 -1
  212. package/pf-icon/icons/fas/arrows-down-to-line.js +1 -1
  213. package/pf-icon/icons/fas/arrows-down-to-people.js +1 -1
  214. package/pf-icon/icons/fas/arrows-rotate.js +1 -1
  215. package/pf-icon/icons/fas/arrows-to-circle.js +1 -1
  216. package/pf-icon/icons/fas/arrows-to-dot.js +1 -1
  217. package/pf-icon/icons/fas/arrows-to-eye.js +1 -1
  218. package/pf-icon/icons/fas/arrows-turn-right.js +1 -1
  219. package/pf-icon/icons/fas/arrows-turn-to-dots.js +1 -1
  220. package/pf-icon/icons/fas/arrows-up-down.js +1 -1
  221. package/pf-icon/icons/fas/arrows-up-to-line.js +1 -1
  222. package/pf-icon/icons/fas/at.js +1 -1
  223. package/pf-icon/icons/fas/atom.js +1 -1
  224. package/pf-icon/icons/fas/award.js +1 -1
  225. package/pf-icon/icons/fas/b.js +1 -1
  226. package/pf-icon/icons/fas/baby-carriage.js +1 -1
  227. package/pf-icon/icons/fas/baby.js +1 -1
  228. package/pf-icon/icons/fas/bacteria.js +1 -1
  229. package/pf-icon/icons/fas/bacterium.js +1 -1
  230. package/pf-icon/icons/fas/bag-shopping.js +1 -1
  231. package/pf-icon/icons/fas/bahai.js +1 -1
  232. package/pf-icon/icons/fas/ban-smoking.js +1 -1
  233. package/pf-icon/icons/fas/ban.js +1 -1
  234. package/pf-icon/icons/fas/bandage.js +1 -1
  235. package/pf-icon/icons/fas/baseball-bat-ball.js +1 -1
  236. package/pf-icon/icons/fas/bath.js +1 -1
  237. package/pf-icon/icons/fas/battery-empty.js +1 -1
  238. package/pf-icon/icons/fas/battery-full.js +1 -1
  239. package/pf-icon/icons/fas/battery-half.js +1 -1
  240. package/pf-icon/icons/fas/battery-quarter.js +1 -1
  241. package/pf-icon/icons/fas/battery-three-quarters.js +1 -1
  242. package/pf-icon/icons/fas/bed-pulse.js +1 -1
  243. package/pf-icon/icons/fas/bed.js +1 -1
  244. package/pf-icon/icons/fas/biohazard.js +1 -1
  245. package/pf-icon/icons/fas/blender-phone.js +1 -1
  246. package/pf-icon/icons/fas/blender.js +1 -1
  247. package/pf-icon/icons/fas/bolt.js +1 -1
  248. package/pf-icon/icons/fas/bong.js +1 -1
  249. package/pf-icon/icons/fas/book-atlas.js +1 -1
  250. package/pf-icon/icons/fas/book-journal-whills.js +1 -1
  251. package/pf-icon/icons/fas/book-open-reader.js +1 -1
  252. package/pf-icon/icons/fas/book-open.js +1 -1
  253. package/pf-icon/icons/fas/book-skull.js +1 -1
  254. package/pf-icon/icons/fas/border-none.js +1 -1
  255. package/pf-icon/icons/fas/border-top-left.js +1 -1
  256. package/pf-icon/icons/fas/bore-hole.js +1 -1
  257. package/pf-icon/icons/fas/box-open.js +1 -1
  258. package/pf-icon/icons/fas/bridge-circle-check.js +1 -1
  259. package/pf-icon/icons/fas/bridge-circle-exclamation.js +1 -1
  260. package/pf-icon/icons/fas/bridge-circle-xmark.js +1 -1
  261. package/pf-icon/icons/fas/broom-ball.js +1 -1
  262. package/pf-icon/icons/fas/broom.js +1 -1
  263. package/pf-icon/icons/fas/brush.js +1 -1
  264. package/pf-icon/icons/fas/bugs.js +1 -1
  265. package/pf-icon/icons/fas/building-circle-arrow-right.js +1 -1
  266. package/pf-icon/icons/fas/building-circle-check.js +1 -1
  267. package/pf-icon/icons/fas/building-circle-exclamation.js +1 -1
  268. package/pf-icon/icons/fas/building-circle-xmark.js +1 -1
  269. package/pf-icon/icons/fas/building-columns.js +1 -1
  270. package/pf-icon/icons/fas/building-user.js +1 -1
  271. package/pf-icon/icons/fas/bullseye.js +1 -1
  272. package/pf-icon/icons/fas/burger.js +1 -1
  273. package/pf-icon/icons/fas/bus-simple.js +1 -1
  274. package/pf-icon/icons/fas/bus.js +1 -1
  275. package/pf-icon/icons/fas/business-time.js +1 -1
  276. package/pf-icon/icons/fas/cable-car.js +1 -1
  277. package/pf-icon/icons/fas/calculator.js +1 -1
  278. package/pf-icon/icons/fas/camera-retro.js +1 -1
  279. package/pf-icon/icons/fas/camera.js +1 -1
  280. package/pf-icon/icons/fas/cannabis.js +1 -1
  281. package/pf-icon/icons/fas/car-burst.js +1 -1
  282. package/pf-icon/icons/fas/car-on.js +1 -1
  283. package/pf-icon/icons/fas/car-side.js +1 -1
  284. package/pf-icon/icons/fas/car-tunnel.js +1 -1
  285. package/pf-icon/icons/fas/car.js +1 -1
  286. package/pf-icon/icons/fas/caravan.js +1 -1
  287. package/pf-icon/icons/fas/cash-register.js +1 -1
  288. package/pf-icon/icons/fas/cat.js +1 -1
  289. package/pf-icon/icons/fas/cedi-sign.js +1 -1
  290. package/pf-icon/icons/fas/cent-sign.js +1 -1
  291. package/pf-icon/icons/fas/chalkboard-user.js +1 -1
  292. package/pf-icon/icons/fas/champagne-glasses.js +1 -1
  293. package/pf-icon/icons/fas/chart-pie.js +1 -1
  294. package/pf-icon/icons/fas/chess-bishop.js +1 -1
  295. package/pf-icon/icons/fas/chess-king.js +1 -1
  296. package/pf-icon/icons/fas/chess-knight.js +1 -1
  297. package/pf-icon/icons/fas/chess-pawn.js +1 -1
  298. package/pf-icon/icons/fas/chess-queen.js +1 -1
  299. package/pf-icon/icons/fas/chess-rook.js +1 -1
  300. package/pf-icon/icons/fas/chess.js +1 -1
  301. package/pf-icon/icons/fas/chevron-down.js +1 -1
  302. package/pf-icon/icons/fas/chevron-left.js +1 -1
  303. package/pf-icon/icons/fas/chevron-right.js +1 -1
  304. package/pf-icon/icons/fas/chevron-up.js +1 -1
  305. package/pf-icon/icons/fas/child-combatant.js +1 -1
  306. package/pf-icon/icons/fas/child-dress.js +1 -1
  307. package/pf-icon/icons/fas/child-reaching.js +1 -1
  308. package/pf-icon/icons/fas/child.js +1 -1
  309. package/pf-icon/icons/fas/children.js +1 -1
  310. package/pf-icon/icons/fas/circle-arrow-down.js +1 -1
  311. package/pf-icon/icons/fas/circle-arrow-left.js +1 -1
  312. package/pf-icon/icons/fas/circle-arrow-right.js +1 -1
  313. package/pf-icon/icons/fas/circle-arrow-up.js +1 -1
  314. package/pf-icon/icons/fas/circle-chevron-down.js +1 -1
  315. package/pf-icon/icons/fas/circle-chevron-left.js +1 -1
  316. package/pf-icon/icons/fas/circle-chevron-right.js +1 -1
  317. package/pf-icon/icons/fas/circle-chevron-up.js +1 -1
  318. package/pf-icon/icons/fas/circle-down.js +1 -1
  319. package/pf-icon/icons/fas/circle-exclamation.js +1 -1
  320. package/pf-icon/icons/fas/circle-h.js +1 -1
  321. package/pf-icon/icons/fas/circle-info.js +1 -1
  322. package/pf-icon/icons/fas/circle-left.js +1 -1
  323. package/pf-icon/icons/fas/circle-pause.js +1 -1
  324. package/pf-icon/icons/fas/circle-play.js +1 -1
  325. package/pf-icon/icons/fas/circle-question.js +1 -1
  326. package/pf-icon/icons/fas/circle-radiation.js +1 -1
  327. package/pf-icon/icons/fas/circle-right.js +1 -1
  328. package/pf-icon/icons/fas/circle-stop.js +1 -1
  329. package/pf-icon/icons/fas/circle-up.js +1 -1
  330. package/pf-icon/icons/fas/circle-user.js +1 -1
  331. package/pf-icon/icons/fas/clock.js +1 -1
  332. package/pf-icon/icons/fas/cloud-meatball.js +1 -1
  333. package/pf-icon/icons/fas/cloud-moon-rain.js +1 -1
  334. package/pf-icon/icons/fas/cloud-showers-heavy.js +1 -1
  335. package/pf-icon/icons/fas/cloud-sun-rain.js +1 -1
  336. package/pf-icon/icons/fas/cloud-sun.js +1 -1
  337. package/pf-icon/icons/fas/colon-sign.js +1 -1
  338. package/pf-icon/icons/fas/comment-dots.js +1 -1
  339. package/pf-icon/icons/fas/comment-sms.js +1 -1
  340. package/pf-icon/icons/fas/compact-disc.js +1 -1
  341. package/pf-icon/icons/fas/compass-drafting.js +1 -1
  342. package/pf-icon/icons/fas/compass.js +1 -1
  343. package/pf-icon/icons/fas/computer.js +1 -1
  344. package/pf-icon/icons/fas/cookie-bite.js +1 -1
  345. package/pf-icon/icons/fas/cookie.js +1 -1
  346. package/pf-icon/icons/fas/copyright.js +1 -1
  347. package/pf-icon/icons/fas/cow.js +1 -1
  348. package/pf-icon/icons/fas/crosshairs.js +1 -1
  349. package/pf-icon/icons/fas/crow.js +1 -1
  350. package/pf-icon/icons/fas/cruzeiro-sign.js +1 -1
  351. package/pf-icon/icons/fas/cubes.js +1 -1
  352. package/pf-icon/icons/fas/d.js +1 -1
  353. package/pf-icon/icons/fas/democrat.js +1 -1
  354. package/pf-icon/icons/fas/dharmachakra.js +1 -1
  355. package/pf-icon/icons/fas/disease.js +1 -1
  356. package/pf-icon/icons/fas/divide.js +1 -1
  357. package/pf-icon/icons/fas/dog.js +1 -1
  358. package/pf-icon/icons/fas/dollar-sign.js +1 -1
  359. package/pf-icon/icons/fas/dolly.js +1 -1
  360. package/pf-icon/icons/fas/dong-sign.js +1 -1
  361. package/pf-icon/icons/fas/door-closed.js +1 -1
  362. package/pf-icon/icons/fas/door-open.js +1 -1
  363. package/pf-icon/icons/fas/dove.js +1 -1
  364. package/pf-icon/icons/fas/down-left-and-up-right-to-center.js +1 -1
  365. package/pf-icon/icons/fas/down-long.js +1 -1
  366. package/pf-icon/icons/fas/download.js +1 -1
  367. package/pf-icon/icons/fas/drum.js +1 -1
  368. package/pf-icon/icons/fas/e.js +1 -1
  369. package/pf-icon/icons/fas/ear-listen.js +1 -1
  370. package/pf-icon/icons/fas/earth-africa.js +1 -1
  371. package/pf-icon/icons/fas/earth-americas.js +1 -1
  372. package/pf-icon/icons/fas/earth-asia.js +1 -1
  373. package/pf-icon/icons/fas/earth-europe.js +1 -1
  374. package/pf-icon/icons/fas/earth-oceania.js +1 -1
  375. package/pf-icon/icons/fas/elevator.js +1 -1
  376. package/pf-icon/icons/fas/ellipsis-vertical.js +1 -1
  377. package/pf-icon/icons/fas/ellipsis.js +1 -1
  378. package/pf-icon/icons/fas/equals.js +1 -1
  379. package/pf-icon/icons/fas/eraser.js +1 -1
  380. package/pf-icon/icons/fas/exclamation.js +1 -1
  381. package/pf-icon/icons/fas/eye-low-vision.js +1 -1
  382. package/pf-icon/icons/fas/eye-slash.js +1 -1
  383. package/pf-icon/icons/fas/eye.js +1 -1
  384. package/pf-icon/icons/fas/f.js +1 -1
  385. package/pf-icon/icons/fas/face-angry.js +1 -1
  386. package/pf-icon/icons/fas/face-dizzy.js +1 -1
  387. package/pf-icon/icons/fas/face-flushed.js +1 -1
  388. package/pf-icon/icons/fas/face-frown-open.js +1 -1
  389. package/pf-icon/icons/fas/face-frown.js +1 -1
  390. package/pf-icon/icons/fas/face-grimace.js +1 -1
  391. package/pf-icon/icons/fas/face-grin-beam.js +1 -1
  392. package/pf-icon/icons/fas/face-grin-hearts.js +1 -1
  393. package/pf-icon/icons/fas/face-grin-squint-tears.js +1 -1
  394. package/pf-icon/icons/fas/face-grin-squint.js +1 -1
  395. package/pf-icon/icons/fas/face-grin-stars.js +1 -1
  396. package/pf-icon/icons/fas/face-grin-tongue-wink.js +1 -1
  397. package/pf-icon/icons/fas/face-grin-tongue.js +1 -1
  398. package/pf-icon/icons/fas/face-grin-wide.js +1 -1
  399. package/pf-icon/icons/fas/face-grin-wink.js +1 -1
  400. package/pf-icon/icons/fas/face-grin.js +1 -1
  401. package/pf-icon/icons/fas/face-kiss-beam.js +1 -1
  402. package/pf-icon/icons/fas/face-kiss-wink-heart.js +1 -1
  403. package/pf-icon/icons/fas/face-kiss.js +1 -1
  404. package/pf-icon/icons/fas/face-laugh-beam.js +1 -1
  405. package/pf-icon/icons/fas/face-laugh-squint.js +1 -1
  406. package/pf-icon/icons/fas/face-laugh-wink.js +1 -1
  407. package/pf-icon/icons/fas/face-laugh.js +1 -1
  408. package/pf-icon/icons/fas/face-meh-blank.js +1 -1
  409. package/pf-icon/icons/fas/face-meh.js +1 -1
  410. package/pf-icon/icons/fas/face-rolling-eyes.js +1 -1
  411. package/pf-icon/icons/fas/face-sad-tear.js +1 -1
  412. package/pf-icon/icons/fas/face-smile-beam.js +1 -1
  413. package/pf-icon/icons/fas/face-smile-wink.js +1 -1
  414. package/pf-icon/icons/fas/face-smile.js +1 -1
  415. package/pf-icon/icons/fas/face-surprise.js +1 -1
  416. package/pf-icon/icons/fas/face-tired.js +1 -1
  417. package/pf-icon/icons/fas/fan.js +1 -1
  418. package/pf-icon/icons/fas/fax.js +1 -1
  419. package/pf-icon/icons/fas/file-circle-check.js +1 -1
  420. package/pf-icon/icons/fas/file-circle-exclamation.js +1 -1
  421. package/pf-icon/icons/fas/file-circle-minus.js +1 -1
  422. package/pf-icon/icons/fas/file-circle-plus.js +1 -1
  423. package/pf-icon/icons/fas/file-circle-question.js +1 -1
  424. package/pf-icon/icons/fas/file-circle-xmark.js +1 -1
  425. package/pf-icon/icons/fas/file-export.js +1 -1
  426. package/pf-icon/icons/fas/file-image.js +1 -1
  427. package/pf-icon/icons/fas/file-pdf.js +1 -1
  428. package/pf-icon/icons/fas/fill.js +1 -1
  429. package/pf-icon/icons/fas/fingerprint.js +1 -1
  430. package/pf-icon/icons/fas/fire-burner.js +1 -1
  431. package/pf-icon/icons/fas/fire-extinguisher.js +1 -1
  432. package/pf-icon/icons/fas/fire.js +1 -1
  433. package/pf-icon/icons/fas/fish-fins.js +1 -1
  434. package/pf-icon/icons/fas/fish.js +1 -1
  435. package/pf-icon/icons/fas/floppy-disk.js +1 -1
  436. package/pf-icon/icons/fas/folder-closed.js +1 -1
  437. package/pf-icon/icons/fas/folder-minus.js +1 -1
  438. package/pf-icon/icons/fas/folder-plus.js +1 -1
  439. package/pf-icon/icons/fas/folder.js +1 -1
  440. package/pf-icon/icons/fas/frog.js +1 -1
  441. package/pf-icon/icons/fas/g.js +1 -1
  442. package/pf-icon/icons/fas/gauge-high.js +1 -1
  443. package/pf-icon/icons/fas/gauge-simple-high.js +1 -1
  444. package/pf-icon/icons/fas/gauge-simple.js +1 -1
  445. package/pf-icon/icons/fas/gauge.js +1 -1
  446. package/pf-icon/icons/fas/gear.js +1 -1
  447. package/pf-icon/icons/fas/gears.js +1 -1
  448. package/pf-icon/icons/fas/genderless.js +1 -1
  449. package/pf-icon/icons/fas/ghost.js +1 -1
  450. package/pf-icon/icons/fas/glass-water-droplet.js +1 -1
  451. package/pf-icon/icons/fas/glass-water.js +1 -1
  452. package/pf-icon/icons/fas/group-arrows-rotate.js +1 -1
  453. package/pf-icon/icons/fas/guitar.js +1 -1
  454. package/pf-icon/icons/fas/hamsa.js +1 -1
  455. package/pf-icon/icons/fas/hand-back-fist.js +1 -1
  456. package/pf-icon/icons/fas/hand-dots.js +1 -1
  457. package/pf-icon/icons/fas/hand-holding.js +1 -1
  458. package/pf-icon/icons/fas/hand-middle-finger.js +1 -1
  459. package/pf-icon/icons/fas/hand-peace.js +1 -1
  460. package/pf-icon/icons/fas/hand-spock.js +1 -1
  461. package/pf-icon/icons/fas/handcuffs.js +1 -1
  462. package/pf-icon/icons/fas/hands-bubbles.js +1 -1
  463. package/pf-icon/icons/fas/hands-clapping.js +1 -1
  464. package/pf-icon/icons/fas/hands-holding-child.js +1 -1
  465. package/pf-icon/icons/fas/hands-holding-circle.js +1 -1
  466. package/pf-icon/icons/fas/hands-praying.js +1 -1
  467. package/pf-icon/icons/fas/hands.js +1 -1
  468. package/pf-icon/icons/fas/handshake-angle.js +1 -1
  469. package/pf-icon/icons/fas/handshake-slash.js +1 -1
  470. package/pf-icon/icons/fas/handshake.js +1 -1
  471. package/pf-icon/icons/fas/hard-drive.js +1 -1
  472. package/pf-icon/icons/fas/hat-cowboy-side.js +1 -1
  473. package/pf-icon/icons/fas/head-side-cough-slash.js +1 -1
  474. package/pf-icon/icons/fas/head-side-cough.js +1 -1
  475. package/pf-icon/icons/fas/head-side-mask.js +1 -1
  476. package/pf-icon/icons/fas/head-side-virus.js +1 -1
  477. package/pf-icon/icons/fas/helicopter-symbol.js +1 -1
  478. package/pf-icon/icons/fas/helicopter.js +1 -1
  479. package/pf-icon/icons/fas/highlighter.js +1 -1
  480. package/pf-icon/icons/fas/hill-avalanche.js +1 -1
  481. package/pf-icon/icons/fas/hill-rockslide.js +1 -1
  482. package/pf-icon/icons/fas/hippo.js +1 -1
  483. package/pf-icon/icons/fas/holly-berry.js +1 -1
  484. package/pf-icon/icons/fas/horse-head.js +1 -1
  485. package/pf-icon/icons/fas/horse.js +1 -1
  486. package/pf-icon/icons/fas/hospital-user.js +1 -1
  487. package/pf-icon/icons/fas/hot-tub-person.js +1 -1
  488. package/pf-icon/icons/fas/hotel.js +1 -1
  489. package/pf-icon/icons/fas/house-chimney-user.js +1 -1
  490. package/pf-icon/icons/fas/house-circle-check.js +1 -1
  491. package/pf-icon/icons/fas/house-circle-exclamation.js +1 -1
  492. package/pf-icon/icons/fas/house-circle-xmark.js +1 -1
  493. package/pf-icon/icons/fas/house-fire.js +1 -1
  494. package/pf-icon/icons/fas/house-flood-water-circle-arrow-right.js +1 -1
  495. package/pf-icon/icons/fas/house-lock.js +1 -1
  496. package/pf-icon/icons/fas/house-medical-circle-check.js +1 -1
  497. package/pf-icon/icons/fas/house-medical-circle-exclamation.js +1 -1
  498. package/pf-icon/icons/fas/house-medical-circle-xmark.js +1 -1
  499. package/pf-icon/icons/fas/house-signal.js +1 -1
  500. package/pf-icon/icons/fas/house-user.js +1 -1
  501. package/pf-icon/icons/fas/hurricane.js +1 -1
  502. package/pf-icon/icons/fas/icons.js +1 -1
  503. package/pf-icon/icons/fas/id-badge.js +1 -1
  504. package/pf-icon/icons/fas/id-card-clip.js +1 -1
  505. package/pf-icon/icons/fas/id-card.js +1 -1
  506. package/pf-icon/icons/fas/image-portrait.js +1 -1
  507. package/pf-icon/icons/fas/image.js +1 -1
  508. package/pf-icon/icons/fas/images.js +1 -1
  509. package/pf-icon/icons/fas/info.js +1 -1
  510. package/pf-icon/icons/fas/jedi.js +1 -1
  511. package/pf-icon/icons/fas/key.js +1 -1
  512. package/pf-icon/icons/fas/khanda.js +1 -1
  513. package/pf-icon/icons/fas/kitchen-set.js +1 -1
  514. package/pf-icon/icons/fas/kiwi-bird.js +1 -1
  515. package/pf-icon/icons/fas/land-mine-on.js +1 -1
  516. package/pf-icon/icons/fas/left-long.js +1 -1
  517. package/pf-icon/icons/fas/life-ring.js +1 -1
  518. package/pf-icon/icons/fas/lightbulb.js +1 -1
  519. package/pf-icon/icons/fas/lines-leaning.js +1 -1
  520. package/pf-icon/icons/fas/link.js +1 -1
  521. package/pf-icon/icons/fas/lira-sign.js +1 -1
  522. package/pf-icon/icons/fas/list-check.js +1 -1
  523. package/pf-icon/icons/fas/list-ul.js +1 -1
  524. package/pf-icon/icons/fas/litecoin-sign.js +1 -1
  525. package/pf-icon/icons/fas/location-arrow.js +1 -1
  526. package/pf-icon/icons/fas/location-crosshairs.js +1 -1
  527. package/pf-icon/icons/fas/location-dot.js +1 -1
  528. package/pf-icon/icons/fas/location-pin-lock.js +1 -1
  529. package/pf-icon/icons/fas/locust.js +1 -1
  530. package/pf-icon/icons/fas/lungs-virus.js +1 -1
  531. package/pf-icon/icons/fas/magnifying-glass-location.js +1 -1
  532. package/pf-icon/icons/fas/magnifying-glass.js +1 -1
  533. package/pf-icon/icons/fas/map-location-dot.js +1 -1
  534. package/pf-icon/icons/fas/map-pin.js +1 -1
  535. package/pf-icon/icons/fas/mars-and-venus-burst.js +1 -1
  536. package/pf-icon/icons/fas/mars-and-venus.js +1 -1
  537. package/pf-icon/icons/fas/mars-double.js +1 -1
  538. package/pf-icon/icons/fas/mars-stroke-right.js +1 -1
  539. package/pf-icon/icons/fas/mars-stroke-up.js +1 -1
  540. package/pf-icon/icons/fas/mars-stroke.js +1 -1
  541. package/pf-icon/icons/fas/mars.js +1 -1
  542. package/pf-icon/icons/fas/mask.js +1 -1
  543. package/pf-icon/icons/fas/masks-theater.js +1 -1
  544. package/pf-icon/icons/fas/medal.js +1 -1
  545. package/pf-icon/icons/fas/mercury.js +1 -1
  546. package/pf-icon/icons/fas/meteor.js +1 -1
  547. package/pf-icon/icons/fas/microphone-lines.js +1 -1
  548. package/pf-icon/icons/fas/microphone.js +1 -1
  549. package/pf-icon/icons/fas/microscope.js +1 -1
  550. package/pf-icon/icons/fas/minus.js +1 -1
  551. package/pf-icon/icons/fas/mobile-button.js +1 -1
  552. package/pf-icon/icons/fas/mobile-retro.js +1 -1
  553. package/pf-icon/icons/fas/mobile-screen-button.js +1 -1
  554. package/pf-icon/icons/fas/mobile-screen.js +1 -1
  555. package/pf-icon/icons/fas/mobile.js +1 -1
  556. package/pf-icon/icons/fas/money-bill-1.js +1 -1
  557. package/pf-icon/icons/fas/money-bill-transfer.js +1 -1
  558. package/pf-icon/icons/fas/money-bill-trend-up.js +1 -1
  559. package/pf-icon/icons/fas/money-bill-wheat.js +1 -1
  560. package/pf-icon/icons/fas/money-bill.js +1 -1
  561. package/pf-icon/icons/fas/money-bills.js +1 -1
  562. package/pf-icon/icons/fas/money-check-dollar.js +1 -1
  563. package/pf-icon/icons/fas/motorcycle.js +1 -1
  564. package/pf-icon/icons/fas/mound.js +1 -1
  565. package/pf-icon/icons/fas/mountain-sun.js +1 -1
  566. package/pf-icon/icons/fas/mountain.js +1 -1
  567. package/pf-icon/icons/fas/neuter.js +1 -1
  568. package/pf-icon/icons/fas/not-equal.js +1 -1
  569. package/pf-icon/icons/fas/o.js +1 -1
  570. package/pf-icon/icons/fas/otter.js +1 -1
  571. package/pf-icon/icons/fas/outdent.js +1 -1
  572. package/pf-icon/icons/fas/p.js +1 -1
  573. package/pf-icon/icons/fas/paintbrush.js +1 -1
  574. package/pf-icon/icons/fas/palette.js +1 -1
  575. package/pf-icon/icons/fas/panorama.js +1 -1
  576. package/pf-icon/icons/fas/paperclip.js +1 -1
  577. package/pf-icon/icons/fas/parachute-box.js +1 -1
  578. package/pf-icon/icons/fas/passport.js +1 -1
  579. package/pf-icon/icons/fas/peace.js +1 -1
  580. package/pf-icon/icons/fas/pen-nib.js +1 -1
  581. package/pf-icon/icons/fas/people-arrows.js +1 -1
  582. package/pf-icon/icons/fas/people-carry-box.js +1 -1
  583. package/pf-icon/icons/fas/people-group.js +1 -1
  584. package/pf-icon/icons/fas/people-line.js +1 -1
  585. package/pf-icon/icons/fas/people-pulling.js +1 -1
  586. package/pf-icon/icons/fas/people-robbery.js +1 -1
  587. package/pf-icon/icons/fas/people-roof.js +1 -1
  588. package/pf-icon/icons/fas/percent.js +1 -1
  589. package/pf-icon/icons/fas/person-arrow-down-to-line.js +1 -1
  590. package/pf-icon/icons/fas/person-arrow-up-from-line.js +1 -1
  591. package/pf-icon/icons/fas/person-biking.js +1 -1
  592. package/pf-icon/icons/fas/person-booth.js +1 -1
  593. package/pf-icon/icons/fas/person-breastfeeding.js +1 -1
  594. package/pf-icon/icons/fas/person-burst.js +1 -1
  595. package/pf-icon/icons/fas/person-cane.js +1 -1
  596. package/pf-icon/icons/fas/person-chalkboard.js +1 -1
  597. package/pf-icon/icons/fas/person-circle-check.js +1 -1
  598. package/pf-icon/icons/fas/person-circle-exclamation.js +1 -1
  599. package/pf-icon/icons/fas/person-circle-minus.js +1 -1
  600. package/pf-icon/icons/fas/person-circle-plus.js +1 -1
  601. package/pf-icon/icons/fas/person-circle-question.js +1 -1
  602. package/pf-icon/icons/fas/person-circle-xmark.js +1 -1
  603. package/pf-icon/icons/fas/person-digging.js +1 -1
  604. package/pf-icon/icons/fas/person-dots-from-line.js +1 -1
  605. package/pf-icon/icons/fas/person-dress-burst.js +1 -1
  606. package/pf-icon/icons/fas/person-dress.js +1 -1
  607. package/pf-icon/icons/fas/person-drowning.js +1 -1
  608. package/pf-icon/icons/fas/person-falling-burst.js +1 -1
  609. package/pf-icon/icons/fas/person-falling.js +1 -1
  610. package/pf-icon/icons/fas/person-half-dress.js +1 -1
  611. package/pf-icon/icons/fas/person-harassing.js +1 -1
  612. package/pf-icon/icons/fas/person-hiking.js +1 -1
  613. package/pf-icon/icons/fas/person-military-pointing.js +1 -1
  614. package/pf-icon/icons/fas/person-military-rifle.js +1 -1
  615. package/pf-icon/icons/fas/person-military-to-person.js +1 -1
  616. package/pf-icon/icons/fas/person-praying.js +1 -1
  617. package/pf-icon/icons/fas/person-pregnant.js +1 -1
  618. package/pf-icon/icons/fas/person-rays.js +1 -1
  619. package/pf-icon/icons/fas/person-rifle.js +1 -1
  620. package/pf-icon/icons/fas/person-running.js +1 -1
  621. package/pf-icon/icons/fas/person-shelter.js +1 -1
  622. package/pf-icon/icons/fas/person-skating.js +1 -1
  623. package/pf-icon/icons/fas/person-skiing-nordic.js +1 -1
  624. package/pf-icon/icons/fas/person-skiing.js +1 -1
  625. package/pf-icon/icons/fas/person-snowboarding.js +1 -1
  626. package/pf-icon/icons/fas/person-swimming.js +1 -1
  627. package/pf-icon/icons/fas/person-through-window.js +1 -1
  628. package/pf-icon/icons/fas/person-walking-arrow-loop-left.js +1 -1
  629. package/pf-icon/icons/fas/person-walking-arrow-right.js +1 -1
  630. package/pf-icon/icons/fas/person-walking-dashed-line-arrow-right.js +1 -1
  631. package/pf-icon/icons/fas/person-walking-luggage.js +1 -1
  632. package/pf-icon/icons/fas/person-walking-with-cane.js +1 -1
  633. package/pf-icon/icons/fas/person-walking.js +1 -1
  634. package/pf-icon/icons/fas/person.js +1 -1
  635. package/pf-icon/icons/fas/photo-film.js +1 -1
  636. package/pf-icon/icons/fas/piggy-bank.js +1 -1
  637. package/pf-icon/icons/fas/pizza-slice.js +1 -1
  638. package/pf-icon/icons/fas/plane-arrival.js +1 -1
  639. package/pf-icon/icons/fas/plane-circle-check.js +1 -1
  640. package/pf-icon/icons/fas/plane-circle-exclamation.js +1 -1
  641. package/pf-icon/icons/fas/plane-circle-xmark.js +1 -1
  642. package/pf-icon/icons/fas/plane-slash.js +1 -1
  643. package/pf-icon/icons/fas/plug-circle-bolt.js +1 -1
  644. package/pf-icon/icons/fas/plug-circle-check.js +1 -1
  645. package/pf-icon/icons/fas/plug-circle-exclamation.js +1 -1
  646. package/pf-icon/icons/fas/plug-circle-minus.js +1 -1
  647. package/pf-icon/icons/fas/plug-circle-plus.js +1 -1
  648. package/pf-icon/icons/fas/plug-circle-xmark.js +1 -1
  649. package/pf-icon/icons/fas/plus.js +1 -1
  650. package/pf-icon/icons/fas/podcast.js +1 -1
  651. package/pf-icon/icons/fas/poo-storm.js +1 -1
  652. package/pf-icon/icons/fas/poo.js +1 -1
  653. package/pf-icon/icons/fas/print.js +1 -1
  654. package/pf-icon/icons/fas/pump-medical.js +1 -1
  655. package/pf-icon/icons/fas/pump-soap.js +1 -1
  656. package/pf-icon/icons/fas/q.js +1 -1
  657. package/pf-icon/icons/fas/qrcode.js +1 -1
  658. package/pf-icon/icons/fas/question.js +1 -1
  659. package/pf-icon/icons/fas/r.js +1 -1
  660. package/pf-icon/icons/fas/radiation.js +1 -1
  661. package/pf-icon/icons/fas/radio.js +1 -1
  662. package/pf-icon/icons/fas/record-vinyl.js +1 -1
  663. package/pf-icon/icons/fas/rectangle-ad.js +1 -1
  664. package/pf-icon/icons/fas/rectangle-list.js +1 -1
  665. package/pf-icon/icons/fas/recycle.js +1 -1
  666. package/pf-icon/icons/fas/registered.js +1 -1
  667. package/pf-icon/icons/fas/restroom.js +1 -1
  668. package/pf-icon/icons/fas/ribbon.js +1 -1
  669. package/pf-icon/icons/fas/right-from-bracket.js +1 -1
  670. package/pf-icon/icons/fas/right-long.js +1 -1
  671. package/pf-icon/icons/fas/right-to-bracket.js +1 -1
  672. package/pf-icon/icons/fas/road-circle-check.js +1 -1
  673. package/pf-icon/icons/fas/road-circle-exclamation.js +1 -1
  674. package/pf-icon/icons/fas/road-circle-xmark.js +1 -1
  675. package/pf-icon/icons/fas/robot.js +1 -1
  676. package/pf-icon/icons/fas/rocket.js +1 -1
  677. package/pf-icon/icons/fas/rotate-left.js +1 -1
  678. package/pf-icon/icons/fas/rotate-right.js +1 -1
  679. package/pf-icon/icons/fas/rotate.js +1 -1
  680. package/pf-icon/icons/fas/route.js +1 -1
  681. package/pf-icon/icons/fas/rss.js +1 -1
  682. package/pf-icon/icons/fas/ruler.js +1 -1
  683. package/pf-icon/icons/fas/s.js +1 -1
  684. package/pf-icon/icons/fas/sack-dollar.js +1 -1
  685. package/pf-icon/icons/fas/sailboat.js +1 -1
  686. package/pf-icon/icons/fas/scale-balanced.js +1 -1
  687. package/pf-icon/icons/fas/scale-unbalanced-flip.js +1 -1
  688. package/pf-icon/icons/fas/scale-unbalanced.js +1 -1
  689. package/pf-icon/icons/fas/school-flag.js +1 -1
  690. package/pf-icon/icons/fas/scissors.js +1 -1
  691. package/pf-icon/icons/fas/screwdriver-wrench.js +1 -1
  692. package/pf-icon/icons/fas/section.js +1 -1
  693. package/pf-icon/icons/fas/seedling.js +1 -1
  694. package/pf-icon/icons/fas/server.js +1 -1
  695. package/pf-icon/icons/fas/shapes.js +1 -1
  696. package/pf-icon/icons/fas/shield-cat.js +1 -1
  697. package/pf-icon/icons/fas/shield-dog.js +1 -1
  698. package/pf-icon/icons/fas/shield-halved.js +1 -1
  699. package/pf-icon/icons/fas/shield-heart.js +1 -1
  700. package/pf-icon/icons/fas/shield-virus.js +1 -1
  701. package/pf-icon/icons/fas/shield.js +1 -1
  702. package/pf-icon/icons/fas/shower.js +1 -1
  703. package/pf-icon/icons/fas/shrimp.js +1 -1
  704. package/pf-icon/icons/fas/signs-post.js +1 -1
  705. package/pf-icon/icons/fas/skull-crossbones.js +1 -1
  706. package/pf-icon/icons/fas/skull.js +1 -1
  707. package/pf-icon/icons/fas/sliders.js +1 -1
  708. package/pf-icon/icons/fas/snowflake.js +1 -1
  709. package/pf-icon/icons/fas/snowman.js +1 -1
  710. package/pf-icon/icons/fas/snowplow.js +1 -1
  711. package/pf-icon/icons/fas/soap.js +1 -1
  712. package/pf-icon/icons/fas/solar-panel.js +1 -1
  713. package/pf-icon/icons/fas/spaghetti-monster-flying.js +1 -1
  714. package/pf-icon/icons/fas/spell-check.js +1 -1
  715. package/pf-icon/icons/fas/spider.js +1 -1
  716. package/pf-icon/icons/fas/splotch.js +1 -1
  717. package/pf-icon/icons/fas/spray-can-sparkles.js +1 -1
  718. package/pf-icon/icons/fas/spray-can.js +1 -1
  719. package/pf-icon/icons/fas/square-person-confined.js +1 -1
  720. package/pf-icon/icons/fas/square-root-variable.js +1 -1
  721. package/pf-icon/icons/fas/square-rss.js +1 -1
  722. package/pf-icon/icons/fas/square-up-right.js +1 -1
  723. package/pf-icon/icons/fas/square-virus.js +1 -1
  724. package/pf-icon/icons/fas/staff-snake.js +1 -1
  725. package/pf-icon/icons/fas/star-and-crescent.js +1 -1
  726. package/pf-icon/icons/fas/star-of-david.js +1 -1
  727. package/pf-icon/icons/fas/star-of-life.js +1 -1
  728. package/pf-icon/icons/fas/sterling-sign.js +1 -1
  729. package/pf-icon/icons/fas/stethoscope.js +1 -1
  730. package/pf-icon/icons/fas/stopwatch-20.js +1 -1
  731. package/pf-icon/icons/fas/stopwatch.js +1 -1
  732. package/pf-icon/icons/fas/store.js +1 -1
  733. package/pf-icon/icons/fas/street-view.js +1 -1
  734. package/pf-icon/icons/fas/stroopwafel.js +1 -1
  735. package/pf-icon/icons/fas/sun-plant-wilt.js +1 -1
  736. package/pf-icon/icons/fas/sun.js +1 -1
  737. package/pf-icon/icons/fas/swatchbook.js +1 -1
  738. package/pf-icon/icons/fas/table-tennis-paddle-ball.js +1 -1
  739. package/pf-icon/icons/fas/tablet-button.js +1 -1
  740. package/pf-icon/icons/fas/tablet-screen-button.js +1 -1
  741. package/pf-icon/icons/fas/tachograph-digital.js +1 -1
  742. package/pf-icon/icons/fas/tag.js +1 -1
  743. package/pf-icon/icons/fas/tags.js +1 -1
  744. package/pf-icon/icons/fas/tape.js +1 -1
  745. package/pf-icon/icons/fas/tarp-droplet.js +1 -1
  746. package/pf-icon/icons/fas/tarp.js +1 -1
  747. package/pf-icon/icons/fas/taxi.js +1 -1
  748. package/pf-icon/icons/fas/temperature-empty.js +1 -1
  749. package/pf-icon/icons/fas/temperature-full.js +1 -1
  750. package/pf-icon/icons/fas/temperature-half.js +1 -1
  751. package/pf-icon/icons/fas/temperature-high.js +1 -1
  752. package/pf-icon/icons/fas/temperature-low.js +1 -1
  753. package/pf-icon/icons/fas/temperature-quarter.js +1 -1
  754. package/pf-icon/icons/fas/temperature-three-quarters.js +1 -1
  755. package/pf-icon/icons/fas/tent-arrow-left-right.js +1 -1
  756. package/pf-icon/icons/fas/tent-arrow-turn-left.js +1 -1
  757. package/pf-icon/icons/fas/tent-arrows-down.js +1 -1
  758. package/pf-icon/icons/fas/text-height.js +1 -1
  759. package/pf-icon/icons/fas/text-slash.js +1 -1
  760. package/pf-icon/icons/fas/text-width.js +1 -1
  761. package/pf-icon/icons/fas/thumbs-down.js +1 -1
  762. package/pf-icon/icons/fas/thumbs-up.js +1 -1
  763. package/pf-icon/icons/fas/ticket-simple.js +1 -1
  764. package/pf-icon/icons/fas/ticket.js +1 -1
  765. package/pf-icon/icons/fas/timeline.js +1 -1
  766. package/pf-icon/icons/fas/toggle-off.js +1 -1
  767. package/pf-icon/icons/fas/toggle-on.js +1 -1
  768. package/pf-icon/icons/fas/toilet-paper.js +1 -1
  769. package/pf-icon/icons/fas/torii-gate.js +1 -1
  770. package/pf-icon/icons/fas/tractor.js +1 -1
  771. package/pf-icon/icons/fas/traffic-light.js +1 -1
  772. package/pf-icon/icons/fas/trailer.js +1 -1
  773. package/pf-icon/icons/fas/train-subway.js +1 -1
  774. package/pf-icon/icons/fas/train-tram.js +1 -1
  775. package/pf-icon/icons/fas/train.js +1 -1
  776. package/pf-icon/icons/fas/transgender.js +1 -1
  777. package/pf-icon/icons/fas/triangle-exclamation.js +1 -1
  778. package/pf-icon/icons/fas/truck-arrow-right.js +1 -1
  779. package/pf-icon/icons/fas/truck-droplet.js +1 -1
  780. package/pf-icon/icons/fas/truck-fast.js +1 -1
  781. package/pf-icon/icons/fas/truck-field-un.js +1 -1
  782. package/pf-icon/icons/fas/truck-field.js +1 -1
  783. package/pf-icon/icons/fas/truck-front.js +1 -1
  784. package/pf-icon/icons/fas/truck-medical.js +1 -1
  785. package/pf-icon/icons/fas/truck-monster.js +1 -1
  786. package/pf-icon/icons/fas/truck-moving.js +1 -1
  787. package/pf-icon/icons/fas/truck-pickup.js +1 -1
  788. package/pf-icon/icons/fas/truck-plane.js +1 -1
  789. package/pf-icon/icons/fas/truck-ramp-box.js +1 -1
  790. package/pf-icon/icons/fas/truck.js +1 -1
  791. package/pf-icon/icons/fas/tty.js +1 -1
  792. package/pf-icon/icons/fas/turkish-lira-sign.js +1 -1
  793. package/pf-icon/icons/fas/turn-down.js +1 -1
  794. package/pf-icon/icons/fas/turn-up.js +1 -1
  795. package/pf-icon/icons/fas/umbrella.js +1 -1
  796. package/pf-icon/icons/fas/universal-access.js +1 -1
  797. package/pf-icon/icons/fas/up-long.js +1 -1
  798. package/pf-icon/icons/fas/up-right-and-down-left-from-center.js +1 -1
  799. package/pf-icon/icons/fas/upload.js +1 -1
  800. package/pf-icon/icons/fas/user-astronaut.js +1 -1
  801. package/pf-icon/icons/fas/user-check.js +1 -1
  802. package/pf-icon/icons/fas/user-clock.js +1 -1
  803. package/pf-icon/icons/fas/user-doctor.js +1 -1
  804. package/pf-icon/icons/fas/user-gear.js +1 -1
  805. package/pf-icon/icons/fas/user-graduate.js +1 -1
  806. package/pf-icon/icons/fas/user-group.js +1 -1
  807. package/pf-icon/icons/fas/user-large.js +1 -1
  808. package/pf-icon/icons/fas/user-lock.js +1 -1
  809. package/pf-icon/icons/fas/user-minus.js +1 -1
  810. package/pf-icon/icons/fas/user-ninja.js +1 -1
  811. package/pf-icon/icons/fas/user-nurse.js +1 -1
  812. package/pf-icon/icons/fas/user-pen.js +1 -1
  813. package/pf-icon/icons/fas/user-plus.js +1 -1
  814. package/pf-icon/icons/fas/user-shield.js +1 -1
  815. package/pf-icon/icons/fas/user-tag.js +1 -1
  816. package/pf-icon/icons/fas/user-tie.js +1 -1
  817. package/pf-icon/icons/fas/user-xmark.js +1 -1
  818. package/pf-icon/icons/fas/user.js +1 -1
  819. package/pf-icon/icons/fas/users-between-lines.js +1 -1
  820. package/pf-icon/icons/fas/users-gear.js +1 -1
  821. package/pf-icon/icons/fas/users-line.js +1 -1
  822. package/pf-icon/icons/fas/users-rays.js +1 -1
  823. package/pf-icon/icons/fas/users-rectangle.js +1 -1
  824. package/pf-icon/icons/fas/users-slash.js +1 -1
  825. package/pf-icon/icons/fas/users-viewfinder.js +1 -1
  826. package/pf-icon/icons/fas/users.js +1 -1
  827. package/pf-icon/icons/fas/v.js +1 -1
  828. package/pf-icon/icons/fas/van-shuttle.js +1 -1
  829. package/pf-icon/icons/fas/vault.js +1 -1
  830. package/pf-icon/icons/fas/venus-double.js +1 -1
  831. package/pf-icon/icons/fas/venus-mars.js +1 -1
  832. package/pf-icon/icons/fas/venus.js +1 -1
  833. package/pf-icon/icons/fas/vest-patches.js +1 -1
  834. package/pf-icon/icons/fas/vial-circle-check.js +1 -1
  835. package/pf-icon/icons/fas/vial-virus.js +1 -1
  836. package/pf-icon/icons/fas/virus-covid.js +1 -1
  837. package/pf-icon/icons/fas/virus.js +1 -1
  838. package/pf-icon/icons/fas/viruses.js +1 -1
  839. package/pf-icon/icons/fas/voicemail.js +1 -1
  840. package/pf-icon/icons/fas/vr-cardboard.js +1 -1
  841. package/pf-icon/icons/fas/wallet.js +1 -1
  842. package/pf-icon/icons/fas/wand-sparkles.js +1 -1
  843. package/pf-icon/icons/fas/weight-hanging.js +1 -1
  844. package/pf-icon/icons/fas/weight-scale.js +1 -1
  845. package/pf-icon/icons/fas/wheat-awn-circle-exclamation.js +1 -1
  846. package/pf-icon/icons/fas/wheelchair-move.js +1 -1
  847. package/pf-icon/icons/fas/wheelchair.js +1 -1
  848. package/pf-icon/icons/fas/wifi.js +1 -1
  849. package/pf-icon/icons/fas/wine-glass-empty.js +1 -1
  850. package/pf-icon/icons/fas/wine-glass.js +1 -1
  851. package/pf-icon/icons/fas/worm.js +1 -1
  852. package/pf-icon/icons/fas/wrench.js +1 -1
  853. package/pf-icon/icons/fas/x-ray.js +1 -1
  854. package/pf-icon/icons/fas/yin-yang.js +1 -1
  855. package/pf-icon/icons/patternfly/data-processor.js +1 -0
  856. package/pf-icon/pf-icon.js +2 -1
  857. package/pf-icon/pf-icon.js.map +1 -1
  858. package/pf-jump-links/pf-jump-links-item.js +3 -1
  859. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  860. package/pf-jump-links/pf-jump-links-list.js +1 -1
  861. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  862. package/pf-jump-links/pf-jump-links.js +3 -1
  863. package/pf-jump-links/pf-jump-links.js.map +1 -1
  864. package/pf-label/pf-label.js +2 -1
  865. package/pf-label/pf-label.js.map +1 -1
  866. package/pf-modal/pf-modal.js +3 -1
  867. package/pf-modal/pf-modal.js.map +1 -1
  868. package/pf-panel/pf-panel.js +2 -1
  869. package/pf-panel/pf-panel.js.map +1 -1
  870. package/pf-progress-stepper/pf-progress-step.js +2 -1
  871. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  872. package/pf-progress-stepper/pf-progress-stepper.js +2 -1
  873. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  874. package/pf-spinner/BaseSpinner.js +1 -1
  875. package/pf-spinner/BaseSpinner.js.map +1 -1
  876. package/pf-spinner/pf-spinner.js +1 -1
  877. package/pf-spinner/pf-spinner.js.map +1 -1
  878. package/pf-switch/BaseSwitch.js +1 -1
  879. package/pf-switch/BaseSwitch.js.map +1 -1
  880. package/pf-switch/pf-switch.js +1 -1
  881. package/pf-switch/pf-switch.js.map +1 -1
  882. package/pf-tabs/BaseTab.js +2 -1
  883. package/pf-tabs/BaseTab.js.map +1 -1
  884. package/pf-tabs/BaseTabs.d.ts +1 -3
  885. package/pf-tabs/BaseTabs.js +32 -73
  886. package/pf-tabs/BaseTabs.js.map +1 -1
  887. package/pf-tabs/pf-tab-panel.js +1 -1
  888. package/pf-tabs/pf-tab-panel.js.map +1 -1
  889. package/pf-tabs/pf-tab.js +2 -1
  890. package/pf-tabs/pf-tab.js.map +1 -1
  891. package/pf-tabs/pf-tabs.css +1 -0
  892. package/pf-tabs/pf-tabs.js +3 -2
  893. package/pf-tabs/pf-tabs.js.map +1 -1
  894. package/pf-tile/pf-tile.js +2 -2
  895. package/pf-tile/pf-tile.js.map +1 -1
  896. package/pf-timestamp/pf-timestamp.js +2 -1
  897. package/pf-timestamp/pf-timestamp.js.map +1 -1
  898. package/pf-tooltip/pf-tooltip.js +2 -1
  899. package/pf-tooltip/pf-tooltip.js.map +1 -1
  900. package/pfe.min.js +104 -99
  901. package/pfe.min.js.map +4 -4
@@ -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,11 +1,14 @@
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";
@@ -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"]}
@@ -1,5 +1,5 @@
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
5
  const styles = css `:host([box=light]){background-color:var(--pf-c-tab-content--m-light-300,var(--pf-global--BackgroundColor--light-300,#f0f0f0))}`;
@@ -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"]}
package/pf-tabs/pf-tab.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement, property } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import { property } from 'lit/decorators/property.js';
3
4
  import { observed } from '@patternfly/pfe-core/decorators.js';
4
5
  import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
5
6
  import { BaseTab } from './BaseTab.js';
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tab.js","sourceRoot":"","sources":["pf-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;;;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,OAAO;IAA3B;;QAIuC,WAAM,GAAG,KAAK,CAAC;QAGf,aAAQ,GAAG,KAAK,CAAC;IAM/D,CAAC;IAJC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,QAAQ,CAAC,EAAC;IACpC,CAAC;;AAXe,YAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGT;IAD3C,QAAQ;IACR,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCAAgB;AAGf;IAD3C,QAAQ;IACR,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCAAkB;AAPlD,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAajB;SAbY,KAAK","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\n\nimport { observed } from '@patternfly/pfe-core/decorators.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { BaseTab } from './BaseTab.js';\n\nimport styles from './pf-tab.css';\n\n/**\n * PfTab\n *\n * @slot icon\n * Can contain an `<svg>` or `<pf-icon>`\n * @slot\n * Tab title text\n *\n * @csspart button - button element\n * @csspart icon - span container for the icon\n * @csspart text - span container for the title text\n *\n * @cssprop {<length>} --pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--BackgroundColor {@default `#f0f0f0`}\n * @cssprop {<color>} --pf-c-tabs__link--disabled--BackgroundColor {@default `#d2d2d2`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderTopWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderLeftWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--after--Top {@default `auto`}\n * @cssprop {<length>} --pf-c-tabs__link--after--Right {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--Bottom {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--before--Left {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--PaddingTop {@default `1rem`}\n * @cssprop {<length>} --pf-c-tabs__link--PaddingBottom {@default `1rem`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderLeftWidth {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderTopColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderRightColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderBottomColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderLeftColor {@default `#d2d2d2`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--FontSize {@default `1rem`}\n * @cssprop {<color>} --pf-c-tabs__link--Color {@default `#6a6e73`}\n * @cssprop {<length>} --pf-c-tabs__link--OutlineOffset {@default `-0.375rem`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--after--BorderColor {@default `#b8bbbe`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderBottomWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderLeftWidth {@default `0`}\n *\n * @cssprop {<color>} --pf-c-tabs__item--m-current__link--Color {@default `#151515`}\n *\n * @cssprop {<color>} --pf-c-tabs__item--m-current__link--after--BorderColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-tabs__item--m-current__link--after--BorderWidth {@default `3px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--child--MarginRight {@default `1rem`}\n *\n * @fires { TabExpandEvent } tab-expand - when a tab expands\n */\n@customElement('pf-tab')\nexport class PfTab extends BaseTab {\n static readonly styles = [...BaseTab.styles, styles];\n\n @observed\n @property({ reflect: true, type: Boolean }) active = false;\n\n @observed\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab': PfTab;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-tab.js","sourceRoot":"","sources":["pf-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;;;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,OAAO;IAA3B;;QAIuC,WAAM,GAAG,KAAK,CAAC;QAGf,aAAQ,GAAG,KAAK,CAAC;IAM/D,CAAC;IAJC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,QAAQ,CAAC,EAAC;IACpC,CAAC;;AAXe,YAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGT;IAD3C,QAAQ;IACR,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCAAgB;AAGf;IAD3C,QAAQ;IACR,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCAAkB;AAPlD,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAajB;SAbY,KAAK","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { observed } from '@patternfly/pfe-core/decorators.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { BaseTab } from './BaseTab.js';\n\nimport styles from './pf-tab.css';\n\n/**\n * PfTab\n *\n * @slot icon\n * Can contain an `<svg>` or `<pf-icon>`\n * @slot\n * Tab title text\n *\n * @csspart button - button element\n * @csspart icon - span container for the icon\n * @csspart text - span container for the title text\n *\n * @cssprop {<length>} --pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--BackgroundColor {@default `#f0f0f0`}\n * @cssprop {<color>} --pf-c-tabs__link--disabled--BackgroundColor {@default `#d2d2d2`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderTopWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderLeftWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderRightWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--after--Top {@default `auto`}\n * @cssprop {<length>} --pf-c-tabs__link--after--Right {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--Bottom {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--before--Left {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--PaddingTop {@default `1rem`}\n * @cssprop {<length>} --pf-c-tabs__link--PaddingBottom {@default `1rem`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__link--disabled--before--BorderLeftWidth {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderTopColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderRightColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderBottomColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-tabs__link--before--BorderLeftColor {@default `#d2d2d2`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--FontSize {@default `1rem`}\n * @cssprop {<color>} --pf-c-tabs__link--Color {@default `#6a6e73`}\n * @cssprop {<length>} --pf-c-tabs__link--OutlineOffset {@default `-0.375rem`}\n *\n * @cssprop {<color>} --pf-c-tabs__link--after--BorderColor {@default `#b8bbbe`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderBottomWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__link--after--BorderLeftWidth {@default `0`}\n *\n * @cssprop {<color>} --pf-c-tabs__item--m-current__link--Color {@default `#151515`}\n *\n * @cssprop {<color>} --pf-c-tabs__item--m-current__link--after--BorderColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-tabs__item--m-current__link--after--BorderWidth {@default `3px`}\n *\n * @cssprop {<length>} --pf-c-tabs__link--child--MarginRight {@default `1rem`}\n *\n * @fires { TabExpandEvent } tab-expand - when a tab expands\n */\n@customElement('pf-tab')\nexport class PfTab extends BaseTab {\n static readonly styles = [...BaseTab.styles, styles];\n\n @observed\n @property({ reflect: true, type: Boolean }) active = false;\n\n @observed\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab': PfTab;\n }\n}\n"]}
@@ -136,6 +136,7 @@ button {
136
136
  transition:
137
137
  margin var(--pf-c-tabs__scroll-button--TransitionDuration--margin, .125s),
138
138
  translate var(--pf-c-tabs__scroll-button--TransitionDuration--transform, .125s), opacity var(--pf-c-tabs__scroll-button--TransitionDuration--opacity, .125s);
139
+ --pf-icon--size: 16px;
139
140
  }
140
141
 
141
142
  button:hover {
@@ -1,11 +1,12 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement, property } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import { property } from 'lit/decorators/property.js';
3
4
  import { cascades } from '@patternfly/pfe-core/decorators.js';
4
5
  import { BaseTabs } from './BaseTabs.js';
5
6
  import { PfTab } from './pf-tab.js';
6
7
  import { PfTabPanel } from './pf-tab-panel.js';
7
8
  import { css } from "lit";
8
- const styles = css `[part=tabs-container]{width:var(--pf-c-tabs--Width,auto);padding-inline-end:var(--pf-c-tabs--inset,0);padding-inline-start:var(--pf-c-tabs--inset,0)}[part=tabs-container]::before{border-color:var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2));border-block-start-width:var(--pf-c-tabs--before--BorderTopWidth,0);border-inline-end-width:var(--pf-c-tabs--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs--before--BorderBottomWidth,var(--pf-c-tabs--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)));border-inline-start-width:var(--pf-c-tabs--before--BorderLeftWidth,0)}:host(:not([vertical])) ::slotted(pf-tab[aria-disabled=true]:last-of-type){translate:calc(-1 * var(--pf-c-tabs__link--disabled--before--BorderRightWidth,1px)) 0}:host(:not([vertical])) ::slotted(pf-tab[aria-disabled=true]:first-of-type){translate:var(--pf-c-tabs__link--disabled--before--BorderRightWidth,1px) 0}:host([box]) [part=tabs-container]{--pf-c-tabs__link--BackgroundColor:var(--pf-c-tabs--m-box__link--BackgroundColor, var(--pf-global--BackgroundColor--200, #f0f0f0));--pf-c-tabs__link--disabled--BackgroundColor:var(--pf-c-tabs--m-box__link--disabled--BackgroundColor, var(--pf-global--disabled-color--200, #d2d2d2));--pf-c-tabs__link--before--BorderBottomWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--after--Top:0;--pf-c-tabs__link--after--Bottom:auto}:host([box]) ::slotted(pf-tab:last-of-type){--pf-c-tabs__link--before--BorderRightWidth:0}:host([box]) button:nth-of-type(2)::before{left:calc(var(--pf-c-tabs__link--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)) * -1)}:host([box]) pf-tab[aria-selected=true]+pf-tab{--pf-c-tabs__link--before--Left:0}:host([box=light]) [part=tabs-container]{--pf-c-tabs__link--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__link--BackgroundColor, transparent);--pf-c-tabs__item--m-current__link--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__item--m-current__link--BackgroundColor, var(--pf-global--BackgroundColor--light-300, #f0f0f0));--pf-c-tabs__link--disabled--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__link--disabled--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5))}:host([vertical]) [part=tabs-container]{--pf-c-tabs--Width:var(--pf-c-tabs--m-vertical--Width, 100%);--pf-c-tabs--inset:var(--pf-c-tabs--m-vertical--inset, var(--pf-global--spacer--lg, 1.5rem));--pf-c-tabs--before--BorderBottomWidth:0;--pf-c-tabs__link--PaddingTop:var(--pf-c-tabs--m-vertical__link--PaddingTop, var(--pf-global--spacer--md, 1rem));--pf-c-tabs__link--PaddingBottom:var(--pf-c-tabs--m-vertical__link--PaddingBottom, var(--pf-global--spacer--md, 1rem));--pf-c-tabs__link--before--Left:0;--pf-c-tabs__link--disabled--before--BorderBottomWidth:0;--pf-c-tabs__link--disabled--before--BorderLeftWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--after--Top:0;--pf-c-tabs__link--after--Right:auto;display:inline-flex;flex-direction:column;height:100%;padding:0;overflow:visible}:host([vertical]) [part=tabs]{position:relative;flex-direction:column;flex-grow:1;max-width:var(--pf-c-tabs--m-vertical--MaxWidth,15.625rem)}:host([vertical]) [part=tabs]::before{position:absolute;right:auto;border-style:solid;border-color:var(--pf-c-tabs--m-vertical__list--before--BorderColor,var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2)));border-block-start-width:var(--pf-c-tabs--m-vertical__list--before--BorderTopWidth,0);border-inline-end-width:var(--pf-c-tabs--m-vertical__list--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs--m-vertical__list--before--BorderBottomWidth,0);border-inline-start-width:var(--pf-c-tabs--m-vertical__list--before--BorderLeftWidth,var(--pf-c-tabs--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)))}:host([vertical]) ::slotted(pf-tab:first-of-type){margin-block-start:var(--pf-c-tabs--inset,0)}:host([vertical]) ::slotted(pf-tab:last-of-type){margin-block-end:var(--pf-c-tabs--inset,0)}:host([box][vertical]) [part=tabs-container]{--pf-c-tabs--inset:var(--pf-c-tabs--m-vertical--m-box--inset, var(--pf-global--spacer--xl, 2rem));--pf-c-tabs--m-vertical__list--before--BorderLeftWidth:0;--pf-c-tabs--m-vertical__list--before--BorderRightWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderRightWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderLeftWidth:0}:host([box][vertical]) [part=tabs]::before{right:0;left:auto}:host([box][vertical]) ::slotted(pf-tab:last-of-type){--pf-c-tabs__link--before--BorderBottomWidth:0;--pf-c-tabs__link--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}:host([box][vertical]) ::slotted(pf-tab[aria-selected=true]){--pf-c-tabs__link--before--BorderRightColor:var(--pf-c-tabs__item--m-current__link--BackgroundColor, var(--pf-global--BackgroundColor--100, #ffffff));--pf-c-tabs__link--before--BorderBottomColor:var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2));--pf-c-tabs__link--before--BorderBottomWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}:host([box][vertical]) ::slotted(pf-tab[aria-selected=true]:first-of-type){--pf-c-tabs__link--before--BorderTopWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}[part=tabs]{display:var(--pf-c-tabs__list--Display,flex)}button{width:var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem));color:var(--pf-c-tabs__scroll-button--Color,var(--pf-global--Color--100,#151515));background-color:var(--pf-c-tabs__scroll-button--BackgroundColor,var(--pf-global--BackgroundColor--100,#fff));outline-offset:var(--pf-c-tabs__scroll-button--OutlineOffset,calc(-1 * var(--pf-global--spacer--xs,0.25rem)));transition:margin var(--pf-c-tabs__scroll-button--TransitionDuration--margin, .125s),translate var(--pf-c-tabs__scroll-button--TransitionDuration--transform, .125s),opacity var(--pf-c-tabs__scroll-button--TransitionDuration--opacity, .125s)}button:hover{--pf-c-tabs__scroll-button--Color:var(--pf-c-tabs__scroll-button--hover--Color, var(--pf-global--active-color--100, #06c))}button::before{border-color:var(--pf-c-tabs__scroll-button--before--BorderColor,var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2)));border-inline-end-width:var(--pf-c-tabs__scroll-button--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs__scroll-button--before--BorderBottomWidth,var(--pf-c-tabs__scroll-button--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)));border-inline-start-width:var(--pf-c-tabs__scroll-button--before--BorderLeftWidth,0)}button:first-of-type{--pf-c-tabs__scroll-button--before--BorderRightWidth:var(--pf-c-tabs__scroll-button--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));margin-inline-end:calc(var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem)) * -1)}button:nth-of-type(2){--pf-c-tabs__scroll-button--before--BorderLeftWidth:var(--pf-c-tabs__scroll-button--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));margin-inline-start:calc(var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem)) * -1)}button:disabled{--pf-c-tabs__scroll-button--Color:var(--pf-c-tabs__scroll-button--disabled--Color, var(--pf-global--disabled-color--200, #d2d2d2))}:host(:not[vertical]) [part=tabs-container]{--pf-c-tabs--inset:0;--pf-c-tabs--m-vertical--inset:0;--pf-c-tabs--m-vertical--m-box--inset:0}:host([fill]) [part=tabs]{flex-basis:100%}:host([fill]) ::slotted(pf-tab){flex-grow:1}:host([fill]) ::slotted(pf-tab:first-of-type){--pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth:0}:host([fill]) ::slotted(pf-tab:last-of-type){--pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth:0}:host([border-bottom=false]) [part=tabs-container]{--pf-c-tabs--before--BorderBottomWidth:0;--pf-c-tabs__link--before--BorderBottomWidth:0}`;
9
+ const styles = css `[part=tabs-container]{width:var(--pf-c-tabs--Width,auto);padding-inline-end:var(--pf-c-tabs--inset,0);padding-inline-start:var(--pf-c-tabs--inset,0)}[part=tabs-container]::before{border-color:var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2));border-block-start-width:var(--pf-c-tabs--before--BorderTopWidth,0);border-inline-end-width:var(--pf-c-tabs--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs--before--BorderBottomWidth,var(--pf-c-tabs--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)));border-inline-start-width:var(--pf-c-tabs--before--BorderLeftWidth,0)}:host(:not([vertical])) ::slotted(pf-tab[aria-disabled=true]:last-of-type){translate:calc(-1 * var(--pf-c-tabs__link--disabled--before--BorderRightWidth,1px)) 0}:host(:not([vertical])) ::slotted(pf-tab[aria-disabled=true]:first-of-type){translate:var(--pf-c-tabs__link--disabled--before--BorderRightWidth,1px) 0}:host([box]) [part=tabs-container]{--pf-c-tabs__link--BackgroundColor:var(--pf-c-tabs--m-box__link--BackgroundColor, var(--pf-global--BackgroundColor--200, #f0f0f0));--pf-c-tabs__link--disabled--BackgroundColor:var(--pf-c-tabs--m-box__link--disabled--BackgroundColor, var(--pf-global--disabled-color--200, #d2d2d2));--pf-c-tabs__link--before--BorderBottomWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--after--Top:0;--pf-c-tabs__link--after--Bottom:auto}:host([box]) ::slotted(pf-tab:last-of-type){--pf-c-tabs__link--before--BorderRightWidth:0}:host([box]) button:nth-of-type(2)::before{left:calc(var(--pf-c-tabs__link--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)) * -1)}:host([box]) pf-tab[aria-selected=true]+pf-tab{--pf-c-tabs__link--before--Left:0}:host([box=light]) [part=tabs-container]{--pf-c-tabs__link--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__link--BackgroundColor, transparent);--pf-c-tabs__item--m-current__link--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__item--m-current__link--BackgroundColor, var(--pf-global--BackgroundColor--light-300, #f0f0f0));--pf-c-tabs__link--disabled--BackgroundColor:var(--pf-c-tabs--m-color-scheme--light-300__link--disabled--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5))}:host([vertical]) [part=tabs-container]{--pf-c-tabs--Width:var(--pf-c-tabs--m-vertical--Width, 100%);--pf-c-tabs--inset:var(--pf-c-tabs--m-vertical--inset, var(--pf-global--spacer--lg, 1.5rem));--pf-c-tabs--before--BorderBottomWidth:0;--pf-c-tabs__link--PaddingTop:var(--pf-c-tabs--m-vertical__link--PaddingTop, var(--pf-global--spacer--md, 1rem));--pf-c-tabs__link--PaddingBottom:var(--pf-c-tabs--m-vertical__link--PaddingBottom, var(--pf-global--spacer--md, 1rem));--pf-c-tabs__link--before--Left:0;--pf-c-tabs__link--disabled--before--BorderBottomWidth:0;--pf-c-tabs__link--disabled--before--BorderLeftWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--after--Top:0;--pf-c-tabs__link--after--Right:auto;display:inline-flex;flex-direction:column;height:100%;padding:0;overflow:visible}:host([vertical]) [part=tabs]{position:relative;flex-direction:column;flex-grow:1;max-width:var(--pf-c-tabs--m-vertical--MaxWidth,15.625rem)}:host([vertical]) [part=tabs]::before{position:absolute;right:auto;border-style:solid;border-color:var(--pf-c-tabs--m-vertical__list--before--BorderColor,var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2)));border-block-start-width:var(--pf-c-tabs--m-vertical__list--before--BorderTopWidth,0);border-inline-end-width:var(--pf-c-tabs--m-vertical__list--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs--m-vertical__list--before--BorderBottomWidth,0);border-inline-start-width:var(--pf-c-tabs--m-vertical__list--before--BorderLeftWidth,var(--pf-c-tabs--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)))}:host([vertical]) ::slotted(pf-tab:first-of-type){margin-block-start:var(--pf-c-tabs--inset,0)}:host([vertical]) ::slotted(pf-tab:last-of-type){margin-block-end:var(--pf-c-tabs--inset,0)}:host([box][vertical]) [part=tabs-container]{--pf-c-tabs--inset:var(--pf-c-tabs--m-vertical--m-box--inset, var(--pf-global--spacer--xl, 2rem));--pf-c-tabs--m-vertical__list--before--BorderLeftWidth:0;--pf-c-tabs--m-vertical__list--before--BorderRightWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderRightWidth:var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));--pf-c-tabs__link--disabled--before--BorderLeftWidth:0}:host([box][vertical]) [part=tabs]::before{right:0;left:auto}:host([box][vertical]) ::slotted(pf-tab:last-of-type){--pf-c-tabs__link--before--BorderBottomWidth:0;--pf-c-tabs__link--before--BorderRightWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}:host([box][vertical]) ::slotted(pf-tab[aria-selected=true]){--pf-c-tabs__link--before--BorderRightColor:var(--pf-c-tabs__item--m-current__link--BackgroundColor, var(--pf-global--BackgroundColor--100, #ffffff));--pf-c-tabs__link--before--BorderBottomColor:var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2));--pf-c-tabs__link--before--BorderBottomWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}:host([box][vertical]) ::slotted(pf-tab[aria-selected=true]:first-of-type){--pf-c-tabs__link--before--BorderTopWidth:var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px))}[part=tabs]{display:var(--pf-c-tabs__list--Display,flex)}button{width:var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem));color:var(--pf-c-tabs__scroll-button--Color,var(--pf-global--Color--100,#151515));background-color:var(--pf-c-tabs__scroll-button--BackgroundColor,var(--pf-global--BackgroundColor--100,#fff));outline-offset:var(--pf-c-tabs__scroll-button--OutlineOffset,calc(-1 * var(--pf-global--spacer--xs,0.25rem)));transition:margin var(--pf-c-tabs__scroll-button--TransitionDuration--margin, .125s),translate var(--pf-c-tabs__scroll-button--TransitionDuration--transform, .125s),opacity var(--pf-c-tabs__scroll-button--TransitionDuration--opacity, .125s);--pf-icon--size:16px}button:hover{--pf-c-tabs__scroll-button--Color:var(--pf-c-tabs__scroll-button--hover--Color, var(--pf-global--active-color--100, #06c))}button::before{border-color:var(--pf-c-tabs__scroll-button--before--BorderColor,var(--pf-c-tabs--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2)));border-inline-end-width:var(--pf-c-tabs__scroll-button--before--BorderRightWidth,0);border-block-end-width:var(--pf-c-tabs__scroll-button--before--BorderBottomWidth,var(--pf-c-tabs__scroll-button--before--border-width--base,var(--pf-global--BorderWidth--sm,1px)));border-inline-start-width:var(--pf-c-tabs__scroll-button--before--BorderLeftWidth,0)}button:first-of-type{--pf-c-tabs__scroll-button--before--BorderRightWidth:var(--pf-c-tabs__scroll-button--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));margin-inline-end:calc(var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem)) * -1)}button:nth-of-type(2){--pf-c-tabs__scroll-button--before--BorderLeftWidth:var(--pf-c-tabs__scroll-button--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px));margin-inline-start:calc(var(--pf-c-tabs__scroll-button--Width,var(--pf-global--spacer--2xl,3rem)) * -1)}button:disabled{--pf-c-tabs__scroll-button--Color:var(--pf-c-tabs__scroll-button--disabled--Color, var(--pf-global--disabled-color--200, #d2d2d2))}:host(:not[vertical]) [part=tabs-container]{--pf-c-tabs--inset:0;--pf-c-tabs--m-vertical--inset:0;--pf-c-tabs--m-vertical--m-box--inset:0}:host([fill]) [part=tabs]{flex-basis:100%}:host([fill]) ::slotted(pf-tab){flex-grow:1}:host([fill]) ::slotted(pf-tab:first-of-type){--pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth:0}:host([fill]) ::slotted(pf-tab:last-of-type){--pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth:0}:host([border-bottom=false]) [part=tabs-container]{--pf-c-tabs--before--BorderBottomWidth:0;--pf-c-tabs__link--before--BorderBottomWidth:0}`;
9
10
  /**
10
11
  * Tabs allow users to navigate between views within the same page or context. Variants include
11
12
  * horizontal, vertical, inset, and filled. Most tab variations are available as open (default) or
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tabs.js","sourceRoot":"","sources":["pf-tabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;;;AAI/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAA7B;;QAcwB,QAAG,GAA4B,IAAI,CAAC;QAGrB,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,KAAK,CAAC;QAGf,iBAAY,GAAqB,MAAM,CAAC;IAKpF,CAAC;IAvBC,MAAM,CAAC,KAAK,CAAC,OAAoB;QAC/B,OAAO,OAAO,YAAY,KAAK,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAoB;QACjC,OAAO,OAAO,YAAY,UAAU,CAAC;IACvC,CAAC;IAcD,IAAc,oBAAoB;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;;AA1Be,aAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5B,yBAAkB,GAAG,GAAG,CAAC;AAWtB;IAD5B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mCAAqC;AAGrB;IAD3C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAGjB;IAD3C,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCAAc;AAGf;IADzC,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;4CAAyC;AAvBvE,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CA4BlB;SA5BY,MAAM","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\n\nimport { cascades } from '@patternfly/pfe-core/decorators.js';\n\nimport { BaseTabs } from './BaseTabs.js';\nimport { PfTab } from './pf-tab.js';\nimport { PfTabPanel } from './pf-tab-panel.js';\n\nimport styles from './pf-tabs.css';\n\n/**\n * Tabs allow users to navigate between views within the same page or context. Variants include\n * horizontal, vertical, inset, and filled. Most tab variations are available as open (default) or\n * box style tabs. Box style tabs also feature a light and dark variation.\n *\n * @attr {number} active-key - DOM Property: `activeKey` {@default `0`}\n *\n * @csspart container - outer container\n * @csspart tabs-container - tabs container\n * @csspart tabs - tablist\n * @csspart panels - panels\n *\n * @slot tab - Must contain one or more `<pf-tab>`\n * @slot - Must contain one or more `<pf-panel>`\n *\n * @cssprop {<length>} --pf-c-tabs--Width {@default `auto`}\n * @cssprop {<length>} --pf-c-tabs--inset {@default `0`}\n *\n * @cssprop {<color>} --pf-c-tabs--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs--before---BorderLeftWidth {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tabs--m-vertical--MaxWidth {@default `15.625rem`}\n *\n * @cssprop {<color>} --pf-c-tabs--m-vertical__list--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderBottomWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderLeftWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs--m-vertical--m-box--inset {@default `2rem`}\n *\n * @cssprop {<display>} --pf-c-tabs__list--Display {@default `flex`}\n *\n * @cssprop {<length>} --pf-c-tabs__scroll-button--Width {@default `3rem`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--BackgroundColor {@default `#ffffff`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--OutlineOffset {@default `-0.25rem`}\n * @cssprop {<time>} --pf-c-tabs__scroll-button--TransitionDuration--margin {@default `.125s`}\n * @cssprop {<time>} --pf-c-tabs__scroll-button--TransitionDuration--transform {@default `.125s`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--hover--Color {@default `#06c`}\n *\n * @cssprop {<color>} --pf-c-tabs__scroll-button--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderLeftWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--border-width--base {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__scroll-button--disabled--Color {@default `#d2d2d2`}\n */\n@customElement('pf-tabs')\nexport class PfTabs extends BaseTabs {\n static readonly styles = [...BaseTabs.styles, styles];\n\n protected static readonly scrollTimeoutDelay = 150;\n\n static isTab(element: HTMLElement): element is PfTab {\n return element instanceof PfTab;\n }\n\n static isPanel(element: HTMLElement): element is PfTabPanel {\n return element instanceof PfTabPanel;\n }\n\n @cascades('pf-tab', 'pf-tab-panel')\n @property({ reflect: true }) box: 'light' | 'dark' | null = null;\n\n @cascades('pf-tab', 'pf-tab-panel')\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n @cascades('pf-tab')\n @property({ reflect: true, type: Boolean }) fill = false;\n\n @cascades('pf-tab')\n @property({ attribute: 'border-bottom' }) borderBottom: 'true' | 'false' = 'true';\n\n protected get canShowScrollButtons(): boolean {\n return !this.vertical;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tabs': PfTabs;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-tabs.js","sourceRoot":"","sources":["pf-tabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;;;AAI/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAA7B;;QAcwB,QAAG,GAA4B,IAAI,CAAC;QAGrB,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,KAAK,CAAC;QAGf,iBAAY,GAAqB,MAAM,CAAC;IAKpF,CAAC;IAvBC,MAAM,CAAC,KAAK,CAAC,OAAoB;QAC/B,OAAO,OAAO,YAAY,KAAK,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAoB;QACjC,OAAO,OAAO,YAAY,UAAU,CAAC;IACvC,CAAC;IAcD,IAAc,oBAAoB;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;;AA1Be,aAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5B,yBAAkB,GAAG,GAAG,CAAC;AAWtB;IAD5B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mCAAqC;AAGrB;IAD3C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAGjB;IAD3C,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCAAc;AAGf;IADzC,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;4CAAyC;AAvBvE,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CA4BlB;SA5BY,MAAM","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { cascades } from '@patternfly/pfe-core/decorators.js';\n\nimport { BaseTabs } from './BaseTabs.js';\nimport { PfTab } from './pf-tab.js';\nimport { PfTabPanel } from './pf-tab-panel.js';\n\nimport styles from './pf-tabs.css';\n\n/**\n * Tabs allow users to navigate between views within the same page or context. Variants include\n * horizontal, vertical, inset, and filled. Most tab variations are available as open (default) or\n * box style tabs. Box style tabs also feature a light and dark variation.\n *\n * @attr {number} active-key - DOM Property: `activeKey` {@default `0`}\n *\n * @csspart container - outer container\n * @csspart tabs-container - tabs container\n * @csspart tabs - tablist\n * @csspart panels - panels\n *\n * @slot tab - Must contain one or more `<pf-tab>`\n * @slot - Must contain one or more `<pf-panel>`\n *\n * @cssprop {<length>} --pf-c-tabs--Width {@default `auto`}\n * @cssprop {<length>} --pf-c-tabs--inset {@default `0`}\n *\n * @cssprop {<color>} --pf-c-tabs--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs--before---BorderLeftWidth {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tabs--m-vertical--MaxWidth {@default `15.625rem`}\n *\n * @cssprop {<color>} --pf-c-tabs--m-vertical__list--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderTopWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderBottomWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs--m-vertical__list--before--BorderLeftWidth {@default `1px`}\n *\n * @cssprop {<length>} --pf-c-tabs--m-vertical--m-box--inset {@default `2rem`}\n *\n * @cssprop {<display>} --pf-c-tabs__list--Display {@default `flex`}\n *\n * @cssprop {<length>} --pf-c-tabs__scroll-button--Width {@default `3rem`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--BackgroundColor {@default `#ffffff`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--OutlineOffset {@default `-0.25rem`}\n * @cssprop {<time>} --pf-c-tabs__scroll-button--TransitionDuration--margin {@default `.125s`}\n * @cssprop {<time>} --pf-c-tabs__scroll-button--TransitionDuration--transform {@default `.125s`}\n * @cssprop {<color>} --pf-c-tabs__scroll-button--hover--Color {@default `#06c`}\n *\n * @cssprop {<color>} --pf-c-tabs__scroll-button--before--BorderColor {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderRightWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderBottomWidth {@default `1px`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--BorderLeftWidth {@default `0`}\n * @cssprop {<length>} --pf-c-tabs__scroll-button--before--border-width--base {@default `1px`}\n *\n * @cssprop {<color>} --pf-c-tabs__scroll-button--disabled--Color {@default `#d2d2d2`}\n */\n@customElement('pf-tabs')\nexport class PfTabs extends BaseTabs {\n static readonly styles = [...BaseTabs.styles, styles];\n\n protected static readonly scrollTimeoutDelay = 150;\n\n static isTab(element: HTMLElement): element is PfTab {\n return element instanceof PfTab;\n }\n\n static isPanel(element: HTMLElement): element is PfTabPanel {\n return element instanceof PfTabPanel;\n }\n\n @cascades('pf-tab', 'pf-tab-panel')\n @property({ reflect: true }) box: 'light' | 'dark' | null = null;\n\n @cascades('pf-tab', 'pf-tab-panel')\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n @cascades('pf-tab')\n @property({ reflect: true, type: Boolean }) fill = false;\n\n @cascades('pf-tab')\n @property({ attribute: 'border-bottom' }) borderBottom: 'true' | 'false' = 'true';\n\n protected get canShowScrollButtons(): boolean {\n return !this.vertical;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tabs': PfTabs;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement } from 'lit/decorators.js';
3
- import { property } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import { property } from 'lit/decorators/property.js';
4
4
  import { BaseTile } from './BaseTile.js';
5
5
  import { css } from "lit";
6
6
  const styles = css `:host{position:relative;display:inline-grid;padding:var(--pf-c-tile--PaddingTop,var(--pf-global--spacer--lg,1.5rem)) var(--pf-c-tile--PaddingRight,var(--pf-global--spacer--lg,1.5rem)) var(--pf-c-tile--PaddingBottom,var(--pf-global--spacer--lg,1.5rem)) var(--pf-c-tile--PaddingLeft,var(--pf-global--spacer--lg,1.5rem));text-align:center;cursor:pointer;background-color:var(--pf-c-tile--BackgroundColor,var(--pf-global--BackgroundColor--100,var(--pf-global--BackgroundColor--light-100),#fff));grid-template-rows:-webkit-min-content;grid-template-rows:min-content;transition:var(--pf-c-tile--Transition, none);transform:translateY(var(--pf-c-tile--TranslateY,0))}:host::after,:host::before{position:absolute;pointer-events:none;content:""}:host::before{top:0;right:0;bottom:0;left:0;border:var(--pf-c-tile--before--BorderWidth,var(--pf-global--BorderWidth--sm,1px)) solid var(--pf-c-tile--before--BorderColor,var(--pf-global--BorderColor--100,#d2d2d2))}:host::after{right:0;bottom:0;left:0;height:var(--pf-c-tile--after--Height,var(--pf-global--BorderWidth--lg,3px));background-color:var(--pf-c-tile--after--BackgroundColor,transparent);transition:var(--pf-c-tile--after--Transition, none);transform:scaleY(var(--pf-c-tile--after--ScaleY,1)) translateY(var(--pf-c-tile--after--TranslateY,0))}:host(:hover){--pf-c-tile__title--Color:var(--pf-c-tile--hover__title--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile__icon--Color:var(--pf-c-tile--hover__icon--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile--after--BackgroundColor:var(--pf-c-tile--hover--after--BackgroundColor, var(--pf-global--active-color--400, #73bcf7))}:host(:focus){--pf-c-tile__title--Color:var(--pf-c-tile--focus__title--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile__icon--Color:var(--pf-c-tile--focus__icon--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile--after--BackgroundColor:var(--pf-c-tile--focus--after--BackgroundColor, var(--pf-global--active-color--400, #73bcf7))}:host(:active),:host([selected]){--pf-c-tile__title--Color:var(--pf-c-tile--m-selected__title--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile__icon--Color:var(--pf-c-tile--m-selected__icon--Color, var(--pf-global--primary-color--100, #06c));--pf-c-tile--TranslateY:var(--pf-c-tile--m-selected--TranslateY,\n calc(-1 * var(--pf-c-tile--m-selected--after--ScaleY, 2) * var(--pf-c-tile--m-selected--after--Height,\n var(--pf-global--BorderWidth--lg, 3px))));--pf-c-tile--Transition:var(--pf-c-tile--m-selected--Transition,\n var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1)));--pf-c-tile--after--Height:var(--pf-c-tile--m-selected--after--Height, var(--pf-global--BorderWidth--lg, 3px));--pf-c-tile--after--BackgroundColor:var(--pf-c-tile--m-selected--after--BackgroundColor, var(--pf-global--active-color--100, #06c));--pf-c-tile--after--Transition:var(--pf-c-tile--m-selected--after--Transition,\n var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1)));--pf-c-tile--after--ScaleY:var(--pf-c-tile--m-selected--after--ScaleY, 2)}:host([disabled]){--pf-c-tile--BackgroundColor:var(--pf-c-tile--m-disabled--BackgroundColor, var( --pf-global--disabled-color--300, #f0f0f0));--pf-c-tile__title--Color:var(--pf-c-tile--m-disabled__title--Color, var(--pf-global--disabled-color--100, #6a6e73));--pf-c-tile__body--Color:var(--pf-c-tile--m-disabled__body--Color, var(--pf-global--disabled-color--100, #6a6e73));--pf-c-tile--before--BorderWidth:0;--pf-c-tile__icon--Color:var(--pf-c-tile--m-disabled__icon--Color, var(--pf-global--disabled-color--100, #6a6e73));pointer-events:none}[part=header]{display:flex;align-items:center;justify-content:center}[part=title]{color:var(--pf-c-tile__title--Color,var(--pf-global--Color--100,var(--pf-global--Color--dark-100,#151515)))}[part=body]{font-size:var(--pf-c-tile__body--FontSize, var(--pf-global--FontSize--xs, .75rem));color:var(--pf-c-tile__body--Color,var(--pf-global--Color--100,#151515))}[part=icon]{--_icon-size:var(--pf-c-tile__icon--FontSize: var(--pf-global--icon--FontSize--md, 1.125rem));--pf-icon--size:var(--_icon-size);margin-right:var(--pf-c-tile__icon--MarginRight,var(--pf-global--spacer--sm,.5rem));font-size:var(--_icon-size);color:var(--pf-c-tile__icon--Color,var(--pf-global--Color--100,#151515))}:host([stacked]) [part=header]{--pf-c-tile__icon--MarginRight:0;--_icon-size:var(--pf-c-tile__icon--FontSize, var(--pf-c-tile__header--m-stacked__icon--FontSize, var(--pf-global--icon--FontSize--lg, 1.5rem)));flex-direction:column;justify-content:initial}:host([stacked=lg]) [part=icon]{--_icon-size:var(--pf-c-tile__icon--FontSize, var(--pf-c-tile--m-display-lg__header--m-stacked__icon--FontSize, var(--pf-global--icon--FontSize--xl, 3.375rem)))}:host([stacked]) [part=icon]{display:flex;align-items:center;justify-content:center;margin-bottom:var(--pf-c-tile__header--m-stacked__icon--MarginBottom,var(--pf-global--spacer--xs,.25rem))}#body::slotted(:is(h1,h2,h3,h4,h5,h6,p)),#title::slotted(:is(h1,h2,h3,h4,h5,h6,p)){margin-block:0}`;
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tile.js","sourceRoot":"","sources":["pf-tile.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;;;AASzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAA7B;;QAGuC,aAAQ,GAAG,KAAK,CAAC;IAG/D,CAAC;;AALiB,aAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAEU;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAEhC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAuB;AALxC,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAMlB;SANY,MAAM","sourcesContent":["\nimport { customElement } from 'lit/decorators.js';\nimport { property } from 'lit/decorators.js';\n\nimport { BaseTile } from './BaseTile.js';\n\nimport styles from './pf-tile.css';\n\nexport type StackedSize = (\n | 'md'\n | 'lg'\n)\n\n/**\n * Tile\n *\n * @slot icon - Icon expects a `<pf-icon>` or `<svg>`\n * @slot title - the title of the tile should be a heading\n * @slot - The content should be a paragraph\n *\n * @csspart icon - container for the icon\n * @csspart title - container for the title\n * @csspart body - container for the body content\n *\n * @attr {'boolean'} selected - selected variant\n * @attr {'md'|'lg'|null} stacked - stacked variant\n *\n * @cssprop {<length>} --pf-c-tile--PaddingTop {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingRight {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingBottom {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingLeft {@default `1.5rem`}\n *\n * @cssprop {<color>} --pf-c-tile--BackgroundColor {@default `#FFFFFF`}\n *\n * @cssprop --pf-c-tile--Transition {@default `none`}\n * @cssprop --pf-c-tile--TranslateY {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tile--before--BorderWidth {@default `1px`}\n * @cssprop {<color>} --pf-c-tile--before--BorderColor {@default `#444548`}\n *\n * @cssprop {<length>} --pf-c-tile--after--Height {@default `3px`}\n * @cssprop {<color>} --pf-c-tile--after--BackgroundColor {@default `transparent`}\n *\n * @cssprop --pf-c-tile--after--Transition {@default `none`}\n * @cssprop --pf-c-tile--after--ScaleY {@default `1`}\n *\n * @cssprop {<color>} --pf-c-tile__title--Color {@default `#06c`}\n * @cssprop {<color>} --pf-c-tile__icon--Color {@default `#06c`}\n *\n * @cssprop {<length>} --pf-c-tile__icon--MarginRight {@default `0`}\n * @cssprop {<length>} --pf-c-tile__icon--FontSize {@default `1.5rem`}\n *\n * @cssprop {<lenght>} --pf-c-tile__header--m-stacked__icon--MarginBottom {@default `0.25rem`}\n */\n@customElement('pf-tile')\nexport class PfTile extends BaseTile {\n static readonly styles = [styles];\n\n @property({ reflect: true, type: Boolean }) selected = false;\n\n @property({ reflect: true }) stacked?: StackedSize;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tile': PfTile;\n}\n}\n"]}
1
+ {"version":3,"file":"pf-tile.js","sourceRoot":"","sources":["pf-tile.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;;;AASzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAA7B;;QAGuC,aAAQ,GAAG,KAAK,CAAC;IAG/D,CAAC;;AALiB,aAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAEU;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAkB;AAEhC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAuB;AALxC,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAMlB;SANY,MAAM","sourcesContent":["\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { BaseTile } from './BaseTile.js';\n\nimport styles from './pf-tile.css';\n\nexport type StackedSize = (\n | 'md'\n | 'lg'\n)\n\n/**\n * Tile\n *\n * @slot icon - Icon expects a `<pf-icon>` or `<svg>`\n * @slot title - the title of the tile should be a heading\n * @slot - The content should be a paragraph\n *\n * @csspart icon - container for the icon\n * @csspart title - container for the title\n * @csspart body - container for the body content\n *\n * @attr {'boolean'} selected - selected variant\n * @attr {'md'|'lg'|null} stacked - stacked variant\n *\n * @cssprop {<length>} --pf-c-tile--PaddingTop {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingRight {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingBottom {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-tile--PaddingLeft {@default `1.5rem`}\n *\n * @cssprop {<color>} --pf-c-tile--BackgroundColor {@default `#FFFFFF`}\n *\n * @cssprop --pf-c-tile--Transition {@default `none`}\n * @cssprop --pf-c-tile--TranslateY {@default `0`}\n *\n * @cssprop {<length>} --pf-c-tile--before--BorderWidth {@default `1px`}\n * @cssprop {<color>} --pf-c-tile--before--BorderColor {@default `#444548`}\n *\n * @cssprop {<length>} --pf-c-tile--after--Height {@default `3px`}\n * @cssprop {<color>} --pf-c-tile--after--BackgroundColor {@default `transparent`}\n *\n * @cssprop --pf-c-tile--after--Transition {@default `none`}\n * @cssprop --pf-c-tile--after--ScaleY {@default `1`}\n *\n * @cssprop {<color>} --pf-c-tile__title--Color {@default `#06c`}\n * @cssprop {<color>} --pf-c-tile__icon--Color {@default `#06c`}\n *\n * @cssprop {<length>} --pf-c-tile__icon--MarginRight {@default `0`}\n * @cssprop {<length>} --pf-c-tile__icon--FontSize {@default `1.5rem`}\n *\n * @cssprop {<lenght>} --pf-c-tile__header--m-stacked__icon--MarginBottom {@default `0.25rem`}\n */\n@customElement('pf-tile')\nexport class PfTile extends BaseTile {\n static readonly styles = [styles];\n\n @property({ reflect: true, type: Boolean }) selected = false;\n\n @property({ reflect: true }) stacked?: StackedSize;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tile': PfTile;\n}\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  var _PfTimestamp_instances, _PfTimestamp_date, _PfTimestamp_isoString, _PfTimestamp_getTimeRelative;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
3
3
  import { LitElement, html } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
4
+ import { customElement } from 'lit/decorators/custom-element.js';
5
+ import { property } from 'lit/decorators/property.js';
5
6
  import { css } from "lit";
6
7
  const style = css `:host{display:inline}time{text-decoration:var(--_timestamp-text-decoration,none);text-underline-offset:var(--_timestamp-text-underline-offset,initial)}`;
7
8
  const BooleanStringConverter = {
@@ -1 +1 @@
1
- {"version":3,"file":"pf-timestamp.js","sourceRoot":"","sources":["pf-timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComplexAttributeConverter } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport style from './pf-timestamp.css';\n\nconst BooleanStringConverter: ComplexAttributeConverter = {\n fromAttribute(value) {\n return !value || value === 'true';\n },\n};\n\n@customElement('pf-timestamp')\nexport class PfTimestamp extends LitElement {\n static readonly styles = [style];\n\n @property({ reflect: true })\n get date() {\n return this.#date.toLocaleString();\n }\n\n set date(string) {\n this.#date = new Date(string);\n this.#isoString = this.#date.toISOString();\n }\n\n @property({ reflect: true, attribute: 'date-format' }) dateFormat?: 'full' | 'long' | 'medium' | 'short';\n\n @property({ reflect: true, attribute: 'time-format' }) timeFormat?: 'full' | 'long' | 'medium' | 'short';\n\n @property({ attribute: false }) customFormat?: object;\n\n @property({ reflect: true, attribute: 'display-suffix' }) displaySuffix?: string;\n\n @property({ reflect: true }) locale?: string;\n\n @property({ reflect: true, type: Boolean }) relative?: boolean;\n\n @property({ reflect: true, type: Boolean }) utc?: boolean;\n\n @property({ reflect: true, attribute: 'hour-12', converter: BooleanStringConverter }) hour12?: boolean;\n\n #date = new Date();\n\n #isoString = this.#date.toISOString();\n\n get isoString() {\n return this.#isoString;\n }\n\n get time() {\n const { hour12, customFormat, dateFormat: dateStyle, timeFormat: timeStyle, utc } = this;\n const timeZone = utc ? 'UTC' : undefined;\n const formatOptions = customFormat || { hour12, dateStyle, timeStyle, timeZone };\n const formattedDate = this.#date.toLocaleString(this.locale, formatOptions);\n return this.relative ? this.#getTimeRelative(this.#date) : `${formattedDate}${this.displaySuffix ? ` ${this.displaySuffix}` : ''}`;\n }\n\n willUpdate() {\n if (!this.displaySuffix && this.utc) {\n this.displaySuffix = 'UTC';\n }\n }\n\n render() {\n return html`\n <time datetime=\"${this.isoString}\">${this.time}</time>\n `;\n }\n\n /**\n * Based off of Github Relative Time\n * https://github.com/github/time-elements/blob/master/src/relative-time.js\n */\n #getTimeRelative(date: Date) {\n const ms: number = date.getTime() - Date.now();\n const tense = ms > 0 ? 'until' : 'ago';\n let str = 'just now';\n const s = Math.round(Math.abs(ms) / 1000);\n const min = Math.round(s / 60);\n const h = Math.round(min / 60);\n const d = Math.round(h / 24);\n const m = Math.round(d / 30);\n const y = Math.round(m / 12);\n if (m >= 18) {\n str = `${y} years`;\n } else if (m >= 12) {\n str = 'a year';\n } else if (d >= 45) {\n str = `${m} months`;\n } else if (d >= 30) {\n str = 'a month';\n } else if (h >= 36) {\n str = `${d} days`;\n } else if (h >= 24) {\n str = 'a day';\n } else if (min >= 90) {\n str = `${h} hours`;\n } else if (min >= 45) {\n str = 'an hour';\n } else if (s >= 90) {\n str = `${min} minutes`;\n } else if (s >= 45) {\n str = 'a minute';\n } else if (s >= 10) {\n str = `${s} seconds`;\n }\n\n return str !== 'just now' ? `${str} ${tense}` : str;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-timestamp': PfTimestamp;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-timestamp.js","sourceRoot":"","sources":["pf-timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComplexAttributeConverter } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport style from './pf-timestamp.css';\n\nconst BooleanStringConverter: ComplexAttributeConverter = {\n fromAttribute(value) {\n return !value || value === 'true';\n },\n};\n\n@customElement('pf-timestamp')\nexport class PfTimestamp extends LitElement {\n static readonly styles = [style];\n\n @property({ reflect: true })\n get date() {\n return this.#date.toLocaleString();\n }\n\n set date(string) {\n this.#date = new Date(string);\n this.#isoString = this.#date.toISOString();\n }\n\n @property({ reflect: true, attribute: 'date-format' }) dateFormat?: 'full' | 'long' | 'medium' | 'short';\n\n @property({ reflect: true, attribute: 'time-format' }) timeFormat?: 'full' | 'long' | 'medium' | 'short';\n\n @property({ attribute: false }) customFormat?: object;\n\n @property({ reflect: true, attribute: 'display-suffix' }) displaySuffix?: string;\n\n @property({ reflect: true }) locale?: string;\n\n @property({ reflect: true, type: Boolean }) relative?: boolean;\n\n @property({ reflect: true, type: Boolean }) utc?: boolean;\n\n @property({ reflect: true, attribute: 'hour-12', converter: BooleanStringConverter }) hour12?: boolean;\n\n #date = new Date();\n\n #isoString = this.#date.toISOString();\n\n get isoString() {\n return this.#isoString;\n }\n\n get time() {\n const { hour12, customFormat, dateFormat: dateStyle, timeFormat: timeStyle, utc } = this;\n const timeZone = utc ? 'UTC' : undefined;\n const formatOptions = customFormat || { hour12, dateStyle, timeStyle, timeZone };\n const formattedDate = this.#date.toLocaleString(this.locale, formatOptions);\n return this.relative ? this.#getTimeRelative(this.#date) : `${formattedDate}${this.displaySuffix ? ` ${this.displaySuffix}` : ''}`;\n }\n\n willUpdate() {\n if (!this.displaySuffix && this.utc) {\n this.displaySuffix = 'UTC';\n }\n }\n\n render() {\n return html`\n <time datetime=\"${this.isoString}\">${this.time}</time>\n `;\n }\n\n /**\n * Based off of Github Relative Time\n * https://github.com/github/time-elements/blob/master/src/relative-time.js\n */\n #getTimeRelative(date: Date) {\n const ms: number = date.getTime() - Date.now();\n const tense = ms > 0 ? 'until' : 'ago';\n let str = 'just now';\n const s = Math.round(Math.abs(ms) / 1000);\n const min = Math.round(s / 60);\n const h = Math.round(min / 60);\n const d = Math.round(h / 24);\n const m = Math.round(d / 30);\n const y = Math.round(m / 12);\n if (m >= 18) {\n str = `${y} years`;\n } else if (m >= 12) {\n str = 'a year';\n } else if (d >= 45) {\n str = `${m} months`;\n } else if (d >= 30) {\n str = 'a month';\n } else if (h >= 36) {\n str = `${d} days`;\n } else if (h >= 24) {\n str = 'a day';\n } else if (min >= 90) {\n str = `${h} hours`;\n } else if (min >= 45) {\n str = 'an hour';\n } else if (s >= 90) {\n str = `${min} minutes`;\n } else if (s >= 45) {\n str = 'a minute';\n } else if (s >= 10) {\n str = `${s} seconds`;\n }\n\n return str !== 'just now' ? `${str} ${tense}` : str;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-timestamp': PfTimestamp;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement, property } from 'lit/decorators.js';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import { property } from 'lit/decorators/property.js';
3
4
  import { BaseTooltip } from './BaseTooltip.js';
4
5
  import { css } from "lit";
5
6
  const styles = css `:host{--_timestamp-text-decoration:underline dashed 1px;--_timestamp-text-underline-offset:4px}#tooltip{--_timestamp-text-decoration:none;--_timestamp-text-underline-offset:initial;line-height:var(--pf-c-tooltip--line-height, 1.5);max-width:var(--pf-c-tooltip--MaxWidth,18.75rem);box-shadow:var(--pf-c-tooltip--BoxShadow,var(--pf-global--BoxShadow--md,0 .25rem .5rem 0 rgba(3,3,3,.12),0 0 .25rem 0 rgba(3,3,3,.06)));padding:var(--pf-c-tooltip__content--PaddingTop,var(--pf-global--spacer--sm,.5rem)) var(--pf-c-tooltip__content--PaddingRight,var(--pf-global--spacer--sm,.5rem)) var(--pf-c-tooltip__content--PaddingBottom,var(--pf-global--spacer--sm,.5rem)) var(--pf-c-tooltip__content--PaddingLeft,var(--pf-global--spacer--sm,.5rem));font-size:var(--pf-c-tooltip__content--FontSize,\n var(--pf-global--FontSize--sm, .875rem));color:var(--pf-c-tooltip__content--Color,var(--pf-global--Color--light-100,#fff));background-color:var(--pf-c-tooltip__content--BackgroundColor,var(--pf-global--BackgroundColor--dark-100,#151515))}#container{--_floating-arrow-size:var(--pf-c-tooltip__arrow--Width, 0.5rem)}#tooltip::after{background-color:var(--pf-c-tooltip__content--BackgroundColor,var(--pf-global--BackgroundColor--dark-100,#151515))}`;