@patternfly/elements 4.1.0 → 4.3.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 (318) hide show
  1. package/custom-elements.json +14909 -12588
  2. package/package.json +26 -17
  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-alert/pf-alert.css +193 -0
  16. package/pf-alert/pf-alert.d.ts +95 -0
  17. package/pf-alert/pf-alert.js +406 -0
  18. package/pf-alert/pf-alert.js.map +1 -0
  19. package/pf-alert/test/pf-alert.e2e.d.ts +1 -0
  20. package/pf-alert/test/pf-alert.e2e.js +45 -0
  21. package/pf-alert/test/pf-alert.e2e.js.map +1 -0
  22. package/pf-alert/test/pf-alert.spec.d.ts +1 -0
  23. package/pf-alert/test/pf-alert.spec.js +42 -0
  24. package/pf-alert/test/pf-alert.spec.js.map +1 -0
  25. package/pf-avatar/pf-avatar.css +14 -0
  26. package/pf-avatar/pf-avatar.d.ts +1 -14
  27. package/pf-avatar/pf-avatar.js +82 -2
  28. package/pf-avatar/pf-avatar.js.map +1 -1
  29. package/pf-back-to-top/pf-back-to-top.css +12 -0
  30. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  31. package/pf-back-to-top/pf-back-to-top.js +87 -3
  32. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  33. package/pf-back-to-top/test/pf-back-to-top.spec.js +3 -2
  34. package/pf-back-to-top/test/pf-back-to-top.spec.js.map +1 -1
  35. package/pf-background-image/pf-background-image.css +7 -0
  36. package/pf-background-image/pf-background-image.d.ts +1 -8
  37. package/pf-background-image/pf-background-image.js +76 -2
  38. package/pf-background-image/pf-background-image.js.map +1 -1
  39. package/pf-badge/pf-badge.css +13 -0
  40. package/pf-badge/pf-badge.d.ts +1 -13
  41. package/pf-badge/pf-badge.js +53 -2
  42. package/pf-badge/pf-badge.js.map +1 -1
  43. package/pf-banner/pf-banner.css +21 -0
  44. package/pf-banner/pf-banner.d.ts +1 -19
  45. package/pf-banner/pf-banner.js +122 -2
  46. package/pf-banner/pf-banner.js.map +1 -1
  47. package/pf-button/pf-button-tokens.css +38 -0
  48. package/pf-button/pf-button.d.ts +1 -106
  49. package/pf-button/pf-button.js +837 -4
  50. package/pf-button/pf-button.js.map +1 -1
  51. package/pf-card/pf-card.css +24 -0
  52. package/pf-card/pf-card.d.ts +1 -38
  53. package/pf-card/pf-card.js +248 -2
  54. package/pf-card/pf-card.js.map +1 -1
  55. package/pf-chip/pf-chip-group.css +15 -0
  56. package/pf-chip/pf-chip-group.d.ts +0 -15
  57. package/pf-chip/pf-chip-group.js +111 -2
  58. package/pf-chip/pf-chip-group.js.map +1 -1
  59. package/pf-chip/pf-chip.css +30 -1
  60. package/pf-chip/pf-chip.d.ts +1 -20
  61. package/pf-chip/pf-chip.js +135 -2
  62. package/pf-chip/pf-chip.js.map +1 -1
  63. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  64. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  65. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  66. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  67. package/pf-code-block/pf-code-block.css +11 -1
  68. package/pf-code-block/pf-code-block.js +70 -18
  69. package/pf-code-block/pf-code-block.js.map +1 -1
  70. package/pf-dropdown/pf-dropdown-group.js +40 -2
  71. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  72. package/pf-dropdown/pf-dropdown-item.css +10 -0
  73. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  74. package/pf-dropdown/pf-dropdown-item.js +155 -2
  75. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  76. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  77. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  78. package/pf-dropdown/pf-dropdown.css +13 -1
  79. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  80. package/pf-dropdown/pf-dropdown.js +357 -2
  81. package/pf-dropdown/pf-dropdown.js.map +1 -1
  82. package/pf-helper-text/pf-helper-text.css +35 -0
  83. package/pf-helper-text/pf-helper-text.d.ts +41 -0
  84. package/pf-helper-text/pf-helper-text.js +107 -0
  85. package/pf-helper-text/pf-helper-text.js.map +1 -0
  86. package/pf-helper-text/test/pf-helper-text.e2e.d.ts +1 -0
  87. package/pf-helper-text/test/pf-helper-text.e2e.js +23 -0
  88. package/pf-helper-text/test/pf-helper-text.e2e.js.map +1 -0
  89. package/pf-helper-text/test/pf-helper-text.spec.d.ts +1 -0
  90. package/pf-helper-text/test/pf-helper-text.spec.js +57 -0
  91. package/pf-helper-text/test/pf-helper-text.spec.js.map +1 -0
  92. package/pf-hint/pf-hint.css +120 -0
  93. package/pf-hint/pf-hint.d.ts +19 -0
  94. package/pf-hint/pf-hint.js +180 -0
  95. package/pf-hint/pf-hint.js.map +1 -0
  96. package/pf-hint/test/pf-hint.e2e.d.ts +1 -0
  97. package/pf-hint/test/pf-hint.e2e.js +23 -0
  98. package/pf-hint/test/pf-hint.e2e.js.map +1 -0
  99. package/pf-hint/test/pf-hint.spec.d.ts +1 -0
  100. package/pf-hint/test/pf-hint.spec.js +87 -0
  101. package/pf-hint/test/pf-hint.spec.js.map +1 -0
  102. package/pf-icon/pf-icon.css +1 -0
  103. package/pf-icon/pf-icon.d.ts +1 -3
  104. package/pf-icon/pf-icon.js +44 -4
  105. package/pf-icon/pf-icon.js.map +1 -1
  106. package/pf-jump-links/pf-jump-links-item.css +7 -1
  107. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  108. package/pf-jump-links/pf-jump-links-item.js +77 -2
  109. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  110. package/pf-jump-links/pf-jump-links-list.css +3 -0
  111. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  112. package/pf-jump-links/pf-jump-links-list.js +20 -2
  113. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  114. package/pf-jump-links/pf-jump-links.css +36 -0
  115. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  116. package/pf-jump-links/pf-jump-links.js +179 -2
  117. package/pf-jump-links/pf-jump-links.js.map +1 -1
  118. package/pf-label/pf-label.css +51 -1
  119. package/pf-label/pf-label.d.ts +1 -58
  120. package/pf-label/pf-label.js +257 -2
  121. package/pf-label/pf-label.js.map +1 -1
  122. package/pf-modal/pf-modal.css +11 -0
  123. package/pf-modal/pf-modal.d.ts +2 -25
  124. package/pf-modal/pf-modal.js +215 -2
  125. package/pf-modal/pf-modal.js.map +1 -1
  126. package/pf-panel/pf-panel.css +29 -0
  127. package/pf-panel/pf-panel.d.ts +1 -32
  128. package/pf-panel/pf-panel.js +204 -2
  129. package/pf-panel/pf-panel.js.map +1 -1
  130. package/pf-popover/pf-popover.css +33 -0
  131. package/pf-popover/pf-popover.d.ts +1 -108
  132. package/pf-popover/pf-popover.js +251 -3
  133. package/pf-popover/pf-popover.js.map +1 -1
  134. package/pf-progress/pf-progress.css +19 -0
  135. package/pf-progress/pf-progress.d.ts +1 -57
  136. package/pf-progress/pf-progress.js +231 -2
  137. package/pf-progress/pf-progress.js.map +1 -1
  138. package/pf-progress-stepper/pf-progress-step.js +126 -2
  139. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  140. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  141. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  142. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  143. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  144. package/pf-search-input/pf-search-input.css +308 -0
  145. package/pf-search-input/pf-search-input.d.ts +75 -0
  146. package/pf-search-input/pf-search-input.js +630 -0
  147. package/pf-search-input/pf-search-input.js.map +1 -0
  148. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  149. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  150. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  151. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  152. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  153. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  154. package/pf-select/pf-option-group.js +27 -2
  155. package/pf-select/pf-option-group.js.map +1 -1
  156. package/pf-select/pf-option.css +9 -1
  157. package/pf-select/pf-option.js +83 -2
  158. package/pf-select/pf-option.js.map +1 -1
  159. package/pf-select/pf-select.css +157 -0
  160. package/pf-select/pf-select.d.ts +1 -158
  161. package/pf-select/pf-select.js +542 -5
  162. package/pf-select/pf-select.js.map +1 -1
  163. package/pf-spinner/pf-spinner.css +13 -0
  164. package/pf-spinner/pf-spinner.d.ts +1 -14
  165. package/pf-spinner/pf-spinner.js +101 -2
  166. package/pf-spinner/pf-spinner.js.map +1 -1
  167. package/pf-switch/pf-switch.css +22 -0
  168. package/pf-switch/pf-switch.d.ts +1 -30
  169. package/pf-switch/pf-switch.js +156 -2
  170. package/pf-switch/pf-switch.js.map +1 -1
  171. package/pf-table/pf-caption.js +10 -2
  172. package/pf-table/pf-caption.js.map +1 -1
  173. package/pf-table/pf-table.css +211 -0
  174. package/pf-table/pf-table.d.ts +1 -635
  175. package/pf-table/pf-table.js +437 -2
  176. package/pf-table/pf-table.js.map +1 -1
  177. package/pf-table/pf-tbody.js +18 -2
  178. package/pf-table/pf-tbody.js.map +1 -1
  179. package/pf-table/pf-td.js +107 -2
  180. package/pf-table/pf-td.js.map +1 -1
  181. package/pf-table/pf-th.js +95 -2
  182. package/pf-table/pf-th.js.map +1 -1
  183. package/pf-table/pf-thead.js +20 -2
  184. package/pf-table/pf-thead.js.map +1 -1
  185. package/pf-table/pf-tr.js +89 -2
  186. package/pf-table/pf-tr.js.map +1 -1
  187. package/pf-tabs/pf-tab-panel.css +1 -0
  188. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  189. package/pf-tabs/pf-tab-panel.js +19 -3
  190. package/pf-tabs/pf-tab-panel.js.map +1 -1
  191. package/pf-tabs/pf-tab.css +33 -0
  192. package/pf-tabs/pf-tab.d.ts +0 -40
  193. package/pf-tabs/pf-tab.js +231 -2
  194. package/pf-tabs/pf-tab.js.map +1 -1
  195. package/pf-tabs/pf-tabs.css +26 -0
  196. package/pf-tabs/pf-tabs.d.ts +1 -34
  197. package/pf-tabs/pf-tabs.js +307 -2
  198. package/pf-tabs/pf-tabs.js.map +1 -1
  199. package/pf-text-area/pf-text-area.css +125 -0
  200. package/pf-text-area/pf-text-area.d.ts +1 -125
  201. package/pf-text-area/pf-text-area.js +320 -2
  202. package/pf-text-area/pf-text-area.js.map +1 -1
  203. package/pf-text-input/pf-text-input.css +126 -0
  204. package/pf-text-input/pf-text-input.d.ts +1 -126
  205. package/pf-text-input/pf-text-input.js +395 -2
  206. package/pf-text-input/pf-text-input.js.map +1 -1
  207. package/pf-tile/pf-tile.css +28 -8
  208. package/pf-tile/pf-tile.d.ts +1 -24
  209. package/pf-tile/pf-tile.js +156 -2
  210. package/pf-tile/pf-tile.js.map +1 -1
  211. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  212. package/pf-timestamp/pf-timestamp.js +10 -2
  213. package/pf-timestamp/pf-timestamp.js.map +1 -1
  214. package/pf-tooltip/pf-tooltip.css +10 -0
  215. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  216. package/pf-tooltip/pf-tooltip.js +113 -3
  217. package/pf-tooltip/pf-tooltip.js.map +1 -1
  218. package/pfe.min.js +0 -7439
  219. package/pfe.min.js.LEGAL.txt +0 -57
  220. package/pfe.min.js.map +0 -7
  221. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  222. package/react/pf-accordion/pf-accordion-header.js +0 -12
  223. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  224. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  225. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  226. package/react/pf-accordion/pf-accordion.js +0 -13
  227. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  228. package/react/pf-avatar/pf-avatar.js +0 -12
  229. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  230. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  231. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  232. package/react/pf-background-image/pf-background-image.js +0 -10
  233. package/react/pf-badge/pf-badge.d.ts +0 -5
  234. package/react/pf-badge/pf-badge.js +0 -10
  235. package/react/pf-banner/pf-banner.d.ts +0 -5
  236. package/react/pf-banner/pf-banner.js +0 -10
  237. package/react/pf-button/pf-button.d.ts +0 -5
  238. package/react/pf-button/pf-button.js +0 -12
  239. package/react/pf-card/pf-card.d.ts +0 -5
  240. package/react/pf-card/pf-card.js +0 -10
  241. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  242. package/react/pf-chip/pf-chip-group.js +0 -13
  243. package/react/pf-chip/pf-chip.d.ts +0 -5
  244. package/react/pf-chip/pf-chip.js +0 -13
  245. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  246. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  247. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  248. package/react/pf-code-block/pf-code-block.js +0 -10
  249. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  250. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  251. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  252. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  253. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  254. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  255. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  256. package/react/pf-dropdown/pf-dropdown.js +0 -14
  257. package/react/pf-icon/pf-icon.d.ts +0 -5
  258. package/react/pf-icon/pf-icon.js +0 -13
  259. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  260. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  261. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  262. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  263. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  264. package/react/pf-jump-links/pf-jump-links.js +0 -12
  265. package/react/pf-label/pf-label.d.ts +0 -5
  266. package/react/pf-label/pf-label.js +0 -12
  267. package/react/pf-modal/pf-modal.d.ts +0 -5
  268. package/react/pf-modal/pf-modal.js +0 -13
  269. package/react/pf-panel/pf-panel.d.ts +0 -5
  270. package/react/pf-panel/pf-panel.js +0 -10
  271. package/react/pf-popover/pf-popover.d.ts +0 -5
  272. package/react/pf-popover/pf-popover.js +0 -10
  273. package/react/pf-progress/pf-progress.d.ts +0 -5
  274. package/react/pf-progress/pf-progress.js +0 -10
  275. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  276. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  277. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  278. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  279. package/react/pf-select/pf-option-group.d.ts +0 -5
  280. package/react/pf-select/pf-option-group.js +0 -10
  281. package/react/pf-select/pf-option.d.ts +0 -5
  282. package/react/pf-select/pf-option.js +0 -10
  283. package/react/pf-select/pf-select.d.ts +0 -5
  284. package/react/pf-select/pf-select.js +0 -13
  285. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  286. package/react/pf-spinner/pf-spinner.js +0 -10
  287. package/react/pf-switch/pf-switch.d.ts +0 -5
  288. package/react/pf-switch/pf-switch.js +0 -12
  289. package/react/pf-table/pf-caption.d.ts +0 -5
  290. package/react/pf-table/pf-caption.js +0 -10
  291. package/react/pf-table/pf-table.d.ts +0 -5
  292. package/react/pf-table/pf-table.js +0 -10
  293. package/react/pf-table/pf-tbody.d.ts +0 -5
  294. package/react/pf-table/pf-tbody.js +0 -10
  295. package/react/pf-table/pf-td.d.ts +0 -5
  296. package/react/pf-table/pf-td.js +0 -10
  297. package/react/pf-table/pf-th.d.ts +0 -5
  298. package/react/pf-table/pf-th.js +0 -10
  299. package/react/pf-table/pf-thead.d.ts +0 -5
  300. package/react/pf-table/pf-thead.js +0 -10
  301. package/react/pf-table/pf-tr.d.ts +0 -5
  302. package/react/pf-table/pf-tr.js +0 -10
  303. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  304. package/react/pf-tabs/pf-tab-panel.js +0 -10
  305. package/react/pf-tabs/pf-tab.d.ts +0 -5
  306. package/react/pf-tabs/pf-tab.js +0 -12
  307. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  308. package/react/pf-tabs/pf-tabs.js +0 -10
  309. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  310. package/react/pf-text-area/pf-text-area.js +0 -10
  311. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  312. package/react/pf-text-input/pf-text-input.js +0 -10
  313. package/react/pf-tile/pf-tile.d.ts +0 -5
  314. package/react/pf-tile/pf-tile.js +0 -10
  315. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  316. package/react/pf-timestamp/pf-timestamp.js +0 -10
  317. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  318. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -2,7 +2,23 @@ import { __decorate } from "tslib";
