@adobe/spectrum-wc-core 0.4.0-snapshot-test.20260714143259

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 (269) 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/_virtual/_@oxc-project_runtime@0.124.0/helpers/defineProperty.js +12 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.124.0/helpers/toPrimitive.js +14 -0
  5. package/dist/_virtual/_@oxc-project_runtime@0.124.0/helpers/toPropertyKey.js +9 -0
  6. package/dist/_virtual/_@oxc-project_runtime@0.124.0/helpers/typeof.js +11 -0
  7. package/dist/components/accordion/Accordion.base.d.ts +61 -0
  8. package/dist/components/accordion/Accordion.base.js +71 -0
  9. package/dist/components/accordion/Accordion.base.js.map +1 -0
  10. package/dist/components/accordion/Accordion.types.d.ts +22 -0
  11. package/dist/components/accordion/Accordion.types.js +21 -0
  12. package/dist/components/accordion/Accordion.types.js.map +1 -0
  13. package/dist/components/accordion/AccordionItem.base.d.ts +86 -0
  14. package/dist/components/accordion/AccordionItem.base.js +90 -0
  15. package/dist/components/accordion/AccordionItem.base.js.map +1 -0
  16. package/dist/components/accordion/index.d.ts +14 -0
  17. package/dist/components/accordion/index.js +4 -0
  18. package/dist/components/action-button/ActionButton.types.d.ts +15 -0
  19. package/dist/components/action-button/ActionButton.types.js +12 -0
  20. package/dist/components/action-button/ActionButton.types.js.map +1 -0
  21. package/dist/components/action-button/index.d.ts +12 -0
  22. package/dist/components/action-button/index.js +2 -0
  23. package/dist/components/alert-banner/AlertBanner.base.d.ts +36 -0
  24. package/dist/components/alert-banner/AlertBanner.base.js +56 -0
  25. package/dist/components/alert-banner/AlertBanner.base.js.map +1 -0
  26. package/dist/components/alert-banner/AlertBanner.types.d.ts +13 -0
  27. package/dist/components/alert-banner/AlertBanner.types.js +10 -0
  28. package/dist/components/alert-banner/AlertBanner.types.js.map +1 -0
  29. package/dist/components/alert-banner/index.d.ts +13 -0
  30. package/dist/components/alert-banner/index.js +3 -0
  31. package/dist/components/asset/Asset.base.d.ts +22 -0
  32. package/dist/components/asset/Asset.base.js +25 -0
  33. package/dist/components/asset/Asset.base.js.map +1 -0
  34. package/dist/components/asset/Asset.types.d.ts +13 -0
  35. package/dist/components/asset/Asset.types.js +6 -0
  36. package/dist/components/asset/Asset.types.js.map +1 -0
  37. package/dist/components/asset/index.d.ts +13 -0
  38. package/dist/components/asset/index.js +3 -0
  39. package/dist/components/avatar/Avatar.base.d.ts +53 -0
  40. package/dist/components/avatar/Avatar.base.js +56 -0
  41. package/dist/components/avatar/Avatar.base.js.map +1 -0
  42. package/dist/components/avatar/Avatar.types.d.ts +19 -0
  43. package/dist/components/avatar/Avatar.types.js +24 -0
  44. package/dist/components/avatar/Avatar.types.js.map +1 -0
  45. package/dist/components/avatar/index.d.ts +13 -0
  46. package/dist/components/avatar/index.js +3 -0
  47. package/dist/components/badge/Badge.base.d.ts +98 -0
  48. package/dist/components/badge/Badge.base.js +44 -0
  49. package/dist/components/badge/Badge.base.js.map +1 -0
  50. package/dist/components/badge/Badge.types.d.ts +21 -0
  51. package/dist/components/badge/Badge.types.js +43 -0
  52. package/dist/components/badge/Badge.types.js.map +1 -0
  53. package/dist/components/badge/index.d.ts +13 -0
  54. package/dist/components/badge/index.js +3 -0
  55. package/dist/components/button/Button.base.d.ts +99 -0
  56. package/dist/components/button/Button.base.js +75 -0
  57. package/dist/components/button/Button.base.js.map +1 -0
  58. package/dist/components/button/Button.types.d.ts +19 -0
  59. package/dist/components/button/Button.types.js +16 -0
  60. package/dist/components/button/Button.types.js.map +1 -0
  61. package/dist/components/button/index.d.ts +13 -0
  62. package/dist/components/button/index.js +3 -0
  63. package/dist/components/button-group/ButtonGroup.base.d.ts +89 -0
  64. package/dist/components/button-group/ButtonGroup.base.js +53 -0
  65. package/dist/components/button-group/ButtonGroup.base.js.map +1 -0
  66. package/dist/components/button-group/ButtonGroup.types.d.ts +17 -0
  67. package/dist/components/button-group/ButtonGroup.types.js +15 -0
  68. package/dist/components/button-group/ButtonGroup.types.js.map +1 -0
  69. package/dist/components/button-group/index.d.ts +13 -0
  70. package/dist/components/button-group/index.js +3 -0
  71. package/dist/components/card/Card.base.d.ts +123 -0
  72. package/dist/components/card/Card.base.js +75 -0
  73. package/dist/components/card/Card.base.js.map +1 -0
  74. package/dist/components/card/Card.types.d.ts +17 -0
  75. package/dist/components/card/Card.types.js +21 -0
  76. package/dist/components/card/Card.types.js.map +1 -0
  77. package/dist/components/card/index.d.ts +13 -0
  78. package/dist/components/card/index.js +3 -0
  79. package/dist/components/color-handle/ColorHandle.base.d.ts +51 -0
  80. package/dist/components/color-handle/ColorHandle.base.js +39 -0
  81. package/dist/components/color-handle/ColorHandle.base.js.map +1 -0
  82. package/dist/components/color-handle/ColorHandle.types.d.ts +30 -0
  83. package/dist/components/color-handle/color-contrast.d.ts +55 -0
  84. package/dist/components/color-handle/color-contrast.js +49 -0
  85. package/dist/components/color-handle/color-contrast.js.map +1 -0
  86. package/dist/components/color-handle/index.d.ts +14 -0
  87. package/dist/components/color-handle/index.js +3 -0
  88. package/dist/components/color-loupe/ColorLoupe.base.d.ts +26 -0
  89. package/dist/components/color-loupe/ColorLoupe.base.js +17 -0
  90. package/dist/components/color-loupe/ColorLoupe.base.js.map +1 -0
  91. package/dist/components/color-loupe/index.d.ts +12 -0
  92. package/dist/components/color-loupe/index.js +2 -0
  93. package/dist/components/divider/Divider.base.d.ts +43 -0
  94. package/dist/components/divider/Divider.base.js +37 -0
  95. package/dist/components/divider/Divider.base.js.map +1 -0
  96. package/dist/components/divider/Divider.types.d.ts +15 -0
  97. package/dist/components/divider/Divider.types.js +10 -0
  98. package/dist/components/divider/Divider.types.js.map +1 -0
  99. package/dist/components/divider/index.d.ts +13 -0
  100. package/dist/components/divider/index.js +3 -0
  101. package/dist/components/icon/Icon.base.d.ts +32 -0
  102. package/dist/components/icon/Icon.base.js +35 -0
  103. package/dist/components/icon/Icon.base.js.map +1 -0
  104. package/dist/components/icon/Icon.types.d.ts +13 -0
  105. package/dist/components/icon/Icon.types.js +12 -0
  106. package/dist/components/icon/Icon.types.js.map +1 -0
  107. package/dist/components/icon/index.d.ts +13 -0
  108. package/dist/components/icon/index.js +3 -0
  109. package/dist/components/illustrated-message/IllustratedMessage.base.d.ts +46 -0
  110. package/dist/components/illustrated-message/IllustratedMessage.base.js +46 -0
  111. package/dist/components/illustrated-message/IllustratedMessage.base.js.map +1 -0
  112. package/dist/components/illustrated-message/IllustratedMessage.types.d.ts +15 -0
  113. package/dist/components/illustrated-message/IllustratedMessage.types.js +10 -0
  114. package/dist/components/illustrated-message/IllustratedMessage.types.js.map +1 -0
  115. package/dist/components/illustrated-message/index.d.ts +13 -0
  116. package/dist/components/illustrated-message/index.js +3 -0
  117. package/dist/components/meter/Meter.base.d.ts +40 -0
  118. package/dist/components/meter/Meter.base.js +30 -0
  119. package/dist/components/meter/Meter.base.js.map +1 -0
  120. package/dist/components/meter/Meter.types.d.ts +13 -0
  121. package/dist/components/meter/Meter.types.js +11 -0
  122. package/dist/components/meter/Meter.types.js.map +1 -0
  123. package/dist/components/meter/index.d.ts +13 -0
  124. package/dist/components/meter/index.js +3 -0
  125. package/dist/components/popover/Popover.base.d.ts +223 -0
  126. package/dist/components/popover/Popover.base.js +270 -0
  127. package/dist/components/popover/Popover.base.js.map +1 -0
  128. package/dist/components/popover/Popover.types.d.ts +39 -0
  129. package/dist/components/popover/Popover.types.js +24 -0
  130. package/dist/components/popover/Popover.types.js.map +1 -0
  131. package/dist/components/popover/index.d.ts +13 -0
  132. package/dist/components/popover/index.js +3 -0
  133. package/dist/components/progress-circle/ProgressCircle.base.d.ts +91 -0
  134. package/dist/components/progress-circle/ProgressCircle.base.js +73 -0
  135. package/dist/components/progress-circle/ProgressCircle.base.js.map +1 -0
  136. package/dist/components/progress-circle/ProgressCircle.types.d.ts +15 -0
  137. package/dist/components/progress-circle/ProgressCircle.types.js +10 -0
  138. package/dist/components/progress-circle/ProgressCircle.types.js.map +1 -0
  139. package/dist/components/progress-circle/index.d.ts +13 -0
  140. package/dist/components/progress-circle/index.js +3 -0
  141. package/dist/components/status-light/StatusLight.base.d.ts +65 -0
  142. package/dist/components/status-light/StatusLight.base.js +29 -0
  143. package/dist/components/status-light/StatusLight.base.js.map +1 -0
  144. package/dist/components/status-light/StatusLight.types.d.ts +19 -0
  145. package/dist/components/status-light/StatusLight.types.js +32 -0
  146. package/dist/components/status-light/StatusLight.types.js.map +1 -0
  147. package/dist/components/status-light/index.d.ts +13 -0
  148. package/dist/components/status-light/index.js +3 -0
  149. package/dist/components/tabs/Tab.base.d.ts +49 -0
  150. package/dist/components/tabs/Tab.base.js +39 -0
  151. package/dist/components/tabs/Tab.base.js.map +1 -0
  152. package/dist/components/tabs/Tab.types.d.ts +17 -0
  153. package/dist/components/tabs/TabPanel.base.d.ts +49 -0
  154. package/dist/components/tabs/TabPanel.base.js +36 -0
  155. package/dist/components/tabs/TabPanel.base.js.map +1 -0
  156. package/dist/components/tabs/TabPanel.types.d.ts +17 -0
  157. package/dist/components/tabs/Tabs.base.d.ts +235 -0
  158. package/dist/components/tabs/Tabs.base.js +225 -0
  159. package/dist/components/tabs/Tabs.base.js.map +1 -0
  160. package/dist/components/tabs/Tabs.types.d.ts +55 -0
  161. package/dist/components/tabs/Tabs.types.js +6 -0
  162. package/dist/components/tabs/Tabs.types.js.map +1 -0
  163. package/dist/components/tabs/index.d.ts +17 -0
  164. package/dist/components/tabs/index.js +5 -0
  165. package/dist/components/tooltip/Tooltip.base.d.ts +154 -0
  166. package/dist/components/tooltip/Tooltip.base.js +163 -0
  167. package/dist/components/tooltip/Tooltip.base.js.map +1 -0
  168. package/dist/components/tooltip/Tooltip.types.d.ts +18 -0
  169. package/dist/components/tooltip/Tooltip.types.js +15 -0
  170. package/dist/components/tooltip/Tooltip.types.js.map +1 -0
  171. package/dist/components/tooltip/index.d.ts +13 -0
  172. package/dist/components/tooltip/index.js +3 -0
  173. package/dist/controllers/color-controller/index.d.ts +12 -0
  174. package/dist/controllers/color-controller/index.js +1 -0
  175. package/dist/controllers/color-controller/src/color-controller.d.ts +226 -0
  176. package/dist/controllers/color-controller/src/color-controller.js +252 -0
  177. package/dist/controllers/color-controller/src/color-controller.js.map +1 -0
  178. package/dist/controllers/focusgroup-navigation-controller/index.d.ts +12 -0
  179. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.d.ts +477 -0
  180. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.js +342 -0
  181. package/dist/controllers/focusgroup-navigation-controller/src/focusgroup-navigation-controller.js.map +1 -0
  182. package/dist/controllers/hover-controller/index.d.ts +12 -0
  183. package/dist/controllers/hover-controller/src/hover-controller.d.ts +118 -0
  184. package/dist/controllers/hover-controller/src/hover-controller.js +90 -0
  185. package/dist/controllers/hover-controller/src/hover-controller.js.map +1 -0
  186. package/dist/controllers/index.d.ts +20 -0
  187. package/dist/controllers/index.js +11 -0
  188. package/dist/controllers/language-resolution.d.ts +87 -0
  189. package/dist/controllers/language-resolution.js +56 -0
  190. package/dist/controllers/language-resolution.js.map +1 -0
  191. package/dist/controllers/page-scroll-lock.d.ts +20 -0
  192. package/dist/controllers/page-scroll-lock.js +30 -0
  193. package/dist/controllers/page-scroll-lock.js.map +1 -0
  194. package/dist/controllers/placement-controller/index.d.ts +12 -0
  195. package/dist/controllers/placement-controller/index.js +3 -0
  196. package/dist/controllers/placement-controller/src/fallback-placements.d.ts +9 -0
  197. package/dist/controllers/placement-controller/src/fallback-placements.js +71 -0
  198. package/dist/controllers/placement-controller/src/fallback-placements.js.map +1 -0
  199. package/dist/controllers/placement-controller/src/placement-controller.d.ts +152 -0
  200. package/dist/controllers/placement-controller/src/placement-controller.js +129 -0
  201. package/dist/controllers/placement-controller/src/placement-controller.js.map +1 -0
  202. package/dist/controllers/placement-controller/src/placement-conversion.d.ts +35 -0
  203. package/dist/controllers/placement-controller/src/placement-conversion.js +54 -0
  204. package/dist/controllers/placement-controller/src/placement-conversion.js.map +1 -0
  205. package/dist/controllers/placement-controller/src/types.d.ts +128 -0
  206. package/dist/controllers/placement-controller/src/types.js +29 -0
  207. package/dist/controllers/placement-controller/src/types.js.map +1 -0
  208. package/dist/controllers/slot-attribute-propagation/index.d.ts +12 -0
  209. package/dist/controllers/slot-attribute-propagation/src/slot-attribute-propagation-controller.d.ts +55 -0
  210. package/dist/controllers/slot-attribute-propagation/src/slot-attribute-propagation-controller.js +32 -0
  211. package/dist/controllers/slot-attribute-propagation/src/slot-attribute-propagation-controller.js.map +1 -0
  212. package/dist/element/define-element.d.ts +16 -0
  213. package/dist/element/define-element.js +8 -0
  214. package/dist/element/define-element.js.map +1 -0
  215. package/dist/element/index.d.ts +14 -0
  216. package/dist/element/index.js +4 -0
  217. package/dist/element/spectrum-element.d.ts +26 -0
  218. package/dist/element/spectrum-element.js +66 -0
  219. package/dist/element/spectrum-element.js.map +1 -0
  220. package/dist/element/version.d.ts +19 -0
  221. package/dist/element/version.js +6 -0
  222. package/dist/element/version.js.map +1 -0
  223. package/dist/mixins/disabled-mixin.d.ts +30 -0
  224. package/dist/mixins/disabled-mixin.js +27 -0
  225. package/dist/mixins/disabled-mixin.js.map +1 -0
  226. package/dist/mixins/index.d.ts +17 -0
  227. package/dist/mixins/index.js +6 -0
  228. package/dist/mixins/linear-progress-mixin.d.ts +42 -0
  229. package/dist/mixins/linear-progress-mixin.js +111 -0
  230. package/dist/mixins/linear-progress-mixin.js.map +1 -0
  231. package/dist/mixins/observe-slot-presence.d.ts +12 -0
  232. package/dist/mixins/observe-slot-presence.js +40 -0
  233. package/dist/mixins/observe-slot-presence.js.map +1 -0
  234. package/dist/mixins/observe-slot-text.d.ts +11 -0
  235. package/dist/mixins/observe-slot-text.js +60 -0
  236. package/dist/mixins/observe-slot-text.js.map +1 -0
  237. package/dist/mixins/sized-mixin.d.ts +21 -0
  238. package/dist/mixins/sized-mixin.js +42 -0
  239. package/dist/mixins/sized-mixin.js.map +1 -0
  240. package/dist/utils/actual-placement.d.ts +10 -0
  241. package/dist/utils/actual-placement.js +8 -0
  242. package/dist/utils/actual-placement.js.map +1 -0
  243. package/dist/utils/capitalize.d.ts +26 -0
  244. package/dist/utils/capitalize.js +8 -0
  245. package/dist/utils/capitalize.js.map +1 -0
  246. package/dist/utils/deep-contains.d.ts +26 -0
  247. package/dist/utils/deep-contains.js +14 -0
  248. package/dist/utils/deep-contains.js.map +1 -0
  249. package/dist/utils/dismissible-stack.d.ts +26 -0
  250. package/dist/utils/dismissible-stack.js +16 -0
  251. package/dist/utils/dismissible-stack.js.map +1 -0
  252. package/dist/utils/focusable-selectors.d.ts +43 -0
  253. package/dist/utils/focusable-selectors.js +18 -0
  254. package/dist/utils/focusable-selectors.js.map +1 -0
  255. package/dist/utils/get-active-element.d.ts +31 -0
  256. package/dist/utils/get-active-element.js +11 -0
  257. package/dist/utils/get-active-element.js.map +1 -0
  258. package/dist/utils/get-label-from-slot.d.ts +12 -0
  259. package/dist/utils/get-label-from-slot.js +10 -0
  260. package/dist/utils/get-label-from-slot.js.map +1 -0
  261. package/dist/utils/index.d.ts +20 -0
  262. package/dist/utils/index.js +10 -0
  263. package/dist/utils/resolve-trigger.d.ts +42 -0
  264. package/dist/utils/resolve-trigger.js +23 -0
  265. package/dist/utils/resolve-trigger.js.map +1 -0
  266. package/dist/utils/transition.d.ts +53 -0
  267. package/dist/utils/transition.js +26 -0
  268. package/dist/utils/transition.js.map +1 -0
  269. package/package.json +400 -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 2nd-gen 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,12 @@
