@patternfly/elements 4.0.2 → 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 (295) hide show
  1. package/custom-elements.json +13680 -12603
  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 +91 -4
  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-card/test/pf-card.e2e.js +20 -1
  44. package/pf-card/test/pf-card.e2e.js.map +1 -1
  45. package/pf-chip/pf-chip-group.css +15 -0
  46. package/pf-chip/pf-chip-group.d.ts +0 -15
  47. package/pf-chip/pf-chip-group.js +111 -2
  48. package/pf-chip/pf-chip-group.js.map +1 -1
  49. package/pf-chip/pf-chip.css +30 -1
  50. package/pf-chip/pf-chip.d.ts +1 -20
  51. package/pf-chip/pf-chip.js +135 -2
  52. package/pf-chip/pf-chip.js.map +1 -1
  53. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  54. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  55. package/pf-clipboard-copy/pf-clipboard-copy.js +323 -6
  56. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  57. package/pf-code-block/pf-code-block.css +11 -1
  58. package/pf-code-block/pf-code-block.js +70 -18
  59. package/pf-code-block/pf-code-block.js.map +1 -1
  60. package/pf-dropdown/pf-dropdown-group.js +40 -2
  61. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  62. package/pf-dropdown/pf-dropdown-item.css +10 -0
  63. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  64. package/pf-dropdown/pf-dropdown-item.js +155 -2
  65. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  66. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  67. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  68. package/pf-dropdown/pf-dropdown.css +5 -0
  69. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  70. package/pf-dropdown/pf-dropdown.js +350 -2
  71. package/pf-dropdown/pf-dropdown.js.map +1 -1
  72. package/pf-icon/pf-icon.css +1 -0
  73. package/pf-icon/pf-icon.d.ts +1 -3
  74. package/pf-icon/pf-icon.js +44 -4
  75. package/pf-icon/pf-icon.js.map +1 -1
  76. package/pf-jump-links/pf-jump-links-item.css +7 -1
  77. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  78. package/pf-jump-links/pf-jump-links-item.js +77 -2
  79. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  80. package/pf-jump-links/pf-jump-links-list.css +3 -0
  81. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  82. package/pf-jump-links/pf-jump-links-list.js +20 -2
  83. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  84. package/pf-jump-links/pf-jump-links.css +36 -0
  85. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  86. package/pf-jump-links/pf-jump-links.js +179 -2
  87. package/pf-jump-links/pf-jump-links.js.map +1 -1
  88. package/pf-label/pf-label.css +51 -1
  89. package/pf-label/pf-label.d.ts +1 -58
  90. package/pf-label/pf-label.js +257 -2
  91. package/pf-label/pf-label.js.map +1 -1
  92. package/pf-modal/pf-modal.css +11 -0
  93. package/pf-modal/pf-modal.d.ts +1 -24
  94. package/pf-modal/pf-modal.js +215 -2
  95. package/pf-modal/pf-modal.js.map +1 -1
  96. package/pf-panel/pf-panel.css +29 -0
  97. package/pf-panel/pf-panel.d.ts +1 -32
  98. package/pf-panel/pf-panel.js +204 -2
  99. package/pf-panel/pf-panel.js.map +1 -1
  100. package/pf-popover/pf-popover.css +33 -0
  101. package/pf-popover/pf-popover.d.ts +1 -108
  102. package/pf-popover/pf-popover.js +251 -3
  103. package/pf-popover/pf-popover.js.map +1 -1
  104. package/pf-progress/pf-progress.css +19 -0
  105. package/pf-progress/pf-progress.d.ts +1 -57
  106. package/pf-progress/pf-progress.js +231 -2
  107. package/pf-progress/pf-progress.js.map +1 -1
  108. package/pf-progress-stepper/pf-progress-step.js +126 -2
  109. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  110. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  111. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  112. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  113. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  114. package/pf-search-input/pf-search-input.css +308 -0
  115. package/pf-search-input/pf-search-input.d.ts +75 -0
  116. package/pf-search-input/pf-search-input.js +630 -0
  117. package/pf-search-input/pf-search-input.js.map +1 -0
  118. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  119. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  120. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  121. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  122. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  123. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  124. package/pf-select/pf-option-group.js +27 -2
  125. package/pf-select/pf-option-group.js.map +1 -1
  126. package/pf-select/pf-option.css +9 -1
  127. package/pf-select/pf-option.js +83 -2
  128. package/pf-select/pf-option.js.map +1 -1
  129. package/pf-select/pf-select.css +157 -0
  130. package/pf-select/pf-select.d.ts +1 -158
  131. package/pf-select/pf-select.js +542 -5
  132. package/pf-select/pf-select.js.map +1 -1
  133. package/pf-spinner/pf-spinner.css +13 -0
  134. package/pf-spinner/pf-spinner.d.ts +1 -14
  135. package/pf-spinner/pf-spinner.js +101 -2
  136. package/pf-spinner/pf-spinner.js.map +1 -1
  137. package/pf-switch/pf-switch.css +22 -0
  138. package/pf-switch/pf-switch.d.ts +1 -30
  139. package/pf-switch/pf-switch.js +156 -2
  140. package/pf-switch/pf-switch.js.map +1 -1
  141. package/pf-table/context.d.ts +3 -0
  142. package/pf-table/context.js +3 -0
  143. package/pf-table/context.js.map +1 -0
  144. package/pf-table/pf-caption.js +10 -2
  145. package/pf-table/pf-caption.js.map +1 -1
  146. package/pf-table/pf-table.css +211 -0
  147. package/pf-table/pf-table.d.ts +2 -635
  148. package/pf-table/pf-table.js +445 -4
  149. package/pf-table/pf-table.js.map +1 -1
  150. package/pf-table/pf-tbody.js +18 -2
  151. package/pf-table/pf-tbody.js.map +1 -1
  152. package/pf-table/pf-td.js +107 -2
  153. package/pf-table/pf-td.js.map +1 -1
  154. package/pf-table/pf-th.d.ts +1 -0
  155. package/pf-table/pf-th.js +102 -7
  156. package/pf-table/pf-th.js.map +1 -1
  157. package/pf-table/pf-thead.d.ts +1 -0
  158. package/pf-table/pf-thead.js +26 -2
  159. package/pf-table/pf-thead.js.map +1 -1
  160. package/pf-table/pf-tr.js +89 -2
  161. package/pf-table/pf-tr.js.map +1 -1
  162. package/pf-tabs/pf-tab-panel.css +1 -0
  163. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  164. package/pf-tabs/pf-tab-panel.js +19 -3
  165. package/pf-tabs/pf-tab-panel.js.map +1 -1
  166. package/pf-tabs/pf-tab.css +33 -0
  167. package/pf-tabs/pf-tab.d.ts +1 -41
  168. package/pf-tabs/pf-tab.js +234 -4
  169. package/pf-tabs/pf-tab.js.map +1 -1
  170. package/pf-tabs/pf-tabs.css +26 -0
  171. package/pf-tabs/pf-tabs.d.ts +1 -34
  172. package/pf-tabs/pf-tabs.js +307 -2
  173. package/pf-tabs/pf-tabs.js.map +1 -1
  174. package/pf-tabs/test/pf-tabs.spec.js +9 -0
  175. package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
  176. package/pf-text-area/pf-text-area.css +125 -0
  177. package/pf-text-area/pf-text-area.d.ts +1 -125
  178. package/pf-text-area/pf-text-area.js +320 -2
  179. package/pf-text-area/pf-text-area.js.map +1 -1
  180. package/pf-text-input/pf-text-input.css +126 -0
  181. package/pf-text-input/pf-text-input.d.ts +1 -126
  182. package/pf-text-input/pf-text-input.js +395 -2
  183. package/pf-text-input/pf-text-input.js.map +1 -1
  184. package/pf-tile/pf-tile.css +28 -8
  185. package/pf-tile/pf-tile.d.ts +1 -24
  186. package/pf-tile/pf-tile.js +156 -2
  187. package/pf-tile/pf-tile.js.map +1 -1
  188. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  189. package/pf-timestamp/pf-timestamp.js +10 -2
  190. package/pf-timestamp/pf-timestamp.js.map +1 -1
  191. package/pf-tooltip/pf-tooltip.css +10 -0
  192. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  193. package/pf-tooltip/pf-tooltip.js +115 -5
  194. package/pf-tooltip/pf-tooltip.js.map +1 -1
  195. package/pfe.min.js +0 -7439
  196. package/pfe.min.js.LEGAL.txt +0 -57
  197. package/pfe.min.js.map +0 -7
  198. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  199. package/react/pf-accordion/pf-accordion-header.js +0 -12
  200. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  201. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  202. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  203. package/react/pf-accordion/pf-accordion.js +0 -13
  204. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  205. package/react/pf-avatar/pf-avatar.js +0 -12
  206. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  207. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  208. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  209. package/react/pf-background-image/pf-background-image.js +0 -10
  210. package/react/pf-badge/pf-badge.d.ts +0 -5
  211. package/react/pf-badge/pf-badge.js +0 -10
  212. package/react/pf-banner/pf-banner.d.ts +0 -5
  213. package/react/pf-banner/pf-banner.js +0 -10
  214. package/react/pf-button/pf-button.d.ts +0 -5
  215. package/react/pf-button/pf-button.js +0 -12
  216. package/react/pf-card/pf-card.d.ts +0 -5
  217. package/react/pf-card/pf-card.js +0 -10
  218. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  219. package/react/pf-chip/pf-chip-group.js +0 -13
  220. package/react/pf-chip/pf-chip.d.ts +0 -5
  221. package/react/pf-chip/pf-chip.js +0 -13
  222. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  223. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  224. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  225. package/react/pf-code-block/pf-code-block.js +0 -10
  226. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  227. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  228. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  229. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  230. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  231. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  232. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  233. package/react/pf-dropdown/pf-dropdown.js +0 -14
  234. package/react/pf-icon/pf-icon.d.ts +0 -5
  235. package/react/pf-icon/pf-icon.js +0 -13
  236. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  237. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  238. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  239. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  240. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  241. package/react/pf-jump-links/pf-jump-links.js +0 -12
  242. package/react/pf-label/pf-label.d.ts +0 -5
  243. package/react/pf-label/pf-label.js +0 -12
  244. package/react/pf-modal/pf-modal.d.ts +0 -5
  245. package/react/pf-modal/pf-modal.js +0 -13
  246. package/react/pf-panel/pf-panel.d.ts +0 -5
  247. package/react/pf-panel/pf-panel.js +0 -10
  248. package/react/pf-popover/pf-popover.d.ts +0 -5
  249. package/react/pf-popover/pf-popover.js +0 -10
  250. package/react/pf-progress/pf-progress.d.ts +0 -5
  251. package/react/pf-progress/pf-progress.js +0 -10
  252. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  253. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  254. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  255. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  256. package/react/pf-select/pf-option-group.d.ts +0 -5
  257. package/react/pf-select/pf-option-group.js +0 -10
  258. package/react/pf-select/pf-option.d.ts +0 -5
  259. package/react/pf-select/pf-option.js +0 -10
  260. package/react/pf-select/pf-select.d.ts +0 -5
  261. package/react/pf-select/pf-select.js +0 -13
  262. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  263. package/react/pf-spinner/pf-spinner.js +0 -10
  264. package/react/pf-switch/pf-switch.d.ts +0 -5
  265. package/react/pf-switch/pf-switch.js +0 -12
  266. package/react/pf-table/pf-caption.d.ts +0 -5
  267. package/react/pf-table/pf-caption.js +0 -10
  268. package/react/pf-table/pf-table.d.ts +0 -5
  269. package/react/pf-table/pf-table.js +0 -10
  270. package/react/pf-table/pf-tbody.d.ts +0 -5
  271. package/react/pf-table/pf-tbody.js +0 -10
  272. package/react/pf-table/pf-td.d.ts +0 -5
  273. package/react/pf-table/pf-td.js +0 -10
  274. package/react/pf-table/pf-th.d.ts +0 -5
  275. package/react/pf-table/pf-th.js +0 -10
  276. package/react/pf-table/pf-thead.d.ts +0 -5
  277. package/react/pf-table/pf-thead.js +0 -10
  278. package/react/pf-table/pf-tr.d.ts +0 -5
  279. package/react/pf-table/pf-tr.js +0 -10
  280. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  281. package/react/pf-tabs/pf-tab-panel.js +0 -10
  282. package/react/pf-tabs/pf-tab.d.ts +0 -5
  283. package/react/pf-tabs/pf-tab.js +0 -12
  284. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  285. package/react/pf-tabs/pf-tabs.js +0 -10
  286. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  287. package/react/pf-text-area/pf-text-area.js +0 -10
  288. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  289. package/react/pf-text-input/pf-text-input.js +0 -10
  290. package/react/pf-tile/pf-tile.d.ts +0 -5
  291. package/react/pf-tile/pf-tile.js +0 -10
  292. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  293. package/react/pf-timestamp/pf-timestamp.js +0 -10
  294. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  295. package/react/pf-tooltip/pf-tooltip.js +0 -10
