@patternfly/elements 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/custom-elements.json +13726 -12682
  2. package/package.json +17 -14
  3. package/pf-accordion/pf-accordion-header.css +37 -0
  4. package/pf-accordion/pf-accordion-header.d.ts +0 -61
  5. package/pf-accordion/pf-accordion-header.js +180 -2
  6. package/pf-accordion/pf-accordion-header.js.map +1 -1
  7. package/pf-accordion/pf-accordion-panel.css +12 -0
  8. package/pf-accordion/pf-accordion-panel.d.ts +0 -34
  9. package/pf-accordion/pf-accordion-panel.js +87 -2
  10. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  11. package/pf-accordion/pf-accordion.css +62 -0
  12. package/pf-accordion/pf-accordion.d.ts +1 -64
  13. package/pf-accordion/pf-accordion.js +156 -2
  14. package/pf-accordion/pf-accordion.js.map +1 -1
  15. package/pf-avatar/pf-avatar.css +14 -0
  16. package/pf-avatar/pf-avatar.d.ts +1 -14
  17. package/pf-avatar/pf-avatar.js +82 -2
  18. package/pf-avatar/pf-avatar.js.map +1 -1
  19. package/pf-back-to-top/pf-back-to-top.css +12 -0
  20. package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
  21. package/pf-back-to-top/pf-back-to-top.js +87 -3
  22. package/pf-back-to-top/pf-back-to-top.js.map +1 -1
  23. package/pf-background-image/pf-background-image.css +7 -0
  24. package/pf-background-image/pf-background-image.d.ts +1 -8
  25. package/pf-background-image/pf-background-image.js +76 -2
  26. package/pf-background-image/pf-background-image.js.map +1 -1
  27. package/pf-badge/pf-badge.css +13 -0
  28. package/pf-badge/pf-badge.d.ts +1 -13
  29. package/pf-badge/pf-badge.js +53 -2
  30. package/pf-badge/pf-badge.js.map +1 -1
  31. package/pf-banner/pf-banner.css +21 -0
  32. package/pf-banner/pf-banner.d.ts +1 -19
  33. package/pf-banner/pf-banner.js +122 -2
  34. package/pf-banner/pf-banner.js.map +1 -1
  35. package/pf-button/pf-button-tokens.css +38 -0
  36. package/pf-button/pf-button.d.ts +1 -106
  37. package/pf-button/pf-button.js +837 -4
  38. package/pf-button/pf-button.js.map +1 -1
  39. package/pf-card/pf-card.css +24 -0
  40. package/pf-card/pf-card.d.ts +1 -38
  41. package/pf-card/pf-card.js +248 -2
  42. package/pf-card/pf-card.js.map +1 -1
  43. package/pf-chip/pf-chip-group.css +15 -0
  44. package/pf-chip/pf-chip-group.d.ts +0 -15
  45. package/pf-chip/pf-chip-group.js +111 -2
  46. package/pf-chip/pf-chip-group.js.map +1 -1
  47. package/pf-chip/pf-chip.css +30 -1
  48. package/pf-chip/pf-chip.d.ts +1 -20
  49. package/pf-chip/pf-chip.js +135 -2
  50. package/pf-chip/pf-chip.js.map +1 -1
  51. package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
  52. package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
  53. package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
  54. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  55. package/pf-code-block/pf-code-block.css +11 -1
  56. package/pf-code-block/pf-code-block.js +70 -18
  57. package/pf-code-block/pf-code-block.js.map +1 -1
  58. package/pf-dropdown/pf-dropdown-group.js +40 -2
  59. package/pf-dropdown/pf-dropdown-group.js.map +1 -1
  60. package/pf-dropdown/pf-dropdown-item.css +10 -0
  61. package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
  62. package/pf-dropdown/pf-dropdown-item.js +155 -2
  63. package/pf-dropdown/pf-dropdown-item.js.map +1 -1
  64. package/pf-dropdown/pf-dropdown-menu.js +39 -2
  65. package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
  66. package/pf-dropdown/pf-dropdown.css +5 -0
  67. package/pf-dropdown/pf-dropdown.d.ts +1 -9
  68. package/pf-dropdown/pf-dropdown.js +350 -2
  69. package/pf-dropdown/pf-dropdown.js.map +1 -1
  70. package/pf-icon/pf-icon.css +1 -0
  71. package/pf-icon/pf-icon.d.ts +1 -3
  72. package/pf-icon/pf-icon.js +44 -4
  73. package/pf-icon/pf-icon.js.map +1 -1
  74. package/pf-jump-links/pf-jump-links-item.css +7 -1
  75. package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
  76. package/pf-jump-links/pf-jump-links-item.js +77 -2
  77. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  78. package/pf-jump-links/pf-jump-links-list.css +3 -0
  79. package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  80. package/pf-jump-links/pf-jump-links-list.js +20 -2
  81. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  82. package/pf-jump-links/pf-jump-links.css +36 -0
  83. package/pf-jump-links/pf-jump-links.d.ts +1 -38
  84. package/pf-jump-links/pf-jump-links.js +179 -2
  85. package/pf-jump-links/pf-jump-links.js.map +1 -1
  86. package/pf-label/pf-label.css +51 -1
  87. package/pf-label/pf-label.d.ts +1 -58
  88. package/pf-label/pf-label.js +257 -2
  89. package/pf-label/pf-label.js.map +1 -1
  90. package/pf-modal/pf-modal.css +11 -0
  91. package/pf-modal/pf-modal.d.ts +1 -24
  92. package/pf-modal/pf-modal.js +215 -2
  93. package/pf-modal/pf-modal.js.map +1 -1
  94. package/pf-panel/pf-panel.css +29 -0
  95. package/pf-panel/pf-panel.d.ts +1 -32
  96. package/pf-panel/pf-panel.js +204 -2
  97. package/pf-panel/pf-panel.js.map +1 -1
  98. package/pf-popover/pf-popover.css +33 -0
  99. package/pf-popover/pf-popover.d.ts +1 -108
  100. package/pf-popover/pf-popover.js +251 -3
  101. package/pf-popover/pf-popover.js.map +1 -1
  102. package/pf-progress/pf-progress.css +19 -0
  103. package/pf-progress/pf-progress.d.ts +1 -57
  104. package/pf-progress/pf-progress.js +231 -2
  105. package/pf-progress/pf-progress.js.map +1 -1
  106. package/pf-progress-stepper/pf-progress-step.js +126 -2
  107. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  108. package/pf-progress-stepper/pf-progress-stepper.css +96 -0
  109. package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
  110. package/pf-progress-stepper/pf-progress-stepper.js +326 -2
  111. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  112. package/pf-search-input/pf-search-input.css +308 -0
  113. package/pf-search-input/pf-search-input.d.ts +75 -0
  114. package/pf-search-input/pf-search-input.js +630 -0
  115. package/pf-search-input/pf-search-input.js.map +1 -0
  116. package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
  117. package/pf-search-input/test/pf-search-input.e2e.js +23 -0
  118. package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
  119. package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
  120. package/pf-search-input/test/pf-search-input.spec.js +1021 -0
  121. package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
  122. package/pf-select/pf-option-group.js +27 -2
  123. package/pf-select/pf-option-group.js.map +1 -1
  124. package/pf-select/pf-option.css +9 -1
  125. package/pf-select/pf-option.js +83 -2
  126. package/pf-select/pf-option.js.map +1 -1
  127. package/pf-select/pf-select.css +157 -0
  128. package/pf-select/pf-select.d.ts +1 -158
  129. package/pf-select/pf-select.js +542 -5
  130. package/pf-select/pf-select.js.map +1 -1
  131. package/pf-spinner/pf-spinner.css +13 -0
  132. package/pf-spinner/pf-spinner.d.ts +1 -14
  133. package/pf-spinner/pf-spinner.js +101 -2
  134. package/pf-spinner/pf-spinner.js.map +1 -1
  135. package/pf-switch/pf-switch.css +22 -0
  136. package/pf-switch/pf-switch.d.ts +1 -30
  137. package/pf-switch/pf-switch.js +156 -2
  138. package/pf-switch/pf-switch.js.map +1 -1
  139. package/pf-table/pf-caption.js +10 -2
  140. package/pf-table/pf-caption.js.map +1 -1
  141. package/pf-table/pf-table.css +211 -0
  142. package/pf-table/pf-table.d.ts +1 -635
  143. package/pf-table/pf-table.js +437 -2
  144. package/pf-table/pf-table.js.map +1 -1
  145. package/pf-table/pf-tbody.js +18 -2
  146. package/pf-table/pf-tbody.js.map +1 -1
  147. package/pf-table/pf-td.js +107 -2
  148. package/pf-table/pf-td.js.map +1 -1
  149. package/pf-table/pf-th.js +95 -2
  150. package/pf-table/pf-th.js.map +1 -1
  151. package/pf-table/pf-thead.js +20 -2
  152. package/pf-table/pf-thead.js.map +1 -1
  153. package/pf-table/pf-tr.js +89 -2
  154. package/pf-table/pf-tr.js.map +1 -1
  155. package/pf-tabs/pf-tab-panel.css +1 -0
  156. package/pf-tabs/pf-tab-panel.d.ts +0 -2
  157. package/pf-tabs/pf-tab-panel.js +19 -3
  158. package/pf-tabs/pf-tab-panel.js.map +1 -1
  159. package/pf-tabs/pf-tab.css +33 -0
  160. package/pf-tabs/pf-tab.d.ts +0 -40
  161. package/pf-tabs/pf-tab.js +231 -2
  162. package/pf-tabs/pf-tab.js.map +1 -1
  163. package/pf-tabs/pf-tabs.css +26 -0
  164. package/pf-tabs/pf-tabs.d.ts +1 -34
  165. package/pf-tabs/pf-tabs.js +307 -2
  166. package/pf-tabs/pf-tabs.js.map +1 -1
  167. package/pf-text-area/pf-text-area.css +125 -0
  168. package/pf-text-area/pf-text-area.d.ts +1 -125
  169. package/pf-text-area/pf-text-area.js +320 -2
  170. package/pf-text-area/pf-text-area.js.map +1 -1
  171. package/pf-text-input/pf-text-input.css +126 -0
  172. package/pf-text-input/pf-text-input.d.ts +1 -126
  173. package/pf-text-input/pf-text-input.js +395 -2
  174. package/pf-text-input/pf-text-input.js.map +1 -1
  175. package/pf-tile/pf-tile.css +28 -8
  176. package/pf-tile/pf-tile.d.ts +1 -24
  177. package/pf-tile/pf-tile.js +156 -2
  178. package/pf-tile/pf-tile.js.map +1 -1
  179. package/pf-timestamp/pf-timestamp.d.ts +1 -0
  180. package/pf-timestamp/pf-timestamp.js +10 -2
  181. package/pf-timestamp/pf-timestamp.js.map +1 -1
  182. package/pf-tooltip/pf-tooltip.css +10 -0
  183. package/pf-tooltip/pf-tooltip.d.ts +1 -79
  184. package/pf-tooltip/pf-tooltip.js +113 -3
  185. package/pf-tooltip/pf-tooltip.js.map +1 -1
  186. package/pfe.min.js +0 -7439
  187. package/pfe.min.js.LEGAL.txt +0 -57
  188. package/pfe.min.js.map +0 -7
  189. package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
  190. package/react/pf-accordion/pf-accordion-header.js +0 -12
  191. package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
  192. package/react/pf-accordion/pf-accordion-panel.js +0 -10
  193. package/react/pf-accordion/pf-accordion.d.ts +0 -5
  194. package/react/pf-accordion/pf-accordion.js +0 -13
  195. package/react/pf-avatar/pf-avatar.d.ts +0 -5
  196. package/react/pf-avatar/pf-avatar.js +0 -12
  197. package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
  198. package/react/pf-back-to-top/pf-back-to-top.js +0 -10
  199. package/react/pf-background-image/pf-background-image.d.ts +0 -5
  200. package/react/pf-background-image/pf-background-image.js +0 -10
  201. package/react/pf-badge/pf-badge.d.ts +0 -5
  202. package/react/pf-badge/pf-badge.js +0 -10
  203. package/react/pf-banner/pf-banner.d.ts +0 -5
  204. package/react/pf-banner/pf-banner.js +0 -10
  205. package/react/pf-button/pf-button.d.ts +0 -5
  206. package/react/pf-button/pf-button.js +0 -12
  207. package/react/pf-card/pf-card.d.ts +0 -5
  208. package/react/pf-card/pf-card.js +0 -10
  209. package/react/pf-chip/pf-chip-group.d.ts +0 -5
  210. package/react/pf-chip/pf-chip-group.js +0 -13
  211. package/react/pf-chip/pf-chip.d.ts +0 -5
  212. package/react/pf-chip/pf-chip.js +0 -13
  213. package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
  214. package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
  215. package/react/pf-code-block/pf-code-block.d.ts +0 -5
  216. package/react/pf-code-block/pf-code-block.js +0 -10
  217. package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
  218. package/react/pf-dropdown/pf-dropdown-group.js +0 -10
  219. package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
  220. package/react/pf-dropdown/pf-dropdown-item.js +0 -10
  221. package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
  222. package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
  223. package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
  224. package/react/pf-dropdown/pf-dropdown.js +0 -14
  225. package/react/pf-icon/pf-icon.d.ts +0 -5
  226. package/react/pf-icon/pf-icon.js +0 -13
  227. package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
  228. package/react/pf-jump-links/pf-jump-links-item.js +0 -13
  229. package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
  230. package/react/pf-jump-links/pf-jump-links-list.js +0 -10
  231. package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
  232. package/react/pf-jump-links/pf-jump-links.js +0 -12
  233. package/react/pf-label/pf-label.d.ts +0 -5
  234. package/react/pf-label/pf-label.js +0 -12
  235. package/react/pf-modal/pf-modal.d.ts +0 -5
  236. package/react/pf-modal/pf-modal.js +0 -13
  237. package/react/pf-panel/pf-panel.d.ts +0 -5
  238. package/react/pf-panel/pf-panel.js +0 -10
  239. package/react/pf-popover/pf-popover.d.ts +0 -5
  240. package/react/pf-popover/pf-popover.js +0 -10
  241. package/react/pf-progress/pf-progress.d.ts +0 -5
  242. package/react/pf-progress/pf-progress.js +0 -10
  243. package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
  244. package/react/pf-progress-stepper/pf-progress-step.js +0 -10
  245. package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
  246. package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
  247. package/react/pf-select/pf-option-group.d.ts +0 -5
  248. package/react/pf-select/pf-option-group.js +0 -10
  249. package/react/pf-select/pf-option.d.ts +0 -5
  250. package/react/pf-select/pf-option.js +0 -10
  251. package/react/pf-select/pf-select.d.ts +0 -5
  252. package/react/pf-select/pf-select.js +0 -13
  253. package/react/pf-spinner/pf-spinner.d.ts +0 -5
  254. package/react/pf-spinner/pf-spinner.js +0 -10
  255. package/react/pf-switch/pf-switch.d.ts +0 -5
  256. package/react/pf-switch/pf-switch.js +0 -12
  257. package/react/pf-table/pf-caption.d.ts +0 -5
  258. package/react/pf-table/pf-caption.js +0 -10
  259. package/react/pf-table/pf-table.d.ts +0 -5
  260. package/react/pf-table/pf-table.js +0 -10
  261. package/react/pf-table/pf-tbody.d.ts +0 -5
  262. package/react/pf-table/pf-tbody.js +0 -10
  263. package/react/pf-table/pf-td.d.ts +0 -5
  264. package/react/pf-table/pf-td.js +0 -10
  265. package/react/pf-table/pf-th.d.ts +0 -5
  266. package/react/pf-table/pf-th.js +0 -10
  267. package/react/pf-table/pf-thead.d.ts +0 -5
  268. package/react/pf-table/pf-thead.js +0 -10
  269. package/react/pf-table/pf-tr.d.ts +0 -5
  270. package/react/pf-table/pf-tr.js +0 -10
  271. package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
  272. package/react/pf-tabs/pf-tab-panel.js +0 -10
  273. package/react/pf-tabs/pf-tab.d.ts +0 -5
  274. package/react/pf-tabs/pf-tab.js +0 -12
  275. package/react/pf-tabs/pf-tabs.d.ts +0 -5
  276. package/react/pf-tabs/pf-tabs.js +0 -10
  277. package/react/pf-text-area/pf-text-area.d.ts +0 -5
  278. package/react/pf-text-area/pf-text-area.js +0 -10
  279. package/react/pf-text-input/pf-text-input.d.ts +0 -5
  280. package/react/pf-text-input/pf-text-input.js +0 -10
  281. package/react/pf-tile/pf-tile.d.ts +0 -5
  282. package/react/pf-tile/pf-tile.js +0 -10
  283. package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
  284. package/react/pf-timestamp/pf-timestamp.js +0 -10
  285. package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
  286. package/react/pf-tooltip/pf-tooltip.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"pf-select.js","sourceRoot":"","sources":["pf-select.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PfChipGroup } from '../pf-chip/pf-chip-group.js';\nimport type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport type { TemplateResult } from 'lit';\n\nimport { LitElement, html, isServer } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ComboboxController } from '@patternfly/pfe-core/controllers/combobox-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\n\nimport { arraysAreEquivalent } from '@patternfly/pfe-core/functions/arraysAreEquivalent.js';\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\nimport { PfOption } from './pf-option.js';\nimport { type PfChip, PfChipRemoveEvent } from '../pf-chip/pf-chip.js';\n\nimport styles from './pf-select.css';\n\nexport class PfSelectChangeEvent extends Event {\n constructor() {\n super('change', { bubbles: true });\n }\n}\n\n/**\n * A select list enables users to select one or more items from a list.\n *\n * A select component consists of a toggle control to open and close a menu of actions or links.\n * Selects differ from dropdowns in that they persist selection,\n * whereas dropdowns are typically used to present a list of actions or links.\n * @slot - insert `pf-option` and/or `pf-option-groups` here\n * @slot placeholder - placeholder text for the select. Overrides the `placeholder` attribute.\n * @fires open - when the menu toggles open\n * @fires close - when the menu toggles closed\n * @cssprop [--pf-c-select__toggle--PaddingTop=var(--pf-global--spacer--form-element, 0.375rem)]\n * @cssprop [--pf-c-select__toggle--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle--PaddingBottom=var(--pf-global--spacer--form-element, 0.375rem)]\n * @cssprop [--pf-c-select__toggle--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle--MinWidth=var(--pf-global--target-size--MinWidth, 44px)]\n * @cssprop [--pf-c-select__toggle--FontSize=var(--pf-global--FontSize--md, 1rem)]\n * @cssprop [--pf-c-select__toggle--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__toggle--LineHeight=var(--pf-global--LineHeight--md, 1.5)]\n * @cssprop [--pf-c-select__toggle--BackgroundColor=var(--pf-global--BackgroundColor--100, #fff)]\n * @cssprop [--pf-c-select__toggle--before--BorderTopWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderRightWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderLeftWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderWidth=initial]\n * @cssprop [--pf-c-select__toggle--before--BorderTopColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--before--BorderRightColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--before--BorderBottomColor=var(--pf-global--BorderColor--200, #8a8d90)]\n * @cssprop [--pf-c-select__toggle--before--BorderLeftColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle--hover--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--focus--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--focus--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--active--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--active--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--m-expanded--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--disabled--BackgroundColor=var(--pf-global--disabled-color--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--m-plain--before--BorderColor=transparent]\n * @cssprop [--pf-c-select__toggle--m-placeholder--Color=transparent]\n * @cssprop [--pf-c-select--m-invalid__toggle--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-invalid__toggle--hover--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--focus--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--active--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle-status-icon--Color=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-success__toggle--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-success__toggle--hover--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--focus--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--active--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle-status-icon--Color=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-warning__toggle--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-warning__toggle--hover--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--focus--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--active--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle-status-icon--Color=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select__toggle-wrapper--not-last-child--MarginRight=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-wrapper--MaxWidth=calc(100% - var(--pf-global--spacer--lg, 1.5rem))]\n * @cssprop [--pf-c-select__toggle-wrapper--c-chip-group--MarginTop=0.3125rem]\n * @cssprop [--pf-c-select__toggle-wrapper--c-chip-group--MarginBottom=0.3125rem]\n * @cssprop [--pf-c-select__toggle-typeahead--FlexBasis=10em]\n * @cssprop [--pf-c-select__toggle-typeahead--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderTop=var(--pf-global--BorderWidth--sm, 1px) solid transparent]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderRight=none]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderLeft=none]\n * @cssprop [--pf-c-select__toggle-typeahead--MinWidth=7.5rem]\n * @cssprop [--pf-c-select__toggle-typeahead--focus--PaddingBottom=calc(var(--pf-global--spacer--form-element, 0.375rem) - var(--pf-global--BorderWidth--md))]\n * @cssprop [--pf-c-select__toggle--m-placeholder__toggle-text--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__toggle-icon--toggle-text--MarginLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-badge--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-status-icon--MarginLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-status-icon--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle-arrow--MarginLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__toggle-arrow--MarginRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-arrow--with-clear--MarginLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-arrow--m-top--m-expanded__toggle-arrow--Rotate=180deg]\n * @cssprop [--pf-c-select--m-plain__toggle-arrow--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select--m-plain--hover__toggle-arrow--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle-clear--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-clear--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__toggle-clear--toggle-button--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-button--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #fff)]\n * @cssprop [--pf-c-select__menu--BoxShadow=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 * @cssprop [--pf-c-select__menu--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu--Top=calc(100% + var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-select__menu--ZIndex=var(--pf-global--ZIndex--sm, 200)]\n * @cssprop [--pf-c-select__menu--Width=auto]\n * @cssprop [--pf-c-select__menu--MinWidth=100%]\n * @cssprop [--pf-c-select__menu--m-top--TranslateY=calc(-100% - var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-select__list-item--m-loading--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--m-selected--PaddingRight=var(--pf-global--spacer--2xl, 3rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--FontSize=var(--pf-global--FontSize--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__menu-item--LineHeight=var(--pf-global--LineHeight--md, 1.5)]\n * @cssprop [--pf-c-select__menu-item--Color=var(--pf-global--Color--dark-100, #151515)]\n * @cssprop [--pf-c-select__menu-item--disabled--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--Width=100%]\n * @cssprop [--pf-c-select__menu-item--hover--BackgroundColor=var(--pf-global--BackgroundColor--light-300, #f0f0f0)]\n * @cssprop [--pf-c-select__menu-item--focus--BackgroundColor=var(--pf-global--BackgroundColor--light-300, #f0f0f0)]\n * @cssprop [--pf-c-select__menu-item--disabled--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-link--Width=auto]\n * @cssprop [--pf-c-select__menu-item--m-link--hover--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-link--focus--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-action--hover--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-action--focus--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-action--disabled--Color=var(--pf-global--disabled-color--200, #d2d2d2)]\n * @cssprop [--pf-c-select__menu-item--m-action--Width=auto]\n * @cssprop [--pf-c-select__menu-item--m-action--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]\n * @cssprop [--pf-c-select__menu-item--m-action--hover--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-action--focus--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--hover__menu-item--m-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--hover--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--focus--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--Color=var(--pf-global--palette--gold-400, #f0ab00)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--hover--Color=var(--pf-global--palette--gold-500, #c58c00)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--focus--Color=var(--pf-global--palette--gold-500, #c58c00)]\n * @cssprop [--pf-c-select__menu-item--m-load--Color=var(--pf-global--link--Color, #06c)]\n * @cssprop [--pf-c-select__menu-item-icon--Color=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__menu-item-icon--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]\n * @cssprop [--pf-c-select__menu-item-icon--Right=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item-icon--Top=50%]\n * @cssprop [--pf-c-select__menu-item-icon--TranslateY=-50%]\n * @cssprop [--pf-c-select__menu-item-action-icon--MinHeight=calc(var(--pf-c-select__menu-item--FontSize) * var(--pf-c-select__menu-item--LineHeight))]\n * @cssprop [--pf-c-select__menu-item--match--FontWeight=var(--pf-global--FontWeight--bold, 700)]\n * @cssprop [--pf-c-select__menu-search--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-search--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-search--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-search--PaddingLeft=var(--pf-c-select__menu-item--PaddingLeft)]\n * @cssprop [--pf-c-select__menu-group--menu-group--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingTop=var(--pf-c-select__menu-item--PaddingTop)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingBottom=var(--pf-c-select__menu-item--PaddingBottom)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingLeft=var(--pf-c-select__menu-item--PaddingLeft)]\n * @cssprop [--pf-c-select__menu-group-title--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]\n * @cssprop [--pf-c-select__menu-group-title--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__menu-group-title--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-count--MarginLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item-count--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]\n * @cssprop [--pf-c-select__menu-item-count--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--disabled__menu-item-count--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-description--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]\n * @cssprop [--pf-c-select__menu-item-description--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-description--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-item-main--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-item--m-selected__menu-item-main--PaddingRight=var(--pf-c-select__menu-item--m-selected--PaddingRight)]\n * @cssprop [--pf-c-select__menu-footer--BoxShadow=var(--pf-global--BoxShadow--sm-top, 0 -0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16))]\n * @cssprop [--pf-c-select__menu-footer--PaddingTop=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--MarginTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-footer--MarginBottom=calc(var(--pf-global--spacer--sm, 0.5rem) * -1)]\n * @cssprop [--pf-c-select-menu--c-divider--MarginTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select-menu--c-divider--MarginBottom=var(--pf-global--spacer--sm, 0.5rem)]\n */\n@customElement('pf-select')\nexport class PfSelect extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Variant of rendered Select */\n @property() variant: 'single' | 'checkbox' | 'typeahead' | 'typeaheadmulti' = 'single';\n\n /** Accessible label for the select */\n @property({ attribute: 'accessible-label' }) accessibleLabel?: string;\n\n /** Accessible label for chip group used to describe chips */\n @property({\n attribute: 'accessible-current-selections-label',\n }) accessibleCurrentSelectionsLabel = 'Current selections';\n\n /** Multi listbox button text */\n @property({ attribute: 'items-selected-text' }) itemsSelectedText = 'items selected';\n\n /** Whether the select is disabled */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Whether the select listbox is expanded */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Enable to flip listbox when it reaches boundary\n */\n @property({ attribute: 'enable-flip', type: Boolean }) enableFlip = false;\n\n /** Current form value */\n @property() value?: string;\n\n /** Placeholder entry. Overridden by the `placeholder` slot */\n @property() placeholder?: string;\n\n /**\n * Indicates initial popover position.\n * There are 6 options: `bottom`, `top`, `top-start`, `top-end`, `bottom-start`, `bottom-end`.\n * Default is `bottom`.\n */\n @property({ reflect: true }) position: Placement = 'bottom';\n\n /** Flag indicating if selection badge should be hidden for checkbox variant,default false */\n @property({\n attribute: 'checkbox-selection-badge-hidden',\n type: Boolean,\n }) checkboxSelectionBadgeHidden = false;\n\n @query('pf-chip-group') private _chipGroup?: PfChipGroup;\n\n @query('#toggle-input') private _toggleInput?: HTMLInputElement;\n\n @query('#toggle-button') private _toggleButton?: HTMLButtonElement;\n\n @query('#listbox') private _listbox?: HTMLElement;\n\n @query('#listbox-container') private _listboxContainer?: HTMLElement;\n\n @query('#placeholder') private _placeholder?: PfOption;\n\n #isNotPlaceholderOption = (option: PfOption) => option !== this._placeholder;\n\n #internals = InternalsController.of(this);\n\n #float = new FloatingDOMController(this, { content: () => this._listboxContainer });\n\n #slots = new SlotController(this, null, 'placeholder');\n\n #combobox = ComboboxController.of(this, {\n multi: this.variant === 'typeaheadmulti' || this.variant === 'checkbox',\n getItems: () => this.options,\n getFallbackLabel: () => this.accessibleLabel\n || this.#internals.computedLabelText\n || this.placeholder\n || this.#slots.getSlotted('placeholder').map(x => x.textContent).join(''),\n getListboxElement: () => this._listbox ?? null,\n getToggleButton: () => this._toggleButton ?? null,\n getComboboxInput: () => this._toggleInput ?? null,\n isExpanded: () => this.expanded,\n requestShowListbox: () => void (this.expanded ||= true),\n requestHideListbox: () => void (this.expanded &&= false),\n setItemHidden: (item, hidden) => (item.id !== 'placeholder') && void (item.hidden = hidden),\n isItem: item => item instanceof PfOption,\n setItemActive: (item, active) => item.active = active,\n setItemSelected: (item, selected) => item.selected = selected,\n });\n\n /**\n * Single select option value for single select menus,\n * or array of select option values for multi select.\n */\n @property({ hasChanged: (a, b) => !arraysAreEquivalent(a, b) })\n set selected(selected: PfOption | PfOption[]) {\n const list = Array.isArray(selected) ? selected : [selected];\n this.#combobox.selected = list;\n }\n\n get selected(): PfOption[] {\n return this.#combobox.selected;\n }\n\n /** List of options */\n get options(): PfOption[] {\n if (isServer) {\n return []; // TODO: expose a DOM property to allow setting options in SSR scenarios\n } else {\n return [\n this._placeholder,\n ...Array.from(this.querySelectorAll('pf-option')),\n ].filter((x): x is PfOption => !!x && !x.hidden);\n }\n }\n\n /** Whether select has badge for number of selected items */\n get #hasBadge() {\n // NOTE: revisit this in v5\n return this.variant === 'checkbox' && !this.checkboxSelectionBadgeHidden;\n }\n\n get #buttonLabel(): string {\n const { selected } = this.#combobox;\n switch (this.variant) {\n case 'typeaheadmulti':\n return `${selected?.length ?? 0} ${this.itemsSelectedText}`;\n case 'checkbox':\n return this.#computePlaceholderText()\n || 'Options';\n default:\n return (selected ? this.value : '')\n || this.#computePlaceholderText()\n || 'Select a value';\n }\n }\n\n override render(): TemplateResult<1> {\n const { disabled, expanded, variant, placeholder } = this;\n const { anchor = 'bottom', alignment = 'start', styles = {} } = this.#float;\n const { height, width } = this.getBoundingClientRect?.() || {};\n const hasBadge = this.#hasBadge;\n const selectedOptions = this.#combobox.selected ?? [];\n const typeahead = variant.startsWith('typeahead');\n const checkboxes = variant === 'checkbox';\n const badge = hasBadge && 'badge';\n const hasSelection = !!(Array.isArray(this.selected) ? this.selected.length : this.selected);\n const hideLightDomItems = typeahead && !ComboboxController.supportsCrossRootActiveDescendant;\n const placeholderIsInert = !placeholder && this.#slots.isEmpty('placeholder');\n\n return html`\n <div id=\"outer\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ disabled, typeahead, expanded, [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <div id=\"toggle\">\n ${!(typeahead && selectedOptions.length < 1) ? '' : html`\n <pf-chip-group label=\"${this.accessibleCurrentSelectionsLabel}\">\n ${repeat(selectedOptions, opt => opt.id, opt => html`\n <pf-chip id=\"chip-${opt.textContent}\"\n .readonly=\"${this.disabled}\"\n @remove=\"${this.#onChipRemove.bind(this, opt)}\">${opt.textContent}</pf-chip>`)}\n </pf-chip-group>`}\n ${!typeahead ? '' : html`\n <input id=\"toggle-input\"\n ?hidden=\"${!typeahead}\"\n ?disabled=\"${disabled}\"\n placeholder=\"${placeholder || this.#buttonLabel}\">`}\n <button id=\"toggle-button\">\n <span id=\"button-text\" style=\"display: contents;\">\n <span id=\"toggle-text\"\n class=\"${classMap({ 'visually-hidden': !!typeahead, badge })}\">${this.#buttonLabel}</span>${!hasBadge ? '' : html`\n <span id=\"toggle-badge\">\n <pf-badge number=\"${selectedOptions.length}\">${selectedOptions.length}</pf-badge>\n </span>`}\n </span>\n <svg viewBox=\"0 0 320 512\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path>\n </svg>\n </button>\n </div>\n <div id=\"listbox-container\"\n ?hidden=\"${!expanded}\"\n style=\"${styleMap({\n marginTop: `${height || 0}px`,\n width: width ? `${width}px` : 'auto',\n })}\">\n <div id=\"listbox\" class=\"${classMap({ checkboxes })}\">\n <pf-option id=\"placeholder\"\n disabled\n ?inert=\"${placeholderIsInert}\"\n aria-hidden=\"${ifDefined(placeholderIsInert ? undefined : String(!!hasSelection))}\"\n ?hidden=\"${!placeholder && this.#slots.isEmpty('placeholder')}\"\n ><slot name=\"placeholder\">${placeholder ?? ''}</slot></pf-option>\n ${this.#combobox.renderItemsToShadowRoot()}\n <slot ?hidden=\"${hideLightDomItems}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n @observes('disabled')\n private disabledChanged() {\n this.#combobox.disabled = this.disabled;\n }\n\n @observes('expanded')\n private async expandedChanged(old: boolean, expanded: boolean) {\n if (this.dispatchEvent(new Event(this.expanded ? 'close' : 'open'))) {\n if (expanded) {\n this.#doExpand();\n } else {\n this.#doCollapse();\n }\n }\n }\n\n @observes('selected')\n private async selectedChanged(_: PfOption[], selected: PfOption[]) {\n this.value = selected.map(x => x.value).join();\n await this.updateComplete;\n switch (this.variant) {\n case 'single':\n this.hide();\n this._toggleButton?.focus();\n break;\n case 'typeahead':\n this._toggleInput!.value = this.value;\n }\n }\n\n @observes('variant')\n private async variantChanged() {\n this.#combobox.hostDisconnected();\n this.#combobox.multi = this.variant === 'typeaheadmulti' || this.variant === 'checkbox';\n this.#combobox.hostConnected();\n if (this.variant === 'checkbox') {\n import('@patternfly/elements/pf-badge/pf-badge.js');\n }\n }\n\n @observes('value')\n private valueChanged() {\n this.#internals.setFormValue(this.value ?? '');\n this.dispatchEvent(new PfSelectChangeEvent());\n }\n\n @observes('variant')\n @observes('value')\n private focusChips(): void {\n // whether select has removable chips for selected items\n // NOTE: revisit this in v5\n // reset input if chip has been added\n const hasChips = this.variant === 'typeaheadmulti';\n if (hasChips && this._toggleInput?.value) {\n const chip =\n this.shadowRoot?.querySelector(`pf-chip#chip-${this._toggleInput?.value}`) as PfChip;\n if (chip && this._chipGroup) {\n this._chipGroup.focusOnChip(chip);\n this._toggleInput.value = '';\n }\n }\n }\n\n async #doExpand() {\n try {\n await this.#float.show({ placement: this.position || 'bottom', flip: !!this.enableFlip });\n return true;\n } catch {\n return false;\n }\n }\n\n async #doCollapse() {\n try {\n await this.#float.hide();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * handles chip's remove button clicking\n * @param event remove event\n * @param opt pf-option\n */\n #onChipRemove(opt: PfOption, event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n opt.selected = false;\n this._toggleInput?.focus();\n }\n }\n\n #computePlaceholderText() {\n return this.placeholder\n || this.querySelector?.<HTMLSlotElement>('[slot=placeholder]')\n ?.assignedNodes()\n ?.reduce((acc, node) => `${acc}${node.textContent}`, '')\n ?.trim()\n || this.#combobox.items\n .filter(this.#isNotPlaceholderOption)\n .at(0)\n ?.value\n || '';\n }\n\n /**\n * Opens the dropdown\n */\n async show(): Promise<void> {\n this.expanded = true;\n await this.updateComplete;\n }\n\n /**\n * Closes listbox\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n /**\n * toggles popup based on current state\n */\n async toggle(): Promise<void> {\n if (this.expanded) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-select': PfSelect;\n }\n}\n\n"]}