1
+ import { toPropertyKey as e } from "./toPropertyKey.js";
2
+ //#region \0@oxc-project+runtime@0.124.0/helpers/defineProperty.js
3
+ function t(t, n, r) {
4
+ return (n = e(n)) in t ? Object.defineProperty(t, n, {
5
+ value: r,
6
+ enumerable: !0,
7
+ configurable: !0,
8
+ writable: !0
9
+ }) : t[n] = r, t;
10
+ }
11
+ //#endregion
12
+ export { t as _defineProperty };
@@ -0,0 +1,14 @@
1
+ import { _typeof as e } from "./typeof.js";
2
+ //#region \0@oxc-project+runtime@0.124.0/helpers/toPrimitive.js
3
+ function t(t, n) {
4
+ if (e(t) != "object" || !t) return t;
5
+ var r = t[Symbol.toPrimitive];
6
+ if (r !== void 0) {
7
+ var i = r.call(t, n || "default");
8
+ if (e(i) != "object") return i;
9
+ throw TypeError("@@toPrimitive must return a primitive value.");
10
+ }
11
+ return (n === "string" ? String : Number)(t);
12
+ }
13
+ //#endregion
14
+ export { t as toPrimitive };
@@ -0,0 +1,9 @@
1
+ import { _typeof as e } from "./typeof.js";
2
+ import { toPrimitive as t } from "./toPrimitive.js";
3
+ //#region \0@oxc-project+runtime@0.124.0/helpers/toPropertyKey.js
4
+ function n(n) {
5
+ var r = t(n, "string");
6
+ return e(r) == "symbol" ? r : r + "";
7
+ }
8
+ //#endregion
9
+ export { n as toPropertyKey };
@@ -0,0 +1,11 @@
1
+ //#region \0@oxc-project+runtime@0.124.0/helpers/typeof.js
2
+ function e(t) {
3
+ "@babel/helpers - typeof";
4
+ return e = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
5
+ return typeof e;
6
+ } : function(e) {
7
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
8
+ }, e(t);
9
+ }
10
+ //#endregion
11
+ export { e as _typeof };
@@ -0,0 +1,61 @@
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 closeSiblingsOnOpen;
55
+ protected syncAccordionItems(): void;
56
+ private enforceExclusiveOpen;
57
+ connectedCallback(): void;
58
+ disconnectedCallback(): void;
59
+ protected update(changedProperties: PropertyValues): void;
60
+ }
61
+ export {};
@@ -0,0 +1,71 @@
1
+ import { ACCORDION_VALID_SIZES as e, SWC_ACCORDION_ITEM_TOGGLE_EVENT as t } from "./Accordion.types.js";
2
+ import { __decorate as n } from "../../_virtual/_@oxc-project_runtime@0.124.0/helpers/decorate.js";
3
+ import { AccordionItemBase as r } from "./AccordionItem.base.js";
4
+ import { property as i } from "lit/decorators.js";
5
+ import { SpectrumElement as a } from "@adobe/spectrum-wc-core/element/index.js";
6
+ import { SizedMixin as o } from "@adobe/spectrum-wc-core/mixins/index.js";
7
+ //#region components/accordion/Accordion.base.ts
8
+ var s = class extends o(a, {
9
+ validSizes: e,
10
+ defaultSize: "m"
11
+ }) {
12
+ constructor(...e) {
13
+ super(...e), this.allowMultiple = !1, this.level = 3, this.density = "regular", this.quiet = !1, this.disabled = !1, this.closeSiblingsOnOpen = (e) => {
14
+ if (this.disabled) {
15
+ e.preventDefault();
16
+ return;
17
+ }
18
+ if (this.allowMultiple) return;
19
+ let t = e.target;
20
+ t instanceof r && queueMicrotask(() => {
21
+ if (t.open) for (let e of this.assignedItems()) e !== t && (e.open = !1);
22
+ });
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 r) : [];
29
+ }
30
+ syncAccordionItems() {
31
+ for (let e of this.assignedItems()) e.setManagedHeading(this.level), e.size = this.size, e.setManagedParentDisabled(this.disabled);
32
+ }
33
+ enforceExclusiveOpen() {
34
+ let e = !1;
35
+ for (let t of this.assignedItems()) t.open && (e ? t.open = !1 : e = !0);
36
+ }
37
+ connectedCallback() {
38
+ super.connectedCallback(), this.addEventListener(t, this.closeSiblingsOnOpen);
39
+ }
40
+ disconnectedCallback() {
41
+ super.disconnectedCallback(), this.removeEventListener(t, this.closeSiblingsOnOpen);
42
+ }
43
+ update(e) {
44
+ if (e.has("level")) {
45
+ let e = Math.min(6, Math.max(2, this.level));
46
+ this.level !== e && (this.level = e);
47
+ }
48
+ (e.has("level") || e.has("size") || e.has("disabled")) && this.syncAccordionItems(), e.has("disabled") && e.get("disabled") === !0 && !this.allowMultiple && this.enforceExclusiveOpen(), super.update(e);
49
+ }
50
+ };
51
+ n([i({
52
+ type: Boolean,
53
+ reflect: !0,
54
+ attribute: "allow-multiple"
55
+ })], s.prototype, "allowMultiple", void 0), n([i({
56
+ type: Number,
57
+ reflect: !0
58
+ })], s.prototype, "level", void 0), n([i({
59
+ type: String,
60
+ reflect: !0
61
+ })], s.prototype, "density", void 0), n([i({
62
+ type: Boolean,
63
+ reflect: !0
64
+ })], s.prototype, "quiet", void 0), n([i({
65
+ type: Boolean,
66
+ reflect: !0
67
+ })], s.prototype, "disabled", void 0);
68
+ //#endregion
69
+ export { s as AccordionBase };
70
+
71
+ //# 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 { SpectrumElement } from '@adobe/spectrum-wc-core/element/index.js';\nimport { SizedMixin } from '@adobe/spectrum-wc-core/mixins/index.js';\n\nimport {\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 private closeSiblingsOnOpen = (event: Event): void => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n if (this.allowMultiple) {\n return;\n }\n const toggling = event.target;\n if (!(toggling instanceof AccordionItemBase)) {\n return;\n }\n // Defer until after dispatch returns so that a canceled toggle (where the\n // item reverts open back to false) does not incorrectly close siblings.\n queueMicrotask(() => {\n if (!toggling.open) {\n return;\n }\n for (const item of this.assignedItems()) {\n if (item !== toggling) {\n item.open = false;\n }\n }\n });\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 private enforceExclusiveOpen(): void {\n let foundOpen = false;\n for (const item of this.assignedItems()) {\n if (item.open) {\n if (foundOpen) {\n item.open = false;\n } else {\n foundOpen = true;\n }\n }\n }\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\n SWC_ACCORDION_ITEM_TOGGLE_EVENT,\n this.closeSiblingsOnOpen\n );\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener(\n SWC_ACCORDION_ITEM_TOGGLE_EVENT,\n this.closeSiblingsOnOpen\n );\n }\n\n protected override update(changedProperties: PropertyValues): void {\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 // changedProperties.get() returns the previous value; this fires only when\n // disabled transitions from true → false (re-enable).\n if (\n changedProperties.has('disabled') &&\n changedProperties.get('disabled') === true &&\n !this.allowMultiple\n ) {\n this.enforceExclusiveOpen();\n }\n super.update(changedProperties);\n }\n}\n"],"mappings":";;;;;;;AA0CA,IAAsB,IAAtB,cAA4C,EAAW,GAAiB;CACtE,YAAY;CACZ,aAAa;CACd,CAAC,CAAC;;oCAU+B,iBAOM,kBAaH,wBAMX,oBAOG,gCAgBI,MAAuB;AACpD,OAAI,KAAK,UAAU;AACjB,MAAM,gBAAgB;AACtB;;AAEF,OAAI,KAAK,cACP;GAEF,IAAM,IAAW,EAAM;AACjB,gBAAoB,KAK1B,qBAAqB;AACd,UAAS,KAGd,MAAK,IAAM,KAAQ,KAAK,eAAe,CACrC,CAAI,MAAS,MACX,EAAK,OAAO;KAGhB;;;CAjCJ,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;;CAiCb,qBAAqC;AACnC,OAAK,IAAM,KAAQ,KAAK,eAAe,CAGrC,CAFA,EAAK,kBAAkB,KAAK,MAAM,EAClC,EAAK,OAAO,KAAK,MACjB,EAAK,yBAAyB,KAAK,SAAS;;CAIhD,uBAAqC;EACnC,IAAI,IAAY;AAChB,OAAK,IAAM,KAAQ,KAAK,eAAe,CACrC,CAAI,EAAK,SACH,IACF,EAAK,OAAO,KAEZ,IAAY;;CAMpB,oBAA0C;AAExC,EADA,MAAM,mBAAmB,EACzB,KAAK,iBACH,GACA,KAAK,oBACN;;CAGH,uBAA6C;AAE3C,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBACH,GACA,KAAK,oBACN;;CAGH,OAA0B,GAAyC;AACjE,MAAI,EAAkB,IAAI,QAAQ,EAAE;GAClC,IAAM,IAAU,KAAK,IACnB,GACA,KAAK,IAAI,GAAG,KAAK,MAAM,CACxB;AACD,GAAI,KAAK,UAAU,MACjB,KAAK,QAAQ;;AAmBjB,GAfE,EAAkB,IAAI,QAAQ,IAC9B,EAAkB,IAAI,OAAO,IAC7B,EAAkB,IAAI,WAAW,KAEjC,KAAK,oBAAoB,EAKzB,EAAkB,IAAI,WAAW,IACjC,EAAkB,IAAI,WAAW,KAAK,MACtC,CAAC,KAAK,iBAEN,KAAK,sBAAsB,EAE7B,MAAM,OAAO,EAAkB;;;GA3IhC,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,86 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { SpectrumElement } from '../../element/index.js';
3
+ import { AccordionHeadingLevel, AccordionSize } from './Accordion.types.js';
4
+ declare const AccordionItemBase_base: typeof SpectrumElement & {
5
+ new (...args: any[]): import('../../mixins/observe-slot-presence.js').SlotPresenceObservingInterface;
6
+ prototype: import('../../mixins/observe-slot-presence.js').SlotPresenceObservingInterface;
7
+ };
8
+ /**
9
+ * Base class for accordion item components. Manages open/disabled state,
10
+ * heading level (set by the parent accordion), and the toggle event.
11
+ *
12
+ * @attribute {boolean} open - Whether the accordion item panel is expanded.
13
+ * @attribute {boolean} disabled - Whether the accordion item is disabled.
14
+ * @attribute {AccordionSize} size - Size of the item. Inherited from the parent
15
+ * accordion when slotted; controls the chevron icon when used standalone.
16
+ *
17
+ * @slot label - The heading text for this accordion item.
18
+ * @slot actions - Optional actions rendered adjacent to the heading, outside
19
+ * the toggle button so they remain independently interactive.
20
+ * @slot - The panel content revealed when the item is open.
21
+ */
22
+ export declare abstract class AccordionItemBase extends AccordionItemBase_base {
23
+ /**
24
+ * Whether the accordion item panel is expanded.
25
+ */
26
+ get open(): boolean;
27
+ set open(value: boolean);
28
+ /**
29
+ * Whether the accordion item is disabled. A disabled item keeps its header
30
+ * in the tab order but blocks toggling.
31
+ */
32
+ disabled: boolean;
33
+ /**
34
+ * The size of the item. Inherited from the parent accordion; controls which
35
+ * chevron icon is displayed. Has no effect when the item is used standalone.
36
+ */
37
+ size?: AccordionSize;
38
+ private _open;
39
+ /**
40
+ * @internal
41
+ * Heading level (2–6) propagated by the parent accordion. Defaults to 3
42
+ * for standalone items.
43
+ */
44
+ protected headingLevel: AccordionHeadingLevel;
45
+ /**
46
+ * @internal
47
+ * Set by the parent accordion when its own `disabled` is true. Causes the
48
+ * item to render as disabled (aria-disabled + inert panel) without clobbering
49
+ * the item's own `disabled` property, so the per-item state is preserved
50
+ * when the accordion is re-enabled.
51
+ */
52
+ protected parentDisabled: boolean;
53
+ /**
54
+ * @internal
55
+ * Whether the item may change `open` (expand or collapse). When false, the
56
+ * `open` setter and `toggle()` leave state unchanged.
57
+ */
58
+ protected mayExpand(): boolean;
59
+ private get contentPanel();
60
+ private dispatchAfterEvent;
61
+ private afterEventPending;
62
+ private readonly handleTransitionEnd;
63
+ private readonly handleTransitionCancel;
64
+ /**
65
+ * @internal
66
+ * Toggles the item open state. Guards for disabled, flips `open`, dispatches
67
+ * the toggle event, and reverts if the event is canceled. On success, dispatches
68
+ * `swc-after-open` or `swc-after-close` after the panel height transition ends,
69
+ * or immediately if no transition is active.
70
+ */
71
+ protected toggle(): void;
72
+ /**
73
+ * @internal
74
+ * Synchronizes parent-managed heading level onto the item.
75
+ */
76
+ setManagedHeading(heading: AccordionHeadingLevel): void;
77
+ /**
78
+ * @internal
79
+ * Synchronizes parent-managed disabled state onto the item.
80
+ */
81
+ setManagedParentDisabled(disabled: boolean): void;
82
+ protected firstUpdated(changedProperties: PropertyValues): void;
83
+ connectedCallback(): void;
84
+ disconnectedCallback(): void;
85
+ }
86
+ export {};
@@ -0,0 +1,90 @@
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 { ObserveSlotPresence as l } from "@adobe/spectrum-wc-core/mixins/observe-slot-presence.js";
6
+ //#region components/accordion/AccordionItem.base.ts
7
+ var u = class extends l(c, "[slot=\"actions\"]") {
8
+ constructor(...e) {
9
+ super(...e), 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
+ mayExpand() {
24
+ return !this.disabled && !this.parentDisabled;
25
+ }
26
+ get contentPanel() {
27
+ var e, t;
28
+ return (e = (t = this.shadowRoot) == null ? void 0 : t.getElementById("content")) == null ? null : e;
29
+ }
30
+ dispatchAfterEvent(n) {
31
+ this.dispatchEvent(new Event(n ? t : e, {
32
+ bubbles: !0,
33
+ composed: !0
34
+ }));
35
+ }
36
+ toggle() {
37
+ if (!this.mayExpand()) return;
38
+ this.open = !this.open;
39
+ let e = new Event(i, {
40
+ bubbles: !0,
41
+ composed: !0,
42
+ cancelable: !0
43
+ });
44
+ if (!this.dispatchEvent(e)) {
45
+ this.open = !this.open;
46
+ return;
47
+ }
48
+ let t = this.open;
49
+ this.dispatchEvent(new Event(t ? r : n, {
50
+ bubbles: !0,
51
+ composed: !0
52
+ }));
53
+ let a = this.contentPanel;
54
+ !a || getComputedStyle(a).transitionDuration === "0s" ? this.dispatchAfterEvent(t) : this.afterEventPending = !0;
55
+ }
56
+ setManagedHeading(e) {
57
+ this.headingLevel = e;
58
+ }
59
+ setManagedParentDisabled(e) {
60
+ this.parentDisabled = e;
61
+ }
62
+ firstUpdated(e) {
63
+ var t, n;
64
+ super.firstUpdated(e), (t = this.contentPanel) == null || t.addEventListener("transitionend", this.handleTransitionEnd), (n = this.contentPanel) == null || n.addEventListener("transitioncancel", this.handleTransitionCancel);
65
+ }
66
+ connectedCallback() {
67
+ if (super.connectedCallback(), this.hasUpdated) {
68
+ var e, t;
69
+ (e = this.contentPanel) == null || e.addEventListener("transitionend", this.handleTransitionEnd), (t = this.contentPanel) == null || t.addEventListener("transitioncancel", this.handleTransitionCancel);
70
+ }
71
+ }
72
+ disconnectedCallback() {
73
+ var e, t;
74
+ super.disconnectedCallback(), (e = this.contentPanel) == null || e.removeEventListener("transitionend", this.handleTransitionEnd), (t = this.contentPanel) == null || t.removeEventListener("transitioncancel", this.handleTransitionCancel);
75
+ }
76
+ };
77
+ a([o({
78
+ type: Boolean,
79
+ reflect: !0
80
+ })], u.prototype, "open", null), a([o({
81
+ type: Boolean,
82
+ reflect: !0
83
+ })], u.prototype, "disabled", void 0), a([o({
84
+ type: String,
85
+ reflect: !0
86
+ })], u.prototype, "size", void 0), a([s()], u.prototype, "headingLevel", void 0), a([s()], u.prototype, "parentDisabled", void 0);
87
+ //#endregion
88
+ export { u as AccordionItemBase };
89
+
90
+ //# 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 { SpectrumElement } from '@adobe/spectrum-wc-core/element/index.js';\nimport { ObserveSlotPresence } from '@adobe/spectrum-wc-core/mixins/observe-slot-presence.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 ObserveSlotPresence(\n SpectrumElement,\n '[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 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,EAC9C,GACA,qBACD,CAAC;;+BAmC2B,iBASX,wBAYgC,yBAUZ,6BAgCR,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;;;CAnHpC,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;;CAkDtC,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;;;GAhNF,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 };
@@ -0,0 +1,36 @@
1
+ import { CSSResultArray, PropertyValues, TemplateResult } from 'lit';
2
+ import { SpectrumElement } from '../../element/index.js';
3
+ import { AlertBannerVariant } from './AlertBanner.types.js';
4
+ /**
5
+ * An alert banner shows pressing and high-signal messages, such as system alerts.
6
+ * It is meant to be noticed and prompt users to take action.
7
+ *
8
+ * @slot - The main content of the alert banner.
9
+ * @slot action - An optional action button for the alert banner.
10
+ *
11
+ * @fires close - Dispatched when the alert banner is dismissed. Cancelable.
12
+ */
13
+ export declare abstract class AlertBannerBase extends SpectrumElement {
14
+ static get styles(): CSSResultArray;
15
+ /**
16
+ * Controls the display of the alert banner.
17
+ */
18
+ open: boolean;
19
+ /**
20
+ * Whether to include an icon-only close button to dismiss the alert banner.
21
+ */
22
+ dismissible: boolean;
23
+ /**
24
+ * The variant applies specific styling when set to `negative` or `info`;
25
+ * `variant` attribute is removed when it's passed an invalid variant.
26
+ */
27
+ set variant(variant: AlertBannerVariant);
28
+ get variant(): AlertBannerVariant;
29
+ private _variant;
30
+ protected isValidVariant(variant: string): boolean;
31
+ protected abstract renderIcon(variant: string): TemplateResult;
32
+ protected shouldClose(): void;
33
+ close(): void;
34
+ protected handleKeydown(event: KeyboardEvent): void;
35
+ protected updated(changes: PropertyValues): void;
36
+ }