2
2
  import { LitElement, html } from 'lit';
3
3
  import { customElement } from 'lit/decorators/custom-element.js';
4
4
  import { css } from "lit";
5
- const styles = css `:host {\n --pf-c-table--cell--PaddingTop: var(--pf-c-table--tbody--cell--PaddingTop);\n --pf-c-table--cell--PaddingBottom: var(--pf-c-table--tbody--cell--PaddingBottom);\n display: grid;\n}\n\n@media (max-width: 768px) {\n :host {\n position: relative;\n }\n \n :host:first-of-type {\n border-bottom: var(--pf-c-table--border-width--base) solid var(--pf-c-table--BorderColor);\n }\n}\n\n`;
5
+ const styles = css `:host {
6
+ --pf-c-table--cell--PaddingTop: var(--pf-c-table--tbody--cell--PaddingTop);
7
+ --pf-c-table--cell--PaddingBottom: var(--pf-c-table--tbody--cell--PaddingBottom);
8
+ display: grid;
9
+ }
10
+
11
+ @media (max-width: 768px) {
12
+ :host {
13
+ position: relative;
14
+ }
15
+
16
+ :host:first-of-type {
17
+ border-bottom: var(--pf-c-table--border-width--base) solid var(--pf-c-table--BorderColor);
18
+ }
19
+ }
20
+
21
+ `;
6
22
  let PfTbody = class PfTbody extends LitElement {
7
23
  connectedCallback() {
8
24
  super.connectedCallback();
@@ -15,7 +31,7 @@ let PfTbody = class PfTbody extends LitElement {
15
31
  }
16
32
  };
17
33
  PfTbody.styles = [styles];
18
- PfTbody.version = "4.1.0";
34
+ PfTbody.version = "4.3.0";
19
35
  PfTbody = __decorate([
20
36
  customElement('pf-tbody')
21
37
  ], PfTbody);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-tbody.js","sourceRoot":"","sources":["pf-tbody.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAS1D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAG5B,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AAXe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AADxC,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-tbody.css';\n\n/**\n * Table body\n * @slot - Place element content here\n */\n@customElement('pf-tbody')\nexport class PfTbody extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'rowgroup');\n }\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tbody': PfTbody;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-tbody.js","sourceRoot":"","sources":["pf-tbody.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;AAS1D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAG5B,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AAXe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AADxC,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-tbody.css';\n\n/**\n * Table body\n * @slot - Place element content here\n */\n@customElement('pf-tbody')\nexport class PfTbody extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'rowgroup');\n }\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tbody': PfTbody;\n }\n}\n"]}