1
+ {"version":3,"file":"pf-select.js","sourceRoot":"","sources":["pf-select.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PfChipGroup } from '../pf-chip/pf-chip-group.js';\nimport type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport type { TemplateResult } from 'lit';\n\nimport { LitElement, html, isServer, nothing } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ComboboxController } from '@patternfly/pfe-core/controllers/combobox-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\n\nimport { arraysAreEquivalent } from '@patternfly/pfe-core/functions/arraysAreEquivalent.js';\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\nimport { PfOption } from './pf-option.js';\nimport { type PfChip, PfChipRemoveEvent } from '../pf-chip/pf-chip.js';\n\nimport styles from './pf-select.css';\n\nexport class PfSelectChangeEvent extends Event {\n constructor() {\n super('change', { bubbles: true });\n }\n}\n\n/**\n * A select list enables users to select one or more items from a list.\n *\n * A select component consists of a toggle control to open and close a menu of actions or links.\n * Selects differ from dropdowns in that they persist selection,\n * whereas dropdowns are typically used to present a list of actions or links.\n * @alias Select\n * @fires open - when the menu toggles open\n * @fires close - when the menu toggles closed\n */\n@customElement('pf-select')\nexport class PfSelect extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Variant of rendered Select */\n @property() variant: 'single' | 'checkbox' | 'typeahead' | 'typeaheadmulti' = 'single';\n\n /** Accessible label for the select */\n @property({ attribute: 'accessible-label' }) accessibleLabel?: string;\n\n /** Accessible label for chip group used to describe chips */\n @property({\n attribute: 'accessible-current-selections-label',\n }) accessibleCurrentSelectionsLabel = 'Current selections';\n\n /** Multi listbox button text */\n @property({ attribute: 'items-selected-text' }) itemsSelectedText = 'items selected';\n\n /** Whether the select is disabled */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Whether the select listbox is expanded */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Enable to flip listbox when it reaches boundary\n */\n @property({ attribute: 'enable-flip', type: Boolean }) enableFlip = false;\n\n /** Current form value */\n @property() value?: string;\n\n /** Placeholder entry. Overridden by the `placeholder` slot */\n @property() placeholder?: string;\n\n /**\n * Indicates initial popover position.\n * There are 6 options: `bottom`, `top`, `top-start`, `top-end`, `bottom-start`, `bottom-end`.\n * Default is `bottom`.\n */\n @property({ reflect: true }) position: Placement = 'bottom';\n\n /** Flag indicating if selection badge should be hidden for checkbox variant,default false */\n @property({\n attribute: 'checkbox-selection-badge-hidden',\n type: Boolean,\n }) checkboxSelectionBadgeHidden = false;\n\n @query('pf-chip-group') private _chipGroup?: PfChipGroup;\n\n @query('#toggle-input') private _toggleInput?: HTMLInputElement;\n\n @query('#toggle-button') private _toggleButton?: HTMLButtonElement;\n\n @query('#listbox') private _listbox?: HTMLElement;\n\n @query('#listbox-container') private _listboxContainer?: HTMLElement;\n\n @query('#placeholder') private _placeholder?: PfOption;\n\n #isNotPlaceholderOption = (option: PfOption) => option !== this._placeholder;\n\n #internals = InternalsController.of(this);\n\n #float = new FloatingDOMController(this, { content: () => this._listboxContainer });\n\n #slots = new SlotController(this, null, 'placeholder');\n\n #combobox = ComboboxController.of(this, {\n multi: this.variant === 'typeaheadmulti' || this.variant === 'checkbox',\n getItems: () => this.options,\n getFallbackLabel: () => this.accessibleLabel\n || this.#internals.computedLabelText\n || this.placeholder\n || this.#slots.getSlotted('placeholder').map(x => x.textContent).join(''),\n getListboxElement: () => this._listbox ?? null,\n getToggleButton: () => this._toggleButton ?? null,\n getComboboxInput: () => this._toggleInput ?? null,\n isExpanded: () => this.expanded,\n requestShowListbox: () => void (this.expanded ||= true),\n requestHideListbox: () => void (this.expanded &&= false),\n setItemHidden: (item, hidden) => (item.id !== 'placeholder') && void (item.hidden = hidden),\n isItem: item => item instanceof PfOption,\n setItemActive: (item, active) => item.active = active,\n setItemSelected: (item, selected) => item.selected = selected,\n });\n\n /**\n * Single select option value for single select menus,\n * or array of select option values for multi select.\n */\n @property({ hasChanged: (a, b) => !arraysAreEquivalent(a, b) })\n set selected(selected: PfOption | PfOption[]) {\n const list = Array.isArray(selected) ? selected : [selected];\n this.#combobox.selected = list;\n }\n\n get selected(): PfOption[] {\n return this.#combobox.selected;\n }\n\n /** List of options */\n get options(): PfOption[] {\n if (isServer) {\n return []; // TODO: expose a DOM property to allow setting options in SSR scenarios\n } else {\n return [\n this._placeholder,\n ...Array.from(this.querySelectorAll('pf-option')),\n ].filter((x): x is PfOption => !!x && !x.hidden);\n }\n }\n\n /** Whether select has badge for number of selected items */\n get #hasBadge() {\n // NOTE: revisit this in v5\n return this.variant === 'checkbox' && !this.checkboxSelectionBadgeHidden;\n }\n\n get #buttonLabel(): string {\n const { selected } = this.#combobox;\n switch (this.variant) {\n case 'typeaheadmulti':\n return `${selected?.length ?? 0} ${this.itemsSelectedText}`;\n case 'checkbox':\n return this.#computePlaceholderText()\n || 'Options';\n default:\n return (selected ? this.value : '')\n || this.#computePlaceholderText()\n || 'Select a value';\n }\n }\n\n override render(): TemplateResult<1> {\n const { disabled, expanded, variant, placeholder } = this;\n const { anchor = 'bottom', alignment = 'start', styles = {} } = this.#float;\n const { height, width } = this.getBoundingClientRect?.() || {};\n const hasBadge = this.#hasBadge;\n const selectedOptions = this.#combobox.selected ?? [];\n const typeahead = variant.startsWith('typeahead');\n const checkboxes = variant === 'checkbox';\n const badge = hasBadge && 'badge';\n const hasSelection = !!(Array.isArray(this.selected) ? this.selected.length : this.selected);\n const hideLightDomItems = typeahead && !ComboboxController.supportsCrossRootActiveDescendant;\n const placeholderIsInert = !placeholder && this.#slots.isEmpty('placeholder');\n\n return html`\n <div id=\"outer\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ disabled, typeahead, expanded, [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <div id=\"toggle\">\n ${!(typeahead && selectedOptions.length < 1) ? '' : html`\n <pf-chip-group label=\"${this.accessibleCurrentSelectionsLabel}\">\n ${repeat(selectedOptions, opt => opt.id, opt => html`\n <pf-chip id=\"chip-${opt.textContent}\"\n .readonly=\"${this.disabled}\"\n @remove=\"${this.#onChipRemove.bind(this, opt)}\">${opt.textContent}</pf-chip>`)}\n </pf-chip-group>`}\n ${!typeahead ? '' : html`\n <input id=\"toggle-input\"\n ?hidden=\"${!typeahead}\"\n ?disabled=\"${disabled}\"\n placeholder=\"${placeholder || this.#buttonLabel}\">`}\n <button tabindex=${typeahead ? '-1' : nothing} id=\"toggle-button\">\n <span id=\"button-text\" style=\"display: contents;\">\n <span id=\"toggle-text\"\n class=\"${classMap({ 'visually-hidden': !!typeahead, badge })}\">${this.#buttonLabel}</span>${!hasBadge ? '' : html`\n <span id=\"toggle-badge\">\n <pf-badge number=\"${selectedOptions.length}\">${selectedOptions.length}</pf-badge>\n </span>`}\n </span>\n <svg viewBox=\"0 0 320 512\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path>\n </svg>\n </button>\n </div>\n <div id=\"listbox-container\"\n ?hidden=\"${!expanded}\"\n style=\"${styleMap({\n marginTop: `${height || 0}px`,\n width: width ? `${width}px` : 'auto',\n })}\">\n <div id=\"listbox\" class=\"${classMap({ checkboxes })}\">\n <pf-option id=\"placeholder\"\n disabled\n ?inert=\"${placeholderIsInert}\"\n aria-hidden=\"${ifDefined(placeholderIsInert ? undefined : String(!!hasSelection))}\"\n ?hidden=\"${!placeholder && this.#slots.isEmpty('placeholder')}\"\n ><!-- placeholder text for the select. Overrides the \\`placeholder\\` attribute. --><slot name=\"placeholder\">${placeholder ?? ''}</slot></pf-option>\n ${this.#combobox.renderItemsToShadowRoot()}\n <!-- insert \\`pf-option\\` and/or \\`pf-option-groups\\` here -->\n <slot ?hidden=\"${hideLightDomItems}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n @observes('disabled')\n private disabledChanged() {\n this.#combobox.disabled = this.disabled;\n }\n\n @observes('expanded')\n private async expandedChanged(old: boolean, expanded: boolean) {\n if (this.dispatchEvent(new Event(this.expanded ? 'close' : 'open'))) {\n if (expanded) {\n this.#doExpand();\n } else {\n this.#doCollapse();\n }\n }\n }\n\n @observes('selected')\n private async selectedChanged(_: PfOption[], selected: PfOption[]) {\n this.value = selected.map(x => x.value).join();\n await this.updateComplete;\n switch (this.variant) {\n case 'single':\n this.hide();\n this._toggleButton?.focus();\n break;\n case 'typeahead':\n this._toggleInput!.value = this.value;\n }\n }\n\n @observes('variant')\n private async variantChanged() {\n this.#combobox.hostDisconnected();\n this.#combobox.multi = this.variant === 'typeaheadmulti' || this.variant === 'checkbox';\n this.#combobox.hostConnected();\n if (this.variant === 'checkbox') {\n import('@patternfly/elements/pf-badge/pf-badge.js');\n }\n }\n\n @observes('value')\n private valueChanged() {\n this.#internals.setFormValue(this.value ?? '');\n this.dispatchEvent(new PfSelectChangeEvent());\n }\n\n @observes('variant')\n @observes('value')\n private focusChips(): void {\n // whether select has removable chips for selected items\n // NOTE: revisit this in v5\n // reset input if chip has been added\n const hasChips = this.variant === 'typeaheadmulti';\n if (hasChips && this._toggleInput?.value) {\n const chip =\n this.shadowRoot?.querySelector(`pf-chip#chip-${this._toggleInput?.value}`) as PfChip;\n if (chip && this._chipGroup) {\n this._chipGroup.focusOnChip(chip);\n this._toggleInput.value = '';\n }\n }\n }\n\n async #doExpand() {\n try {\n await this.#float.show({ placement: this.position || 'bottom', flip: !!this.enableFlip });\n return true;\n } catch {\n return false;\n }\n }\n\n async #doCollapse() {\n try {\n await this.#float.hide();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * handles chip's remove button clicking\n * @param event remove event\n * @param opt pf-option\n */\n #onChipRemove(opt: PfOption, event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n opt.selected = false;\n this._toggleInput?.focus();\n }\n }\n\n #computePlaceholderText() {\n return this.placeholder\n || this.querySelector?.<HTMLSlotElement>('[slot=placeholder]')\n ?.assignedNodes()\n ?.reduce((acc, node) => `${acc}${node.textContent}`, '')\n ?.trim()\n || this.#combobox.items\n .filter(this.#isNotPlaceholderOption)\n .at(0)\n ?.value\n || '';\n }\n\n /**\n * Opens the dropdown\n */\n async show(): Promise<void> {\n this.expanded = true;\n await this.updateComplete;\n }\n\n /**\n * Closes listbox\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n /**\n * toggles popup based on current state\n */\n async toggle(): Promise<void> {\n if (this.expanded) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-select': PfSelect;\n }\n}\n\n"]}
@@ -11,15 +11,20 @@
11
11
 
