@patternfly/elements 4.1.0 → 4.2.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 (286) hide show
  1. package/custom-elements.json +13726 -12682
  2. package/package.json +17 -14
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/pf-avatar.css +14 -0
  16. package/pf-avatar/pf-avatar.d.ts +1 -14
  17. package/pf-avatar/pf-avatar.js +82 -2
  18. package/pf-avatar/pf-avatar.js.map +1 -1
  19. package/pf-back-to-top/pf-back-to-top.css +12 -0
  20. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  21. package/pf-back-to-top/pf-back-to-top.js +87 -3
  22. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  23. package/pf-background-image/pf-background-image.css +7 -0
  24. package/pf-background-image/pf-background-image.d.ts +1 -8
  25. package/pf-background-image/pf-background-image.js +76 -2
  26. package/pf-background-image/pf-background-image.js.map +1 -1
  27. package/pf-badge/pf-badge.css +13 -0
  28. package/pf-badge/pf-badge.d.ts +1 -13
  29. package/pf-badge/pf-badge.js +53 -2
  30. package/pf-badge/pf-badge.js.map +1 -1
  31. package/pf-banner/pf-banner.css +21 -0
  32. package/pf-banner/pf-banner.d.ts +1 -19
  33. package/pf-banner/pf-banner.js +122 -2
  34. package/pf-banner/pf-banner.js.map +1 -1
  35. package/pf-button/pf-button-tokens.css +38 -0
  36. package/pf-button/pf-button.d.ts +1 -106
  37. package/pf-button/pf-button.js +837 -4
  38. package/pf-button/pf-button.js.map +1 -1
  39. package/pf-card/pf-card.css +24 -0
  40. package/pf-card/pf-card.d.ts +1 -38
  41. package/pf-card/pf-card.js +248 -2
  42. package/pf-card/pf-card.js.map +1 -1
  43. package/pf-chip/pf-chip-group.css +15 -0
  44. package/pf-chip/pf-chip-group.d.ts +0 -15
  45. package/pf-chip/pf-chip-group.js +111 -2
  46. package/pf-chip/pf-chip-group.js.map +1 -1
  47. package/pf-chip/pf-chip.css +30 -1
  48. package/pf-chip/pf-chip.d.ts +1 -20
  49. package/pf-chip/pf-chip.js +135 -2
  50. package/pf-chip/pf-chip.js.map +1 -1
  51. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  52. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  53. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  54. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  55. package/pf-code-block/pf-code-block.css +11 -1
  56. package/pf-code-block/pf-code-block.js +70 -18
  57. package/pf-code-block/pf-code-block.js.map +1 -1
  58. package/pf-dropdown/pf-dropdown-group.js +40 -2
  59. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  60. package/pf-dropdown/pf-dropdown-item.css +10 -0
  61. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  62. package/pf-dropdown/pf-dropdown-item.js +155 -2
  63. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  64. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  65. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  66. package/pf-dropdown/pf-dropdown.css +5 -0
  67. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  68. package/pf-dropdown/pf-dropdown.js +350 -2
  69. package/pf-dropdown/pf-dropdown.js.map +1 -1
  70. package/pf-icon/pf-icon.css +1 -0
  71. package/pf-icon/pf-icon.d.ts +1 -3
  72. package/pf-icon/pf-icon.js +44 -4
  73. package/pf-icon/pf-icon.js.map +1 -1
  74. package/pf-jump-links/pf-jump-links-item.css +7 -1
  75. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  76. package/pf-jump-links/pf-jump-links-item.js +77 -2
  77. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  78. package/pf-jump-links/pf-jump-links-list.css +3 -0
  79. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  80. package/pf-jump-links/pf-jump-links-list.js +20 -2
  81. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  82. package/pf-jump-links/pf-jump-links.css +36 -0
  83. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  84. package/pf-jump-links/pf-jump-links.js +179 -2
  85. package/pf-jump-links/pf-jump-links.js.map +1 -1
  86. package/pf-label/pf-label.css +51 -1
  87. package/pf-label/pf-label.d.ts +1 -58
  88. package/pf-label/pf-label.js +257 -2
  89. package/pf-label/pf-label.js.map +1 -1
  90. package/pf-modal/pf-modal.css +11 -0
  91. package/pf-modal/pf-modal.d.ts +1 -24
  92. package/pf-modal/pf-modal.js +215 -2
  93. package/pf-modal/pf-modal.js.map +1 -1
  94. package/pf-panel/pf-panel.css +29 -0
  95. package/pf-panel/pf-panel.d.ts +1 -32
  96. package/pf-panel/pf-panel.js +204 -2
  97. package/pf-panel/pf-panel.js.map +1 -1
  98. package/pf-popover/pf-popover.css +33 -0
  99. package/pf-popover/pf-popover.d.ts +1 -108
  100. package/pf-popover/pf-popover.js +251 -3
  101. package/pf-popover/pf-popover.js.map +1 -1
  102. package/pf-progress/pf-progress.css +19 -0
  103. package/pf-progress/pf-progress.d.ts +1 -57
  104. package/pf-progress/pf-progress.js +231 -2
  105. package/pf-progress/pf-progress.js.map +1 -1
  106. package/pf-progress-stepper/pf-progress-step.js +126 -2
  107. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  108. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  109. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  110. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  111. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  112. package/pf-search-input/pf-search-input.css +308 -0
  113. package/pf-search-input/pf-search-input.d.ts +75 -0
  114. package/pf-search-input/pf-search-input.js +630 -0
  115. package/pf-search-input/pf-search-input.js.map +1 -0
  116. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  117. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  118. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  119. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  120. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  121. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  122. package/pf-select/pf-option-group.js +27 -2
  123. package/pf-select/pf-option-group.js.map +1 -1
  124. package/pf-select/pf-option.css +9 -1
  125. package/pf-select/pf-option.js +83 -2
  126. package/pf-select/pf-option.js.map +1 -1
  127. package/pf-select/pf-select.css +157 -0
  128. package/pf-select/pf-select.d.ts +1 -158
  129. package/pf-select/pf-select.js +542 -5
  130. package/pf-select/pf-select.js.map +1 -1
  131. package/pf-spinner/pf-spinner.css +13 -0
  132. package/pf-spinner/pf-spinner.d.ts +1 -14
  133. package/pf-spinner/pf-spinner.js +101 -2
  134. package/pf-spinner/pf-spinner.js.map +1 -1
  135. package/pf-switch/pf-switch.css +22 -0
  136. package/pf-switch/pf-switch.d.ts +1 -30
  137. package/pf-switch/pf-switch.js +156 -2
  138. package/pf-switch/pf-switch.js.map +1 -1
  139. package/pf-table/pf-caption.js +10 -2
  140. package/pf-table/pf-caption.js.map +1 -1
  141. package/pf-table/pf-table.css +211 -0
  142. package/pf-table/pf-table.d.ts +1 -635
  143. package/pf-table/pf-table.js +437 -2
  144. package/pf-table/pf-table.js.map +1 -1
  145. package/pf-table/pf-tbody.js +18 -2
  146. package/pf-table/pf-tbody.js.map +1 -1
  147. package/pf-table/pf-td.js +107 -2
  148. package/pf-table/pf-td.js.map +1 -1
  149. package/pf-table/pf-th.js +95 -2
  150. package/pf-table/pf-th.js.map +1 -1
  151. package/pf-table/pf-thead.js +20 -2
  152. package/pf-table/pf-thead.js.map +1 -1
  153. package/pf-table/pf-tr.js +89 -2
  154. package/pf-table/pf-tr.js.map +1 -1
  155. package/pf-tabs/pf-tab-panel.css +1 -0
  156. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  157. package/pf-tabs/pf-tab-panel.js +19 -3
  158. package/pf-tabs/pf-tab-panel.js.map +1 -1
  159. package/pf-tabs/pf-tab.css +33 -0
  160. package/pf-tabs/pf-tab.d.ts +0 -40
  161. package/pf-tabs/pf-tab.js +231 -2
  162. package/pf-tabs/pf-tab.js.map +1 -1
  163. package/pf-tabs/pf-tabs.css +26 -0
  164. package/pf-tabs/pf-tabs.d.ts +1 -34
  165. package/pf-tabs/pf-tabs.js +307 -2
  166. package/pf-tabs/pf-tabs.js.map +1 -1
  167. package/pf-text-area/pf-text-area.css +125 -0
  168. package/pf-text-area/pf-text-area.d.ts +1 -125
  169. package/pf-text-area/pf-text-area.js +320 -2
  170. package/pf-text-area/pf-text-area.js.map +1 -1
  171. package/pf-text-input/pf-text-input.css +126 -0
  172. package/pf-text-input/pf-text-input.d.ts +1 -126
  173. package/pf-text-input/pf-text-input.js +395 -2
  174. package/pf-text-input/pf-text-input.js.map +1 -1
  175. package/pf-tile/pf-tile.css +28 -8
  176. package/pf-tile/pf-tile.d.ts +1 -24
  177. package/pf-tile/pf-tile.js +156 -2
  178. package/pf-tile/pf-tile.js.map +1 -1
  179. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  180. package/pf-timestamp/pf-timestamp.js +10 -2
  181. package/pf-timestamp/pf-timestamp.js.map +1 -1
  182. package/pf-tooltip/pf-tooltip.css +10 -0
  183. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  184. package/pf-tooltip/pf-tooltip.js +113 -3
  185. package/pf-tooltip/pf-tooltip.js.map +1 -1
  186. package/pfe.min.js +0 -7439
  187. package/pfe.min.js.LEGAL.txt +0 -57
  188. package/pfe.min.js.map +0 -7
  189. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  190. package/react/pf-accordion/pf-accordion-header.js +0 -12
  191. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  192. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  193. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  194. package/react/pf-accordion/pf-accordion.js +0 -13
  195. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  196. package/react/pf-avatar/pf-avatar.js +0 -12
  197. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  198. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  199. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  200. package/react/pf-background-image/pf-background-image.js +0 -10
  201. package/react/pf-badge/pf-badge.d.ts +0 -5
  202. package/react/pf-badge/pf-badge.js +0 -10
  203. package/react/pf-banner/pf-banner.d.ts +0 -5
  204. package/react/pf-banner/pf-banner.js +0 -10
  205. package/react/pf-button/pf-button.d.ts +0 -5
  206. package/react/pf-button/pf-button.js +0 -12
  207. package/react/pf-card/pf-card.d.ts +0 -5
  208. package/react/pf-card/pf-card.js +0 -10
  209. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  210. package/react/pf-chip/pf-chip-group.js +0 -13
  211. package/react/pf-chip/pf-chip.d.ts +0 -5
  212. package/react/pf-chip/pf-chip.js +0 -13
  213. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  214. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  215. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  216. package/react/pf-code-block/pf-code-block.js +0 -10
  217. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  218. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  219. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  220. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  221. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  222. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  223. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  224. package/react/pf-dropdown/pf-dropdown.js +0 -14
  225. package/react/pf-icon/pf-icon.d.ts +0 -5
  226. package/react/pf-icon/pf-icon.js +0 -13
  227. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  228. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  229. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  230. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  231. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  232. package/react/pf-jump-links/pf-jump-links.js +0 -12
  233. package/react/pf-label/pf-label.d.ts +0 -5
  234. package/react/pf-label/pf-label.js +0 -12
  235. package/react/pf-modal/pf-modal.d.ts +0 -5
  236. package/react/pf-modal/pf-modal.js +0 -13
  237. package/react/pf-panel/pf-panel.d.ts +0 -5
  238. package/react/pf-panel/pf-panel.js +0 -10
  239. package/react/pf-popover/pf-popover.d.ts +0 -5
  240. package/react/pf-popover/pf-popover.js +0 -10
  241. package/react/pf-progress/pf-progress.d.ts +0 -5
  242. package/react/pf-progress/pf-progress.js +0 -10
  243. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  244. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  245. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  246. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  247. package/react/pf-select/pf-option-group.d.ts +0 -5
  248. package/react/pf-select/pf-option-group.js +0 -10
  249. package/react/pf-select/pf-option.d.ts +0 -5
  250. package/react/pf-select/pf-option.js +0 -10
  251. package/react/pf-select/pf-select.d.ts +0 -5
  252. package/react/pf-select/pf-select.js +0 -13
  253. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  254. package/react/pf-spinner/pf-spinner.js +0 -10
  255. package/react/pf-switch/pf-switch.d.ts +0 -5
  256. package/react/pf-switch/pf-switch.js +0 -12
  257. package/react/pf-table/pf-caption.d.ts +0 -5
  258. package/react/pf-table/pf-caption.js +0 -10
  259. package/react/pf-table/pf-table.d.ts +0 -5
  260. package/react/pf-table/pf-table.js +0 -10
  261. package/react/pf-table/pf-tbody.d.ts +0 -5
  262. package/react/pf-table/pf-tbody.js +0 -10
  263. package/react/pf-table/pf-td.d.ts +0 -5
  264. package/react/pf-table/pf-td.js +0 -10
  265. package/react/pf-table/pf-th.d.ts +0 -5
  266. package/react/pf-table/pf-th.js +0 -10
  267. package/react/pf-table/pf-thead.d.ts +0 -5
  268. package/react/pf-table/pf-thead.js +0 -10
  269. package/react/pf-table/pf-tr.d.ts +0 -5
  270. package/react/pf-table/pf-tr.js +0 -10
  271. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  272. package/react/pf-tabs/pf-tab-panel.js +0 -10
  273. package/react/pf-tabs/pf-tab.d.ts +0 -5
  274. package/react/pf-tabs/pf-tab.js +0 -12
  275. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  276. package/react/pf-tabs/pf-tabs.js +0 -10
  277. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  278. package/react/pf-text-area/pf-text-area.js +0 -10
  279. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  280. package/react/pf-text-input/pf-text-input.js +0 -10
  281. package/react/pf-tile/pf-tile.d.ts +0 -5
  282. package/react/pf-tile/pf-tile.js +0 -10
  283. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  284. package/react/pf-timestamp/pf-timestamp.js +0 -10
  285. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  286. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"pf-icon.js","sourceRoot":"","sources":["pf-icon.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAA4C,MAAM,KAAK,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;;;AASpE;;;GAGG;AACH,MAAM,GAAG,GACJ,UAAU,CAAC,mBAAmB;OAC9B,UAAU,CAAC,qBAAqB;OAChC,CAAC,KAAK,EAAE,CAAa,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,uCAAuC;AACvC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YACE,GAAW,EACX,IAAY;IACZ,wDAAwD;IACjD,aAAoB;QAE3B,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,wBAAwB,IAAI,eAAe,GAAG,IAAI,EAAE,CAAC,CAAC;QAFzE,kBAAa,GAAb,aAAa,CAAO;IAG7B,CAAC;CACF;AAYM,IAAM,MAAM,QAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;;QAgGL,eAAe;QACH,QAAG,GAAG,KAAK,CAAC;QAExB,gBAAgB;QACa,SAAI,GAAG,EAAE,CAAC;QAEvC,uBAAuB;QACM,SAAI,GAA8B,IAAI,CAAC;QAEpE;;;;;WAKG;QACS,YAAO,GAA+B,MAAM,CAAC;QAKzD,+BAAgB,KAAK,EAAC;QAEtB,yBAAU,IAAI,MAAM,CAAC,IAAI,CAAC,EAAC;;IA9F3B;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,QAA8B;QACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,uDAAuD,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,0DAA0D,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,uBAAA,QAAQ,uCAAM,MAAd,QAAQ,CAAQ,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,8DAA8D;IACvD,MAAM,CAAC,KAAK;QACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IACrC,CAAC;IAoFD,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,OAA6B;QACtC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,uBAAA,IAAI,uCAAM,MAAV,IAAI,CAAQ,CAAC;QACf,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;+CACgC,OAAO;oBAClC,CAAC,CAAC,OAAO;;;KAGxB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC7D,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzC,uBAAA,IAAI,iDAAgB,MAApB,IAAI,CAAkB,CAAC;YACzB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,uBAAA,IAAI,sBAAQ,CAAC,KAAK,CAAE,KAA0B,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAc,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;;;;;;IA1DC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,uBAAA,IAAI,4BAAc,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;AACH,CAAC;;IAGC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,uBAAA,IAAI,2CAAU,MAAd,IAAI,CAAY,CAAC;QAC1C,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;yBAED,KAAK;IACH,MAAM,IAAI,CAAC,cAAc,CAAC;IAC1B,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAzIsB,aAAM,GAAoB,CAAC,KAAK,CAAC,AAA3B,CAA4B;AAE1C,kBAAW,GAAiC,OAAO,CAAC,EAAE,CACnE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,MAAgB,CAAC;IAC9B,uBAAA,IAAI,wBAAiB,cAAc,MAAA,CAAC;IACpC,GAAG,CAAC,GAAG,EAAE;QACP,IAAI,uBAAA,IAAI,4BAAc,EAAE,CAAC;YACvB,uBAAA,IAAI,uCAAM,MAAV,IAAI,CAAQ,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,AATsB,CASrB;AAEU,qBAAc,GAAyB,CAAC,GAAW,EAAE,IAAY,EAAc,EAAE,CAC9F,MAAM,CAAC,qBAAqB,GAAG,IAAI,IAAI,KAAK,CAAC;KACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,AAFlB,CAEmB;AAEjC,SAAE,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,AAA/C,CAAgD;AAElD,gBAAS,GAAG,IAAI,GAAG,EAAgC,AAA1C,CAA2C;AAEpD,gBAAS,GAAG,IAAI,GAAG,EAAU,AAApB,CAAqB;AAoC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACW,cAAO,GAAyB,MAAM,CAAC,cAAc,AAA9C,CAA+C;;AAGxD;IAAX,QAAQ,EAAE;mCAAa;AAGK;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oCAAW;AAGV;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oCAAwC;AAQxD;IAAX,QAAQ,EAAE;uCAA8C;AAGxC;IAAhB,KAAK,EAAE;uCAA2B;AAlHxB,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\n\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport style from './pf-icon.css';\n\ntype Renderable = unknown;\n\nexport type IconResolverFunction = (set: string, icon: string) =>\n Renderable | Promise<Renderable>;\n\n/**\n * requestIdleCallback when available, requestAnimationFrame when not\n * @param f callback\n */\nconst ric: typeof globalThis.requestIdleCallback =\n globalThis.requestIdleCallback\n ?? globalThis.requestAnimationFrame\n ?? (async (f: () => void) => Promise.resolve().then(f));\n\n/** Fired when an icon fails to load */\nexport class IconResolveError extends ErrorEvent {\n constructor(\n set: string,\n icon: string,\n /** The original error when importing the icon module */\n public originalError: Error\n ) {\n super('error', { message: `Could not load icon \"${icon}\" from set \"${set}\".` });\n }\n}\n\n/**\n * An **icon** component is a container that allows for icons of varying dimensions to\n * seamlessly replace each other without shifting surrounding content.\n * @slot - Slotted content is used as a fallback in case the icon doesn't load\n * @fires load - Fired when an icon is loaded and rendered\n * @fires error - Fired when an icon fails to load\n * @csspart fallback - Container for the fallback (i.e. slotted) content\n * @cssprop {<length>} --pf-icon--size - size of the icon\n */\n@customElement('pf-icon')\nexport class PfIcon extends LitElement {\n public static readonly styles: CSSStyleSheet[] = [style];\n\n private static onIntersect: IntersectionObserverCallback = records =>\n records.forEach(({ isIntersecting, target }) => {\n const icon = target as PfIcon;\n icon.#intersecting = isIntersecting;\n ric(() => {\n if (icon.#intersecting) {\n icon.#load();\n }\n });\n });\n\n private static defaultResolve: IconResolverFunction = (set: string, icon: string): Renderable =>\n import(`@patternfly/icons/${set}/${icon}.js`)\n .then(mod => mod.default.cloneNode(true));\n\n private static io = new IntersectionObserver(PfIcon.onIntersect);\n\n private static resolvers = new Map<string, IconResolverFunction>();\n\n private static instances = new Set<PfIcon>();\n\n /**\n * Register a new icon set\n * @param setName - The name of the icon set\n * @param resolver - A function that returns the URL of an icon\n * @example returning a URL object\n * ```js\n * PfIcon.addIconSet('rh', (set, icon) =>\n * new URL(`./icons/${set}/${icon}.js`, import.meta.url));\n * ```\n * @example returning a string\n * ```js\n * PfIcon.addIconSet('rh', (set, icon) =>\n * `/assets/icons/${set}/${icon}.js`);\n * ```\n */\n public static addIconSet(setName: string, resolver: IconResolverFunction): void {\n if (typeof setName !== 'string') {\n Logger.warn(`[${this.name}]: the first argument to addIconSet must be a string.`);\n } else if (typeof resolver !== 'function') {\n Logger.warn(`[${this.name}]: the second argument to addIconSet must be a function.`);\n } else {\n this.resolvers.set(setName, resolver);\n for (const instance of this.instances) {\n instance.#load();\n }\n }\n }\n\n /** Removes all added icon sets and resets resolve function */\n public static reset(): void {\n this.resolvers.clear();\n this.resolve = this.defaultResolve;\n }\n\n /**\n * Gets a renderable icon. Override this to customize how icons are resolved.\n * @param set - The name of the icon set\n * @param icon - The name of the icon\n * @returns The icon content, a node or anything else which lit-html can render\n * @example resolving an icon node from an icon module\n * ```js\n * PfIcon.resolve = (set, icon) =>\n * import(`/assets/icons/${set}/${icon}.js`)\n * .then(mod => mod.default.cloneNode(true));\n * ```\n * @example resolving a named export from an icon collection module\n * ```js\n * PfIcon.resolve = (set, icon) =>\n * import(`/assets/icons.js`)\n * .then(module => module[icon]?.cloneNode(true));\n * ```\n * @example resolving a new node from an svg file\n * ```js\n * const iconCacne = new Map();\n * function getCachedIconOrNewNode(set, icon, svg) {\n * const key = `${set}_${icon}`;\n * if (!iconCache.has(key)) {\n * const template = document.createElement('template');\n * template.innerHTML = svg;\n * iconCache.set(key, template);\n * }\n * return iconCache.get(key);\n * }\n * PfIcon.resolve = (set, icon) =>\n * fetch(`/assets/icons/${set}/${icon}.svg`)\n * .then(response => response.text())\n * .then(svg => getCachedIconOrNewNode(set, icon, svg))\n * .then(node => node.content.cloneNode(true));\n * ```\n */\n public static resolve: IconResolverFunction = PfIcon.defaultResolve;\n\n /** Icon set */\n @property() set = 'fas';\n\n /** Icon name */\n @property({ reflect: true }) icon = '';\n\n /** Size of the icon */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Controls how eager the element will be to load the icon data\n * - `eager`: eagerly load the icon, blocking the main thread\n * - `idle`: wait for the browser to attain an idle state before loading\n * - `lazy` (default): wait for the element to enter the viewport before loading\n */\n @property() loading?: 'idle' | 'lazy' | 'eager' = 'lazy';\n\n /** Icon content. Any value that lit can render */\n @state() private content?: unknown;\n\n #intersecting = false;\n\n #logger = new Logger(this);\n\n #lazyLoad() {\n PfIcon.io.observe(this);\n if (this.#intersecting) {\n this.load();\n }\n }\n\n #load() {\n switch (this.loading) {\n case 'idle': return void ric(() => this.load());\n case 'lazy': return void this.#lazyLoad();\n case 'eager': return void this.load();\n }\n }\n\n async #contentChanged() {\n await this.updateComplete;\n this.dispatchEvent?.(new Event('load', { bubbles: true }));\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n PfIcon.instances.add(this);\n }\n\n willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('icon')) {\n this.#load();\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n PfIcon.io.unobserve(this);\n PfIcon.instances.delete(this);\n }\n\n render(): TemplateResult<1> {\n const content = this.content ?? '';\n return html`\n <div id=\"container\" aria-hidden=\"true\">${content}<span part=\"fallback\"\n ?hidden=${!!content}><slot></slot>\n </span>\n </div>\n `;\n }\n\n protected async load(): Promise<void> {\n const { set, icon } = this;\n const resolver = PfIcon.resolvers.get(set) ?? PfIcon.resolve;\n if (set && icon && typeof resolver === 'function') {\n try {\n this.content = await resolver(set, icon);\n this.#contentChanged();\n } catch (error: unknown) {\n this.#logger.error((error as IconResolveError).message);\n this.dispatchEvent?.(new IconResolveError(set, icon, error as Error));\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-icon': PfIcon;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-icon.js","sourceRoot":"","sources":["pf-icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\n\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport style from './pf-icon.css';\n\ntype Renderable = unknown;\n\nexport type IconResolverFunction = (set: string, icon: string) =>\n Renderable | Promise<Renderable>;\n\n/**\n * requestIdleCallback when available, requestAnimationFrame when not\n * @param f callback\n */\nconst ric: typeof globalThis.requestIdleCallback =\n globalThis.requestIdleCallback\n ?? globalThis.requestAnimationFrame\n ?? (async (f: () => void) => Promise.resolve().then(f));\n\n/** Fired when an icon fails to load */\nexport class IconResolveError extends ErrorEvent {\n constructor(\n set: string,\n icon: string,\n /** The original error when importing the icon module */\n public originalError: Error\n ) {\n super('error', { message: `Could not load icon \"${icon}\" from set \"${set}\".` });\n }\n}\n\n/**\n * An **icon** component is a container that allows for icons of varying dimensions to\n * seamlessly replace each other without shifting surrounding content.\n * @alias Icon\n * @fires load - Fired when an icon is loaded and rendered\n * @fires error - Fired when an icon fails to load\n */\n@customElement('pf-icon')\nexport class PfIcon extends LitElement {\n public static readonly styles: CSSStyleSheet[] = [style];\n\n private static onIntersect: IntersectionObserverCallback = records =>\n records.forEach(({ isIntersecting, target }) => {\n const icon = target as PfIcon;\n icon.#intersecting = isIntersecting;\n ric(() => {\n if (icon.#intersecting) {\n icon.#load();\n }\n });\n });\n\n private static defaultResolve: IconResolverFunction = (set: string, icon: string): Renderable =>\n import(`@patternfly/icons/${set}/${icon}.js`)\n .then(mod => mod.default.cloneNode(true));\n\n private static io = new IntersectionObserver(PfIcon.onIntersect);\n\n private static resolvers = new Map<string, IconResolverFunction>();\n\n private static instances = new Set<PfIcon>();\n\n /**\n * Register a new icon set\n * @param setName - The name of the icon set\n * @param resolver - A function that returns the URL of an icon\n * @example returning a URL object\n * ```js\n * PfIcon.addIconSet('rh', (set, icon) =>\n * new URL(`./icons/${set}/${icon}.js`, import.meta.url));\n * ```\n * @example returning a string\n * ```js\n * PfIcon.addIconSet('rh', (set, icon) =>\n * `/assets/icons/${set}/${icon}.js`);\n * ```\n */\n public static addIconSet(setName: string, resolver: IconResolverFunction): void {\n if (typeof setName !== 'string') {\n Logger.warn(`[${this.name}]: the first argument to addIconSet must be a string.`);\n } else if (typeof resolver !== 'function') {\n Logger.warn(`[${this.name}]: the second argument to addIconSet must be a function.`);\n } else {\n this.resolvers.set(setName, resolver);\n for (const instance of this.instances) {\n instance.#load();\n }\n }\n }\n\n /** Removes all added icon sets and resets resolve function */\n public static reset(): void {\n this.resolvers.clear();\n this.resolve = this.defaultResolve;\n }\n\n /**\n * Gets a renderable icon. Override this to customize how icons are resolved.\n * @param set - The name of the icon set\n * @param icon - The name of the icon\n * @returns The icon content, a node or anything else which lit-html can render\n * @example resolving an icon node from an icon module\n * ```js\n * PfIcon.resolve = (set, icon) =>\n * import(`/assets/icons/${set}/${icon}.js`)\n * .then(mod => mod.default.cloneNode(true));\n * ```\n * @example resolving a named export from an icon collection module\n * ```js\n * PfIcon.resolve = (set, icon) =>\n * import(`/assets/icons.js`)\n * .then(module => module[icon]?.cloneNode(true));\n * ```\n * @example resolving a new node from an svg file\n * ```js\n * const iconCacne = new Map();\n * function getCachedIconOrNewNode(set, icon, svg) {\n * const key = `${set}_${icon}`;\n * if (!iconCache.has(key)) {\n * const template = document.createElement('template');\n * template.innerHTML = svg;\n * iconCache.set(key, template);\n * }\n * return iconCache.get(key);\n * }\n * PfIcon.resolve = (set, icon) =>\n * fetch(`/assets/icons/${set}/${icon}.svg`)\n * .then(response => response.text())\n * .then(svg => getCachedIconOrNewNode(set, icon, svg))\n * .then(node => node.content.cloneNode(true));\n * ```\n */\n public static resolve: IconResolverFunction = PfIcon.defaultResolve;\n\n /** Icon set */\n @property() set = 'fas';\n\n /** Icon name */\n @property({ reflect: true }) icon = '';\n\n /** Size of the icon */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Controls how eager the element will be to load the icon data\n * - `eager`: eagerly load the icon, blocking the main thread\n * - `idle`: wait for the browser to attain an idle state before loading\n * - `lazy` (default): wait for the element to enter the viewport before loading\n */\n @property() loading?: 'idle' | 'lazy' | 'eager' = 'lazy';\n\n /** Icon content. Any value that lit can render */\n @state() private content?: unknown;\n\n #intersecting = false;\n\n #logger = new Logger(this);\n\n #lazyLoad() {\n PfIcon.io.observe(this);\n if (this.#intersecting) {\n this.load();\n }\n }\n\n #load() {\n switch (this.loading) {\n case 'idle': return void ric(() => this.load());\n case 'lazy': return void this.#lazyLoad();\n case 'eager': return void this.load();\n }\n }\n\n async #contentChanged() {\n await this.updateComplete;\n this.dispatchEvent?.(new Event('load', { bubbles: true }));\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n PfIcon.instances.add(this);\n }\n\n willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('icon')) {\n this.#load();\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n PfIcon.io.unobserve(this);\n PfIcon.instances.delete(this);\n }\n\n render(): TemplateResult<1> {\n const content = this.content ?? '';\n return html`\n <div id=\"container\" aria-hidden=\"true\">${content}<!--\n summary: Container for the fallback (i.e. slotted) content\n -->\n <span part=\"fallback\"\n ?hidden=${!!content}><!--\n summary: Slotted content is used as a fallback in case the icon doesn't load\n --><slot></slot>\n </span>\n </div>\n `;\n }\n\n protected async load(): Promise<void> {\n const { set, icon } = this;\n const resolver = PfIcon.resolvers.get(set) ?? PfIcon.resolve;\n if (set && icon && typeof resolver === 'function') {\n try {\n this.content = await resolver(set, icon);\n this.#contentChanged();\n } catch (error: unknown) {\n this.#logger.error((error as IconResolveError).message);\n this.dispatchEvent?.(new IconResolveError(set, icon, error as Error));\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-icon': PfIcon;\n }\n}\n"]}
