@boostdev/design-system-components 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/AGENTS.md +20 -18
  2. package/dist/client.cjs +236 -153
  3. package/dist/client.css +785 -702
  4. package/dist/client.d.cts +53 -94
  5. package/dist/client.d.ts +53 -94
  6. package/dist/client.js +237 -163
  7. package/dist/index.cjs +236 -153
  8. package/dist/index.css +785 -702
  9. package/dist/index.d.cts +53 -94
  10. package/dist/index.d.ts +53 -94
  11. package/dist/index.js +237 -163
  12. package/dist/native/index.cjs +991 -0
  13. package/dist/native/index.d.cts +208 -0
  14. package/dist/native/index.d.ts +208 -0
  15. package/dist/native/index.js +968 -0
  16. package/dist/web-components.d.ts +303 -0
  17. package/dist/web-components.js +1968 -0
  18. package/package.json +29 -7
  19. package/src/components/interaction/Button/Button.module.css +14 -11
  20. package/src/components/interaction/Button/Button.native.spec.tsx +35 -0
  21. package/src/components/interaction/Button/Button.native.stories.tsx +42 -0
  22. package/src/components/interaction/Button/Button.native.tsx +95 -0
  23. package/src/components/interaction/Button/Button.stories.tsx +1 -1
  24. package/src/components/interaction/Button/Button.tsx +2 -2
  25. package/src/components/interaction/Command/Command.mdx +16 -0
  26. package/src/components/interaction/Command/Command.module.css +12 -12
  27. package/src/components/interaction/Command/Command.stories.tsx +1 -1
  28. package/src/components/interaction/Command/Command.tsx +2 -2
  29. package/src/components/interaction/Dialog/Dialog.module.css +3 -3
  30. package/src/components/interaction/Dialog/Dialog.stories.tsx +1 -1
  31. package/src/components/interaction/Dialog/Dialog.tsx +2 -2
  32. package/src/components/interaction/Drawer/Drawer.mdx +14 -0
  33. package/src/components/interaction/Drawer/Drawer.module.css +3 -3
  34. package/src/components/interaction/Drawer/Drawer.stories.tsx +1 -1
  35. package/src/components/interaction/Drawer/Drawer.tsx +2 -2
  36. package/src/components/interaction/DropdownMenu/DropdownMenu.module.css +3 -3
  37. package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +1 -1
  38. package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +2 -2
  39. package/src/components/interaction/Popover/Popover.mdx +17 -0
  40. package/src/components/interaction/Popover/Popover.module.css +72 -15
  41. package/src/components/interaction/Popover/Popover.spec.tsx +68 -4
  42. package/src/components/interaction/Popover/Popover.stories.tsx +1 -1
  43. package/src/components/interaction/Popover/Popover.tsx +76 -20
  44. package/src/components/interaction/Rating/Rating.module.css +2 -2
  45. package/src/components/interaction/Rating/Rating.stories.tsx +1 -1
  46. package/src/components/interaction/Rating/Rating.tsx +2 -2
  47. package/src/components/interaction/Toast/Toast.module.css +16 -11
  48. package/src/components/interaction/Toast/Toast.spec.tsx +21 -0
  49. package/src/components/interaction/Toast/Toast.stories.tsx +1 -1
  50. package/src/components/interaction/Toast/Toast.tsx +22 -2
  51. package/src/components/interaction/form/Checkbox/Checkbox.mdx +2 -2
  52. package/src/components/interaction/form/Checkbox/Checkbox.module.css +5 -5
  53. package/src/components/interaction/form/Checkbox/Checkbox.native.spec.tsx +42 -0
  54. package/src/components/interaction/form/Checkbox/Checkbox.native.stories.tsx +36 -0
  55. package/src/components/interaction/form/Checkbox/Checkbox.native.tsx +80 -0
  56. package/src/components/interaction/form/Checkbox/Checkbox.stories.tsx +1 -1
  57. package/src/components/interaction/form/Checkbox/Checkbox.tsx +2 -2
  58. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +44 -0
  59. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.module.css +2 -2
  60. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.stories.tsx +1 -1
  61. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +2 -2
  62. package/src/components/interaction/form/Combobox/Combobox.mdx +21 -0
  63. package/src/components/interaction/form/Combobox/Combobox.module.css +8 -8
  64. package/src/components/interaction/form/Combobox/Combobox.stories.tsx +1 -1
  65. package/src/components/interaction/form/Combobox/Combobox.tsx +2 -2
  66. package/src/components/interaction/form/FileInput/FileInput.mdx +14 -0
  67. package/src/components/interaction/form/FileInput/FileInput.module.css +8 -8
  68. package/src/components/interaction/form/FileInput/FileInput.stories.tsx +1 -1
  69. package/src/components/interaction/form/FileInput/FileInput.tsx +2 -2
  70. package/src/components/interaction/form/FormInput/FormInput.module.css +2 -2
  71. package/src/components/interaction/form/FormInput/FormInput.stories.tsx +1 -1
  72. package/src/components/interaction/form/FormInput/FormInput.tsx +2 -2
  73. package/src/components/interaction/form/NumberInput/NumberInput.mdx +16 -0
  74. package/src/components/interaction/form/NumberInput/NumberInput.module.css +4 -4
  75. package/src/components/interaction/form/NumberInput/NumberInput.stories.tsx +1 -1
  76. package/src/components/interaction/form/NumberInput/NumberInput.tsx +2 -2
  77. package/src/components/interaction/form/Radio/Radio.mdx +3 -3
  78. package/src/components/interaction/form/Radio/Radio.module.css +6 -6
  79. package/src/components/interaction/form/Radio/Radio.native.stories.tsx +46 -0
  80. package/src/components/interaction/form/Radio/Radio.native.tsx +79 -0
  81. package/src/components/interaction/form/Radio/Radio.stories.tsx +1 -1
  82. package/src/components/interaction/form/Radio/Radio.tsx +2 -2
  83. package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +45 -0
  84. package/src/components/interaction/form/RadioGroup/RadioGroup.module.css +2 -2
  85. package/src/components/interaction/form/RadioGroup/RadioGroup.stories.tsx +1 -1
  86. package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +2 -2
  87. package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +5 -5
  88. package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +1 -1
  89. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +2 -2
  90. package/src/components/interaction/form/Select/Select.module.css +3 -3
  91. package/src/components/interaction/form/Select/Select.stories.tsx +1 -1
  92. package/src/components/interaction/form/Select/Select.tsx +2 -2
  93. package/src/components/interaction/form/Slider/Slider.mdx +1 -1
  94. package/src/components/interaction/form/Slider/Slider.module.css +14 -14
  95. package/src/components/interaction/form/Slider/Slider.stories.tsx +1 -1
  96. package/src/components/interaction/form/Slider/Slider.tsx +2 -2
  97. package/src/components/interaction/form/Switch/Switch.mdx +4 -4
  98. package/src/components/interaction/form/Switch/Switch.module.css +8 -8
  99. package/src/components/interaction/form/Switch/Switch.native.spec.tsx +60 -0
  100. package/src/components/interaction/form/Switch/Switch.native.stories.tsx +35 -0
  101. package/src/components/interaction/form/Switch/Switch.native.tsx +59 -0
  102. package/src/components/interaction/form/Switch/Switch.stories.tsx +1 -1
  103. package/src/components/interaction/form/Switch/Switch.tsx +2 -2
  104. package/src/components/interaction/form/Textarea/Textarea.mdx +17 -0
  105. package/src/components/interaction/form/Textarea/Textarea.module.css +2 -2
  106. package/src/components/interaction/form/Textarea/Textarea.stories.tsx +1 -1
  107. package/src/components/interaction/form/Textarea/Textarea.tsx +2 -2
  108. package/src/components/interaction/form/atoms/InputContainer.tsx +2 -1
  109. package/src/components/interaction/form/atoms/Label.module.css +1 -1
  110. package/src/components/interaction/form/atoms/Label.native.stories.tsx +18 -0
  111. package/src/components/interaction/form/atoms/Label.native.tsx +29 -0
  112. package/src/components/interaction/form/atoms/Label.tsx +5 -3
  113. package/src/components/interaction/form/atoms/Message.native.spec.tsx +30 -0
  114. package/src/components/interaction/form/atoms/Message.native.stories.tsx +22 -0
  115. package/src/components/interaction/form/atoms/Message.native.tsx +34 -0
  116. package/src/components/interaction/form/atoms/Message.tsx +5 -3
  117. package/src/components/layout/ButtonGroup/ButtonGroup.native.stories.tsx +50 -0
  118. package/src/components/layout/ButtonGroup/ButtonGroup.native.tsx +34 -0
  119. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  120. package/src/components/layout/ButtonGroup/ButtonGroup.tsx +2 -2
  121. package/src/components/layout/Card/Card.module.css +2 -2
  122. package/src/components/layout/Card/Card.native.stories.tsx +53 -0
  123. package/src/components/layout/Card/Card.native.tsx +89 -0
  124. package/src/components/layout/Card/Card.stories.tsx +1 -1
  125. package/src/components/layout/Card/Card.tsx +2 -2
  126. package/src/components/layout/IconWrapper/IconWrapper.mdx +2 -2
  127. package/src/components/layout/IconWrapper/IconWrapper.module.css +3 -3
  128. package/src/components/layout/IconWrapper/IconWrapper.native.spec.tsx +39 -0
  129. package/src/components/layout/IconWrapper/IconWrapper.native.stories.tsx +41 -0
  130. package/src/components/layout/IconWrapper/IconWrapper.native.tsx +20 -0
  131. package/src/components/layout/IconWrapper/IconWrapper.stories.tsx +1 -1
  132. package/src/components/layout/IconWrapper/IconWrapper.tsx +2 -2
  133. package/src/components/layout/SectionHeader/SectionHeader.mdx +13 -0
  134. package/src/components/layout/SectionHeader/SectionHeader.module.css +2 -2
  135. package/src/components/layout/SectionHeader/SectionHeader.native.stories.tsx +38 -0
  136. package/src/components/layout/SectionHeader/SectionHeader.native.tsx +79 -0
  137. package/src/components/layout/SectionHeader/SectionHeader.stories.tsx +1 -1
  138. package/src/components/layout/SectionHeader/SectionHeader.tsx +2 -2
  139. package/src/components/ui/Accordion/Accordion.mdx +14 -0
  140. package/src/components/ui/Accordion/Accordion.module.css +5 -5
  141. package/src/components/ui/Accordion/Accordion.stories.tsx +1 -1
  142. package/src/components/ui/Accordion/Accordion.tsx +2 -2
  143. package/src/components/ui/Alert/Alert.module.css +15 -15
  144. package/src/components/ui/Alert/Alert.native.stories.tsx +43 -0
  145. package/src/components/ui/Alert/Alert.native.tsx +94 -0
  146. package/src/components/ui/Alert/Alert.stories.tsx +1 -1
  147. package/src/components/ui/Alert/Alert.tsx +2 -2
  148. package/src/components/ui/Avatar/Avatar.module.css +2 -2
  149. package/src/components/ui/Avatar/Avatar.native.spec.tsx +47 -0
  150. package/src/components/ui/Avatar/Avatar.native.stories.tsx +34 -0
  151. package/src/components/ui/Avatar/Avatar.native.tsx +85 -0
  152. package/src/components/ui/Avatar/Avatar.stories.tsx +1 -1
  153. package/src/components/ui/Avatar/Avatar.tsx +2 -2
  154. package/src/components/ui/Badge/Badge.mdx +2 -2
  155. package/src/components/ui/Badge/Badge.module.css +12 -12
  156. package/src/components/ui/Badge/Badge.native.stories.tsx +36 -0
  157. package/src/components/ui/Badge/Badge.native.tsx +50 -0
  158. package/src/components/ui/Badge/Badge.stories.tsx +1 -1
  159. package/src/components/ui/Badge/Badge.tsx +2 -2
  160. package/src/components/ui/Breadcrumb/Breadcrumb.module.css +2 -2
  161. package/src/components/ui/Breadcrumb/Breadcrumb.stories.tsx +1 -1
  162. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +2 -2
  163. package/src/components/ui/Calendar/Calendar.mdx +16 -0
  164. package/src/components/ui/Calendar/Calendar.module.css +11 -11
  165. package/src/components/ui/Calendar/Calendar.stories.tsx +1 -1
  166. package/src/components/ui/Calendar/Calendar.tsx +2 -2
  167. package/src/components/ui/Carousel/Carousel.module.css +4 -4
  168. package/src/components/ui/Carousel/Carousel.stories.tsx +1 -1
  169. package/src/components/ui/Carousel/Carousel.tsx +2 -2
  170. package/src/components/ui/Collapsible/Collapsible.module.css +6 -6
  171. package/src/components/ui/Collapsible/Collapsible.stories.tsx +1 -1
  172. package/src/components/ui/Collapsible/Collapsible.tsx +2 -2
  173. package/src/components/ui/DescriptionList/DescriptionList.module.css +3 -3
  174. package/src/components/ui/DescriptionList/DescriptionList.stories.tsx +1 -1
  175. package/src/components/ui/DescriptionList/DescriptionList.tsx +2 -2
  176. package/src/components/ui/Link/Link.mdx +14 -0
  177. package/src/components/ui/Link/Link.module.css +4 -4
  178. package/src/components/ui/Link/Link.stories.tsx +1 -1
  179. package/src/components/ui/Link/Link.tsx +2 -2
  180. package/src/components/ui/Loading/Loading.module.css +2 -2
  181. package/src/components/ui/Loading/Loading.native.spec.tsx +24 -0
  182. package/src/components/ui/Loading/Loading.native.stories.tsx +33 -0
  183. package/src/components/ui/Loading/Loading.native.tsx +29 -0
  184. package/src/components/ui/Loading/Loading.stories.tsx +1 -1
  185. package/src/components/ui/Loading/Loading.tsx +2 -2
  186. package/src/components/ui/NotificationBanner/NotificationBanner.module.css +15 -15
  187. package/src/components/ui/NotificationBanner/NotificationBanner.native.stories.tsx +39 -0
  188. package/src/components/ui/NotificationBanner/NotificationBanner.native.tsx +76 -0
  189. package/src/components/ui/NotificationBanner/NotificationBanner.stories.tsx +1 -1
  190. package/src/components/ui/NotificationBanner/NotificationBanner.tsx +2 -2
  191. package/src/components/ui/Pagination/Pagination.module.css +8 -8
  192. package/src/components/ui/Pagination/Pagination.stories.tsx +1 -1
  193. package/src/components/ui/Pagination/Pagination.tsx +2 -2
  194. package/src/components/ui/Progress/Progress.mdx +1 -1
  195. package/src/components/ui/Progress/Progress.module.css +3 -3
  196. package/src/components/ui/Progress/Progress.native.stories.tsx +34 -0
  197. package/src/components/ui/Progress/Progress.native.tsx +84 -0
  198. package/src/components/ui/Progress/Progress.stories.tsx +1 -1
  199. package/src/components/ui/Progress/Progress.tsx +2 -2
  200. package/src/components/ui/ProgressCircle/ProgressCircle.module.css +3 -3
  201. package/src/components/ui/ProgressCircle/ProgressCircle.stories.tsx +1 -1
  202. package/src/components/ui/ProgressCircle/ProgressCircle.tsx +2 -2
  203. package/src/components/ui/Separator/Separator.mdx +14 -0
  204. package/src/components/ui/Separator/Separator.module.css +1 -1
  205. package/src/components/ui/Separator/Separator.native.stories.tsx +42 -0
  206. package/src/components/ui/Separator/Separator.native.tsx +32 -0
  207. package/src/components/ui/Separator/Separator.stories.tsx +1 -1
  208. package/src/components/ui/Separator/Separator.tsx +2 -2
  209. package/src/components/ui/Skeleton/Skeleton.module.css +3 -3
  210. package/src/components/ui/Skeleton/Skeleton.native.stories.tsx +33 -0
  211. package/src/components/ui/Skeleton/Skeleton.native.tsx +41 -0
  212. package/src/components/ui/Skeleton/Skeleton.stories.tsx +1 -1
  213. package/src/components/ui/Skeleton/Skeleton.tsx +2 -3
  214. package/src/components/ui/SkipLink/SkipLink.module.css +3 -3
  215. package/src/components/ui/SkipLink/SkipLink.stories.tsx +1 -1
  216. package/src/components/ui/SkipLink/SkipLink.tsx +5 -3
  217. package/src/components/ui/Table/Table.mdx +14 -0
  218. package/src/components/ui/Table/Table.module.css +11 -11
  219. package/src/components/ui/Table/Table.stories.tsx +1 -1
  220. package/src/components/ui/Table/Table.tsx +2 -2
  221. package/src/components/ui/Tabs/Tabs.module.css +3 -3
  222. package/src/components/ui/Tabs/Tabs.stories.tsx +1 -1
  223. package/src/components/ui/Tabs/Tabs.tsx +2 -2
  224. package/src/components/ui/Tooltip/Tooltip.mdx +14 -0
  225. package/src/components/ui/Tooltip/Tooltip.module.css +2 -2
  226. package/src/components/ui/Tooltip/Tooltip.stories.tsx +1 -1
  227. package/src/components/ui/Tooltip/Tooltip.tsx +2 -2
  228. package/src/components/ui/Typography/Typography.mdx +13 -0
  229. package/src/components/ui/Typography/Typography.module.css +1 -1
  230. package/src/components/ui/Typography/Typography.native.stories.tsx +38 -0
  231. package/src/components/ui/Typography/Typography.native.tsx +65 -0
  232. package/src/components/ui/Typography/Typography.stories.tsx +1 -1
  233. package/src/components/ui/Typography/Typography.tsx +2 -2
  234. package/src/css/bdc.css +10 -2
  235. package/src/index.ts +3 -0
  236. package/src/native/ThemeContext.tsx +28 -0
  237. package/src/native/tokens.ts +13 -0
  238. package/src/native.ts +39 -0
  239. package/src/react-augment.d.ts +13 -0
  240. package/src/stories/DesignSystem/Borders.mdx +7 -7
  241. package/src/stories/DesignSystem/Colors.mdx +28 -29
  242. package/src/stories/DesignSystem/DarkMode.mdx +130 -0
  243. package/src/stories/DesignSystem/Elevation.mdx +4 -4
  244. package/src/stories/DesignSystem/Grid.mdx +5 -5
  245. package/src/stories/DesignSystem/Motion.mdx +2 -2
  246. package/src/stories/DesignSystem/Overview.mdx +1 -1
  247. package/src/stories/DesignSystem/Spacing.mdx +3 -3
  248. package/src/stories/DesignSystem/Typography.mdx +6 -6
  249. package/src/types.ts +2 -0
  250. package/src/typings.d.ts +3 -0
  251. package/src/web-components/globals.ts +61 -0
  252. package/src/web-components/index.ts +12 -0
  253. package/src/web-components/interaction/BdsButton.stories.tsx +60 -0
  254. package/src/web-components/interaction/BdsPopover.stories.tsx +70 -0
  255. package/src/web-components/interaction/BdsToastProvider.stories.tsx +73 -0
  256. package/src/web-components/interaction/bds-button.spec.ts +95 -0
  257. package/src/web-components/interaction/bds-button.ts +293 -0
  258. package/src/web-components/interaction/bds-popover.spec.ts +126 -0
  259. package/src/web-components/interaction/bds-popover.ts +217 -0
  260. package/src/web-components/interaction/bds-toast-provider.spec.ts +122 -0
  261. package/src/web-components/interaction/bds-toast-provider.ts +211 -0
  262. package/src/web-components/test/helpers.ts +14 -0
  263. package/src/web-components/ui/BdsAlert.stories.tsx +60 -0
  264. package/src/web-components/ui/BdsBadge.stories.tsx +37 -0
  265. package/src/web-components/ui/bds-alert.spec.ts +109 -0
  266. package/src/web-components/ui/bds-alert.ts +209 -0
  267. package/src/web-components/ui/bds-badge.spec.ts +51 -0
  268. package/src/web-components/ui/bds-badge.ts +88 -0
