@patternfly/elements 2.3.1 → 2.4.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 (195) hide show
  1. package/custom-elements.json +4399 -699
  2. package/package.json +11 -1
  3. package/pf-accordion/BaseAccordion.js +155 -220
  4. package/pf-accordion/BaseAccordion.js.map +1 -1
  5. package/pf-accordion/BaseAccordionHeader.d.ts +1 -0
  6. package/pf-accordion/BaseAccordionHeader.js +69 -71
  7. package/pf-accordion/BaseAccordionHeader.js.map +1 -1
  8. package/pf-accordion/BaseAccordionPanel.js +2 -2
  9. package/pf-accordion/BaseAccordionPanel.js.map +1 -1
  10. package/pf-accordion/pf-accordion-header.js +9 -4
  11. package/pf-accordion/pf-accordion-header.js.map +1 -1
  12. package/pf-accordion/pf-accordion-panel.js +1 -1
  13. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  14. package/pf-accordion/pf-accordion.js +1 -1
  15. package/pf-accordion/pf-accordion.js.map +1 -1
  16. package/pf-avatar/BaseAvatar.js +1 -1
  17. package/pf-avatar/BaseAvatar.js.map +1 -1
  18. package/pf-avatar/pf-avatar.js +1 -1
  19. package/pf-avatar/pf-avatar.js.map +1 -1
  20. package/pf-badge/BaseBadge.js +1 -1
  21. package/pf-badge/BaseBadge.js.map +1 -1
  22. package/pf-badge/pf-badge.js +1 -1
  23. package/pf-badge/pf-badge.js.map +1 -1
  24. package/pf-banner/README.md +60 -0
  25. package/pf-banner/pf-banner.css +96 -0
  26. package/pf-banner/pf-banner.d.ts +52 -0
  27. package/pf-banner/pf-banner.js +85 -0
  28. package/pf-banner/pf-banner.js.map +1 -0
  29. package/pf-button/BaseButton.js +17 -16
  30. package/pf-button/BaseButton.js.map +1 -1
  31. package/pf-button/pf-button.js +1 -1
  32. package/pf-button/pf-button.js.map +1 -1
  33. package/pf-card/BaseCard.css +2 -2
  34. package/pf-card/BaseCard.js +2 -2
  35. package/pf-card/BaseCard.js.map +1 -1
  36. package/pf-card/pf-card.css +4 -4
  37. package/pf-card/pf-card.js +2 -2
  38. package/pf-card/pf-card.js.map +1 -1
  39. package/pf-clipboard-copy/BaseClipboardCopy.js +1 -1
  40. package/pf-clipboard-copy/BaseClipboardCopy.js.map +1 -1
  41. package/pf-clipboard-copy/pf-clipboard-copy.js +36 -33
  42. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  43. package/pf-code-block/BaseCodeBlock.js +1 -1
  44. package/pf-code-block/BaseCodeBlock.js.map +1 -1
  45. package/pf-code-block/pf-code-block.js +14 -11
  46. package/pf-code-block/pf-code-block.js.map +1 -1
  47. package/pf-icon/BaseIcon.js +39 -41
  48. package/pf-icon/BaseIcon.js.map +1 -1
  49. package/pf-icon/pf-icon.js +2 -2
  50. package/pf-icon/pf-icon.js.map +1 -1
  51. package/pf-jump-links/pf-jump-links-item.js +17 -14
  52. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  53. package/pf-jump-links/pf-jump-links-list.js +1 -1
  54. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  55. package/pf-jump-links/pf-jump-links.js +37 -34
  56. package/pf-jump-links/pf-jump-links.js.map +1 -1
  57. package/pf-label/BaseLabel.js +1 -1
  58. package/pf-label/BaseLabel.js.map +1 -1
  59. package/pf-label/pf-label.js +2 -2
  60. package/pf-label/pf-label.js.map +1 -1
  61. package/pf-modal/pf-modal.js +46 -45
  62. package/pf-modal/pf-modal.js.map +1 -1
  63. package/pf-panel/pf-panel.js +7 -6
  64. package/pf-panel/pf-panel.js.map +1 -1
  65. package/pf-popover/pf-popover.d.ts +2 -2
  66. package/pf-popover/pf-popover.js +67 -55
  67. package/pf-popover/pf-popover.js.map +1 -1
  68. package/pf-progress/README.md +33 -0
  69. package/pf-progress/pf-progress.css +210 -0
  70. package/pf-progress/pf-progress.d.ts +111 -0
  71. package/pf-progress/pf-progress.js +218 -0
  72. package/pf-progress/pf-progress.js.map +1 -0
  73. package/pf-progress-stepper/pf-progress-step.js +11 -10
  74. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  75. package/pf-progress-stepper/pf-progress-stepper.js +16 -13
  76. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  77. package/pf-spinner/BaseSpinner.js +1 -1
  78. package/pf-spinner/BaseSpinner.js.map +1 -1
  79. package/pf-spinner/pf-spinner.js +1 -1
  80. package/pf-spinner/pf-spinner.js.map +1 -1
  81. package/pf-switch/BaseSwitch.js +44 -47
  82. package/pf-switch/BaseSwitch.js.map +1 -1
  83. package/pf-switch/pf-switch.js +1 -1
  84. package/pf-switch/pf-switch.js.map +1 -1
  85. package/pf-table/README.md +43 -0
  86. package/pf-table/pf-caption.css +9 -0
  87. package/pf-table/pf-caption.d.ts +14 -0
  88. package/pf-table/pf-caption.js +22 -0
  89. package/pf-table/pf-caption.js.map +1 -0
  90. package/pf-table/pf-table.css +223 -0
  91. package/pf-table/pf-table.d.ts +663 -0
  92. package/pf-table/pf-table.js +767 -0
  93. package/pf-table/pf-table.js.map +1 -0
  94. package/pf-table/pf-tbody.css +16 -0
  95. package/pf-table/pf-tbody.d.ts +15 -0
  96. package/pf-table/pf-tbody.js +26 -0
  97. package/pf-table/pf-tbody.js.map +1 -0
  98. package/pf-table/pf-td.css +105 -0
  99. package/pf-table/pf-td.d.ts +18 -0
  100. package/pf-table/pf-td.js +52 -0
  101. package/pf-table/pf-td.js.map +1 -0
  102. package/pf-table/pf-th.css +93 -0
  103. package/pf-table/pf-th.d.ts +27 -0
  104. package/pf-table/pf-th.js +96 -0
  105. package/pf-table/pf-th.js.map +1 -0
  106. package/pf-table/pf-thead.css +19 -0
  107. package/pf-table/pf-thead.d.ts +16 -0
  108. package/pf-table/pf-thead.js +37 -0
  109. package/pf-table/pf-thead.js.map +1 -0
  110. package/pf-table/pf-tr.css +87 -0
  111. package/pf-table/pf-tr.d.ts +34 -0
  112. package/pf-table/pf-tr.js +164 -0
  113. package/pf-table/pf-tr.js.map +1 -0
  114. package/pf-tabs/BaseTab.d.ts +3 -0
  115. package/pf-tabs/BaseTab.js +32 -31
  116. package/pf-tabs/BaseTab.js.map +1 -1
  117. package/pf-tabs/BaseTabPanel.js +11 -5
  118. package/pf-tabs/BaseTabPanel.js.map +1 -1
  119. package/pf-tabs/BaseTabs.js +116 -135
  120. package/pf-tabs/BaseTabs.js.map +1 -1
  121. package/pf-tabs/pf-tab-panel.js +1 -1
  122. package/pf-tabs/pf-tab-panel.js.map +1 -1
  123. package/pf-tabs/pf-tab.d.ts +1 -1
  124. package/pf-tabs/pf-tab.js +2 -2
  125. package/pf-tabs/pf-tab.js.map +1 -1
  126. package/pf-tabs/pf-tabs.d.ts +2 -0
  127. package/pf-tabs/pf-tabs.js +6 -2
  128. package/pf-tabs/pf-tabs.js.map +1 -1
  129. package/pf-text-input/README.md +9 -0
  130. package/pf-text-input/pf-text-input.css +261 -0
  131. package/pf-text-input/pf-text-input.d.ts +174 -0
  132. package/pf-text-input/pf-text-input.js +262 -0
  133. package/pf-text-input/pf-text-input.js.map +1 -0
  134. package/pf-tile/pf-tile.js +1 -1
  135. package/pf-tile/pf-tile.js.map +1 -1
  136. package/pf-timestamp/pf-timestamp.js +15 -10
  137. package/pf-timestamp/pf-timestamp.js.map +1 -1
  138. package/pf-tooltip/BaseTooltip.css +1 -5
  139. package/pf-tooltip/BaseTooltip.d.ts +3 -0
  140. package/pf-tooltip/BaseTooltip.js +18 -9
  141. package/pf-tooltip/BaseTooltip.js.map +1 -1
  142. package/pf-tooltip/pf-tooltip.css +66 -4
  143. package/pf-tooltip/pf-tooltip.d.ts +25 -3
  144. package/pf-tooltip/pf-tooltip.js +144 -5
  145. package/pf-tooltip/pf-tooltip.js.map +1 -1
  146. package/pfe.min.js +257 -137
  147. package/pfe.min.js.map +4 -4
  148. package/react/pf-accordion/pf-accordion-header.d.ts +3 -5
  149. package/react/pf-accordion/pf-accordion-panel.d.ts +3 -5
  150. package/react/pf-accordion/pf-accordion.d.ts +3 -5
  151. package/react/pf-avatar/pf-avatar.d.ts +3 -5
  152. package/react/pf-badge/pf-badge.d.ts +3 -5
  153. package/react/pf-banner/pf-banner.d.ts +4 -0
  154. package/react/pf-banner/pf-banner.js +10 -0
  155. package/react/pf-button/pf-button.d.ts +3 -5
  156. package/react/pf-card/pf-card.d.ts +3 -5
  157. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +3 -5
  158. package/react/pf-code-block/pf-code-block.d.ts +3 -5
  159. package/react/pf-icon/pf-icon.d.ts +3 -5
  160. package/react/pf-jump-links/pf-jump-links-item.d.ts +3 -5
  161. package/react/pf-jump-links/pf-jump-links-list.d.ts +3 -5
  162. package/react/pf-jump-links/pf-jump-links.d.ts +3 -5
  163. package/react/pf-label/pf-label.d.ts +3 -5
  164. package/react/pf-modal/pf-modal.d.ts +3 -5
  165. package/react/pf-panel/pf-panel.d.ts +3 -5
  166. package/react/pf-popover/pf-popover.d.ts +3 -5
  167. package/react/pf-progress/pf-progress.d.ts +4 -0
  168. package/react/pf-progress/pf-progress.js +10 -0
  169. package/react/pf-progress-stepper/pf-progress-step.d.ts +3 -5
  170. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +3 -5
  171. package/react/pf-spinner/pf-spinner.d.ts +3 -5
  172. package/react/pf-switch/pf-switch.d.ts +3 -5
  173. package/react/pf-table/pf-caption.d.ts +4 -0
  174. package/react/pf-table/pf-caption.js +10 -0
  175. package/react/pf-table/pf-table.d.ts +4 -0
  176. package/react/pf-table/pf-table.js +10 -0
  177. package/react/pf-table/pf-tbody.d.ts +4 -0
  178. package/react/pf-table/pf-tbody.js +10 -0
  179. package/react/pf-table/pf-td.d.ts +4 -0
  180. package/react/pf-table/pf-td.js +10 -0
  181. package/react/pf-table/pf-th.d.ts +4 -0
  182. package/react/pf-table/pf-th.js +10 -0
  183. package/react/pf-table/pf-thead.d.ts +4 -0
  184. package/react/pf-table/pf-thead.js +10 -0
  185. package/react/pf-table/pf-tr.d.ts +4 -0
  186. package/react/pf-table/pf-tr.js +10 -0
  187. package/react/pf-tabs/pf-tab-panel.d.ts +3 -5
  188. package/react/pf-tabs/pf-tab.d.ts +3 -5
  189. package/react/pf-tabs/pf-tab.js +1 -1
  190. package/react/pf-tabs/pf-tabs.d.ts +3 -5
  191. package/react/pf-text-input/pf-text-input.d.ts +4 -0
  192. package/react/pf-text-input/pf-text-input.js +10 -0
  193. package/react/pf-tile/pf-tile.d.ts +3 -5
  194. package/react/pf-timestamp/pf-timestamp.d.ts +3 -5
  195. package/react/pf-tooltip/pf-tooltip.d.ts +3 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-table.js","sourceRoot":"","sources":["pf-table.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { state } from 'lit/decorators/state.js';\n\nimport { PfTh, RequestSortEvent } from './pf-th.js';\nimport { PfTr, RequestExpandEvent } from './pf-tr.js';\n\nexport * from './pf-caption.js';\nexport * from './pf-thead.js';\nexport * from './pf-tbody.js';\nexport * from './pf-tr.js';\nexport * from './pf-th.js';\nexport * from './pf-td.js';\n\nimport styles from './pf-table.css';\nimport { PfTd } from './pf-td.js';\n\nconst rowQuery = [\n ':scope > pf-tbody:not([expandable]) > pf-tr',\n ':scope > pf-tbody > pf-tr[expandable]',\n ':scope > pf-tr',\n ':scope > pf-tr[expandable]',\n].join();\n\n/**\n * A **table** is used to display large data sets that can be easily laid out in a simple grid with column headers.\n *\n * @slot\n * The default slot can hold an optional `pf-caption` element and a combination of `pf-tr`, `pf-thead`, or `pf-tbody` elements.\n *\n * @cssprop {<color>} --pf-c-table--BackgroundColor\n * Table background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--BorderColor\n * Table border color\n * {@default `#d2d2d2`}\n * @cssprop {<dimension>} --pf-c-table--border-width--base\n * Table border base width\n * {@default `1px`}\n * @cssprop {<dimension>} --pf-c-table-caption--FontSize\n * Table caption font size\n * {@default `0.875rem`}\n * @cssprop {<color>} --pf-c-table-caption--Color\n * Table caption color\n * {@default `#6a6e73`}\n * @cssprop {<dimension>} --pf-c-table-caption--PaddingTop\n * Table caption top padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table-caption--PaddingRight\n * Table caption right padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table-caption--PaddingBottom\n * Table caption bottom padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table-caption--PaddingLeft\n * Table caption left padding\n * {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-table-caption--xl--PaddingRight\n * Table XL caption right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table-caption--xl--PaddingLeft\n * Table XL caption left padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--thead--cell--FontSize\n * Table head cell font size\n * {@default `0.875rem`}\n * @cssprop {<number>} --pf-c-table--thead--cell--FontWeight\n * Table head cell font weight\n * {@default `700`}\n * @cssprop {<dimension>} --pf-c-table--tbody--cell--PaddingTop\n * Table body cell padding top\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--tbody--cell--PaddingBottom\n * Table body cell padding bottom\n * {@default `1.5rem`}\n * @cssprop {<color>} --pf-c-table--tr--BoxShadow--top--base\n * Table row top base box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<dimension>} --pf-c-table--cell--Padding--base\n * Table cell base padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--FontSize\n * Table cell font size\n * {@default `1rem`}\n * @cssprop {<number>} --pf-c-table--cell--FontWeight\n * Table cell font weight\n * {@default `400`}\n * @cssprop {<color>} --pf-c-table--cell--Color\n * Table cell color\n * {@default `#151515`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingTop\n * Table cell top padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingRight\n * Table cell right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingBottom\n * Table cell bottom padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingLeft\n * Table cell left padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--first-last-child--PaddingLeft\n * Table cell last child left padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--first-last-child--PaddingRight\n * Table cell last child right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--first-last-child--xl--PaddingLeft\n * Table XL cell last child left padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--first-last-child--xl--PaddingRight\n * Table XL cell last child right padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--tr--m-first-cell-offset-reset--cell--PaddingLeft\n * Table row first cell offset reset cell left padding\n * {@default `1rem`}\n * @cssprop {<length>} --pf-c-table--cell--MinWidth\n * Table cell min width\n * {@default `0`}\n * @cssprop {<length>} --pf-c-table--cell--MaxWidth\n * Table cell max width\n * {@default `none`}\n * @cssprop {<length>} --pf-c-table--cell--Width\n * Table cell width\n * {@default `auto`}\n * @cssprop {<overflow>} --pf-c-table--cell--Overflow\n * Table cell overflow\n * {@default `visible`}\n * @cssprop {<>} --pf-c-table--cell--TextOverflow\n * Table cell text overflow\n * {@default `clip`}\n * @cssprop {<>} --pf-c-table--cell--WhiteSpace\n * Table cell white space\n * {@default `normal`}\n * @cssprop {<>} --pf-c-table--cell--WordBreak\n * Table cell word break\n * {@default `normal`}\n * @cssprop {<length>} --pf-c-table--cell--m-border-right--before--BorderRightWidth\n * Table cell before right border width\n * {@default `1px`}\n * @cssprop {<color>} --pf-c-table--cell--m-border-right--before--BorderRightColor\n * Table cell before right border color\n * {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-table--cell--m-border-left--before--BorderLeftWidth\n * Table cell before left border width\n * {@default `1px`}\n * @cssprop {<color>} --pf-c-table--cell--m-border-left--before--BorderLeftColor\n * Table cell before left border color\n * {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-table--cell--m-help--MinWidth\n * Help cell minimum width\n * {@default `11ch`}\n * @cssprop {<length>} --pf-c-table--m-truncate--cell--MaxWidth\n * Help cell maximum width\n * {@default `1px`}\n * @cssprop {<calc-sum>} --pf-c-table--m-truncate--cell--MinWidth\n * Truncated cell minimum width\n * {@default `calc(5ch + 1rem + 1rem)`}\n * @cssprop {<>} --pf-c-table--cell--hidden-visible--Display\n * Cell visible display\n * {@default `grid`}\n * @cssprop {<calc-product>} --pf-c-table__toggle--c-button--MarginTop\n * Toggle button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__toggle--c-button--MarginBottom\n * Toggle button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<>} --pf-c-table__toggle--c-button__toggle-icon--Rotate\n * Toggle button icon rotation\n * {@default `270deg`}\n * @cssprop {<>} --pf-c-table__toggle--c-button__toggle-icon--Transition\n * Toggle button icon transition\n * {@default `.2s ease-in 0s`}\n * @cssprop {<>} --pf-c-table__toggle--c-button--m-expanded__toggle-icon--Rotate\n * Expanded toggle button icon rotation\n * {@default `360deg`}\n * @cssprop {<color>} --pf-c-table__button--BackgroundColor\n * Button background color\n * {@default `transparent`}\n * @cssprop {<color>} --pf-c-table__button--Color\n * Button color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__button--hover--Color\n * Button hover color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__button--focus--Color\n * Button focus color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__button--active--Color\n * Button active color\n * {@default `#151515`}\n * @cssprop {<calc-sum>} --pf-c-table__button--OutlineOffset\n * Button outline offset\n * {@default `calc(3px * -1)`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__toggle--PaddingTop\n * Compact toggle top padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__toggle--PaddingBottom\n * Compacy toggle bottom padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__check--input--MarginTop\n * Check input top margin\n * {@default `0.25rem`}\n * @cssprop {<dimension>} --pf-c-table__check--input--FontSize\n * Check input font size\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-table--cell--m-favorite--Color\n * Favorite cell color\n * {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-table__favorite--c-button--Color\n * Favorite button color\n * {@default `#d2d2d2`}\n * @cssprop {<dimension>} --pf-c-table__favorite--c-button--FontSize\n * Favorite button font size\n * {@default `0.875rem`}\n * @cssprop {<calc-product>} --pf-c-table__favorite--c-button--MarginTop\n * Favorite button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__favorite--c-button--MarginRight\n * Favorite button right margin\n * {@default `calc(1rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__favorite--c-button--MarginBottom\n * Favorite button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__favorite--c-button--MarginLeft\n * Favorite button left margin\n * {@default `calc(1rem * -1)`}\n * @cssprop {<color>} --pf-c-table__favorite--m-favorited--c-button--Color\n * Favorited button color\n * {@default `#f0ab00`}\n * @cssprop {<color>} --pf-c-table__sort--m-favorite__button__text--Color\n * Favorite sort button text color\n * {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-table__sort--m-favorite__button--hover__text--Color\n * Favorite sort button hover text color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__sort--m-favorite__button--focus__text--Color\n * Favorite sort button focus text color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__sort--m-favorite__button--active__text--Color\n * Favorite sort button active text color\n * {@default `#151515`}\n * @cssprop {<calc-product>} --pf-c-table__draggable--c-button--MarginTop\n * Draggable button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__draggable--c-button--MarginRight\n * Draggable button right margin\n * {@default `calc(1rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__draggable--c-button--MarginBottom\n * Draggable button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__draggable--c-button--MarginLeft\n * Draggable button left margin\n * {@default `calc(1rem * -1)`}\n * @cssprop {<dimension>} --pf-c-table__tr--m-ghost-row--Opacity\n * Ghost row opacity\n * {@default `.4`}\n * @cssprop {<color>} --pf-c-table__tr--m-ghost-row--BackgroundColor\n * Ghost row background color\n * {@default `#fff`}\n * @cssprop {<dimension>} --pf-c-table__action--PaddingTop\n * Action top padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__action--PaddingRight\n * Action right padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__action--PaddingBottom\n * Action bottom padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__action--PaddingLeft\n * Action left padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__inline-edit-action--PaddingTop\n * Inline edit action top padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__inline-edit-action--PaddingRight\n * Inline edit action right padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__inline-edit-action--PaddingBottom\n * Inline edit action bottom padding\n * {@default `0`}\n * @cssprop {<dimension>} --pf-c-table__inline-edit-action--PaddingLeft\n * Inline edit action left padding\n * {@default `0`}\n * @cssprop {<>} --pf-c-table__expandable-row--Transition\n * Expandable row transition\n * {@default `all 250ms cubic-bezier(.42, 0, .58, 1)`}\n * @cssprop {<length>} --pf-c-table__expandable-row--MaxHeight\n * Expandable row max height\n * {@default `28.125rem`}\n * @cssprop {<>} --pf-c-table__expandable-row-content--Transition\n * Expandable row content transition\n * {@default `all 250ms cubic-bezier(.42, 0, .58, 1)`}\n * @cssprop {<dimension>} --pf-c-table__expandable-row-content--PaddingTop\n * Expandable row content top padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table__expandable-row-content--PaddingBottom\n * Expandable row content bottom padding\n * {@default `1.5rem`}\n * @cssprop {<calc-product>} --pf-c-table__expandable-row--after--Top\n * Expandable row after top\n * {@default `calc(1px * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__expandable-row--after--Bottom\n * Expandable row after bottom\n * {@default `calc(1px * -1)`}\n * @cssprop {<length>} --pf-c-table__expandable-row--after--border-width--base\n * Expandable row after base border width\n * {@default `3px`}\n * @cssprop {<length>} --pf-c-table__expandable-row--after--BorderLeftWidth\n * Expandable row after left border width\n * {@default `0`}\n * @cssprop {<color>} --pf-c-table__expandable-row--after--BorderColor\n * Expandable row after border color\n * {@default `#06c`}\n * @cssprop {<dimension>} --pf-c-table__icon-inline--MarginRight\n * Inline icon right margin\n * {@default `0.5rem`}\n * @cssprop {<calc-sum>} --pf-c-table__sort--MinWidth\n * Sort button minimum width\n * {@default `calc(6ch + 1rem + 1rem + 1rem)`}\n * @cssprop {<dimension>} --pf-c-table__sort__button--PaddingTop\n * Sort button top padding\n * {@default `0.375rem`}\n * @cssprop {<dimension>} --pf-c-table__sort__button--PaddingRight\n * Sort button right padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table__sort__button--PaddingBottom\n * Sort button bottom padding\n * {@default `0.375rem`}\n * @cssprop {<dimension>} --pf-c-table__sort__button--PaddingLeft\n * Sort button left padding\n * {@default `0.5rem`}\n * @cssprop {<calc-product>} --pf-c-table__sort__button--MarginTop\n * Sort button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__sort__button--MarginBottom\n * Sort button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__sort__button--MarginLeft\n * Sort button left margin\n * {@default `calc(0.5rem * -1)`}\n * @cssprop {<color>} --pf-c-table__sort__button--Color\n * Sort button color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__sort--m-selected__button--Color\n * Selected sort button color\n * {@default `#06c`}\n * @cssprop {<length>} --pf-c-table__sort--m-help--MinWidth\n * Help button minimum width\n * {@default `15ch`}\n * @cssprop {<color>} --pf-c-table__sort__button__text--Color\n * Sort button text color\n * {@default `currentcolor`}\n * @cssprop {<color>} --pf-c-table__sort__button--hover__text--Color\n * Sort button hover text color\n * {@default `currencolor`}\n * @cssprop {<color>} --pf-c-table__sort__button--focus__text--Color\n * Sort button focus text color\n * {@default `currentcolor`}\n * @cssprop {<color>} --pf-c-table__sort__button--active__text--Color\n * Sort button active text color\n * {@default `currentcolor`}\n * @cssprop {<color>} --pf-c-table__sort-indicator--Color\n * Sort inidcator color\n * {@default `#d2d2d2`}\n * @cssprop {<calc-sum>} --pf-c-table__sort-indicator--MarginLeft\n * Sort inidcator left margin\n * {@default `calc(6ch + 1rem + 1rem + 1rem)`}\n * @cssprop {<color>} --pf-c-table__sort--m-selected__sort-indicator--Color\n * Selected sort inidcator color\n * {@default `#06c`}\n * @cssprop {<color>} --pf-c-table__sort__button--hover__sort-indicator--Color\n * Sort button hover sort indicator color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__sort__button--active__sort-indicator--Color\n * Sort button hover active sort indicator color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-table__sort__button--focus__sort-indicator--Color\n * Sort button hover focus sort indicator color\n * {@default `#151515`}\n * @cssprop {<length>} --pf-c-table--th--m-help--MinWidth\n * Header cell help minimum width\n * {@default `11ch`}\n * @cssprop {<dimension>} --pf-c-table__column-help--MarginLeft\n * Help column left magin\n * {@default `0.25rem`}\n * @cssprop {<dimension>} --pf-c-table__column-help--TranslateY\n * Help column translate y axis\n * {@default `0.125rem`}\n * @cssprop {<calc-product>} --pf-c-table__column-help--c-button--MarginTop\n * Help column button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__column-help--c-button--MarginBottom\n * Help column button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<dimension>} --pf-c-table__column-help--c-button--PaddingRight\n * Help column button right padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table__column-help--c-button--PaddingLeft\n * Help column button left margin\n * {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--Color\n * Compound expansion toggle button color\n * {@default `#06c`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--hover--Color\n * Compound expansion hover toggle button color\n * {@default `#004080`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--focus--Color\n * Compound expansion focus toggle button color\n * {@default `#004080`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--active--Color\n * Compound expansion active toggle button color\n * {@default `#004080`}\n * @cssprop {<length>} --pf-c-table__compound-expansion-toggle__button--before--border-width--base\n * Compound expansion toggle button before border width\n * {@default `1px`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--before--BorderColor\n * Compound expansion toggle button before border color\n * {@default `#d2d2d2`}\n * @cssprop {<length>} --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth\n * Compound expansion toggle button before right border width\n * {@default `0`}\n * @cssprop {<length>} --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth\n * Compound expansion toggle button before left border width\n * {@default `0`}\n * @cssprop {<calc-product>} --pf-c-table__compound-expansion-toggle__button--before--Bottom\n * Compound expansion toggle button before bottom\n * {@default `calc(1px * -1)`}\n * @cssprop {<calc-product>} --pf-c-table__compound-expansion-toggle__button--before--Left\n * Compound expansion toggle button before left\n * {@default `calc(1px * -1)`}\n * @cssprop {<length>} --pf-c-table__compound-expansion-toggle__button--after--border-width--base\n * Compound expansion toggle button after base border width\n * {@default `3px`}\n * @cssprop {<color>} --pf-c-table__compound-expansion-toggle__button--after--BorderColor\n * Compound expansion toggle button after border color\n * {@default `#06c`}\n * @cssprop {<length>} --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth\n * Compound expansion toggle button after top border width\n * {@default `0`}\n * @cssprop {<calc-sum>} --pf-c-table__compound-expansion-toggle__button--after--Top\n * Compound expansion toggle button after top\n * {@default `calc(1px * -1)`}\n * @cssprop {<calc-sum>} --pf-c-table__compound-expansion-toggle__button--after--Left\n * Compound expansion toggle button after left\n * {@default `calc(1px * -1)`}\n * @cssprop {<calc-sum>} --pf-c-table--m-compact-th--PaddingTop\n * Compact header cell top padding\n * {@default `calc(0.5rem + 0.25rem)`}\n * @cssprop {<dimension>} --pf-c-table--m-compact-th--PaddingBottom\n * Compact header cell bottom padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--PaddingTop\n * Compact cell top padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--PaddingRight\n * Compact cell right padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--PaddingBottom\n * Compact cell bottom padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--PaddingLeft\n * Compact cell left padding\n * {@default `0.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--first-last-child--PaddingLeft\n * Compact cell first child left padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--first-last-child--PaddingRight\n * Compact XLcell first child right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--first-last-child--xl--PaddingLeft\n * Compact cell first child XL left padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--cell--first-last-child--xl--PaddingRight\n * Compact cell first child XL right padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact--FontSize\n * Compact font size\n * {@default `0.875rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__expandable-row-content--PaddingTop\n * Compact expandable row content top padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__expandable-row-content--PaddingRight\n * Compact expandable row content right padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__expandable-row-content--PaddingBottom\n * Compact expandable row content bottom padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--m-compact__expandable-row-content--PaddingLeft\n * Compact expandable row content left padding\n * {@default `1.5rem`}\n * @cssprop {<dimension>} --pf-c-table--nested--first-last-child--PaddingRight\n * Nested first child right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--nested--first-last-child--PaddingLeft\n * Nested first child left padding\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-table__expandable-row--m-expanded--BorderBottomColor\n * Expandable row expanded bottom border color\n * {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--BoxShadow--top\n * Hoverable table row top box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<dimension>} --pf-c-table--tr--m-hoverable--BackgroundColor\n * Hoverable table row background color\n * {@default `transparent`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--BoxShadow\n * Hoverable table row box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<calc-sum>} --pf-c-table--tr--m-hoverable--OutlineOffset\n * Hoverable table row outline offset\n * {@default `calc(-1 * 0.25rem)`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--hover--BoxShadow\n * Hoverable table row hover box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--hover--BackgroundColor\n * Hoverable table row hover background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--focus--BoxShadow\n * Hoverable table row focus box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--focus--BackgroundColor\n * Hoverable table row focus background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--active--BoxShadow\n * Hoverable table row active box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--active--BackgroundColor\n * Hoverable table row active background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tr--m-hoverable--m-selected--BoxShadow\n * Hoverable table row selected box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16) inset, 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--BoxShadow--top\n * Selected table row top box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--BackgroundColor\n * Selected table row background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--BoxShadow\n * Selected table row box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<calc-sum>} --pf-c-table--tr--m-selected--OutlineOffset\n * Selected table row outline offset\n * {@default `calc(-1 * 0.25rem)`}\n * @cssprop {<length>} --pf-c-table--tr--m-selected--after--BorderLeftWidth\n * Selected table row after left border width\n * {@default `3px`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--after--BorderLeftColor\n * Selected table row after left border color\n * {@default `#06c`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--m-selected--BoxShadow\n * Selected table row box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--hover--m-selected--BoxShadow\n * Selected table row hover box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16) inset, 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tr--m-selected--tr--m-selected--hover--BoxShadow\n * Selected table row hover box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--BoxShadow--top\n * Hoverable table body top box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--BoxShadow\n * Hoverable table body box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<dimension>} --pf-c-table--tbody--m-hoverable--BackgroundColor\n * Hoverable table body background color\n * {@default `transparent`}\n * @cssprop {<calc-sum>} --pf-c-table--tbody--m-hoverable--OutlineOffset\n * Hoverable table body outline offset\n * {@default `calc(-1 * 0.25rem)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--hover--BoxShadow\n * Hoverable table body hover box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--hover--BackgroundColor\n * Hoverable table body hover background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--focus--BoxShadow\n * Hoverable table body focus box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--focus--BackgroundColor\n * Hoverable table body focus background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--active--BoxShadow\n * Hoverable table body active box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--active--BackgroundColor\n * Hoverable table body active background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--m-expanded--BorderColor\n * Hoverable table body expanded border color\n * {@default `#73bcf7`}\n * @cssprop {<color>} --pf-c-table--tbody--m-hoverable--m-selected--hover--tr--BoxShadow\n * Hoverable table body selected table row box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16) inset, 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--BackgroundColor\n * Selected table body background color\n * {@default `#fff`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--BoxShadow--top\n * Selected table body top box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--BoxShadow\n * Selected table body box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08)`}\n * @cssprop {<calc-product>} --pf-c-table--tbody--m-selected--OutlineOffset\n * Selected table body outline offset\n * {@default `calc(-1 * 0.25rem)`}\n * @cssprop {<length>} --pf-c-table--tbody--m-selected--after--BorderLeftWidth\n * Selected table body after left border width\n * {@default `3px`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--after--BorderLeftColor\n * Selected table body after left border color\n * {@default `#06c`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--m-selected--BoxShadow\n * Selected table body selected box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--hover--tbody--m-selected--BoxShadow\n * Selected table body hover selected box shadow\n * {@default `0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16) inset, 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<color>} --pf-c-table--tbody--m-selected--tbody--m-selected--hover--BoxShadow\n * Selected table body hover box shadow\n * {@default `0 -0.1875rem 0.25rem -0.125rem rgba(3,3,3,.08), 0 0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16)`}\n * @cssprop {<dimension>} --pf-c-table--thead--m-nested-column-header--button--OutlineOffset\n * Table head nested column header button outline offset\n * {@default `-0.1875rem`}\n * @cssprop {<dimension>} --pf-c-table--thead--m-nested-column-header--tr--PaddingTop\n * Table head nested column header row top padding\n * {@default `0.25rem`}\n * @cssprop {<dimension>} --pf-c-table--thead--m-nested-column-header--tr--PaddingBottom\n * Table head nested column header row bottom padding\n * {@default `0.25rem`}\n * @cssprop {<color>} --pf-c-table__subhead--Color\n * Subhead color\n * {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-table--m-striped__tr--BackgroundColor\n * Striped row background color\n * {@default `#fafafa`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingTop\n * Cell top padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingRight\n * Cell right padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingBottom\n * Cell bottom padding\n * {@default `1rem`}\n * @cssprop {<dimension>} --pf-c-table--cell--PaddingLeft\n * Cell left padding\n * {@default `1rem`}\n * @cssprop {<calc-sum>} --pf-c-table__favorite--c-button--MarginTop\n * Favorite button top margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-sum>} --pf-c-table__favorite--c-button--MarginRight\n * Favorite button right margin\n * {@default `calc(1rem * -1)`}\n * @cssprop {<calc-sum>} --pf-c-table__favorite--c-button--MarginBottom\n * Favorite button bottom margin\n * {@default `calc(0.375rem * -1)`}\n * @cssprop {<calc-sum>} --pf-c-table__favorite--c-button--MarginLeft\n * Favorite button left margin\n * {@default `calc(1rem * -1)`}\n */\n@customElement('pf-table')\nexport class PfTable extends LitElement {\n static readonly styles = [styles];\n\n get rows() {\n return this.querySelectorAll<PfTr>(rowQuery);\n }\n\n @state() private columns = 0;\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'table');\n this.#onSlotchange();\n }\n\n render() {\n const hasExpandableRow = !!this.querySelector('pf-tr[expandable]');\n const coeffRows = hasExpandableRow ? '1' : '0';\n return html`\n <slot @slotchange=\"${this.#onSlotchange}\"\n @request-expand=\"${this.#onRequestExpand}\"\n @request-sort=\"${this.#onRequestSort}\"\n style=\"${styleMap({\n '--_pf-table--expandable-rows': coeffRows,\n '--_pf-table--number-of-columns': this.columns,\n })}\"\n ></slot>\n `;\n }\n\n #onRequestExpand(event: Event) {\n if (event instanceof RequestExpandEvent &&\n !event.defaultPrevented) {\n event.stopPropagation();\n if (event.target instanceof PfTr) {\n event.target.expanded = !!event.target.expandable && !event.target.expanded;\n } else if (event.target instanceof PfTd && event.row) {\n event.row.expanded = event.compoundExpanded;\n for (const cell of event.row.querySelectorAll('pf-td')) {\n cell.expanded = event.compoundExpanded === cell.compoundExpand;\n }\n }\n }\n }\n\n #onSlotchange() {\n this.columns = this.querySelector('pf-tr')?.querySelectorAll('pf-th')?.length ?? 0;\n this.requestUpdate();\n }\n\n #onRequestSort(event: Event) {\n if (event instanceof RequestSortEvent) {\n for (const col of this.querySelectorAll<PfTh>('pf-th[sortable]')) {\n col.selected = col === event.target;\n if (col !== event.target) {\n col.removeAttribute('sort-direction');\n }\n }\n if (!event.defaultPrevented && event.target instanceof PfTh) {\n event.target.sortDirection = event.direction;\n this.#performSort(event.target, event.direction);\n }\n }\n }\n\n #performSort(header: PfTh, direction: 'asc' | 'desc') {\n const children = header.parentElement?.children;\n if (children) {\n const columnIndexToSort = [...children].indexOf(header);\n Array\n .from(this.rows, node => PfTable.getNodeContentForSort(columnIndexToSort, node))\n .sort((a, b) => PfTable.sortByContent(direction, a, b))\n .forEach(({ node }, index) => {\n const target = this.rows[index];\n if (this.rows[index] !== node) {\n const position: InsertPosition =\n direction === 'desc' ? 'afterend' : 'beforebegin';\n target.insertAdjacentElement(position, node);\n }\n });\n }\n }\n\n private static getNodeContentForSort(\n columnIndexToSort: number,\n node: Element,\n ) {\n const content = node.querySelector(`\n :scope > :is(pf-th, pf-td):nth-child(${columnIndexToSort + 1}),\n :scope > pf-tr > :is(pf-th, pf-td):nth-child(${columnIndexToSort + 1})\n `.trim())?.textContent?.trim()?.toLowerCase() ?? '';\n return { node, content };\n }\n\n private static sortByContent(\n direction: 'asc' | 'desc',\n a: { content: string },\n b: { content: string },\n ) {\n if (direction === 'asc') {\n return (a.content < b.content ? -1 : a.content > b.content ? 1 : 0);\n } else {\n return (b.content < a.content ? -1 : b.content > a.content ? 1 : 0);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-table': PfTable;\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ :host {