12
12
  svg {
13
13
  overflow: hidden;
14
+ /** Width for spinner */
14
15
  width: var(--pf-c-spinner--Width,
16
+ /** Diameter for spinner */
15
17
  var(--pf-c-spinner--diameter,
16
18
  var(--pf-global--icon--FontSize--xl, 3.375rem)));
19
+ /** Height for spinner */
17
20
  height: var(--pf-c-spinner--Height,
18
21
  var(--pf-c-spinner--diameter,
19
22
  var(--pf-global--icon--FontSize--xl, 3.375rem)));
20
23
  animation:
21
24
  pf-c-spinner-animation-rotate
25
+ /** Animation duration for spinner */
22
26
  calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)
27
+ /** Animation timing function for spinner */
23
28
  var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;
24
29
  }
25
30
 
@@ -30,30 +35,37 @@ circle {
30
35
  stroke-linecap: round;
31
36
  stroke-dasharray: 283;
32
37
  stroke-dashoffset: 280;
38
+ /** Color for spinner */
33
39
  stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));
40
+ /** Stroke width for spinner */
34
41
  stroke-width: var(--pf-c-spinner--stroke-width, 10);
35
42
  animation:
36
43
  pf-c-spinner-animation-dash
37
44
  var(--pf-c-spinner--AnimationDuration, 1.4s)