@@ -0,0 +1,303 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ type BadgeVariant = 'primary' | 'secondary' | 'success' | 'error' | 'warning';
5
+ /**
6
+ * `<bds-badge>` — framework-agnostic Badge custom element.
7
+ *
8
+ * Attributes:
9
+ * variant — "primary" (default) | "secondary" | "success" | "error" | "warning"
10
+ *
11
+ * Slots:
12
+ * (default) — badge label text / content
13
+ *
14
+ * @example
15
+ * <bds-badge variant="success">New</bds-badge>
16
+ */
17
+ declare class BdsBadge extends LitElement {
18
+ static styles: lit.CSSResult;
19
+ static properties: {
20
+ variant: {
21
+ type: StringConstructor;
22
+ reflect: boolean;
23
+ };
24
+ };
25
+ variant: BadgeVariant;
26
+ constructor();
27
+ render(): lit.TemplateResult<1>;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ 'bds-badge': BdsBadge;
32
+ }
33
+ }
34
+
35
+ type ButtonVariant = 'default' | 'ghost';
36
+ type ButtonSize = 'small' | 'medium' | 'large';
37
+ /**
38
+ * `<bds-button>` — framework-agnostic Button custom element.
39
+ *
40
+ * Attributes:
41
+ * variant — "default" (filled, default) | "ghost" (transparent + outlined)
42
+ * size — "small" | "medium" (default) | "large"
43
+ * disabled — boolean
44
+ * href — renders an <a> tag instead of <button>
45
+ * target — forwarded to <a> when href is set
46
+ * rel — forwarded to <a> when href is set
47
+ * has-pulse — boolean, enables the pulse ring animation
48
+ * type — "button" (default) | "submit" | "reset"
49
+ *
50
+ * Slots:
51
+ * (default) — button label
52
+ * icon-start — icon placed before the label
53
+ * icon-end — icon placed after the label
54
+ *
55
+ * Events:
56
+ * click — standard DOM click (disabled buttons suppress it and set aria-disabled)
57
+ *
58
+ * @example
59
+ * <bds-button variant="ghost" size="small">
60
+ * <svg slot="icon-start">…</svg>
61
+ * Save
62
+ * </bds-button>
63
+ */
64
+ declare class BdsButton extends LitElement {
65
+ static styles: lit.CSSResult;
66
+ static properties: {
67
+ variant: {
68
+ type: StringConstructor;
69
+ reflect: boolean;
70
+ };
71
+ size: {
72
+ type: StringConstructor;
73
+ reflect: boolean;
74
+ };
75
+ disabled: {
76
+ type: BooleanConstructor;
77
+ reflect: boolean;
78
+ };
79
+ href: {
80
+ type: StringConstructor;
81
+ };
82
+ target: {
83
+ type: StringConstructor;
84
+ };
85
+ rel: {
86
+ type: StringConstructor;
87
+ };
88
+ hasPulse: {
89
+ type: BooleanConstructor;
90
+ attribute: string;
91
+ reflect: boolean;
92
+ };
93
+ type: {
94
+ type: StringConstructor;
95
+ };
96
+ ariaLabel: {
97
+ type: StringConstructor;
98
+ attribute: string;
99
+ };
100
+ _iconStartFilled: {
101
+ state: boolean;
102
+ };
103
+ _iconEndFilled: {
104
+ state: boolean;
105
+ };
106
+ };
107
+ variant: ButtonVariant;
108
+ size: ButtonSize;
109
+ disabled: boolean;
110
+ href: string | undefined;
111
+ target: string | undefined;
112
+ rel: string | undefined;
113
+ hasPulse: boolean;
114
+ type: 'button' | 'submit' | 'reset';
115
+ ariaLabel: string | null;
116
+ private _iconStartFilled;
117
+ private _iconEndFilled;
118
+ constructor();
119
+ private _onIconSlotChange;
120
+ private get _classes();
121
+ private _handleAnchorClick;
122
+ private _iconSlot;
123
+ render(): lit.TemplateResult<1>;
124
+ }
125
+ declare global {
126
+ interface HTMLElementTagNameMap {
127
+ 'bds-button': BdsButton;
128
+ }
129
+ }
130
+
131
+ type AlertVariant = 'info' | 'success' | 'warning' | 'error';
132
+ /**
133
+ * `<bds-alert>` — framework-agnostic Alert custom element.
134
+ *
135
+ * Attributes:
136
+ * variant — "info" (default) | "success" | "warning" | "error"
137
+ * title — optional heading above the body text
138
+ * dismissible — boolean; shows a dismiss button when present
139
+ *
140
+ * Slots:
141
+ * (default) — alert body content
142
+ * icon — optional icon displayed to the left of the content
143
+ *
144
+ * Events:
145
+ * bds-dismiss — fired (bubbles, composed) when the dismiss button is clicked
146
+ *
147
+ * Accessibility:
148
+ * role="alert" + aria-live="assertive" for error/warning variants,
149
+ * role="status" + aria-live="polite" for info/success variants.
150
+ *
151
+ * @example
152
+ * <bds-alert variant="success" title="Saved!">Your changes have been saved.</bds-alert>
153
+ *
154
+ * <bds-alert variant="error" dismissible>
155
+ * <svg slot="icon">…</svg>
156
+ * Something went wrong.
157
+ * </bds-alert>
158
+ */
159
+ declare class BdsAlert extends LitElement {
160
+ static styles: lit.CSSResult;
161
+ static properties: {
162
+ variant: {
163
+ type: StringConstructor;
164
+ reflect: boolean;
165
+ };
166
+ title: {
167
+ type: StringConstructor;
168
+ };
169
+ dismissible: {
170
+ type: BooleanConstructor;
171
+ reflect: boolean;
172
+ };
173
+ _iconFilled: {
174
+ state: boolean;
175
+ };
176
+ };
177
+ variant: AlertVariant;
178
+ title: string;
179
+ dismissible: boolean;
180
+ private _iconFilled;
181
+ constructor();
182
+ private _onIconSlotChange;
183
+ private get _isUrgent();
184
+ private _handleDismiss;
185
+ render(): lit.TemplateResult<1>;
186
+ }
187
+ declare global {
188
+ interface HTMLElementTagNameMap {
189
+ 'bds-alert': BdsAlert;
190
+ }
191
+ }
192
+
193
+ type PopoverPlacement = 'bottom' | 'top' | 'left' | 'right';
194
+ /**
195
+ * `<bds-popover>` — framework-agnostic Popover custom element.
196
+ *
197
+ * Uses CSS Anchor Positioning within the shadow DOM so the panel stays
198
+ * anchored to the trigger and automatically repositions when it would
199
+ * overflow the viewport (`@position-try` fallbacks).
200
+ *
201
+ * Attributes:
202
+ * placement — "bottom" (default) | "top" | "left" | "right"
203
+ * open — boolean; reflects whether the panel is visible
204
+ *
205
+ * Slots:
206
+ * trigger — the element that opens/closes the panel on click
207
+ * (default) — panel content
208
+ *
209
+ * Events:
210
+ * bds-open — fired (bubbles, composed) when the panel opens
211
+ * bds-close — fired (bubbles, composed) when the panel closes
212
+ *
213
+ * @example
214
+ * <bds-popover placement="bottom">
215
+ * <button slot="trigger">Open</button>
216
+ * <p>Panel content here</p>
217
+ * </bds-popover>
218
+ */
219
+ declare class BdsPopover extends LitElement {
220
+ static styles: lit.CSSResult;
221
+ static properties: {
222
+ placement: {
223
+ type: StringConstructor;
224
+ reflect: boolean;
225
+ };
226
+ open: {
227
+ type: BooleanConstructor;
228
+ reflect: boolean;
229
+ };
230
+ };
231
+ placement: PopoverPlacement;
232
+ open: boolean;
233
+ private _anchorName;
234
+ constructor();
235
+ connectedCallback(): void;
236
+ disconnectedCallback(): void;
237
+ private _onKeydown;
238
+ private _onOutsideClick;
239
+ private _toggle;
240
+ private _open;
241
+ private _close;
242
+ render(): lit.TemplateResult<1>;
243
+ }
244
+ declare global {
245
+ interface HTMLElementTagNameMap {
246
+ 'bds-popover': BdsPopover;
247
+ }
248
+ }
249
+
250
+ type ToastVariant = 'success' | 'error' | 'info' | 'warning';
251
+ /**
252
+ * `<bds-toast-provider>` — framework-agnostic Toast provider custom element.
253
+ *
254
+ * Wraps page content and manages a `popover="manual"` toast container that
255
+ * renders in the browser top layer — above all fixed/sticky elements without
256
+ * needing a z-index.
257
+ *
258
+ * Usage:
259
+ * // Instance method (direct reference)
260
+ * provider.showToast('Saved!', 'success');
261
+ *
262
+ * // Static convenience (finds the first provider in the DOM)
263
+ * BdsToastProvider.show('Something went wrong', 'error');
264
+ *
265
+ * // Event-driven (no import required)
266
+ * document.dispatchEvent(new CustomEvent('bds-show-toast', {
267
+ * detail: { message: 'Hello', variant: 'info' }
268
+ * }));
269
+ *
270
+ * Slots:
271
+ * (default) — page content; the host uses display:contents so layout
272
+ * is unaffected
273
+ *
274
+ * @example
275
+ * <bds-toast-provider>
276
+ * <main>…</main>
277
+ * </bds-toast-provider>
278
+ */
279
+ declare class BdsToastProvider extends LitElement {
280
+ static styles: lit.CSSResult;
281
+ static properties: {
282
+ _toasts: {
283
+ state: boolean;
284
+ };
285
+ };
286
+ private _toasts;
287
+ constructor();
288
+ connectedCallback(): void;
289
+ disconnectedCallback(): void;
290
+ updated(): void;
291
+ showToast(message: string, variant?: ToastVariant): void;
292
+ private _removeToast;
293
+ private _onShowToastEvent;
294
+ static show(message: string, variant?: ToastVariant): void;
295
+ render(): lit.TemplateResult<1>;
296
+ }
297
+ declare global {
298
+ interface HTMLElementTagNameMap {
299
+ 'bds-toast-provider': BdsToastProvider;
300
+ }
301
+ }
302
+
303
+ export { BdsAlert, BdsBadge, BdsButton, BdsPopover, BdsToastProvider };