@redvars/peacock 3.3.3 → 3.5.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 (280) hide show
  1. package/dist/IndividualComponent-DUINtMGK.js +67 -0
  2. package/dist/IndividualComponent-DUINtMGK.js.map +1 -0
  3. package/dist/assets/images/empty-state/no-document.svg +11 -12
  4. package/dist/assets/images/empty-state/page.svg +15 -9
  5. package/dist/assets/styles.css +1 -1
  6. package/dist/assets/styles.css.map +1 -1
  7. package/dist/banner.js +202 -0
  8. package/dist/banner.js.map +1 -0
  9. package/dist/bottom-sheet.js +238 -0
  10. package/dist/bottom-sheet.js.map +1 -0
  11. package/dist/{button-ClzS8JLq.js → button-DMN1dPAg.js} +358 -218
  12. package/dist/button-DMN1dPAg.js.map +1 -0
  13. package/dist/button-group-CX9CUUXk.js +435 -0
  14. package/dist/button-group-CX9CUUXk.js.map +1 -0
  15. package/dist/button-group.js +11 -6
  16. package/dist/button-group.js.map +1 -1
  17. package/dist/button.js +10 -5
  18. package/dist/button.js.map +1 -1
  19. package/dist/card-content.js +29 -0
  20. package/dist/card-content.js.map +1 -0
  21. package/dist/card.js +428 -44
  22. package/dist/card.js.map +1 -1
  23. package/dist/{chart-bar-DbnXQgvS.js → chart-bar-cn6rrna-.js} +2 -2
  24. package/dist/{chart-bar-DbnXQgvS.js.map → chart-bar-cn6rrna-.js.map} +1 -1
  25. package/dist/chart-bar.js +5 -4
  26. package/dist/chart-bar.js.map +1 -1
  27. package/dist/chart-doughnut.js +2 -1
  28. package/dist/chart-doughnut.js.map +1 -1
  29. package/dist/chart-pie.js +2 -1
  30. package/dist/chart-pie.js.map +1 -1
  31. package/dist/chart-stacked-bar.js +5 -4
  32. package/dist/chart-stacked-bar.js.map +1 -1
  33. package/dist/{class-map-59YGWLnx.js → class-map-YU7g0o3B.js} +4 -10
  34. package/dist/class-map-YU7g0o3B.js.map +1 -0
  35. package/dist/clock.js +2 -1
  36. package/dist/clock.js.map +1 -1
  37. package/dist/code-editor.js +8 -6
  38. package/dist/code-editor.js.map +1 -1
  39. package/dist/code-highlighter.js +6 -4
  40. package/dist/code-highlighter.js.map +1 -1
  41. package/dist/custom-elements-jsdocs.json +6270 -5026
  42. package/dist/custom-elements.json +5763 -2049
  43. package/dist/directive-ZPhl09Yt.js +9 -0
  44. package/dist/directive-ZPhl09Yt.js.map +1 -0
  45. package/dist/dispatch-event-utils-CuEqjlPT.js +127 -0
  46. package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -0
  47. package/dist/fab-C5Nzxk0E.js +497 -0
  48. package/dist/fab-C5Nzxk0E.js.map +1 -0
  49. package/dist/fab.js +11 -0
  50. package/dist/fab.js.map +1 -0
  51. package/dist/index.js +24 -12
  52. package/dist/index.js.map +1 -1
  53. package/dist/{observe-theme-change-pALI5fmV.js → is-dark-mode-DicqGkCJ.js} +8 -3
  54. package/dist/is-dark-mode-DicqGkCJ.js.map +1 -0
  55. package/dist/notification.js +417 -0
  56. package/dist/notification.js.map +1 -0
  57. package/dist/number-counter.js +4 -3
  58. package/dist/number-counter.js.map +1 -1
  59. package/dist/observe-slot-change-BGJfgg2E.js +31 -0
  60. package/dist/observe-slot-change-BGJfgg2E.js.map +1 -0
  61. package/dist/peacock-loader.js +59 -10
  62. package/dist/peacock-loader.js.map +1 -1
  63. package/dist/property-1psGvXOq.js +10 -0
  64. package/dist/property-1psGvXOq.js.map +1 -0
  65. package/dist/search.js +452 -0
  66. package/dist/search.js.map +1 -0
  67. package/dist/{radio-b70_Ie9n.js → select-4pl4XBj7.js} +2439 -521
  68. package/dist/select-4pl4XBj7.js.map +1 -0
  69. package/dist/side-sheet.js +186 -0
  70. package/dist/side-sheet.js.map +1 -0
  71. package/dist/spread-B5cgadZl.js +32 -0
  72. package/dist/spread-B5cgadZl.js.map +1 -0
  73. package/dist/src/__base_element/BaseHyperlink.d.ts +20 -0
  74. package/dist/src/__utils/cache-fetch.d.ts +1 -0
  75. package/dist/src/__utils/is-dark-mode.d.ts +1 -0
  76. package/dist/src/__utils/is-in-viewport.d.ts +1 -0
  77. package/dist/src/__utils/observe-slot-change.d.ts +1 -0
  78. package/dist/src/__utils/sanitize-svg.d.ts +1 -0
  79. package/dist/src/__utils/throttle.d.ts +4 -0
  80. package/dist/src/accordion/accordion-item.d.ts +33 -9
  81. package/dist/src/accordion/accordion.d.ts +21 -5
  82. package/dist/src/banner/banner.d.ts +47 -0
  83. package/dist/src/banner/index.d.ts +1 -0
  84. package/dist/src/bottom-sheet/bottom-sheet.d.ts +42 -0
  85. package/dist/src/bottom-sheet/index.d.ts +1 -0
  86. package/dist/src/button/BaseButton.d.ts +7 -13
  87. package/dist/src/button/button/button.d.ts +4 -0
  88. package/dist/src/button/button-group/button-group.d.ts +32 -3
  89. package/dist/src/button/icon-button/icon-button.d.ts +4 -0
  90. package/dist/src/card/card-content.d.ts +15 -0
  91. package/dist/src/card/card.d.ts +37 -3
  92. package/dist/src/card/index.d.ts +1 -0
  93. package/dist/src/container/container.d.ts +1 -1
  94. package/dist/src/empty-state/empty-state.d.ts +1 -1
  95. package/dist/src/fab/fab.d.ts +111 -0
  96. package/dist/src/fab/index.d.ts +1 -0
  97. package/dist/src/focus-ring/focus-ring.d.ts +4 -1
  98. package/dist/src/index.d.ts +11 -1
  99. package/dist/src/link/link.d.ts +3 -10
  100. package/dist/src/menu/menu/menu.d.ts +4 -2
  101. package/dist/src/menu/menu-item/menu-item.d.ts +0 -1
  102. package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
  103. package/dist/src/notification/index.d.ts +1 -0
  104. package/dist/src/notification/notification.d.ts +69 -0
  105. package/dist/src/pagination/pagination.d.ts +8 -1
  106. package/dist/src/ripple/ripple.d.ts +19 -3
  107. package/dist/src/search/index.d.ts +1 -0
  108. package/dist/src/search/search.d.ts +76 -0
  109. package/dist/src/segmented-button/index.d.ts +2 -0
  110. package/dist/src/segmented-button/segmented-button-group.d.ts +46 -0
  111. package/dist/src/segmented-button/segmented-button.d.ts +65 -0
  112. package/dist/src/select/index.d.ts +3 -0
  113. package/dist/src/select/option.d.ts +55 -0
  114. package/dist/src/select/select.d.ts +114 -0
  115. package/dist/src/side-sheet/index.d.ts +1 -0
  116. package/dist/src/side-sheet/side-sheet.d.ts +41 -0
  117. package/dist/src/slider/slider.d.ts +4 -0
  118. package/dist/src/snackbar/snackbar.d.ts +14 -1
  119. package/dist/src/tabs/tab-group.d.ts +0 -1
  120. package/dist/src/tabs/tab.d.ts +8 -2
  121. package/dist/src/tabs/tabs.d.ts +13 -1
  122. package/dist/src/toolbar/index.d.ts +1 -0
  123. package/dist/src/toolbar/toolbar.d.ts +86 -0
  124. package/dist/state-DwbEjqVk.js +10 -0
  125. package/dist/state-DwbEjqVk.js.map +1 -0
  126. package/dist/{style-map-DcB52w-l.js → style-map-DVmWOuYy.js} +3 -3
  127. package/dist/{style-map-DcB52w-l.js.map → style-map-DVmWOuYy.js.map} +1 -1
  128. package/dist/test/search.test.d.ts +1 -0
  129. package/dist/test/toolbar.test.d.ts +1 -0
  130. package/dist/throttle-C7ZAPqtu.js +24 -0
  131. package/dist/throttle-C7ZAPqtu.js.map +1 -0
  132. package/dist/toolbar.js +306 -0
  133. package/dist/toolbar.js.map +1 -0
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/dist/{unsafe-html-C2r3PyzF.js → unsafe-html-BsGUjx94.js} +3 -3
  136. package/dist/{unsafe-html-C2r3PyzF.js.map → unsafe-html-BsGUjx94.js.map} +1 -1
  137. package/package.json +1 -1
  138. package/readme.md +2 -2
  139. package/scss/styles.scss +4 -0
  140. package/src/__base_element/BaseHyperlink.ts +42 -0
  141. package/src/__base_element/README.md +19 -0
  142. package/src/__utils/cache-fetch.ts +65 -0
  143. package/src/{utils → __utils}/dispatch-event-utils.ts +1 -0
  144. package/src/__utils/is-dark-mode.ts +3 -0
  145. package/src/__utils/is-in-viewport.ts +6 -0
  146. package/src/__utils/observe-slot-change.ts +38 -0
  147. package/src/__utils/sanitize-svg.ts +27 -0
  148. package/src/__utils/throttle.ts +27 -0
  149. package/src/accordion/accordion-item.scss +136 -65
  150. package/src/accordion/accordion-item.ts +117 -44
  151. package/src/accordion/accordion.scss +24 -5
  152. package/src/accordion/accordion.ts +29 -23
  153. package/src/accordion/demo/index.html +74 -35
  154. package/src/banner/banner.scss +87 -0
  155. package/src/banner/banner.ts +107 -0
  156. package/src/banner/index.ts +1 -0
  157. package/src/bottom-sheet/bottom-sheet.scss +88 -0
  158. package/src/bottom-sheet/bottom-sheet.ts +135 -0
  159. package/src/bottom-sheet/index.ts +1 -0
  160. package/src/button/BaseButton.ts +26 -30
  161. package/src/button/button/button-colors.scss +90 -19
  162. package/src/button/button/button-sizes.scss +39 -19
  163. package/src/button/button/button.scss +117 -116
  164. package/src/button/button/button.ts +29 -6
  165. package/src/button/button-group/button-group.scss +25 -22
  166. package/src/button/button-group/button-group.ts +122 -5
  167. package/src/button/icon-button/icon-button-sizes.scss +35 -15
  168. package/src/button/icon-button/icon-button.ts +25 -12
  169. package/src/card/card-colors.scss +10 -0
  170. package/src/card/card-content.ts +26 -0
  171. package/src/card/card.scss +221 -41
  172. package/src/card/card.ts +251 -8
  173. package/src/card/index.ts +1 -0
  174. package/src/chart-bar/chart-bar.ts +1 -1
  175. package/src/chart-bar/chart-stacked-bar.ts +3 -1
  176. package/src/chart-doughnut/chart-doughnut.ts +1 -1
  177. package/src/chart-pie/chart-pie.ts +1 -1
  178. package/src/checkbox/checkbox.ts +1 -1
  179. package/src/clock/clock.ts +1 -1
  180. package/src/code-editor/code-editor.ts +5 -5
  181. package/src/code-highlighter/code-highlighter.ts +2 -2
  182. package/src/container/container.ts +1 -1
  183. package/src/date-picker/date-picker.ts +5 -2
  184. package/src/divider/divider.ts +3 -1
  185. package/src/empty-state/empty-state.scss +9 -3
  186. package/src/empty-state/empty-state.ts +2 -2
  187. package/src/fab/fab-colors.scss +49 -0
  188. package/src/fab/fab-sizes.scss +47 -0
  189. package/src/fab/fab.scss +137 -0
  190. package/src/fab/fab.ts +285 -0
  191. package/src/fab/index.ts +1 -0
  192. package/src/field/field.ts +3 -1
  193. package/src/focus-ring/focus-ring.ts +37 -19
  194. package/src/icon/datasource.ts +1 -1
  195. package/src/icon/icon.ts +3 -1
  196. package/src/image/image.ts +3 -2
  197. package/src/index.ts +12 -1
  198. package/src/input/input.ts +5 -2
  199. package/src/link/link.ts +2 -15
  200. package/src/menu/menu/menu.scss +31 -3
  201. package/src/menu/menu/menu.ts +30 -6
  202. package/src/menu/menu-item/menu-item.scss +1 -0
  203. package/src/menu/menu-item/menu-item.ts +1 -9
  204. package/src/menu/sub-menu/sub-menu.ts +1 -0
  205. package/src/notification/index.ts +1 -0
  206. package/src/notification/notification.scss +201 -0
  207. package/src/notification/notification.ts +206 -0
  208. package/src/number-counter/number-counter.ts +3 -1
  209. package/src/number-field/number-field.ts +4 -2
  210. package/src/pagination/pagination.scss +33 -24
  211. package/src/pagination/pagination.ts +113 -60
  212. package/src/peacock-loader.ts +48 -0
  213. package/src/radio/radio.ts +3 -1
  214. package/src/ripple/ripple.ts +19 -3
  215. package/src/search/index.ts +1 -0
  216. package/src/search/search-colors.scss +14 -0
  217. package/src/search/search.scss +204 -0
  218. package/src/search/search.ts +240 -0
  219. package/src/segmented-button/index.ts +2 -0
  220. package/src/segmented-button/segmented-button-group.scss +21 -0
  221. package/src/segmented-button/segmented-button-group.ts +110 -0
  222. package/src/segmented-button/segmented-button.scss +115 -0
  223. package/src/segmented-button/segmented-button.ts +175 -0
  224. package/src/select/index.ts +3 -0
  225. package/src/select/option.ts +109 -0
  226. package/src/select/select.scss +125 -0
  227. package/src/select/select.ts +520 -0
  228. package/src/side-sheet/index.ts +1 -0
  229. package/src/side-sheet/side-sheet.scss +79 -0
  230. package/src/side-sheet/side-sheet.ts +100 -0
  231. package/src/slider/slider.scss +19 -1
  232. package/src/slider/slider.ts +30 -19
  233. package/src/snackbar/snackbar.scss +62 -31
  234. package/src/snackbar/snackbar.ts +92 -12
  235. package/src/switch/switch.ts +3 -1
  236. package/src/table/table.ts +3 -1
  237. package/src/tabs/demo/index.html +90 -0
  238. package/src/tabs/tab-group.ts +0 -3
  239. package/src/tabs/tab.scss +237 -25
  240. package/src/tabs/tab.ts +91 -14
  241. package/src/tabs/tabs.scss +37 -3
  242. package/src/tabs/tabs.ts +118 -2
  243. package/src/textarea/textarea.ts +4 -2
  244. package/src/time-picker/time-picker.ts +4 -2
  245. package/src/toolbar/index.ts +1 -0
  246. package/src/toolbar/toolbar-colors.scss +16 -0
  247. package/src/toolbar/toolbar.scss +165 -0
  248. package/src/toolbar/toolbar.ts +137 -0
  249. package/dist/IndividualComponent-Dt5xirYG.js +0 -73
  250. package/dist/IndividualComponent-Dt5xirYG.js.map +0 -1
  251. package/dist/button-ClzS8JLq.js.map +0 -1
  252. package/dist/button-group-BMS5WvaF.js +0 -292
  253. package/dist/button-group-BMS5WvaF.js.map +0 -1
  254. package/dist/chart-donut.js +0 -309
  255. package/dist/chart-donut.js.map +0 -1
  256. package/dist/class-map-59YGWLnx.js.map +0 -1
  257. package/dist/directive-Cuw6h7YA.js +0 -9
  258. package/dist/directive-Cuw6h7YA.js.map +0 -1
  259. package/dist/dispatch-event-utils-B4odODQf.js +0 -277
  260. package/dist/dispatch-event-utils-B4odODQf.js.map +0 -1
  261. package/dist/observe-theme-change-pALI5fmV.js.map +0 -1
  262. package/dist/radio-b70_Ie9n.js.map +0 -1
  263. package/dist/src/chart-donut/chart-donut.d.ts +0 -53
  264. package/dist/src/chart-donut/index.d.ts +0 -1
  265. package/dist/src/styleMixins.css.d.ts +0 -9
  266. package/dist/src/utils.d.ts +0 -9
  267. package/src/chart-donut/chart-donut.scss +0 -37
  268. package/src/chart-donut/chart-donut.ts +0 -287
  269. package/src/chart-donut/demo/index.html +0 -51
  270. package/src/chart-donut/index.ts +0 -1
  271. package/src/styleMixins.css.ts +0 -55
  272. package/src/utils.ts +0 -193
  273. /package/dist/src/{spread.d.ts → __directive/spread.d.ts} +0 -0
  274. /package/dist/src/{utils → __utils}/copy-to-clipboard.d.ts +0 -0
  275. /package/dist/src/{utils → __utils}/dispatch-event-utils.d.ts +0 -0
  276. /package/dist/src/{utils → __utils}/observe-theme-change.d.ts +0 -0
  277. /package/dist/test/{card.test.d.ts → banner.test.d.ts} +0 -0
  278. /package/src/{spread.ts → __directive/spread.ts} +0 -0
  279. /package/src/{utils → __utils}/copy-to-clipboard.ts +0 -0
  280. /package/src/{utils → __utils}/observe-theme-change.ts +0 -0