package/pf-table/pf-td.js CHANGED
@@ -4,7 +4,112 @@ 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(:empty),\n:host([compound-expand]) {\n padding: 0;\n}\n\n:host([compound-expand]:hover) {\n --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);\n --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);\n --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);\n}\n\n:host([compound-expand]:focus-within) {\n outline-offset: var(--pf-c-table__button--OutlineOffset);\n}\n\n:host([compound-expand][expanded]) {\n --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);\n --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);\n --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);\n --pf-c-table__compound-expansion-toggle__button--before--Left: 0;\n}\n\n@media (-webkit-min-device-pixel-ratio: 0) {\n :host([compound-expand]:focus-within) {\n outline-style: auto;\n outline-color: -webkit-focus-ring-color;\n }\n}\n\n@media (min-width: 768px) {\n :host {\n padding: 1.5rem 1rem;\n }\n}\n\nbutton {\n position: relative;\n width: 100%;\n padding: var(--pf-c-table--cell--PaddingTop) var(--pf-c-table--cell--PaddingRight) var(--pf-c-table--cell--PaddingBottom) var(--pf-c-table--cell--PaddingLeft);\n font-size: inherit;\n font-weight: inherit;\n color: var(--pf-c-table__button--Color);\n text-align: left;\n white-space: inherit;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n background-color: var(--pf-c-table__button--BackgroundColor);\n border: 0;\n min-width: 100%;\n min-height: 100%;\n overflow: hidden;\n}\n\nbutton::before,\nbutton::after {\n position: absolute;\n inset-inline-end: 0;\n content: "";\n border-style: solid;\n border-width: 0;\n border-block-start-width: 0px;\n}\n\nbutton::before {\n inset-block-start: 0;\n inset-block-end: var(--pf-c-table__compound-expansion-toggle__button--before--Bottom);\n inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--before--Left);\n border-color: var(--pf-c-table__compound-expansion-toggle__button--before--BorderColor);\n border-inline-start-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth);\n border-inline-end-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth);\n}\n\n:host([expanded]) {\n border-bottom: var(--pf-c-table--BackgroundColor) solid var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);\n z-index: 1;\n}\n\nbutton::after {\n inset-block-start: var(--pf-c-table__compound-expansion-toggle__button--after--Top);\n inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--after--Left);\n pointer-events: none;\n border-color: var(--pf-c-table__compound-expansion-toggle__button--after--BorderColor);\n border-block-start-width: var(--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth);\n}\n\nbutton:active,\nbutton:focus,\nbutton:hover {\n outline: 0;\n}\n\nbutton:active {\n color: var(--pf-c-table__button--active--Color);\n}\n\nbutton:focus {\n color: var(--pf-c-table__button--focus--Color);\n}\n\nbutton:hover {\n color: var(--pf-c-table__button--hover--Color);\n}\n\n`;
7
+ const styles = css `:host(:empty),
8
+ :host([compound-expand]) {
9
+ padding: 0;
10
+ }
11
+
12
+ :host([compound-expand]:hover) {
13
+ --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
14
+ --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
15
+ --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);
16
+ }
17
+
18
+ :host([compound-expand]:focus-within) {
19
+ outline-offset: var(--pf-c-table__button--OutlineOffset);
20
+ }
21
+
22
+ :host([compound-expand][expanded]) {
23
+ --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
24
+ --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
25
+ --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);
26
+ --pf-c-table__compound-expansion-toggle__button--before--Left: 0;
27
+ }
28
+
29
+ @media (-webkit-min-device-pixel-ratio: 0) {
30
+ :host([compound-expand]:focus-within) {
31
+ outline-style: auto;
32
+ outline-color: -webkit-focus-ring-color;
33
+ }
34
+ }
35
+
36
+ @media (min-width: 768px) {
37
+ :host {
38
+ padding: 1.5rem 1rem;
39
+ }
40
+ }
41
+
42
+ button {
43
+ position: relative;
44
+ width: 100%;
45
+ padding: var(--pf-c-table--cell--PaddingTop) var(--pf-c-table--cell--PaddingRight) var(--pf-c-table--cell--PaddingBottom) var(--pf-c-table--cell--PaddingLeft);
46
+ font-size: inherit;
47
+ font-weight: inherit;
48
+ color: var(--pf-c-table__button--Color);
49
+ text-align: left;
50
+ white-space: inherit;
51
+ -webkit-user-select: text;
52
+ -moz-user-select: text;
53
+ -ms-user-select: text;
54
+ user-select: text;
55
+ background-color: var(--pf-c-table__button--BackgroundColor);
56
+ border: 0;
57
+ min-width: 100%;
58
+ min-height: 100%;
59
+ overflow: hidden;
60
+ }
61
+
62
+ button::before,
63
+ button::after {
64
+ position: absolute;
65
+ inset-inline-end: 0;
66
+ content: "";
67
+ border-style: solid;
68
+ border-width: 0;
69
+ border-block-start-width: 0px;
70
+ }
71
+
72
+ button::before {
73
+ inset-block-start: 0;
74
+ inset-block-end: var(--pf-c-table__compound-expansion-toggle__button--before--Bottom);
75
+ inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--before--Left);
76
+ border-color: var(--pf-c-table__compound-expansion-toggle__button--before--BorderColor);
77
+ border-inline-start-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth);
78
+ border-inline-end-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth);
79
+ }
80
+
81
+ :host([expanded]) {
82
+ border-bottom: var(--pf-c-table--BackgroundColor) solid var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
83
+ z-index: 1;
84
+ }
85
+
86
+ button::after {
87
+ inset-block-start: var(--pf-c-table__compound-expansion-toggle__button--after--Top);
88
+ inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--after--Left);
89
+ pointer-events: none;
90
+ border-color: var(--pf-c-table__compound-expansion-toggle__button--after--BorderColor);
91
+ border-block-start-width: var(--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth);
92
+ }
93
+
94
+ button:active,
95
+ button:focus,
96
+ button:hover {
97
+ outline: 0;
98
+ }
99
+
100
+ button:active {
101
+ color: var(--pf-c-table__button--active--Color);
102
+ }
103
+
104
+ button:focus {
105
+ color: var(--pf-c-table__button--focus--Color);
106
+ }
107
+
108
+ button:hover {
109
+ color: var(--pf-c-table__button--hover--Color);
110
+ }
111
+
112
+ `;
8
113
  import { RequestExpandEvent } from './pf-tr.js';
9
114
  let PfTd = class PfTd extends LitElement {
10
115
  constructor() {
@@ -35,7 +140,7 @@ _PfTd_onClick = function _PfTd_onClick() {
35
140
  this.dispatchEvent(event);
36
141
  };
37
142
  PfTd.styles = [styles];
38
- PfTd.version = "4.1.0";
143
+ PfTd.version = "4.3.0";
39
144
  __decorate([
40
145
  property({ attribute: 'compound-expand' })
41
146
  ], PfTd.prototype, "compoundExpand", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-td.js","sourceRoot":"","sources":["pf-td.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOzC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,UAAU;IAA7B;;;QAKuC,aAAQ,GAAG,KAAK,CAAC;;IAEpD,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAA;wBACb,uBAAA,IAAI,sCAAS;;;KAGhC,CAAC,CAAC,CAAC,IAAI,CAAA;;KAEP,CAAC;IACJ,CAAC;;;;IAGC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IACjC,MAAM,KAAK,GACP,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE;QACjC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AA5Be,WAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAEP;IAA3C,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;4CAAyB;AAExB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAAkB;AALlD,IAAI;IADhB,aAAa,CAAC,OAAO,CAAC;GACV,IAAI","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-td.css';\nimport { RequestExpandEvent } from './pf-tr.js';\n\n/**\n * Table data cell\n * @slot - Place element content here\n */\n@customElement('pf-td')\nexport class PfTd extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({ attribute: 'compound-expand' }) compoundExpand?: string;\n\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'cell');\n }\n\n render(): TemplateResult<1> {\n return this.compoundExpand ? html`\n <button @click=\"${this.#onClick}\">\n <slot></slot>\n </button>\n ` : html`\n <slot></slot>\n `;\n }\n\n #onClick() {\n const row = this.closest('pf-tr');\n const cell = this.compoundExpand;\n const event =\n !row ? new RequestExpandEvent()\n : new RequestExpandEvent(row.expanded === cell || cell || false, row);\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-td': PfTd;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-td.js","sourceRoot":"","sources":["pf-td.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOzC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,UAAU;IAA7B;;;QAKuC,aAAQ,GAAG,KAAK,CAAC;;IAEpD,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAA;wBACb,uBAAA,IAAI,sCAAS;;;KAGhC,CAAC,CAAC,CAAC,IAAI,CAAA;;KAEP,CAAC;IACJ,CAAC;;;;IAGC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IACjC,MAAM,KAAK,GACP,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE;QACjC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AA5Be,WAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAEP;IAA3C,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;4CAAyB;AAExB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAAkB;AALlD,IAAI;IADhB,aAAa,CAAC,OAAO,CAAC;GACV,IAAI","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-td.css';\nimport { RequestExpandEvent } from './pf-tr.js';\n\n/**\n * Table data cell\n * @slot - Place element content here\n */\n@customElement('pf-td')\nexport class PfTd extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({ attribute: 'compound-expand' }) compoundExpand?: string;\n\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'cell');\n }\n\n render(): TemplateResult<1> {\n return this.compoundExpand ? html`\n <button @click=\"${this.#onClick}\">\n <slot></slot>\n </button>\n ` : html`\n <slot></slot>\n `;\n }\n\n #onClick() {\n const row = this.closest('pf-tr');\n const cell = this.compoundExpand;\n const event =\n !row ? new RequestExpandEvent()\n : new RequestExpandEvent(row.expanded === cell || cell || false, row);\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-td': PfTd;\n }\n}\n"]}
