@patternfly/elements 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/custom-elements.json +13726 -12682
  2. package/package.json +17 -14
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/pf-avatar.css +14 -0
  16. package/pf-avatar/pf-avatar.d.ts +1 -14
  17. package/pf-avatar/pf-avatar.js +82 -2
  18. package/pf-avatar/pf-avatar.js.map +1 -1
  19. package/pf-back-to-top/pf-back-to-top.css +12 -0
  20. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  21. package/pf-back-to-top/pf-back-to-top.js +87 -3
  22. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  23. package/pf-background-image/pf-background-image.css +7 -0
  24. package/pf-background-image/pf-background-image.d.ts +1 -8
  25. package/pf-background-image/pf-background-image.js +76 -2
  26. package/pf-background-image/pf-background-image.js.map +1 -1
  27. package/pf-badge/pf-badge.css +13 -0
  28. package/pf-badge/pf-badge.d.ts +1 -13
  29. package/pf-badge/pf-badge.js +53 -2
  30. package/pf-badge/pf-badge.js.map +1 -1
  31. package/pf-banner/pf-banner.css +21 -0
  32. package/pf-banner/pf-banner.d.ts +1 -19
  33. package/pf-banner/pf-banner.js +122 -2
  34. package/pf-banner/pf-banner.js.map +1 -1
  35. package/pf-button/pf-button-tokens.css +38 -0
  36. package/pf-button/pf-button.d.ts +1 -106
  37. package/pf-button/pf-button.js +837 -4
  38. package/pf-button/pf-button.js.map +1 -1
  39. package/pf-card/pf-card.css +24 -0
  40. package/pf-card/pf-card.d.ts +1 -38
  41. package/pf-card/pf-card.js +248 -2
  42. package/pf-card/pf-card.js.map +1 -1
  43. package/pf-chip/pf-chip-group.css +15 -0
  44. package/pf-chip/pf-chip-group.d.ts +0 -15
  45. package/pf-chip/pf-chip-group.js +111 -2
  46. package/pf-chip/pf-chip-group.js.map +1 -1
  47. package/pf-chip/pf-chip.css +30 -1
  48. package/pf-chip/pf-chip.d.ts +1 -20
  49. package/pf-chip/pf-chip.js +135 -2
  50. package/pf-chip/pf-chip.js.map +1 -1
  51. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  52. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  53. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  54. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  55. package/pf-code-block/pf-code-block.css +11 -1
  56. package/pf-code-block/pf-code-block.js +70 -18
  57. package/pf-code-block/pf-code-block.js.map +1 -1
  58. package/pf-dropdown/pf-dropdown-group.js +40 -2
  59. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  60. package/pf-dropdown/pf-dropdown-item.css +10 -0
  61. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  62. package/pf-dropdown/pf-dropdown-item.js +155 -2
  63. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  64. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  65. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  66. package/pf-dropdown/pf-dropdown.css +5 -0
  67. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  68. package/pf-dropdown/pf-dropdown.js +350 -2
  69. package/pf-dropdown/pf-dropdown.js.map +1 -1
  70. package/pf-icon/pf-icon.css +1 -0
  71. package/pf-icon/pf-icon.d.ts +1 -3
  72. package/pf-icon/pf-icon.js +44 -4
  73. package/pf-icon/pf-icon.js.map +1 -1
  74. package/pf-jump-links/pf-jump-links-item.css +7 -1
  75. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  76. package/pf-jump-links/pf-jump-links-item.js +77 -2
  77. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  78. package/pf-jump-links/pf-jump-links-list.css +3 -0
  79. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  80. package/pf-jump-links/pf-jump-links-list.js +20 -2
  81. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  82. package/pf-jump-links/pf-jump-links.css +36 -0
  83. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  84. package/pf-jump-links/pf-jump-links.js +179 -2
  85. package/pf-jump-links/pf-jump-links.js.map +1 -1
  86. package/pf-label/pf-label.css +51 -1
  87. package/pf-label/pf-label.d.ts +1 -58
  88. package/pf-label/pf-label.js +257 -2
  89. package/pf-label/pf-label.js.map +1 -1
  90. package/pf-modal/pf-modal.css +11 -0
  91. package/pf-modal/pf-modal.d.ts +1 -24
  92. package/pf-modal/pf-modal.js +215 -2
  93. package/pf-modal/pf-modal.js.map +1 -1
  94. package/pf-panel/pf-panel.css +29 -0
  95. package/pf-panel/pf-panel.d.ts +1 -32
  96. package/pf-panel/pf-panel.js +204 -2
  97. package/pf-panel/pf-panel.js.map +1 -1
  98. package/pf-popover/pf-popover.css +33 -0
  99. package/pf-popover/pf-popover.d.ts +1 -108
  100. package/pf-popover/pf-popover.js +251 -3
  101. package/pf-popover/pf-popover.js.map +1 -1
  102. package/pf-progress/pf-progress.css +19 -0
  103. package/pf-progress/pf-progress.d.ts +1 -57
  104. package/pf-progress/pf-progress.js +231 -2
  105. package/pf-progress/pf-progress.js.map +1 -1
  106. package/pf-progress-stepper/pf-progress-step.js +126 -2
  107. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  108. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  109. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  110. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  111. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  112. package/pf-search-input/pf-search-input.css +308 -0
  113. package/pf-search-input/pf-search-input.d.ts +75 -0
  114. package/pf-search-input/pf-search-input.js +630 -0
  115. package/pf-search-input/pf-search-input.js.map +1 -0
  116. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  117. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  118. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  119. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  120. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  121. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  122. package/pf-select/pf-option-group.js +27 -2
  123. package/pf-select/pf-option-group.js.map +1 -1
  124. package/pf-select/pf-option.css +9 -1
  125. package/pf-select/pf-option.js +83 -2
  126. package/pf-select/pf-option.js.map +1 -1
  127. package/pf-select/pf-select.css +157 -0
  128. package/pf-select/pf-select.d.ts +1 -158
  129. package/pf-select/pf-select.js +542 -5
  130. package/pf-select/pf-select.js.map +1 -1
  131. package/pf-spinner/pf-spinner.css +13 -0
  132. package/pf-spinner/pf-spinner.d.ts +1 -14
  133. package/pf-spinner/pf-spinner.js +101 -2
  134. package/pf-spinner/pf-spinner.js.map +1 -1
  135. package/pf-switch/pf-switch.css +22 -0
  136. package/pf-switch/pf-switch.d.ts +1 -30
  137. package/pf-switch/pf-switch.js +156 -2
  138. package/pf-switch/pf-switch.js.map +1 -1
  139. package/pf-table/pf-caption.js +10 -2
  140. package/pf-table/pf-caption.js.map +1 -1
  141. package/pf-table/pf-table.css +211 -0
  142. package/pf-table/pf-table.d.ts +1 -635
  143. package/pf-table/pf-table.js +437 -2
  144. package/pf-table/pf-table.js.map +1 -1
  145. package/pf-table/pf-tbody.js +18 -2
  146. package/pf-table/pf-tbody.js.map +1 -1
  147. package/pf-table/pf-td.js +107 -2
  148. package/pf-table/pf-td.js.map +1 -1
  149. package/pf-table/pf-th.js +95 -2
  150. package/pf-table/pf-th.js.map +1 -1
  151. package/pf-table/pf-thead.js +20 -2
  152. package/pf-table/pf-thead.js.map +1 -1
  153. package/pf-table/pf-tr.js +89 -2
  154. package/pf-table/pf-tr.js.map +1 -1
  155. package/pf-tabs/pf-tab-panel.css +1 -0
  156. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  157. package/pf-tabs/pf-tab-panel.js +19 -3
  158. package/pf-tabs/pf-tab-panel.js.map +1 -1
  159. package/pf-tabs/pf-tab.css +33 -0
  160. package/pf-tabs/pf-tab.d.ts +0 -40
  161. package/pf-tabs/pf-tab.js +231 -2
  162. package/pf-tabs/pf-tab.js.map +1 -1
  163. package/pf-tabs/pf-tabs.css +26 -0
  164. package/pf-tabs/pf-tabs.d.ts +1 -34
  165. package/pf-tabs/pf-tabs.js +307 -2
  166. package/pf-tabs/pf-tabs.js.map +1 -1
  167. package/pf-text-area/pf-text-area.css +125 -0
  168. package/pf-text-area/pf-text-area.d.ts +1 -125
  169. package/pf-text-area/pf-text-area.js +320 -2
  170. package/pf-text-area/pf-text-area.js.map +1 -1
  171. package/pf-text-input/pf-text-input.css +126 -0
  172. package/pf-text-input/pf-text-input.d.ts +1 -126
  173. package/pf-text-input/pf-text-input.js +395 -2
  174. package/pf-text-input/pf-text-input.js.map +1 -1
  175. package/pf-tile/pf-tile.css +28 -8
  176. package/pf-tile/pf-tile.d.ts +1 -24
  177. package/pf-tile/pf-tile.js +156 -2
  178. package/pf-tile/pf-tile.js.map +1 -1
  179. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  180. package/pf-timestamp/pf-timestamp.js +10 -2
  181. package/pf-timestamp/pf-timestamp.js.map +1 -1
  182. package/pf-tooltip/pf-tooltip.css +10 -0
  183. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  184. package/pf-tooltip/pf-tooltip.js +113 -3
  185. package/pf-tooltip/pf-tooltip.js.map +1 -1
  186. package/pfe.min.js +0 -7439
  187. package/pfe.min.js.LEGAL.txt +0 -57
  188. package/pfe.min.js.map +0 -7
  189. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  190. package/react/pf-accordion/pf-accordion-header.js +0 -12
  191. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  192. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  193. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  194. package/react/pf-accordion/pf-accordion.js +0 -13
  195. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  196. package/react/pf-avatar/pf-avatar.js +0 -12
  197. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  198. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  199. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  200. package/react/pf-background-image/pf-background-image.js +0 -10
  201. package/react/pf-badge/pf-badge.d.ts +0 -5
  202. package/react/pf-badge/pf-badge.js +0 -10
  203. package/react/pf-banner/pf-banner.d.ts +0 -5
  204. package/react/pf-banner/pf-banner.js +0 -10
  205. package/react/pf-button/pf-button.d.ts +0 -5
  206. package/react/pf-button/pf-button.js +0 -12
  207. package/react/pf-card/pf-card.d.ts +0 -5
  208. package/react/pf-card/pf-card.js +0 -10
  209. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  210. package/react/pf-chip/pf-chip-group.js +0 -13
  211. package/react/pf-chip/pf-chip.d.ts +0 -5
  212. package/react/pf-chip/pf-chip.js +0 -13
  213. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  214. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  215. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  216. package/react/pf-code-block/pf-code-block.js +0 -10
  217. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  218. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  219. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  220. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  221. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  222. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  223. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  224. package/react/pf-dropdown/pf-dropdown.js +0 -14
  225. package/react/pf-icon/pf-icon.d.ts +0 -5
  226. package/react/pf-icon/pf-icon.js +0 -13
  227. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  228. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  229. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  230. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  231. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  232. package/react/pf-jump-links/pf-jump-links.js +0 -12
  233. package/react/pf-label/pf-label.d.ts +0 -5
  234. package/react/pf-label/pf-label.js +0 -12
  235. package/react/pf-modal/pf-modal.d.ts +0 -5
  236. package/react/pf-modal/pf-modal.js +0 -13
  237. package/react/pf-panel/pf-panel.d.ts +0 -5
  238. package/react/pf-panel/pf-panel.js +0 -10
  239. package/react/pf-popover/pf-popover.d.ts +0 -5
  240. package/react/pf-popover/pf-popover.js +0 -10
  241. package/react/pf-progress/pf-progress.d.ts +0 -5
  242. package/react/pf-progress/pf-progress.js +0 -10
  243. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  244. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  245. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  246. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  247. package/react/pf-select/pf-option-group.d.ts +0 -5
  248. package/react/pf-select/pf-option-group.js +0 -10
  249. package/react/pf-select/pf-option.d.ts +0 -5
  250. package/react/pf-select/pf-option.js +0 -10
  251. package/react/pf-select/pf-select.d.ts +0 -5
  252. package/react/pf-select/pf-select.js +0 -13
  253. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  254. package/react/pf-spinner/pf-spinner.js +0 -10
  255. package/react/pf-switch/pf-switch.d.ts +0 -5
  256. package/react/pf-switch/pf-switch.js +0 -12
  257. package/react/pf-table/pf-caption.d.ts +0 -5
  258. package/react/pf-table/pf-caption.js +0 -10
  259. package/react/pf-table/pf-table.d.ts +0 -5
  260. package/react/pf-table/pf-table.js +0 -10
  261. package/react/pf-table/pf-tbody.d.ts +0 -5
  262. package/react/pf-table/pf-tbody.js +0 -10
  263. package/react/pf-table/pf-td.d.ts +0 -5
  264. package/react/pf-table/pf-td.js +0 -10
  265. package/react/pf-table/pf-th.d.ts +0 -5
  266. package/react/pf-table/pf-th.js +0 -10
  267. package/react/pf-table/pf-thead.d.ts +0 -5
  268. package/react/pf-table/pf-thead.js +0 -10
  269. package/react/pf-table/pf-tr.d.ts +0 -5
  270. package/react/pf-table/pf-tr.js +0 -10
  271. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  272. package/react/pf-tabs/pf-tab-panel.js +0 -10
  273. package/react/pf-tabs/pf-tab.d.ts +0 -5
  274. package/react/pf-tabs/pf-tab.js +0 -12
  275. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  276. package/react/pf-tabs/pf-tabs.js +0 -10
  277. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  278. package/react/pf-text-area/pf-text-area.js +0 -10
  279. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  280. package/react/pf-text-input/pf-text-input.js +0 -10
  281. package/react/pf-tile/pf-tile.d.ts +0 -5
  282. package/react/pf-tile/pf-tile.js +0 -10
  283. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  284. package/react/pf-timestamp/pf-timestamp.js +0 -10
  285. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  286. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -5,7 +5,161 @@ import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { property } from 'lit/decorators/property.js';
