@patternfly/elements 4.0.2 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/custom-elements.json +13680 -12603
  2. package/package.json +17 -14
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/pf-avatar.css +14 -0
  16. package/pf-avatar/pf-avatar.d.ts +1 -14
  17. package/pf-avatar/pf-avatar.js +82 -2
  18. package/pf-avatar/pf-avatar.js.map +1 -1
  19. package/pf-back-to-top/pf-back-to-top.css +12 -0
  20. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  21. package/pf-back-to-top/pf-back-to-top.js +91 -4
  22. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  23. package/pf-background-image/pf-background-image.css +7 -0
  24. package/pf-background-image/pf-background-image.d.ts +1 -8
  25. package/pf-background-image/pf-background-image.js +76 -2
  26. package/pf-background-image/pf-background-image.js.map +1 -1
  27. package/pf-badge/pf-badge.css +13 -0
  28. package/pf-badge/pf-badge.d.ts +1 -13
  29. package/pf-badge/pf-badge.js +53 -2
  30. package/pf-badge/pf-badge.js.map +1 -1
  31. package/pf-banner/pf-banner.css +21 -0
  32. package/pf-banner/pf-banner.d.ts +1 -19
  33. package/pf-banner/pf-banner.js +122 -2
  34. package/pf-banner/pf-banner.js.map +1 -1
  35. package/pf-button/pf-button-tokens.css +38 -0
  36. package/pf-button/pf-button.d.ts +1 -106
  37. package/pf-button/pf-button.js +837 -4
  38. package/pf-button/pf-button.js.map +1 -1
  39. package/pf-card/pf-card.css +24 -0
  40. package/pf-card/pf-card.d.ts +1 -38
  41. package/pf-card/pf-card.js +248 -2
  42. package/pf-card/pf-card.js.map +1 -1
  43. package/pf-card/test/pf-card.e2e.js +20 -1
  44. package/pf-card/test/pf-card.e2e.js.map +1 -1
  45. package/pf-chip/pf-chip-group.css +15 -0
  46. package/pf-chip/pf-chip-group.d.ts +0 -15
  47. package/pf-chip/pf-chip-group.js +111 -2
  48. package/pf-chip/pf-chip-group.js.map +1 -1
  49. package/pf-chip/pf-chip.css +30 -1
  50. package/pf-chip/pf-chip.d.ts +1 -20
  51. package/pf-chip/pf-chip.js +135 -2
  52. package/pf-chip/pf-chip.js.map +1 -1
  53. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  54. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  55. package/pf-clipboard-copy/pf-clipboard-copy.js +323 -6
  56. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  57. package/pf-code-block/pf-code-block.css +11 -1
  58. package/pf-code-block/pf-code-block.js +70 -18
  59. package/pf-code-block/pf-code-block.js.map +1 -1
  60. package/pf-dropdown/pf-dropdown-group.js +40 -2
  61. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  62. package/pf-dropdown/pf-dropdown-item.css +10 -0
  63. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  64. package/pf-dropdown/pf-dropdown-item.js +155 -2
  65. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  66. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  67. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  68. package/pf-dropdown/pf-dropdown.css +5 -0
  69. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  70. package/pf-dropdown/pf-dropdown.js +350 -2
  71. package/pf-dropdown/pf-dropdown.js.map +1 -1
  72. package/pf-icon/pf-icon.css +1 -0
  73. package/pf-icon/pf-icon.d.ts +1 -3
  74. package/pf-icon/pf-icon.js +44 -4
  75. package/pf-icon/pf-icon.js.map +1 -1
  76. package/pf-jump-links/pf-jump-links-item.css +7 -1
  77. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  78. package/pf-jump-links/pf-jump-links-item.js +77 -2
  79. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  80. package/pf-jump-links/pf-jump-links-list.css +3 -0
  81. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  82. package/pf-jump-links/pf-jump-links-list.js +20 -2
  83. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  84. package/pf-jump-links/pf-jump-links.css +36 -0
  85. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  86. package/pf-jump-links/pf-jump-links.js +179 -2
  87. package/pf-jump-links/pf-jump-links.js.map +1 -1
  88. package/pf-label/pf-label.css +51 -1
  89. package/pf-label/pf-label.d.ts +1 -58
  90. package/pf-label/pf-label.js +257 -2
  91. package/pf-label/pf-label.js.map +1 -1
  92. package/pf-modal/pf-modal.css +11 -0
  93. package/pf-modal/pf-modal.d.ts +1 -24
  94. package/pf-modal/pf-modal.js +215 -2
  95. package/pf-modal/pf-modal.js.map +1 -1
  96. package/pf-panel/pf-panel.css +29 -0
  97. package/pf-panel/pf-panel.d.ts +1 -32
  98. package/pf-panel/pf-panel.js +204 -2
  99. package/pf-panel/pf-panel.js.map +1 -1
  100. package/pf-popover/pf-popover.css +33 -0
  101. package/pf-popover/pf-popover.d.ts +1 -108
  102. package/pf-popover/pf-popover.js +251 -3
  103. package/pf-popover/pf-popover.js.map +1 -1
  104. package/pf-progress/pf-progress.css +19 -0
  105. package/pf-progress/pf-progress.d.ts +1 -57
  106. package/pf-progress/pf-progress.js +231 -2
  107. package/pf-progress/pf-progress.js.map +1 -1
  108. package/pf-progress-stepper/pf-progress-step.js +126 -2
  109. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  110. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  111. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  112. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  113. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  114. package/pf-search-input/pf-search-input.css +308 -0
  115. package/pf-search-input/pf-search-input.d.ts +75 -0
  116. package/pf-search-input/pf-search-input.js +630 -0
  117. package/pf-search-input/pf-search-input.js.map +1 -0
  118. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  119. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  120. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  121. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  122. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  123. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  124. package/pf-select/pf-option-group.js +27 -2
  125. package/pf-select/pf-option-group.js.map +1 -1
  126. package/pf-select/pf-option.css +9 -1
  127. package/pf-select/pf-option.js +83 -2
  128. package/pf-select/pf-option.js.map +1 -1
  129. package/pf-select/pf-select.css +157 -0
  130. package/pf-select/pf-select.d.ts +1 -158
  131. package/pf-select/pf-select.js +542 -5
  132. package/pf-select/pf-select.js.map +1 -1
  133. package/pf-spinner/pf-spinner.css +13 -0
  134. package/pf-spinner/pf-spinner.d.ts +1 -14
  135. package/pf-spinner/pf-spinner.js +101 -2
  136. package/pf-spinner/pf-spinner.js.map +1 -1
  137. package/pf-switch/pf-switch.css +22 -0
  138. package/pf-switch/pf-switch.d.ts +1 -30
  139. package/pf-switch/pf-switch.js +156 -2
  140. package/pf-switch/pf-switch.js.map +1 -1
  141. package/pf-table/context.d.ts +3 -0
  142. package/pf-table/context.js +3 -0
  143. package/pf-table/context.js.map +1 -0
  144. package/pf-table/pf-caption.js +10 -2
  145. package/pf-table/pf-caption.js.map +1 -1
  146. package/pf-table/pf-table.css +211 -0
  147. package/pf-table/pf-table.d.ts +2 -635
  148. package/pf-table/pf-table.js +445 -4
  149. package/pf-table/pf-table.js.map +1 -1
  150. package/pf-table/pf-tbody.js +18 -2
  151. package/pf-table/pf-tbody.js.map +1 -1
  152. package/pf-table/pf-td.js +107 -2
  153. package/pf-table/pf-td.js.map +1 -1
  154. package/pf-table/pf-th.d.ts +1 -0
  155. package/pf-table/pf-th.js +102 -7
  156. package/pf-table/pf-th.js.map +1 -1
  157. package/pf-table/pf-thead.d.ts +1 -0
  158. package/pf-table/pf-thead.js +26 -2
  159. package/pf-table/pf-thead.js.map +1 -1
  160. package/pf-table/pf-tr.js +89 -2
  161. package/pf-table/pf-tr.js.map +1 -1
  162. package/pf-tabs/pf-tab-panel.css +1 -0
  163. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  164. package/pf-tabs/pf-tab-panel.js +19 -3
  165. package/pf-tabs/pf-tab-panel.js.map +1 -1
  166. package/pf-tabs/pf-tab.css +33 -0
  167. package/pf-tabs/pf-tab.d.ts +1 -41
  168. package/pf-tabs/pf-tab.js +234 -4
  169. package/pf-tabs/pf-tab.js.map +1 -1
  170. package/pf-tabs/pf-tabs.css +26 -0
  171. package/pf-tabs/pf-tabs.d.ts +1 -34
  172. package/pf-tabs/pf-tabs.js +307 -2
  173. package/pf-tabs/pf-tabs.js.map +1 -1
  174. package/pf-tabs/test/pf-tabs.spec.js +9 -0
  175. package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
  176. package/pf-text-area/pf-text-area.css +125 -0
  177. package/pf-text-area/pf-text-area.d.ts +1 -125
  178. package/pf-text-area/pf-text-area.js +320 -2
  179. package/pf-text-area/pf-text-area.js.map +1 -1
  180. package/pf-text-input/pf-text-input.css +126 -0
  181. package/pf-text-input/pf-text-input.d.ts +1 -126
  182. package/pf-text-input/pf-text-input.js +395 -2
  183. package/pf-text-input/pf-text-input.js.map +1 -1
  184. package/pf-tile/pf-tile.css +28 -8
  185. package/pf-tile/pf-tile.d.ts +1 -24
  186. package/pf-tile/pf-tile.js +156 -2
  187. package/pf-tile/pf-tile.js.map +1 -1
  188. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  189. package/pf-timestamp/pf-timestamp.js +10 -2
  190. package/pf-timestamp/pf-timestamp.js.map +1 -1
  191. package/pf-tooltip/pf-tooltip.css +10 -0
  192. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  193. package/pf-tooltip/pf-tooltip.js +115 -5
  194. package/pf-tooltip/pf-tooltip.js.map +1 -1
  195. package/pfe.min.js +0 -7439
  196. package/pfe.min.js.LEGAL.txt +0 -57
  197. package/pfe.min.js.map +0 -7
  198. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  199. package/react/pf-accordion/pf-accordion-header.js +0 -12
  200. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  201. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  202. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  203. package/react/pf-accordion/pf-accordion.js +0 -13
  204. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  205. package/react/pf-avatar/pf-avatar.js +0 -12
  206. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  207. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  208. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  209. package/react/pf-background-image/pf-background-image.js +0 -10
  210. package/react/pf-badge/pf-badge.d.ts +0 -5
  211. package/react/pf-badge/pf-badge.js +0 -10
  212. package/react/pf-banner/pf-banner.d.ts +0 -5
  213. package/react/pf-banner/pf-banner.js +0 -10
  214. package/react/pf-button/pf-button.d.ts +0 -5
  215. package/react/pf-button/pf-button.js +0 -12
  216. package/react/pf-card/pf-card.d.ts +0 -5
  217. package/react/pf-card/pf-card.js +0 -10
  218. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  219. package/react/pf-chip/pf-chip-group.js +0 -13
  220. package/react/pf-chip/pf-chip.d.ts +0 -5
  221. package/react/pf-chip/pf-chip.js +0 -13
  222. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  223. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  224. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  225. package/react/pf-code-block/pf-code-block.js +0 -10
  226. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  227. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  228. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  229. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  230. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  231. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  232. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  233. package/react/pf-dropdown/pf-dropdown.js +0 -14
  234. package/react/pf-icon/pf-icon.d.ts +0 -5
  235. package/react/pf-icon/pf-icon.js +0 -13
  236. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  237. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  238. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  239. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  240. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  241. package/react/pf-jump-links/pf-jump-links.js +0 -12
  242. package/react/pf-label/pf-label.d.ts +0 -5
  243. package/react/pf-label/pf-label.js +0 -12
  244. package/react/pf-modal/pf-modal.d.ts +0 -5
  245. package/react/pf-modal/pf-modal.js +0 -13
  246. package/react/pf-panel/pf-panel.d.ts +0 -5
  247. package/react/pf-panel/pf-panel.js +0 -10
  248. package/react/pf-popover/pf-popover.d.ts +0 -5
  249. package/react/pf-popover/pf-popover.js +0 -10
  250. package/react/pf-progress/pf-progress.d.ts +0 -5
  251. package/react/pf-progress/pf-progress.js +0 -10
  252. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  253. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  254. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  255. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  256. package/react/pf-select/pf-option-group.d.ts +0 -5
  257. package/react/pf-select/pf-option-group.js +0 -10
  258. package/react/pf-select/pf-option.d.ts +0 -5
  259. package/react/pf-select/pf-option.js +0 -10
  260. package/react/pf-select/pf-select.d.ts +0 -5
  261. package/react/pf-select/pf-select.js +0 -13
  262. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  263. package/react/pf-spinner/pf-spinner.js +0 -10
  264. package/react/pf-switch/pf-switch.d.ts +0 -5
  265. package/react/pf-switch/pf-switch.js +0 -12
  266. package/react/pf-table/pf-caption.d.ts +0 -5
  267. package/react/pf-table/pf-caption.js +0 -10
  268. package/react/pf-table/pf-table.d.ts +0 -5
  269. package/react/pf-table/pf-table.js +0 -10
  270. package/react/pf-table/pf-tbody.d.ts +0 -5
  271. package/react/pf-table/pf-tbody.js +0 -10
  272. package/react/pf-table/pf-td.d.ts +0 -5
  273. package/react/pf-table/pf-td.js +0 -10
  274. package/react/pf-table/pf-th.d.ts +0 -5
  275. package/react/pf-table/pf-th.js +0 -10
  276. package/react/pf-table/pf-thead.d.ts +0 -5
  277. package/react/pf-table/pf-thead.js +0 -10
  278. package/react/pf-table/pf-tr.d.ts +0 -5
  279. package/react/pf-table/pf-tr.js +0 -10
  280. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  281. package/react/pf-tabs/pf-tab-panel.js +0 -10
  282. package/react/pf-tabs/pf-tab.d.ts +0 -5
  283. package/react/pf-tabs/pf-tab.js +0 -12
  284. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  285. package/react/pf-tabs/pf-tabs.js +0 -10
  286. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  287. package/react/pf-text-area/pf-text-area.js +0 -10
  288. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  289. package/react/pf-text-input/pf-text-input.js +0 -10
  290. package/react/pf-tile/pf-tile.d.ts +0 -5
  291. package/react/pf-tile/pf-tile.js +0 -10
  292. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  293. package/react/pf-timestamp/pf-timestamp.js +0 -10
  294. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  295. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -2,14 +2,7 @@ import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * A **background image** allows you to place an image in the background of your page or area of a page.