package/pf-table/pf-th.js CHANGED
@@ -8,7 +8,100 @@ import { consume } from '@lit/context';
8
8
  import { thRoleContext } from './context.js';
9
9
  import '@patternfly/elements/pf-button/pf-button.js';
10
10
  import { css } from "lit";
11
- const styles = css `:host {\n font-weight: bold;\n padding: 1rem;\n position: relative;\n}\n\n:host(:empty) {\n padding: 0;\n}\n\n.sortable {\n padding-inline-end: 1.5em;\n}\n\n.sortable slot {\n display: inline;\n margin-inline-end: 1.5em;\n}\n\nbutton {\n width: 100%;\n padding: var(--pf-c-table--cell--PaddingTop) var(--pf-c-table--cell--PaddingRight) var(--pf-c-table--cell--PaddingBottom) var(--pf-c-table--cell--PaddingLeft);\n font-size: inherit;\n font-weight: inherit;\n color: var(--pf-c-table__button--Color);\n text-align: left;\n white-space: inherit;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n background-color: var(--pf-c-table__button--BackgroundColor);\n border: 0;\n}\n\nbutton::before {\n position: absolute;\n inset: 0;\n cursor: pointer;\n content: '';\n}\n\nbutton:hover {\n --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--hover__sort-indicator--Color);\n --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--hover__text--Color);\n}\n\nbutton:active {\n --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--active__sort-indicator--Color);\n --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--active__text--Color);\n}\n\nbutton:focus {\n --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--focus__sort-indicator--Color);\n --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--focus__text--Color);\n}\n\nbutton.sortable {\n --pf-c-table--cell--PaddingTop: var(--pf-c-table__sort__button--PaddingTop);\n --pf-c-table--cell--PaddingRight: var(--pf-c-table__sort__button--PaddingRight);\n --pf-c-table--cell--PaddingBottom: var(--pf-c-table__sort__button--PaddingBottom);\n --pf-c-table--cell--PaddingLeft: var(--pf-c-table__sort__button--PaddingLeft);\n\n display: flex;\n width: auto;\n margin-top: var(--pf-c-table__sort__button--MarginTop);\n margin-bottom: var(--pf-c-table__sort__button--MarginBottom);\n margin-left: var(--pf-c-table__sort__button--MarginLeft);\n}\n\nbutton.selected {\n --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort--m-selected__sort-indicator--Color);\n --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort--m-selected__button__text--Color);\n\n color: var(--pf-c-table__sort--m-selected__button--Color);\n}\n\n#sort-indicator {\n width: 0;\n margin-inline-start: -1em;\n overflow: visible;\n color: var(--pf-c-table__sort-indicator--Color);\n}\n\n.visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n`;
11
+ const styles = css `:host {
12
+ font-weight: bold;
13
+ padding: 1rem;
14
+ position: relative;
15
+ }
16
+
17
+ :host(:empty) {
18
+ padding: 0;
19
+ }
20
+
21
+ .sortable {
22
+ padding-inline-end: 1.5em;
23
+ }
24
+
25
+ .sortable slot {
26
+ display: inline;
27
+ margin-inline-end: 1.5em;
28
+ }
29
+
30
+ button {
31
+ width: 100%;
32
+ padding: var(--pf-c-table--cell--PaddingTop) var(--pf-c-table--cell--PaddingRight) var(--pf-c-table--cell--PaddingBottom) var(--pf-c-table--cell--PaddingLeft);
33
+ font-size: inherit;
34
+ font-weight: inherit;
35
+ color: var(--pf-c-table__button--Color);
36
+ text-align: left;
37
+ white-space: inherit;
38
+ -webkit-user-select: text;
39
+ -moz-user-select: text;
40
+ -ms-user-select: text;
41
+ user-select: text;
42
+ background-color: var(--pf-c-table__button--BackgroundColor);
43
+ border: 0;
44
+ }
45
+
46
+ button::before {
47
+ position: absolute;
48
+ inset: 0;
49
+ cursor: pointer;
50
+ content: '';
51
+ }
52
+
53
+ button:hover {
54
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--hover__sort-indicator--Color);
55
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--hover__text--Color);
56
+ }
57
+
58
+ button:active {
59
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--active__sort-indicator--Color);
60
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--active__text--Color);
61
+ }
62
+
63
+ button:focus {
64
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--focus__sort-indicator--Color);
65
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--focus__text--Color);
66
+ }
67
+
68
+ button.sortable {
69
+ --pf-c-table--cell--PaddingTop: var(--pf-c-table__sort__button--PaddingTop);
70
+ --pf-c-table--cell--PaddingRight: var(--pf-c-table__sort__button--PaddingRight);
71
+ --pf-c-table--cell--PaddingBottom: var(--pf-c-table__sort__button--PaddingBottom);
72
+ --pf-c-table--cell--PaddingLeft: var(--pf-c-table__sort__button--PaddingLeft);
73
+
74
+ display: flex;
75
+ width: auto;
76
+ margin-top: var(--pf-c-table__sort__button--MarginTop);
77
+ margin-bottom: var(--pf-c-table__sort__button--MarginBottom);
78
+ margin-left: var(--pf-c-table__sort__button--MarginLeft);
79
+ }
80
+
81
+ button.selected {
82
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort--m-selected__sort-indicator--Color);
83
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort--m-selected__button__text--Color);
84
+
85
+ color: var(--pf-c-table__sort--m-selected__button--Color);
86
+ }
87
+
88
+ #sort-indicator {
89
+ width: 0;
90
+ margin-inline-start: -1em;
91
+ overflow: visible;
92
+ color: var(--pf-c-table__sort-indicator--Color);
93
+ }
94
+
95
+ .visually-hidden {
96
+ position: fixed;
97
+ top: 0;
98
+ left: 0;
99
+ overflow: hidden;
100
+ clip: rect(0, 0, 0, 0);
101
+ white-space: nowrap;
102
+ border: 0;
103
+ }
104
+ `;
12
105
  const DIRECTIONS = { asc: 'desc', desc: 'asc' };