@@ -17,17 +17,23 @@ a {
17
17
  display: flex;
18
18
  cursor: pointer;
19
19
  flex: 1;
20
+ /** Top padding around the link */
20
21
  padding-block-start: var(--pf-c-jump-links__link--PaddingTop,
21
22
  var(--pf-global--spacer--md, 1rem));
23
+ /** Right padding around the link */
22
24
  padding-inline-end: var(--pf-c-jump-links__link--PaddingRight,
23
25
  var(--pf-global--spacer--md, 1rem));
26
+ /** Bottom padding around the link */
24
27
  padding-block-end: var(--pf-c-jump-links__link--PaddingBottom,
25
28
  var(--pf-global--spacer--md, 1rem));
29
+ /** Left padding around the link */
26
30
  padding-inline-start: var(--pf-c-jump-links__link--PaddingLeft,
27
31
  var(--pf-global--spacer--md, 1rem));
28
32
  text-decoration: none;
33
+ /** Outline offset for jump links link */
29
34
  outline-offset: var(--pf-c-jump-links__link--OutlineOffset,
30
35
  calc(-1 * var(--pf-global--spacer--sm, 0.5rem)));
36
+ /** Color for jump links link text */
31
37
  color: var(--pf-c-jump-links__link-text--Color,
32
38
  var(--pf-global--Color--200, #6a6e73));
33
39
  }
@@ -65,5 +71,5 @@ a:focus {
65
71
  --pf-c-jump-links__link--before--BorderColor: var(--pf-c-jump-links__item--m-current__link--before--BorderColor,
66
72
  var(--pf-global--primary-color--100, #06c));
67
73
  --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__item--m-current__link-text--Color,
68
- pfvar(--pf-global--Color--100, #151515));
74
+ var(--pf-global--Color--100, #151515));
69
75
  }
@@ -1,12 +1,4 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
- /**
3
- * @cssprop --pf-c-jump-links__link--PaddingTop -- padding around the link
4
- * @cssprop --pf-c-jump-links__link--PaddingRight
5
- * @cssprop --pf-c-jump-links__link--PaddingBottom
6
- * @cssprop --pf-c-jump-links__link--PaddingLeft
7
- * @cssprop --pf-c-jump-links__link--OutlineOffset
8
- * @cssprop --pf-c-jump-links__link-text--Color
9
- */
10
2
  export declare class PfJumpLinksItem extends LitElement {
11
3
  #private;
12
4
  static readonly styles: CSSStyleSheet[];
@@ -6,7 +6,82 @@ import { property } from 'lit/decorators/property.js';
6
6
  import { ifDefined } from 'lit/directives/if-defined.js';
7
7
  import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
8
8
  import { css } from "lit";
9
- const style = css `:host {\n display: block;\n}\n\n#container {\n display: contents;\n}\n\nslot:not([name]) {\n display: flex;\n flex-direction: column;\n row-gap: var(--pf-global--spacer--md, 1rem);\n}\n\na {\n position: relative;\n display: flex;\n cursor: pointer;\n flex: 1;\n padding-block-start: var(--pf-c-jump-links__link--PaddingTop,\n var(--pf-global--spacer--md, 1rem));\n padding-inline-end: var(--pf-c-jump-links__link--PaddingRight,\n var(--pf-global--spacer--md, 1rem));\n padding-block-end: var(--pf-c-jump-links__link--PaddingBottom,\n var(--pf-global--spacer--md, 1rem));\n padding-inline-start: var(--pf-c-jump-links__link--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n text-decoration: none;\n outline-offset: var(--pf-c-jump-links__link--OutlineOffset,\n calc(-1 * var(--pf-global--spacer--sm, 0.5rem)));\n color: var(--pf-c-jump-links__link-text--Color,\n var(--pf-global--Color--200, #6a6e73));\n}\n\na::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: "";\n border-color: var(--pf-c-jump-links__link--before--BorderColor, transparent);\n border-style: solid;\n border-width:\n var(--pf-c-jump-links__link--before--BorderTopWidth,\n var(--pf-c-jump-links__list--before--BorderTopWidth,\n var(--pf-global--BorderWidth--sm, 1px)))\n var(--pf-c-jump-links__link--before--BorderRightWidth, 0)\n var(--pf-c-jump-links__link--before--BorderBottomWidth, 0)\n var(--pf-c-jump-links__link--before--BorderLeftWidth, 0);\n}\n\na:hover {\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--hover__link-text--Color,\n var(--pf-global--Color--100, #151515));\n}\n\na:focus {\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--focus__link-text--Color,\n var(--pf-global--Color--100, #151515));\n}\n\n:host([active]) {\n --pf-c-jump-links__link--before--BorderTopWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderTopWidth,\n var(--pf-global--BorderWidth--lg, 3px));\n --pf-c-jump-links__link--before--BorderLeftWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderLeftWidth, 0);\n --pf-c-jump-links__link--before--BorderColor: var(--pf-c-jump-links__item--m-current__link--before--BorderColor,\n var(--pf-global--primary-color--100, #06c));\n --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__item--m-current__link-text--Color,\n pfvar(--pf-global--Color--100, #151515));\n}\n`;
9
+ const style = css `:host {
10
+ display: block;
11
+ }
12
+
13
+ #container {
14
+ display: contents;
15
+ }
16
+
17
+ slot:not([name]) {
18
+ display: flex;
19
+ flex-direction: column;
20
+ row-gap: var(--pf-global--spacer--md, 1rem);
21
+ }
22
+
23
+ a {
24
+ position: relative;
25
+ display: flex;
26
+ cursor: pointer;
27
+ flex: 1;
28
+ /** Top padding around the link */
29
+ padding-block-start: var(--pf-c-jump-links__link--PaddingTop,
30
+ var(--pf-global--spacer--md, 1rem));
31
+ /** Right padding around the link */
32
+ padding-inline-end: var(--pf-c-jump-links__link--PaddingRight,
33
+ var(--pf-global--spacer--md, 1rem));
34
+ /** Bottom padding around the link */
35
+ padding-block-end: var(--pf-c-jump-links__link--PaddingBottom,
36
+ var(--pf-global--spacer--md, 1rem));
37
+ /** Left padding around the link */
38
+ padding-inline-start: var(--pf-c-jump-links__link--PaddingLeft,
39
+ var(--pf-global--spacer--md, 1rem));
40
+ text-decoration: none;
41
+ /** Outline offset for jump links link */
42
+ outline-offset: var(--pf-c-jump-links__link--OutlineOffset,
43
+ calc(-1 * var(--pf-global--spacer--sm, 0.5rem)));
44
+ /** Color for jump links link text */
45
+ color: var(--pf-c-jump-links__link-text--Color,
46
+ var(--pf-global--Color--200, #6a6e73));
47
+ }
48
+
49
+ a::before {
50
+ position: absolute;
51
+ inset: 0;
52
+ pointer-events: none;
53
+ content: "";
54
+ border-color: var(--pf-c-jump-links__link--before--BorderColor, transparent);
55
+ border-style: solid;
56
+ border-width:
57
+ var(--pf-c-jump-links__link--before--BorderTopWidth,
58
+ var(--pf-c-jump-links__list--before--BorderTopWidth,
59
+ var(--pf-global--BorderWidth--sm, 1px)))
60
+ var(--pf-c-jump-links__link--before--BorderRightWidth, 0)
61
+ var(--pf-c-jump-links__link--before--BorderBottomWidth, 0)
62
+ var(--pf-c-jump-links__link--before--BorderLeftWidth, 0);
63
+ }
64
+
65
+ a:hover {
66
+ --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--hover__link-text--Color,
67
+ var(--pf-global--Color--100, #151515));
68
+ }
69
+
70
+ a:focus {
71
+ --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__link--focus__link-text--Color,
72
+ var(--pf-global--Color--100, #151515));
73
+ }
74
+
75
+ :host([active]) {
76
+ --pf-c-jump-links__link--before--BorderTopWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderTopWidth,
77
+ var(--pf-global--BorderWidth--lg, 3px));
78
+ --pf-c-jump-links__link--before--BorderLeftWidth: var(--pf-c-jump-links__item--m-current__link--before--BorderLeftWidth, 0);
79
+ --pf-c-jump-links__link--before--BorderColor: var(--pf-c-jump-links__item--m-current__link--before--BorderColor,
80
+ var(--pf-global--primary-color--100, #06c));
81
+ --pf-c-jump-links__link-text--Color: var(--pf-c-jump-links__item--m-current__link-text--Color,
82
+ var(--pf-global--Color--100, #151515));
83
+ }
84
+ `;
10
85
  import { observes } from '@patternfly/pfe-core/decorators/observes.js';
11
86
  let PfJumpLinksItem = class PfJumpLinksItem extends LitElement {
12
87
  constructor() {
@@ -43,7 +118,7 @@ PfJumpLinksItem.shadowRootOptions = {
43
118
  ...LitElement.shadowRootOptions,
44
119
  delegatesFocus: true,
45
120
  };
46
- PfJumpLinksItem.version = "4.1.0";
121
+ PfJumpLinksItem.version = "4.2.0";
47
122
  __decorate([
48
123
  property({ type: Boolean, reflect: true })
49
124
  ], PfJumpLinksItem.prototype, "active", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-jump-links-item.js","sourceRoot":"","sources":["pf-jump-links-item.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;;;AAI/F,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAWhE,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;;QAQL,mCAAmC;QACS,WAAM,GAAG,KAAK,CAAC;QAK3D,qCAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAC;;IAEhE,MAAM;QACJ,OAAO,IAAI,CAAA;iBACE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,uBAAA,IAAI,4DAAS;mBACb,uBAAA,IAAI,4DAAS;;;;KAI3B,CAAC;IACJ,CAAC;IAGS,aAAa;QACrB,uBAAA,IAAI,kCAAW,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;;;;;IAGC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;;IAGC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AArCe,sBAAM,GAAoB,CAAC,KAAK,CAAC,AAA3B,CAA4B;AAEzB,iCAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAG0C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CAAgB;AAG9B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAe;AAgBjC;IADT,QAAQ,CAAC,QAAQ,CAAC;oDAGlB;AA9BU,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport style from './pf-jump-links-item.css';\n\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\n/**\n * @cssprop --pf-c-jump-links__link--PaddingTop -- padding around the link\n * @cssprop --pf-c-jump-links__link--PaddingRight\n * @cssprop --pf-c-jump-links__link--PaddingBottom\n * @cssprop --pf-c-jump-links__link--PaddingLeft\n * @cssprop --pf-c-jump-links__link--OutlineOffset\n * @cssprop --pf-c-jump-links__link-text--Color\n */\n@customElement('pf-jump-links-item')\nexport class PfJumpLinksItem extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Whether this item is active. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** hypertext reference for this link */\n @property({ reflect: true }) href?: string;\n\n #internals = InternalsController.of(this, { role: 'listitem' });\n\n render(): TemplateResult<1> {\n return html`\n <a href=\"${ifDefined(this.href)}\"\n @focus=\"${this.#onFocus}\"\n @click=\"${this.#onClick}\">\n <slot></slot>\n </a>\n <slot name=\"subsection\"></slot>\n `;\n }\n\n @observes('active')\n protected activeChanged(): void {\n this.#internals.ariaCurrent = this.active ? 'location' : null;\n }\n\n #onClick() {\n this.dispatchEvent(new Event('select', { bubbles: true }));\n }\n\n #onFocus() {\n this.dispatchEvent(new Event('focus', { bubbles: true }));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links-item': PfJumpLinksItem;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-jump-links-item.js","sourceRoot":"","sources":["pf-jump-links-item.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI/F,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGhE,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;;QAQL,mCAAmC;QACS,WAAM,GAAG,KAAK,CAAC;QAK3D,qCAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAC;;IAEhE,MAAM;QACJ,OAAO,IAAI,CAAA;iBACE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,uBAAA,IAAI,4DAAS;mBACb,uBAAA,IAAI,4DAAS;;;;KAI3B,CAAC;IACJ,CAAC;IAGS,aAAa;QACrB,uBAAA,IAAI,kCAAW,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;;;;;IAGC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;;IAGC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AArCe,sBAAM,GAAoB,CAAC,KAAK,CAAC,AAA3B,CAA4B;AAEzB,iCAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAG0C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CAAgB;AAG9B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAe;AAgBjC;IADT,QAAQ,CAAC,QAAQ,CAAC;oDAGlB;AA9BU,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport style from './pf-jump-links-item.css';\n\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\n@customElement('pf-jump-links-item')\nexport class PfJumpLinksItem extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Whether this item is active. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** hypertext reference for this link */\n @property({ reflect: true }) href?: string;\n\n #internals = InternalsController.of(this, { role: 'listitem' });\n\n render(): TemplateResult<1> {\n return html`\n <a href=\"${ifDefined(this.href)}\"\n @focus=\"${this.#onFocus}\"\n @click=\"${this.#onClick}\">\n <slot></slot>\n </a>\n <slot name=\"subsection\"></slot>\n `;\n }\n\n @observes('active')\n protected activeChanged(): void {\n this.#internals.ariaCurrent = this.active ? 'location' : null;\n }\n\n #onClick() {\n this.dispatchEvent(new Event('select', { bubbles: true }));\n }\n\n #onFocus() {\n this.dispatchEvent(new Event('focus', { bubbles: true }));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links-item': PfJumpLinksItem;\n }\n}\n"]}
@@ -6,10 +6,13 @@
6
6
  display: contents;
7
7
  --pf-c-jump-links__list--PaddingTop: 0;
8
8
  --pf-c-jump-links__list--PaddingBottom: 0;
9
+ /** Top padding around each link */
9
10
  --pf-c-jump-links__link--PaddingTop: var(--pf-c-jump-links__list__list__link--PaddingTop,
10
11
  var(--pf-global--spacer--sm, 0.5rem));
12
+ /** Bottom padding around each link */
11
13
  --pf-c-jump-links__link--PaddingBottom: var(--pf-c-jump-links__list__list__link--PaddingBottom,
12
14
  var(--pf-global--spacer--sm, 0.5rem));
15
+ /** Left padding around each link */
13
16
  --pf-c-jump-links__link--PaddingLeft: var(--pf-c-jump-links__list__list__link--PaddingLeft,
14
17
  var(--pf-global--spacer--lg, 1.5rem));
15
18
  }
@@ -1,9 +1,4 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
- /**
3
- * @cssprop --pf-c-jump-links__list__list__link--PaddingTop -- padding around each link
4
- * @cssprop --pf-c-jump-links__list__list__link--PaddingBottom
5
- * @cssprop --pf-c-jump-links__list__list__link--PaddingLeft
6
- */
7
2
  export declare class PfJumpLinksList extends LitElement {
8
3
  static readonly styles: CSSStyleSheet[];
9
4
  render(): TemplateResult<1>;
@@ -2,7 +2,25 @@ import { __decorate } from "tslib";
2
2
  import { html, LitElement } from 'lit';
3
3
  import { customElement } from 'lit/decorators/custom-element.js';
4
4
  import { css } from "lit";
5
- const style = css `:host {\n display: block;\n}\n\n#container {\n display: contents;\n --pf-c-jump-links__list--PaddingTop: 0;\n --pf-c-jump-links__list--PaddingBottom: 0;\n --pf-c-jump-links__link--PaddingTop: var(--pf-c-jump-links__list__list__link--PaddingTop,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-jump-links__link--PaddingBottom: var(--pf-c-jump-links__list__list__link--PaddingBottom,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-jump-links__link--PaddingLeft: var(--pf-c-jump-links__list__list__link--PaddingLeft,\n var(--pf-global--spacer--lg, 1.5rem));\n}\n`;
5
+ const style = css `:host {
6
+ display: block;
7
+ }
8
+
9
+ #container {
10
+ display: contents;
11
+ --pf-c-jump-links__list--PaddingTop: 0;
12
+ --pf-c-jump-links__list--PaddingBottom: 0;
13
+ /** Top padding around each link */
14
+ --pf-c-jump-links__link--PaddingTop: var(--pf-c-jump-links__list__list__link--PaddingTop,
15
+ var(--pf-global--spacer--sm, 0.5rem));
16
+ /** Bottom padding around each link */
17
+ --pf-c-jump-links__link--PaddingBottom: var(--pf-c-jump-links__list__list__link--PaddingBottom,
18
+ var(--pf-global--spacer--sm, 0.5rem));
19
+ /** Left padding around each link */
20
+ --pf-c-jump-links__link--PaddingLeft: var(--pf-c-jump-links__list__list__link--PaddingLeft,
21
+ var(--pf-global--spacer--lg, 1.5rem));
22
+ }
23
+ `;
6
24
  let PfJumpLinksList = class PfJumpLinksList extends LitElement {
7
25
  render() {
8
26
  // TODO: add label
@@ -11,7 +29,7 @@ let PfJumpLinksList = class PfJumpLinksList extends LitElement {
11
29
  }
12
30
  };
13
31
  PfJumpLinksList.styles = [style];
14
- PfJumpLinksList.version = "4.1.0";
32
+ PfJumpLinksList.version = "4.2.0";
15
33
  PfJumpLinksList = __decorate([
16
34
  customElement('pf-jump-links-list')
17
35
  ], PfJumpLinksList);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-jump-links-list.js","sourceRoot":"","sources":["pf-jump-links-list.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAU1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAG7C,MAAM;QACJ,kBAAkB;QAClB,oDAAoD;QACpD,OAAO,IAAI,CAAA,wDAAwD,CAAC;IACtE,CAAC;;AANe,sBAAM,GAAoB,CAAC,KAAK,CAAC,AAA3B,CAA4B;;AADvC,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport style from './pf-jump-links-list.css';\n\n/**\n * @cssprop --pf-c-jump-links__list__list__link--PaddingTop -- padding around each link\n * @cssprop --pf-c-jump-links__list__list__link--PaddingBottom\n * @cssprop --pf-c-jump-links__list__list__link--PaddingLeft\n */\n@customElement('pf-jump-links-list')\nexport class PfJumpLinksList extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n render(): TemplateResult<1> {\n // TODO: add label\n // eslint-disable-next-line lit-a11y/accessible-name\n return html`<div id=\"container\" role=\"listbox\"><slot></slot></div>`;\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links-list': PfJumpLinksList;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-jump-links-list.js","sourceRoot":"","sources":["pf-jump-links-list.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;AAK1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAG7C,MAAM;QACJ,kBAAkB;QAClB,oDAAoD;QACpD,OAAO,IAAI,CAAA,wDAAwD,CAAC;IACtE,CAAC;;AANe,sBAAM,GAAoB,CAAC,KAAK,CAAC,AAA3B,CAA4B;;AADvC,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport style from './pf-jump-links-list.css';\n\n@customElement('pf-jump-links-list')\nexport class PfJumpLinksList extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n render(): TemplateResult<1> {\n // TODO: add label\n // eslint-disable-next-line lit-a11y/accessible-name\n return html`<div id=\"container\" role=\"listbox\"><slot></slot></div>`;\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links-list': PfJumpLinksList;\n }\n}\n"]}
@@ -16,14 +16,21 @@
16
16
 
17
17
  slot {
18
18
  position: relative;
19
+ /** Controls the display type of the list container */
19
20
  display: var(--pf-c-jump-links__list--Display, flex);
21
+ /** Controls the direction of items in the list */
20
22
  flex-direction: var(--pf-c-jump-links__list--FlexDirection, row);
23
+ /** Padding around the list of links */
21
24
  padding-block-start: var(--pf-c-jump-links__list--PaddingTop, 0);
25
+ /** Right padding for the list */
22
26
  padding-inline-end: var(--pf-c-jump-links__list--PaddingRight,
23
27
  var(--pf-global--spacer--md, 1rem));
28
+ /** Bottom padding for the list */
24
29
  padding-block-end: var(--pf-c-jump-links__list--PaddingBottom, 0);
30
+ /** Left padding for the list */
25
31
  padding-inline-start: var(--pf-c-jump-links__list--PaddingLeft,
26
32
  var(--pf-global--spacer--md, 1rem));
33
+ /** Controls visibility of the list */
27
34
  visibility: var(--pf-c-jump-links__list--Visibility, visible);
28
35
  }
29
36
 
@@ -35,40 +42,54 @@ slot::before {
35
42
  left: 0;
36
43
  pointer-events: none;
37
44
  content: "";
45
+ /** Border color for the list pseudo-element */
38
46
  border: solid var(--pf-c-jump-links__list--before--BorderColor,
39
47
  var(--pf-global--BorderColor--100, #d2d2d2));
40
48
  border-width:
49
+ /** Top border width for the list pseudo-element */
41
50
  var(--pf-c-jump-links__list--before--BorderTopWidth,
42
51
  var(--pf-global--BorderWidth--sm, 1px))
52
+ /** Right border width for the list pseudo-element */
43
53
  var(--pf-c-jump-links__list--before--BorderRightWidth, 0)
54
+ /** Bottom border width for the list pseudo-element */
44
55
  var(--pf-c-jump-links__list--before--BorderBottomWidth, 0)
56
+ /** Left border width for the list pseudo-element */
45
57
  var(--pf-c-jump-links__list--before--BorderLeftWidth, 0);
46
58
  }
47
59
 
48
60
  :host([vertical]) #container {
61
+ /** Top padding for vertical layout */
49
62
  --pf-c-jump-links__list--PaddingTop:
50
63
  var(--pf-c-jump-links--m-vertical__list--PaddingTop,
51
64
  var(--pf-global--spacer--md, 1rem)
52
65
  );
66
+ /** Right padding for vertical layout */
53
67
  --pf-c-jump-links__list--PaddingRight:
54
68
  var(--pf-c-jump-links--m-vertical__list--PaddingRight,0);
69
+ /** Bottom padding for vertical layout */
55
70
  --pf-c-jump-links__list--PaddingBottom:
56
71
  var(--pf-c-jump-links--m-vertical__list--PaddingBottom,
57
72
  var(--pf-global--spacer--md, 1rem)
58
73
  );
74
+ /** Left padding for vertical layout */
59
75
  --pf-c-jump-links__list--PaddingLeft:
60
76
  var(--pf-c-jump-links--m-vertical__list--PaddingLeft, 0);
77
+ /** Top border width for vertical layout */
61
78
  --pf-c-jump-links__list--before--BorderTopWidth:
62
79
  var(--pf-c-jump-links--m-vertical__list--before--BorderTopWidth, 0);
80
+ /** Left border width for vertical layout */
63
81
  --pf-c-jump-links__list--before--BorderLeftWidth:
64
82
  var(--pf-c-jump-links--m-vertical__list--before--BorderLeftWidth,
65
83
  var(--pf-global--BorderWidth--sm, 1px));
84
+ /** Top border width for current item in vertical layout */
66
85
  --pf-c-jump-links__item--m-current__link--before--BorderTopWidth:
67
86
  var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth, 0);
87
+ /** Left border width for current item in vertical layout */
68
88
  --pf-c-jump-links__item--m-current__link--before--BorderLeftWidth:
69
89
  var(--pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth,
70
90
  var(--pf-global--BorderWidth--lg, 3px)
71
91
  );
92
+ /** Flex direction for vertical layout */
72
93
  --pf-c-jump-links__list--FlexDirection: var(--pf-c-jump-links--m-vertical__list--FlexDirection, column);
73
94
  }
74
95
 
@@ -88,6 +109,7 @@ slot::before {
88
109
  }
89
110
 
90
111
  :host([expandable]) {
112
+ /** Base margin for the toggle button */
91
113
  --pf-c-jump-links--m-expanded__toggle--MarginBottom:
92
114
  calc(var(--pf-c-jump-links__toggle--MarginBottom--base,
93
115
  calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))
@@ -96,43 +118,57 @@ slot::before {
96
118
 
97
119
  summary {
98
120
  display: block;
121
+ /** Padding around the expandable jump links disclosure widget. */
99
122
  margin-block-start: var(--pf-c-jump-links__toggle--MarginTop,
100
123
  calc(-1 * var(--pf-global--spacer--form-element, 0.375rem)));
124
+ /** Bottom margin for the toggle */
101
125
  margin-block-end: var(--pf-c-jump-links__toggle--MarginBottom,
102
126
  var(--pf-c-jump-links__toggle--MarginBottom--base,
103
127
  calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))));
128
+ /** Left margin for the toggle */
104
129
  margin-inline-start: var(--pf-c-jump-links__toggle--MarginLeft);
130
+ /** Color of the toggle text */
105
131
  color: var(--pf-c-jump-links__toggle-text--Color,
106
132
  var(--pf-global--Color--100, #151515));
133
+ /** Padding around the expandable jump links disclosure widget. */
107
134
  padding:
108
135
  var(--pf-c-button--PaddingTop,
109
136
  var(--pf-global--spacer--form-element, 0.375rem))
137
+ /** Right padding for the button */
110
138
  var(--pf-c-button--PaddingRight,
111
139
  var(--pf-global--spacer--md, 1rem))
140
+ /** Bottom padding for the button */
112
141
  var(--pf-c-button--PaddingBottom,
113
142
  var(--pf-global--spacer--form-element, 0.375rem))
143
+ /** Left padding for the button */
114
144
  var(--pf-c-button--PaddingLeft,
115
145
  var(--pf-global--spacer--md, 1rem));
116
146
  }
117
147
 
118
148
  summary pf-icon {
149
+ /** Rotation angle for the toggle icon */
119
150
  rotate: var(--pf-c-jump-links__toggle-icon--Rotate, 0);
151
+ /** Transition for the toggle icon */
120
152
  transition: var(--pf-c-jump-links__toggle-icon--Transition,
121
153
  var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1)));
122
154
  }
123
155
 
124
156
  summary span {
157
+ /** Left margin for the toggle text */
125
158
  margin-inline-start: var(--pf-c-jump-links__toggle-text--MarginLeft,
126
159
  var(--pf-global--spacer--md, 1rem));
127
160
  }
128
161
 
129
162
  :host([expanded]) #container {
163
+ /** Bottom margin for expanded toggle */
130
164
  --pf-c-jump-links__toggle--MarginBottom: var(--pf-c-jump-links--m-expanded__toggle--MarginBottom,
131
165
  calc(var(--pf-c-jump-links__toggle--MarginBottom--base,
132
166
  calc(-1 * var(--pf-global--spacer--form-element, 0.375rem))) +
133
167
  var(--pf-global--spacer--md, 1rem)));
168
+ /** Rotation for expanded toggle icon */
134
169
  --pf-c-jump-links__toggle-icon--Rotate: var(--pf-c-jump-links--m-expanded__toggle-icon--Rotate,
135
170
  90deg);
171
+ /** Color for expanded toggle icon */
136
172
  --pf-c-jump-links__toggle-icon--Color: var(--pf-c-jump-links--m-expanded__toggle-icon--Color,
137
173
  var(--pf-global--Color--100, #151515));
138
174
  --pf-c-jump-links__toggle-icon--Rotate: 90deg;
@@ -2,45 +2,8 @@ import { LitElement, type TemplateResult } from 'lit';
2
2
  import '@patternfly/elements/pf-icon/pf-icon.js';
3
3
  /**
4
4
  * **Jump links** allow users to navigate to sections within a page.
5
+ * @alias Jump Links
5
6
  * @fires toggle - when the `expanded` disclosure widget is toggled
6
- * @slot - Place pf-jump-links-items here
7
- * @cssprop --pf-c-jump-links__list--Display
8
- * @cssprop --pf-c-jump-links__list--FlexDirection
9
- * @cssprop --pf-c-jump-links__list--PaddingTop -- padding around the list of links
10
- * @cssprop --pf-c-jump-links__list--PaddingRight
11
- * @cssprop --pf-c-jump-links__list--PaddingBottom
12
- * @cssprop --pf-c-jump-links__list--PaddingLeft
13
- * @cssprop --pf-c-jump-links__list--Visibility
14
- * @cssprop --pf-c-jump-links__list--before--BorderColor
15
- * @cssprop --pf-c-jump-links__list--before--BorderTopWidth
16
- * @cssprop --pf-c-jump-links__list--before--BorderRightWidth
17
- * @cssprop --pf-c-jump-links__list--before--BorderBottomWidth
18
- * @cssprop --pf-c-jump-links__list--before--BorderLeftWidth
19
- * @cssprop --pf-c-jump-links__toggle--MarginBottom--base
20
- * @cssprop --pf-c-jump-links__toggle--MarginTop -- padding around the expandable jump links disclosure widget.
21
- * @cssprop --pf-c-jump-links__toggle--MarginBottom
22
- * @cssprop --pf-c-jump-links__toggle--MarginBottom--base
23
- * @cssprop --pf-c-jump-links__toggle--MarginLeft
24
- * @cssprop --pf-c-jump-links__toggle-text--Color
25
- * @cssprop --pf-c-button--PaddingTop -- padding around the expandable jump links disclosure widget.
26
- * @cssprop --pf-c-button--PaddingRight
27
- * @cssprop --pf-c-button--PaddingBottom
28
- * @cssprop --pf-c-button--PaddingLeft
29
- * @cssprop --pf-c-jump-links__toggle-icon--Rotate
30
- * @cssprop --pf-c-jump-links__toggle-icon--Transition
31
- * @cssprop --pf-c-jump-links__toggle-text--MarginLeft
32
- * @cssprop --pf-c-jump-links--m-expanded__toggle--MarginBottom
33
- * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Rotate
34
- * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Color
35
- * @cssprop --pf-c-jump-links--m-vertical__list--PaddingTop
36
- * @cssprop --pf-c-jump-links--m-vertical__list--PaddingRight
37
- * @cssprop --pf-c-jump-links--m-vertical__list--PaddingBottom
38
- * @cssprop --pf-c-jump-links--m-vertical__list--PaddingLeft
39
- * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderTopWidth
40
- * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderLeftWidth
41
- * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth
42
- * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth
43
- * @cssprop --pf-c-jump-links--m-vertical__list--FlexDirection
44
7
  */
45
8
  export declare class PfJumpLinks extends LitElement {
46
9
  #private;