package/pf-table/pf-tr.js CHANGED
@@ -4,7 +4,94 @@ import { LitElement, html } from 'lit';
4
4
  import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { property } from 'lit/decorators/property.js';
6
6
  import { css } from "lit";
7
- const styles = css `:host {\n display: grid;\n align-items: center;\n padding-inline-start: calc(50px * var(--_pf-table--expandable-rows, 0));\n}\n\n::slotted(*) {\n height: 100%;\n}\n\n@media (min-width: 768px) {\n :host {\n /* TODO: provide ability to override */\n grid-template-columns: repeat(var(--_pf-table--number-of-columns), 1fr);\n }\n}\n\n#container {\n display: contents;\n}\n\n:host([expandable]),\n#expansion {\n position: relative;\n}\n\n#expansion {\n display: block;\n margin-inline-start: calc(-1 * 50px * var(--_pf-table--expandable-rows, 0));\n grid-auto-flow: row;\n grid-template-columns: auto;\n padding: 0px 1.5rem;\n display: grid;\n grid-column: 1/-1;\n}\n\n:host(:not([expanded])),\n:host([expanded]) #expansion {\n border-block-end: 1px solid #d2d2d2;\n}\n\n:host([expanded]) #expansion::before {\n content: '';\n position: absolute;\n inset: 0;\n border-block-start: 1px solid #d2d2d2;\n inset-block-start: -1px;\n}\n\n\n#expansion::slotted(pf-td) {\n padding-block-start: 0;\n padding-inline-start: 0;\n}\n\n:host([expandable][expanded])::before {\n position: absolute;\n inset-block-start: -1px;\n inset-inline-end: 0;\n inset-block-end: -1px;\n inset-inline-start: 0;\n content: "";\n border-inline-start: 3px solid #06c;\n pointer-events: none;\n z-index: 1;\n}\n\n#expansion::slotted(pf-table) {\n margin-block-end: -1px;\n}\n\n#toggle-cell {\n z-index: 2;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 1.5rem;\n padding: 0;\n}\n\n#toggle-icon {\n transition: .2s ease-in 0s;\n vertical-align: -0.125em;\n}\n\n:host([expanded]) #toggle-icon {\n transform: rotate(90deg);\n}\n`;
7
+ const styles = css `:host {
8
+ display: grid;
9
+ align-items: center;
10
+ padding-inline-start: calc(50px * var(--_pf-table--expandable-rows, 0));
11
+ }
12
+
13
+ ::slotted(*) {
14
+ height: 100%;
15
+ }
16
+
17
+ @media (min-width: 768px) {
18
+ :host {
19
+ /* TODO: provide ability to override */
20
+ grid-template-columns: repeat(var(--_pf-table--number-of-columns), 1fr);
21
+ }
22
+ }
23
+
24
+ #container {
25
+ display: contents;
26
+ }
27
+
28
+ :host([expandable]),
29
+ #expansion {
30
+ position: relative;
31
+ }
32
+
33
+ #expansion {
34
+ display: block;
35
+ margin-inline-start: calc(-1 * 50px * var(--_pf-table--expandable-rows, 0));
36
+ grid-auto-flow: row;
37
+ grid-template-columns: auto;
38
+ padding: 0px 1.5rem;
39
+ display: grid;
40
+ grid-column: 1/-1;
41
+ }
42
+
43
+ :host(:not([expanded])),
44
+ :host([expanded]) #expansion {
45
+ border-block-end: 1px solid #d2d2d2;
46
+ }
47
+
48
+ :host([expanded]) #expansion::before {
49
+ content: '';
50
+ position: absolute;
51
+ inset: 0;
52
+ border-block-start: 1px solid #d2d2d2;
53
+ inset-block-start: -1px;
54
+ }
55
+
56
+
57
+ #expansion::slotted(pf-td) {
58
+ padding-block-start: 0;
59
+ padding-inline-start: 0;
60
+ }
61
+
62
+ :host([expandable][expanded])::before {
63
+ position: absolute;
64
+ inset-block-start: -1px;
65
+ inset-inline-end: 0;
66
+ inset-block-end: -1px;
67
+ inset-inline-start: 0;
68
+ content: "";
69
+ border-inline-start: 3px solid #06c;
70
+ pointer-events: none;
71
+ z-index: 1;
72
+ }
73
+
74
+ #expansion::slotted(pf-table) {
75
+ margin-block-end: -1px;
76
+ }
77
+
78
+ #toggle-cell {
79
+ z-index: 2;
80
+ position: absolute;
81
+ inset-inline-start: 0;
82
+ inset-block-start: 1.5rem;
83
+ padding: 0;
84
+ }
85
+
86
+ #toggle-icon {
87
+ transition: .2s ease-in 0s;
88
+ vertical-align: -0.125em;
89
+ }
90
+
91
+ :host([expanded]) #toggle-icon {
92
+ transform: rotate(90deg);
93
+ }
94
+ `;
8
95
  import { ifDefined } from 'lit/directives/if-defined.js';
