@adobe/spectrum-wc-core 0.0.0-snapshot.20260922095923

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 (335) hide show
  1. package/README.md +39 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.124.0/helpers/decorate.js +9 -0
  3. package/dist/components/accordion/Accordion.base.d.ts +59 -0
  4. package/dist/components/accordion/Accordion.base.js +69 -0
  5. package/dist/components/accordion/Accordion.base.js.map +1 -0
  6. package/dist/components/accordion/Accordion.types.d.ts +22 -0
  7. package/dist/components/accordion/Accordion.types.js +21 -0
  8. package/dist/components/accordion/Accordion.types.js.map +1 -0
  9. package/dist/components/accordion/AccordionItem.base.d.ts +96 -0
  10. package/dist/components/accordion/AccordionItem.base.js +93 -0
  11. package/dist/components/accordion/AccordionItem.base.js.map +1 -0
  12. package/dist/components/accordion/index.d.ts +14 -0
  13. package/dist/components/accordion/index.js +4 -0
  14. package/dist/components/action-button/ActionButton.types.d.ts +15 -0
  15. package/dist/components/action-button/ActionButton.types.js +12 -0
  16. package/dist/components/action-button/ActionButton.types.js.map +1 -0
  17. package/dist/components/action-button/index.d.ts +12 -0
  18. package/dist/components/action-button/index.js +2 -0
  19. package/dist/components/action-group/ActionGroup.base.d.ts +108 -0
  20. package/dist/components/action-group/ActionGroup.base.js +53 -0
  21. package/dist/components/action-group/ActionGroup.base.js.map +1 -0
  22. package/dist/components/action-group/ActionGroup.types.d.ts +17 -0
  23. package/dist/components/action-group/ActionGroup.types.js +12 -0
  24. package/dist/components/action-group/ActionGroup.types.js.map +1 -0
  25. package/dist/components/action-group/index.d.ts +13 -0
  26. package/dist/components/action-group/index.js +3 -0
  27. package/dist/components/alert-banner/AlertBanner.base.d.ts +36 -0
  28. package/dist/components/alert-banner/AlertBanner.base.js +57 -0
  29. package/dist/components/alert-banner/AlertBanner.base.js.map +1 -0
  30. package/dist/components/alert-banner/AlertBanner.types.d.ts +13 -0
  31. package/dist/components/alert-banner/AlertBanner.types.js +10 -0
  32. package/dist/components/alert-banner/AlertBanner.types.js.map +1 -0
  33. package/dist/components/alert-banner/index.d.ts +13 -0
  34. package/dist/components/alert-banner/index.js +3 -0
  35. package/dist/components/asset/Asset.base.d.ts +101 -0
  36. package/dist/components/asset/Asset.base.js +130 -0
  37. package/dist/components/asset/Asset.base.js.map +1 -0
  38. package/dist/components/asset/Asset.types.d.ts +31 -0
  39. package/dist/components/asset/Asset.types.js +14 -0
  40. package/dist/components/asset/Asset.types.js.map +1 -0
  41. package/dist/components/asset/index.d.ts +13 -0
  42. package/dist/components/asset/index.js +3 -0
  43. package/dist/components/avatar/Avatar.base.d.ts +53 -0
  44. package/dist/components/avatar/Avatar.base.js +52 -0
  45. package/dist/components/avatar/Avatar.base.js.map +1 -0
  46. package/dist/components/avatar/Avatar.types.d.ts +19 -0
  47. package/dist/components/avatar/Avatar.types.js +24 -0
  48. package/dist/components/avatar/Avatar.types.js.map +1 -0
  49. package/dist/components/avatar/index.d.ts +13 -0
  50. package/dist/components/avatar/index.js +3 -0
  51. package/dist/components/badge/Badge.base.d.ts +114 -0
  52. package/dist/components/badge/Badge.base.js +49 -0
  53. package/dist/components/badge/Badge.base.js.map +1 -0
  54. package/dist/components/badge/Badge.types.d.ts +21 -0
  55. package/dist/components/badge/Badge.types.js +43 -0
  56. package/dist/components/badge/Badge.types.js.map +1 -0
  57. package/dist/components/badge/index.d.ts +13 -0
  58. package/dist/components/badge/index.js +3 -0
  59. package/dist/components/button/Button.base.d.ts +78 -0
  60. package/dist/components/button/Button.base.js +51 -0
  61. package/dist/components/button/Button.base.js.map +1 -0
  62. package/dist/components/button/Button.types.d.ts +19 -0
  63. package/dist/components/button/Button.types.js +16 -0
  64. package/dist/components/button/Button.types.js.map +1 -0
  65. package/dist/components/button/index.d.ts +13 -0
  66. package/dist/components/button/index.js +3 -0
  67. package/dist/components/button-group/ButtonGroup.base.d.ts +89 -0
  68. package/dist/components/button-group/ButtonGroup.base.js +60 -0
  69. package/dist/components/button-group/ButtonGroup.base.js.map +1 -0
  70. package/dist/components/button-group/ButtonGroup.types.d.ts +17 -0
  71. package/dist/components/button-group/ButtonGroup.types.js +15 -0
  72. package/dist/components/button-group/ButtonGroup.types.js.map +1 -0
  73. package/dist/components/button-group/index.d.ts +13 -0
  74. package/dist/components/button-group/index.js +3 -0
  75. package/dist/components/card/Card.base.d.ts +172 -0
  76. package/dist/components/card/Card.base.js +123 -0
  77. package/dist/components/card/Card.base.js.map +1 -0
  78. package/dist/components/card/Card.types.d.ts +18 -0
  79. package/dist/components/card/Card.types.js +21 -0
  80. package/dist/components/card/Card.types.js.map +1 -0
  81. package/dist/components/card/index.d.ts +13 -0
  82. package/dist/components/card/index.js +3 -0
  83. package/dist/components/color-handle/ColorHandle.base.d.ts +51 -0
  84. package/dist/components/color-handle/ColorHandle.base.js +39 -0
  85. package/dist/components/color-handle/ColorHandle.base.js.map +1 -0
  86. package/dist/components/color-handle/ColorHandle.types.d.ts +30 -0
  87. package/dist/components/color-handle/color-contrast.d.ts +55 -0
  88. package/dist/components/color-handle/color-contrast.js +49 -0
  89. package/dist/components/color-handle/color-contrast.js.map +1 -0
  90. package/dist/components/color-handle/index.d.ts +14 -0
  91. package/dist/components/color-handle/index.js +3 -0
  92. package/dist/components/color-loupe/ColorLoupe.base.d.ts +41 -0
  93. package/dist/components/color-loupe/ColorLoupe.base.js +21 -0
  94. package/dist/components/color-loupe/ColorLoupe.base.js.map +1 -0
  95. package/dist/components/color-loupe/index.d.ts +12 -0
  96. package/dist/components/color-loupe/index.js +2 -0
  97. package/dist/components/divider/Divider.base.d.ts +43 -0
  98. package/dist/components/divider/Divider.base.js +42 -0
  99. package/dist/components/divider/Divider.base.js.map +1 -0
  100. package/dist/components/divider/Divider.types.d.ts +15 -0
  101. package/dist/components/divider/Divider.types.js +10 -0
  102. package/dist/components/divider/Divider.types.js.map +1 -0
  103. package/dist/components/divider/index.d.ts +13 -0
  104. package/dist/components/divider/index.js +3 -0
  105. package/dist/components/dropzone/Dropzone.base.d.ts +74 -0
  106. package/dist/components/dropzone/Dropzone.base.js +82 -0
  107. package/dist/components/dropzone/Dropzone.base.js.map +1 -0
  108. package/dist/components/dropzone/Dropzone.types.d.ts +43 -0
  109. package/dist/components/dropzone/Dropzone.types.js +15 -0
  110. package/dist/components/dropzone/Dropzone.types.js.map +1 -0
  111. package/dist/components/dropzone/index.d.ts +13 -0
  112. package/dist/components/dropzone/index.js +3 -0
  113. package/dist/components/icon/Icon.base.d.ts +36 -0
  114. package/dist/components/icon/Icon.base.js +28 -0
  115. package/dist/components/icon/Icon.base.js.map +1 -0
  116. package/dist/components/icon/Icon.types.d.ts +13 -0
  117. package/dist/components/icon/Icon.types.js +12 -0
  118. package/dist/components/icon/Icon.types.js.map +1 -0
  119. package/dist/components/icon/index.d.ts +13 -0
  120. package/dist/components/icon/index.js +3 -0
  121. package/dist/components/illustrated-message/IllustratedMessage.base.d.ts +60 -0
  122. package/dist/components/illustrated-message/IllustratedMessage.base.js +59 -0
  123. package/dist/components/illustrated-message/IllustratedMessage.base.js.map +1 -0
  124. package/dist/components/illustrated-message/IllustratedMessage.types.d.ts +15 -0
  125. package/dist/components/illustrated-message/IllustratedMessage.types.js +10 -0
  126. package/dist/components/illustrated-message/IllustratedMessage.types.js.map +1 -0
  127. package/dist/components/illustrated-message/index.d.ts +13 -0
  128. package/dist/components/illustrated-message/index.js +3 -0
  129. package/dist/components/infield-button/InfieldButton.base.d.ts +28 -0
  130. package/dist/components/infield-button/InfieldButton.base.js +22 -0
  131. package/dist/components/infield-button/InfieldButton.base.js.map +1 -0
  132. package/dist/components/infield-button/InfieldButton.types.d.ts +13 -0
  133. package/dist/components/infield-button/InfieldButton.types.js +11 -0
  134. package/dist/components/infield-button/InfieldButton.types.js.map +1 -0
  135. package/dist/components/infield-button/index.d.ts +13 -0
  136. package/dist/components/infield-button/index.js +3 -0
  137. package/dist/components/meter/Meter.base.d.ts +40 -0
  138. package/dist/components/meter/Meter.base.js +32 -0
  139. package/dist/components/meter/Meter.base.js.map +1 -0
  140. package/dist/components/meter/Meter.types.d.ts +13 -0
  141. package/dist/components/meter/Meter.types.js +11 -0
  142. package/dist/components/meter/Meter.types.js.map +1 -0
  143. package/dist/components/meter/index.d.ts +13 -0
  144. package/dist/components/meter/index.js +3 -0
  145. package/dist/components/popover/Popover.base.d.ts +226 -0
  146. package/dist/components/popover/Popover.base.js +287 -0
  147. package/dist/components/popover/Popover.base.js.map +1 -0
  148. package/dist/components/popover/Popover.types.d.ts +39 -0
  149. package/dist/components/popover/Popover.types.js +24 -0
  150. package/dist/components/popover/Popover.types.js.map +1 -0
  151. package/dist/components/popover/index.d.ts +13 -0
  152. package/dist/components/popover/index.js +3 -0
  153. package/dist/components/progress-bar/ProgressBar.base.d.ts +34 -0
  154. package/dist/components/progress-bar/ProgressBar.base.js +21 -0
  155. package/dist/components/progress-bar/ProgressBar.base.js.map +1 -0
  156. package/dist/components/progress-bar/ProgressBar.types.d.ts +12 -0
  157. package/dist/components/progress-bar/index.d.ts +13 -0
  158. package/dist/components/progress-bar/index.js +2 -0
  159. package/dist/components/progress-circle/ProgressCircle.base.d.ts +83 -0
  160. package/dist/components/progress-circle/ProgressCircle.base.js +77 -0
  161. package/dist/components/progress-circle/ProgressCircle.base.js.map +1 -0
  162. package/dist/components/progress-circle/ProgressCircle.types.d.ts +15 -0
  163. package/dist/components/progress-circle/ProgressCircle.types.js +10 -0
  164. package/dist/components/progress-circle/ProgressCircle.types.js.map +1 -0
  165. package/dist/components/progress-circle/index.d.ts +13 -0
  166. package/dist/components/progress-circle/index.js +3 -0
  167. package/dist/components/status-light/StatusLight.base.d.ts +69 -0
  168. package/dist/components/status-light/StatusLight.base.js +32 -0
  169. package/dist/components/status-light/StatusLight.base.js.map +1 -0
  170. package/dist/components/status-light/StatusLight.types.d.ts +19 -0
  171. package/dist/components/status-light/StatusLight.types.js +32 -0
  172. package/dist/components/status-light/StatusLight.types.js.map +1 -0
  173. package/dist/components/status-light/index.d.ts +13 -0
  174. package/dist/components/status-light/index.js +3 -0
  175. package/dist/components/tabs/Tab.base.d.ts +49 -0
  176. package/dist/components/tabs/Tab.base.js +39 -0
  177. package/dist/components/tabs/Tab.base.js.map +1 -0
  178. package/dist/components/tabs/Tab.types.d.ts +17 -0
  179. package/dist/components/tabs/TabPanel.base.d.ts +49 -0
  180. package/dist/components/tabs/TabPanel.base.js +36 -0
  181. package/dist/components/tabs/TabPanel.base.js.map +1 -0
  182. package/dist/components/tabs/TabPanel.types.d.ts +17 -0
  183. package/dist/components/tabs/Tabs.base.d.ts +221 -0
  184. package/dist/components/tabs/Tabs.base.js +213 -0
  185. package/dist/components/tabs/Tabs.base.js.map +1 -0
  186. package/dist/components/tabs/Tabs.types.d.ts +55 -0
  187. package/dist/components/tabs/Tabs.types.js +6 -0
  188. package/dist/components/tabs/Tabs.types.js.map +1 -0
  189. package/dist/components/tabs/index.d.ts +17 -0
  190. package/dist/components/tabs/index.js +5 -0
  191. package/dist/components/tooltip/Tooltip.base.d.ts +159 -0
  192. package/dist/components/tooltip/Tooltip.base.js +198 -0
  193. package/dist/components/tooltip/Tooltip.base.js.map +1 -0
  194. package/dist/components/tooltip/Tooltip.types.d.ts +18 -0
  195. package/dist/components/tooltip/Tooltip.types.js +15 -0
  196. package/dist/components/tooltip/Tooltip.types.js.map +1 -0
  197. package/dist/components/tooltip/index.d.ts +13 -0
  198. package/dist/components/tooltip/index.js +3 -0
  199. package/dist/controllers/color-controller/index.d.ts +12 -0
  200. package/dist/controllers/color-controller/index.js +2 -0
  201. package/dist/controllers/color-controller/src/color-controller.d.ts +226 -0
  202. package/dist/controllers/color-controller/src/color-controller.js +253 -0
  203. package/dist/controllers/color-controller/src/color-controller.js.map +1 -0
  204. package/dist/controllers/drag-and-drop-controller/index.d.ts +12 -0
  205. package/dist/controllers/drag-and-drop-controller/index.js +2 -0
  206. package/dist/controllers/drag-and-drop-controller/src/drag-and-drop-controller.d.ts +68 -0
  207. package/dist/controllers/drag-and-drop-controller/src/drag-and-drop-controller.js +56 -0
  208. package/dist/controllers/drag-and-drop-controller/src/drag-and-drop-controller.js.map +1 -0
  209. package/dist/controllers/focusgroup-navigation-controller/index.d.ts +12 -0
  210. package/dist/controllers/focusgroup-navigation-controller/index.js +2 -0
  211. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.d.ts +496 -0
  212. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.js +345 -0
  213. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.js.map +1 -0
  214. package/dist/controllers/hover-controller/index.d.ts +12 -0
  215. package/dist/controllers/hover-controller/index.js +2 -0
  216. package/dist/controllers/hover-controller/src/hover-controller.d.ts +118 -0
  217. package/dist/controllers/hover-controller/src/hover-controller.js +90 -0
  218. package/dist/controllers/hover-controller/src/hover-controller.js.map +1 -0
  219. package/dist/controllers/index.d.ts +26 -0
  220. package/dist/controllers/index.js +18 -0
  221. package/dist/controllers/language-resolution.d.ts +87 -0
  222. package/dist/controllers/language-resolution.js +56 -0
  223. package/dist/controllers/language-resolution.js.map +1 -0
  224. package/dist/controllers/live-selection-controller/index.d.ts +12 -0
  225. package/dist/controllers/live-selection-controller/index.js +2 -0
  226. package/dist/controllers/live-selection-controller/src/live-selection-controller.d.ts +144 -0
  227. package/dist/controllers/live-selection-controller/src/live-selection-controller.js +36 -0
  228. package/dist/controllers/live-selection-controller/src/live-selection-controller.js.map +1 -0
  229. package/dist/controllers/page-scroll-lock-controller/index.d.ts +12 -0
  230. package/dist/controllers/page-scroll-lock-controller/index.js +2 -0
  231. package/dist/controllers/page-scroll-lock-controller/src/page-scroll-lock.d.ts +20 -0
  232. package/dist/controllers/page-scroll-lock-controller/src/page-scroll-lock.js +30 -0
  233. package/dist/controllers/page-scroll-lock-controller/src/page-scroll-lock.js.map +1 -0
  234. package/dist/controllers/pending-controller/index.d.ts +12 -0
  235. package/dist/controllers/pending-controller/index.js +2 -0
  236. package/dist/controllers/pending-controller/src/pending-controller.d.ts +95 -0
  237. package/dist/controllers/pending-controller/src/pending-controller.js +55 -0
  238. package/dist/controllers/pending-controller/src/pending-controller.js.map +1 -0
  239. package/dist/controllers/placement-controller/index.d.ts +12 -0
  240. package/dist/controllers/placement-controller/index.js +4 -0
  241. package/dist/controllers/placement-controller/src/fallback-placements.d.ts +9 -0
  242. package/dist/controllers/placement-controller/src/fallback-placements.js +71 -0
  243. package/dist/controllers/placement-controller/src/fallback-placements.js.map +1 -0
  244. package/dist/controllers/placement-controller/src/placement-controller.d.ts +152 -0
  245. package/dist/controllers/placement-controller/src/placement-controller.js +129 -0
  246. package/dist/controllers/placement-controller/src/placement-controller.js.map +1 -0
  247. package/dist/controllers/placement-controller/src/placement-conversion.d.ts +35 -0
  248. package/dist/controllers/placement-controller/src/placement-conversion.js +54 -0
  249. package/dist/controllers/placement-controller/src/placement-conversion.js.map +1 -0
  250. package/dist/controllers/placement-controller/src/types.d.ts +128 -0
  251. package/dist/controllers/placement-controller/src/types.js +29 -0
  252. package/dist/controllers/placement-controller/src/types.js.map +1 -0
  253. package/dist/controllers/slot-attribute-propagation-controller/index.d.ts +12 -0
  254. package/dist/controllers/slot-attribute-propagation-controller/index.js +2 -0
  255. package/dist/controllers/slot-attribute-propagation-controller/src/slot-attribute-propagation-controller.d.ts +65 -0
  256. package/dist/controllers/slot-attribute-propagation-controller/src/slot-attribute-propagation-controller.js +33 -0
  257. package/dist/controllers/slot-attribute-propagation-controller/src/slot-attribute-propagation-controller.js.map +1 -0
  258. package/dist/controllers/slot-presence-controller/index.d.ts +12 -0
  259. package/dist/controllers/slot-presence-controller/index.js +2 -0
  260. package/dist/controllers/slot-presence-controller/src/slot-presence-controller.d.ts +57 -0
  261. package/dist/controllers/slot-presence-controller/src/slot-presence-controller.js +44 -0
  262. package/dist/controllers/slot-presence-controller/src/slot-presence-controller.js.map +1 -0
  263. package/dist/controllers/slot-text-controller/index.d.ts +12 -0
  264. package/dist/controllers/slot-text-controller/index.js +2 -0
  265. package/dist/controllers/slot-text-controller/src/slot-text-controller.d.ts +92 -0
  266. package/dist/controllers/slot-text-controller/src/slot-text-controller.js +53 -0
  267. package/dist/controllers/slot-text-controller/src/slot-text-controller.js.map +1 -0
  268. package/dist/directives/index.d.ts +15 -0
  269. package/dist/directives/index.js +3 -0
  270. package/dist/directives/pending-spinner/index.d.ts +12 -0
  271. package/dist/directives/pending-spinner/index.js +1 -0
  272. package/dist/directives/pending-spinner/src/pending-spinner.d.ts +22 -0
  273. package/dist/directives/pending-spinner/src/pending-spinner.js +39 -0
  274. package/dist/directives/pending-spinner/src/pending-spinner.js.map +1 -0
  275. package/dist/element/define-element.d.ts +16 -0
  276. package/dist/element/define-element.js +8 -0
  277. package/dist/element/define-element.js.map +1 -0
  278. package/dist/element/index.d.ts +14 -0
  279. package/dist/element/index.js +4 -0
  280. package/dist/element/spectrum-element.d.ts +69 -0
  281. package/dist/element/spectrum-element.js +85 -0
  282. package/dist/element/spectrum-element.js.map +1 -0
  283. package/dist/element/version.d.ts +19 -0
  284. package/dist/element/version.js +6 -0
  285. package/dist/element/version.js.map +1 -0
  286. package/dist/mixins/disabled-mixin.d.ts +30 -0
  287. package/dist/mixins/disabled-mixin.js +27 -0
  288. package/dist/mixins/disabled-mixin.js.map +1 -0
  289. package/dist/mixins/index.d.ts +16 -0
  290. package/dist/mixins/index.js +5 -0
  291. package/dist/mixins/linear-progress-mixin.d.ts +41 -0
  292. package/dist/mixins/linear-progress-mixin.js +115 -0
  293. package/dist/mixins/linear-progress-mixin.js.map +1 -0
  294. package/dist/mixins/pending-mixin.d.ts +45 -0
  295. package/dist/mixins/pending-mixin.js +50 -0
  296. package/dist/mixins/pending-mixin.js.map +1 -0
  297. package/dist/mixins/sized-mixin.d.ts +49 -0
  298. package/dist/mixins/sized-mixin.js +42 -0
  299. package/dist/mixins/sized-mixin.js.map +1 -0
  300. package/dist/utils/actual-placement.d.ts +10 -0
  301. package/dist/utils/actual-placement.js +8 -0
  302. package/dist/utils/actual-placement.js.map +1 -0
  303. package/dist/utils/capitalize.d.ts +26 -0
  304. package/dist/utils/capitalize.js +8 -0
  305. package/dist/utils/capitalize.js.map +1 -0
  306. package/dist/utils/deep-contains.d.ts +26 -0
  307. package/dist/utils/deep-contains.js +14 -0
  308. package/dist/utils/deep-contains.js.map +1 -0
  309. package/dist/utils/dev-validation.d.ts +88 -0
  310. package/dist/utils/dev-validation.js +33 -0
  311. package/dist/utils/dev-validation.js.map +1 -0
  312. package/dist/utils/dismissible-stack.d.ts +26 -0
  313. package/dist/utils/dismissible-stack.js +16 -0
  314. package/dist/utils/dismissible-stack.js.map +1 -0
  315. package/dist/utils/focusable-selectors.d.ts +43 -0
  316. package/dist/utils/focusable-selectors.js +18 -0
  317. package/dist/utils/focusable-selectors.js.map +1 -0
  318. package/dist/utils/get-active-element.d.ts +31 -0
  319. package/dist/utils/get-active-element.js +11 -0
  320. package/dist/utils/get-active-element.js.map +1 -0
  321. package/dist/utils/get-label-from-slot.d.ts +12 -0
  322. package/dist/utils/get-label-from-slot.js +10 -0
  323. package/dist/utils/get-label-from-slot.js.map +1 -0
  324. package/dist/utils/index.d.ts +22 -0
  325. package/dist/utils/index.js +12 -0
  326. package/dist/utils/is-focus-visible-in-tree.d.ts +33 -0
  327. package/dist/utils/is-focus-visible-in-tree.js +11 -0
  328. package/dist/utils/is-focus-visible-in-tree.js.map +1 -0
  329. package/dist/utils/resolve-trigger.d.ts +42 -0
  330. package/dist/utils/resolve-trigger.js +23 -0
  331. package/dist/utils/resolve-trigger.js.map +1 -0
  332. package/dist/utils/transition.d.ts +53 -0
  333. package/dist/utils/transition.js +26 -0
  334. package/dist/utils/transition.js.map +1 -0
  335. package/package.json +644 -0
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # @adobe/spectrum-wc-core
2
+
3
+ Abstract base classes for Spectrum Web Components.
4
+
5
+ This package provides the behavior layer for gen2 Spectrum Web Components and is **not intended for direct external use**. It is independent from 1st-gen — there is no runtime dependency between them.
6
+
7
+ For more information, visit the [Spectrum Web Components repository](https://github.com/adobe/spectrum-web-components).
8
+
9
+ ## Folder structure
10
+
11
+ The core package is private/internal, so we can organize foundational code for discoverability and incremental migration.
12
+
13
+ ```
14
+ core/
15
+ element/ # SpectrumElement, defineElement, and element infrastructure
16
+ mixins/ # Reusable mixins (SizedMixin, ObserveSlotPresence, etc.)
17
+ controllers/ # Reactive controllers (Lit controllers, observers, etc.)
18
+ utils/ # Utility functions (DOM helpers, label extraction, etc.)
19
+ components/ # Component base classes (already established)
20
+ ```
21
+
22
+ ### Naming
23
+
24
+ All new folders and files in `/core` should be kebab-case.
25
+
26
+ ### Imports
27
+
28
+ Prefer the new top-level paths for new code:
29
+
30
+ - `@adobe/spectrum-wc-core/element`
31
+ - `@adobe/spectrum-wc-core/mixins`
32
+ - `@adobe/spectrum-wc-core/controllers`
33
+ - `@adobe/spectrum-wc-core/utils`
34
+
35
+ New code should use the top-level paths above.
36
+
37
+ ### Migration
38
+
39
+ See `MIGRATION.md` for guidance on where to place migrated code.
@@ -0,0 +1,9 @@
1
+ //#region \0@oxc-project+runtime@0.124.0/helpers/decorate.js
2
+ function e(e, t, n, r) {
3
+ var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
4
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
5
+ else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
6
+ return i > 3 && a && Object.defineProperty(t, n, a), a;
7
+ }
8
+ //#endregion
9
+ export { e as __decorate };
@@ -0,0 +1,59 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { SpectrumElement } from '../../element/index.js';
3
+ import { AccordionDensity, AccordionHeadingLevel, AccordionSize } from './Accordion.types.js';
4
+ declare const AccordionBase_base: typeof SpectrumElement & {
5
+ new (...args: any[]): import('../../mixins/index.js').SizedElementInterface;
6
+ prototype: import('../../mixins/index.js').SizedElementInterface;
7
+ } & import('../../mixins/index.js').SizedElementConstructor;
8
+ /**
9
+ * Base class for accordion components. Manages item propagation, heading
10
+ * level, density, and the exclusive-open constraint.
11
+ *
12
+ * @attribute {boolean} allowMultiple - Reflected as `allow-multiple`. When set,
13
+ * multiple items may be open at the same time.
14
+ * @attribute {number} level - Heading level (2–6) applied to every item header.
15
+ * Values outside that range are clamped.
16
+ * @attribute {AccordionSize} size - Size applied to all items.
17
+ * @attribute {AccordionDensity} density - Vertical spacing between items.
18
+ * @attribute {boolean} quiet - Renders the accordion in its quiet visual variant.
19
+ * @attribute {boolean} disabled - Disables all items in the accordion.
20
+ *
21
+ * @slot - One or more `swc-accordion-item` elements.
22
+ */
23
+ export declare abstract class AccordionBase extends AccordionBase_base {
24
+ /**
25
+ * When set, multiple items may be open at the same time. By default only
26
+ * one item can be open.
27
+ */
28
+ allowMultiple: boolean;
29
+ /**
30
+ * Heading level applied to every item header (2–6). Defaults to 3.
31
+ * Values outside that range are clamped.
32
+ */
33
+ level: AccordionHeadingLevel;
34
+ /**
35
+ * Size applied to all items. Defaults to `m`.
36
+ */
37
+ size: AccordionSize;
38
+ /**
39
+ * Controls vertical spacing between items.
40
+ *
41
+ * @default regular
42
+ */
43
+ density: AccordionDensity;
44
+ /**
45
+ * Renders the accordion in its quiet (no-border) visual variant.
46
+ */
47
+ quiet: boolean;
48
+ /**
49
+ * Disables all items in the accordion. Individual items may also be
50
+ * disabled independently.
51
+ */
52
+ disabled: boolean;
53
+ private assignedItems;
54
+ private readonly selectionController;
55
+ protected firstUpdated(changedProperties: PropertyValues): void;
56
+ protected syncAccordionItems(): void;
57
+ protected update(changedProperties: PropertyValues): void;
58
+ }
59
+ export {};
@@ -0,0 +1,69 @@
1
+ import { ACCORDION_DENSITIES as e, ACCORDION_VALID_SIZES as t, SWC_ACCORDION_ITEM_TOGGLE_EVENT as n } from "./Accordion.types.js";
2
+ import { __decorate as r } from "../../_virtual/_@oxc-project_runtime@0.124.0/helpers/decorate.js";
3
+ import { AccordionItemBase as i } from "./AccordionItem.base.js";
4
+ import { property as a } from "lit/decorators.js";
5
+ import { LiveSelectionController as o } from "@adobe/spectrum-wc-core/controllers/index.js";
6
+ import { SpectrumElement as s } from "@adobe/spectrum-wc-core/element/index.js";
7
+ import { SizedMixin as c } from "@adobe/spectrum-wc-core/mixins/index.js";
8
+ import { validateEnum as l } from "@adobe/spectrum-wc-core/utils/index.js";
9
+ //#region components/accordion/Accordion.base.ts
10
+ var u = class extends c(s, {
11
+ validSizes: t,
12
+ defaultSize: "m"
13
+ }) {
14
+ constructor(...e) {
15
+ super(...e), this.allowMultiple = !1, this.level = 3, this.density = "regular", this.quiet = !1, this.disabled = !1, this.selectionController = new o(this, {
16
+ getItems: () => this.assignedItems(),
17
+ readSelected: (e) => e.open,
18
+ deselect: (e) => {
19
+ e.open = !1;
20
+ },
21
+ observeEvent: n,
22
+ mode: () => this.allowMultiple ? "multiple" : "single"
23
+ });
24
+ }
25
+ assignedItems() {
26
+ var e;
27
+ let t = (e = this.renderRoot) == null ? void 0 : e.querySelector("slot");
28
+ return t ? t.assignedElements({ flatten: !0 }).filter((e) => e instanceof i) : [];
29
+ }
30
+ firstUpdated(e) {
31
+ super.firstUpdated(e), this.selectionController.refresh();
32
+ }
33
+ syncAccordionItems() {
34
+ for (let e of this.assignedItems()) e.setManagedHeading(this.level), e.size = this.size, e.setManagedParentDisabled(this.disabled);
35
+ }
36
+ update(t) {
37
+ if (t.has("density") && l(this, {
38
+ prop: "density",
39
+ value: this.density,
40
+ valid: e,
41
+ url: "https://spectrum-web-components.adobe.com/?path=/docs/components-accordion--docs"
42
+ }), t.has("level")) {
43
+ let e = Math.min(6, Math.max(2, this.level));
44
+ this.level !== e && (this.level = e);
45
+ }
46
+ (t.has("level") || t.has("size") || t.has("disabled")) && this.syncAccordionItems(), t.has("allowMultiple") && t.get("allowMultiple") === !0 && !this.allowMultiple && this.selectionController.refresh(), t.has("disabled") && t.get("disabled") === !0 && !this.disabled && !this.allowMultiple && this.selectionController.refresh(), super.update(t);
47
+ }
48
+ };
49
+ r([a({
50
+ type: Boolean,
51
+ reflect: !0,
52
+ attribute: "allow-multiple"
53
+ })], u.prototype, "allowMultiple", void 0), r([a({
54
+ type: Number,
55
+ reflect: !0
56
+ })], u.prototype, "level", void 0), r([a({
57
+ type: String,
58
+ reflect: !0
59
+ })], u.prototype, "density", void 0), r([a({
60
+ type: Boolean,
61
+ reflect: !0
62
+ })], u.prototype, "quiet", void 0), r([a({
63
+ type: Boolean,
64
+ reflect: !0
65
+ })], u.prototype, "disabled", void 0);
66
+ //#endregion
67
+ export { u as AccordionBase };
68
+
69
+ //# sourceMappingURL=Accordion.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.base.js","names":[],"sources":["../../../components/accordion/Accordion.base.ts"],"sourcesContent":["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { PropertyValues } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { LiveSelectionController } from '@adobe/spectrum-wc-core/controllers/index.js';\nimport { SpectrumElement } from '@adobe/spectrum-wc-core/element/index.js';\nimport { SizedMixin } from '@adobe/spectrum-wc-core/mixins/index.js';\nimport { validateEnum } from '@adobe/spectrum-wc-core/utils/index.js';\n\nimport {\n ACCORDION_DENSITIES,\n ACCORDION_VALID_SIZES,\n type AccordionDensity,\n type AccordionHeadingLevel,\n type AccordionSize,\n SWC_ACCORDION_ITEM_TOGGLE_EVENT,\n} from './Accordion.types.js';\nimport { AccordionItemBase } from './AccordionItem.base.js';\n\n/**\n * Base class for accordion components. Manages item propagation, heading\n * level, density, and the exclusive-open constraint.\n *\n * @attribute {boolean} allowMultiple - Reflected as `allow-multiple`. When set,\n * multiple items may be open at the same time.\n * @attribute {number} level - Heading level (2–6) applied to every item header.\n * Values outside that range are clamped.\n * @attribute {AccordionSize} size - Size applied to all items.\n * @attribute {AccordionDensity} density - Vertical spacing between items.\n * @attribute {boolean} quiet - Renders the accordion in its quiet visual variant.\n * @attribute {boolean} disabled - Disables all items in the accordion.\n *\n * @slot - One or more `swc-accordion-item` elements.\n */\nexport abstract class AccordionBase extends SizedMixin(SpectrumElement, {\n validSizes: ACCORDION_VALID_SIZES,\n defaultSize: 'm',\n}) {\n // ──────────────────\n // PUBLIC API\n // ──────────────────\n\n /**\n * When set, multiple items may be open at the same time. By default only\n * one item can be open.\n */\n @property({ type: Boolean, reflect: true, attribute: 'allow-multiple' })\n public allowMultiple: boolean = false;\n\n /**\n * Heading level applied to every item header (2–6). Defaults to 3.\n * Values outside that range are clamped.\n */\n @property({ type: Number, reflect: true })\n public level: AccordionHeadingLevel = 3;\n\n /**\n * Size applied to all items. Defaults to `m`.\n */\n declare public size: AccordionSize;\n\n /**\n * Controls vertical spacing between items.\n *\n * @default regular\n */\n @property({ type: String, reflect: true })\n public density: AccordionDensity = 'regular';\n\n /**\n * Renders the accordion in its quiet (no-border) visual variant.\n */\n @property({ type: Boolean, reflect: true })\n public quiet: boolean = false;\n\n /**\n * Disables all items in the accordion. Individual items may also be\n * disabled independently.\n */\n @property({ type: Boolean, reflect: true })\n public disabled: boolean = false;\n\n // ──────────────────────\n // IMPLEMENTATION\n // ──────────────────────\n\n private assignedItems(): AccordionItemBase[] {\n const slot = this.renderRoot?.querySelector('slot');\n if (!slot) {\n return [];\n }\n return slot\n .assignedElements({ flatten: true })\n .filter((el): el is AccordionItemBase => el instanceof AccordionItemBase);\n }\n\n // LiveSelectionController observes swc-accordion-item-toggle events and\n // enforces the exclusive-open constraint when allowMultiple is false. Items\n // own their own open state; the controller only closes siblings.\n private readonly selectionController = new LiveSelectionController(this, {\n getItems: () => this.assignedItems(),\n readSelected: (item) => item.open,\n deselect: (item) => {\n item.open = false;\n },\n observeEvent: SWC_ACCORDION_ITEM_TOGGLE_EVENT,\n mode: () => (this.allowMultiple ? 'multiple' : 'single'),\n });\n\n protected override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n // The controller is event-driven and won't catch items that start open via\n // HTML attributes; read the initial DOM state and enforce the constraint now.\n this.selectionController.refresh();\n }\n\n protected syncAccordionItems(): void {\n for (const item of this.assignedItems()) {\n item.setManagedHeading(this.level);\n item.size = this.size;\n item.setManagedParentDisabled(this.disabled);\n }\n }\n\n protected override update(changedProperties: PropertyValues): void {\n if (changedProperties.has('density')) {\n validateEnum(this, {\n prop: 'density',\n value: this.density,\n valid: ACCORDION_DENSITIES,\n url: 'https://spectrum-web-components.adobe.com/?path=/docs/components-accordion--docs',\n });\n }\n if (changedProperties.has('level')) {\n const clamped = Math.min(\n 6,\n Math.max(2, this.level)\n ) as AccordionHeadingLevel;\n if (this.level !== clamped) {\n this.level = clamped;\n }\n }\n if (\n changedProperties.has('level') ||\n changedProperties.has('size') ||\n changedProperties.has('disabled')\n ) {\n this.syncAccordionItems();\n }\n // When allow-multiple is removed, enforce the stricter single-select\n // constraint over the current DOM state.\n if (\n changedProperties.has('allowMultiple') &&\n changedProperties.get('allowMultiple') === true &&\n !this.allowMultiple\n ) {\n this.selectionController.refresh();\n }\n // When the accordion is re-enabled after being disabled, enforce\n // exclusive-open so items that were opened while disabled are corrected.\n if (\n changedProperties.has('disabled') &&\n changedProperties.get('disabled') === true &&\n !this.disabled &&\n !this.allowMultiple\n ) {\n this.selectionController.refresh();\n }\n super.update(changedProperties);\n }\n}\n"],"mappings":";;;;;;;;;AA6CA,IAAsB,IAAtB,cAA4C,EAAW,GAAiB;CACtE,YAAY;CACZ,aAAa;CACd,CAAC,CAAC;;oCAU+B,iBAOM,kBAaH,wBAMX,oBAOG,+BAmBY,IAAI,EAAwB,MAAM;GACvE,gBAAgB,KAAK,eAAe;GACpC,eAAe,MAAS,EAAK;GAC7B,WAAW,MAAS;AAClB,MAAK,OAAO;;GAEd,cAAc;GACd,YAAa,KAAK,gBAAgB,aAAa;GAChD,CAAC;;CArBF,gBAA6C;;EAC3C,IAAM,KAAA,IAAO,KAAK,eAAA,OAAA,KAAA,IAAA,EAAY,cAAc,OAAO;AAInD,SAHK,IAGE,EACJ,iBAAiB,EAAE,SAAS,IAAM,CAAC,CACnC,QAAQ,MAAgC,aAAc,EAAkB,GAJlE,EAAE;;CAoBb,aAAgC,GAAyC;AAIvE,EAHA,MAAM,aAAa,EAAkB,EAGrC,KAAK,oBAAoB,SAAS;;CAGpC,qBAAqC;AACnC,OAAK,IAAM,KAAQ,KAAK,eAAe,CAGrC,CAFA,EAAK,kBAAkB,KAAK,MAAM,EAClC,EAAK,OAAO,KAAK,MACjB,EAAK,yBAAyB,KAAK,SAAS;;CAIhD,OAA0B,GAAyC;AASjE,MARI,EAAkB,IAAI,UAAU,IAClC,EAAa,MAAM;GACjB,MAAM;GACN,OAAO,KAAK;GACZ,OAAO;GACP,KAAK;GACN,CAAC,EAEA,EAAkB,IAAI,QAAQ,EAAE;GAClC,IAAM,IAAU,KAAK,IACnB,GACA,KAAK,IAAI,GAAG,KAAK,MAAM,CACxB;AACD,GAAI,KAAK,UAAU,MACjB,KAAK,QAAQ;;AA6BjB,GAzBE,EAAkB,IAAI,QAAQ,IAC9B,EAAkB,IAAI,OAAO,IAC7B,EAAkB,IAAI,WAAW,KAEjC,KAAK,oBAAoB,EAKzB,EAAkB,IAAI,gBAAgB,IACtC,EAAkB,IAAI,gBAAgB,KAAK,MAC3C,CAAC,KAAK,iBAEN,KAAK,oBAAoB,SAAS,EAKlC,EAAkB,IAAI,WAAW,IACjC,EAAkB,IAAI,WAAW,KAAK,MACtC,CAAC,KAAK,YACN,CAAC,KAAK,iBAEN,KAAK,oBAAoB,SAAS,EAEpC,MAAM,OAAO,EAAkB;;;GA1HhC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;CAAkB,CAAC,CAAA,EAAA,EAAA,WAAA,iBAAA,KAAA,EAAA,KAOvE,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,KAazC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,WAAA,KAAA,EAAA,KAMzC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,KAO1C,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright 2026 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ export declare const ACCORDION_VALID_SIZES: readonly ["s", "m", "l", "xl"];
13
+ export type AccordionSize = (typeof ACCORDION_VALID_SIZES)[number];
14
+ export declare const ACCORDION_DENSITIES: readonly ["compact", "regular", "spacious"];
15
+ export type AccordionDensity = (typeof ACCORDION_DENSITIES)[number];
16
+ export declare const ACCORDION_HEADING_LEVELS: readonly [2, 3, 4, 5, 6];
17
+ export type AccordionHeadingLevel = (typeof ACCORDION_HEADING_LEVELS)[number];
18
+ export declare const SWC_ACCORDION_ITEM_TOGGLE_EVENT = "swc-accordion-item-toggle";
19
+ export declare const SWC_ACCORDION_ITEM_OPEN_EVENT = "swc-open";
20
+ export declare const SWC_ACCORDION_ITEM_CLOSE_EVENT = "swc-close";
21
+ export declare const SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT = "swc-after-open";
22
+ export declare const SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT = "swc-after-close";
@@ -0,0 +1,21 @@
1
+ //#region components/accordion/Accordion.types.ts
2
+ var e = [
3
+ "s",
4
+ "m",
5
+ "l",
6
+ "xl"
7
+ ], t = [
8
+ "compact",
9
+ "regular",
10
+ "spacious"
11
+ ], n = [
12
+ 2,
13
+ 3,
14
+ 4,
15
+ 5,
16
+ 6
17
+ ], r = "swc-accordion-item-toggle", i = "swc-open", a = "swc-close", o = "swc-after-open", s = "swc-after-close";
18
+ //#endregion
19
+ export { t as ACCORDION_DENSITIES, n as ACCORDION_HEADING_LEVELS, e as ACCORDION_VALID_SIZES, s as SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT, o as SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT, a as SWC_ACCORDION_ITEM_CLOSE_EVENT, i as SWC_ACCORDION_ITEM_OPEN_EVENT, r as SWC_ACCORDION_ITEM_TOGGLE_EVENT };
20
+
21
+ //# sourceMappingURL=Accordion.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.types.js","names":[],"sources":["../../../components/accordion/Accordion.types.ts"],"sourcesContent":["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ElementSize } from '@adobe/spectrum-wc-core/mixins/index.js';\n\nexport const ACCORDION_VALID_SIZES = [\n 's',\n 'm',\n 'l',\n 'xl',\n] as const satisfies readonly ElementSize[];\nexport type AccordionSize = (typeof ACCORDION_VALID_SIZES)[number];\n\nexport const ACCORDION_DENSITIES = ['compact', 'regular', 'spacious'] as const;\nexport type AccordionDensity = (typeof ACCORDION_DENSITIES)[number];\n\nexport const ACCORDION_HEADING_LEVELS = [2, 3, 4, 5, 6] as const;\nexport type AccordionHeadingLevel = (typeof ACCORDION_HEADING_LEVELS)[number];\n\nexport const SWC_ACCORDION_ITEM_TOGGLE_EVENT = 'swc-accordion-item-toggle';\nexport const SWC_ACCORDION_ITEM_OPEN_EVENT = 'swc-open';\nexport const SWC_ACCORDION_ITEM_CLOSE_EVENT = 'swc-close';\nexport const SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT = 'swc-after-open';\nexport const SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT = 'swc-after-close';\n"],"mappings":";AAcA,IAAa,IAAwB;CACnC;CACA;CACA;CACA;CACD,EAGY,IAAsB;CAAC;CAAW;CAAW;CAAW,EAGxD,IAA2B;CAAC;CAAG;CAAG;CAAG;CAAG;CAAE,EAG1C,IAAkC,6BAClC,IAAgC,YAChC,IAAiC,aACjC,IAAsC,kBACtC,IAAuC"}
@@ -0,0 +1,96 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { SlotPresenceController } from '../../controllers/slot-presence-controller/index.js';
3
+ import { SpectrumElement } from '../../element/index.js';
4
+ import { AccordionHeadingLevel, AccordionSize } from './Accordion.types.js';
5
+ /**
6
+ * Base class for accordion item components. Manages open/disabled state,
7
+ * heading level (set by the parent accordion), and the toggle event.
8
+ *
9
+ * @attribute {boolean} open - Whether the accordion item panel is expanded.
10
+ * @attribute {boolean} disabled - Whether the accordion item is disabled.
11
+ * @attribute {AccordionSize} size - Size of the item. Inherited from the parent
12
+ * accordion when slotted; controls the chevron icon when used standalone.
13
+ *
14
+ * @slot label - The heading text for this accordion item.
15
+ * @slot actions - Optional actions rendered adjacent to the heading, outside
16
+ * the toggle button so they remain independently interactive.
17
+ * @slot - The panel content revealed when the item is open.
18
+ */
19
+ export declare abstract class AccordionItemBase extends SpectrumElement {
20
+ /**
21
+ * Observes whether content is slotted into `[slot="actions"]` so the header
22
+ * can conditionally render the actions container.
23
+ *
24
+ * @internal
25
+ */
26
+ protected slotPresence: SlotPresenceController;
27
+ /**
28
+ * Whether the accordion item panel is expanded.
29
+ */
30
+ get open(): boolean;
31
+ set open(value: boolean);
32
+ /**
33
+ * Whether the accordion item is disabled. A disabled item keeps its header
34
+ * in the tab order but blocks toggling.
35
+ */
36
+ disabled: boolean;
37
+ /**
38
+ * The size of the item. Inherited from the parent accordion; controls which
39
+ * chevron icon is displayed. Has no effect when the item is used standalone.
40
+ */
41
+ size?: AccordionSize;
42
+ private _open;
43
+ /**
44
+ * @internal
45
+ * Heading level (2–6) propagated by the parent accordion. Defaults to 3
46
+ * for standalone items.
47
+ */
48
+ protected headingLevel: AccordionHeadingLevel;
49
+ /**
50
+ * @internal
51
+ * Set by the parent accordion when its own `disabled` is true. Causes the
52
+ * item to render as disabled (aria-disabled + inert panel) without clobbering
53
+ * the item's own `disabled` property, so the per-item state is preserved
54
+ * when the accordion is re-enabled.
55
+ */
56
+ protected parentDisabled: boolean;
57
+ /**
58
+ * @internal
59
+ * Whether content is slotted into `[slot="actions"]`. Consumed by the
60
+ * concrete element's `render()` to conditionally render the actions
61
+ * container.
62
+ */
63
+ protected get hasActions(): boolean;
64
+ /**
65
+ * @internal
66
+ * Whether the item may change `open` (expand or collapse). When false, the
67
+ * `open` setter and `toggle()` leave state unchanged.
68
+ */
69
+ protected mayExpand(): boolean;
70
+ private get contentPanel();
71
+ private dispatchAfterEvent;
72
+ private afterEventPending;
73
+ private readonly handleTransitionEnd;
74
+ private readonly handleTransitionCancel;
75
+ /**
76
+ * @internal
77
+ * Toggles the item open state. Guards for disabled, flips `open`, dispatches
78
+ * the toggle event, and reverts if the event is canceled. On success, dispatches
79
+ * `swc-after-open` or `swc-after-close` after the panel height transition ends,
80
+ * or immediately if no transition is active.
81
+ */
82
+ protected toggle(): void;
83
+ /**
84
+ * @internal
85
+ * Synchronizes parent-managed heading level onto the item.
86
+ */
87
+ setManagedHeading(heading: AccordionHeadingLevel): void;
88
+ /**
89
+ * @internal
90
+ * Synchronizes parent-managed disabled state onto the item.
91
+ */
92
+ setManagedParentDisabled(disabled: boolean): void;
93
+ protected firstUpdated(changedProperties: PropertyValues): void;
94
+ connectedCallback(): void;
95
+ disconnectedCallback(): void;
96
+ }
@@ -0,0 +1,93 @@
1
+ import { SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT as e, SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT as t, SWC_ACCORDION_ITEM_CLOSE_EVENT as n, SWC_ACCORDION_ITEM_OPEN_EVENT as r, SWC_ACCORDION_ITEM_TOGGLE_EVENT as i } from "./Accordion.types.js";
2
+ import { __decorate as a } from "../../_virtual/_@oxc-project_runtime@0.124.0/helpers/decorate.js";
3
+ import { property as o, state as s } from "lit/decorators.js";
4
+ import { SpectrumElement as c } from "@adobe/spectrum-wc-core/element/index.js";
5
+ import { SlotPresenceController as l } from "@adobe/spectrum-wc-core/controllers/slot-presence-controller/index.js";
6
+ //#region components/accordion/AccordionItem.base.ts
7
+ var u = class extends c {
8
+ constructor(...e) {
9
+ super(...e), this.slotPresence = new l(this, "[slot=\"actions\"]"), this.disabled = !1, this._open = !1, this.headingLevel = 3, this.parentDisabled = !1, this.afterEventPending = !1, this.handleTransitionEnd = (e) => {
10
+ e.target !== this.contentPanel || e.propertyName !== "height" || !this.afterEventPending || (this.afterEventPending = !1, this.dispatchAfterEvent(this.open));
11
+ }, this.handleTransitionCancel = (e) => {
12
+ e.target !== this.contentPanel || e.propertyName !== "height" || !this.afterEventPending || (this.afterEventPending = !1, this.dispatchAfterEvent(this.open));
13
+ };
14
+ }
15
+ get open() {
16
+ return this._open;
17
+ }
18
+ set open(e) {
19
+ if (this.hasUpdated && !this.mayExpand() && e !== this._open || e === this._open) return;
20
+ let t = this._open;
21
+ this._open = e, e ? this.setAttribute("open", "") : this.removeAttribute("open"), this.requestUpdate("open", t);
22
+ }
23
+ get hasActions() {
24
+ return this.slotPresence.isPresent;
25
+ }
26
+ mayExpand() {
27
+ return !this.disabled && !this.parentDisabled;
28
+ }
29
+ get contentPanel() {
30
+ var e, t;
31
+ return (e = (t = this.shadowRoot) == null ? void 0 : t.getElementById("content")) == null ? null : e;
32
+ }
33
+ dispatchAfterEvent(n) {
34
+ this.dispatchEvent(new Event(n ? t : e, {
35
+ bubbles: !0,
36
+ composed: !0
37
+ }));
38
+ }
39
+ toggle() {
40
+ if (!this.mayExpand()) return;
41
+ this.open = !this.open;
42
+ let e = new Event(i, {
43
+ bubbles: !0,
44
+ composed: !0,
45
+ cancelable: !0
46
+ });
47
+ if (!this.dispatchEvent(e)) {
48
+ this.open = !this.open;
49
+ return;
50
+ }
51
+ let t = this.open;
52
+ this.dispatchEvent(new Event(t ? r : n, {
53
+ bubbles: !0,
54
+ composed: !0
55
+ }));
56
+ let a = this.contentPanel;
57
+ !a || getComputedStyle(a).transitionDuration === "0s" ? this.dispatchAfterEvent(t) : this.afterEventPending = !0;
58
+ }
59
+ setManagedHeading(e) {
60
+ this.headingLevel = e;
61
+ }
62
+ setManagedParentDisabled(e) {
63
+ this.parentDisabled = e;
64
+ }
65
+ firstUpdated(e) {
66
+ var t, n;
67
+ super.firstUpdated(e), (t = this.contentPanel) == null || t.addEventListener("transitionend", this.handleTransitionEnd), (n = this.contentPanel) == null || n.addEventListener("transitioncancel", this.handleTransitionCancel);
68
+ }
69
+ connectedCallback() {
70
+ if (super.connectedCallback(), this.hasUpdated) {
71
+ var e, t;
72
+ (e = this.contentPanel) == null || e.addEventListener("transitionend", this.handleTransitionEnd), (t = this.contentPanel) == null || t.addEventListener("transitioncancel", this.handleTransitionCancel);
73
+ }
74
+ }
75
+ disconnectedCallback() {
76
+ var e, t;
77
+ super.disconnectedCallback(), (e = this.contentPanel) == null || e.removeEventListener("transitionend", this.handleTransitionEnd), (t = this.contentPanel) == null || t.removeEventListener("transitioncancel", this.handleTransitionCancel);
78
+ }
79
+ };
80
+ a([o({
81
+ type: Boolean,
82
+ reflect: !0
83
+ })], u.prototype, "open", null), a([o({
84
+ type: Boolean,
85
+ reflect: !0
86
+ })], u.prototype, "disabled", void 0), a([o({
87
+ type: String,
88
+ reflect: !0
89
+ })], u.prototype, "size", void 0), a([s()], u.prototype, "headingLevel", void 0), a([s()], u.prototype, "parentDisabled", void 0);
90
+ //#endregion
91
+ export { u as AccordionItemBase };
92
+
93
+ //# sourceMappingURL=AccordionItem.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItem.base.js","names":[],"sources":["../../../components/accordion/AccordionItem.base.ts"],"sourcesContent":["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { SlotPresenceController } from '@adobe/spectrum-wc-core/controllers/slot-presence-controller/index.js';\nimport { SpectrumElement } from '@adobe/spectrum-wc-core/element/index.js';\n\nimport {\n type AccordionHeadingLevel,\n type AccordionSize,\n SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT,\n SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT,\n SWC_ACCORDION_ITEM_CLOSE_EVENT,\n SWC_ACCORDION_ITEM_OPEN_EVENT,\n SWC_ACCORDION_ITEM_TOGGLE_EVENT,\n} from './Accordion.types.js';\n\n/**\n * Base class for accordion item components. Manages open/disabled state,\n * heading level (set by the parent accordion), and the toggle event.\n *\n * @attribute {boolean} open - Whether the accordion item panel is expanded.\n * @attribute {boolean} disabled - Whether the accordion item is disabled.\n * @attribute {AccordionSize} size - Size of the item. Inherited from the parent\n * accordion when slotted; controls the chevron icon when used standalone.\n *\n * @slot label - The heading text for this accordion item.\n * @slot actions - Optional actions rendered adjacent to the heading, outside\n * the toggle button so they remain independently interactive.\n * @slot - The panel content revealed when the item is open.\n */\nexport abstract class AccordionItemBase extends SpectrumElement {\n // ──────────────────────\n // CONTROLLERS\n // ──────────────────────\n\n /**\n * Observes whether content is slotted into `[slot=\"actions\"]` so the header\n * can conditionally render the actions container.\n *\n * @internal\n */\n protected slotPresence = new SlotPresenceController(this, '[slot=\"actions\"]');\n\n // ──────────────────\n // PUBLIC API\n // ──────────────────\n\n /**\n * Whether the accordion item panel is expanded.\n */\n @property({ type: Boolean, reflect: true })\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this.hasUpdated && !this.mayExpand() && value !== this._open) {\n return;\n }\n if (value === this._open) {\n return;\n }\n const oldValue = this._open;\n this._open = value;\n if (value) {\n this.setAttribute('open', '');\n } else {\n this.removeAttribute('open');\n }\n this.requestUpdate('open', oldValue);\n }\n\n /**\n * Whether the accordion item is disabled. A disabled item keeps its header\n * in the tab order but blocks toggling.\n */\n @property({ type: Boolean, reflect: true })\n public disabled: boolean = false;\n\n /**\n * The size of the item. Inherited from the parent accordion; controls which\n * chevron icon is displayed. Has no effect when the item is used standalone.\n */\n @property({ type: String, reflect: true })\n public size?: AccordionSize;\n\n private _open = false;\n\n // ──────────────────────\n // INTERNAL STATE\n // ──────────────────────\n\n /**\n * @internal\n * Heading level (2–6) propagated by the parent accordion. Defaults to 3\n * for standalone items.\n */\n @state()\n protected headingLevel: AccordionHeadingLevel = 3;\n\n /**\n * @internal\n * Set by the parent accordion when its own `disabled` is true. Causes the\n * item to render as disabled (aria-disabled + inert panel) without clobbering\n * the item's own `disabled` property, so the per-item state is preserved\n * when the accordion is re-enabled.\n */\n @state()\n protected parentDisabled: boolean = false;\n\n // ──────────────────────\n // IMPLEMENTATION\n // ──────────────────────\n\n /**\n * @internal\n * Whether content is slotted into `[slot=\"actions\"]`. Consumed by the\n * concrete element's `render()` to conditionally render the actions\n * container.\n */\n protected get hasActions(): boolean {\n return this.slotPresence.isPresent;\n }\n\n /**\n * @internal\n * Whether the item may change `open` (expand or collapse). When false, the\n * `open` setter and `toggle()` leave state unchanged.\n */\n protected mayExpand(): boolean {\n return !this.disabled && !this.parentDisabled;\n }\n\n private get contentPanel(): HTMLElement | null {\n return this.shadowRoot?.getElementById('content') ?? null;\n }\n\n private dispatchAfterEvent(isOpen: boolean): void {\n this.dispatchEvent(\n new Event(\n isOpen\n ? SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT\n : SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT,\n { bubbles: true, composed: true }\n )\n );\n }\n\n // Guards dispatchAfterEvent so only one after-event fires per open/close\n // cycle. transitionend fires once per CSS property; height is the only match.\n private afterEventPending = false;\n\n private readonly handleTransitionEnd = (event: TransitionEvent): void => {\n if (\n event.target !== this.contentPanel ||\n event.propertyName !== 'height' ||\n !this.afterEventPending\n ) {\n return;\n }\n this.afterEventPending = false;\n this.dispatchAfterEvent(this.open);\n };\n\n // Reused for transitioncancel: an externally interrupted transition must still\n // resolve afterEventPending so the after-event is not silently lost.\n private readonly handleTransitionCancel = (event: TransitionEvent): void => {\n if (\n event.target !== this.contentPanel ||\n event.propertyName !== 'height' ||\n !this.afterEventPending\n ) {\n return;\n }\n this.afterEventPending = false;\n this.dispatchAfterEvent(this.open);\n };\n\n /**\n * @internal\n * Toggles the item open state. Guards for disabled, flips `open`, dispatches\n * the toggle event, and reverts if the event is canceled. On success, dispatches\n * `swc-after-open` or `swc-after-close` after the panel height transition ends,\n * or immediately if no transition is active.\n */\n protected toggle(): void {\n if (!this.mayExpand()) {\n return;\n }\n this.open = !this.open;\n const toggleEvent = new Event(SWC_ACCORDION_ITEM_TOGGLE_EVENT, {\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n if (!this.dispatchEvent(toggleEvent)) {\n this.open = !this.open;\n return;\n }\n const isOpen = this.open;\n this.dispatchEvent(\n new Event(\n isOpen ? SWC_ACCORDION_ITEM_OPEN_EVENT : SWC_ACCORDION_ITEM_CLOSE_EVENT,\n {\n bubbles: true,\n composed: true,\n }\n )\n );\n const panel = this.contentPanel;\n if (!panel || getComputedStyle(panel).transitionDuration === '0s') {\n this.dispatchAfterEvent(isOpen);\n } else {\n this.afterEventPending = true;\n }\n }\n\n /**\n * @internal\n * Synchronizes parent-managed heading level onto the item.\n */\n public setManagedHeading(heading: AccordionHeadingLevel): void {\n this.headingLevel = heading;\n }\n\n /**\n * @internal\n * Synchronizes parent-managed disabled state onto the item.\n */\n public setManagedParentDisabled(disabled: boolean): void {\n this.parentDisabled = disabled;\n }\n\n protected override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n this.contentPanel?.addEventListener(\n 'transitionend',\n this.handleTransitionEnd\n );\n this.contentPanel?.addEventListener(\n 'transitioncancel',\n this.handleTransitionCancel\n );\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n if (this.hasUpdated) {\n this.contentPanel?.addEventListener(\n 'transitionend',\n this.handleTransitionEnd\n );\n this.contentPanel?.addEventListener(\n 'transitioncancel',\n this.handleTransitionCancel\n );\n }\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.contentPanel?.removeEventListener(\n 'transitionend',\n this.handleTransitionEnd\n );\n this.contentPanel?.removeEventListener(\n 'transitioncancel',\n this.handleTransitionCancel\n );\n }\n}\n"],"mappings":";;;;;;AA0CA,IAAsB,IAAtB,cAAgD,EAAgB;;mCAWrC,IAAI,EAAuB,MAAM,qBAAmB,kBAoClD,iBASX,wBAYgC,yBAUZ,6BA0CR,gCAEY,MAAiC;AAErE,KAAM,WAAW,KAAK,gBACtB,EAAM,iBAAiB,YACvB,CAAC,KAAK,sBAIR,KAAK,oBAAoB,IACzB,KAAK,mBAAmB,KAAK,KAAK;oCAKO,MAAiC;AAExE,KAAM,WAAW,KAAK,gBACtB,EAAM,iBAAiB,YACvB,CAAC,KAAK,sBAIR,KAAK,oBAAoB,IACzB,KAAK,mBAAmB,KAAK,KAAK;;;CA7HpC,IACW,OAAgB;AACzB,SAAO,KAAK;;CAGd,IAAW,KAAK,GAAgB;AAI9B,MAHI,KAAK,cAAc,CAAC,KAAK,WAAW,IAAI,MAAU,KAAK,SAGvD,MAAU,KAAK,MACjB;EAEF,IAAM,IAAW,KAAK;AAOtB,EANA,KAAK,QAAQ,GACT,IACF,KAAK,aAAa,QAAQ,GAAG,GAE7B,KAAK,gBAAgB,OAAO,EAE9B,KAAK,cAAc,QAAQ,EAAS;;CAmDtC,IAAc,aAAsB;AAClC,SAAO,KAAK,aAAa;;CAQ3B,YAA+B;AAC7B,SAAO,CAAC,KAAK,YAAY,CAAC,KAAK;;CAGjC,IAAY,eAAmC;;AAC7C,UAAA,KAAA,IAAO,KAAK,eAAA,OAAA,KAAA,IAAA,EAAY,eAAe,UAAU,KAAA,OAAI,OAAJ;;CAGnD,mBAA2B,GAAuB;AAChD,OAAK,cACH,IAAI,MACF,IACI,IACA,GACJ;GAAE,SAAS;GAAM,UAAU;GAAM,CAClC,CACF;;CAwCH,SAAyB;AACvB,MAAI,CAAC,KAAK,WAAW,CACnB;AAEF,OAAK,OAAO,CAAC,KAAK;EAClB,IAAM,IAAc,IAAI,MAAM,GAAiC;GAC7D,SAAS;GACT,UAAU;GACV,YAAY;GACb,CAAC;AACF,MAAI,CAAC,KAAK,cAAc,EAAY,EAAE;AACpC,QAAK,OAAO,CAAC,KAAK;AAClB;;EAEF,IAAM,IAAS,KAAK;AACpB,OAAK,cACH,IAAI,MACF,IAAS,IAAgC,GACzC;GACE,SAAS;GACT,UAAU;GACX,CACF,CACF;EACD,IAAM,IAAQ,KAAK;AACnB,EAAI,CAAC,KAAS,iBAAiB,EAAM,CAAC,uBAAuB,OAC3D,KAAK,mBAAmB,EAAO,GAE/B,KAAK,oBAAoB;;CAQ7B,kBAAyB,GAAsC;AAC7D,OAAK,eAAe;;CAOtB,yBAAgC,GAAyB;AACvD,OAAK,iBAAiB;;CAGxB,aAAgC,GAAyC;;AAMvE,EALA,MAAM,aAAa,EAAkB,GACrC,IAAA,KAAK,iBAAA,QAAA,EAAc,iBACjB,iBACA,KAAK,oBACN,GACD,IAAA,KAAK,iBAAA,QAAA,EAAc,iBACjB,oBACA,KAAK,uBACN;;CAGH,oBAA0C;AAExC,MADA,MAAM,mBAAmB,EACrB,KAAK,YAAY;;AAKnB,IAJA,IAAA,KAAK,iBAAA,QAAA,EAAc,iBACjB,iBACA,KAAK,oBACN,GACD,IAAA,KAAK,iBAAA,QAAA,EAAc,iBACjB,oBACA,KAAK,uBACN;;;CAIL,uBAA6C;;AAM3C,EALA,MAAM,sBAAsB,GAC5B,IAAA,KAAK,iBAAA,QAAA,EAAc,oBACjB,iBACA,KAAK,oBACN,GACD,IAAA,KAAK,iBAAA,QAAA,EAAc,oBACjB,oBACA,KAAK,uBACN;;;GA1NF,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,KA0B1C,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAO1C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAczC,GAAO,CAAA,EAAA,EAAA,WAAA,gBAAA,KAAA,EAAA,KAUP,GAAO,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright 2026 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ export * from './Accordion.base.js';
13
+ export * from './AccordionItem.base.js';
14
+ export * from './Accordion.types.js';
@@ -0,0 +1,4 @@
1
+ import { ACCORDION_DENSITIES as e, ACCORDION_HEADING_LEVELS as t, ACCORDION_VALID_SIZES as n, SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT as r, SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT as i, SWC_ACCORDION_ITEM_CLOSE_EVENT as a, SWC_ACCORDION_ITEM_OPEN_EVENT as o, SWC_ACCORDION_ITEM_TOGGLE_EVENT as s } from "./Accordion.types.js";
2
+ import { AccordionItemBase as c } from "./AccordionItem.base.js";
3
+ import { AccordionBase as l } from "./Accordion.base.js";
4
+ export { e as ACCORDION_DENSITIES, t as ACCORDION_HEADING_LEVELS, n as ACCORDION_VALID_SIZES, l as AccordionBase, c as AccordionItemBase, r as SWC_ACCORDION_ITEM_AFTER_CLOSE_EVENT, i as SWC_ACCORDION_ITEM_AFTER_OPEN_EVENT, a as SWC_ACCORDION_ITEM_CLOSE_EVENT, o as SWC_ACCORDION_ITEM_OPEN_EVENT, s as SWC_ACCORDION_ITEM_TOGGLE_EVENT };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2026 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ export declare const ACTION_BUTTON_VALID_SIZES: readonly ["xs", "s", "m", "l", "xl"];
13
+ export declare const ACTION_BUTTON_STATIC_COLORS: readonly ["white", "black"];
14
+ export type ActionButtonSize = (typeof ACTION_BUTTON_VALID_SIZES)[number];
15
+ export type ActionButtonStaticColor = (typeof ACTION_BUTTON_STATIC_COLORS)[number];
@@ -0,0 +1,12 @@
1
+ //#region components/action-button/ActionButton.types.ts
2
+ var e = [
3
+ "xs",
4
+ "s",
5
+ "m",
6
+ "l",
7
+ "xl"
8
+ ], t = ["white", "black"];
9
+ //#endregion
10
+ export { t as ACTION_BUTTON_STATIC_COLORS, e as ACTION_BUTTON_VALID_SIZES };
11
+
12
+ //# sourceMappingURL=ActionButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionButton.types.js","names":[],"sources":["../../../components/action-button/ActionButton.types.ts"],"sourcesContent":["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ElementSize } from '@adobe/spectrum-wc-core/mixins/index.js';\n\n// ──────────────────\n// SHARED\n// ──────────────────\n\nexport const ACTION_BUTTON_VALID_SIZES = [\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n] as const satisfies readonly ElementSize[];\n\nexport const ACTION_BUTTON_STATIC_COLORS = ['white', 'black'] as const;\n\n// ──────────────────\n// TYPES\n// ──────────────────\n\nexport type ActionButtonSize = (typeof ACTION_BUTTON_VALID_SIZES)[number];\nexport type ActionButtonStaticColor =\n (typeof ACTION_BUTTON_STATIC_COLORS)[number];\n"],"mappings":";AAkBA,IAAa,IAA4B;CACvC;CACA;CACA;CACA;CACA;CACD,EAEY,IAA8B,CAAC,SAAS,QAAQ"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright 2026 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ export * from './ActionButton.types.js';
@@ -0,0 +1,2 @@
1
+ import { ACTION_BUTTON_STATIC_COLORS as e, ACTION_BUTTON_VALID_SIZES as t } from "./ActionButton.types.js";
2
+ export { e as ACTION_BUTTON_STATIC_COLORS, t as ACTION_BUTTON_VALID_SIZES };