4
4
  * @summary Allows users to place an image in the background of your page or area of a page.
5
- * @slot filter - Overrides the default svg filter for the background image.
6
- * @cssprop {<color>} [--pf-c-background-image--BackgroundColor=#151515]
7
- * @cssprop [--pf-c-background-image--Filter=url("#image_overlay")]
8
- * @cssprop --pf-c-background-image--BackgroundImage
9
- * @cssprop --pf-c-background-image--BackgroundImage-2x
10
- * @cssprop --pf-c-background-image--BackgroundImage--sm
11
- * @cssprop --pf-c-background-image--BackgroundImage--sm-2x
12
- * @cssprop --pf-c-background-image--BackgroundImage--lg
5
+ * @alias Background Image
13
6
  */
14
7
  export declare class PfBackgroundImage extends LitElement {
15
8
  #private;
@@ -6,7 +6,80 @@ import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js
6
6
  import { property } from 'lit/decorators/property.js';
7
7
  import { styleMap } from 'lit/directives/style-map.js';
8
8
  import { css } from "lit";
9
- const styles = css `:host {\n display: flex;\n\n --_background-image: var(--pf-c-background-image--BackgroundImage);\n}\n\n#outer-container {\n display: contents;\n}\n\n#container {\n padding: 0;\n margin: 0;\n background-color: transparent;\n}\n\n#container::after {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n content: "";\n background-color: var(--pf-c-background-image--BackgroundColor, var(--pf-global--BackgroundColor--dark-100, #151515));\n background-image: var(--_background-image);\n filter: var(--pf-c-background-image--Filter, url("#image_overlay"));\n background-repeat: no-repeat;\n background-size: cover;\n}\n\nslot[name="filter"] {\n display: none;\n}\n\nslot[part="content"] {\n display: block;\n position: relative;\n z-index: 1;\n color: white;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n #container::after {\n background-image: var(--pf-c-background-image--BackgroundImage-2x, var(--_background-image-2x, var(--_background-image)));\n }\n}\n\n@media screen and (min-width: 576px) {\n #container::after {\n background-image: var(--pf-c-background-image--BackgroundImage--sm, var(--_background-image-sm, var(--_background-image)));\n }\n}\n\n@media screen and (min-width: 576px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 576px) and (min-resolution: 192dpi) {\n #container::after {\n background-image: var(--pf-c-background-image--BackgroundImage--sm-2x, var(--_background-image-sm-2x, var(--_background-image)));\n }\n}\n\n@media screen and (min-width: 992px) {\n #container::after {\n background-image: var(--pf-c-background-image--BackgroundImage--lg, var(--_background-image-lg, var(--_background-image)));\n }\n}\n`;
9
+ const styles = css `:host {
10
+ display: flex;
11
+
12
+ /** Background image for the element */
13
+ --_background-image: var(--pf-c-background-image--BackgroundImage);
14
+ }
15
+
16
+ #outer-container {
17
+ display: contents;
18
+ }
19
+
20
+ #container {
21
+ padding: 0;
22
+ margin: 0;
23
+ background-color: transparent;
24
+ }
25
+
26
+ #container::after {
27
+ display: block;
28
+ position: fixed;
29
+ top: 0;
30
+ left: 0;
31
+ z-index: -1;
32
+ width: 100%;
33
+ height: 100%;
34
+ content: "";
35
+ /** Background color for the background image */
36
+ background-color: var(--pf-c-background-image--BackgroundColor, var(--pf-global--BackgroundColor--dark-100, #151515));
37
+ background-image: var(--_background-image);
38
+ /** SVG filter applied to the background image */
39
+ filter: var(--pf-c-background-image--Filter, url("#image_overlay"));
40
+ background-repeat: no-repeat;
41
+ background-size: cover;
42
+ }
43
+
44
+ slot[name="filter"] {
45
+ display: none;
46
+ }
47
+
48
+ slot[part="content"] {
49
+ display: block;
50
+ position: relative;
51
+ z-index: 1;
52
+ color: white;
53
+ }
54
+
55
+ @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
56
+ #container::after {
57
+ /** Background image for 2x DPI screens */
58
+ background-image: var(--pf-c-background-image--BackgroundImage-2x, var(--_background-image-2x, var(--_background-image)));
59
+ }
60
+ }
61
+
62
+ @media screen and (min-width: 576px) {
63
+ #container::after {
64
+ /** Background image for small screens */
65
+ background-image: var(--pf-c-background-image--BackgroundImage--sm, var(--_background-image-sm, var(--_background-image)));
66
+ }
67
+ }
68
+
69
+ @media screen and (min-width: 576px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 576px) and (min-resolution: 192dpi) {
70
+ #container::after {
71
+ /** Background image for small screens with 2x DPI */
72
+ background-image: var(--pf-c-background-image--BackgroundImage--sm-2x, var(--_background-image-sm-2x, var(--_background-image)));
73
+ }
74
+ }
75
+
76
+ @media screen and (min-width: 992px) {
77
+ #container::after {
78
+ /** Background image for large screens */
79
+ background-image: var(--pf-c-background-image--BackgroundImage--lg, var(--_background-image-lg, var(--_background-image)));
80
+ }
81
+ }
82
+ `;
10
83
  let PfBackgroundImage = class PfBackgroundImage extends LitElement {
11
84
  constructor() {
12
85
  super(...arguments);
@@ -39,6 +112,7 @@ let PfBackgroundImage = class PfBackgroundImage extends LitElement {
39
112
  return html `
40
113
  <div id="container" part="container" style="${styleMap(cssProps)}">
41
114
  ${!this.filter ? html `` : html `
115
+ <!-- Overrides the default svg filter for the background image. -->
42
116
  <slot name="filter" @slotchange=${__classPrivateFieldGet(this, _PfBackgroundImage_instances, "m", _PfBackgroundImage_onSlotChange)}>
43
117
  ${(__classPrivateFieldGet(this, _PfBackgroundImage_svg, "f") && __classPrivateFieldGet(this, _PfBackgroundImage_updated, "f")) ? __classPrivateFieldGet(this, _PfBackgroundImage_svg, "f") : html `
44
118
  <svg xmlns="http://www.w3.org/2000/svg" width="0" height="0">
@@ -74,7 +148,7 @@ _PfBackgroundImage_onSlotChange = function _PfBackgroundImage_onSlotChange() {
74
148
  }
75
149
  };
76
150
  PfBackgroundImage.styles = [styles];
77
- PfBackgroundImage.version = "4.0.2";
151
+ PfBackgroundImage.version = "4.2.0";
78
152
  __decorate([
79
153
  property({ reflect: true })
80
154
  ], PfBackgroundImage.prototype, "src", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-background-image.js","sourceRoot":"","sources":["pf-background-image.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { property } from 'lit/decorators/property.js';\n\n\nimport { styleMap, type StyleInfo } from 'lit/directives/style-map.js';\n\nimport styles from './pf-background-image.css';\n\n/**\n * A **background image** allows you to place an image in the background of your page or area of a page.\n * @summary Allows users to place an image in the background of your page or area of a page.\n * @slot filter - Overrides the default svg filter for the background image.\n * @cssprop {<color>} [--pf-c-background-image--BackgroundColor=#151515]\n * @cssprop [--pf-c-background-image--Filter=url(\"#image_overlay\")]\n * @cssprop --pf-c-background-image--BackgroundImage\n * @cssprop --pf-c-background-image--BackgroundImage-2x\n * @cssprop --pf-c-background-image--BackgroundImage--sm\n * @cssprop --pf-c-background-image--BackgroundImage--sm-2x\n * @cssprop --pf-c-background-image--BackgroundImage--lg\n */\n@customElement('pf-background-image')\nexport class PfBackgroundImage extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /**\n * The URL for the image shown on mobile\n */\n @property({ reflect: true }) src?: string;\n\n /**\n * The image shown on mobile with 2x DPI\n */\n @property({ reflect: true, attribute: 'src-2x' }) src2x?: string;\n\n /**\n * The URL for the image shown on small screens (min-width: 576px)\n */\n @property({ reflect: true, attribute: 'src-sm' }) srcSm?: string;\n\n /**\n * The URL for the image shown on small screens (min-width: 576px) with 2x DPI\n */\n @property({ reflect: true, attribute: 'src-sm-2x' }) srcSm2x?: string;\n\n /**\n * The URL for the image shown on large screens (min-width: 992px)\n */\n @property({ reflect: true, attribute: 'src-lg' }) srcLg?: string;\n\n /**\n * Apply SVG Filter to the image\n */\n @property({ type: Boolean, reflect: true }) filter = false;\n\n @queryAssignedElements({ slot: 'filter', selector: 'svg' }) private _svg?: SVGElement[];\n\n #svg?: SVGElement;\n\n #updated = false;\n\n render(): TemplateResult<1> {\n const cssProps = {\n '--_background-image': this.src,\n '--_background-image-2x': this.src2x,\n '--_background-image-sm': this.srcSm,\n '--_background-image-sm-2x': this.srcSm2x,\n '--_background-image-lg': this.srcLg,\n } as StyleInfo;\n\n Object.entries(cssProps).forEach(([key, value]) => {\n // if the value is undefined, remove the css property\n if (!value) {\n delete cssProps[key];\n } else {\n // otherwise, add the value with the url() css function\n cssProps[key] = `url(${value})`;\n }\n });\n\n return html`\n <div id=\"container\" part=\"container\" style=\"${styleMap(cssProps)}\">\n ${!this.filter ? html`` : html`\n <slot name=\"filter\" @slotchange=${this.#onSlotChange}>\n ${(this.#svg && this.#updated) ? this.#svg : html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"0\" height=\"0\">\n <filter id=\"image_overlay\">\n <feColorMatrix type=\"matrix\" values=\"1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0\"></feColorMatrix>\n <feComponentTransfer color-interpolation-filters=\"sRGB\" result=\"duotone\">\n <feFuncR type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncR>\n <feFuncG type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncG>\n <feFuncB type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncB>\n <feFuncA type=\"table\" tableValues=\"0 1\"></feFuncA>\n </feComponentTransfer>\n </filter>\n </svg>\n `}\n </slot>\n `}\n </div>\n `;\n }\n\n #onSlotChange() {\n const [svg] = this._svg as SVGElement[];\n if (svg) {\n this.#svg = svg;\n this.#updated = true;\n this.requestUpdate();\n } else {\n this.#updated = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-background-image': PfBackgroundImage;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-background-image.js","sourceRoot":"","sources":["pf-background-image.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { property } from 'lit/decorators/property.js';\n\n\nimport { styleMap, type StyleInfo } from 'lit/directives/style-map.js';\n\nimport styles from './pf-background-image.css';\n\n/**\n * A **background image** allows you to place an image in the background of your page or area of a page.\n * @summary Allows users to place an image in the background of your page or area of a page.\n * @alias Background Image\n */\n@customElement('pf-background-image')\nexport class PfBackgroundImage extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /**\n * The URL for the image shown on mobile\n */\n @property({ reflect: true }) src?: string;\n\n /**\n * The image shown on mobile with 2x DPI\n */\n @property({ reflect: true, attribute: 'src-2x' }) src2x?: string;\n\n /**\n * The URL for the image shown on small screens (min-width: 576px)\n */\n @property({ reflect: true, attribute: 'src-sm' }) srcSm?: string;\n\n /**\n * The URL for the image shown on small screens (min-width: 576px) with 2x DPI\n */\n @property({ reflect: true, attribute: 'src-sm-2x' }) srcSm2x?: string;\n\n /**\n * The URL for the image shown on large screens (min-width: 992px)\n */\n @property({ reflect: true, attribute: 'src-lg' }) srcLg?: string;\n\n /**\n * Apply SVG Filter to the image\n */\n @property({ type: Boolean, reflect: true }) filter = false;\n\n @queryAssignedElements({ slot: 'filter', selector: 'svg' }) private _svg?: SVGElement[];\n\n #svg?: SVGElement;\n\n #updated = false;\n\n render(): TemplateResult<1> {\n const cssProps = {\n '--_background-image': this.src,\n '--_background-image-2x': this.src2x,\n '--_background-image-sm': this.srcSm,\n '--_background-image-sm-2x': this.srcSm2x,\n '--_background-image-lg': this.srcLg,\n } as StyleInfo;\n\n Object.entries(cssProps).forEach(([key, value]) => {\n // if the value is undefined, remove the css property\n if (!value) {\n delete cssProps[key];\n } else {\n // otherwise, add the value with the url() css function\n cssProps[key] = `url(${value})`;\n }\n });\n\n return html`\n <div id=\"container\" part=\"container\" style=\"${styleMap(cssProps)}\">\n ${!this.filter ? html`` : html`\n <!-- Overrides the default svg filter for the background image. -->\n <slot name=\"filter\" @slotchange=${this.#onSlotChange}>\n ${(this.#svg && this.#updated) ? this.#svg : html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"0\" height=\"0\">\n <filter id=\"image_overlay\">\n <feColorMatrix type=\"matrix\" values=\"1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0\"></feColorMatrix>\n <feComponentTransfer color-interpolation-filters=\"sRGB\" result=\"duotone\">\n <feFuncR type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncR>\n <feFuncG type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncG>\n <feFuncB type=\"table\" tableValues=\"0.086274509803922 0.43921568627451\"></feFuncB>\n <feFuncA type=\"table\" tableValues=\"0 1\"></feFuncA>\n </feComponentTransfer>\n </filter>\n </svg>\n `}\n </slot>\n `}\n </div>\n `;\n }\n\n #onSlotChange() {\n const [svg] = this._svg as SVGElement[];\n if (svg) {\n this.#svg = svg;\n this.#updated = true;\n this.requestUpdate();\n } else {\n this.#updated = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-background-image': PfBackgroundImage;\n }\n}\n"]}
@@ -3,36 +3,49 @@
3
3
  white-space: nowrap;
4
4
  text-align: center;
5
5
  display: inline-block;
6
+ /** Border radius for badge */
6
7
  border-radius: var(--pf-c-badge--BorderRadius,
7
8
  var(--pf-global--BorderRadius--lg, 180em));
9
+ /** Minimum width for badge */
8
10
  min-width: var(--pf-c-badge--MinWidth,
9
11
  var(--pf-global--spacer--xl, 2rem));
12
+ /** Left padding for badge */
10
13
  padding-left: var(--pf-c-badge--PaddingLeft,
11
14
  var(--pf-global--spacer--sm, 0.5rem));
15
+ /** Right padding for badge */
12
16
  padding-right: var(--pf-c-badge--PaddingRight,
13
17
  var(--pf-global--spacer--sm, 0.5rem));
18
+ /** Font size for badge */
14
19
  font-size: var(--pf-c-badge--FontSize,
15
20
  var(--pf-theme--font-size, 0.75em));
21
+ /** Font weight for badge */
16
22
  font-weight: var(--pf-c-badge--FontWeight,
17
23
  var(--pf-theme--font-weight--bold, 700));
24
+ /** Line height for badge */
18
25
  line-height: var(--pf-c-badge--LineHeight,
19
26
  var(--pf-global--LineHeight--md, 1.5));
27
+ /** Color for badge */
20
28
  color: var(--pf-c-badge--Color,
21
29
  var(--pf-global--palette--black-900, #151515));
30
+ /** Background color for badge */
22
31
  background-color: var(--pf-c-badge--BackgroundColor,
23
32
  var(--pf-global--palette--black-200, #f0f0f0));
24
33
  }
25
34
 
26
35
  :host([state="read"]) {
36
+ /** Color for read badge */
27
37
  --pf-c-badge--Color: var(--pf-c-badge--m-read--Color,
28
38
  var(--pf-global--palette--black-900, #151515));
39
+ /** Background color for read badge */
29
40
  --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-read--BackgroundColor,
30
41
  var(--pf-global--palette--black-200, #f0f0f0));
31
42
  }
32
43
 
33
44
  :host([state="unread"]) {
45
+ /** Color for unread badge */
34
46
  --pf-c-badge--Color: var(--pf-c-badge--m-unread--Color,
35
47
  var(--pf-global--palette--white, #fff));
48
+ /** Background color for unread badge */
36
49
  --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-unread--BackgroundColor,
37
50
  var(--pf-global--palette--blue-400, #06c));
38
51
  }
@@ -1,19 +1,7 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * A **badge** is used to annotate other information like a label or an object name.
4
- * @cssprop {<length>} [--pf-c-badge--BorderRadius=180em]
5
- * @cssprop {<length>} [--pf-c-badge--MinWidth=2rem]
6
- * @cssprop {<length>} [--pf-c-badge--PaddingLeft=0.5rem]
7
- * @cssprop {<length>} [--pf-c-badge--PaddingRight=0.5rem]
8
- * @cssprop {<length>} [--pf-c-badge--FontSize=0.85em]
9
- * @cssprop {<length>} [--pf-c-badge--LineHeight=1.5]
10
- * @cssprop {<length>} [--pf-c-badge--FontWeight=700]
11
- * @cssprop {<color>} [--pf-c-badge--Color=#151515]
12
- * @cssprop {<color>} [--pf-c-badge--BackgroundColor=#f0f0f0]
13
- * @cssprop {<color>} [--pf-c-badge--m-read--Color=#151515]
14
- * @cssprop {<color>} [--pf-c-badge--m-read--BackgroundColor=#f0f0f0]
15
- * @cssprop {<color>} [--pf-c-badge--m-unread--Color=#fff]
16
- * @cssprop {<color>} [--pf-c-badge--m-unread--BackgroundColor=#06c]
4
+ * @alias Badge
17
5
  */
18
6
  export declare class PfBadge extends LitElement {
19
7
  static readonly styles: CSSStyleSheet[];
@@ -3,7 +3,58 @@ import { LitElement, html } from 'lit';
3
3
  import { customElement } from 'lit/decorators/custom-element.js';
4
4
  import { property } from 'lit/decorators/property.js';
5
5
  import { css } from "lit";
6
- const styles = css `:host {\n position: relative;\n white-space: nowrap;\n text-align: center;\n display: inline-block;\n border-radius: var(--pf-c-badge--BorderRadius,\n var(--pf-global--BorderRadius--lg, 180em));\n min-width: var(--pf-c-badge--MinWidth,\n var(--pf-global--spacer--xl, 2rem));\n padding-left: var(--pf-c-badge--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));\n padding-right: var(--pf-c-badge--PaddingRight,\n var(--pf-global--spacer--sm, 0.5rem));\n font-size: var(--pf-c-badge--FontSize,\n var(--pf-theme--font-size, 0.75em));\n font-weight: var(--pf-c-badge--FontWeight,\n var(--pf-theme--font-weight--bold, 700));\n line-height: var(--pf-c-badge--LineHeight,\n var(--pf-global--LineHeight--md, 1.5));\n color: var(--pf-c-badge--Color,\n var(--pf-global--palette--black-900, #151515));\n background-color: var(--pf-c-badge--BackgroundColor,\n var(--pf-global--palette--black-200, #f0f0f0));\n}\n\n:host([state="read"]) {\n --pf-c-badge--Color: var(--pf-c-badge--m-read--Color,\n var(--pf-global--palette--black-900, #151515));\n --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-read--BackgroundColor,\n var(--pf-global--palette--black-200, #f0f0f0));\n}\n\n:host([state="unread"]) {\n --pf-c-badge--Color: var(--pf-c-badge--m-unread--Color,\n var(--pf-global--palette--white, #fff));\n --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-unread--BackgroundColor,\n var(--pf-global--palette--blue-400, #06c));\n}\n`;
6
+ const styles = css `:host {
7
+ position: relative;
8
+ white-space: nowrap;
9
+ text-align: center;
10
+ display: inline-block;
11
+ /** Border radius for badge */
12
+ border-radius: var(--pf-c-badge--BorderRadius,
13
+ var(--pf-global--BorderRadius--lg, 180em));
14
+ /** Minimum width for badge */
15
+ min-width: var(--pf-c-badge--MinWidth,
16
+ var(--pf-global--spacer--xl, 2rem));
17
+ /** Left padding for badge */
18
+ padding-left: var(--pf-c-badge--PaddingLeft,
19
+ var(--pf-global--spacer--sm, 0.5rem));
20
+ /** Right padding for badge */
21
+ padding-right: var(--pf-c-badge--PaddingRight,
22
+ var(--pf-global--spacer--sm, 0.5rem));
23
+ /** Font size for badge */
24
+ font-size: var(--pf-c-badge--FontSize,
25
+ var(--pf-theme--font-size, 0.75em));
26
+ /** Font weight for badge */
27
+ font-weight: var(--pf-c-badge--FontWeight,
28
+ var(--pf-theme--font-weight--bold, 700));
29
+ /** Line height for badge */
30
+ line-height: var(--pf-c-badge--LineHeight,
31
+ var(--pf-global--LineHeight--md, 1.5));
32
+ /** Color for badge */
33
+ color: var(--pf-c-badge--Color,
34
+ var(--pf-global--palette--black-900, #151515));
35
+ /** Background color for badge */
36
+ background-color: var(--pf-c-badge--BackgroundColor,
37
+ var(--pf-global--palette--black-200, #f0f0f0));
38
+ }
39
+
40
+ :host([state="read"]) {
41
+ /** Color for read badge */
42
+ --pf-c-badge--Color: var(--pf-c-badge--m-read--Color,
43
+ var(--pf-global--palette--black-900, #151515));
44
+ /** Background color for read badge */
45
+ --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-read--BackgroundColor,
46
+ var(--pf-global--palette--black-200, #f0f0f0));
47
+ }
48
+
49
+ :host([state="unread"]) {
50
+ /** Color for unread badge */
51
+ --pf-c-badge--Color: var(--pf-c-badge--m-unread--Color,
52
+ var(--pf-global--palette--white, #fff));
53
+ /** Background color for unread badge */
54
+ --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-unread--BackgroundColor,
55
+ var(--pf-global--palette--blue-400, #06c));
56
+ }
57
+ `;
7
58
  let PfBadge = class PfBadge extends LitElement {
8
59
  render() {
9
60
  const { threshold, number, textContent } = this;
@@ -16,7 +67,7 @@ let PfBadge = class PfBadge extends LitElement {
16
67
  }
17
68
  };
18
69
  PfBadge.styles = [styles];
19
- PfBadge.version = "4.0.2";
70
+ PfBadge.version = "4.2.0";
20
71
  __decorate([
21
72
  property({ reflect: true })
22
73
  ], PfBadge.prototype, "state", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-badge.js","sourceRoot":"","sources":["pf-badge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;AAuB/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAuB5B,MAAM;QACb,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,WAAW,GACb,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG;YAC5E,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;cACD,WAAW;KACpB,CAAC;IACJ,CAAC;;AA/Be,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAMtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAA2B;AAQZ;IAA1C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCAAiB;AAMhB;IAA1C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAoB;AArBnD,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-badge.css';\n\n/**\n * A **badge** is used to annotate other information like a label or an object name.\n * @cssprop {<length>} [--pf-c-badge--BorderRadius=180em]\n * @cssprop {<length>} [--pf-c-badge--MinWidth=2rem]\n * @cssprop {<length>} [--pf-c-badge--PaddingLeft=0.5rem]\n * @cssprop {<length>} [--pf-c-badge--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-badge--FontSize=0.85em]\n * @cssprop {<length>} [--pf-c-badge--LineHeight=1.5]\n * @cssprop {<length>} [--pf-c-badge--FontWeight=700]\n * @cssprop {<color>} [--pf-c-badge--Color=#151515]\n * @cssprop {<color>} [--pf-c-badge--BackgroundColor=#f0f0f0]\n * @cssprop {<color>} [--pf-c-badge--m-read--Color=#151515]\n * @cssprop {<color>} [--pf-c-badge--m-read--BackgroundColor=#f0f0f0]\n * @cssprop {<color>} [--pf-c-badge--m-unread--Color=#fff]\n * @cssprop {<color>} [--pf-c-badge--m-unread--BackgroundColor=#06c]\n */\n\n\n@customElement('pf-badge')\nexport class PfBadge extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /**\n * Denotes the state-of-affairs this badge represents\n * Options include read and unread\n */\n @property({ reflect: true }) state?: 'unread' | 'read';\n\n /**\n * Sets a numeric value for a badge.\n *\n * You can pair it with `threshold` attribute to add a `+` sign\n * if the number exceeds the threshold value.\n */\n @property({ reflect: true, type: Number }) number?: number;\n\n /**\n * Sets a threshold for the numeric value and adds `+` sign if\n * the numeric value exceeds the threshold value.\n */\n @property({ reflect: true, type: Number }) threshold?: number;\n\n override render(): TemplateResult<1> {\n const { threshold, number, textContent } = this;\n const displayText =\n (threshold && number && (threshold < number)) ? `${threshold.toString()}+`\n : (number != null) ? number.toString()\n : textContent ?? '';\n return html`\n <span>${displayText}</span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-badge': PfBadge;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-badge.js","sourceRoot":"","sources":["pf-badge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAW/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAuB5B,MAAM;QACb,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,WAAW,GACb,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG;YAC5E,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;cACD,WAAW;KACpB,CAAC;IACJ,CAAC;;AA/Be,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAMtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAA2B;AAQZ;IAA1C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCAAiB;AAMhB;IAA1C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAoB;AArBnD,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './pf-badge.css';\n\n/**\n * A **badge** is used to annotate other information like a label or an object name.\n * @alias Badge\n */\n\n\n@customElement('pf-badge')\nexport class PfBadge extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /**\n * Denotes the state-of-affairs this badge represents\n * Options include read and unread\n */\n @property({ reflect: true }) state?: 'unread' | 'read';\n\n /**\n * Sets a numeric value for a badge.\n *\n * You can pair it with `threshold` attribute to add a `+` sign\n * if the number exceeds the threshold value.\n */\n @property({ reflect: true, type: Number }) number?: number;\n\n /**\n * Sets a threshold for the numeric value and adds `+` sign if\n * the numeric value exceeds the threshold value.\n */\n @property({ reflect: true, type: Number }) threshold?: number;\n\n override render(): TemplateResult<1> {\n const { threshold, number, textContent } = this;\n const displayText =\n (threshold && number && (threshold < number)) ? `${threshold.toString()}+`\n : (number != null) ? number.toString()\n : textContent ?? '';\n return html`\n <span>${displayText}</span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-badge': PfBadge;\n }\n}\n"]}
@@ -1,25 +1,46 @@
1
1
  :host {
2
2
  display: block;
3
+ /** Top padding for banner */
3
4
  --pf-c-banner--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
5
+ /** Right padding for banner */
4
6
  --pf-c-banner--PaddingRight: var(--pf-global--spacer--md, 1rem);
7
+ /** Right padding for banner on medium screens */
5
8
  --pf-c-banner--md--PaddingRight: var(--pf-global--spacer--lg, 1.5rem);
9
+ /** Bottom padding for banner */
6
10
  --pf-c-banner--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
11
+ /** Left padding for banner */
7
12
  --pf-c-banner--PaddingLeft: var(--pf-global--spacer--md, 1rem);
13
+ /** Left padding for banner on medium screens */
8
14
  --pf-c-banner--md--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem);
15
+ /** Font size for banner */
9
16
  --pf-c-banner--FontSize: var(--pf-global--FontSize--sm, 0.875rem);
17
+ /** Text color for banner */
10
18
  --pf-c-banner--Color: var(--pf-global--Color--100, #151515);
19
+ /** Background color for banner */
11
20
  --pf-c-banner--BackgroundColor: var(--pf-global--BackgroundColor--dark-400, #4f5255);
21
+ /** Link color for banner (references banner color) */
12
22
  --pf-c-banner--link--Color: var(--pf-c-banner--Color);
23
+ /** Link text decoration for banner */
13
24
  --pf-c-banner--link--TextDecoration: underline;
25
+ /** Link hover color for banner (references banner color) */
14
26
  --pf-c-banner--link--hover--Color: var(--pf-c-banner--Color);
27
+ /** Link hover font weight for banner */
15
28
  --pf-c-banner--link--hover--FontWeight: var(--pf-global--FontWeight--semi-bold, 700);
29
+ /** Disabled link color for banner (references banner color) */
16
30
  --pf-c-banner--link--disabled--Color: var(--pf-c-banner--Color);
31
+ /** Disabled link text decoration for banner */
17
32
  --pf-c-banner--link--disabled--TextDecoration: none;
33
+ /** Background color for info banner */
18
34
  --pf-c-banner--m-info--BackgroundColor: var(--pf-global--palette--blue-200, #73bcf7);
35
+ /** Background color for danger banner */
19
36
  --pf-c-banner--m-danger--BackgroundColor: var(--pf-global--danger-color--100, #c9190b);
37
+ /** Background color for success banner */
20
38
  --pf-c-banner--m-success--BackgroundColor: var(--pf-global--success-color--100, #3e8635);
39
+ /** Background color for warning banner */
21
40
  --pf-c-banner--m-warning--BackgroundColor: var(--pf-global--warning-color--100, #f0ab00);
41
+ /** Z-index for sticky banner */
22
42
  --pf-c-banner--m-sticky--ZIndex: var(--pf-global--ZIndex--md, 300);
43
+ /** Box shadow for sticky banner */
23
44
  --pf-c-banner--m-sticky--BoxShadow: var(--pf-global--BoxShadow--md-bottom);
24
45
  }
25
46
 
@@ -4,25 +4,7 @@ export type BannerVariant = ('default' | 'info' | 'warning' | 'danger' | 'succes
4
4
  * A banner is a 1-line, full color, full width container that can be used to communicate short snippets of information to users.
5
5
  * Banners are un-intrusive and non-dismissible.
6
6
  * @summary Allows users to display a stylized banner.
7
- * @cssprop {<length>} [--pf-c-banner--PaddingTop=0.25rem]
8
- * @cssprop {<length>} [--pf-c-banner--PaddingRight=1rem]
9
- * @cssprop {<length>} [--pf-c-banner--PaddingBottom=0.25rem]
10
- * @cssprop {<length>} [--pf-c-banner--PaddingLeft=1rem]
11
- * @cssprop {<length>} [--pf-c-banner--md--PaddingRight=1.5rem]
12
- * @cssprop {<length>} [--pf-c-banner--md--PaddingLeft=1.5rem]
13
- * @cssprop {<length>} [--pf-c-banner--FontSize=0.875rem]
14
- * @cssprop {<color>} [--pf-c-banner--BackgroundColor=#4f5255]
15
- * @cssprop {<color>} [--pf-c-banner--m-info--BackgroundColor=#73bcf7]
16
- * @cssprop {<color>} [--pf-c-banner--m-danger--BackgroundColor=#c9190b]
17
- * @cssprop {<color>} [--pf-c-banner--m-success--BackgroundColor=#3e8635]
18
- * @cssprop {<color>} [--pf-c-banner--m-warning--BackgroundColor=#f0ab00]
19
- * @cssprop [--pf-c-banner--m-sticky--ZIndex=300]
20
- * @cssprop [--pf-c-banner--m-sticky--BoxShadow=0 0.5rem 0.5rem -0.375rem rgba(3, 3, 3, 0.18)]
21
- * @csspart container - The container of the banner
22
- * @slot icon
23
- * Contains the labels's icon, e.g. web-icon-alert-success.
24
- * @slot
25
- * Contains the text for the banner
7
+ * @alias Banner
26
8
  */
27
9
  export declare class PfBanner extends LitElement {
28
10
  #private;
@@ -6,7 +6,124 @@ import { property } from 'lit/decorators/property.js';
6
6
  import { classMap } from 'lit/directives/class-map.js';
7
7
  import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
8
8
  import { css } from "lit";
9
- const styles = css `:host {\n display: block;\n --pf-c-banner--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-banner--PaddingRight: var(--pf-global--spacer--md, 1rem);\n --pf-c-banner--md--PaddingRight: var(--pf-global--spacer--lg, 1.5rem);\n --pf-c-banner--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-banner--PaddingLeft: var(--pf-global--spacer--md, 1rem);\n --pf-c-banner--md--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem);\n --pf-c-banner--FontSize: var(--pf-global--FontSize--sm, 0.875rem);\n --pf-c-banner--Color: var(--pf-global--Color--100, #151515);\n --pf-c-banner--BackgroundColor: var(--pf-global--BackgroundColor--dark-400, #4f5255);\n --pf-c-banner--link--Color: var(--pf-c-banner--Color);\n --pf-c-banner--link--TextDecoration: underline;\n --pf-c-banner--link--hover--Color: var(--pf-c-banner--Color);\n --pf-c-banner--link--hover--FontWeight: var(--pf-global--FontWeight--semi-bold, 700);\n --pf-c-banner--link--disabled--Color: var(--pf-c-banner--Color);\n --pf-c-banner--link--disabled--TextDecoration: none;\n --pf-c-banner--m-info--BackgroundColor: var(--pf-global--palette--blue-200, #73bcf7);\n --pf-c-banner--m-danger--BackgroundColor: var(--pf-global--danger-color--100, #c9190b);\n --pf-c-banner--m-success--BackgroundColor: var(--pf-global--success-color--100, #3e8635);\n --pf-c-banner--m-warning--BackgroundColor: var(--pf-global--warning-color--100, #f0ab00);\n --pf-c-banner--m-sticky--ZIndex: var(--pf-global--ZIndex--md, 300);\n --pf-c-banner--m-sticky--BoxShadow: var(--pf-global--BoxShadow--md-bottom);\n}\n\n#container,\n#container.default {\n color: var(--pf-global--Color--100, var(--pf-global--Color--light-100, #ffffff));\n overflow: hidden;\n text-overflow: ellipsis;\n padding:\n var(--pf-c-banner--PaddingTop, var(--pf-global--spacer--xs, 0.25rem))\n var(--pf-c-banner--PaddingRight, var(--pf-global--spacer--md, 1rem))\n var(--pf-c-banner--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem))\n var(--pf-c-banner--PaddingLeft, var(--pf-global--spacer--md, 1rem));\n font-size: var(--pf-c-banner--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n color: var(--pf-global--Color--100, var(--pf-global--Color--light-100, #ffffff));\n white-space: nowrap;\n background-color: var(--pf-c-banner--BackgroundColor, var(--pf-global--BackgroundColor--dark-400, #4f5255));\n\n --pf-icon--size: 1em;\n}\n\n#container.info {\n color: var(--pf-global--Color--100, var(--pf-global--Color--dark-100, #151515));\n --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-info--BackgroundColor, var(--pf-global--palette--blue-200, #73bcf7));\n}\n\n#container.danger {\n --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-danger--BackgroundColor, var(--pf-global--danger-color--100, #c9190b));\n}\n\n#container.success {\n --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-success--BackgroundColor, var(--pf-global--success-color--100, #3e8635));\n}\n\n#container.warning {\n color: var(--pf-global--Color--100, var(--pf-global--Color--dark-100, #151515));\n --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-warning--BackgroundColor, var(--pf-global--warning-color--100, #f0ab00));\n}\n\n#container.hasIcon {\n display: var(--pf-l-flex--Display, flex);\n flex-wrap: var(--pf-l-flex--FlexWrap, wrap);\n align-items: var(--pf-l-flex--AlignItems, baseline);\n gap: var(--pf-l-flex--spacer, var(--pf-l-flex--spacer--sm, var(--pf-global--spacer--sm, 0.5rem)));\n}\n\n:host([sticky]) {\n position: sticky;\n top: 0;\n z-index: var(--pf-c-banner--m-sticky--ZIndex, var(--pf-global--ZIndex--md, 300));\n box-shadow:\n var(--pf-c-banner--m-sticky--BoxShadow,\n var(--pf-global--BoxShadow--md-bottom, 0 0.5rem 0.5rem -0.375rem rgba(3, 3, 3, 0.18)));\n}\n\npf-icon,\n::slotted(pf-icon),\n::slotted(svg) {\n position: relative;\n inset-block-start: 0.125em;\n}\n\n::slotted(svg) {\n height: 1em;\n width: 1em;\n fill: currentcolor;\n}\n\n@media (min-width: 768px) {\n #container {\n --pf-c-banner--PaddingRight: var(--pf-c-banner--md--PaddingRight, var(--pf-global--spacer--lg, 1.5rem));\n --pf-c-banner--PaddingLeft: var(--pf-c-banner--md--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));\n }\n}\n`;
9
+ const styles = css `:host {
10
+ display: block;
11
+ /** Top padding for banner */
12
+ --pf-c-banner--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
13
+ /** Right padding for banner */
14
+ --pf-c-banner--PaddingRight: var(--pf-global--spacer--md, 1rem);
15
+ /** Right padding for banner on medium screens */
16
+ --pf-c-banner--md--PaddingRight: var(--pf-global--spacer--lg, 1.5rem);
17
+ /** Bottom padding for banner */
18
+ --pf-c-banner--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem);
19
+ /** Left padding for banner */
20
+ --pf-c-banner--PaddingLeft: var(--pf-global--spacer--md, 1rem);
21
+ /** Left padding for banner on medium screens */
22
+ --pf-c-banner--md--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem);
23
+ /** Font size for banner */
24
+ --pf-c-banner--FontSize: var(--pf-global--FontSize--sm, 0.875rem);
25
+ /** Text color for banner */
26
+ --pf-c-banner--Color: var(--pf-global--Color--100, #151515);
27
+ /** Background color for banner */
28
+ --pf-c-banner--BackgroundColor: var(--pf-global--BackgroundColor--dark-400, #4f5255);
29
+ /** Link color for banner (references banner color) */
30
+ --pf-c-banner--link--Color: var(--pf-c-banner--Color);
31
+ /** Link text decoration for banner */
32
+ --pf-c-banner--link--TextDecoration: underline;
33
+ /** Link hover color for banner (references banner color) */
34
+ --pf-c-banner--link--hover--Color: var(--pf-c-banner--Color);
35
+ /** Link hover font weight for banner */
36
+ --pf-c-banner--link--hover--FontWeight: var(--pf-global--FontWeight--semi-bold, 700);
37
+ /** Disabled link color for banner (references banner color) */
38
+ --pf-c-banner--link--disabled--Color: var(--pf-c-banner--Color);
39
+ /** Disabled link text decoration for banner */
40
+ --pf-c-banner--link--disabled--TextDecoration: none;
41
+ /** Background color for info banner */
42
+ --pf-c-banner--m-info--BackgroundColor: var(--pf-global--palette--blue-200, #73bcf7);
43
+ /** Background color for danger banner */
44
+ --pf-c-banner--m-danger--BackgroundColor: var(--pf-global--danger-color--100, #c9190b);
45
+ /** Background color for success banner */
46
+ --pf-c-banner--m-success--BackgroundColor: var(--pf-global--success-color--100, #3e8635);
47
+ /** Background color for warning banner */
48
+ --pf-c-banner--m-warning--BackgroundColor: var(--pf-global--warning-color--100, #f0ab00);
49
+ /** Z-index for sticky banner */
50
+ --pf-c-banner--m-sticky--ZIndex: var(--pf-global--ZIndex--md, 300);
51
+ /** Box shadow for sticky banner */
52
+ --pf-c-banner--m-sticky--BoxShadow: var(--pf-global--BoxShadow--md-bottom);
53
+ }
54
+
55
+ #container,
56
+ #container.default {
57
+ color: var(--pf-global--Color--100, var(--pf-global--Color--light-100, #ffffff));
58
+ overflow: hidden;
59
+ text-overflow: ellipsis;
60
+ padding:
61
+ var(--pf-c-banner--PaddingTop, var(--pf-global--spacer--xs, 0.25rem))
62
+ var(--pf-c-banner--PaddingRight, var(--pf-global--spacer--md, 1rem))
63
+ var(--pf-c-banner--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem))
64
+ var(--pf-c-banner--PaddingLeft, var(--pf-global--spacer--md, 1rem));
65
+ font-size: var(--pf-c-banner--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
66
+ color: var(--pf-global--Color--100, var(--pf-global--Color--light-100, #ffffff));
67
+ white-space: nowrap;
68
+ background-color: var(--pf-c-banner--BackgroundColor, var(--pf-global--BackgroundColor--dark-400, #4f5255));
69
+
70
+ --pf-icon--size: 1em;
71
+ }
72
+
73
+ #container.info {
74
+ color: var(--pf-global--Color--100, var(--pf-global--Color--dark-100, #151515));
75
+ --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-info--BackgroundColor, var(--pf-global--palette--blue-200, #73bcf7));
76
+ }
77
+
78
+ #container.danger {
79
+ --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-danger--BackgroundColor, var(--pf-global--danger-color--100, #c9190b));
80
+ }
81
+
82
+ #container.success {
83
+ --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-success--BackgroundColor, var(--pf-global--success-color--100, #3e8635));
84
+ }
85
+
86
+ #container.warning {
87
+ color: var(--pf-global--Color--100, var(--pf-global--Color--dark-100, #151515));
88
+ --pf-c-banner--BackgroundColor: var(--pf-c-banner--m-warning--BackgroundColor, var(--pf-global--warning-color--100, #f0ab00));
89
+ }
90
+
91
+ #container.hasIcon {
92
+ display: var(--pf-l-flex--Display, flex);
93
+ flex-wrap: var(--pf-l-flex--FlexWrap, wrap);
94
+ align-items: var(--pf-l-flex--AlignItems, baseline);
95
+ gap: var(--pf-l-flex--spacer, var(--pf-l-flex--spacer--sm, var(--pf-global--spacer--sm, 0.5rem)));
96
+ }
97
+
98
+ :host([sticky]) {
99
+ position: sticky;
100
+ top: 0;
101
+ z-index: var(--pf-c-banner--m-sticky--ZIndex, var(--pf-global--ZIndex--md, 300));
102
+ box-shadow:
103
+ var(--pf-c-banner--m-sticky--BoxShadow,
104
+ var(--pf-global--BoxShadow--md-bottom, 0 0.5rem 0.5rem -0.375rem rgba(3, 3, 3, 0.18)));
105
+ }
106
+
107
+ pf-icon,
108
+ ::slotted(pf-icon),
109
+ ::slotted(svg) {
110
+ position: relative;
111
+ inset-block-start: 0.125em;
112
+ }
113
+
114
+ ::slotted(svg) {
115
+ height: 1em;
116
+ width: 1em;
117
+ fill: currentcolor;
118
+ }
119
+
120
+ @media (min-width: 768px) {
121
+ #container {
122
+ --pf-c-banner--PaddingRight: var(--pf-c-banner--md--PaddingRight, var(--pf-global--spacer--lg, 1.5rem));
123
+ --pf-c-banner--PaddingLeft: var(--pf-c-banner--md--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));
124
+ }
125
+ }
126
+ `;
10
127
  let PfBanner = class PfBanner extends LitElement {
11
128
  constructor() {
12
129
  super(...arguments);
@@ -24,11 +141,14 @@ let PfBanner = class PfBanner extends LitElement {
24
141
  const { variant, icon } = this;
25
142
  const hasIcon = !!icon || __classPrivateFieldGet(this, _PfBanner_slots, "f").hasSlotted('icon');
26
143
  return html `
144
+ <!-- The container of the banner -->
27
145
  <div id="container" part="container"
28
146
  class=${classMap({ hasIcon, [variant ?? '']: !!variant })}>
147
+ <!-- Contains the labels's icon, e.g. web-icon-alert-success. -->
29
148
  <slot name="icon" part="icon">${!this.icon ? '' : html `
30
149
  <pf-icon icon="${this.icon}"></pf-icon>`}
31
150
  </slot>
151
+ <!-- Contains the text for the banner -->
32
152
  <slot id="text"></slot>
33
153
  </div>
34
154
  `;
@@ -36,7 +156,7 @@ let PfBanner = class PfBanner extends LitElement {
36
156
  };
37
157
  _PfBanner_slots = new WeakMap();
38
158
  PfBanner.styles = [styles];
39
- PfBanner.version = "4.0.2";
159
+ PfBanner.version = "4.2.0";
40
160
  __decorate([
41
161
  property({ reflect: true })
42
162
  ], PfBanner.prototype, "variant", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-banner.js","sourceRoot":"","sources":["pf-banner.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAA4C,MAAM,KAAK,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;;;AAqC9E,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QASL,4DAA4D;QAC/B,WAAM,GAAG,KAAK,CAAC;QAE5C,2DAA2D;QAC3D,0BAAS,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAC;;IAEvC,UAAU,CAAC,OAA6B;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,uBAAA,IAAI,uBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAA;;oBAEK,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;wCAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;2BACnC,IAAI,CAAC,IAAI,cAAc;;;;KAI7C,CAAC;IACJ,CAAC;;;AAhCe,eAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAGtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAyB;AAGzC;IAAX,QAAQ,EAAE;sCAAe;AAGG;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAgB;AAVjC,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\n\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 { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport styles from './pf-banner.css';\n\nexport type BannerVariant = (\n | 'default'\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n);\n\n/**\n * A banner is a 1-line, full color, full width container that can be used to communicate short snippets of information to users.\n * Banners are un-intrusive and non-dismissible.\n * @summary Allows users to display a stylized banner.\n * @cssprop {<length>} [--pf-c-banner--PaddingTop=0.25rem]\n * @cssprop {<length>} [--pf-c-banner--PaddingRight=1rem]\n * @cssprop {<length>} [--pf-c-banner--PaddingBottom=0.25rem]\n * @cssprop {<length>} [--pf-c-banner--PaddingLeft=1rem]\n * @cssprop {<length>} [--pf-c-banner--md--PaddingRight=1.5rem]\n * @cssprop {<length>} [--pf-c-banner--md--PaddingLeft=1.5rem]\n * @cssprop {<length>} [--pf-c-banner--FontSize=0.875rem]\n * @cssprop {<color>} [--pf-c-banner--BackgroundColor=#4f5255]\n * @cssprop {<color>} [--pf-c-banner--m-info--BackgroundColor=#73bcf7]\n * @cssprop {<color>} [--pf-c-banner--m-danger--BackgroundColor=#c9190b]\n * @cssprop {<color>} [--pf-c-banner--m-success--BackgroundColor=#3e8635]\n * @cssprop {<color>} [--pf-c-banner--m-warning--BackgroundColor=#f0ab00]\n * @cssprop [--pf-c-banner--m-sticky--ZIndex=300]\n * @cssprop [--pf-c-banner--m-sticky--BoxShadow=0 0.5rem 0.5rem -0.375rem rgba(3, 3, 3, 0.18)]\n * @csspart container - The container of the banner\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n * @slot\n * Contains the text for the banner\n */\n@customElement('pf-banner')\nexport class PfBanner extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /** Changes the visual appearance of the banner. */\n @property({ reflect: true }) variant?: BannerVariant;\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property() icon?: string;\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property({ type: Boolean }) sticky = false;\n\n /** Represents the state of the anonymous and icon slots */\n #slots = new SlotController(this, null, 'icon');\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('icon') && this.icon) {\n import('@patternfly/elements/pf-icon/pf-icon.js');\n }\n }\n\n override render(): TemplateResult<1> {\n const { variant, icon } = this;\n const hasIcon = !!icon || this.#slots.hasSlotted('icon');\n return html`\n <div id=\"container\" part=\"container\"\n class=${classMap({ hasIcon, [variant ?? '']: !!variant })}>\n <slot name=\"icon\" part=\"icon\">${!this.icon ? '' : html`\n <pf-icon icon=\"${this.icon}\"></pf-icon>`}\n </slot>\n <slot id=\"text\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-banner': PfBanner;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-banner.js","sourceRoot":"","sources":["pf-banner.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAA4C,MAAM,KAAK,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmB9E,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QASL,4DAA4D;QAC/B,WAAM,GAAG,KAAK,CAAC;QAE5C,2DAA2D;QAC3D,0BAAS,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAC;;IAEvC,UAAU,CAAC,OAA6B;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,uBAAA,IAAI,uBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAA;;;oBAGK,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;wCAE7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;2BACnC,IAAI,CAAC,IAAI,cAAc;;;;;KAK7C,CAAC;IACJ,CAAC;;;AAnCe,eAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAGtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAyB;AAGzC;IAAX,QAAQ,EAAE;sCAAe;AAGG;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAgB;AAVjC,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\n\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 { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport styles from './pf-banner.css';\n\nexport type BannerVariant = (\n | 'default'\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n);\n\n/**\n * A banner is a 1-line, full color, full width container that can be used to communicate short snippets of information to users.\n * Banners are un-intrusive and non-dismissible.\n * @summary Allows users to display a stylized banner.\n * @alias Banner\n */\n@customElement('pf-banner')\nexport class PfBanner extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /** Changes the visual appearance of the banner. */\n @property({ reflect: true }) variant?: BannerVariant;\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property() icon?: string;\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property({ type: Boolean }) sticky = false;\n\n /** Represents the state of the anonymous and icon slots */\n #slots = new SlotController(this, null, 'icon');\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('icon') && this.icon) {\n import('@patternfly/elements/pf-icon/pf-icon.js');\n }\n }\n\n override render(): TemplateResult<1> {\n const { variant, icon } = this;\n const hasIcon = !!icon || this.#slots.hasSlotted('icon');\n return html`\n <!-- The container of the banner -->\n <div id=\"container\" part=\"container\"\n class=${classMap({ hasIcon, [variant ?? '']: !!variant })}>\n <!-- Contains the labels's icon, e.g. web-icon-alert-success. -->\n <slot name=\"icon\" part=\"icon\">${!this.icon ? '' : html`\n <pf-icon icon=\"${this.icon}\"></pf-icon>`}\n </slot>\n <!-- Contains the text for the banner -->\n <slot id=\"text\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-banner': PfBanner;\n }\n}\n"]}