@@ -1,6 +1,5 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, nothing, PropertyValues } from 'lit';
2
2
  type CardVariant = 'elevated' | 'filled' | 'outlined';
3
- type CardElevation = 0 | 1 | 2 | 3 | 4 | 5;
4
3
  /**
5
4
  * @label Card
6
5
  * @tag wc-card
@@ -19,9 +18,44 @@ type CardElevation = 0 | 1 | 2 | 3 | 4 | 5;
19
18
  * ```
20
19
  */
21
20
  export declare class Card extends LitElement {
21
+ #private;
22
22
  static styles: import("lit").CSSResultGroup[];
23
23
  variant: CardVariant;
24
- elevation: CardElevation;
24
+ disabled: boolean;
25
+ actionable: boolean;
26
+ /**
27
+ * If button is disabled, the reason why it is disabled.
28
+ */
29
+ disabledReason: string;
30
+ /**
31
+ * Hyperlink to navigate to on click.
32
+ */
33
+ href?: string;
34
+ /**
35
+ * Sets or retrieves the window or frame at which to target content.
36
+ */
37
+ target: string;
38
+ /**
39
+ * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
40
+ */
41
+ throttleDelay: number;
42
+ /**
43
+ * States
44
+ */
45
+ isPressed: boolean;
46
+ private slotHasContent;
47
+ readonly cardElement: HTMLElement | null;
48
+ readonly contentSlot: HTMLSlotElement | null;
49
+ firstUpdated(): void;
50
+ updated(changedProperties: PropertyValues<this>): void;
51
+ __syncSlottedChildrenTabIndex(): void;
52
+ __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void;
53
+ __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
54
+ __isLink(): boolean;
55
+ __getDisabledReasonID(): string | typeof nothing;
56
+ __renderDisabledReason(): typeof nothing | import("lit-html").TemplateResult<1>;
57
+ __handlePress: (event: KeyboardEvent | MouseEvent) => void;
25
58
  render(): import("lit-html").TemplateResult<1>;
59
+ renderCardContent(): import("lit-html").TemplateResult<1>;
26
60
  }
