@patternfly/elements 3.0.2 → 4.0.1

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 (371) hide show
  1. package/custom-elements.json +8857 -8783
  2. package/form-control.css +127 -0
  3. package/package.json +12 -25
  4. package/pf-accordion/pf-accordion-header.css +23 -0
  5. package/pf-accordion/pf-accordion-header.d.ts +52 -43
  6. package/pf-accordion/pf-accordion-header.js +130 -87
  7. package/pf-accordion/pf-accordion-header.js.map +1 -1
  8. package/pf-accordion/pf-accordion-panel.css +15 -0
  9. package/pf-accordion/pf-accordion-panel.d.ts +27 -25
  10. package/pf-accordion/pf-accordion-panel.js +29 -43
  11. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  12. package/pf-accordion/pf-accordion.d.ts +122 -65
  13. package/pf-accordion/pf-accordion.js +283 -94
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-accordion/test/pf-accordion.e2e.js +12 -0
  16. package/pf-accordion/test/pf-accordion.e2e.js.map +1 -1
  17. package/pf-accordion/test/pf-accordion.spec.js +366 -350
  18. package/pf-accordion/test/pf-accordion.spec.js.map +1 -1
  19. package/pf-avatar/pf-avatar.css +50 -24
  20. package/pf-avatar/pf-avatar.d.ts +29 -3
  21. package/pf-avatar/pf-avatar.js +51 -9
  22. package/pf-avatar/pf-avatar.js.map +1 -1
  23. package/pf-avatar/test/pf-avatar.e2e.js +12 -0
  24. package/pf-avatar/test/pf-avatar.e2e.js.map +1 -1
  25. package/pf-avatar/test/pf-avatar.spec.js +2 -3
  26. package/pf-avatar/test/pf-avatar.spec.js.map +1 -1
  27. package/pf-back-to-top/pf-back-to-top.css +10 -0
  28. package/pf-back-to-top/pf-back-to-top.d.ts +14 -18
  29. package/pf-back-to-top/pf-back-to-top.js +9 -30
  30. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  31. package/pf-back-to-top/test/pf-back-to-top.e2e.js +12 -0
  32. package/pf-back-to-top/test/pf-back-to-top.e2e.js.map +1 -1
  33. package/pf-background-image/pf-background-image.d.ts +4 -4
  34. package/pf-background-image/pf-background-image.js +1 -12
  35. package/pf-background-image/pf-background-image.js.map +1 -1
  36. package/pf-background-image/test/pf-background-image.e2e.js +12 -0
  37. package/pf-background-image/test/pf-background-image.e2e.js.map +1 -1
  38. package/pf-badge/pf-badge.css +4 -0
  39. package/pf-badge/pf-badge.d.ts +26 -22
  40. package/pf-badge/pf-badge.js +14 -27
  41. package/pf-badge/pf-badge.js.map +1 -1
  42. package/pf-badge/test/pf-badge.e2e.js +12 -0
  43. package/pf-badge/test/pf-badge.e2e.js.map +1 -1
  44. package/pf-banner/pf-banner.d.ts +16 -16
  45. package/pf-banner/pf-banner.js +1 -24
  46. package/pf-banner/pf-banner.js.map +1 -1
  47. package/pf-banner/test/pf-banner.e2e.js +12 -0
  48. package/pf-banner/test/pf-banner.e2e.js.map +1 -1
  49. package/pf-button/pf-button.css +22 -12
  50. package/pf-button/pf-button.d.ts +128 -122
  51. package/pf-button/pf-button.js +95 -172
  52. package/pf-button/pf-button.js.map +1 -1
  53. package/pf-button/test/pf-button.e2e.js +12 -0
  54. package/pf-button/test/pf-button.e2e.js.map +1 -1
  55. package/pf-card/pf-card.css +172 -43
  56. package/pf-card/pf-card.d.ts +41 -38
  57. package/pf-card/pf-card.js +37 -54
  58. package/pf-card/pf-card.js.map +1 -1
  59. package/pf-card/test/pf-card.e2e.js +12 -0
  60. package/pf-card/test/pf-card.e2e.js.map +1 -1
  61. package/pf-chip/pf-chip-group.css +9 -6
  62. package/pf-chip/pf-chip-group.d.ts +27 -14
  63. package/pf-chip/pf-chip-group.js +65 -94
  64. package/pf-chip/pf-chip-group.js.map +1 -1
  65. package/pf-chip/pf-chip.d.ts +20 -9
  66. package/pf-chip/pf-chip.js +1 -8
  67. package/pf-chip/pf-chip.js.map +1 -1
  68. package/pf-chip/test/pf-chip-group.spec.js +42 -22
  69. package/pf-chip/test/pf-chip-group.spec.js.map +1 -1
  70. package/pf-chip/test/pf-chip.e2e.js +12 -0
  71. package/pf-chip/test/pf-chip.e2e.js.map +1 -1
  72. package/pf-clipboard-copy/pf-clipboard-copy.css +83 -89
  73. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +53 -18
  74. package/pf-clipboard-copy/pf-clipboard-copy.js +55 -44
  75. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  76. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +12 -0
  77. package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +1 -1
  78. package/pf-code-block/pf-code-block.css +7 -4
  79. package/pf-code-block/pf-code-block.d.ts +4 -25
  80. package/pf-code-block/pf-code-block.js +44 -23
  81. package/pf-code-block/pf-code-block.js.map +1 -1
  82. package/pf-code-block/test/pf-code-block.e2e.js +12 -0
  83. package/pf-code-block/test/pf-code-block.e2e.js.map +1 -1
  84. package/pf-dropdown/context.d.ts +2 -3
  85. package/pf-dropdown/context.js.map +1 -1
  86. package/pf-dropdown/pf-dropdown-group.d.ts +3 -9
  87. package/pf-dropdown/pf-dropdown-group.js +1 -5
  88. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  89. package/pf-dropdown/pf-dropdown-item.d.ts +21 -27
  90. package/pf-dropdown/pf-dropdown-item.js +1 -37
  91. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  92. package/pf-dropdown/pf-dropdown-menu.d.ts +4 -10
  93. package/pf-dropdown/pf-dropdown-menu.js +23 -23
  94. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  95. package/pf-dropdown/pf-dropdown.d.ts +8 -24
  96. package/pf-dropdown/pf-dropdown.js +1 -26
  97. package/pf-dropdown/pf-dropdown.js.map +1 -1
  98. package/pf-dropdown/test/pf-dropdown.e2e.js +12 -0
  99. package/pf-dropdown/test/pf-dropdown.e2e.js.map +1 -1
  100. package/pf-icon/pf-icon.css +22 -0
  101. package/pf-icon/pf-icon.d.ts +93 -4
  102. package/pf-icon/pf-icon.js +191 -13
  103. package/pf-icon/pf-icon.js.map +1 -1
  104. package/pf-icon/test/pf-icon.e2e.js +12 -0
  105. package/pf-icon/test/pf-icon.e2e.js.map +1 -1
  106. package/pf-icon/test/pf-icon.spec.js +102 -88
  107. package/pf-icon/test/pf-icon.spec.js.map +1 -1
  108. package/pf-jump-links/pf-jump-links-item.d.ts +4 -11
  109. package/pf-jump-links/pf-jump-links-item.js +8 -15
  110. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  111. package/pf-jump-links/pf-jump-links-list.d.ts +2 -2
  112. package/pf-jump-links/pf-jump-links-list.js +1 -5
  113. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  114. package/pf-jump-links/pf-jump-links.d.ts +2 -2
  115. package/pf-jump-links/pf-jump-links.js +23 -62
  116. package/pf-jump-links/pf-jump-links.js.map +1 -1
  117. package/pf-jump-links/test/pf-jump-links.e2e.js +12 -0
  118. package/pf-jump-links/test/pf-jump-links.e2e.js.map +1 -1
  119. package/pf-label/pf-label.css +38 -5
  120. package/pf-label/pf-label.d.ts +65 -69
  121. package/pf-label/pf-label.js +49 -90
  122. package/pf-label/pf-label.js.map +1 -1
  123. package/pf-label/test/pf-label.e2e.js +12 -0
  124. package/pf-label/test/pf-label.e2e.js.map +1 -1
  125. package/pf-label/test/pf-label.spec.js +26 -16
  126. package/pf-label/test/pf-label.spec.js.map +1 -1
  127. package/pf-modal/pf-modal.d.ts +17 -22
  128. package/pf-modal/pf-modal.js +13 -39
  129. package/pf-modal/pf-modal.js.map +1 -1
  130. package/pf-modal/test/pf-modal.e2e.js +12 -0
  131. package/pf-modal/test/pf-modal.e2e.js.map +1 -1
  132. package/pf-panel/pf-panel.d.ts +31 -3
  133. package/pf-panel/pf-panel.js +1 -10
  134. package/pf-panel/pf-panel.js.map +1 -1
  135. package/pf-panel/test/pf-panel.e2e.js +12 -0
  136. package/pf-panel/test/pf-panel.e2e.js.map +1 -1
  137. package/pf-popover/pf-popover.d.ts +66 -84
  138. package/pf-popover/pf-popover.js +33 -150
  139. package/pf-popover/pf-popover.js.map +1 -1
  140. package/pf-popover/test/pf-popover.e2e.js +12 -0
  141. package/pf-popover/test/pf-popover.e2e.js.map +1 -1
  142. package/pf-popover/test/pf-popover.spec.js +0 -11
  143. package/pf-popover/test/pf-popover.spec.js.map +1 -1
  144. package/pf-progress/pf-progress.d.ts +40 -40
  145. package/pf-progress/pf-progress.js +1 -61
  146. package/pf-progress/pf-progress.js.map +1 -1
  147. package/pf-progress/test/pf-progress.e2e.js +12 -0
  148. package/pf-progress/test/pf-progress.e2e.js.map +1 -1
  149. package/pf-progress-stepper/pf-progress-step.d.ts +2 -3
  150. package/pf-progress-stepper/pf-progress-step.js +4 -14
  151. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  152. package/pf-progress-stepper/pf-progress-stepper.d.ts +118 -2
  153. package/pf-progress-stepper/pf-progress-stepper.js +10 -12
  154. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  155. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +12 -0
  156. package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +1 -1
  157. package/pf-select/pf-option-group.d.ts +2 -2
  158. package/pf-select/pf-option-group.js +1 -5
  159. package/pf-select/pf-option-group.js.map +1 -1
  160. package/pf-select/pf-option.css +1 -1
  161. package/pf-select/pf-option.d.ts +4 -4
  162. package/pf-select/pf-option.js +20 -30
  163. package/pf-select/pf-option.js.map +1 -1
  164. package/pf-select/pf-select.css +14 -6
  165. package/pf-select/pf-select.d.ts +183 -40
  166. package/pf-select/pf-select.js +185 -260
  167. package/pf-select/pf-select.js.map +1 -1
  168. package/pf-select/test/pf-select.e2e.js +12 -0
  169. package/pf-select/test/pf-select.e2e.js.map +1 -1
  170. package/pf-select/test/pf-select.spec.js +1292 -613
  171. package/pf-select/test/pf-select.spec.js.map +1 -1
  172. package/pf-spinner/pf-spinner.css +27 -17
  173. package/pf-spinner/pf-spinner.d.ts +21 -17
  174. package/pf-spinner/pf-spinner.js +20 -24
  175. package/pf-spinner/pf-spinner.js.map +1 -1
  176. package/pf-spinner/test/pf-spinner.e2e.js +12 -0
  177. package/pf-spinner/test/pf-spinner.e2e.js.map +1 -1
  178. package/pf-switch/pf-switch.css +39 -13
  179. package/pf-switch/pf-switch.d.ts +48 -34
  180. package/pf-switch/pf-switch.js +114 -43
  181. package/pf-switch/pf-switch.js.map +1 -1
  182. package/pf-switch/test/pf-switch.e2e.js +12 -0
  183. package/pf-switch/test/pf-switch.e2e.js.map +1 -1
  184. package/pf-table/pf-caption.d.ts +2 -2
  185. package/pf-table/pf-caption.js +1 -4
  186. package/pf-table/pf-caption.js.map +1 -1
  187. package/pf-table/pf-table.d.ts +424 -424
  188. package/pf-table/pf-table.js +7 -645
  189. package/pf-table/pf-table.js.map +1 -1
  190. package/pf-table/pf-tbody.d.ts +2 -2
  191. package/pf-table/pf-tbody.js +1 -4
  192. package/pf-table/pf-tbody.js.map +1 -1
  193. package/pf-table/pf-td.d.ts +2 -2
  194. package/pf-table/pf-td.js +1 -4
  195. package/pf-table/pf-td.js.map +1 -1
  196. package/pf-table/pf-th.d.ts +2 -2
  197. package/pf-table/pf-th.js +1 -4
  198. package/pf-table/pf-th.js.map +1 -1
  199. package/pf-table/pf-thead.d.ts +2 -2
  200. package/pf-table/pf-thead.js +1 -4
  201. package/pf-table/pf-thead.js.map +1 -1
  202. package/pf-table/pf-tr.d.ts +1 -1
  203. package/pf-table/pf-tr.js +1 -4
  204. package/pf-table/pf-tr.js.map +1 -1
  205. package/pf-table/test/pf-table.e2e.js +12 -0
  206. package/pf-table/test/pf-table.e2e.js.map +1 -1
  207. package/pf-tabs/context.d.ts +2 -3
  208. package/pf-tabs/context.js.map +1 -1
  209. package/pf-tabs/pf-tab-panel.d.ts +3 -5
  210. package/pf-tabs/pf-tab-panel.js +1 -7
  211. package/pf-tabs/pf-tab-panel.js.map +1 -1
  212. package/pf-tabs/pf-tab.d.ts +37 -37
  213. package/pf-tabs/pf-tab.js +16 -54
  214. package/pf-tabs/pf-tab.js.map +1 -1
  215. package/pf-tabs/pf-tabs.d.ts +36 -37
  216. package/pf-tabs/pf-tabs.js +40 -78
  217. package/pf-tabs/pf-tabs.js.map +1 -1
  218. package/pf-tabs/test/pf-tabs.e2e.js +12 -0
  219. package/pf-tabs/test/pf-tabs.e2e.js.map +1 -1
  220. package/pf-tabs/test/pf-tabs.spec.js +11 -12
  221. package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
  222. package/pf-text-area/pf-text-area.d.ts +128 -134
  223. package/pf-text-area/pf-text-area.js +7 -131
  224. package/pf-text-area/pf-text-area.js.map +1 -1
  225. package/pf-text-area/test/pf-text-area.e2e.js +12 -0
  226. package/pf-text-area/test/pf-text-area.e2e.js.map +1 -1
  227. package/pf-text-input/pf-text-input.d.ts +129 -135
  228. package/pf-text-input/pf-text-input.js +7 -132
  229. package/pf-text-input/pf-text-input.js.map +1 -1
  230. package/pf-text-input/test/pf-text-input.e2e.js +12 -0
  231. package/pf-text-input/test/pf-text-input.e2e.js.map +1 -1
  232. package/pf-tile/pf-tile.d.ts +21 -20
  233. package/pf-tile/pf-tile.js +18 -35
  234. package/pf-tile/pf-tile.js.map +1 -1
  235. package/pf-tile/test/pf-tile.e2e.js +12 -0
  236. package/pf-tile/test/pf-tile.e2e.js.map +1 -1
  237. package/pf-timestamp/pf-timestamp.d.ts +2 -2
  238. package/pf-timestamp/pf-timestamp.js +1 -3
  239. package/pf-timestamp/pf-timestamp.js.map +1 -1
  240. package/pf-timestamp/test/pf-timestamp.e2e.js +12 -0
  241. package/pf-timestamp/test/pf-timestamp.e2e.js.map +1 -1
  242. package/pf-tooltip/pf-tooltip.d.ts +51 -50
  243. package/pf-tooltip/pf-tooltip.js +26 -106
  244. package/pf-tooltip/pf-tooltip.js.map +1 -1
  245. package/pf-tooltip/test/pf-tooltip.e2e.js +12 -0
  246. package/pf-tooltip/test/pf-tooltip.e2e.js.map +1 -1
  247. package/pfe.min.js +1194 -1006
  248. package/pfe.min.js.map +4 -4
  249. package/react/pf-accordion/pf-accordion-header.js +2 -2
  250. package/react/pf-accordion/pf-accordion-panel.js +2 -2
  251. package/react/pf-accordion/pf-accordion.js +2 -2
  252. package/react/pf-avatar/pf-avatar.d.ts +1 -1
  253. package/react/pf-avatar/pf-avatar.js +5 -3
  254. package/react/pf-back-to-top/pf-back-to-top.js +2 -2
  255. package/react/pf-background-image/pf-background-image.js +2 -2
  256. package/react/pf-badge/pf-badge.js +2 -2
  257. package/react/pf-banner/pf-banner.js +2 -2
  258. package/react/pf-button/pf-button.js +2 -2
  259. package/react/pf-card/pf-card.js +2 -2
  260. package/react/pf-chip/pf-chip-group.js +2 -2
  261. package/react/pf-chip/pf-chip.js +2 -2
  262. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -1
  263. package/react/pf-clipboard-copy/pf-clipboard-copy.js +5 -3
  264. package/react/pf-code-block/pf-code-block.js +2 -2
  265. package/react/pf-dropdown/pf-dropdown-group.js +2 -2
  266. package/react/pf-dropdown/pf-dropdown-item.js +2 -2
  267. package/react/pf-dropdown/pf-dropdown-menu.js +2 -2
  268. package/react/pf-dropdown/pf-dropdown.js +2 -2
  269. package/react/pf-icon/pf-icon.js +2 -2
  270. package/react/pf-jump-links/pf-jump-links-item.js +2 -2
  271. package/react/pf-jump-links/pf-jump-links-list.js +2 -2
  272. package/react/pf-jump-links/pf-jump-links.js +2 -2
  273. package/react/pf-label/pf-label.js +2 -2
  274. package/react/pf-modal/pf-modal.js +2 -2
  275. package/react/pf-panel/pf-panel.js +2 -2
  276. package/react/pf-popover/pf-popover.js +2 -2
  277. package/react/pf-progress/pf-progress.js +2 -2
  278. package/react/pf-progress-stepper/pf-progress-step.js +2 -2
  279. package/react/pf-progress-stepper/pf-progress-stepper.js +2 -2
  280. package/react/pf-select/pf-option-group.js +2 -2
  281. package/react/pf-select/pf-option.js +2 -2
  282. package/react/pf-select/pf-select.d.ts +1 -1
  283. package/react/pf-select/pf-select.js +2 -3
  284. package/react/pf-spinner/pf-spinner.js +2 -2
  285. package/react/pf-switch/pf-switch.js +2 -2
  286. package/react/pf-table/pf-caption.js +2 -2
  287. package/react/pf-table/pf-table.js +2 -2
  288. package/react/pf-table/pf-tbody.js +2 -2
  289. package/react/pf-table/pf-td.js +2 -2
  290. package/react/pf-table/pf-th.js +2 -2
  291. package/react/pf-table/pf-thead.js +2 -2
  292. package/react/pf-table/pf-tr.js +2 -2
  293. package/react/pf-tabs/pf-tab-panel.js +2 -2
  294. package/react/pf-tabs/pf-tab.js +2 -2
  295. package/react/pf-tabs/pf-tabs.js +2 -2
  296. package/react/pf-text-area/pf-text-area.js +2 -2
  297. package/react/pf-text-input/pf-text-input.js +2 -2
  298. package/react/pf-tile/pf-tile.js +2 -2
  299. package/react/pf-timestamp/pf-timestamp.js +2 -2
  300. package/react/pf-tooltip/pf-tooltip.js +2 -2
  301. package/pf-accordion/BaseAccordion.d.ts +0 -61
  302. package/pf-accordion/BaseAccordion.js +0 -269
  303. package/pf-accordion/BaseAccordion.js.map +0 -1
  304. package/pf-accordion/BaseAccordionHeader.css +0 -39
  305. package/pf-accordion/BaseAccordionHeader.d.ts +0 -29
  306. package/pf-accordion/BaseAccordionHeader.js +0 -128
  307. package/pf-accordion/BaseAccordionHeader.js.map +0 -1
  308. package/pf-accordion/BaseAccordionPanel.css +0 -27
  309. package/pf-accordion/BaseAccordionPanel.d.ts +0 -7
  310. package/pf-accordion/BaseAccordionPanel.js +0 -33
  311. package/pf-accordion/BaseAccordionPanel.js.map +0 -1
  312. package/pf-avatar/BaseAvatar.css +0 -13
  313. package/pf-avatar/BaseAvatar.d.ts +0 -23
  314. package/pf-avatar/BaseAvatar.js +0 -62
  315. package/pf-avatar/BaseAvatar.js.map +0 -1
  316. package/pf-back-to-top/demo/demo.css +0 -25
  317. package/pf-badge/BaseBadge.css +0 -6
  318. package/pf-badge/BaseBadge.d.ts +0 -18
  319. package/pf-badge/BaseBadge.js +0 -16
  320. package/pf-badge/BaseBadge.js.map +0 -1
  321. package/pf-button/BaseButton.css +0 -68
  322. package/pf-button/BaseButton.d.ts +0 -51
  323. package/pf-button/BaseButton.js +0 -84
  324. package/pf-button/BaseButton.js.map +0 -1
  325. package/pf-card/BaseCard.css +0 -36
  326. package/pf-card/BaseCard.d.ts +0 -24
  327. package/pf-card/BaseCard.js +0 -51
  328. package/pf-card/BaseCard.js.map +0 -1
  329. package/pf-clipboard-copy/BaseClipboardCopy.css +0 -6
  330. package/pf-clipboard-copy/BaseClipboardCopy.d.ts +0 -18
  331. package/pf-clipboard-copy/BaseClipboardCopy.js +0 -25
  332. package/pf-clipboard-copy/BaseClipboardCopy.js.map +0 -1
  333. package/pf-code-block/BaseCodeBlock.css +0 -7
  334. package/pf-code-block/BaseCodeBlock.d.ts +0 -8
  335. package/pf-code-block/BaseCodeBlock.js +0 -22
  336. package/pf-code-block/BaseCodeBlock.js.map +0 -1
  337. package/pf-icon/BaseIcon.css +0 -22
  338. package/pf-icon/BaseIcon.d.ts +0 -41
  339. package/pf-icon/BaseIcon.js +0 -144
  340. package/pf-icon/BaseIcon.js.map +0 -1
  341. package/pf-label/BaseLabel.css +0 -44
  342. package/pf-label/BaseLabel.d.ts +0 -30
  343. package/pf-label/BaseLabel.js +0 -29
  344. package/pf-label/BaseLabel.js.map +0 -1
  345. package/pf-spinner/BaseSpinner.css +0 -20
  346. package/pf-spinner/BaseSpinner.d.ts +0 -27
  347. package/pf-spinner/BaseSpinner.js +0 -45
  348. package/pf-spinner/BaseSpinner.js.map +0 -1
  349. package/pf-switch/BaseSwitch.css +0 -36
  350. package/pf-switch/BaseSwitch.d.ts +0 -19
  351. package/pf-switch/BaseSwitch.js +0 -109
  352. package/pf-switch/BaseSwitch.js.map +0 -1
  353. package/pf-tabs/BaseTab.css +0 -60
  354. package/pf-tabs/BaseTab.d.ts +0 -32
  355. package/pf-tabs/BaseTab.js +0 -83
  356. package/pf-tabs/BaseTab.js.map +0 -1
  357. package/pf-tabs/BaseTabPanel.css +0 -7
  358. package/pf-tabs/BaseTabPanel.d.ts +0 -7
  359. package/pf-tabs/BaseTabPanel.js +0 -36
  360. package/pf-tabs/BaseTabPanel.js.map +0 -1
  361. package/pf-tabs/BaseTabs.css +0 -86
  362. package/pf-tabs/BaseTabs.d.ts +0 -38
  363. package/pf-tabs/BaseTabs.js +0 -221
  364. package/pf-tabs/BaseTabs.js.map +0 -1
  365. package/pf-tile/BaseTile.d.ts +0 -13
  366. package/pf-tile/BaseTile.js +0 -28
  367. package/pf-tile/BaseTile.js.map +0 -1
  368. package/pf-tooltip/BaseTooltip.css +0 -70
  369. package/pf-tooltip/BaseTooltip.d.ts +0 -16
  370. package/pf-tooltip/BaseTooltip.js +0 -54
  371. package/pf-tooltip/BaseTooltip.js.map +0 -1