6
6
  import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
7
7
  import { css } from "lit";
8
- const styles = css `:host {\n display: inline-block;\n outline: none;\n}\n\nsvg {\n fill: currentcolor;\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host([checked]) #container {\n color: var(--pf-c-switch__input--checked__label--Color,\n var(--pf-global--Color--dark-100, #151515));\n background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,\n var(--pf-global--primary-color--100, #06c));\n}\n\n:host([checked]) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:is(:focus,:focus-within)) #container {\n outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,\n var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,\n var(--pf-global--primary-color--100, #06c));\n outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,\n var(--pf-global--spacer--sm, 0.5rem));\n}\n\n:host(:disabled) {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n:host(:disabled) #container {\n cursor: not-allowed;\n\n color: var(--pf-c-switch__input--disabled__label--Color,\n var(--pf-global--disabled-color--100, #6a6e73));\n background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,\n var(--pf-global--disabled-color--200, #d2d2d2));\n}\n\n:host(:disabled) #container::before {\n background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,\n var(--pf-global--palette--black-150, #f5f5f5));\n}\n\n:host([checked]:disabled) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:disabled:focus-within) #container {\n outline: none;\n}\n\n#container {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--pf-c-switch__toggle--Width,\n calc(var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) + var(--pf-c-switch__toggle-icon--Offset, 0.125rem) + var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)))));\n height: var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5))));\n background-color: var(--pf-c-switch__toggle--BackgroundColor,\n var(--pf-global--palette--black-500, #8a8d90));\n border-radius: var(--pf-c-switch__toggle--BorderRadius,\n var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))));\n}\n\n#container::before {\n position: absolute;\n display: block;\n content: "";\n top: var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));\n left: var(--pf-c-switch__toggle--before--Left,\n var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));\n width: var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n height: var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));\n background-color: var(--pf-c-switch__toggle--before--backgroundcolor,\n var(--pf-global--backgroundcolor--100, #fff));\n border-radius: var(--pf-c-switch__toggle--before--BorderRadius,\n var(--pf-global--BorderRadius--lg, 30em));\n box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,\n var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));\n transition: var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));\n}\n\nsvg {\n margin-inline: var(--pf-c-switch__toggle-icon--Left,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .4));\n font-size: var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));\n color: var(--pf-c-switch__toggle-icon--Color,\n var(--pf-global--Color--light-100, #fff));\n}\n`;
8
+ const styles = css `:host {
9
+ display: inline-block;
10
+ outline: none;
11
+ }
12
+
13
+ svg {
14
+ fill: currentcolor;
15
+ }
16
+
17
+ [hidden] {
18
+ display: none !important;
19
+ }
20
+
21
+ :host([checked]) #container {
22
+ /** Color of the label when switch is checked */
23
+ color: var(--pf-c-switch__input--checked__label--Color,
24
+ var(--pf-global--Color--dark-100, #151515));
25
+ /** Background color of the toggle when switch is checked */
26
+ background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,
27
+ var(--pf-global--primary-color--100, #06c));
28
+ }
29
+
30
+ :host([checked]) #container::before {
31
+ /** Translation of the toggle knob when checked */
32
+ translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,
33
+ calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
34
+ }
35
+
36
+ :host(:is(:focus,:focus-within)) #container {
37
+ /** Focus outline width */
38
+ outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,
39
+ var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,
40
+ var(--pf-global--primary-color--100, #06c));
41
+ /** Focus outline offset */
42
+ outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,
43
+ var(--pf-global--spacer--sm, 0.5rem));
44
+ }
45
+
46
+ :host(:disabled) {
47
+ pointer-events: none;
48
+ cursor: not-allowed;
49
+ }
50
+
51
+ :host(:disabled) #container {
52
+ cursor: not-allowed;
53
+
54
+ /** Color of the label when switch is disabled */
55
+ color: var(--pf-c-switch__input--disabled__label--Color,
56
+ var(--pf-global--disabled-color--100, #6a6e73));
57
+ /** Background color when switch is disabled */
58
+ background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,
59
+ var(--pf-global--disabled-color--200, #d2d2d2));
60
+ }
61
+
62
+ :host(:disabled) #container::before {
63
+ /** Background color of the toggle knob when disabled */
64
+ background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,
65
+ var(--pf-global--palette--black-150, #f5f5f5));
66
+ }
67
+
68
+ :host([checked]:disabled) #container::before {
69
+ translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,
70
+ calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
71
+ }
72
+
73
+ :host(:disabled:focus-within) #container {
74
+ outline: none;
75
+ }
76
+
77
+ #container {
78
+ position: relative;
79
+ display: inline-flex;
80
+ align-items: center;
81
+ /** Width of the toggle */
82
+ width: var(--pf-c-switch__toggle--Width,
83
+ calc(var(--pf-c-switch__toggle--Height,
84
+ calc(var(--pf-c-switch--FontSize,
85
+ var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
86
+ var(--pf-global--LineHeight--md, 1.5)))) + var(--pf-c-switch__toggle-icon--Offset, 0.125rem) + var(--pf-c-switch__toggle--before--Width,
87
+ calc(var(--pf-c-switch--FontSize,
88
+ var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)))));
89
+ height: var(--pf-c-switch__toggle--Height,
90
+ calc(var(--pf-c-switch--FontSize,
91
+ var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
92
+ var(--pf-global--LineHeight--md, 1.5))));
93
+ /** Background color of the toggle */
94
+ background-color: var(--pf-c-switch__toggle--BackgroundColor,
95
+ var(--pf-global--palette--black-500, #8a8d90));
96
+ /** Border radius of the toggle */
97
+ border-radius: var(--pf-c-switch__toggle--BorderRadius,
98
+ var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,
99
+ var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
100
+ var(--pf-global--LineHeight--md, 1.5)))));
101
+ }
102
+
103
+ #container::before {
104
+ position: absolute;
105
+ display: block;
106
+ content: "";
107
+ /** Top position of the toggle knob */
108
+ top: var(--pf-c-switch__toggle--before--Top,
109
+ calc((var(--pf-c-switch__toggle--Height,
110
+ calc(var(--pf-c-switch--FontSize,
111
+ var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
112
+ var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,
113
+ var(--pf-c-switch__toggle--before--Width,
114
+ calc(var(--pf-c-switch--FontSize,
115
+ var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));
116
+ /** Left position of the toggle knob */
117
+ left: var(--pf-c-switch__toggle--before--Left,
118
+ var(--pf-c-switch__toggle--before--Top,
119
+ calc((var(--pf-c-switch__toggle--Height,
120
+ calc(var(--pf-c-switch--FontSize,
121
+ var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
122
+ var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,
123
+ var(--pf-c-switch__toggle--before--Width,
124
+ calc(var(--pf-c-switch--FontSize,
125
+ var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));
126
+ /** Width of the toggle knob */
127
+ width: var(--pf-c-switch__toggle--before--Width,
128
+ calc(var(--pf-c-switch--FontSize,
129
+ var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
130
+ /** Height of the toggle knob */
131
+ height: var(--pf-c-switch__toggle--before--Height,
132
+ var(--pf-c-switch__toggle--before--Width,
133
+ calc(var(--pf-c-switch--FontSize,
134
+ var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));
135
+ /** Background color of the toggle knob */
136
+ background-color: var(--pf-c-switch__toggle--before--backgroundcolor,
137
+ var(--pf-global--backgroundcolor--100, #fff));
138
+ /** Border radius of the toggle knob */
139
+ border-radius: var(--pf-c-switch__toggle--before--BorderRadius,
140
+ var(--pf-global--BorderRadius--lg, 30em));
141
+ /** Box shadow of the toggle knob */
142
+ box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,
143
+ var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));
144
+ /** Transition of the toggle knob */
145
+ transition: var(--pf-c-switch__toggle--before--Transition,
146
+ var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));
147
+ }
148
+
149
+ svg {
150
+ /** Horizontal margin of the toggle icon */
151
+ margin-inline: var(--pf-c-switch__toggle-icon--Left,
152
+ calc(var(--pf-c-switch--FontSize,
153
+ var(--pf-global--FontSize--md, 1rem)) * .4));
154
+ /** Font size of the toggle icon */
155
+ font-size: var(--pf-c-switch__toggle-icon--FontSize,
156
+ calc(var(--pf-c-switch--FontSize,
157
+ var(--pf-global--FontSize--md, 1rem)) * .625));
158
+ /** Color of the toggle icon */
159
+ color: var(--pf-c-switch__toggle-icon--Color,
160
+ var(--pf-global--Color--light-100, #fff));
161
+ }
162
+ `;
9
163
  let PfSwitch = class PfSwitch extends LitElement {
10
164
  constructor() {
11
165
  super(...arguments);
@@ -102,7 +256,7 @@ _PfSwitch_updateLabels = function _PfSwitch_updateLabels() {
102
256
  };
103
257
  PfSwitch.styles = [styles];
104
258
  PfSwitch.formAssociated = true;
105
- PfSwitch.version = "4.1.0";
259
+ PfSwitch.version = "4.2.0";
106
260
  __decorate([
107
261
  property({ reflect: true })
108
262
  ], PfSwitch.prototype, "label", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":"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","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 { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n * @fires {Event} change - Fires when the switch selection changes.\n * @cssprop [--pf-c-switch--FontSize=1rem]\n * @cssprop {<length>} [--pf-c-switch--ColumnGap=1rem]\n * @cssprop [--pf-c-switch__toggle-icon--FontSize=calc(1rem * .625)]\n * @cssprop {<color>} [--pf-c-switch__toggle-icon--Color=#fff]\n * @cssprop {<length>} [--pf-c-switch__toggle-icon--Left=1rem]\n * @cssprop {<length>} [--pf-c-switch__toggle-icon--Offset=0.125rem]\n * @cssprop {<number>} [--pf-c-switch--LineHeight=1.5]\n * @cssprop {<length>} [--pf-c-switch--Height=auto]\n * @cssprop {<color>} [--pf-c-switch__input--checked__toggle--BackgroundColor=#06c]\n * @cssprop {<length>} [--pf-c-switch__input--checked__toggle--before--TranslateX=calc(100 + 0.125rem)]\n * @cssprop {<color>} [--pf-c-switch__input--checked__label--Color=#151515]\n * @cssprop {<color>} [--pf-c-switch__input--not-checked__label--Color=#6a6e73]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__label--Color=#6a6e73]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--BackgroundColor=#d2d2d2]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--before--BackgroundColor=#f5f5f5]\n * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineWidth=2px]\n * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineOffset=0.5rem]\n * @cssprop {<color>} [--pf-c-switch__input--focus__toggle--OutlineColor=#06c]\n * @cssprop {<length>} [--pf-c-switch__toggle--Height=calc(1rem * 1.5)]\n * @cssprop {<color>} [--pf-c-switch__toggle--BackgroundColor=#8a8d90]\n * @cssprop {<length>} [--pf-c-switch__toggle--BorderRadius=calc(1rem * 1.5)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Width=calc(1rem - 0.125rem)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Height=calc(1rem - 0.125rem)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Top=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Left=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)]\n * @cssprop {<color>} [--pf-c-switch__toggle--before--BackgroundColor=#fff]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--BorderRadius=30em]\n * @cssprop [--pf-c-switch__toggle--before--BoxShadow=0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)]\n * @cssprop [--pf-c-switch__toggle--before--Transition=transform .25s ease 0s]\n * @cssprop {<length>} [--pf-c-switch__toggle--Width=calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))]\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n declare shadowRoot: ShadowRoot;\n\n #internals = InternalsController.of(this, { role: 'switch' });\n\n /** Accessible label text for the switch */\n @property({ reflect: true }) label?: string;\n\n /** Flag to show if the switch has a check icon. */\n @property({ reflect: true, type: Boolean, attribute: 'show-check-icon' }) showCheckIcon = false;\n\n /** Flag to show if the switch is checked. */\n @property({ reflect: true, type: Boolean }) checked = false;\n\n /** Flag to show if the switch is disabled. */\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n get labels(): NodeListOf<HTMLLabelElement> {\n return this.#internals.labels as NodeListOf<HTMLLabelElement>;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.tabIndex = 0;\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keyup', this.#onKeyup);\n this.addEventListener('keydown', this.#onKeydown);\n this.#updateLabels();\n }\n\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled;\n this.requestUpdate();\n }\n\n override willUpdate(): void {\n this.#internals.ariaChecked = String(!!this.checked);\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n\n override render(): TemplateResult<1> {\n return html`\n <div id=\"container\">\n <svg id=\"toggle\"\n role=\"presentation\"\n fill=\"currentColor\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 512 512\"\n ?hidden=${!this.showCheckIcon}>\n <path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\" />\n </svg>\n </div>\n `;\n }\n\n #onClick(event: Event) {\n // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label\n const { originalTarget, explicitOriginalTarget } = event;\n if (explicitOriginalTarget) {\n let labels: HTMLLabelElement[];\n if (originalTarget === event.target\n && !(labels = Array.from(this.labels)).includes(explicitOriginalTarget)\n && labels.includes(this.closest('label') as HTMLLabelElement)) {\n return;\n }\n }\n this.#toggle();\n }\n\n #onKeyup(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.#toggle();\n }\n }\n\n #onKeydown(event: KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n #toggle() {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.#updateLabels();\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n\n #updateLabels() {\n const labelState = this.checked ? 'on' : 'off';\n this.labels.forEach(label => {\n const states = label.querySelectorAll<HTMLElement>('[data-state]');\n states.forEach(state => {\n if (state) {\n state.hidden = state.dataset.state !== labelState;\n }\n });\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":"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","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 { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n * @alias Switch\n * @fires {Event} change - Fires when the switch selection changes.\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n declare shadowRoot: ShadowRoot;\n\n #internals = InternalsController.of(this, { role: 'switch' });\n\n /** Accessible label text for the switch */\n @property({ reflect: true }) label?: string;\n\n /** Flag to show if the switch has a check icon. */\n @property({ reflect: true, type: Boolean, attribute: 'show-check-icon' }) showCheckIcon = false;\n\n /** Flag to show if the switch is checked. */\n @property({ reflect: true, type: Boolean }) checked = false;\n\n /** Flag to show if the switch is disabled. */\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n get labels(): NodeListOf<HTMLLabelElement> {\n return this.#internals.labels as NodeListOf<HTMLLabelElement>;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.tabIndex = 0;\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keyup', this.#onKeyup);\n this.addEventListener('keydown', this.#onKeydown);\n this.#updateLabels();\n }\n\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled;\n this.requestUpdate();\n }\n\n override willUpdate(): void {\n this.#internals.ariaChecked = String(!!this.checked);\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n\n override render(): TemplateResult<1> {\n return html`\n <div id=\"container\">\n <svg id=\"toggle\"\n role=\"presentation\"\n fill=\"currentColor\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 512 512\"\n ?hidden=${!this.showCheckIcon}>\n <path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\" />\n </svg>\n </div>\n `;\n }\n\n #onClick(event: Event) {\n // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label\n const { originalTarget, explicitOriginalTarget } = event;\n if (explicitOriginalTarget) {\n let labels: HTMLLabelElement[];\n if (originalTarget === event.target\n && !(labels = Array.from(this.labels)).includes(explicitOriginalTarget)\n && labels.includes(this.closest('label') as HTMLLabelElement)) {\n return;\n }\n }\n this.#toggle();\n }\n\n #onKeyup(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.#toggle();\n }\n }\n\n #onKeydown(event: KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n #toggle() {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.#updateLabels();\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n\n #updateLabels() {\n const labelState = this.checked ? 'on' : 'off';\n this.labels.forEach(label => {\n const states = label.querySelectorAll<HTMLElement>('[data-state]');\n states.forEach(state => {\n if (state) {\n state.hidden = state.dataset.state !== labelState;\n }\n });\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
@@ -2,7 +2,15 @@ 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 display: table-caption;\n /* stylelint-disable-next-line max-line-length */\n padding: var(--pf-c-table-caption--PaddingTop, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingRight, var(--pf-global--spacer--lg, 1.5rem)) var(--pf-c-table-caption--PaddingBottom, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));\n font-size: var(--pf-c-table-caption--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n color: var(--pf-c-table-caption--Color, var(--pf-global--Color--200, #6a6e73));\n text-align: left;\n background-color: var(--pf-c-table--BackgroundColor);\n}`;
5
+ const styles = css `:host {
6
+ display: table-caption;
7
+ /* stylelint-disable-next-line max-line-length */
8
+ padding: var(--pf-c-table-caption--PaddingTop, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingRight, var(--pf-global--spacer--lg, 1.5rem)) var(--pf-c-table-caption--PaddingBottom, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));
9
+ font-size: var(--pf-c-table-caption--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
10
+ color: var(--pf-c-table-caption--Color, var(--pf-global--Color--200, #6a6e73));
11
+ text-align: left;
12
+ background-color: var(--pf-c-table--BackgroundColor);
13
+ }`;
6
14
  let PfCaption = class PfCaption extends LitElement {
7
15
  render() {
8
16
  return html `
@@ -11,7 +19,7 @@ let PfCaption = class PfCaption extends LitElement {
11
19
  }
12
20
  };
13
21
  PfCaption.styles = [styles];
14
- PfCaption.version = "4.1.0";
22
+ PfCaption.version = "4.2.0";
15
23
  PfCaption = __decorate([
16
24
  customElement('pf-caption')
17
25
  ], PfCaption);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-caption.js","sourceRoot":"","sources":["pf-caption.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAS1D,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAGvC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AANe,gBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AADxC,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-caption.css';\n\n/**\n * Caption\n * @slot - Place element content here\n */\n@customElement('pf-caption')\nexport class PfCaption extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-caption': PfCaption;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-caption.js","sourceRoot":"","sources":["pf-caption.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;;;;;;;;;AAS1D,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAGvC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AANe,gBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AADxC,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-caption.css';\n\n/**\n * Caption\n * @slot - Place element content here\n */\n@customElement('pf-caption')\nexport class PfCaption extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-caption': PfCaption;\n }\n}\n"]}