@patternfly/elements 4.1.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/custom-elements.json +14909 -12588
  2. package/package.json +26 -17
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-alert/pf-alert.css +193 -0
  16. package/pf-alert/pf-alert.d.ts +95 -0
  17. package/pf-alert/pf-alert.js +406 -0
  18. package/pf-alert/pf-alert.js.map +1 -0
  19. package/pf-alert/test/pf-alert.e2e.d.ts +1 -0
  20. package/pf-alert/test/pf-alert.e2e.js +45 -0
  21. package/pf-alert/test/pf-alert.e2e.js.map +1 -0
  22. package/pf-alert/test/pf-alert.spec.d.ts +1 -0
  23. package/pf-alert/test/pf-alert.spec.js +42 -0
  24. package/pf-alert/test/pf-alert.spec.js.map +1 -0
  25. package/pf-avatar/pf-avatar.css +14 -0
  26. package/pf-avatar/pf-avatar.d.ts +1 -14
  27. package/pf-avatar/pf-avatar.js +82 -2
  28. package/pf-avatar/pf-avatar.js.map +1 -1
  29. package/pf-back-to-top/pf-back-to-top.css +12 -0
  30. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  31. package/pf-back-to-top/pf-back-to-top.js +87 -3
  32. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  33. package/pf-back-to-top/test/pf-back-to-top.spec.js +3 -2
  34. package/pf-back-to-top/test/pf-back-to-top.spec.js.map +1 -1
  35. package/pf-background-image/pf-background-image.css +7 -0
  36. package/pf-background-image/pf-background-image.d.ts +1 -8
  37. package/pf-background-image/pf-background-image.js +76 -2
  38. package/pf-background-image/pf-background-image.js.map +1 -1
  39. package/pf-badge/pf-badge.css +13 -0
  40. package/pf-badge/pf-badge.d.ts +1 -13
  41. package/pf-badge/pf-badge.js +53 -2
  42. package/pf-badge/pf-badge.js.map +1 -1
  43. package/pf-banner/pf-banner.css +21 -0
  44. package/pf-banner/pf-banner.d.ts +1 -19
  45. package/pf-banner/pf-banner.js +122 -2
  46. package/pf-banner/pf-banner.js.map +1 -1
  47. package/pf-button/pf-button-tokens.css +38 -0
  48. package/pf-button/pf-button.d.ts +1 -106
  49. package/pf-button/pf-button.js +837 -4
  50. package/pf-button/pf-button.js.map +1 -1
  51. package/pf-card/pf-card.css +24 -0
  52. package/pf-card/pf-card.d.ts +1 -38
  53. package/pf-card/pf-card.js +248 -2
  54. package/pf-card/pf-card.js.map +1 -1
  55. package/pf-chip/pf-chip-group.css +15 -0
  56. package/pf-chip/pf-chip-group.d.ts +0 -15
  57. package/pf-chip/pf-chip-group.js +111 -2
  58. package/pf-chip/pf-chip-group.js.map +1 -1
  59. package/pf-chip/pf-chip.css +30 -1
  60. package/pf-chip/pf-chip.d.ts +1 -20
  61. package/pf-chip/pf-chip.js +135 -2
  62. package/pf-chip/pf-chip.js.map +1 -1
  63. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  64. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  65. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  66. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  67. package/pf-code-block/pf-code-block.css +11 -1
  68. package/pf-code-block/pf-code-block.js +70 -18
  69. package/pf-code-block/pf-code-block.js.map +1 -1
  70. package/pf-dropdown/pf-dropdown-group.js +40 -2
  71. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  72. package/pf-dropdown/pf-dropdown-item.css +10 -0
  73. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  74. package/pf-dropdown/pf-dropdown-item.js +155 -2
  75. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  76. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  77. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  78. package/pf-dropdown/pf-dropdown.css +13 -1
  79. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  80. package/pf-dropdown/pf-dropdown.js +357 -2
  81. package/pf-dropdown/pf-dropdown.js.map +1 -1
  82. package/pf-helper-text/pf-helper-text.css +35 -0
  83. package/pf-helper-text/pf-helper-text.d.ts +41 -0
  84. package/pf-helper-text/pf-helper-text.js +107 -0
  85. package/pf-helper-text/pf-helper-text.js.map +1 -0
  86. package/pf-helper-text/test/pf-helper-text.e2e.d.ts +1 -0
  87. package/pf-helper-text/test/pf-helper-text.e2e.js +23 -0
  88. package/pf-helper-text/test/pf-helper-text.e2e.js.map +1 -0
  89. package/pf-helper-text/test/pf-helper-text.spec.d.ts +1 -0
  90. package/pf-helper-text/test/pf-helper-text.spec.js +57 -0
  91. package/pf-helper-text/test/pf-helper-text.spec.js.map +1 -0
  92. package/pf-hint/pf-hint.css +120 -0
  93. package/pf-hint/pf-hint.d.ts +19 -0
  94. package/pf-hint/pf-hint.js +180 -0
  95. package/pf-hint/pf-hint.js.map +1 -0
  96. package/pf-hint/test/pf-hint.e2e.d.ts +1 -0
  97. package/pf-hint/test/pf-hint.e2e.js +23 -0
  98. package/pf-hint/test/pf-hint.e2e.js.map +1 -0
  99. package/pf-hint/test/pf-hint.spec.d.ts +1 -0
  100. package/pf-hint/test/pf-hint.spec.js +87 -0
  101. package/pf-hint/test/pf-hint.spec.js.map +1 -0
  102. package/pf-icon/pf-icon.css +1 -0
  103. package/pf-icon/pf-icon.d.ts +1 -3
  104. package/pf-icon/pf-icon.js +44 -4
  105. package/pf-icon/pf-icon.js.map +1 -1
  106. package/pf-jump-links/pf-jump-links-item.css +7 -1
  107. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  108. package/pf-jump-links/pf-jump-links-item.js +77 -2
  109. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  110. package/pf-jump-links/pf-jump-links-list.css +3 -0
  111. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  112. package/pf-jump-links/pf-jump-links-list.js +20 -2
  113. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  114. package/pf-jump-links/pf-jump-links.css +36 -0
  115. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  116. package/pf-jump-links/pf-jump-links.js +179 -2
  117. package/pf-jump-links/pf-jump-links.js.map +1 -1
  118. package/pf-label/pf-label.css +51 -1
  119. package/pf-label/pf-label.d.ts +1 -58
  120. package/pf-label/pf-label.js +257 -2
  121. package/pf-label/pf-label.js.map +1 -1
  122. package/pf-modal/pf-modal.css +11 -0
  123. package/pf-modal/pf-modal.d.ts +2 -25
  124. package/pf-modal/pf-modal.js +215 -2
  125. package/pf-modal/pf-modal.js.map +1 -1
  126. package/pf-panel/pf-panel.css +29 -0
  127. package/pf-panel/pf-panel.d.ts +1 -32
  128. package/pf-panel/pf-panel.js +204 -2
  129. package/pf-panel/pf-panel.js.map +1 -1
  130. package/pf-popover/pf-popover.css +33 -0
  131. package/pf-popover/pf-popover.d.ts +1 -108
  132. package/pf-popover/pf-popover.js +251 -3
  133. package/pf-popover/pf-popover.js.map +1 -1
  134. package/pf-progress/pf-progress.css +19 -0
  135. package/pf-progress/pf-progress.d.ts +1 -57
  136. package/pf-progress/pf-progress.js +231 -2
  137. package/pf-progress/pf-progress.js.map +1 -1
  138. package/pf-progress-stepper/pf-progress-step.js +126 -2
  139. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  140. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  141. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  142. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  143. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  144. package/pf-search-input/pf-search-input.css +308 -0
  145. package/pf-search-input/pf-search-input.d.ts +75 -0
  146. package/pf-search-input/pf-search-input.js +630 -0
  147. package/pf-search-input/pf-search-input.js.map +1 -0
  148. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  149. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  150. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  151. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  152. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  153. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  154. package/pf-select/pf-option-group.js +27 -2
  155. package/pf-select/pf-option-group.js.map +1 -1
  156. package/pf-select/pf-option.css +9 -1
  157. package/pf-select/pf-option.js +83 -2
  158. package/pf-select/pf-option.js.map +1 -1
  159. package/pf-select/pf-select.css +157 -0
  160. package/pf-select/pf-select.d.ts +1 -158
  161. package/pf-select/pf-select.js +542 -5
  162. package/pf-select/pf-select.js.map +1 -1
  163. package/pf-spinner/pf-spinner.css +13 -0
  164. package/pf-spinner/pf-spinner.d.ts +1 -14
  165. package/pf-spinner/pf-spinner.js +101 -2
  166. package/pf-spinner/pf-spinner.js.map +1 -1
  167. package/pf-switch/pf-switch.css +22 -0
  168. package/pf-switch/pf-switch.d.ts +1 -30
  169. package/pf-switch/pf-switch.js +156 -2
  170. package/pf-switch/pf-switch.js.map +1 -1
  171. package/pf-table/pf-caption.js +10 -2
  172. package/pf-table/pf-caption.js.map +1 -1
  173. package/pf-table/pf-table.css +211 -0
  174. package/pf-table/pf-table.d.ts +1 -635
  175. package/pf-table/pf-table.js +437 -2
  176. package/pf-table/pf-table.js.map +1 -1
  177. package/pf-table/pf-tbody.js +18 -2
  178. package/pf-table/pf-tbody.js.map +1 -1
  179. package/pf-table/pf-td.js +107 -2
  180. package/pf-table/pf-td.js.map +1 -1
  181. package/pf-table/pf-th.js +95 -2
  182. package/pf-table/pf-th.js.map +1 -1
  183. package/pf-table/pf-thead.js +20 -2
  184. package/pf-table/pf-thead.js.map +1 -1
  185. package/pf-table/pf-tr.js +89 -2
  186. package/pf-table/pf-tr.js.map +1 -1
  187. package/pf-tabs/pf-tab-panel.css +1 -0
  188. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  189. package/pf-tabs/pf-tab-panel.js +19 -3
  190. package/pf-tabs/pf-tab-panel.js.map +1 -1
  191. package/pf-tabs/pf-tab.css +33 -0
  192. package/pf-tabs/pf-tab.d.ts +0 -40
  193. package/pf-tabs/pf-tab.js +231 -2
  194. package/pf-tabs/pf-tab.js.map +1 -1
  195. package/pf-tabs/pf-tabs.css +26 -0
  196. package/pf-tabs/pf-tabs.d.ts +1 -34
  197. package/pf-tabs/pf-tabs.js +307 -2
  198. package/pf-tabs/pf-tabs.js.map +1 -1
  199. package/pf-text-area/pf-text-area.css +125 -0
  200. package/pf-text-area/pf-text-area.d.ts +1 -125
  201. package/pf-text-area/pf-text-area.js +320 -2
  202. package/pf-text-area/pf-text-area.js.map +1 -1
  203. package/pf-text-input/pf-text-input.css +126 -0
  204. package/pf-text-input/pf-text-input.d.ts +1 -126
  205. package/pf-text-input/pf-text-input.js +395 -2
  206. package/pf-text-input/pf-text-input.js.map +1 -1
  207. package/pf-tile/pf-tile.css +28 -8
  208. package/pf-tile/pf-tile.d.ts +1 -24
  209. package/pf-tile/pf-tile.js +156 -2
  210. package/pf-tile/pf-tile.js.map +1 -1
  211. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  212. package/pf-timestamp/pf-timestamp.js +10 -2
  213. package/pf-timestamp/pf-timestamp.js.map +1 -1
  214. package/pf-tooltip/pf-tooltip.css +10 -0
  215. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  216. package/pf-tooltip/pf-tooltip.js +113 -3
  217. package/pf-tooltip/pf-tooltip.js.map +1 -1
  218. package/pfe.min.js +0 -7439
  219. package/pfe.min.js.LEGAL.txt +0 -57
  220. package/pfe.min.js.map +0 -7
  221. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  222. package/react/pf-accordion/pf-accordion-header.js +0 -12
  223. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  224. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  225. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  226. package/react/pf-accordion/pf-accordion.js +0 -13
  227. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  228. package/react/pf-avatar/pf-avatar.js +0 -12
  229. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  230. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  231. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  232. package/react/pf-background-image/pf-background-image.js +0 -10
  233. package/react/pf-badge/pf-badge.d.ts +0 -5
  234. package/react/pf-badge/pf-badge.js +0 -10
  235. package/react/pf-banner/pf-banner.d.ts +0 -5
  236. package/react/pf-banner/pf-banner.js +0 -10
  237. package/react/pf-button/pf-button.d.ts +0 -5
  238. package/react/pf-button/pf-button.js +0 -12
  239. package/react/pf-card/pf-card.d.ts +0 -5
  240. package/react/pf-card/pf-card.js +0 -10
  241. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  242. package/react/pf-chip/pf-chip-group.js +0 -13
  243. package/react/pf-chip/pf-chip.d.ts +0 -5
  244. package/react/pf-chip/pf-chip.js +0 -13
  245. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  246. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  247. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  248. package/react/pf-code-block/pf-code-block.js +0 -10
  249. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  250. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  251. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  252. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  253. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  254. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  255. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  256. package/react/pf-dropdown/pf-dropdown.js +0 -14
  257. package/react/pf-icon/pf-icon.d.ts +0 -5
  258. package/react/pf-icon/pf-icon.js +0 -13
  259. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  260. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  261. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  262. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  263. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  264. package/react/pf-jump-links/pf-jump-links.js +0 -12
  265. package/react/pf-label/pf-label.d.ts +0 -5
  266. package/react/pf-label/pf-label.js +0 -12
  267. package/react/pf-modal/pf-modal.d.ts +0 -5
  268. package/react/pf-modal/pf-modal.js +0 -13
  269. package/react/pf-panel/pf-panel.d.ts +0 -5
  270. package/react/pf-panel/pf-panel.js +0 -10
  271. package/react/pf-popover/pf-popover.d.ts +0 -5
  272. package/react/pf-popover/pf-popover.js +0 -10
  273. package/react/pf-progress/pf-progress.d.ts +0 -5
  274. package/react/pf-progress/pf-progress.js +0 -10
  275. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  276. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  277. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  278. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  279. package/react/pf-select/pf-option-group.d.ts +0 -5
  280. package/react/pf-select/pf-option-group.js +0 -10
  281. package/react/pf-select/pf-option.d.ts +0 -5
  282. package/react/pf-select/pf-option.js +0 -10
  283. package/react/pf-select/pf-select.d.ts +0 -5
  284. package/react/pf-select/pf-select.js +0 -13
  285. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  286. package/react/pf-spinner/pf-spinner.js +0 -10
  287. package/react/pf-switch/pf-switch.d.ts +0 -5
  288. package/react/pf-switch/pf-switch.js +0 -12
  289. package/react/pf-table/pf-caption.d.ts +0 -5
  290. package/react/pf-table/pf-caption.js +0 -10
  291. package/react/pf-table/pf-table.d.ts +0 -5
  292. package/react/pf-table/pf-table.js +0 -10
  293. package/react/pf-table/pf-tbody.d.ts +0 -5
  294. package/react/pf-table/pf-tbody.js +0 -10
  295. package/react/pf-table/pf-td.d.ts +0 -5
  296. package/react/pf-table/pf-td.js +0 -10
  297. package/react/pf-table/pf-th.d.ts +0 -5
  298. package/react/pf-table/pf-th.js +0 -10
  299. package/react/pf-table/pf-thead.d.ts +0 -5
  300. package/react/pf-table/pf-thead.js +0 -10
  301. package/react/pf-table/pf-tr.d.ts +0 -5
  302. package/react/pf-table/pf-tr.js +0 -10
  303. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  304. package/react/pf-tabs/pf-tab-panel.js +0 -10
  305. package/react/pf-tabs/pf-tab.d.ts +0 -5
  306. package/react/pf-tabs/pf-tab.js +0 -12
  307. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  308. package/react/pf-tabs/pf-tabs.js +0 -10
  309. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  310. package/react/pf-text-area/pf-text-area.js +0 -10
  311. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  312. package/react/pf-text-input/pf-text-input.js +0 -10
  313. package/react/pf-tile/pf-tile.d.ts +0 -5
  314. package/react/pf-tile/pf-tile.js +0 -10
  315. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  316. package/react/pf-timestamp/pf-timestamp.js +0 -10
  317. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  318. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -0,0 +1,406 @@