13
106
  export class RequestSortEvent extends Event {
14
107
  constructor(key, direction) {
@@ -69,7 +162,7 @@ _PfTh_onClick = function _PfTh_onClick() {
69
162
  }
70
163
  };
71
164
  PfTh.styles = [styles];
72
- PfTh.version = "4.1.0";
165
+ PfTh.version = "4.3.0";
73
166
  __decorate([
74
167
  property({ type: Boolean, reflect: true })
75
168
  ], PfTh.prototype, "sortable", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-th.js","sourceRoot":"","sources":["pf-th.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, svg, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { consume } from '@lit/context';\n\nimport { thRoleContext } from './context.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-th.css';\n\nconst DIRECTIONS = { asc: 'desc', desc: 'asc' } as const;\n\nexport class RequestSortEvent extends Event {\n constructor(\n public key: string,\n public direction: 'asc' | 'desc',\n ) {\n super('request-sort', {\n bubbles: true,\n cancelable: true,\n });\n }\n}\n\nconst paths = new Map(Object.entries({\n asc: `M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z`,\n desc: `M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z`,\n sort: `M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z`,\n}));\n\n/**\n * Table header cell\n * @slot - Place element content here\n */\n@customElement('pf-th')\nexport class PfTh extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({ type: Boolean, reflect: true }) sortable?: boolean = false;\n\n @property({ type: Boolean, reflect: true }) selected?: boolean = false;\n\n @property({\n reflect: true,\n attribute: 'sort-direction',\n }) sortDirection?: 'asc' | 'desc';\n\n @property() key!: string;\n\n @consume({ context: thRoleContext })\n private contextualRole: 'colheader' | 'rowheader' = 'rowheader';\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', this.contextualRole);\n }\n\n render(): TemplateResult<1> {\n const selected = !!this.selected;\n return this.sortable ?\n html`\n <button id=\"sort-button\"\n class=\"sortable ${classMap({ selected })}\"\n part=\"sort-button\"\n @click=\"${this.#onClick}\">\n <slot></slot>\n <span class=\"visually-hidden\">${!this.sortDirection ? '' : `(sorted ${this.sortDirection === 'asc' ? 'ascending' : 'descending'})`}</span>\n <span id=\"sort-indicator\">\n <svg fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 256 512\" aria-hidden=\"true\" role=\"img\" style=\"vertical-align: -0.125em;\">${svg`\n <path d=\"${paths.get(this.sortDirection ?? 'sort')}\"></path>`}\n </svg>\n </span>\n </button>\n ` : html`\n <slot></slot>\n `;\n }\n\n #onClick() {\n if (this.sortable) {\n this.sort();\n }\n }\n\n sort(): void {\n const next = DIRECTIONS[this.sortDirection ?? 'asc'];\n this.dispatchEvent(new RequestSortEvent(this.key, next));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-th': PfTh;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-th.js","sourceRoot":"","sources":["pf-th.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, svg, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { consume } from '@lit/context';\n\nimport { thRoleContext } from './context.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-th.css';\n\nconst DIRECTIONS = { asc: 'desc', desc: 'asc' } as const;\n\nexport class RequestSortEvent extends Event {\n constructor(\n public key: string,\n public direction: 'asc' | 'desc',\n ) {\n super('request-sort', {\n bubbles: true,\n cancelable: true,\n });\n }\n}\n\nconst paths = new Map(Object.entries({\n asc: `M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z`,\n desc: `M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z`,\n sort: `M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z`,\n}));\n\n/**\n * Table header cell\n * @slot - Place element content here\n */\n@customElement('pf-th')\nexport class PfTh extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @property({ type: Boolean, reflect: true }) sortable?: boolean = false;\n\n @property({ type: Boolean, reflect: true }) selected?: boolean = false;\n\n @property({\n reflect: true,\n attribute: 'sort-direction',\n }) sortDirection?: 'asc' | 'desc';\n\n @property() key!: string;\n\n @consume({ context: thRoleContext })\n private contextualRole: 'colheader' | 'rowheader' = 'rowheader';\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', this.contextualRole);\n }\n\n render(): TemplateResult<1> {\n const selected = !!this.selected;\n return this.sortable ?\n html`\n <button id=\"sort-button\"\n class=\"sortable ${classMap({ selected })}\"\n part=\"sort-button\"\n @click=\"${this.#onClick}\">\n <slot></slot>\n <span class=\"visually-hidden\">${!this.sortDirection ? '' : `(sorted ${this.sortDirection === 'asc' ? 'ascending' : 'descending'})`}</span>\n <span id=\"sort-indicator\">\n <svg fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 256 512\" aria-hidden=\"true\" role=\"img\" style=\"vertical-align: -0.125em;\">${svg`\n <path d=\"${paths.get(this.sortDirection ?? 'sort')}\"></path>`}\n </svg>\n </span>\n </button>\n ` : html`\n <slot></slot>\n `;\n }\n\n #onClick() {\n if (this.sortable) {\n this.sort();\n }\n }\n\n sort(): void {\n const next = DIRECTIONS[this.sortDirection ?? 'asc'];\n this.dispatchEvent(new RequestSortEvent(this.key, next));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-th': PfTh;\n }\n}\n"]}