9
96
  import '@patternfly/elements/pf-button/pf-button.js';
10
97
  import '@patternfly/elements/pf-icon/pf-icon.js';
@@ -138,7 +225,7 @@ _PfTr_onClick = function _PfTr_onClick() {
138
225
  this.dispatchEvent(new RequestExpandEvent());
139
226
  };
140
227
  PfTr.styles = [styles];
141
- PfTr.version = "4.0.2";
228
+ PfTr.version = "4.2.0";
142
229
  __decorate([
143
230
  property({
144
231
  reflect: true,
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tr.js","sourceRoot":"","sources":["pf-tr.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type ComplexAttributeConverter, type PropertyValues } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-tr.css';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nexport class RequestExpandEvent extends Event {\n /**\n * if provided, the slot name for the compound-expanded cell\n */\n public compoundExpanded: string | boolean = false;\n\n /**\n * if compoundExpanded is provided, a reference to the row\n * must also be provided.\n */\n public row?: PfTr;\n\n constructor();\n constructor(compoundExpanded: string | boolean, row: PfTr);\n constructor(compoundExpanded?: string | boolean, row?: PfTr) {\n super('request-expand', {\n bubbles: true,\n cancelable: true,\n });\n if (row) {\n this.compoundExpanded = compoundExpanded ?? false;\n this.row = row;\n }\n }\n}\n\nfunction BooleanEnumConverter(...allowedAttributes: string[]): ComplexAttributeConverter {\n const values = new Set(allowedAttributes);\n return {\n fromAttribute(value) {\n if (value && values.has(value.toLowerCase())) {\n return value;\n } else {\n return value != null;\n }\n },\n toAttribute(value) {\n if (!value) {\n return null;\n } else if (value === 'compound') {\n return value;\n } else {\n return '';\n }\n },\n };\n}\n\nconst StringOrBooleanConverter: ComplexAttributeConverter = {\n fromAttribute(value) {\n return value || value !== null;\n },\n toAttribute(value) {\n if (!value) {\n return null;\n } else if (typeof value === 'string') {\n return value;\n } else {\n return '';\n }\n },\n};\n\n/**\n * Table row\n * @slot - Place element content here\n */\n@customElement('pf-tr')\nexport class PfTr extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({\n reflect: true,\n converter: BooleanEnumConverter('compound'),\n }) expandable: boolean | 'compound' = false;\n\n @property({\n reflect: true,\n converter: StringOrBooleanConverter,\n }) expanded: boolean | string = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#expandableChanged();\n }\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('expandable')) {\n this.#expandableChanged();\n }\n if (changed.has('expanded')) {\n this.#expandedChanged();\n }\n }\n\n render(): (false | '' | import('lit-html').TemplateResult<1>)[] {\n return [\n this.expandable && this.expandable !== 'compound' && html`\n <pf-td id=\"toggle-cell\">\n <pf-button id=\"toggle-button\"\n aria-expanded=${String(this.expanded) as 'true' | 'false'}\n plain\n @click=${this.#onClick}>\n <pf-icon id=\"toggle-icon\"\n icon=\"angle-right\"\n size=\"md\"\n ></pf-icon>\n </pf-button>\n </pf-td>\n `,\n\n html`\n <div id=\"container\" role=\"${ifDefined(this.expandable ? 'row' : undefined)}\">\n <slot></slot>\n </div>\n `,\n\n this.expandable && this.expandable !== 'compound' && this.expanded && html`\n <div id=\"expansion\" role=\"row\"><slot name=\"expansion\"></slot></div>\n `,\n\n this.expandable === 'compound' && html`\n <div id=\"expansion\">${!this.expanded ? '' : html`\n <slot name=\"${this.expanded}\"></slot>`}\n </div>\n `,\n ].filter(Boolean);\n }\n\n #expandedChanged() {\n // disallow setting `expanded` unless `expandable` is also set\n if (this.expanded && !this.expandable) {\n this.expanded = false;\n }\n }\n\n #expandableChanged() {\n switch (this.expandable) {\n case 'compound': {\n // TODO: do we need tab roles now?\n break;\n }\n case true:\n this.setAttribute('role', 'rowgroup');\n break;\n default:\n this.setAttribute('role', 'row');\n }\n }\n\n #onClick() {\n this.dispatchEvent(new RequestExpandEvent());\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tr': PfTr;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-tr.js","sourceRoot":"","sources":["pf-tr.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type ComplexAttributeConverter, type PropertyValues } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-tr.css';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nexport class RequestExpandEvent extends Event {\n /**\n * if provided, the slot name for the compound-expanded cell\n */\n public compoundExpanded: string | boolean = false;\n\n /**\n * if compoundExpanded is provided, a reference to the row\n * must also be provided.\n */\n public row?: PfTr;\n\n constructor();\n constructor(compoundExpanded: string | boolean, row: PfTr);\n constructor(compoundExpanded?: string | boolean, row?: PfTr) {\n super('request-expand', {\n bubbles: true,\n cancelable: true,\n });\n if (row) {\n this.compoundExpanded = compoundExpanded ?? false;\n this.row = row;\n }\n }\n}\n\nfunction BooleanEnumConverter(...allowedAttributes: string[]): ComplexAttributeConverter {\n const values = new Set(allowedAttributes);\n return {\n fromAttribute(value) {\n if (value && values.has(value.toLowerCase())) {\n return value;\n } else {\n return value != null;\n }\n },\n toAttribute(value) {\n if (!value) {\n return null;\n } else if (value === 'compound') {\n return value;\n } else {\n return '';\n }\n },\n };\n}\n\nconst StringOrBooleanConverter: ComplexAttributeConverter = {\n fromAttribute(value) {\n return value || value !== null;\n },\n toAttribute(value) {\n if (!value) {\n return null;\n } else if (typeof value === 'string') {\n return value;\n } else {\n return '';\n }\n },\n};\n\n/**\n * Table row\n * @slot - Place element content here\n */\n@customElement('pf-tr')\nexport class PfTr extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({\n reflect: true,\n converter: BooleanEnumConverter('compound'),\n }) expandable: boolean | 'compound' = false;\n\n @property({\n reflect: true,\n converter: StringOrBooleanConverter,\n }) expanded: boolean | string = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#expandableChanged();\n }\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('expandable')) {\n this.#expandableChanged();\n }\n if (changed.has('expanded')) {\n this.#expandedChanged();\n }\n }\n\n render(): (false | '' | import('lit-html').TemplateResult<1>)[] {\n return [\n this.expandable && this.expandable !== 'compound' && html`\n <pf-td id=\"toggle-cell\">\n <pf-button id=\"toggle-button\"\n aria-expanded=${String(this.expanded) as 'true' | 'false'}\n plain\n @click=${this.#onClick}>\n <pf-icon id=\"toggle-icon\"\n icon=\"angle-right\"\n size=\"md\"\n ></pf-icon>\n </pf-button>\n </pf-td>\n `,\n\n html`\n <div id=\"container\" role=\"${ifDefined(this.expandable ? 'row' : undefined)}\">\n <slot></slot>\n </div>\n `,\n\n this.expandable && this.expandable !== 'compound' && this.expanded && html`\n <div id=\"expansion\" role=\"row\"><slot name=\"expansion\"></slot></div>\n `,\n\n this.expandable === 'compound' && html`\n <div id=\"expansion\">${!this.expanded ? '' : html`\n <slot name=\"${this.expanded}\"></slot>`}\n </div>\n `,\n ].filter(Boolean);\n }\n\n #expandedChanged() {\n // disallow setting `expanded` unless `expandable` is also set\n if (this.expanded && !this.expandable) {\n this.expanded = false;\n }\n }\n\n #expandableChanged() {\n switch (this.expandable) {\n case 'compound': {\n // TODO: do we need tab roles now?\n break;\n }\n case true:\n this.setAttribute('role', 'rowgroup');\n break;\n default:\n this.setAttribute('role', 'row');\n }\n }\n\n #onClick() {\n this.dispatchEvent(new RequestExpandEvent());\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tr': PfTr;\n }\n}\n"]}
@@ -7,5 +7,6 @@
7
7
  }