1
+ var _PfAlert_instances, _PfAlert_timeoutId, _PfAlert_renderDefaultTitle, _PfAlert_onCloseClick, _PfAlert_onToggleClick;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
3
+ import { LitElement, html } from 'lit';
4
+ import { customElement } from 'lit/decorators/custom-element.js';
5
+ import { property } from 'lit/decorators/property.js';
6
+ import { classMap } from 'lit/directives/class-map.js';
7
+ import { ifDefined } from 'lit/directives/if-defined.js';
8
+ import { observes } from '@patternfly/pfe-core/decorators.js';
9
+ import '@patternfly/elements/pf-icon/pf-icon.js';
10
+ import '@patternfly/elements/pf-button/pf-button.js';
11
+ import { css } from "lit";
12
+ const styles = css `[hidden] {
13
+ display: none !important;
14
+ }
15
+
16
+ :host {
17
+ \t--pf-c-alert--BoxShadow: var(--pf-global--BoxShadow--lg, 0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08));
18
+ \t--pf-c-alert--BackgroundColor: var(--pf-global--BackgroundColor--100, #fff);
19
+ \t--pf-c-alert--GridTemplateColumns: max-content 1fr max-content;
20
+ \t--pf-c-alert--GridTemplateAreas: "icon title close" ". description description" ". action action";
21
+ \t--pf-c-alert--BorderTopWidth: var(--pf-global--BorderWidth--md, 2px);
22
+ \t--pf-c-alert--BorderTopColor: var(--pf-global--default-color--200, #009596);
23
+ \t--pf-c-alert--PaddingTop: var(--pf-global--spacer--md, 1rem);
24
+ \t--pf-c-alert--PaddingRight: var(--pf-global--spacer--md, 1rem);
25
+ \t--pf-c-alert--PaddingBottom: var(--pf-global--spacer--md, 1rem);
26
+ \t--pf-c-alert--PaddingLeft: var(--pf-global--spacer--md, 1rem);
27
+ \t--pf-c-alert__FontSize: var(--pf-global--FontSize--sm, 0.875rem);
28
+ \t--pf-c-alert__toggle--MarginTop: calc(-1 * var(--pf-global--spacer--form-element, 0.375rem) - 0.0625rem);
29
+ \t--pf-c-alert__toggle--MarginBottom: calc(-1 * var(--pf-global--spacer--form-element, 0.375rem));
30
+ \t--pf-c-alert__toggle--MarginLeft: calc(-1 * var(--pf-global--spacer--md, 1rem));
31
+ \t--pf-c-alert__toggle-icon--Rotate: 0;
32
+ \t--pf-c-alert__toggle-icon--Transition: var(--pf-global--Transition, all 250ms cubic-bezier(0.42, 0, 0.58, 1));
33
+ \t--pf-c-alert__icon--Color: var(--pf-global--default-color--200, #009596);
34
+ \t--pf-c-alert__icon--MarginTop: 0.0625rem;
35
+ \t--pf-c-alert__icon--MarginRight: var(--pf-global--spacer--sm, 0.5rem);
36
+ \t--pf-c-alert__icon--FontSize: var(--pf-global--icon--FontSize--md, 1.125rem);
37
+ \t--pf-c-alert__title--FontWeight: var(--pf-global--FontWeight--bold, 700);
38
+ \t--pf-c-alert__title--Color: var(--pf-global--default-color--300, #003737);
39
+ \t--pf-c-alert__title--max-lines: 1;
40
+ \t--pf-c-alert__action--MarginTop: calc(var(--pf-global--spacer--form-element, 0.375rem) * -1);
41
+ \t--pf-c-alert__action--MarginBottom: calc(var(--pf-global--spacer--form-element, 0.375rem) * -1);
42
+ \t--pf-c-alert__action--TranslateY: 0.125rem;
43
+ \t--pf-c-alert__action--MarginRight: calc(var(--pf-global--spacer--sm, 0.5rem) * -1);
44
+ \t--pf-c-alert__description--PaddingTop: var(--pf-global--spacer--xs, 0.25rem);
45
+ \t--pf-c-alert__action-group--PaddingTop-base: var(--pf-global--spacer--xs, 0.25rem);
46
+ \t--pf-c-alert__action-group--PaddingTop: var(--pf-c-alert__action-group--PaddingTop-base);
47
+ \t--pf-c-alert__description--action-group--PaddingTop-base: var(--pf-global--spacer--md, 1rem);
48
+ \t--pf-c-alert__description--action-group--PaddingTop: var(--pf-c-alert__description--action-group--PaddingTop-base);
49
+ \t--pf-c-alert__action-group__c-button--not-last-child--MarginRight: var(--pf-global--spacer--lg, 1.5rem);
50
+ \t--pf-c-alert--m-success--BorderTopColor: var(--pf-global--success-color--100, #3e8635);
51
+ \t--pf-c-alert--m-success__icon--Color: var(--pf-global--success-color--100, #3e8635);
52
+ \t--pf-c-alert--m-success__title--Color: var(--pf-global--success-color--200, #1e4f18);
53
+ \t--pf-c-alert--m-danger--BorderTopColor: var(--pf-global--danger-color--100, #c9190b);
54
+ \t--pf-c-alert--m-danger__icon--Color: var(--pf-global--danger-color--100, #c9190b);
55
+ \t--pf-c-alert--m-danger__title--Color: var(--pf-global--danger-color--200, #a30000);
56
+ \t--pf-c-alert--m-warning--BorderTopColor: var(--pf-global--warning-color--100, #f0ab00);
57
+ \t--pf-c-alert--m-warning__icon--Color: var(--pf-global--warning-color--100, #f0ab00);
58
+ \t--pf-c-alert--m-warning__title--Color: var(--pf-global--warning-color--200, #795600);
59
+ \t--pf-c-alert--m-info--BorderTopColor: var(--pf-global--info-color--100, #2b9af3);
60
+ \t--pf-c-alert--m-info__icon--Color: var(--pf-global--info-color--100, #2b9af3);
61
+ \t--pf-c-alert--m-info__title--Color: var(--pf-global--info-color--200, #002952);
62
+ \t--pf-c-alert--m-inline--BoxShadow: none;
63
+ \t--pf-c-alert--m-inline--BackgroundColor: var(--pf-global--palette--cyan-50, #f2f9f9);
64
+ \t--pf-c-alert--m-inline--m-success--BackgroundColor: var(--pf-global--palette--green-50, #f3faf2);
65
+ \t--pf-c-alert--m-inline--m-danger--BackgroundColor: var(--pf-global--palette--red-50, #faeae8);
66
+ \t--pf-c-alert--m-inline--m-warning--BackgroundColor: var(--pf-global--palette--gold-50, #fdf7e7);
67
+ \t--pf-c-alert--m-inline--m-info--BackgroundColor: var(--pf-global--palette--blue-50, #e7f1fa);
68
+ \t--pf-c-alert--m-inline--m-plain--BorderTopWidth: 0;
69
+ \t--pf-c-alert--m-inline--m-plain--BackgroundColor: transparent;
70
+ \t--pf-c-alert--m-inline--m-plain--PaddingTop: 0;
71
+ \t--pf-c-alert--m-inline--m-plain--PaddingRight: 0;
72
+ \t--pf-c-alert--m-inline--m-plain--PaddingBottom: 0;
73
+ \t--pf-c-alert--m-inline--m-plain--PaddingLeft: 0;
74
+ \t--pf-c-alert--m-expandable--GridTemplateColumns: auto max-content 1fr max-content;
75
+ \t--pf-c-alert--m-expandable--GridTemplateAreas: "toggle icon title close" ". . description description" ". . action action";
76
+ \t--pf-c-alert--m-expandable__description--action-group--PaddingTop: var(--pf-c-alert__action-group--PaddingTop-base);
77
+ \t--pf-c-alert--m-expanded__toggle-icon--Rotate: 90deg;
78
+ \t--pf-c-alert--m-expanded__description--action-group--PaddingTop: var(--pf-c-alert__description--action-group--PaddingTop-base);
79
+ \tcolor: var(--pf-global--Color--100, #151515);
80
+ \tposition: relative;
81
+ \tdisplay: grid;
82
+ \tpadding: var(--pf-c-alert--PaddingTop) var(--pf-c-alert--PaddingRight) var(--pf-c-alert--PaddingBottom) var(--pf-c-alert--PaddingLeft);
83
+ \tfont-size: var(--pf-c-alert__FontSize);
84
+ \tbackground-color: var(--pf-c-alert--BackgroundColor);
85
+ \tborder-top: var(--pf-c-alert--BorderTopWidth) solid var(--pf-c-alert--BorderTopColor);
86
+ \tbox-shadow: var(--pf-c-alert--BoxShadow);
87
+ \tgrid-template-columns: var(--pf-c-alert--GridTemplateColumns);
88
+ \tgrid-template-areas: var(--pf-c-alert--GridTemplateAreas);
89
+ }
90
+
91
+ :host([variant="success"]) {
92
+ --pf-c-alert--BorderTopColor: var(--pf-c-alert--m-success--BorderTopColor);
93
+ --pf-c-alert__icon--Color: var(--pf-c-alert--m-success__icon--Color);
94
+ --pf-c-alert__title--Color: var(--pf-c-alert--m-success__title--Color);
95
+ --pf-c-alert--m-inline--BackgroundColor: var(--pf-c-alert--m-inline--m-success--BackgroundColor);
96
+ }
97
+
98
+ :host([variant="danger"]) {
99
+ --pf-c-alert--BorderTopColor: var(--pf-c-alert--m-danger--BorderTopColor);
100
+ --pf-c-alert__icon--Color: var(--pf-c-alert--m-danger__icon--Color);
101
+ --pf-c-alert__title--Color: var(--pf-c-alert--m-danger__title--Color);
102
+ --pf-c-alert--m-inline--BackgroundColor: var(--pf-c-alert--m-inline--m-danger--BackgroundColor);
103
+ }
104
+
105
+ :host([variant="warning"]) {
106
+ --pf-c-alert--BorderTopColor: var(--pf-c-alert--m-warning--BorderTopColor);
107
+ --pf-c-alert__icon--Color: var(--pf-c-alert--m-warning__icon--Color);
108
+ --pf-c-alert__title--Color: var(--pf-c-alert--m-warning__title--Color);
109
+ --pf-c-alert--m-inline--BackgroundColor: var(--pf-c-alert--m-inline--m-warning--BackgroundColor);
110
+ }
111
+
112
+ :host([variant="info"]) {
113
+ --pf-c-alert--BorderTopColor: var(--pf-c-alert--m-info--BorderTopColor);
114
+ --pf-c-alert__icon--Color: var(--pf-c-alert--m-info__icon--Color);
115
+ --pf-c-alert__title--Color: var(--pf-c-alert--m-info__title--Color);
116
+ --pf-c-alert--m-inline--BackgroundColor: var(--pf-c-alert--m-inline--m-info--BackgroundColor);
117
+ }
118
+
119
+ :host([inline]) {
120
+ --pf-c-alert--BoxShadow: var(--pf-c-alert--m-inline--BoxShadow);
121
+ --pf-c-alert--BackgroundColor: var(--pf-c-alert--m-inline--BackgroundColor);
122
+ }
123
+
124
+ :host([plain]) {
125
+ --pf-c-alert--BorderTopWidth: var(--pf-c-alert--m-inline--m-plain--BorderTopWidth);
126
+ --pf-c-alert--BackgroundColor: var(--pf-c-alert--m-inline--m-plain--BackgroundColor);
127
+ --pf-c-alert--PaddingTop: var(--pf-c-alert--m-inline--m-plain--PaddingTop);
128
+ --pf-c-alert--PaddingRight: var(--pf-c-alert--m-inline--m-plain--PaddingRight);
129
+ --pf-c-alert--PaddingBottom: var(--pf-c-alert--m-inline--m-plain--PaddingBottom);
130
+ --pf-c-alert--PaddingLeft: var(--pf-c-alert--m-inline--m-plain--PaddingLeft);
131
+ }
132
+
133
+ :host([expandable]) {
134
+ --pf-c-alert--GridTemplateColumns: var(--pf-c-alert--m-expandable--GridTemplateColumns);
135
+ --pf-c-alert--GridTemplateAreas: var(--pf-c-alert--m-expandable--GridTemplateAreas);
136
+ --pf-c-alert__description--action-group--PaddingTop: var(--pf-c-alert--m-expandable__description--action-group--PaddingTop);
137
+ }
138
+
139
+ :host([expanded]) {
140
+ --pf-c-alert__toggle-icon--Rotate: var(--pf-c-alert--m-expanded__toggle-icon--Rotate);
141
+ --pf-c-alert__description--action-group--PaddingTop: var(--pf-c-alert--m-expanded__description--action-group--PaddingTop);
142
+ }
143
+
144
+ #toggle {
145
+ margin-top: var(--pf-c-alert__toggle--MarginTop);
146
+ margin-bottom: var(--pf-c-alert__toggle--MarginBottom);
147
+ margin-left: var(--pf-c-alert__toggle--MarginLeft);
148
+ }
149
+
150
+ #icon {
151
+ grid-area: icon;
152
+ display: flex;
153
+ margin-top: var(--pf-c-alert__icon--MarginTop);
154
+ margin-right: var(--pf-c-alert__icon--MarginRight);
155
+ font-size: var(--pf-c-alert__icon--FontSize);
156
+ --pf-icon--size: var(--pf-c-alert__icon--FontSize);
157
+ color: var(--pf-c-alert__icon--Color);
158
+ pf-icon,
159
+ ::slotted(pf-icon) {
160
+ translate: 0 0.125em;
161
+ }
162
+ }
163
+
164
+ #title {
165
+ grid-area: title;
166
+ font-weight: var(--pf-c-alert__title--FontWeight);
167
+ color: var(--pf-c-alert__title--Color);
168
+ word-break: break-word;
169
+ ::slotted(*) {
170
+ color: inherit;
171
+ font-weight: inherit;
172
+ }
173
+ :is(h1,h2,h3,h4,h5,h6),
174
+ ::slotted(:is(h1,h2,h3,h4,h5,h6)) {
175
+ margin-block: 0 !important;
176
+ }
177
+ }
178
+
179
+ #close {
180
+ grid-area: close;
181
+ }
182
+
183
+ #description {
184
+ grid-area: description;
185
+ padding-top: var(--pf-c-alert__description--PaddingTop);
186
+ word-break: break-word;
187
+ }
188
+
189
+ #actions {
190
+ grid-area: action;
191
+ --pf-c-alert__action-group--PaddingTop: var(--pf-c-alert__description--action-group--PaddingTop);
192
+
193
+ & ::slotted(a) {
194
+ text-decoration: none;
195
+ color: #06c;
196
+ margin-inline-end: 1rem;
197
+ }
198
+
199
+ & ::slotted(a:hover),
200
+ & ::slotted(a:focus),
201
+ & ::slotted(a:active) {
202
+ color: #004080;
203
+ }
204
+ }
205
+ `;
206
+ const VariantIconMap = new Map(Object.entries({
207
+ info: 'info-circle',
208
+ success: 'check-circle',
209
+ warning: 'exclamation-triangle',
210
+ danger: 'exclamation-circle',
211
+ neutral: 'bell',
212
+ }));
213
+ export class PfAlertCloseEvent extends Event {
214
+ constructor(reason = 'closed') {
215
+ super('close', { bubbles: true, cancelable: true });
216
+ this.reason = reason;
217
+ }
218
+ }
219
+ let PfAlert = class PfAlert extends LitElement {
220
+ constructor() {
221
+ super(...arguments);
222
+ _PfAlert_instances.add(this);
223
+ /**
224
+ * Use the `timeout` property to automatically dismiss an alert after a period
225
+ * of time. If set to `true`, the timeout will be 8000 milliseconds. Provide a
226
+ * specific value to dismiss the alert after a different number of
227
+ * milliseconds.
228
+ */
229
+ this.timeout = 0;
230
+ /**
231
+ * PatternFly supports several alert variants for different scenarios.
232
+ * Each variant has an associated status icon, background, and alert title
233
+ * coded to communicate the severity of an alert. Use the variant property to
234
+ * apply the following styling options. If no variant is specified, then the
235
+ * variant will be set to "default".
236
+ *
237
+ * - **Default** - Use for generic messages with no associated severity
238
+ * - **Info** - Use for general informational messages
239
+ * - **Success** - Use to indicate that a task or process has been completed successfully
240
+ * - **Warning** - Use to indicate that a non-critical error has occurred
241
+ * - **Danger** - Use to indicate that a critical or blocking error has occurred
242
+ */
243
+ this.variant = 'neutral';
244
+ /**
245
+ * Use inline alerts to display an alert inline with content. All alert
246
+ * variants may use the `inline` attribute to position alerts in content-heavy
247
+ * areas, such as within forms, wizards, or drawers.
248
+ */
249
+ this.inline = false;
250
+ /**
251
+ * Use the `plain` attribute to make any inline alert plain. Plain styling
252
+ * removes the colored background but keeps colored text and icons.
253
+ */
254
+ this.plain = false;
255
+ /**
256
+ * An alert can contain additional, hidden information that is made visible
257
+ * when users click a caret icon. This information can be expanded and
258
+ * collapsed each time the icon is clicked.
259
+ *
260
+ * It is not recommended to use an expandable alert with a timeout in a toast
261
+ * alert group because the alert could timeout before users have time to
262
+ * interact with and view the entire alert.
263
+ *
264
+ * See the toast alert considerations section of the alert accessibility
265
+ * documentation to understand the accessibility risks associated with using
266
+ * toast alerts.
267
+ */
268
+ this.expandable = false;
269
+ /**
270
+ * True when an expandable alert is expanded
271
+ */
272
+ this.expanded = false;
273
+ /**
274
+ * When true, the alert displays a close button
275
+ * Clicking the close button removes the alert
276
+ */
277
+ this.dismissable = false;
278
+ _PfAlert_timeoutId.set(this, void 0);
279
+ }
280
+ disconnectedCallback() {
281
+ super.disconnectedCallback();
282
+ clearTimeout(__classPrivateFieldGet(this, _PfAlert_timeoutId, "f"));
283
+ }
284
+ render() {
285
+ const { expandable, expanded, variant } = this;
286
+ const icon = this.icon ?? VariantIconMap.get(variant);
287
+ return html `
288
+ <pf-button id="toggle"
289
+ plain
290
+ ?hidden="${!expandable}"
291
+ icon="${expandable ? 'angle-down' : 'angle-right'}"
292
+ icon-set="fas"
293
+ @click="${__classPrivateFieldGet(this, _PfAlert_instances, "m", _PfAlert_onToggleClick)}"
294
+ aria-controls="${ifDefined(expandable ? 'description' : undefined)}"
295
+ aria-expanded="${ifDefined(expandable ? String(expanded) : undefined)}"
296
+ aria-label="${expanded ? 'Collapse Alert' : 'Expand Alert'}">
297
+ </pf-button>
298
+
299
+ <div id="icon">
300
+ <slot name="icon">
301
+ <pf-icon icon="${icon}"></pf-icon>
302
+ </slot>
303
+ </div>
304
+
305
+ <div id="title">
306
+ <slot name="title">${__classPrivateFieldGet(this, _PfAlert_instances, "m", _PfAlert_renderDefaultTitle).call(this)}</slot>
307
+ </div>
308
+
309
+ <div id="description"
310
+ ?hidden="${expandable && !expanded}">
311
+ <slot></slot>
312
+ </div>
313
+
314
+ <div id="actions">
315
+ <slot name="actions"></slot>
316
+ </div>
317
+
318
+ <pf-button id="close"
319
+ plain
320
+ icon="close"
321
+ icon-set="patternfly"
322
+ ?hidden="${!this.dismissable}"
323
+ @click="${__classPrivateFieldGet(this, _PfAlert_instances, "m", _PfAlert_onCloseClick)}">
324
+ </pf-button>
325
+ `;
326
+ }
327
+ timeoutChanged() {
328
+ clearTimeout(__classPrivateFieldGet(this, _PfAlert_timeoutId, "f"));
329
+ let { timeout } = this;
330
+ if (timeout === true) {
331
+ timeout = 8000;
332
+ }
333
+ if (timeout > 0) {
334
+ __classPrivateFieldSet(this, _PfAlert_timeoutId, setTimeout(() => {
335
+ if (this.isConnected && this.dispatchEvent(new PfAlertCloseEvent('timeout'))) {
336
+ this.remove();
337
+ }
338
+ }, timeout), "f");
339
+ }
340
+ }
341
+ };
342
+ _PfAlert_timeoutId = new WeakMap();
343
+ _PfAlert_instances = new WeakSet();
344
+ _PfAlert_renderDefaultTitle = function _PfAlert_renderDefaultTitle() {
345
+ if (!this.titleText) {
346
+ return '';
347
+ }
348
+ switch (this.titleLevel ?? 3) {
349
+ case 1: return html `<h1>${this.titleText}</h1>`;
350
+ case 2: return html `<h2>${this.titleText}</h2>`;
351
+ case 4: return html `<h4>${this.titleText}</h4>`;
352
+ case 5: return html `<h5>${this.titleText}</h5>`;
353
+ case 6: return html `<h6>${this.titleText}</h6>`;
354
+ case 3:
355
+ default: return html `<h3>${this.titleText}</h3>`;
356
+ }
357
+ };
358
+ _PfAlert_onCloseClick = function _PfAlert_onCloseClick() {
359
+ if (this.isConnected && this.dispatchEvent(new PfAlertCloseEvent())) {
360
+ clearTimeout(__classPrivateFieldGet(this, _PfAlert_timeoutId, "f"));
361
+ this.remove();
362
+ }
363
+ };
364
+ _PfAlert_onToggleClick = function _PfAlert_onToggleClick() {
365
+ this.expanded = !this.expanded;
366
+ };
367
+ PfAlert.styles = [styles];
368
+ PfAlert.version = "4.3.0";
369
+ __decorate([
370
+ property({ type: Number })
371
+ ], PfAlert.prototype, "timeout", void 0);
372
+ __decorate([
373
+ property({ reflect: true })
374
+ ], PfAlert.prototype, "variant", void 0);
375
+ __decorate([
376
+ property()
377
+ ], PfAlert.prototype, "icon", void 0);
378
+ __decorate([
379
+ property({ attribute: 'title-text', reflect: true })
380
+ ], PfAlert.prototype, "titleText", void 0);
381
+ __decorate([
382
+ property({ attribute: 'title-level', reflect: true })
383
+ ], PfAlert.prototype, "titleLevel", void 0);
384
+ __decorate([
385
+ property({ type: Boolean, reflect: true })
386
+ ], PfAlert.prototype, "inline", void 0);
387
+ __decorate([
388
+ property({ type: Boolean, reflect: true })
389
+ ], PfAlert.prototype, "plain", void 0);
390
+ __decorate([
391
+ property({ reflect: true, type: Boolean })
392
+ ], PfAlert.prototype, "expandable", void 0);
393
+ __decorate([
394
+ property({ reflect: true, type: Boolean })
395
+ ], PfAlert.prototype, "expanded", void 0);
396
+ __decorate([
397
+ property({ reflect: true, type: Boolean })
398
+ ], PfAlert.prototype, "dismissable", void 0);
399
+ __decorate([
400
+ observes('timeout')
401
+ ], PfAlert.prototype, "timeoutChanged", null);
402
+ PfAlert = __decorate([
403
+ customElement('pf-alert')
404
+ ], PfAlert);
405
+ export { PfAlert };
406
+ //# sourceMappingURL=pf-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-alert.js","sourceRoot":"","sources":["pf-alert.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';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { observes } from '@patternfly/pfe-core/decorators.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-alert.css';\n\nconst VariantIconMap = new Map(Object.entries({\n info: 'info-circle',\n success: 'check-circle',\n warning: 'exclamation-triangle',\n danger: 'exclamation-circle',\n neutral: 'bell',\n}));\n\nexport class PfAlertCloseEvent extends Event {\n constructor(public reason: 'closed' | 'timeout' = 'closed') {\n super('close', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * An **alert** is a notification that provides brief information to the user\n * without blocking their workflow.\n *\n * @fires close - When an alert is closed e.g. when close button is clicked or when the alert times\n * out. Cancel the event to prevent the alert from being removed.\n */\n@customElement('pf-alert')\nexport class PfAlert extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n /**\n * Use the `timeout` property to automatically dismiss an alert after a period\n * of time. If set to `true`, the timeout will be 8000 milliseconds. Provide a\n * specific value to dismiss the alert after a different number of\n * milliseconds.\n */\n @property({ type: Number }) timeout: number | true = 0;\n\n /**\n * PatternFly supports several alert variants for different scenarios.\n * Each variant has an associated status icon, background, and alert title\n * coded to communicate the severity of an alert. Use the variant property to\n * apply the following styling options. If no variant is specified, then the\n * variant will be set to \"default\".\n *\n * - **Default** - Use for generic messages with no associated severity\n * - **Info** - Use for general informational messages\n * - **Success** - Use to indicate that a task or process has been completed successfully\n * - **Warning** - Use to indicate that a non-critical error has occurred\n * - **Danger** - Use to indicate that a critical or blocking error has occurred\n */\n @property({ reflect: true })\n variant:\n | 'warning'\n | 'custom'\n | 'neutral'\n | 'info'\n | 'success'\n | 'danger' = 'neutral';\n\n /**\n * Use the `icon` attribute to replace a default alert icon with a custom icon.\n * The `icon` attribute is overridden by the `icon` slot.\n */\n @property() icon?: string;\n\n /**\n * The title of the alert. Overridden by the title slot.\n */\n @property({ attribute: 'title-text', reflect: true }) titleText?: string;\n\n /**\n * The heading level of the alert's title. Overridden by the title slot.\n * Default: 3\n */\n @property({ attribute: 'title-level', reflect: true }) titleLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n\n /**\n * Use inline alerts to display an alert inline with content. All alert\n * variants may use the `inline` attribute to position alerts in content-heavy\n * areas, such as within forms, wizards, or drawers.\n */\n @property({ type: Boolean, reflect: true }) inline = false;\n\n /**\n * Use the `plain` attribute to make any inline alert plain. Plain styling\n * removes the colored background but keeps colored text and icons.\n */\n @property({ type: Boolean, reflect: true }) plain = false;\n\n /**\n * An alert can contain additional, hidden information that is made visible\n * when users click a caret icon. This information can be expanded and\n * collapsed each time the icon is clicked.\n *\n * It is not recommended to use an expandable alert with a timeout in a toast\n * alert group because the alert could timeout before users have time to\n * interact with and view the entire alert.\n *\n * See the toast alert considerations section of the alert accessibility\n * documentation to understand the accessibility risks associated with using\n * toast alerts.\n */\n @property({ reflect: true, type: Boolean }) expandable = false;\n\n /**\n * True when an expandable alert is expanded\n */\n @property({ reflect: true, type: Boolean }) expanded = false;\n\n /**\n * When true, the alert displays a close button\n * Clicking the close button removes the alert\n */\n @property({ reflect: true, type: Boolean }) dismissable = false;\n\n #timeoutId?: number;\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n clearTimeout(this.#timeoutId);\n }\n\n override render(): TemplateResult<1> {\n const { expandable, expanded, variant } = this;\n const icon = this.icon ?? VariantIconMap.get(variant);\n return html`\n <pf-button id=\"toggle\"\n plain\n ?hidden=\"${!expandable}\"\n icon=\"${expandable ? 'angle-down' : 'angle-right'}\"\n icon-set=\"fas\"\n @click=\"${this.#onToggleClick}\"\n aria-controls=\"${ifDefined(expandable ? 'description' : undefined)}\"\n aria-expanded=\"${ifDefined(expandable ? String(expanded) : undefined)}\"\n aria-label=\"${expanded ? 'Collapse Alert' : 'Expand Alert'}\">\n </pf-button>\n\n <div id=\"icon\">\n <slot name=\"icon\">\n <pf-icon icon=\"${icon}\"></pf-icon>\n </slot>\n </div>\n\n <div id=\"title\">\n <slot name=\"title\">${this.#renderDefaultTitle()}</slot>\n </div>\n\n <div id=\"description\"\n ?hidden=\"${expandable && !expanded}\">\n <slot></slot>\n </div>\n\n <div id=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n\n <pf-button id=\"close\"\n plain\n icon=\"close\"\n icon-set=\"patternfly\"\n ?hidden=\"${!this.dismissable}\"\n @click=\"${this.#onCloseClick}\">\n </pf-button>\n `;\n }\n\n @observes('timeout')\n protected timeoutChanged(): void {\n clearTimeout(this.#timeoutId);\n let { timeout } = this;\n if (timeout === true) {\n timeout = 8000;\n }\n if (timeout > 0) {\n this.#timeoutId = setTimeout(() => {\n if (this.isConnected && this.dispatchEvent(new PfAlertCloseEvent('timeout'))) {\n this.remove();\n }\n }, timeout) as unknown as number;\n }\n }\n\n #renderDefaultTitle() {\n if (!this.titleText) {\n return '';\n }\n switch (this.titleLevel ?? 3) {\n case 1: return html`<h1>${this.titleText}</h1>`;\n case 2: return html`<h2>${this.titleText}</h2>`;\n case 4: return html`<h4>${this.titleText}</h4>`;\n case 5: return html`<h5>${this.titleText}</h5>`;\n case 6: return html`<h6>${this.titleText}</h6>`;\n case 3:\n default: return html`<h3>${this.titleText}</h3>`;\n }\n }\n\n #onCloseClick() {\n if (this.isConnected && this.dispatchEvent(new PfAlertCloseEvent())) {\n clearTimeout(this.#timeoutId);\n this.remove();\n }\n }\n\n #onToggleClick() {\n this.expanded = !this.expanded;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-alert': PfAlert;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,45 @@
1
+ import { test, expect } from '@playwright/test';
2
+ test.describe('pf-alert E2E Tests', () => {
3
+ test.beforeEach(async ({ page }) => {
4
+ await page.setContent(`
5
+ <pf-alert variant="info" onClose>
6
+ <span slot="title">Alert Title</span>
7
+ <span>Alert description</span>
8
+ </pf-alert>
9
+ `);
10
+ });
11
+ test('should render title and description', async ({ page }) => {
12
+ const title = page.locator('pf-alert >>> #title-area slot[name="title"]');
13
+ const desc = page.locator('pf-alert >>> #description slot');
14
+ await expect(title).toHaveText('Alert Title');
15
+ await expect(desc).toHaveText('Alert description');
16
+ });
17
+ test('close button removes alert', async ({ page }) => {
18
+ await page.locator('pf-alert >>> #close-button').click();
19
+ const alert = page.locator('pf-alert');
20
+ await expect(alert).toHaveCount(0);
21
+ });
22
+ test('toggle button expands/collapses content', async ({ page }) => {
23
+ await page.setContent(`
24
+ <pf-alert isExpandable>
25
+ <span slot="isExpandable">Extra content</span>
26
+ </pf-alert>
27
+ `);
28
+ const toggle = page.locator('pf-alert >>> #toggle-button');
29
+ await toggle.click();
30
+ const expandedContent = page.locator('pf-alert >>> #expandable-description');
31
+ await expect(expandedContent).toBeVisible();
32
+ });
33
+ test('keyboard navigation works', async ({ page }) => {
34
+ const btn = page.locator('pf-alert >>> #close-button');
35
+ await btn.focus();
36
+ await page.keyboard.press('Enter');
37
+ const alert = page.locator('pf-alert');
38
+ await expect(alert).toHaveCount(0);
39
+ });
40
+ test('accessibility checks', async ({ page }) => {
41
+ const container = page.locator('pf-alert >>> #container');
42
+ await expect(container).toHaveAttribute('role', 'alert'); // אם הוספת role
43
+ });
44
+ });
45
+ //# sourceMappingURL=pf-alert.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-alert.e2e.js","sourceRoot":"","sources":["pf-alert.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;KAKrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC5D,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACpD,MAAM,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjE,MAAM,IAAI,CAAC,UAAU,CAAC;;;;KAIrB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC7E,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from '@playwright/test';\n\ntest.describe('pf-alert E2E Tests', () => {\n test.beforeEach(async ({ page }) => {\n await page.setContent(`\n <pf-alert variant=\"info\" onClose>\n <span slot=\"title\">Alert Title</span>\n <span>Alert description</span>\n </pf-alert>\n `);\n });\n\n test('should render title and description', async ({ page }) => {\n const title = page.locator('pf-alert >>> #title-area slot[name=\"title\"]');\n const desc = page.locator('pf-alert >>> #description slot');\n await expect(title).toHaveText('Alert Title');\n await expect(desc).toHaveText('Alert description');\n });\n\n test('close button removes alert', async ({ page }) => {\n await page.locator('pf-alert >>> #close-button').click();\n const alert = page.locator('pf-alert');\n await expect(alert).toHaveCount(0);\n });\n\n test('toggle button expands/collapses content', async ({ page }) => {\n await page.setContent(`\n <pf-alert isExpandable>\n <span slot=\"isExpandable\">Extra content</span>\n </pf-alert>\n `);\n const toggle = page.locator('pf-alert >>> #toggle-button');\n await toggle.click();\n const expandedContent = page.locator('pf-alert >>> #expandable-description');\n await expect(expandedContent).toBeVisible();\n });\n\n test('keyboard navigation works', async ({ page }) => {\n const btn = page.locator('pf-alert >>> #close-button');\n await btn.focus();\n await page.keyboard.press('Enter');\n const alert = page.locator('pf-alert');\n await expect(alert).toHaveCount(0);\n });\n\n test('accessibility checks', async ({ page }) => {\n const container = page.locator('pf-alert >>> #container');\n await expect(container).toHaveAttribute('role', 'alert'); // אם הוספת role\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../pf-alert.js';
@@ -0,0 +1,42 @@
1
+ import { html, fixture, expect } from '@open-wc/testing';
2
+ import '../pf-alert.js';
3
+ describe('pf-alert Unit Tests', () => {
4
+ it('should create the component', async () => {
5
+ const el = await fixture(html `<pf-alert></pf-alert>`);
6
+ expect(el).to.exist;
7
+ expect(el.variant).to.equal('neutral');
8
+ });
9
+ it('should render a title slot', async () => {
10
+ const el = await fixture(html `
11
+ <pf-alert><span slot="title">My Title</span></pf-alert>
12
+ `);
13
+ const titleSlot = el.shadowRoot.querySelector('#title slot[name="title"]');
14
+ expect(titleSlot).to.exist;
15
+ });
16
+ it('close button should appear when dismissable=true', async () => {
17
+ const el = await fixture(html `<pf-alert .dismissable=${true}></pf-alert>`);
18
+ const btn = el.shadowRoot.querySelector('#close');
19
+ expect(btn.hasAttribute('hidden')).to.be.false;
20
+ });
21
+ it('should remove itself after timeout', async () => {
22
+ const el = await fixture(html `<pf-alert .timeout=${50}></pf-alert>`);
23
+ const removed = new Promise(resolve => el.addEventListener('close', () => resolve()));
24
+ await removed;
25
+ expect(document.body.contains(el)).to.be.false;
26
+ });
27
+ it('should toggle expanded when toggle button clicked', async () => {
28
+ const el = await fixture(html `
29
+ <pf-alert expandable><span>Content</span></pf-alert>
30
+ `);
31
+ await el.updateComplete;
32
+ const toggle = el.shadowRoot.querySelector('#toggle');
33
+ const initial = el.expanded;
34
+ toggle.click();
35
+ await el.updateComplete;
36
+ expect(el.expanded).to.equal(!initial);
37
+ toggle.click();
38
+ await el.updateComplete;
39
+ expect(el.expanded).to.equal(initial);
40
+ });
41
+ });
42
+ //# sourceMappingURL=pf-alert.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pf-alert.spec.js","sourceRoot":"","sources":["pf-alert.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,gBAAgB,CAAC;AAExB,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,uBAAuB,CAAQ,CAAC;QAC7D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;KAE5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAC5E,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,0BAA0B,IAAI,cAAc,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,sBAAsB,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,OAAO,CAAC;QACd,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;KAE5B,CAAQ,CAAC;QACV,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,MAAM,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QACtE,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\nimport '../pf-alert.js';\n\ndescribe('pf-alert Unit Tests', () => {\n it('should create the component', async () => {\n const el = await fixture(html`<pf-alert></pf-alert>`) as any;\n expect(el).to.exist;\n expect(el.variant).to.equal('neutral');\n });\n\n it('should render a title slot', async () => {\n const el = await fixture(html`\n <pf-alert><span slot=\"title\">My Title</span></pf-alert>\n `);\n const titleSlot = el.shadowRoot!.querySelector('#title slot[name=\"title\"]');\n expect(titleSlot).to.exist;\n });\n\n it('close button should appear when dismissable=true', async () => {\n const el = await fixture(html`<pf-alert .dismissable=${true}></pf-alert>`);\n const btn = el.shadowRoot!.querySelector('#close')!;\n expect(btn.hasAttribute('hidden')).to.be.false;\n });\n\n it('should remove itself after timeout', async () => {\n const el = await fixture(html`<pf-alert .timeout=${50}></pf-alert>`);\n const removed = new Promise<void>(resolve => el.addEventListener('close', () => resolve()));\n await removed;\n expect(document.body.contains(el)).to.be.false;\n });\n\n it('should toggle expanded when toggle button clicked', async () => {\n const el = await fixture(html`\n <pf-alert expandable><span>Content</span></pf-alert>\n `) as any;\n await el.updateComplete;\n const toggle = el.shadowRoot!.querySelector('#toggle') as HTMLElement;\n const initial = el.expanded;\n toggle.click();\n await el.updateComplete;\n expect(el.expanded).to.equal(!initial);\n toggle.click();\n await el.updateComplete;\n expect(el.expanded).to.equal(initial);\n });\n});\n"]}
@@ -1,20 +1,34 @@
1
1
  :host {
2
2
  display: inline-block;
3
+ /** Border color for avatar */
3
4
  --pf-c-avatar--BorderColor: transparent;
5
+ /** Border width for avatar */
4
6
  --pf-c-avatar--BorderWidth: 0;
7
+ /** Border radius for avatar */
5
8
  --pf-c-avatar--BorderRadius: var(--pf-global--BorderRadius--lg, 30em);
9
+ /** Width for avatar */
6
10
  --pf-c-avatar--Width: 2.25rem;
11
+ /** Height for avatar */
7
12
  --pf-c-avatar--Height: 2.25rem;
13
+ /** Width for small avatar */
8
14
  --pf-c-avatar--m-sm--Width: 1.5rem;
15
+ /** Height for small avatar */
9
16
  --pf-c-avatar--m-sm--Height: 1.5rem;
17
+ /** Width for medium avatar */
10
18
  --pf-c-avatar--m-md--Width: 2.25rem;
19
+ /** Height for medium avatar */
11
20
  --pf-c-avatar--m-md--Height: 2.25rem;
21
+ /** Width for large avatar */
12
22
  --pf-c-avatar--m-lg--Width: 4.5rem;
23
+ /** Height for large avatar */
13
24
  --pf-c-avatar--m-lg--Height: 4.5rem;
25
+ /** Width for extra large avatar */
14
26
  --pf-c-avatar--m-xl--Width: 8rem;
27
+ /** Height for extra large avatar */
15
28
  --pf-c-avatar--m-xl--Height: 8rem;
16
29
  --pf-c-avatar--m-light--BorderColor: var(--pf-global--BorderColor--dark-100, #d2d2d2);
17
30
  --pf-c-avatar--m-light--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
31
+ /** Border color for dark avatar */
18
32
  --pf-c-avatar--m-dark--BorderColor: var(--pf-global--palette--black-700, #4f5255);
19
33
  --pf-c-avatar--m-dark--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
20
34
  width: var(--pf-c-avatar--Width);
@@ -6,21 +6,8 @@ export declare class PfAvatarLoadEvent extends Event {
6
6
  /**
7
7
  * An **avatar** is a visual used to represent a user. It may contain an image or a placeholder graphic.
8
8
  * @summary For displaying a user's avatar image
9
+ * @alias Avatar
9
10
  * @fires {PfAvatarLoadEvent} load - when the avatar loads
10
- * @cssprop [--pf-c-avatar--Width=24px]
11
- * @cssprop [--pf-c-avatar--Height=24px]
12
- * @cssprop [--pf-c-avatar--BorderRadius=var(--pf-global--BorderRadius--lg, 128px)]
13
- * @cssprop [--pf-c-avatar--BorderWidth=0]
14
- * @cssprop [--pf-c-avatar--BorderColor=var(--pf-global--BorderColor--dark-100, #d2d2d2)]
15
- * @cssprop [--pf-c-avatar--m-dark--BorderColor=var(--pf-global--palette--black-700, #4f5255)]
16
- * @cssprop [--pf-c-avatar--m-sm--Width=24px]
17
- * @cssprop [--pf-c-avatar--m-sm--Height=24px]
18
- * @cssprop [--pf-c-avatar--m-md--Width=36px]
19
- * @cssprop [--pf-c-avatar--m-md--Height=36px]
20
- * @cssprop [--pf-c-avatar--m-lg--Width=72px]
21
- * @cssprop [--pf-c-avatar--m-lg--Height=72px]
22
- * @cssprop [--pf-c-avatar--m-xl--Width=28px]
23
- * @cssprop [--pf-c-avatar--m-xl--Height=28px]
24
11
  */
25
12
  export declare class PfAvatar extends LitElement {
26
13
  #private;