@@ -4,7 +4,25 @@ import { LitElement, html } from 'lit';
4
4
  import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { thRoleContext } from './context.js';
6
6
  import { css } from "lit";
7
- const styles = css `:host {\n --pf-c-table--cell--MinWidth: var(--pf-c-table--m-truncate--cell--MinWidth);\n --pf-c-table--cell--MaxWidth: var(--pf-c-table--m-truncate--cell--MaxWidth);\n --pf-c-table--cell--Overflow: hidden;\n --pf-c-table--cell--TextOverflow: ellipsis;\n --pf-c-table--cell--WhiteSpace: nowrap;\n --pf-c-table--cell--FontSize: var(--pf-c-table--thead--cell--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n --pf-c-table--cell--FontWeight: var(--pf-c-table--thead--cell--FontWeight, var(--pf-global--FontWeight--bold, 700));\n vertical-align: bottom;\n display: grid;\n visibility: visible;\n}\n\n@media (max-width: 768px) {\n :host {\n display: none;\n visibility: hidden;\n }\n}`;
7
+ const styles = css `:host {
8
+ --pf-c-table--cell--MinWidth: var(--pf-c-table--m-truncate--cell--MinWidth);
9
+ --pf-c-table--cell--MaxWidth: var(--pf-c-table--m-truncate--cell--MaxWidth);
10
+ --pf-c-table--cell--Overflow: hidden;
11
+ --pf-c-table--cell--TextOverflow: ellipsis;
12
+ --pf-c-table--cell--WhiteSpace: nowrap;
13
+ --pf-c-table--cell--FontSize: var(--pf-c-table--thead--cell--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
14
+ --pf-c-table--cell--FontWeight: var(--pf-c-table--thead--cell--FontWeight, var(--pf-global--FontWeight--bold, 700));
15
+ vertical-align: bottom;
16
+ display: grid;
17
+ visibility: visible;
18
+ }
19
+
20
+ @media (max-width: 768px) {
21
+ :host {
22
+ display: none;
23
+ visibility: hidden;
24
+ }
25
+ }`;
8
26
  import { provide } from '@lit/context';