@@ -1,42 +1,38 @@
1
1
  var _PfSpinner_internals;
2
2
  import { __decorate } from "tslib";
3
- import { html } from 'lit';
3
+ import { LitElement, html } from 'lit';
4
4
  import { customElement } from 'lit/decorators/custom-element.js';
5
5
  import { styleMap } from 'lit/directives/style-map.js';
6
+ import { property } from 'lit/decorators/property.js';
6
7
  import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
7
- import { BaseSpinner } from './BaseSpinner.js';
8
8
  import { css } from "lit";
9
- const styles = css `[hidden] {\n display: none !important;\n}\n\ndiv {\n display: contents;\n}\n\nsvg {\n width: var(--pf-c-spinner--Width,\n var(--pf-c-spinner--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem)));\n height: var(--pf-c-spinner--Height,\n var(--pf-c-spinner--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem)));\n animation:\n pf-c-spinner-animation-rotate\n calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)\n var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;\n}\n\n:host([size="sm"]) div {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,\n var(--pf-global--icon--FontSize--sm, 0.625rem));\n}\n\n:host([size="md"]) div {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,\n var(--pf-global--icon--FontSize--md, 1.125rem));\n}\n\n:host([size="lg"]) div {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,\n var(--pf-global--icon--FontSize--lg, 1.5rem));\n}\n\n:host([size="xl"]) div {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem));\n}\n\ncircle {\n stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));\n stroke-width: var(--pf-c-spinner--stroke-width, 10);\n animation:\n pf-c-spinner-animation-dash\n var(--pf-c-spinner--AnimationDuration, 1.4s)\n var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;\n}\n\n@keyframes pf-c-spinner-animation-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pf-c-spinner-animation-dash {\n 0% {\n stroke-dashoffset: 280;\n transform: rotate(0);\n }\n 15% {\n stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);\n }\n 40% {\n stroke-dashoffset: 150;\n stroke-dasharray: 220;\n }\n 100% {\n stroke-dashoffset: 280;\n transform: rotate(720deg);\n }\n}\n`;
10
- /**
11
- * A **spinner** is used to indicate to users that an action is in progress. For actions
12
- * that may take a long time, use a progress bar instead.
13
- * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}
14
- * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}
15
- * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}
16
- * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}
17
- * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}
18
- * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}
19
- * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}
20
- * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}
21
- * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}
22
- * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}
23
- * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}
24
- * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}
25
- * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}
26
- * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}
27
- */
28
- let PfSpinner = class PfSpinner extends BaseSpinner {
9
+ const styles = css `:host {\n display: inline-block;\n width: min-content;\n min-height: 0;\n aspect-ratio: 1 / 1;\n}\n\n[hidden] {\n display: none !important;\n}\n\nsvg {\n overflow: hidden;\n width: var(--pf-c-spinner--Width,\n var(--pf-c-spinner--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem)));\n height: var(--pf-c-spinner--Height,\n var(--pf-c-spinner--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem)));\n animation:\n pf-c-spinner-animation-rotate\n calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)\n var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;\n}\n\ncircle {\n width: 100%;\n height: 100%;\n transform-origin: 50% 50%;\n stroke-linecap: round;\n stroke-dasharray: 283;\n stroke-dashoffset: 280;\n stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));\n stroke-width: var(--pf-c-spinner--stroke-width, 10);\n animation:\n pf-c-spinner-animation-dash\n var(--pf-c-spinner--AnimationDuration, 1.4s)\n var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;\n}\n\n:host([size="sm"]) svg {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,\n var(--pf-global--icon--FontSize--sm, 0.625rem));\n}\n\n:host([size="md"]) svg {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,\n var(--pf-global--icon--FontSize--md, 1.125rem));\n}\n\n:host([size="lg"]) svg {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,\n var(--pf-global--icon--FontSize--lg, 1.5rem));\n}\n\n:host([size="xl"]) svg {\n --pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,\n var(--pf-global--icon--FontSize--xl, 3.375rem));\n}\n\n@keyframes pf-c-spinner-animation-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pf-c-spinner-animation-dash {\n 0% {\n stroke-dashoffset: 280;\n transform: rotate(0);\n }\n 15% {\n stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);\n }\n 40% {\n stroke-dashoffset: 150;\n stroke-dasharray: 220;\n }\n 100% {\n stroke-dashoffset: 280;\n transform: rotate(720deg);\n }\n}\n`;
10
+ let PfSpinner = class PfSpinner extends LitElement {
29
11
  constructor() {
30
12
  super(...arguments);
31
13
  // eslint-disable-next-line no-unused-private-class-members
32
14
  _PfSpinner_internals.set(this, InternalsController.of(this, { role: 'progressbar' }));
15
+ /** Preset sizes for the spinner */
16
+ this.size = 'xl';
33
17
  }
34
18
  render() {
35
- return html `<div style=${styleMap({ '--pf-c-spinner--diameter': this.diameter })}>${super.render()}</div>`;
19
+ return html `
20
+ <svg viewBox="0 0 100 100"
21
+ style="${styleMap({ '--pf-c-spinner--diameter': this.diameter })}">
22
+ <circle cx="50" cy="50" r="45" fill="none" />
23
+ </svg>
24
+ `;
36
25
  }
37
26
  };
38
27
  _PfSpinner_internals = new WeakMap();
39
- PfSpinner.styles = [...BaseSpinner.styles, styles];
28
+ PfSpinner.styles = [styles];
29
+ PfSpinner.version = "4.0.1";
30
+ __decorate([
31
+ property({ reflect: true })
32
+ ], PfSpinner.prototype, "size", void 0);
33
+ __decorate([
34
+ property({ reflect: true })
35
+ ], PfSpinner.prototype, "diameter", void 0);
40
36
  PfSpinner = __decorate([
41
37
  customElement('pf-spinner')
42
38
  ], PfSpinner);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;AAI/C;;;;;;;;;;;;;;;;;GAiBG;AAGI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,WAAW;IAAnC;;QAGL,2DAA2D;QAC3D,+BAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAC;IAKrE,CAAC;IAHC,MAAM;QACJ,OAAO,IAAI,CAAA,cAAc,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7G,CAAC;;;AAPe,gBAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlC,CAAmC;AAD9C,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CASrB","sourcesContent":["import { html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport { BaseSpinner } from './BaseSpinner.js';\n\nimport styles from './pf-spinner.css';\n\n/**\n * A **spinner** is used to indicate to users that an action is in progress. For actions\n * that may take a long time, use a progress bar instead.\n * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}\n * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}\n * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}\n * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}\n * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}\n * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}\n * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}\n * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}\n * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}\n * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}\n * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}\n */\n\n@customElement('pf-spinner')\nexport class PfSpinner extends BaseSpinner {\n static readonly styles = [...BaseSpinner.styles, styles];\n\n // eslint-disable-next-line no-unused-private-class-members\n #internals = InternalsController.of(this, { role: 'progressbar' });\n\n render() {\n return html`<div style=${styleMap({ '--pf-c-spinner--diameter': this.diameter })}>${super.render()}</div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-spinner': PfSpinner;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.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,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;;;AAwBxF,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAGL,2DAA2D;QAC3D,+BAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAC;QAEnE,mCAAmC;QACN,SAAI,GAA8B,IAAI,CAAC;;IAK3D,MAAM;QACb,OAAO,IAAI,CAAA;;oBAEK,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;;KAGtE,CAAC;IACJ,CAAC;;;AAlBe,gBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAMtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAwC;AAGvC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAkE;AAVnF,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport styles from './pf-spinner.css';\n\n/**\n * A **spinner** is used to indicate to users that an action is in progress. For actions\n * that may take a long time, use a progress bar instead.\n * @cssprop {<length>} [--pf-c-spinner--diameter=3.375rem]\n * @cssprop {<length>} [--pf-c-spinner--Width=3.375rem]\n * @cssprop {<length>} [--pf-c-spinner--Height=3.375rem]\n * @cssprop {<color>} [--pf-c-spinner--Color=#06c]\n * @cssprop {<length>} [--pf-c-spinner--m-sm--diameter=0.625rem]\n * @cssprop {<length>} [--pf-c-spinner--m-md--diameter=1.125rem]\n * @cssprop {<length>} [--pf-c-spinner--m-lg--diameter=1.5rem]\n * @cssprop {<length>} [--pf-c-spinner--m-xl--diameter=3.375rem]\n * @cssprop {<time>} [--pf-c-spinner--AnimationDuration=1.4s]\n * @cssprop {<string>} [--pf-c-spinner--AnimationTimingFunction=linear]\n * @cssprop {<number>} [--pf-c-spinner--stroke-width=10]\n * @cssprop {<color>} [--pf-c-spinner__path--Stroke=#06c]\n * @cssprop {<number>} [--pf-c-spinner__path--StrokeWidth=10]\n * @cssprop {<string>} [--pf-c-spinner__path--AnimationTimingFunction=ease-in-out]\n */\n\n@customElement('pf-spinner')\nexport class PfSpinner extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n // eslint-disable-next-line no-unused-private-class-members\n #internals = InternalsController.of(this, { role: 'progressbar' });\n\n /** Preset sizes for the spinner */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' | 'xl' = 'xl';\n\n /** Custom diameter of spinner set as CSS variable */\n @property({ reflect: true }) diameter?: `${string}${'px' | '%' | 'rem' | 'em' | 'fr' | 'pt'}`;\n\n override render(): TemplateResult<1> {\n return html`\n <svg viewBox=\"0 0 100 100\"\n style=\"${styleMap({ '--pf-c-spinner--diameter': this.diameter })}\">\n <circle cx=\"50\" cy=\"50\" r=\"45\" fill=\"none\" />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-spinner': PfSpinner;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { test } from '@playwright/test';
2
2
  import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
3
+ import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
3
4
  const tagName = 'pf-spinner';
4
5
  test.describe(tagName, () => {
5
6
  test('snapshot', async ({ page }) => {
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
7
8
  await componentPage.navigate();
8
9
  await componentPage.snapshot();
9
10
  });
11
+ test('ssr', async ({ browser }) => {
12
+ const fixture = new SSRPage({
13
+ tagName,
14
+ browser,
15
+ demoDir: new URL('../demo/', import.meta.url),
16
+ importSpecifiers: [
17
+ `@patternfly/elements/${tagName}/${tagName}.js`,
18
+ ],
19
+ });
20
+ await fixture.snapshots();
21
+ });
10
22
  });
11
23
  //# sourceMappingURL=pf-spinner.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pf-spinner.e2e.js","sourceRoot":"","sources":["pf-spinner.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\n\nconst tagName = 'pf-spinner';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n});\n"]}
1
+ {"version":3,"file":"pf-spinner.e2e.js","sourceRoot":"","sources":["pf-spinner.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-spinner';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n});\n"]}
@@ -1,3 +1,16 @@
1
+ :host {
2
+ display: inline-block;
3
+ outline: none;
4
+ }
5
+
6
+ svg {
7
+ fill: currentcolor;
8
+ }
9
+
10
+ [hidden] {
11
+ display: none !important;
12
+ }
13
+
1
14
  :host([checked]) #container {
2
15
  color: var(--pf-c-switch__input--checked__label--Color,
3
16
  var(--pf-global--Color--dark-100, #151515));
@@ -10,7 +23,22 @@
10
23
  calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
11
24
  }
12
25
 
26
+ :host(:is(:focus,:focus-within)) #container {
27
+ outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,
28
+ var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,
29
+ var(--pf-global--primary-color--100, #06c));
30
+ outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,
31
+ var(--pf-global--spacer--sm, 0.5rem));
32
+ }
33
+
34
+ :host(:disabled) {
35
+ pointer-events: none;
36
+ cursor: not-allowed;
37
+ }
38
+
13
39
  :host(:disabled) #container {
40
+ cursor: not-allowed;
41
+
14
42
  color: var(--pf-c-switch__input--disabled__label--Color,
15
43
  var(--pf-global--disabled-color--100, #6a6e73));
16
44
  background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,
@@ -27,7 +55,14 @@
27
55
  calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
28
56
  }
29
57
 
58
+ :host(:disabled:focus-within) #container {
59
+ outline: none;
60
+ }
61
+
30
62
  #container {
63
+ position: relative;
64
+ display: inline-flex;
65
+ align-items: center;
31
66
  width: var(--pf-c-switch__toggle--Width,
32
67
  calc(var(--pf-c-switch__toggle--Height,
33
68
  calc(var(--pf-c-switch--FontSize,
@@ -48,6 +83,9 @@
48
83
  }
49
84
 
50
85
  #container::before {
86
+ position: absolute;
87
+ display: block;
88
+ content: "";
51
89
  top: var(--pf-c-switch__toggle--before--Top,
52
90
  calc((var(--pf-c-switch__toggle--Height,
53
91
  calc(var(--pf-c-switch--FontSize,
@@ -79,19 +117,7 @@
79
117
  box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,
80
118
  var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));
81
119
  transition: var(--pf-c-switch__toggle--before--Transition,
82
- var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s)); ;
83
- }
84
-
85
- :host {
86
- outline: none;
87
- }
88
-
89
- :host(:is(:focus,:focus-within)) #container {
90
- outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,
91
- var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,
92
- var(--pf-global--primary-color--100, #06c));
93
- outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,
94
- var(--pf-global--spacer--sm, 0.5rem));
120
+ var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));
95
121
  }
96
122
 
97
123
  svg {
@@ -1,44 +1,58 @@
1
- import { BaseSwitch } from './BaseSwitch.js';
1
+ import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * A **switch** toggles the state of a setting (between on and off). Switches and
4
4
  * checkboxes can often be used interchangeably, but the switch provides a more
5
5
  * explicit, visible representation on a setting.
6
- *
7
6
  * @fires {Event} change - Fires when the switch selection changes.
8
- *
9
- * @cssprop --pf-c-switch--FontSize {@default `1rem`}
10
- * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}
11
- * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}
12
- * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}
13
- * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}
14
- * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}
15
- * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}
16
- * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}
17
- * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}
18
- * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}
19
- * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}
20
- * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}
21
- * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}
22
- * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}
23
- * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}
24
- * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}
25
- * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}
26
- * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}
27
- * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}
28
- * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}
29
- * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}
30
- * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}
31
- * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}
32
- * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}
33
- * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}
34
- * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}
35
- * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}
36
- * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}
37
- * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}
38
- * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}
7
+ * @cssprop [--pf-c-switch--FontSize=1rem]
8
+ * @cssprop {<length>} [--pf-c-switch--ColumnGap=1rem]
9
+ * @cssprop [--pf-c-switch__toggle-icon--FontSize=calc(1rem * .625)]
10
+ * @cssprop {<color>} [--pf-c-switch__toggle-icon--Color=#fff]
11
+ * @cssprop {<length>} [--pf-c-switch__toggle-icon--Left=1rem]
12
+ * @cssprop {<length>} [--pf-c-switch__toggle-icon--Offset=0.125rem]
13
+ * @cssprop {<number>} [--pf-c-switch--LineHeight=1.5]
14
+ * @cssprop {<length>} [--pf-c-switch--Height=auto]
15
+ * @cssprop {<color>} [--pf-c-switch__input--checked__toggle--BackgroundColor=#06c]
16
+ * @cssprop {<length>} [--pf-c-switch__input--checked__toggle--before--TranslateX=calc(100 + 0.125rem)]
17
+ * @cssprop {<color>} [--pf-c-switch__input--checked__label--Color=#151515]
18
+ * @cssprop {<color>} [--pf-c-switch__input--not-checked__label--Color=#6a6e73]
19
+ * @cssprop {<color>} [--pf-c-switch__input--disabled__label--Color=#6a6e73]
20
+ * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--BackgroundColor=#d2d2d2]
21
+ * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--before--BackgroundColor=#f5f5f5]
22
+ * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineWidth=2px]
23
+ * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineOffset=0.5rem]
24
+ * @cssprop {<color>} [--pf-c-switch__input--focus__toggle--OutlineColor=#06c]
25
+ * @cssprop {<length>} [--pf-c-switch__toggle--Height=calc(1rem * 1.5)]
26
+ * @cssprop {<color>} [--pf-c-switch__toggle--BackgroundColor=#8a8d90]
27
+ * @cssprop {<length>} [--pf-c-switch__toggle--BorderRadius=calc(1rem * 1.5)]
28
+ * @cssprop {<length>} [--pf-c-switch__toggle--before--Width=calc(1rem - 0.125rem)]
29
+ * @cssprop {<length>} [--pf-c-switch__toggle--before--Height=calc(1rem - 0.125rem)]
30
+ * @cssprop {<length>} [--pf-c-switch__toggle--before--Top=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`]
31
+ * @cssprop {<length>} [--pf-c-switch__toggle--before--Left=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)]
32
+ * @cssprop {<color>} [--pf-c-switch__toggle--before--BackgroundColor=#fff]
33
+ * @cssprop {<length>} [--pf-c-switch__toggle--before--BorderRadius=30em]
34
+ * @cssprop [--pf-c-switch__toggle--before--BoxShadow=0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)]
35
+ * @cssprop [--pf-c-switch__toggle--before--Transition=transform .25s ease 0s]
36
+ * @cssprop {<length>} [--pf-c-switch__toggle--Width=calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))]
39
37
  */
40
- export declare class PfSwitch extends BaseSwitch {
38
+ export declare class PfSwitch extends LitElement {
39
+ #private;
41
40
  static readonly styles: CSSStyleSheet[];
41
+ static readonly formAssociated = true;
42
+ shadowRoot: ShadowRoot;
43
+ /** Accessible label text for the switch */
44
+ label?: string;
45
+ /** Flag to show if the switch has a check icon. */
46
+ showCheckIcon: boolean;
47
+ /** Flag to show if the switch is checked. */
48
+ checked: boolean;
49
+ /** Flag to show if the switch is disabled. */
50
+ disabled: boolean;
51
+ get labels(): NodeListOf<HTMLLabelElement>;
52
+ connectedCallback(): void;
53
+ formDisabledCallback(disabled: boolean): void;
54
+ willUpdate(): void;
55
+ render(): TemplateResult<1>;
42
56
  }
43
57
  declare global {
44
58
  interface HTMLElementTagNameMap {
@@ -1,49 +1,120 @@
1
- import { __decorate } from "tslib";
1
+ var _PfSwitch_instances, _PfSwitch_internals, _PfSwitch_onClick, _PfSwitch_onKeyup, _PfSwitch_onKeydown, _PfSwitch_toggle, _PfSwitch_updateLabels;
2
+ import { __classPrivateFieldGet, __decorate } from "tslib";
3
+ import { LitElement, html } from 'lit';
2
4
  import { customElement } from 'lit/decorators/custom-element.js';
3
- import { BaseSwitch } from './BaseSwitch.js';
5
+ import { property } from 'lit/decorators/property.js';
6
+ import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
4
7
  import { css } from "lit";
5
- const styles = css `:host([checked]) #container {\n color: var(--pf-c-switch__input--checked__label--Color,\n var(--pf-global--Color--dark-100, #151515));\n background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,\n var(--pf-global--primary-color--100, #06c));\n}\n\n:host([checked]) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:disabled) #container {\n color: var(--pf-c-switch__input--disabled__label--Color,\n var(--pf-global--disabled-color--100, #6a6e73));\n background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,\n var(--pf-global--disabled-color--200, #d2d2d2));\n}\n\n:host(:disabled) #container::before {\n background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,\n var(--pf-global--palette--black-150, #f5f5f5));\n}\n\n:host([checked]:disabled) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n#container {\n width: var(--pf-c-switch__toggle--Width,\n calc(var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) + var(--pf-c-switch__toggle-icon--Offset, 0.125rem) + var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)))));\n height: var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5))));\n background-color: var(--pf-c-switch__toggle--BackgroundColor,\n var(--pf-global--palette--black-500, #8a8d90));\n border-radius: var(--pf-c-switch__toggle--BorderRadius,\n var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))));\n}\n\n#container::before {\n top: var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));\n left: var(--pf-c-switch__toggle--before--Left,\n var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));\n width: var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n height: var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));\n background-color: var(--pf-c-switch__toggle--before--backgroundcolor,\n var(--pf-global--backgroundcolor--100, #fff));\n border-radius: var(--pf-c-switch__toggle--before--BorderRadius,\n var(--pf-global--BorderRadius--lg, 30em));\n box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,\n var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));\n transition: var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s)); ;\n}\n\n:host {\n outline: none;\n}\n\n:host(:is(:focus,:focus-within)) #container {\n outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,\n var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,\n var(--pf-global--primary-color--100, #06c));\n outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,\n var(--pf-global--spacer--sm, 0.5rem));\n}\n\nsvg {\n margin-inline: var(--pf-c-switch__toggle-icon--Left,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .4));\n font-size: var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));\n color: var(--pf-c-switch__toggle-icon--Color,\n var(--pf-global--Color--light-100, #fff));\n}\n`;
6
- /**
7
- * A **switch** toggles the state of a setting (between on and off). Switches and
8
- * checkboxes can often be used interchangeably, but the switch provides a more
9
- * explicit, visible representation on a setting.
10
- *
11
- * @fires {Event} change - Fires when the switch selection changes.
12
- *
13
- * @cssprop --pf-c-switch--FontSize {@default `1rem`}
14
- * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}
15
- * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}
16
- * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}
17
- * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}
18
- * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}
19
- * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}
20
- * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}
21
- * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}
22
- * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}
23
- * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}
24
- * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}
25
- * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}
26
- * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}
27
- * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}
28
- * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}
29
- * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}
30
- * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}
31
- * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}
32
- * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}
33
- * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}
34
- * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}
35
- * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}
36
- * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}
37
- * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}
38
- * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}
39
- * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}
40
- * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}
41
- * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}
42
- * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}
43
- */
44
- let PfSwitch = class PfSwitch extends BaseSwitch {
8
+ const styles = css `:host {\n display: inline-block;\n outline: none;\n}\n\nsvg {\n fill: currentcolor;\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host([checked]) #container {\n color: var(--pf-c-switch__input--checked__label--Color,\n var(--pf-global--Color--dark-100, #151515));\n background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,\n var(--pf-global--primary-color--100, #06c));\n}\n\n:host([checked]) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:is(:focus,:focus-within)) #container {\n outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,\n var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,\n var(--pf-global--primary-color--100, #06c));\n outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,\n var(--pf-global--spacer--sm, 0.5rem));\n}\n\n:host(:disabled) {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n:host(:disabled) #container {\n cursor: not-allowed;\n\n color: var(--pf-c-switch__input--disabled__label--Color,\n var(--pf-global--disabled-color--100, #6a6e73));\n background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,\n var(--pf-global--disabled-color--200, #d2d2d2));\n}\n\n:host(:disabled) #container::before {\n background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,\n var(--pf-global--palette--black-150, #f5f5f5));\n}\n\n:host([checked]:disabled) #container::before {\n translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,\n calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n}\n\n:host(:disabled:focus-within) #container {\n outline: none;\n}\n\n#container {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--pf-c-switch__toggle--Width,\n calc(var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) + var(--pf-c-switch__toggle-icon--Offset, 0.125rem) + var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)))));\n height: var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5))));\n background-color: var(--pf-c-switch__toggle--BackgroundColor,\n var(--pf-global--palette--black-500, #8a8d90));\n border-radius: var(--pf-c-switch__toggle--BorderRadius,\n var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))));\n}\n\n#container::before {\n position: absolute;\n display: block;\n content: "";\n top: var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));\n left: var(--pf-c-switch__toggle--before--Left,\n var(--pf-c-switch__toggle--before--Top,\n calc((var(--pf-c-switch__toggle--Height,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)))) - var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));\n width: var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));\n height: var(--pf-c-switch__toggle--before--Height,\n var(--pf-c-switch__toggle--before--Width,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));\n background-color: var(--pf-c-switch__toggle--before--backgroundcolor,\n var(--pf-global--backgroundcolor--100, #fff));\n border-radius: var(--pf-c-switch__toggle--before--BorderRadius,\n var(--pf-global--BorderRadius--lg, 30em));\n box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,\n var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)));\n transition: var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));\n}\n\nsvg {\n margin-inline: var(--pf-c-switch__toggle-icon--Left,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .4));\n font-size: var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));\n color: var(--pf-c-switch__toggle-icon--Color,\n var(--pf-global--Color--light-100, #fff));\n}\n`;
9
+ let PfSwitch = class PfSwitch extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ _PfSwitch_instances.add(this);
13
+ _PfSwitch_internals.set(this, InternalsController.of(this, { role: 'switch' }));
14
+ /** Flag to show if the switch has a check icon. */
15
+ this.showCheckIcon = false;
16
+ /** Flag to show if the switch is checked. */
17
+ this.checked = false;
18
+ /** Flag to show if the switch is disabled. */
19
+ this.disabled = false;
20
+ }
21
+ get labels() {
22
+ return __classPrivateFieldGet(this, _PfSwitch_internals, "f").labels;
23
+ }
24
+ connectedCallback() {
25
+ super.connectedCallback();
26
+ this.tabIndex = 0;
27
+ this.addEventListener('click', __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_onClick));
28
+ this.addEventListener('keyup', __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_onKeyup));
29
+ this.addEventListener('keydown', __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_onKeydown));
30
+ __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_updateLabels).call(this);
31
+ }
32
+ formDisabledCallback(disabled) {
33
+ this.disabled = disabled;
34
+ this.requestUpdate();
35
+ }
36
+ willUpdate() {
37
+ __classPrivateFieldGet(this, _PfSwitch_internals, "f").ariaChecked = String(!!this.checked);
38
+ __classPrivateFieldGet(this, _PfSwitch_internals, "f").ariaDisabled = String(!!this.disabled);
39
+ }
40
+ render() {
41
+ return html `
42
+ <div id="container">
43
+ <svg id="toggle"
44
+ role="presentation"
45
+ fill="currentColor"
46
+ height="1em"
47
+ width="1em"
48
+ viewBox="0 0 512 512"
49
+ ?hidden=${!this.showCheckIcon}>
50
+ <path d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" />
51
+ </svg>
52
+ </div>
53
+ `;
54
+ }
45
55
  };
46
- PfSwitch.styles = [...BaseSwitch.styles, styles];
56
+ _PfSwitch_internals = new WeakMap();
57
+ _PfSwitch_instances = new WeakSet();
58
+ _PfSwitch_onClick = function _PfSwitch_onClick(event) {
59
+ // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label
60
+ const { originalTarget, explicitOriginalTarget } = event;
61
+ if (explicitOriginalTarget) {
62
+ let labels;
63
+ if (originalTarget === event.target
64
+ && !(labels = Array.from(this.labels)).includes(explicitOriginalTarget)
65
+ && labels.includes(this.closest('label'))) {
66
+ return;
67
+ }
68
+ }
69
+ __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_toggle).call(this);
70
+ };
71
+ _PfSwitch_onKeyup = function _PfSwitch_onKeyup(event) {
72
+ switch (event.key) {
73
+ case ' ':
74
+ case 'Enter':
75
+ event.preventDefault();
76
+ __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_toggle).call(this);
77
+ }
78
+ };
79
+ _PfSwitch_onKeydown = function _PfSwitch_onKeydown(event) {
80
+ if (event.key === ' ') {
81
+ event.preventDefault();
82
+ event.stopPropagation();
83
+ }
84
+ };
85
+ _PfSwitch_toggle = function _PfSwitch_toggle() {
86
+ if (!this.disabled) {
87
+ this.checked = !this.checked;
88
+ __classPrivateFieldGet(this, _PfSwitch_instances, "m", _PfSwitch_updateLabels).call(this);
89
+ this.dispatchEvent(new Event('change', { bubbles: true }));
90
+ }
91
+ };
92
+ _PfSwitch_updateLabels = function _PfSwitch_updateLabels() {
93
+ const labelState = this.checked ? 'on' : 'off';
94
+ this.labels.forEach(label => {
95
+ const states = label.querySelectorAll('[data-state]');
96
+ states.forEach(state => {
97
+ if (state) {
98
+ state.hidden = state.dataset.state !== labelState;
99
+ }
100
+ });
101
+ });
102
+ };
103
+ PfSwitch.styles = [styles];
104
+ PfSwitch.formAssociated = true;
105
+ PfSwitch.version = "4.0.1";
106
+ __decorate([
107
+ property({ reflect: true })
108
+ ], PfSwitch.prototype, "label", void 0);
109
+ __decorate([
110
+ property({ reflect: true, type: Boolean, attribute: 'show-check-icon' })
111
+ ], PfSwitch.prototype, "showCheckIcon", void 0);
112
+ __decorate([
113
+ property({ reflect: true, type: Boolean })
114
+ ], PfSwitch.prototype, "checked", void 0);
115
+ __decorate([
116
+ property({ reflect: true, type: Boolean })
117
+ ], PfSwitch.prototype, "disabled", void 0);
47
118
  PfSwitch = __decorate([
48
119
  customElement('pf-switch')
49
120
  ], PfSwitch);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;;AACtB,eAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,AAAjC,CAAkC;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n *\n * @fires {Event} change - Fires when the switch selection changes.\n *\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";;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;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;;;AA0CxF,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;;QAOL,8BAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAC;QAK9D,mDAAmD;QACuB,kBAAa,GAAG,KAAK,CAAC;QAEhG,6CAA6C;QACD,YAAO,GAAG,KAAK,CAAC;QAE5D,8CAA8C;QACF,aAAQ,GAAG,KAAK,CAAC;;IAE7D,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,2BAAW,CAAC,MAAsC,CAAC;IAChE,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,8CAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,8CAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,uBAAA,IAAI,gDAAW,CAAC,CAAC;QAClD,uBAAA,IAAI,mDAAc,MAAlB,IAAI,CAAgB,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,QAAiB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEQ,UAAU;QACjB,uBAAA,IAAI,2BAAW,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,uBAAA,IAAI,2BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;;;;;;;uBAQQ,CAAC,IAAI,CAAC,aAAa;;;;KAIrC,CAAC;IACJ,CAAC;;;;+CAEQ,KAAY;IACnB,gGAAgG;IAChG,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC;IACzD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,IAAI,MAA0B,CAAC;QAC/B,IAAI,cAAc,KAAK,KAAK,CAAC,MAAM;eAC5B,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;eACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAqB,CAAC,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;IACH,CAAC;IACD,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,CAAU,CAAC;AACjB,CAAC;+CAEQ,KAAoB;IAC3B,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,GAAG,CAAC;QACT,KAAK,OAAO;YACV,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,CAAU,CAAC;IACnB,CAAC;AACH,CAAC;mDAEU,KAAoB;IAC7B,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;;IAGC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,uBAAA,IAAI,mDAAc,MAAlB,IAAI,CAAgB,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;;IAGC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA3Ge,eAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;AAEnC,uBAAc,GAAG,IAAI,AAAP,CAAQ;;AAOT;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAgB;AAG8B;IAAzE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;+CAAuB;AAGpD;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAkB;AAnBlD,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n * @fires {Event} change - Fires when the switch selection changes.\n * @cssprop [--pf-c-switch--FontSize=1rem]\n * @cssprop {<length>} [--pf-c-switch--ColumnGap=1rem]\n * @cssprop [--pf-c-switch__toggle-icon--FontSize=calc(1rem * .625)]\n * @cssprop {<color>} [--pf-c-switch__toggle-icon--Color=#fff]\n * @cssprop {<length>} [--pf-c-switch__toggle-icon--Left=1rem]\n * @cssprop {<length>} [--pf-c-switch__toggle-icon--Offset=0.125rem]\n * @cssprop {<number>} [--pf-c-switch--LineHeight=1.5]\n * @cssprop {<length>} [--pf-c-switch--Height=auto]\n * @cssprop {<color>} [--pf-c-switch__input--checked__toggle--BackgroundColor=#06c]\n * @cssprop {<length>} [--pf-c-switch__input--checked__toggle--before--TranslateX=calc(100 + 0.125rem)]\n * @cssprop {<color>} [--pf-c-switch__input--checked__label--Color=#151515]\n * @cssprop {<color>} [--pf-c-switch__input--not-checked__label--Color=#6a6e73]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__label--Color=#6a6e73]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--BackgroundColor=#d2d2d2]\n * @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--before--BackgroundColor=#f5f5f5]\n * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineWidth=2px]\n * @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineOffset=0.5rem]\n * @cssprop {<color>} [--pf-c-switch__input--focus__toggle--OutlineColor=#06c]\n * @cssprop {<length>} [--pf-c-switch__toggle--Height=calc(1rem * 1.5)]\n * @cssprop {<color>} [--pf-c-switch__toggle--BackgroundColor=#8a8d90]\n * @cssprop {<length>} [--pf-c-switch__toggle--BorderRadius=calc(1rem * 1.5)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Width=calc(1rem - 0.125rem)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Height=calc(1rem - 0.125rem)]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Top=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--Left=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)]\n * @cssprop {<color>} [--pf-c-switch__toggle--before--BackgroundColor=#fff]\n * @cssprop {<length>} [--pf-c-switch__toggle--before--BorderRadius=30em]\n * @cssprop [--pf-c-switch__toggle--before--BoxShadow=0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)]\n * @cssprop [--pf-c-switch__toggle--before--Transition=transform .25s ease 0s]\n * @cssprop {<length>} [--pf-c-switch__toggle--Width=calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))]\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n declare shadowRoot: ShadowRoot;\n\n #internals = InternalsController.of(this, { role: 'switch' });\n\n /** Accessible label text for the switch */\n @property({ reflect: true }) label?: string;\n\n /** Flag to show if the switch has a check icon. */\n @property({ reflect: true, type: Boolean, attribute: 'show-check-icon' }) showCheckIcon = false;\n\n /** Flag to show if the switch is checked. */\n @property({ reflect: true, type: Boolean }) checked = false;\n\n /** Flag to show if the switch is disabled. */\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n get labels(): NodeListOf<HTMLLabelElement> {\n return this.#internals.labels as NodeListOf<HTMLLabelElement>;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.tabIndex = 0;\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keyup', this.#onKeyup);\n this.addEventListener('keydown', this.#onKeydown);\n this.#updateLabels();\n }\n\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled;\n this.requestUpdate();\n }\n\n override willUpdate(): void {\n this.#internals.ariaChecked = String(!!this.checked);\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n\n override render(): TemplateResult<1> {\n return html`\n <div id=\"container\">\n <svg id=\"toggle\"\n role=\"presentation\"\n fill=\"currentColor\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 512 512\"\n ?hidden=${!this.showCheckIcon}>\n <path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\" />\n </svg>\n </div>\n `;\n }\n\n #onClick(event: Event) {\n // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label\n const { originalTarget, explicitOriginalTarget } = event;\n if (explicitOriginalTarget) {\n let labels: HTMLLabelElement[];\n if (originalTarget === event.target\n && !(labels = Array.from(this.labels)).includes(explicitOriginalTarget)\n && labels.includes(this.closest('label') as HTMLLabelElement)) {\n return;\n }\n }\n this.#toggle();\n }\n\n #onKeyup(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.#toggle();\n }\n }\n\n #onKeydown(event: KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n #toggle() {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.#updateLabels();\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n\n #updateLabels() {\n const labelState = this.checked ? 'on' : 'off';\n this.labels.forEach(label => {\n const states = label.querySelectorAll<HTMLElement>('[data-state]');\n states.forEach(state => {\n if (state) {\n state.hidden = state.dataset.state !== labelState;\n }\n });\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { test } from '@playwright/test';