2
+ --pf-c-table--cell--PaddingTop: var(--pf-c-table--tbody--cell--PaddingTop);
3
+ --pf-c-table--cell--PaddingBottom: var(--pf-c-table--tbody--cell--PaddingBottom);
4
+ display: grid;
5
+ }
6
+
7
+ @media (max-width: 768px) {
8
+ :host {
9
+ position: relative;
10
+ }
11
+
12
+ :host:first-of-type {
13
+ border-bottom: var(--pf-c-table--border-width--base) solid var(--pf-c-table--BorderColor);
14
+ }
15
+ }
16
+
@@ -0,0 +1,15 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Table body
4
+ * @slot - Place element content here
5
+ */
6
+ export declare class PfTbody extends LitElement {
7
+ static readonly styles: import("lit").CSSResult[];
8
+ connectedCallback(): void;
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'pf-tbody': PfTbody;
14
+ }
15
+ }
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement } from 'lit/decorators/custom-element.js';
4
+ import { css } from "lit";
5
+ const styles = css `:host{--pf-c-table--cell--PaddingTop:var(--pf-c-table--tbody--cell--PaddingTop);--pf-c-table--cell--PaddingBottom:var(--pf-c-table--tbody--cell--PaddingBottom);display:grid}@media (max-width:768px){:host{position:relative}:host:first-of-type{border-bottom:var(--pf-c-table--border-width--base) solid var(--pf-c-table--BorderColor)}}`;
6
+ /**
7
+ * Table body
8
+ * @slot - Place element content here
9
+ */
10
+ let PfTbody = class PfTbody extends LitElement {
11
+ connectedCallback() {
12
+ super.connectedCallback();
13
+ this.setAttribute('role', 'rowgroup');
14
+ }
15
+ render() {
16
+ return html `
17
+ <slot></slot>
18
+ `;
19
+ }
20
+ };
21
+ PfTbody.styles = [styles];
22
+ PfTbody = __decorate([
23
+ customElement('pf-tbody')
24
+ ], PfTbody);
25
+ export { PfTbody };
26
+ //# sourceMappingURL=pf-tbody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-tbody.js","sourceRoot":"","sources":["pf-tbody.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAIjE;;;GAGG;AAEH,IAAa,OAAO,GAApB,MAAa,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,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AADvB,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAanB;SAbY,OAAO","sourcesContent":["import { LitElement, html } 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 = [styles];\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'rowgroup');\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tbody': PfTbody;\n }\n}\n"]}
@@ -0,0 +1,105 @@
1
+ :host(:empty),
2
+ :host([compound-expand]) {
3
+ padding: 0;
4
+ }
5
+
6
+ :host([compound-expand]:hover) {
7
+ --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
8
+ --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
9
+ --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);
10
+ }
11
+
12
+ :host([compound-expand]:focus-within) {
13
+ outline-offset: var(--pf-c-table__button--OutlineOffset);
14
+ }
15
+
16
+ :host([compound-expand][expanded]) {
17
+ --pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
18
+ --pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth: var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
19
+ --pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth: var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);
20
+ --pf-c-table__compound-expansion-toggle__button--before--Left: 0;
21
+ }
22
+
23
+ @media (-webkit-min-device-pixel-ratio: 0) {
24
+ :host([compound-expand]:focus-within) {
25
+ outline-style: auto;
26
+ outline-color: -webkit-focus-ring-color;
27
+ }
28
+ }
29
+
30
+ @media (min-width: 768px) {
31
+ :host {
32
+ padding: 1.5rem 1rem;
33
+ }
34
+ }
35
+
36
+ button {
37
+ position: relative;
38
+ width: 100%;
39
+ 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);
40
+ font-size: inherit;
41
+ font-weight: inherit;
42
+ color: var(--pf-c-table__button--Color);
43
+ text-align: left;
44
+ white-space: inherit;
45
+ -webkit-user-select: text;
46
+ -moz-user-select: text;
47
+ -ms-user-select: text;
48
+ user-select: text;
49
+ background-color: var(--pf-c-table__button--BackgroundColor);
50
+ border: 0;
51
+ min-width: 100%;
52
+ min-height: 100%;
53
+ overflow: hidden;
54
+ }
55
+
56
+ button::before,
57
+ button::after {
58
+ position: absolute;
59
+ inset-inline-end: 0;
60
+ content: "";
61
+ border-style: solid;
62
+ border-width: 0;
63
+ border-block-start-width: 0px;
64
+ }
65
+
66
+ button::before {
67
+ inset-block-start: 0;
68
+ inset-block-end: var(--pf-c-table__compound-expansion-toggle__button--before--Bottom);
69
+ inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--before--Left);
70
+ border-color: var(--pf-c-table__compound-expansion-toggle__button--before--BorderColor);
71
+ border-inline-start-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth);
72
+ border-inline-end-width: var(--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth);
73
+ }
74
+
75
+ :host([expanded]) {
76
+ border-bottom: var(--pf-c-table--BackgroundColor) solid var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);
77
+ z-index: 1;
78
+ }
79
+
80
+ button::after {
81
+ inset-block-start: var(--pf-c-table__compound-expansion-toggle__button--after--Top);
82
+ inset-inline-start: var(--pf-c-table__compound-expansion-toggle__button--after--Left);
83
+ pointer-events: none;
84
+ border-color: var(--pf-c-table__compound-expansion-toggle__button--after--BorderColor);
85
+ border-block-start-width: var(--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth);
86
+ }
87
+
88
+ button:active,
89
+ button:focus,
90
+ button:hover {
91
+ outline: 0;
92
+ }
93
+
94
+ button:active {
95
+ color: var(--pf-c-table__button--active--Color);
96
+ }
97
+
98
+ button:focus {
99
+ color: var(--pf-c-table__button--focus--Color);
100
+ }
101
+
102
+ button:hover {
103
+ color: var(--pf-c-table__button--hover--Color);
104
+ }
105
+
@@ -0,0 +1,18 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Table data cell
4
+ * @slot - Place element content here
5
+ */
6
+ export declare class PfTd extends LitElement {
7
+ #private;
8
+ static readonly styles: import("lit").CSSResult[];
9
+ compoundExpand?: string;
10
+ expanded: boolean;
11
+ connectedCallback(): void;
12
+ render(): import("lit-html").TemplateResult<1>;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'pf-td': PfTd;
17
+ }
18
+ }
@@ -0,0 +1,52 @@
1
+ var _PfTd_instances, _PfTd_onClick;
2
+ import { __classPrivateFieldGet, __decorate } from "tslib";
3
+ import { LitElement, html } from 'lit';
4
+ import { customElement } from 'lit/decorators/custom-element.js';
5
+ import { property } from 'lit/decorators/property.js';
6
+ import { css } from "lit";
7
+ const styles = css `:host(:empty),:host([compound-expand]){padding:0}:host([compound-expand]:hover){--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth:var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth:var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth:var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base)}:host([compound-expand]:focus-within){outline-offset:var(--pf-c-table__button--OutlineOffset)}:host([compound-expand][expanded]){--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth:var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth:var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth:var(--pf-c-table__compound-expansion-toggle__button--after--border-width--base);--pf-c-table__compound-expansion-toggle__button--before--Left:0}@media (-webkit-min-device-pixel-ratio:0){:host([compound-expand]:focus-within){outline-style:auto;outline-color:-webkit-focus-ring-color}}@media (min-width:768px){:host{padding:1.5rem 1rem}}button{position:relative;width:100%;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);font-size:inherit;font-weight:inherit;color:var(--pf-c-table__button--Color);text-align:left;white-space:inherit;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;background-color:var(--pf-c-table__button--BackgroundColor);border:0;min-width:100%;min-height:100%;overflow:hidden}button::after,button::before{position:absolute;inset-inline-end:0;content:"";border-style:solid;border-width:0;border-block-start-width:0px}button::before{inset-block-start:0;inset-block-end:var(--pf-c-table__compound-expansion-toggle__button--before--Bottom);inset-inline-start:var(--pf-c-table__compound-expansion-toggle__button--before--Left);border-color:var(--pf-c-table__compound-expansion-toggle__button--before--BorderColor);border-inline-start-width:var(--pf-c-table__compound-expansion-toggle__button--before--BorderLeftWidth);border-inline-end-width:var(--pf-c-table__compound-expansion-toggle__button--before--BorderRightWidth)}:host([expanded]){border-bottom:var(--pf-c-table--BackgroundColor) solid var(--pf-c-table__compound-expansion-toggle__button--before--border-width--base);z-index:1}button::after{inset-block-start:var(--pf-c-table__compound-expansion-toggle__button--after--Top);inset-inline-start:var(--pf-c-table__compound-expansion-toggle__button--after--Left);pointer-events:none;border-color:var(--pf-c-table__compound-expansion-toggle__button--after--BorderColor);border-block-start-width:var(--pf-c-table__compound-expansion-toggle__button--after--BorderTopWidth)}button:active,button:focus,button:hover{outline:0}button:active{color:var(--pf-c-table__button--active--Color)}button:focus{color:var(--pf-c-table__button--focus--Color)}button:hover{color:var(--pf-c-table__button--hover--Color)}`;
8
+ import { RequestExpandEvent } from './pf-tr.js';
9
+ /**
10
+ * Table data cell
11
+ * @slot - Place element content here
12
+ */
13
+ let PfTd = class PfTd extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ _PfTd_instances.add(this);
17
+ this.expanded = false;
18
+ }
19
+ connectedCallback() {
20
+ super.connectedCallback();
21
+ this.setAttribute('role', 'cell');
22
+ }
23
+ render() {
24
+ return this.compoundExpand ? html `
25
+ <button @click="${__classPrivateFieldGet(this, _PfTd_instances, "m", _PfTd_onClick)}">
26
+ <slot></slot>
27
+ </button>
28
+ ` : html `
29
+ <slot></slot>
30
+ `;
31
+ }
32
+ };
33
+ _PfTd_instances = new WeakSet();
34
+ _PfTd_onClick = function _PfTd_onClick() {
35
+ const row = this.closest('pf-tr');
36
+ const cell = this.compoundExpand;
37
+ const event = !row ? new RequestExpandEvent()
38
+ : new RequestExpandEvent(row.expanded === cell || cell || false, row);
39
+ this.dispatchEvent(event);
40
+ };
41
+ PfTd.styles = [styles];
42
+ __decorate([
43
+ property({ attribute: 'compound-expand' })
44
+ ], PfTd.prototype, "compoundExpand", void 0);
45
+ __decorate([
46
+ property({ type: Boolean, reflect: true })
47
+ ], PfTd.prototype, "expanded", void 0);
48
+ PfTd = __decorate([
49
+ customElement('pf-td')
50
+ ], PfTd);
51
+ export { PfTd };
52
+ //# sourceMappingURL=pf-td.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-td.js","sourceRoot":"","sources":["pf-td.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AAEH,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,UAAU;IAApC;;;QAK8C,aAAQ,GAAG,KAAK,CAAC;IAyB/D,CAAC;IAvBU,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,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAEU;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,CA8BhB;SA9BY,IAAI","sourcesContent":["import { LitElement, html } 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 = [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() {\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"]}
@@ -0,0 +1,93 @@
1
+ :host {
2
+ font-weight: bold;
3
+ padding: 1rem;
4
+ position: relative;
5
+ }
6
+
7
+ :host(:empty) {
8
+ padding: 0;
9
+ }
10
+
11
+ .sortable {
12
+ padding-inline-end: 1.5em;
13
+ }
14
+
15
+ .sortable slot {
16
+ display: inline;
17
+ margin-inline-end: 1.5em;
18
+ }
19
+
20
+ button {
21
+ width: 100%;
22
+ 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);
23
+ font-size: inherit;
24
+ font-weight: inherit;
25
+ color: var(--pf-c-table__button--Color);
26
+ text-align: left;
27
+ white-space: inherit;
28
+ -webkit-user-select: text;
29
+ -moz-user-select: text;
30
+ -ms-user-select: text;
31
+ user-select: text;
32
+ background-color: var(--pf-c-table__button--BackgroundColor);
33
+ border: 0;
34
+ }
35
+
36
+ button::before {
37
+ position: absolute;
38
+ inset: 0;
39
+ cursor: pointer;
40
+ content: '';
41
+ }
42
+
43
+ button:hover {
44
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--hover__sort-indicator--Color);
45
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--hover__text--Color);
46
+ }
47
+
48
+ button:active {
49
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--active__sort-indicator--Color);
50
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--active__text--Color);
51
+ }
52
+
53
+ button:focus {
54
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort__button--focus__sort-indicator--Color);
55
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort__button--focus__text--Color);
56
+ }
57
+
58
+ button.sortable {
59
+ --pf-c-table--cell--PaddingTop: var(--pf-c-table__sort__button--PaddingTop);
60
+ --pf-c-table--cell--PaddingRight: var(--pf-c-table__sort__button--PaddingRight);
61
+ --pf-c-table--cell--PaddingBottom: var(--pf-c-table__sort__button--PaddingBottom);
62
+ --pf-c-table--cell--PaddingLeft: var(--pf-c-table__sort__button--PaddingLeft);
63
+
64
+ display: flex;
65
+ width: auto;
66
+ margin-top: var(--pf-c-table__sort__button--MarginTop);
67
+ margin-bottom: var(--pf-c-table__sort__button--MarginBottom);
68
+ margin-left: var(--pf-c-table__sort__button--MarginLeft);
69
+ }
70
+
71
+ button.selected {
72
+ --pf-c-table__sort-indicator--Color: var(--pf-c-table__sort--m-selected__sort-indicator--Color);
73
+ --pf-c-table__sort__button__text--Color: var(--pf-c-table__sort--m-selected__button__text--Color);
74
+
75
+ color: var(--pf-c-table__sort--m-selected__button--Color);
76
+ }
77
+
78
+ #sort-indicator {
79
+ width: 0;
80
+ margin-inline-start: -1em;
81
+ overflow: visible;
82
+ color: var(--pf-c-table__sort-indicator--Color);
83
+ }
84
+
85
+ .visually-hidden {
86
+ position: fixed;
87
+ top: 0;
88
+ left: 0;
89
+ overflow: hidden;
90
+ clip: rect(0, 0, 0, 0);
91
+ white-space: nowrap;
92
+ border: 0;
93
+ }
@@ -0,0 +1,27 @@
1
+ import { LitElement } from 'lit';
2
+ import '@patternfly/elements/pf-button/pf-button.js';
3
+ export declare class RequestSortEvent extends Event {
4
+ key: string;
5
+ direction: 'asc' | 'desc';
6
+ constructor(key: string, direction: 'asc' | 'desc');
7
+ }
8
+ /**
9
+ * Table header cell
10
+ * @slot - Place element content here
11
+ */
12
+ export declare class PfTh extends LitElement {
13
+ #private;
14
+ static readonly styles: import("lit").CSSResult[];
15
+ sortable?: boolean;
16
+ selected?: boolean;
17
+ sortDirection?: 'asc' | 'desc';
18
+ key: string;
19
+ connectedCallback(): void;
20
+ render(): import("lit-html").TemplateResult<1>;
21
+ sort(): void;
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'pf-th': PfTh;
26
+ }
27
+ }
@@ -0,0 +1,96 @@
1
+ var _PfTh_instances, _PfTh_onClick;
2
+ import { __classPrivateFieldGet, __decorate } from "tslib";
3
+ import { LitElement, html, svg } from 'lit';
4
+ import { customElement } from 'lit/decorators/custom-element.js';
5
+ import { property } from 'lit/decorators/property.js';
6
+ import { classMap } from 'lit/directives/class-map.js';
7
+ import '@patternfly/elements/pf-button/pf-button.js';
8
+ import { css } from "lit";
9
+ const styles = css `:host{font-weight:700;padding:1rem;position:relative}:host(:empty){padding:0}.sortable{padding-inline-end:1.5em}.sortable slot{display:inline;margin-inline-end:1.5em}button{width:100%;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);font-size:inherit;font-weight:inherit;color:var(--pf-c-table__button--Color);text-align:left;white-space:inherit;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;background-color:var(--pf-c-table__button--BackgroundColor);border:0}button::before{position:absolute;inset:0;cursor:pointer;content:''}button:hover{--pf-c-table__sort-indicator--Color:var(--pf-c-table__sort__button--hover__sort-indicator--Color);--pf-c-table__sort__button__text--Color:var(--pf-c-table__sort__button--hover__text--Color)}button:active{--pf-c-table__sort-indicator--Color:var(--pf-c-table__sort__button--active__sort-indicator--Color);--pf-c-table__sort__button__text--Color:var(--pf-c-table__sort__button--active__text--Color)}button:focus{--pf-c-table__sort-indicator--Color:var(--pf-c-table__sort__button--focus__sort-indicator--Color);--pf-c-table__sort__button__text--Color:var(--pf-c-table__sort__button--focus__text--Color)}button.sortable{--pf-c-table--cell--PaddingTop:var(--pf-c-table__sort__button--PaddingTop);--pf-c-table--cell--PaddingRight:var(--pf-c-table__sort__button--PaddingRight);--pf-c-table--cell--PaddingBottom:var(--pf-c-table__sort__button--PaddingBottom);--pf-c-table--cell--PaddingLeft:var(--pf-c-table__sort__button--PaddingLeft);display:flex;width:auto;margin-top:var(--pf-c-table__sort__button--MarginTop);margin-bottom:var(--pf-c-table__sort__button--MarginBottom);margin-left:var(--pf-c-table__sort__button--MarginLeft)}button.selected{--pf-c-table__sort-indicator--Color:var(--pf-c-table__sort--m-selected__sort-indicator--Color);--pf-c-table__sort__button__text--Color:var(--pf-c-table__sort--m-selected__button__text--Color);color:var(--pf-c-table__sort--m-selected__button--Color)}#sort-indicator{width:0;margin-inline-start:-1em;overflow:visible;color:var(--pf-c-table__sort-indicator--Color)}.visually-hidden{position:fixed;top:0;left:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}`;
10
+ const DIRECTIONS = { asc: 'desc', desc: 'asc' };
11
+ export class RequestSortEvent extends Event {
12
+ constructor(key, direction) {
13
+ super('request-sort', {
14
+ bubbles: true,
15
+ cancelable: true,
16
+ });
17
+ this.key = key;
18
+ this.direction = direction;
19
+ }
20
+ }
21
+ const paths = new Map(Object.entries({
22
+ 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',
23
+ 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',
24
+ 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',
25
+ }));
26
+ /**
27
+ * Table header cell
28
+ * @slot - Place element content here
29
+ */
30
+ let PfTh = class PfTh extends LitElement {
31
+ constructor() {
32
+ super(...arguments);
33
+ _PfTh_instances.add(this);
34
+ this.sortable = false;
35
+ this.selected = false;
36
+ }
37
+ connectedCallback() {
38
+ super.connectedCallback();
39
+ const closestThead = this.closest('pf-thead');
40
+ const closestTable = this.closest('pf-table');
41
+ const isChildOfThead = !!closestThead && !!closestTable?.contains(closestThead);
42
+ const role = isChildOfThead ? 'colheader' : 'rowheader';
43
+ this.setAttribute('role', role);
44
+ }
45
+ render() {
46
+ const selected = !!this.selected;
47
+ return this.sortable ?
48
+ html `
49
+ <button id="sort-button"
50
+ class="sortable ${classMap({ selected })}"
51
+ part="sort-button"
52
+ @click="${__classPrivateFieldGet(this, _PfTh_instances, "m", _PfTh_onClick)}">
53
+ <slot></slot>
54
+ <span class="visually-hidden">${!this.sortDirection ? '' : `(sorted ${this.sortDirection === 'asc' ? 'ascending' : 'descending'})`}</span>
55
+ <span id="sort-indicator">
56
+ <svg fill="currentColor" height="1em" width="1em" viewBox="0 0 256 512" aria-hidden="true" role="img" style="vertical-align: -0.125em;">${svg `
57
+ <path d="${paths.get(this.sortDirection ?? 'sort')}"></path>`}
58
+ </svg>
59
+ </span>
60
+ </button>
61
+ ` : html `
62
+ <slot></slot>
63
+ `;
64
+ }
65
+ sort() {
66
+ const next = DIRECTIONS[this.sortDirection ?? 'asc'];
67
+ this.dispatchEvent(new RequestSortEvent(this.key, next));
68
+ }
69
+ };
70
+ _PfTh_instances = new WeakSet();
71
+ _PfTh_onClick = function _PfTh_onClick() {
72
+ if (this.sortable) {
73
+ this.sort();
74
+ }
75
+ };
76
+ PfTh.styles = [styles];
77
+ __decorate([
78
+ property({ type: Boolean, reflect: true })
79
+ ], PfTh.prototype, "sortable", void 0);
80
+ __decorate([
81
+ property({ type: Boolean, reflect: true })
82
+ ], PfTh.prototype, "selected", void 0);
83
+ __decorate([
84
+ property({
85
+ reflect: true,
86
+ attribute: 'sort-direction',
87
+ })
88
+ ], PfTh.prototype, "sortDirection", void 0);
89
+ __decorate([
90
+ property()
91
+ ], PfTh.prototype, "key", void 0);
92
+ PfTh = __decorate([
93
+ customElement('pf-th')
94
+ ], PfTh);
95
+ export { PfTh };
96
+ //# sourceMappingURL=pf-th.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-th.js","sourceRoot":"","sources":["pf-th.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, svg } 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 '@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 = [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 override connectedCallback() {\n super.connectedCallback();\n const closestThead = this.closest('pf-thead');\n const closestTable = this.closest('pf-table');\n const isChildOfThead = !!closestThead && !!closestTable?.contains(closestThead);\n const role = isChildOfThead ? 'colheader' : 'rowheader';\n this.setAttribute('role', role);\n }\n\n render() {\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() {\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"]}
@@ -0,0 +1,19 @@
1
+ :host {
2
+ --pf-c-table--cell--MinWidth: var(--pf-c-table--m-truncate--cell--MinWidth);
3
+ --pf-c-table--cell--MaxWidth: var(--pf-c-table--m-truncate--cell--MaxWidth);
4
+ --pf-c-table--cell--Overflow: hidden;
5
+ --pf-c-table--cell--TextOverflow: ellipsis;
6
+ --pf-c-table--cell--WhiteSpace: nowrap;
7
+ --pf-c-table--cell--FontSize: var(--pf-c-table--thead--cell--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
8
+ --pf-c-table--cell--FontWeight: var(--pf-c-table--thead--cell--FontWeight, var(--pf-global--FontWeight--bold, 700));
9
+ vertical-align: bottom;
10
+ display: grid;
11
+ visibility: visible;
12
+ }
13
+
14
+ @media (max-width: 768px) {
15
+ :host {
16
+ display: none;
17
+ visibility: hidden;
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Table head
4
+ * @slot - Place element content here
5
+ */
6
+ export declare class PfThead extends LitElement {
7
+ #private;
8
+ static readonly styles: import("lit").CSSResult[];
9
+ connectedCallback(): void;
10
+ render(): import("lit-html").TemplateResult<1>;
11
+ }
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'pf-thead': PfThead;
15
+ }
16
+ }