9
27
  let PfThead = class PfThead extends LitElement {
10
28
  constructor() {
@@ -29,7 +47,7 @@ _PfThead_onSlotchange = function _PfThead_onSlotchange() {
29
47
  }
30
48
  };
31
49
  PfThead.styles = [styles];
32
- PfThead.version = "4.1.0";
50
+ PfThead.version = "4.3.0";
33
51
  __decorate([
34
52
  provide({ context: thRoleContext })
35
53
  ], PfThead.prototype, "thRowContext", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-thead.js","sourceRoot":"","sources":["pf-thead.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;;;AAG7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOhC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;;QAGwC,iBAAY,GAAG,WAAW,CAAC;;IAExE,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;0BACW,uBAAA,IAAI,iDAAc;KACvC,CAAC;IACJ,CAAC;;;;IAGC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAnBe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAEN;IAA5C,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;6CAAoC;AAH7D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport { thRoleContext } from './context.js';\n\nimport styles from './pf-thead.css';\nimport { provide } from '@lit/context';\n\n/**\n * Table head\n * @slot - Place element content here\n */\n@customElement('pf-thead')\nexport class PfThead extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @provide({ context: thRoleContext }) private thRowContext = 'colheader';\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'rowgroup');\n }\n\n render(): TemplateResult<1> {\n return html`\n <slot @slotchange=${this.#onSlotchange}></slot>\n `;\n }\n\n #onSlotchange() {\n for (const th of this.querySelectorAll(':scope > pf-th')) {\n th.setAttribute('role', 'columnheader');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-thead': PfThead;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-thead.js","sourceRoot":"","sources":["pf-thead.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;AAG7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOhC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;;QAGwC,iBAAY,GAAG,WAAW,CAAC;;IAExE,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;0BACW,uBAAA,IAAI,iDAAc;KACvC,CAAC;IACJ,CAAC;;;;IAGC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAnBe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAEN;IAA5C,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;6CAAoC;AAH7D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport { thRoleContext } from './context.js';\n\nimport styles from './pf-thead.css';\nimport { provide } from '@lit/context';\n\n/**\n * Table head\n * @slot - Place element content here\n */\n@customElement('pf-thead')\nexport class PfThead extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n @provide({ context: thRoleContext }) private thRowContext = 'colheader';\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'rowgroup');\n }\n\n render(): TemplateResult<1> {\n return html`\n <slot @slotchange=${this.#onSlotchange}></slot>\n `;\n }\n\n #onSlotchange() {\n for (const th of this.querySelectorAll(':scope > pf-th')) {\n th.setAttribute('role', 'columnheader');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-thead': PfThead;\n }\n}\n"]}
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.1.0";
228
+ PfTr.version = "4.3.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.1.0";
59
+ PfTabPanel.version = "4.3.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"]}