2
2
  import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
3
+ import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
3
4
  const tagName = 'pf-switch';
4
5
  test.describe(tagName, () => {
5
6
  test('snapshot', async ({ page }) => {
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
7
8
  await componentPage.navigate();
8
9
  await componentPage.snapshot();
9
10
  });
11
+ test('ssr', async ({ browser }) => {
12
+ const fixture = new SSRPage({
13
+ tagName,
14
+ browser,
15
+ demoDir: new URL('../demo/', import.meta.url),
16
+ importSpecifiers: [
17
+ `@patternfly/elements/${tagName}/${tagName}.js`,
18
+ ],
19
+ });
20
+ await fixture.snapshots();
21
+ });
10
22
  });
11
23
  //# sourceMappingURL=pf-switch.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pf-switch.e2e.js","sourceRoot":"","sources":["pf-switch.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\n\nconst tagName = 'pf-switch';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n});\n"]}
1
+ {"version":3,"file":"pf-switch.e2e.js","sourceRoot":"","sources":["pf-switch.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-switch';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n});\n"]}
@@ -1,11 +1,11 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * Caption
4
4
  * @slot - Place element content here
5
5
  */
6
6
  export declare class PfCaption extends LitElement {
7
7
  static readonly styles: CSSStyleSheet[];
8
- render(): import("lit-html").TemplateResult<1>;
8
+ render(): TemplateResult<1>;
9
9
  }