45
+ /** Path animation timing function for spinner */
38
46
  var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;
39
47
  }
40
48
 
41
49
  :host([size="sm"]) svg {
50
+ /** Diameter for small spinner */
42
51
  --pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,
43
52
  var(--pf-global--icon--FontSize--sm, 0.625rem));
44
53
  }
45
54
 
46
55
  :host([size="md"]) svg {
56
+ /** Diameter for medium spinner */
47
57
  --pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,
48
58
  var(--pf-global--icon--FontSize--md, 1.125rem));
49
59
  }
50
60
 
51
61
  :host([size="lg"]) svg {
62
+ /** Diameter for large spinner */
52
63
  --pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,
53
64
  var(--pf-global--icon--FontSize--lg, 1.5rem));
54
65
  }
55
66
 
56
67
  :host([size="xl"]) svg {
68
+ /** Diameter for extra large spinner */
57
69
  --pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,
58
70
  var(--pf-global--icon--FontSize--xl, 3.375rem));
59
71
  }
@@ -73,6 +85,7 @@ circle {
73
85
  transform: rotate(0);
74
86
  }
75
87
  15% {
88
+ /** Path stroke width for spinner */
76
89
  stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);
77
90
  }
78
91
  40% {
@@ -2,20 +2,7 @@ import { LitElement, type TemplateResult } from 'lit';
2
2
  /**
3
3
  * A **spinner** is used to indicate to users that an action is in progress. For actions
4
4
  * that may take a long time, use a progress bar instead.
5
- * @cssprop {<length>} [--pf-c-spinner--diameter=3.375rem]
6
- * @cssprop {<length>} [--pf-c-spinner--Width=3.375rem]
7
- * @cssprop {<length>} [--pf-c-spinner--Height=3.375rem]
8
- * @cssprop {<color>} [--pf-c-spinner--Color=#06c]
9
- * @cssprop {<length>} [--pf-c-spinner--m-sm--diameter=0.625rem]
10
- * @cssprop {<length>} [--pf-c-spinner--m-md--diameter=1.125rem]
11
- * @cssprop {<length>} [--pf-c-spinner--m-lg--diameter=1.5rem]
12
- * @cssprop {<length>} [--pf-c-spinner--m-xl--diameter=3.375rem]
13
- * @cssprop {<time>} [--pf-c-spinner--AnimationDuration=1.4s]
14
- * @cssprop {<string>} [--pf-c-spinner--AnimationTimingFunction=linear]
15
- * @cssprop {<number>} [--pf-c-spinner--stroke-width=10]
16
- * @cssprop {<color>} [--pf-c-spinner__path--Stroke=#06c]
17
- * @cssprop {<number>} [--pf-c-spinner__path--StrokeWidth=10]
18
- * @cssprop {<string>} [--pf-c-spinner__path--AnimationTimingFunction=ease-in-out]
5
+ * @alias Spinner
19
6
  */
20
7
  export declare class PfSpinner extends LitElement {
21
8
  #private;
@@ -6,7 +6,106 @@ import { styleMap } from 'lit/directives/style-map.js';
6
6
  import { property } from 'lit/decorators/property.js';
7
7
  import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
8
8
  import { css } from "lit";
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`;
9
+ const styles = css `:host {
10
+ display: inline-block;
11
+ width: min-content;
12
+ min-height: 0;
13
+ aspect-ratio: 1 / 1;
14
+ }
15
+
16
+ [hidden] {
17
+ display: none !important;
18
+ }
19
+
20
+ svg {
21
+ overflow: hidden;
22
+ /** Width for spinner */
23
+ width: var(--pf-c-spinner--Width,
24
+ /** Diameter for spinner */
25
+ var(--pf-c-spinner--diameter,
26
+ var(--pf-global--icon--FontSize--xl, 3.375rem)));
27
+ /** Height for spinner */
28
+ height: var(--pf-c-spinner--Height,
29
+ var(--pf-c-spinner--diameter,
30
+ var(--pf-global--icon--FontSize--xl, 3.375rem)));
31
+ animation:
32
+ pf-c-spinner-animation-rotate
33
+ /** Animation duration for spinner */
34
+ calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)
35
+ /** Animation timing function for spinner */
36
+ var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;
37
+ }
38
+
39
+ circle {
40
+ width: 100%;
41
+ height: 100%;
42
+ transform-origin: 50% 50%;
43
+ stroke-linecap: round;
44
+ stroke-dasharray: 283;
45
+ stroke-dashoffset: 280;
46
+ /** Color for spinner */
47
+ stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));
48
+ /** Stroke width for spinner */
49
+ stroke-width: var(--pf-c-spinner--stroke-width, 10);
50
+ animation:
51
+ pf-c-spinner-animation-dash
52
+ var(--pf-c-spinner--AnimationDuration, 1.4s)
53
+ /** Path animation timing function for spinner */
54
+ var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;
55
+ }
56
+
57
+ :host([size="sm"]) svg {
58
+ /** Diameter for small spinner */
59
+ --pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,
60
+ var(--pf-global--icon--FontSize--sm, 0.625rem));
61
+ }
62
+
63
+ :host([size="md"]) svg {
64
+ /** Diameter for medium spinner */
65
+ --pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,
66
+ var(--pf-global--icon--FontSize--md, 1.125rem));
67
+ }
68
+
69
+ :host([size="lg"]) svg {
70
+ /** Diameter for large spinner */
71
+ --pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,
72
+ var(--pf-global--icon--FontSize--lg, 1.5rem));
73
+ }
74
+
75
+ :host([size="xl"]) svg {
76
+ /** Diameter for extra large spinner */
77
+ --pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,
78
+ var(--pf-global--icon--FontSize--xl, 3.375rem));
79
+ }
80
+
81
+ @keyframes pf-c-spinner-animation-rotate {
82
+ 0% {
83
+ transform: rotate(0deg);
84
+ }
85
+ 100% {
86
+ transform: rotate(360deg);
87
+ }
88
+ }
89
+
90
+ @keyframes pf-c-spinner-animation-dash {
91
+ 0% {
92
+ stroke-dashoffset: 280;
93
+ transform: rotate(0);
94
+ }
95
+ 15% {
96
+ /** Path stroke width for spinner */
97
+ stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);
98
+ }
99
+ 40% {
100
+ stroke-dashoffset: 150;
101
+ stroke-dasharray: 220;
102
+ }
103
+ 100% {
104
+ stroke-dashoffset: 280;
105
+ transform: rotate(720deg);
106
+ }
107
+ }
108
+ `;
10
109
  let PfSpinner = class PfSpinner extends LitElement {
11
110
  constructor() {
12
111
  super(...arguments);
@@ -26,7 +125,7 @@ let PfSpinner = class PfSpinner extends LitElement {
26
125
  };
27
126
  _PfSpinner_internals = new WeakMap();
28
127
  PfSpinner.styles = [styles];
29
- PfSpinner.version = "4.1.0";
128
+ PfSpinner.version = "4.2.0";
30
129
  __decorate([
31
130
  property({ reflect: true })
32
131
  ], PfSpinner.prototype, "size", void 0);
@@ -1 +1 @@
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
+ {"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWxF,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 * @alias Spinner\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"]}
@@ -12,21 +12,26 @@ svg {
12
12
  }
13
13
 
14
14
  :host([checked]) #container {
15
+ /** Color of the label when switch is checked */
15
16
  color: var(--pf-c-switch__input--checked__label--Color,
16
17
  var(--pf-global--Color--dark-100, #151515));
18
+ /** Background color of the toggle when switch is checked */
17
19
  background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,
18
20
  var(--pf-global--primary-color--100, #06c));
19
21
  }
20
22
 
21
23
  :host([checked]) #container::before {
24
+ /** Translation of the toggle knob when checked */
22
25
  translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,
23
26
  calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
24
27
  }
25
28
 
26
29
  :host(:is(:focus,:focus-within)) #container {
30
+ /** Focus outline width */
27
31
  outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,
28
32
  var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,
29
33
  var(--pf-global--primary-color--100, #06c));
34
+ /** Focus outline offset */
30
35
  outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,
31
36
  var(--pf-global--spacer--sm, 0.5rem));
32
37
  }
@@ -39,13 +44,16 @@ svg {
39
44
  :host(:disabled) #container {
40
45
  cursor: not-allowed;
41
46
 
47
+ /** Color of the label when switch is disabled */
42
48
  color: var(--pf-c-switch__input--disabled__label--Color,
43
49
  var(--pf-global--disabled-color--100, #6a6e73));
50
+ /** Background color when switch is disabled */
44
51
  background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,
45
52
  var(--pf-global--disabled-color--200, #d2d2d2));
46
53
  }
47
54
 
48
55
  :host(:disabled) #container::before {
56
+ /** Background color of the toggle knob when disabled */
49
57
  background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,
50
58
  var(--pf-global--palette--black-150, #f5f5f5));
51
59
  }
@@ -63,6 +71,7 @@ svg {
63
71
  position: relative;
64
72
  display: inline-flex;
65
73
  align-items: center;
74
+ /** Width of the toggle */
66
75
  width: var(--pf-c-switch__toggle--Width,
67
76
  calc(var(--pf-c-switch__toggle--Height,
68
77
  calc(var(--pf-c-switch--FontSize,
@@ -74,8 +83,10 @@ svg {
74
83
  calc(var(--pf-c-switch--FontSize,
75
84
  var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
76
85
  var(--pf-global--LineHeight--md, 1.5))));
86
+ /** Background color of the toggle */
77
87
  background-color: var(--pf-c-switch__toggle--BackgroundColor,
78
88
  var(--pf-global--palette--black-500, #8a8d90));
89
+ /** Border radius of the toggle */
79
90
  border-radius: var(--pf-c-switch__toggle--BorderRadius,
80
91
  var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,
81
92
  var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
@@ -86,6 +97,7 @@ svg {
86
97
  position: absolute;
87
98
  display: block;
88
99
  content: "";
100
+ /** Top position of the toggle knob */
89
101
  top: var(--pf-c-switch__toggle--before--Top,
90
102
  calc((var(--pf-c-switch__toggle--Height,
91
103
  calc(var(--pf-c-switch--FontSize,
@@ -94,6 +106,7 @@ svg {
94
106
  var(--pf-c-switch__toggle--before--Width,
95
107
  calc(var(--pf-c-switch--FontSize,
96
108
  var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));
109
+ /** Left position of the toggle knob */
97
110
  left: var(--pf-c-switch__toggle--before--Left,
98
111
  var(--pf-c-switch__toggle--before--Top,
99
112
  calc((var(--pf-c-switch__toggle--Height,
@@ -103,30 +116,39 @@ svg {
103
116
  var(--pf-c-switch__toggle--before--Width,
104
117
  calc(var(--pf-c-switch--FontSize,
105
118
  var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));
119
+ /** Width of the toggle knob */
106
120
  width: var(--pf-c-switch__toggle--before--Width,
107
121
  calc(var(--pf-c-switch--FontSize,
108
122
  var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
123
+ /** Height of the toggle knob */
109
124
  height: var(--pf-c-switch__toggle--before--Height,
110
125
  var(--pf-c-switch__toggle--before--Width,
111
126
  calc(var(--pf-c-switch--FontSize,
112
127
  var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));
128
+ /** Background color of the toggle knob */
113
129
  background-color: var(--pf-c-switch__toggle--before--backgroundcolor,
114
130
  var(--pf-global--backgroundcolor--100, #fff));
131
+ /** Border radius of the toggle knob */
115
132
  border-radius: var(--pf-c-switch__toggle--before--BorderRadius,
116
133
  var(--pf-global--BorderRadius--lg, 30em));
134
+ /** Box shadow of the toggle knob */
117
135
  box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,
118
136
  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)));
137
+ /** Transition of the toggle knob */
119
138
  transition: var(--pf-c-switch__toggle--before--Transition,
120
139
  var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));
121
140
  }
122
141
 
123
142
  svg {
143
+ /** Horizontal margin of the toggle icon */
124
144
  margin-inline: var(--pf-c-switch__toggle-icon--Left,
125
145
  calc(var(--pf-c-switch--FontSize,
126
146
  var(--pf-global--FontSize--md, 1rem)) * .4));
147
+ /** Font size of the toggle icon */
127
148
  font-size: var(--pf-c-switch__toggle-icon--FontSize,
128
149
  calc(var(--pf-c-switch--FontSize,
129
150
  var(--pf-global--FontSize--md, 1rem)) * .625));
151
+ /** Color of the toggle icon */
130
152
  color: var(--pf-c-switch__toggle-icon--Color,
131
153
  var(--pf-global--Color--light-100, #fff));
132
154
  }
@@ -3,37 +3,8 @@ import { LitElement, type TemplateResult } from 'lit';
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
+ * @alias Switch
6
7
  * @fires {Event} change - Fires when the switch selection changes.
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))]
37
8
  */
38
9
  export declare class PfSwitch extends LitElement {
39
10
  #private;