8
8
 
9
9
  :host([box="light"]) {
10
+ /** Background color for light tab content */
10
11
  background-color: var(--pf-c-tab-content--m-light-300, var(--pf-global--BackgroundColor--light-300, #f0f0f0));
11
12
  }
@@ -1,8 +1,6 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * @slot - Tab panel content
4
- * @cssprop {<color>} [--pf-c-tab-content--m-light-300=#f0f0f0]
5
- * @csspart container - container for the panel content
6
4
  */
7
5
  export declare class PfTabPanel extends LitElement {
8
6
  static readonly styles: CSSStyleSheet[];
@@ -6,11 +6,27 @@ import { consume } from '@lit/context';
6
6
  import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
7
7
  import { context } from './context.js';
8
8
  import { css } from "lit";
9
- const styles = css `:host {\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([box="light"]) {\n background-color: var(--pf-c-tab-content--m-light-300, var(--pf-global--BackgroundColor--light-300, #f0f0f0));\n}\n`;
9
+ const styles = css `:host {
10
+ display: block;
11
+ }
12
+
13
+ :host([hidden]) {
14
+ display: none;
15
+ }
16
+
17
+ :host([box="light"]) {
18
+ /** Background color for light tab content */
19
+ background-color: var(--pf-c-tab-content--m-light-300, var(--pf-global--BackgroundColor--light-300, #f0f0f0));
20
+ }
21
+ `;
10
22
  let PfTabPanel = class PfTabPanel extends LitElement {
11
23
  render() {
12
24
  return html `
13
- <slot></slot>
25
+ <!-- container for the panel content -->
26
+ <div part="container">
27
+ <!-- Tab panel content -->
28
+ <slot></slot>
29
+ </div>
14
30
  `;
15
31
  }
16
32
  connectedCallback() {
@@ -40,7 +56,7 @@ let PfTabPanel = class PfTabPanel extends LitElement {
40
56
  }
41
57
  };
42
58
  PfTabPanel.styles = [styles];
43
- PfTabPanel.version = "4.0.2";
59
+ PfTabPanel.version = "4.2.0";
44
60
  __decorate([
45
61
  consume({ context, subscribe: true }),
46
62
  state()
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tab-panel.js","sourceRoot":"","sources":["pf-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAsB,OAAO,EAAE,MAAM,cAAc,CAAC;;;AAUpD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAMxC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;QACxC,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,IAAI,EAAC;QAErB;;;;;;;;UAQE;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAEQ,UAAU;QACjB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;;AApCe,iBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAGlC;IADhB,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrC,KAAK,EAAE;uCAA6B;AAJ1B,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { state } from 'lit/decorators/state.js';\nimport { consume } from '@lit/context';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { type PfTabsContext, context } from './context.js';\n\nimport styles from './pf-tab-panel.css';\n\n/**\n * @slot - Tab panel content\n * @cssprop {<color>} [--pf-c-tab-content--m-light-300=#f0f0f0]\n * @csspart container - container for the panel content\n */\n@customElement('pf-tab-panel')\nexport class PfTabPanel extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @consume({ context, subscribe: true })\n @state() private ctx?: PfTabsContext;\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n this.hidden ??= true;\n\n /*\n To make it easy for screen reader users to navigate from a tab\n to the beginning of content in the active tabpanel, the tabpanel\n element has tabindex=\"0\" to include the panel in the page Tab sequence.\n It is recommended that all tabpanel elements in a tab set are focusable\n if there are any panels in the set that contain content where the first\n element in the panel is not focusable.\n https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-automatic\n */\n this.tabIndex = 0;\n }\n\n override willUpdate(): void {\n const { box, vertical } = this.ctx ?? {};\n this.toggleAttribute('vertical', vertical);\n if (box) {\n this.setAttribute('box', box);\n } else {\n this.removeAttribute('box');\n }\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,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAsB,OAAO,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;AAQpD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAMxC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;KAMV,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;QACxC,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,IAAI,EAAC;QAErB;;;;;;;;UAQE;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAEQ,UAAU;QACjB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;;AAxCe,iBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAGlC;IADhB,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrC,KAAK,EAAE;uCAA6B;AAJ1B,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { state } from 'lit/decorators/state.js';\nimport { consume } from '@lit/context';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { type PfTabsContext, context } from './context.js';\n\nimport styles from './pf-tab-panel.css';\n\n/**\n * @slot - Tab panel content\n */\n@customElement('pf-tab-panel')\nexport class PfTabPanel extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @consume({ context, subscribe: true })\n @state() private ctx?: PfTabsContext;\n\n render(): TemplateResult<1> {\n return html`\n <!-- container for the panel content -->\n <div part=\"container\">\n <!-- Tab panel content -->\n <slot></slot>\n </div>\n `;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n this.hidden ??= true;\n\n /*\n To make it easy for screen reader users to navigate from a tab\n to the beginning of content in the active tabpanel, the tabpanel\n element has tabindex=\"0\" to include the panel in the page Tab sequence.\n It is recommended that all tabpanel elements in a tab set are focusable\n if there are any panels in the set that contain content where the first\n element in the panel is not focusable.\n https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-automatic\n */\n this.tabIndex = 0;\n }\n\n override willUpdate(): void {\n const { box, vertical } = this.ctx ?? {};\n this.toggleAttribute('vertical', vertical);\n if (box) {\n this.setAttribute('box', box);\n } else {\n this.removeAttribute('box');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab-panel': PfTabPanel;\n }\n}\n"]}
@@ -10,8 +10,11 @@
10
10
  }
11
11
 
12
12
  .active {
13
+ /** Current tab text color */
13
14
  --pf-c-tabs__link--Color: var(--pf-c-tabs__item--m-current__link--Color, var(--pf-global--Color--100, #151515));
15
+ /** Current tab border color */
14
16
  --pf-c-tabs__link--after--BorderColor: var(--pf-c-tabs__item--m-current__link--after--BorderColor, var(--pf-global--active-color--100, #06c));
17
+ /** Current tab border width */
15
18
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__item--m-current__link--after--BorderWidth, var(--pf-global--BorderWidth--lg, 3px));
16
19
  }
17
20
 
@@ -40,18 +43,24 @@ slot[name="icon"] {
40
43
  text-decoration: none;
41
44
  cursor: pointer;
42
45
  align-items: center;
46
+ /** Tab icon and text spacing */
43
47
  gap: var(--pf-c-tabs__link--child--MarginRight, var(--pf-global--spacer--md, 1rem));
44
48
  line-height: var(--pf-global--LineHeight--md, 1.5);
45
49
  color: var(--pf-global--Color--100, #151515);
50
+ /** Tab padding (top and bottom) */
46
51
  padding:
47
52
  var(--pf-c-tabs__link--PaddingTop, var(--pf-global--spacer--sm, 0.5rem))
48
53
  var(--pf-c-tabs__link--PaddingRight, var(--pf-global--spacer--md, 1rem))
49
54
  var(--pf-c-tabs__link--PaddingBottom, var(--pf-global--spacer--sm, 0.5rem))
50
55
  var(--pf-c-tabs__link--PaddingLeft, var(--pf-global--spacer--md, 1rem));
56
+ /** Tab font size */
51
57
  font-size: var(--pf-c-tabs__link--FontSize, var(--pf-global--FontSize--md, 1rem));
58
+ /** Tab text color */
52
59
  color: var(--pf-c-tabs__link--Color, var(--pf-global--Color--200, #6a6e73));
60
+ /** Tab outline offset */
53
61
  outline-offset: var(--pf-c-tabs__link--OutlineOffset, calc(-1 * 0.375rem));
54
62
  --pf-c-tabs__link--after--BorderBottomWidth: var(--pf-c-tabs__link--after--BorderWidth, 0);
63
+ /** Tab background color */
55
64
  background-color: var(--pf-c-tabs__link--BackgroundColor, transparent);
56
65
  }
57
66
 
@@ -71,25 +80,42 @@ slot[name="icon"] {
71
80
  }
72
81
 
73
82
  #button::before {
83
+ /** Tab top border width */
74
84
  border-block-start-width: var(--pf-c-tabs__link--before--BorderTopWidth, 0);
85
+ /** Tab right border width */
75
86
  border-inline-end-width: var(--pf-c-tabs__link--before--BorderRightWidth, 0);
87
+ /** Tab bottom border width */
76
88
  border-block-end-width: var(--pf-c-tabs__link--before--BorderBottomWidth, 0);
89
+ /** Tab left border width */
77
90
  border-inline-start-width: var(--pf-c-tabs__link--before--BorderLeftWidth, 0);
91
+ /** Tab top border color */
78
92
  border-block-start-color: var(--pf-c-tabs__link--before--BorderTopColor, var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2)));
93
+ /** Tab right border color */
79
94
  border-inline-end-color: var(--pf-c-tabs__link--before--BorderRightColor, var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2)));
95
+ /** Tab bottom border color */
80
96
  border-block-end-color: var(--pf-c-tabs__link--before--BorderBottomColor, var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2)));
97
+ /** Tab left border color */
81
98
  border-inline-start-color: var(--pf-c-tabs__link--before--BorderLeftColor, var(--pf-c-tabs__link--before--border-color--base, var(--pf-global--BorderColor--100, #d2d2d2)));
82
99
  }
83
100
 
84
101
  #button::after {
102
+ /** Tab after element top position */
85
103
  top: var(--pf-c-tabs__link--after--Top, auto);
104
+ /** Tab after element right position */
86
105
  right: var(--pf-c-tabs__link--after--Right, 0);
106
+ /** Tab after element bottom position */
87
107
  bottom: var(--pf-c-tabs__link--after--Bottom, 0);
108
+ /** Tab before element left position */
88
109
  left: var(--pf-c-tabs__link--before--Left, 0);
110
+ /** Tab after element border color */
89
111
  border-color: var(--pf-c-tabs__link--after--BorderColor, var(--pf-global--BorderColor--light-100, #b8bbbe));
112
+ /** Tab after element top border width */
90
113
  border-block-start-width: var(--pf-c-tabs__link--after--BorderTopWidth, 0);
114
+ /** Tab after element right border width */
91
115
  border-inline-end-width: var(--pf-c-tabs__link--after--BorderRightWidth, 0);
116
+ /** Tab after element bottom border width */
92
117
  border-block-end-width: var(--pf-c-tabs__link--after--BorderBottomWidth);
118
+ /** Tab after element left border width */
93
119
  border-inline-start-width: var(--pf-c-tabs__link--after--BorderLeftWidth);
94
120
  }
95
121
 
@@ -154,20 +180,27 @@ slot[name="icon"] {
154
180
  }
155
181
 
156
182
  :host(:first-of-type) .box.active #button::before {
183
+ /** Box style first tab top border width */
157
184
  border-block-start-width: var(--pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderTopWidth, var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px)));
185
+ /** Box style first tab left border width */
158
186
  border-inline-start-width: var(--pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth, var(--pf-c-tabs__link--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px)));
159
187
  }
160
188
 
161
189
  :host(:last-of-type) .box.active #button::before {
190
+ /** Box style last tab right border width */
162
191
  border-inline-end-width: var(--pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth, var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px)));
163
192
  }
164
193
 
165
194
  :host([disabled]) #button,
166
195
  :host([aria-disabled="true"]) #button {
167
196
  --pf-c-tabs__link--Color: var(--pf-c-tabs__link--disabled--Color, var(--pf-global--disabled-color--100, #6a6e73));
197
+ /** Disabled tab background color */
168
198
  --pf-c-tabs__link--BackgroundColor: var(--pf-c-tabs__link--disabled--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5));
199
+ /** Disabled tab right border width */
169
200
  --pf-c-tabs__link--before--BorderRightWidth: var(--pf-c-tabs__link--disabled--before--BorderRightWidth, 0);
201
+ /** Disabled tab bottom border width */
170
202
  --pf-c-tabs__link--before--BorderBottomWidth: var(--pf-c-tabs__link--disabled--before--BorderBottomWidth, var(--pf-c-tabs--before--border-width--base, var(--pf-global--BorderWidth--sm, 1px)));
203
+ /** Disabled tab left border width */
171
204
  --pf-c-tabs__link--before--BorderLeftWidth: var(--pf-c-tabs__link--disabled--before--BorderLeftWidth, 0);
172
205
  --pf-c-tabs__link--after--BorderWidth: 0;
173
206
  }
@@ -1,52 +1,12 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * Tab
4
- * @slot icon
5
- * Can contain an `<svg>` or `<pf-icon>`
6
- * @slot
7
- * Tab title text
8
- * @csspart button - button element
9
- * @csspart icon - span container for the icon
10
- * @csspart text - span container for the title text
11
- * @cssprop {<length>} [--pf-c-tabs--m-box__item--m-current--first-child__link--before--BorderLeftWidth=1px]
12
- * @cssprop {<length>} [--pf-c-tabs--m-box__item--m-current--last-child__link--before--BorderRightWidth=1px]
13
- * @cssprop {<color>} [--pf-c-tabs__link--BackgroundColor=#f0f0f0]
14
- * @cssprop {<color>} [--pf-c-tabs__link--disabled--BackgroundColor=#d2d2d2]
15
- * @cssprop {<length>} [--pf-c-tabs__link--before--BorderTopWidth=1px]
16
- * @cssprop {<length>} [--pf-c-tabs__link--before--BorderBottomWidth=1px]
17
- * @cssprop {<length>} [--pf-c-tabs__link--before--BorderLeftWidth=0]
18
- * @cssprop {<length>} [--pf-c-tabs__link--before--BorderRightWidth=1px]
19
- * @cssprop {<length>} [--pf-c-tabs__link--disabled--before--BorderRightWidth=1px]
20
- * @cssprop {<length>} [--pf-c-tabs__link--after--Top=auto]
21
- * @cssprop {<length>} [--pf-c-tabs__link--after--Right=0]
22
- * @cssprop {<length>} [--pf-c-tabs__link--after--Bottom=0]
23
- * @cssprop {<length>} [--pf-c-tabs__link--before--Left=0]
24
- * @cssprop {<length>} [--pf-c-tabs__link--PaddingTop=1rem]
25
- * @cssprop {<length>} [--pf-c-tabs__link--PaddingBottom=1rem]
26
- * @cssprop {<length>} [--pf-c-tabs__link--disabled--before--BorderBottomWidth=1px]
27
- * @cssprop {<length>} [--pf-c-tabs__link--disabled--before--BorderLeftWidth=1px]
28
- * @cssprop {<color>} [--pf-c-tabs__link--before--BorderTopColor=#d2d2d2]
29
- * @cssprop {<color>} [--pf-c-tabs__link--before--BorderRightColor=#d2d2d2]
30
- * @cssprop {<color>} [--pf-c-tabs__link--before--BorderBottomColor=#d2d2d2]
31
- * @cssprop {<color>} [--pf-c-tabs__link--before--BorderLeftColor=#d2d2d2]
32
- * @cssprop {<length>} [--pf-c-tabs__link--FontSize=1rem]
33
- * @cssprop {<color>} [--pf-c-tabs__link--Color=#6a6e73]
34
- * @cssprop {<length>} [--pf-c-tabs__link--OutlineOffset=-0.375rem]
35
- * @cssprop {<color>} [--pf-c-tabs__link--after--BorderColor=#b8bbbe]
36
- * @cssprop {<length>} [--pf-c-tabs__link--after--BorderTopWidth=0]
37
- * @cssprop {<length>} [--pf-c-tabs__link--after--BorderRightWidth=0]
38
- * @cssprop {<length>} [--pf-c-tabs__link--after--BorderBottomWidth=0]
39
- * @cssprop {<length>} [--pf-c-tabs__link--after--BorderLeftWidth=0]
40
- * @cssprop {<color>} [--pf-c-tabs__item--m-current__link--Color=#151515]
41
- * @cssprop {<color>} [--pf-c-tabs__item--m-current__link--after--BorderColor=#06c]
42
- * @cssprop {<length>} [--pf-c-tabs__item--m-current__link--after--BorderWidth=3px]
43
- * @cssprop {<length>} [--pf-c-tabs__link--child--MarginRight=1rem]
44
4
  * @fires {TabExpandEvent} expand - when a tab expands
45
5
  */
46
6
  export declare class PfTab extends LitElement {
47
7
  #private;
48
8
  static readonly styles: CSSStyleSheet[];
49
- private icons;
9
+ private icons?;
50
10
  active: boolean;
51
11
  disabled: boolean;
52
12
  private ctx?;