10
10
  declare global {
11
11
  interface HTMLElementTagNameMap {
@@ -3,10 +3,6 @@ import { LitElement, html } from 'lit';
3
3
  import { customElement } from 'lit/decorators/custom-element.js';
4
4
  import { css } from "lit";
5
5
  const styles = css `:host {\n display: table-caption;\n /* stylelint-disable-next-line max-line-length */\n padding: var(--pf-c-table-caption--PaddingTop, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingRight, var(--pf-global--spacer--lg, 1.5rem)) var(--pf-c-table-caption--PaddingBottom, var(--pf-global--spacer--md, 1rem)) var(--pf-c-table-caption--PaddingLeft, var(--pf-global--spacer--lg, 1.5rem));\n font-size: var(--pf-c-table-caption--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n color: var(--pf-c-table-caption--Color, var(--pf-global--Color--200, #6a6e73));\n text-align: left;\n background-color: var(--pf-c-table--BackgroundColor);\n}`;
6
- /**
7
- * Caption
8
- * @slot - Place element content here
9
- */
10
6
  let PfCaption = class PfCaption extends LitElement {
11
7
  render() {
12
8
  return html `
@@ -15,6 +11,7 @@ let PfCaption = class PfCaption extends LitElement {
15
11
  }
16
12
  };
17
13
  PfCaption.styles = [styles];
14
+ PfCaption.version = "4.0.1";
18
15
  PfCaption = __decorate([
19
16
  customElement('pf-caption')
20
17
  ], PfCaption);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-caption.js","sourceRoot":"","sources":["pf-caption.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAIjE;;;GAGG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAGvC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AANe,gBAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AADvB,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CAQrB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-caption.css';\n\n/**\n * Caption\n * @slot - Place element content here\n */\n@customElement('pf-caption')\nexport class PfCaption extends LitElement {\n static readonly styles = [styles];\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-caption': PfCaption;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-caption.js","sourceRoot":"","sources":["pf-caption.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;;AAS1D,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAGvC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AANe,gBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AADxC,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\n\nimport styles from './pf-caption.css';\n\n/**\n * Caption\n * @slot - Place element content here\n */\n@customElement('pf-caption')\nexport class PfCaption extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n render(): TemplateResult<1> {\n return html`\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-caption': PfCaption;\n }\n}\n"]}