27
61
  export {};
@@ -1 +1,2 @@
1
1
  export { Card } from './card.js';
2
+ export { CardContent } from './card-content.js';
@@ -11,7 +11,7 @@ type ContainerSize = 'max' | 'xl' | 'lg' | 'md' | 'sm' | 'full';
11
11
  *
12
12
  * @example
13
13
  * ```html
14
- * <wc-container size="lg">Content</wc-container>
14
+ * <wc-container style="width: 80%; border: 1px dotted black;" size="md">Content</wc-container>
15
15
  * ```
16
16
  */
17
17
  export declare class Container extends LitElement {
@@ -8,7 +8,7 @@ import { LitElement, nothing } from 'lit';
8
8
  *
9
9
  * @example
10
10
  * ```html
11
- * <wc-empty-state headline="No items found"></wc-empty-state>
11
+ * <wc-empty-state style="width:100%" headline="No items found"></wc-empty-state>
12
12
  * ```
13
13
  */
14
14
  export declare class EmptyState extends LitElement {
@@ -0,0 +1,111 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { IconProvider } from '../icon/icon.js';
3
+ /**
4
+ * @label FAB
5
+ * @tag wc-fab
6
+ * @rawTag fab
7
+ *
8
+ * @summary The FAB (Floating Action Button) represents the primary action on a screen.
9
+ * @overview
10
+ * <p>A Floating Action Button (FAB) is a circular button that represents the primary action on a screen. It follows the Material Design 3 specification and supports four color roles and two variants.</p>
11
+ *
12
+ * @cssprop --fab-container-color: Background color of the FAB container.
13
+ * @cssprop --fab-label-text-color: Text and icon color of the FAB label.
14
+ * @cssprop --fab-container-shape: Corner radius of the FAB. Defaults to var(--shape-corner-large).
15
+ * @cssprop --fab-container-elevation-level: Elevation level of the FAB. Defaults to 3.
16
+ *
17
+ * @fires {MouseEvent} click - Dispatched when the FAB is clicked.
18
+ *
19
+ * @example
20
+ * ```html
21
+ * <wc-fab name="add"></wc-fab>
22
+ * ```
23
+ * @tags controls
24
+ */
25
+ export declare class Fab extends LitElement {
26
+ #private;
27
+ static styles: import("lit").CSSResultGroup[];
28
+ /**
29
+ * Name of the icon to display inside the FAB.
30
+ */
31
+ name?: string;
32
+ /**
33
+ * Source URL for a custom icon.
34
+ */
35
+ src?: string;
36
+ /**
37
+ * Icon provider. Defaults to `"material-symbols"`.
38
+ */
39
+ provider: IconProvider;
40
+ /**
41
+ * Optional label text for the extended FAB variant.
42
+ * When set, the FAB displays both the icon and a text label.
43
+ */
44
+ label?: string;
45
+ /**
46
+ * The color role of the FAB.
47
+ * `"surface"` uses the surface color role.
48
+ * `"primary"` uses the primary color role.
49
+ * `"secondary"` uses the secondary color role.
50
+ * `"tertiary"` uses the tertiary color role.
51
+ */
52
+ color: 'surface' | 'primary' | 'secondary' | 'tertiary';
53
+ /**
54
+ * The style variant of the FAB.
55
+ * `"tonal"` uses container colors.
56
+ * `"filled"` uses solid role colors.
57
+ */
58
+ variant: 'tonal' | 'filled';
59
+ /**
60
+ * The size of the FAB.
61
+ * `"sm"` renders a small FAB (40×40dp).
62
+ * `"md"` renders a standard FAB (56×56dp). This is the default.
63
+ * `"lg"` renders a large FAB (96×96dp).
64
+ */
65
+ size: 'sm' | 'md' | 'lg';
66
+ /**
67
+ * If `true`, the FAB is in a lowered (resting) state with reduced elevation.
68
+ */
69
+ lowered: boolean;
70
+ /**
71
+ * If `true`, the user cannot interact with the FAB.
72
+ */
73
+ disabled: boolean;
74
+ /**
75
+ * Hyperlink to navigate to on click.
76
+ */
77
+ href?: string;
78
+ /**
79
+ * Sets or retrieves the window or frame at which to target content.
80
+ */
81
+ target: string;
82
+ /**
83
+ * Additional ARIA attributes to pass to the inner button/anchor element.
84
+ */
85
+ configAria?: {
86
+ [key: string]: any;
87
+ };
88
+ /**
89
+ * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
90
+ */
91
+ throttleDelay: number;
92
+ /**
93
+ * Tooltip text shown on hover.
94
+ */
95
+ tooltip?: string;
96
+ isPressed: boolean;
97
+ readonly fabElement: HTMLElement | null;
98
+ focus(): void;
99
+ blur(): void;
100
+ connectedCallback(): void;
101
+ disconnectedCallback(): void;
102
+ firstUpdated(): void;
103
+ __handlePress: (event: KeyboardEvent | MouseEvent) => void;
104
+ __isLink(): boolean;
105
+ __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void;
106
+ __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
107
+ __getDisabledReasonID(): string | typeof nothing;
108
+ render(): import("lit-html").TemplateResult<1>;
109
+ __renderFabContent(isExtended: boolean): import("lit-html").TemplateResult<1>;
110
+ __renderTooltip(): typeof nothing | import("lit-html").TemplateResult<1>;
111
+ }
@@ -0,0 +1 @@
1
+ export { Fab } from './fab.js';
@@ -13,16 +13,19 @@ import { LitElement } from 'lit';
13
13
  export declare class FocusRing extends LitElement {
14
14
  static styles: import("lit").CSSResultGroup[];
15
15
  visible: boolean;
16
- element: string;
16
+ for: string;
17
17
  render(): symbol;
18
18
  _control?: HTMLElement;
19
+ _focusTarget?: HTMLElement;
19
20
  get control(): HTMLElement | null;
20
21
  set control(control: HTMLElement | null);
22
+ set forElement(value: HTMLElement | null);
21
23
  connectedCallback(): void;
22
24
  disconnectedCallback(): void;
23
25
  __focusin(): void;
24
26
  __focusout(): void;
25
27
  __pointerdown(): void;
28
+ __getFocusTarget(): HTMLElement | undefined;
26
29
  attach(): void;
27
30
  detach(): void;
28
31
  }
@@ -5,6 +5,8 @@ export { Divider } from './divider/index.js';
5
5
  export { Clock } from './clock/index.js';
6
6
  export { Elevation } from './elevation/index.js';
7
7
  export { Button, ButtonGroup, IconButton } from './button/index.js';
8
+ export { Fab } from './fab/index.js';
9
+ export { SegmentedButton, SegmentedButtonGroup } from './segmented-button/index.js';
8
10
  export { FocusRing } from './focus-ring/index.js';
9
11
  export { Ripple } from './ripple/index.js';
10
12
  export { Accordion } from './accordion/index.js';
@@ -34,7 +36,6 @@ export { CodeEditor } from './code-editor/index.js';
34
36
  export { Image } from './image/index.js';
35
37
  export { Tab, TabGroup, TabPanel, Tabs } from './tabs/index.js';
36
38
  export { Slider } from './slider/index.js';
37
- export { ChartDonut } from './chart-donut/index.js';
38
39
  export { ChartDoughnut } from './chart-doughnut/index.js';
39
40
  export { ChartPie } from './chart-pie/index.js';
40
41
  export { ChartBar, ChartStackedBar } from './chart-bar/index.js';
@@ -42,5 +43,14 @@ export { Table } from './table/index.js';
42
43
  export { Pagination } from './pagination/index.js';
43
44
  export { TreeView, TreeNode } from './tree-view/index.js';
44
45
  export { Card } from './card/index.js';
46
+ export { Banner } from './banner/index.js';
47
+ export { Notification } from './notification/index.js';
45
48
  export { Snackbar } from './snackbar/index.js';
46
49
  export { Radio } from './radio/index.js';
50
+ export { BottomSheet } from './bottom-sheet/index.js';
51
+ export { SideSheet } from './side-sheet/index.js';
52
+ export { Select } from './select/index.js';
53
+ export type { SelectOption } from './select/index.js';
54
+ export { SelectOptionElement } from './select/index.js';
55
+ export { Search } from './search/index.js';
56
+ export { Toolbar } from './toolbar/index.js';
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ declare const Link_base: typeof LitElement & (new (...args: any[]) => import("../__base_element/BaseHyperlink.js").BaseHyperlinkInterface);
2
3
  /**
3
4
  * @label Link
4
5
  * @tag wc-link
@@ -12,16 +13,8 @@ import { LitElement } from 'lit';
12
13
  * <wc-link href="#">Link</wc-link>
13
14
  * ```
14
15
  */
15
- export declare class Link extends LitElement {
16
+ export declare class Link extends Link_base {
16
17
  static styles: import("lit").CSSResultGroup[];
17
- /**
18
- * Hyperlink to navigate to on click.
19
- */
20
- href?: string;
21
- /**
22
- * Sets or retrieves the window or frame at which to target content.
23
- */
24
- target: '_self' | '_parent' | '_blank' | '_top' | string;
25
- tabIndexValue?: number;
26
18
  render(): import("lit-html").TemplateResult<1>;
27
19
  }
20
+ export {};
@@ -22,9 +22,9 @@ type CloseReason = {
22
22
  *
23
23
  * @example
24
24
  * ```html
25
- * <wc-menu>
25
+ * <wc-menu preview>
26
26
  * <wc-menu-item>Item 1</wc-menu-item>
27
- * <wc-menu-item>Item 2</wc-menu-item>
27
+ * <wc-menu-item selected>Item 2</wc-menu-item>
28
28
  * </wc-menu>
29
29
  * ```
30
30
  */
@@ -34,6 +34,7 @@ export declare class Menu extends LitElement {
34
34
  open: boolean;
35
35
  variant: 'standard' | 'vibrant';
36
36
  anchor: string;
37
+ preview: boolean;
37
38
  stayOpenOnOutsideClick: boolean;
38
39
  stayOpenOnFocusout: boolean;
39
40
  isSubmenu: boolean;
@@ -59,6 +60,7 @@ export declare class Menu extends LitElement {
59
60
  private _setBoundaryActive;
60
61
  private _getActiveItem;
61
62
  private _getFirstEnabledItem;
63
+ private _ownsKeyboardEvent;
62
64
  private _onItemActivate;
63
65
  private _onItemRequestClose;
64
66
  private _onKeyDown;
@@ -34,7 +34,6 @@ export declare class MenuItem extends LitElement {
34
34
  private _handleKeyDown;
35
35
  private _handleClick;
36
36
  __isLink(): boolean;
37
- get focusTarget(): this;
38
37
  render(): import("lit-html").TemplateResult<1>;
39
38
  renderContent(): import("lit-html").TemplateResult<1>;
40
39
  }
@@ -5,6 +5,7 @@ import { Menu } from '../menu/menu.js';
5
5
  * @label Sub Menu
6
6
  * @tag wc-sub-menu
7
7
  * @rawTag sub-menu
8
+ * @parentRawTag menu
8
9
  * @summary Connects a menu item to a nested menu.
9
10
  */
10
11
  export declare class SubMenu extends LitElement {
@@ -0,0 +1 @@
1
+ export { Notification } from './notification.js';
@@ -0,0 +1,69 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ type NotificationVariant = 'success' | 'error' | 'info' | 'warning';
3
+ /**
4
+ * @label Notification
5
+ * @tag wc-notification
6
+ * @rawTag notification
7
+ * @summary Notifications communicate contextual status, errors, warnings, and success messages.
8
+ *
9
+ * @cssprop --notification-container-color - Surface color for the notification container.
10
+ * @cssprop --notification-text-color - Label and supporting text color.
11
+ * @cssprop --notification-leading-icon-color - Leading state icon color.
12
+ * @cssprop --notification-accent-color - Start border color for status emphasis.
13
+ * @cssprop --notification-border-radius - Border radius of the notification container.
14
+ *
15
+ * @fires {CustomEvent} notification-dismiss - Fired when the notification is dismissed.
16
+ * @fires {CustomEvent} notification-action-click - Fired when the action button is clicked.
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <wc-notification variant="success" action="Undo" dismissible>
21
+ * <span slot="title">Record saved</span>
22
+ * </wc-notification>
23
+ * ```
24
+ * @tags display, feedback
25
+ */
26
+ export declare class Notification extends LitElement {
27
+ static styles: import("lit").CSSResultGroup[];
28
+ /**
29
+ * If true, content and actions are laid out in a single row.
30
+ */
31
+ inline: boolean;
32
+ /**
33
+ * The visual variant of the notification.
34
+ */
35
+ variant: NotificationVariant;
36
+ /**
37
+ * Enables a high contrast appearance.
38
+ */
39
+ highContrast: boolean;
40
+ /**
41
+ * If true, renders a dismiss icon button.
42
+ */
43
+ dismissible: boolean;
44
+ /**
45
+ * Action label text. When provided, an action button is shown.
46
+ */
47
+ action: string;
48
+ /**
49
+ * If true, the host controls visibility when dismissed.
50
+ */
51
+ managed: boolean;
52
+ private isHidden;
53
+ private hasSubtitle;
54
+ /**
55
+ * Programmatically reveals the notification.
56
+ */
57
+ show(): void;
58
+ /**
59
+ * Programmatically dismisses the notification.
60
+ */
61
+ dismiss(): void;
62
+ private get variantIcon();
63
+ private get variantLabel();
64
+ private emitActionClick;
65
+ private hideAndEmitDismiss;
66
+ private handleSubtitleSlotChange;
67
+ render(): typeof nothing | import("lit-html").TemplateResult<1>;
68
+ }
69
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ import type { PropertyValues } from 'lit';
2
3
  /**
3
4
  * @label Pagination
4
5
  * @tag wc-pagination
@@ -11,7 +12,7 @@ import { LitElement } from 'lit';
11
12
  *
12
13
  * @example
13
14
  * ```html
14
- * <wc-pagination page="1" page-size="10" total-items="100"></wc-pagination>
15
+ * <wc-pagination style="width: 100%;" page="1" page-size="10" total-items="100"></wc-pagination>
15
16
  * ```
16
17
  * @tags navigation, data
17
18
  */
@@ -33,6 +34,12 @@ export declare class Pagination extends LitElement {
33
34
  * Supported page size options.
34
35
  */
35
36
  pageSizes: number[];
37
+ protected willUpdate(changedProperties: PropertyValues<Pagination>): void;
38
+ private getTotalPages;
39
+ private setPage;
40
+ private handlePageSizeChange;
41
+ private handlePreviousPage;
42
+ private handleNextPage;
36
43
  private dispatchPageEvent;
37
44
  render(): import("lit-html").TemplateResult<1>;
38
45
  }
@@ -10,10 +10,26 @@ import { LitElement, PropertyValues } from 'lit';
10
10
  *
11
11
  * @example
12
12
  * ```html
13
- * <button style="position: relative;">
13
+ * <style>
14
+ * .ripple-surface {
15
+ * position: relative;
16
+ * display: inline-flex;
17
+ * align-items: center;
18
+ * justify-content: center;
19
+ * width: 220px;
20
+ * height: 64px;
21
+ * border-radius: 12px;
22
+ * background: var(--color-surface-container-high);
23
+ * color: var(--color-on-surface);
24
+ * overflow: hidden;
25
+ * cursor: pointer;
26
+ * user-select: none;
27
+ * }
28
+ * </style>
29
+ * <div class="ripple-surface">
14
30
  * <wc-ripple></wc-ripple>
15
- * Click me
16
- * </button>
31
+ * Ripple Effect
32
+ * </div>
17
33
  * ```
18
34
  * @tags display
19
35
  */
@@ -0,0 +1 @@
1
+ export { Search } from './search.js';
@@ -0,0 +1,76 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Search
4
+ * @tag wc-search
5
+ * @rawTag search
6
+ *
7
+ * @summary A Material 3 search bar for filtering and finding content.
8
+ * @overview
9
+ * <p>The search component provides a text input designed for search interactions.
10
+ * It supports outlined and filled variants, an optional clear button, and leading/trailing icon slots.</p>
11
+ *
12
+ * @cssprop --search-container-shape - Border radius of the search bar. Defaults to full (pill shape).
13
+ * @cssprop --search-container-color - Background color of the search container.
14
+ * @cssprop --search-input-text-color - Color of the input text.
15
+ * @cssprop --search-placeholder-color - Color of the placeholder text.
16
+ * @cssprop --search-icon-color - Color of the leading and trailing icons.
17
+ * @cssprop --search-outline-color - Border color for the outlined variant.
18
+ * @cssprop --search-outline-width - Border width for the outlined variant.
19
+ *
20
+ * @fires {CustomEvent} input - Dispatched when the search value changes.
21
+ * @fires {CustomEvent} change - Dispatched when the search input loses focus or Enter is pressed.
22
+ * @fires {CustomEvent} clear - Dispatched when the clear button is activated.
23
+ * @fires {CustomEvent} search - Dispatched when the user submits the search (presses Enter).
24
+ *
25
+ * @example
26
+ * ```html
27
+ * <wc-search placeholder="Search..."></wc-search>
28
+ * ```
29
+ * @tags form
30
+ */
31
+ export declare class Search extends LitElement {
32
+ static styles: import("lit").CSSResultGroup[];
33
+ /**
34
+ * Visual style variant.
35
+ * Possible values: `"outlined"`, `"filled"`. Defaults to `"filled"`.
36
+ */
37
+ variant: 'outlined' | 'filled';
38
+ /**
39
+ * Placeholder text shown when the input is empty.
40
+ */
41
+ placeholder: string;
42
+ /**
43
+ * Current search value.
44
+ */
45
+ value: string;
46
+ /**
47
+ * Whether the search bar is disabled.
48
+ */
49
+ disabled: boolean;
50
+ /**
51
+ * Whether a clear button is shown when the input has a value.
52
+ */
53
+ clearable: boolean;
54
+ /**
55
+ * Size of the search bar.
56
+ * Possible values: `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
57
+ */
58
+ size: 'sm' | 'md' | 'lg';
59
+ private focused;
60
+ private leadingSlotHasContent;
61
+ private inputElement?;
62
+ firstUpdated(): void;
63
+ /** Focuses the internal input element. */
64
+ focus(): void;
65
+ /** Blurs the internal input element. */
66
+ blur(): void;
67
+ private __handleInput;
68
+ private __handleChange;
69
+ private __handleKeydown;
70
+ private __handleFocus;
71
+ private __handleBlur;
72
+ private __clearValue;
73
+ private __renderClearButton;
74
+ private __renderLeadingIcon;
75
+ render(): import("lit-html").TemplateResult<1>;
76
+ }
@@ -0,0 +1,2 @@
1
+ export { SegmentedButton } from './segmented-button.js';
2
+ export { SegmentedButtonGroup } from './segmented-button-group.js';
@@ -0,0 +1,46 @@
1
+ import { LitElement } from 'lit';
2
+ import { SegmentedButton } from './segmented-button.js';
3
+ /**
4
+ * @label Segmented Button Group
5
+ * @tag wc-segmented-button-group
6
+ * @rawTag segmented-button-group
7
+ * @summary A container for segmented buttons following Material Design 3.
8
+ * @overview
9
+ * <p>Segmented buttons help people select options, switch views, or sort elements. They follow the Material Design 3 specification.</p>
10
+ * <p>Use <code>multi-select</code> to allow more than one segment to be selected at a time. By default only one segment can be active (single-select).</p>
11
+ *
12
+ * @cssprop --segmented-button-group-shape: Border-radius of the group container.
13
+ *
14
+ * @fires {CustomEvent} change - Dispatched when the selection changes. Detail contains <code>{ value, values }</code>.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <wc-segmented-button-group>
19
+ * <wc-segmented-button value="day">Day</wc-segmented-button>
20
+ * <wc-segmented-button value="week" selected>Week</wc-segmented-button>
21
+ * <wc-segmented-button value="month">Month</wc-segmented-button>
22
+ * </wc-segmented-button-group>
23
+ * ```
24
+ *
25
+ * @tags controls
26
+ */
27
+ export declare class SegmentedButtonGroup extends LitElement {
28
+ static styles: import("lit").CSSResultGroup[];
29
+ static SegmentedButton: typeof SegmentedButton;
30
+ /**
31
+ * When true, multiple segments can be selected simultaneously.
32
+ * Defaults to single-select mode.
33
+ */
34
+ multiSelect: boolean;
35
+ /**
36
+ * When true, in single-select mode the currently selected segment can be
37
+ * deselected by clicking it again (allowing an empty selection).
38
+ * Defaults to `false`.
39
+ */
40
+ nullable: boolean;
41
+ connectedCallback(): void;
42
+ disconnectedCallback(): void;
43
+ private _getSegments;
44
+ private _onSegmentChange;
45
+ render(): import("lit-html").TemplateResult<1>;
46
+ }
@@ -0,0 +1,65 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Segmented Button
4
+ * @tag wc-segmented-button
5
+ * @rawTag segmented-button
6
+ * @summary An individual segment within a segmented button group.
7
+ * @parentRawTag segmented-button-group
8
+ * @overview
9
+ * <p>Segmented buttons help people select options, switch views, or sort elements. They are used within a <code>wc-segmented-button-group</code>.</p>
10
+ *
11
+ * @cssprop --segmented-button-height: Height of the segmented button.
12
+ * @cssprop --segmented-button-selected-container-color: Background color when the segment is selected.
13
+ * @cssprop --segmented-button-selected-label-text-color: Text color when the segment is selected.
14
+ * @cssprop --segmented-button-unselected-label-text-color: Text color when the segment is unselected.
15
+ * @cssprop --segmented-button-outline-color: Outline / border color.
16
+ * @cssprop --segmented-button-disabled-opacity: Opacity when the segment is disabled.
17
+ *
18
+ * @fires {CustomEvent} segmented-button--change - Dispatched when the selected state changes.
19
+ *
20
+ * @example
21
+ * ```html
22
+ * <wc-segmented-button-group>
23
+ * <wc-segmented-button value="day">Day</wc-segmented-button>
24
+ * <wc-segmented-button value="week" selected>Week</wc-segmented-button>
25
+ * <wc-segmented-button value="month">Month</wc-segmented-button>
26
+ * </wc-segmented-button-group>
27
+ * ```
28
+ *
29
+ * @tags controls
30
+ */
31
+ export declare class SegmentedButton extends LitElement {
32
+ static styles: import("lit").CSSResultGroup[];
33
+ /**
34
+ * The value associated with this segment.
35
+ */
36
+ value: string;
37
+ /**
38
+ * Whether this segment is currently selected.
39
+ */
40
+ selected: boolean;
41
+ /**
42
+ * If true, the user cannot interact with this segment.
43
+ */
44
+ disabled: boolean;
45
+ /**
46
+ * Optional icon name to display (uses wc-icon).
47
+ */
48
+ icon?: string;
49
+ private hasFocus;
50
+ private isActive;
51
+ connectedCallback(): void;
52
+ disconnectedCallback(): void;
53
+ private _windowMouseUp;
54
+ private _mouseDownHandler;
55
+ private _keyDownHandler;
56
+ private _clickHandler;
57
+ private _toggle;
58
+ private _blurHandler;
59
+ private _focusHandler;
60
+ /** Sets focus on the segment. */
61
+ focus(): void;
62
+ /** Removes focus from the segment. */
63
+ blur(): void;
64
+ render(): import("lit-html").TemplateResult<1>;
65
+ }
@@ -0,0 +1,3 @@
1
+ export { Select } from './select.js';
2
+ export type { SelectOption } from './select.js';
3
+ export { SelectOptionElement } from './option.js';