@redvars/peacock 3.4.0 → 3.5.1

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 (258) hide show
  1. package/dist/BaseButton-DuASuVth.js +219 -0
  2. package/dist/BaseButton-DuASuVth.js.map +1 -0
  3. package/dist/BaseHyperlinkMixin-BNuwbiEf.js +65 -0
  4. package/dist/BaseHyperlinkMixin-BNuwbiEf.js.map +1 -0
  5. package/dist/assets/components.css +1 -1
  6. package/dist/assets/components.css.map +1 -1
  7. package/dist/assets/styles.css +1 -1
  8. package/dist/assets/styles.css.map +1 -1
  9. package/dist/banner.js +187 -0
  10. package/dist/banner.js.map +1 -0
  11. package/dist/bottom-sheet.js +2 -2
  12. package/dist/{button-COYCtuA8.js → button-DouvOfEU.js} +92 -283
  13. package/dist/button-DouvOfEU.js.map +1 -0
  14. package/dist/{button-group-DsXquZQn.js → button-group-CEdMwvJJ.js} +72 -48
  15. package/dist/button-group-CEdMwvJJ.js.map +1 -0
  16. package/dist/button-group.js +8 -5
  17. package/dist/button-group.js.map +1 -1
  18. package/dist/button.js +7 -4
  19. package/dist/button.js.map +1 -1
  20. package/dist/card.js +29 -74
  21. package/dist/card.js.map +1 -1
  22. package/dist/chart-bar.js +2 -2
  23. package/dist/chart-bar.js.map +1 -1
  24. package/dist/chart-doughnut.js +2 -2
  25. package/dist/chart-doughnut.js.map +1 -1
  26. package/dist/chart-pie.js +2 -2
  27. package/dist/chart-pie.js.map +1 -1
  28. package/dist/chart-stacked-bar.js +2 -2
  29. package/dist/chart-stacked-bar.js.map +1 -1
  30. package/dist/{class-map-3TAnCMAX.js → class-map-YU7g0o3B.js} +2 -2
  31. package/dist/{class-map-3TAnCMAX.js.map → class-map-YU7g0o3B.js.map} +1 -1
  32. package/dist/clock.js.map +1 -1
  33. package/dist/code-editor.js +4 -4
  34. package/dist/code-editor.js.map +1 -1
  35. package/dist/code-highlighter.js +5 -4
  36. package/dist/code-highlighter.js.map +1 -1
  37. package/dist/custom-elements-jsdocs.json +6627 -3477
  38. package/dist/custom-elements.json +10954 -7810
  39. package/dist/directive-ZPhl09Yt.js +9 -0
  40. package/dist/directive-ZPhl09Yt.js.map +1 -0
  41. package/dist/dispatch-event-utils-CuEqjlPT.js +127 -0
  42. package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -0
  43. package/dist/fab.js +423 -0
  44. package/dist/fab.js.map +1 -0
  45. package/dist/index.js +17 -9
  46. package/dist/index.js.map +1 -1
  47. package/dist/{observe-theme-change-DKAIv5BB.js → is-dark-mode-DicqGkCJ.js} +6 -2
  48. package/dist/is-dark-mode-DicqGkCJ.js.map +1 -0
  49. package/dist/{select-C3XAzenC.js → navigation-rail-Lxetd5-Z.js} +2426 -898
  50. package/dist/navigation-rail-Lxetd5-Z.js.map +1 -0
  51. package/dist/notification.js +418 -0
  52. package/dist/notification.js.map +1 -0
  53. package/dist/number-counter.js +2 -2
  54. package/dist/number-counter.js.map +1 -1
  55. package/dist/observe-slot-change-BGJfgg2E.js +31 -0
  56. package/dist/observe-slot-change-BGJfgg2E.js.map +1 -0
  57. package/dist/peacock-loader.js +48 -13
  58. package/dist/peacock-loader.js.map +1 -1
  59. package/dist/search.js +456 -0
  60. package/dist/search.js.map +1 -0
  61. package/dist/side-sheet.js +2 -2
  62. package/dist/src/__mixins/BaseButtonMixin.d.ts +20 -0
  63. package/dist/src/__mixins/BaseHyperlinkMixin.d.ts +18 -0
  64. package/dist/src/__mixins/MixinConstructor.d.ts +1 -0
  65. package/dist/src/__utils/cache-fetch.d.ts +1 -0
  66. package/dist/src/__utils/is-dark-mode.d.ts +1 -0
  67. package/dist/src/__utils/is-in-viewport.d.ts +1 -0
  68. package/dist/src/__utils/observe-slot-change.d.ts +1 -0
  69. package/dist/src/__utils/sanitize-svg.d.ts +1 -0
  70. package/dist/src/__utils/throttle.d.ts +4 -0
  71. package/dist/src/accordion/accordion-item.d.ts +33 -9
  72. package/dist/src/accordion/accordion.d.ts +21 -5
  73. package/dist/src/banner/banner.d.ts +43 -0
  74. package/dist/src/banner/index.d.ts +1 -0
  75. package/dist/src/button/BaseButton.d.ts +7 -57
  76. package/dist/src/button/button/button.d.ts +32 -3
  77. package/dist/src/button/button-group/button-group.d.ts +4 -4
  78. package/dist/src/button/icon-button/icon-button.d.ts +33 -8
  79. package/dist/src/card/card.d.ts +4 -15
  80. package/dist/src/empty-state/empty-state.d.ts +1 -1
  81. package/dist/src/fab/fab.d.ts +80 -0
  82. package/dist/src/fab/index.d.ts +1 -0
  83. package/dist/src/focus-ring/focus-ring.d.ts +11 -5
  84. package/dist/src/index.d.ts +8 -1
  85. package/dist/src/link/link.d.ts +3 -10
  86. package/dist/src/menu/menu/menu.d.ts +3 -2
  87. package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
  88. package/dist/src/navigation-rail/index.d.ts +2 -0
  89. package/dist/src/navigation-rail/navigation-rail-item.d.ts +55 -0
  90. package/dist/src/navigation-rail/navigation-rail.d.ts +71 -0
  91. package/dist/src/notification/index.d.ts +1 -0
  92. package/dist/src/notification/notification.d.ts +69 -0
  93. package/dist/src/pagination/pagination.d.ts +8 -1
  94. package/dist/src/search/index.d.ts +1 -0
  95. package/dist/src/search/search.d.ts +76 -0
  96. package/dist/src/select/select.d.ts +3 -5
  97. package/dist/src/sidebar-menu/index.d.ts +3 -0
  98. package/dist/src/sidebar-menu/sidebar-menu-item.d.ts +58 -0
  99. package/dist/src/sidebar-menu/sidebar-menu.d.ts +38 -0
  100. package/dist/src/sidebar-menu/sidebar-sub-menu.d.ts +35 -0
  101. package/dist/src/slider/slider.d.ts +4 -0
  102. package/dist/src/snackbar/snackbar.d.ts +14 -1
  103. package/dist/src/toolbar/index.d.ts +1 -0
  104. package/dist/src/toolbar/toolbar.d.ts +86 -0
  105. package/dist/src/tooltip/tooltip.d.ts +3 -0
  106. package/dist/src/url-field/index.d.ts +1 -0
  107. package/dist/src/url-field/url-field.d.ts +48 -0
  108. package/dist/{style-map-CRFEoCEg.js → style-map-DVmWOuYy.js} +2 -2
  109. package/dist/{style-map-CRFEoCEg.js.map → style-map-DVmWOuYy.js.map} +1 -1
  110. package/dist/test/banner.test.d.ts +1 -0
  111. package/dist/test/search.test.d.ts +1 -0
  112. package/dist/test/sidebar-menu.test.d.ts +1 -0
  113. package/dist/test/toolbar.test.d.ts +1 -0
  114. package/dist/toolbar.js +306 -0
  115. package/dist/toolbar.js.map +1 -0
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/dist/{unsafe-html-D3GHRaGQ.js → unsafe-html-BsGUjx94.js} +2 -2
  118. package/dist/{unsafe-html-D3GHRaGQ.js.map → unsafe-html-BsGUjx94.js.map} +1 -1
  119. package/package.json +1 -1
  120. package/readme.md +73 -65
  121. package/scss/mixin.scss +16 -0
  122. package/scss/styles.scss +4 -0
  123. package/src/__mixins/BaseButtonMixin.ts +83 -0
  124. package/src/__mixins/BaseHyperlinkMixin.ts +68 -0
  125. package/src/__mixins/MixinConstructor.ts +1 -0
  126. package/src/__mixins/README.md +19 -0
  127. package/src/__utils/cache-fetch.ts +65 -0
  128. package/src/__utils/is-dark-mode.ts +3 -0
  129. package/src/__utils/is-in-viewport.ts +6 -0
  130. package/src/__utils/observe-slot-change.ts +38 -0
  131. package/src/__utils/sanitize-svg.ts +27 -0
  132. package/src/__utils/throttle.ts +27 -0
  133. package/src/accordion/accordion-item.scss +136 -65
  134. package/src/accordion/accordion-item.ts +117 -44
  135. package/src/accordion/accordion.scss +24 -5
  136. package/src/accordion/accordion.ts +29 -23
  137. package/src/accordion/demo/index.html +74 -35
  138. package/src/banner/banner.scss +83 -0
  139. package/src/banner/banner.ts +101 -0
  140. package/src/banner/index.ts +1 -0
  141. package/src/button/BaseButton.ts +13 -115
  142. package/src/button/button/button-colors.scss +14 -14
  143. package/src/button/button/button-sizes.scss +4 -2
  144. package/src/button/button/button.ts +80 -26
  145. package/src/button/button-group/button-group.ts +5 -5
  146. package/src/button/icon-button/icon-button.ts +79 -44
  147. package/src/card/card.ts +50 -100
  148. package/src/chart-bar/chart-bar.ts +10 -15
  149. package/src/chart-bar/chart-stacked-bar.ts +15 -19
  150. package/src/chart-doughnut/chart-doughnut.ts +24 -28
  151. package/src/chart-pie/chart-pie.ts +20 -24
  152. package/src/checkbox/checkbox.scss +17 -34
  153. package/src/checkbox/checkbox.ts +4 -2
  154. package/src/clock/clock.ts +1 -1
  155. package/src/code-editor/code-editor.ts +4 -4
  156. package/src/code-highlighter/code-highlighter.scss +1 -0
  157. package/src/code-highlighter/code-highlighter.ts +3 -3
  158. package/src/date-picker/date-picker.ts +6 -3
  159. package/src/divider/divider.ts +3 -1
  160. package/src/elevation/elevation.scss +5 -5
  161. package/src/empty-state/empty-state.scss +7 -9
  162. package/src/empty-state/empty-state.ts +1 -1
  163. package/src/fab/fab-colors.scss +49 -0
  164. package/src/fab/fab-sizes.scss +47 -0
  165. package/src/fab/fab.scss +137 -0
  166. package/src/fab/fab.ts +214 -0
  167. package/src/fab/index.ts +1 -0
  168. package/src/field/field.ts +3 -1
  169. package/src/focus-ring/focus-ring.ts +47 -40
  170. package/src/icon/datasource.ts +1 -1
  171. package/src/icon/icon.ts +3 -1
  172. package/src/image/image.ts +3 -2
  173. package/src/index.ts +8 -1
  174. package/src/input/input.ts +8 -3
  175. package/src/link/link.ts +2 -15
  176. package/src/menu/menu/menu.scss +7 -0
  177. package/src/menu/menu/menu.ts +7 -4
  178. package/src/menu/menu-item/menu-item.ts +3 -1
  179. package/src/menu/sub-menu/sub-menu.ts +1 -0
  180. package/src/navigation-rail/index.ts +2 -0
  181. package/src/navigation-rail/navigation-rail-item.scss +216 -0
  182. package/src/navigation-rail/navigation-rail-item.ts +223 -0
  183. package/src/navigation-rail/navigation-rail.scss +72 -0
  184. package/src/navigation-rail/navigation-rail.ts +149 -0
  185. package/src/notification/index.ts +1 -0
  186. package/src/notification/notification.scss +201 -0
  187. package/src/notification/notification.ts +207 -0
  188. package/src/number-counter/number-counter.ts +3 -1
  189. package/src/number-field/number-field.ts +10 -6
  190. package/src/pagination/pagination.scss +33 -24
  191. package/src/pagination/pagination.ts +115 -60
  192. package/src/peacock-loader.ts +42 -5
  193. package/src/radio/radio.ts +3 -1
  194. package/src/search/index.ts +1 -0
  195. package/src/search/search-colors.scss +14 -0
  196. package/src/search/search.scss +204 -0
  197. package/src/search/search.ts +244 -0
  198. package/src/select/option.ts +1 -1
  199. package/src/select/select.scss +5 -0
  200. package/src/select/select.ts +71 -37
  201. package/src/sidebar-menu/demo/index.html +68 -0
  202. package/src/sidebar-menu/index.ts +3 -0
  203. package/src/sidebar-menu/sidebar-menu-item.scss +102 -0
  204. package/src/sidebar-menu/sidebar-menu-item.ts +151 -0
  205. package/src/{tree-view/tree-view.scss → sidebar-menu/sidebar-menu.scss} +1 -1
  206. package/src/sidebar-menu/sidebar-menu.ts +182 -0
  207. package/src/sidebar-menu/sidebar-sub-menu.scss +130 -0
  208. package/src/sidebar-menu/sidebar-sub-menu.ts +160 -0
  209. package/src/skeleton/skeleton.scss +18 -24
  210. package/src/slider/slider.scss +19 -0
  211. package/src/slider/slider.ts +30 -19
  212. package/src/snackbar/snackbar.scss +62 -31
  213. package/src/snackbar/snackbar.ts +91 -11
  214. package/src/switch/switch.ts +3 -1
  215. package/src/table/table.ts +3 -1
  216. package/src/tabs/tab.ts +10 -6
  217. package/src/text/text.css-component.scss +7 -1
  218. package/src/textarea/textarea.ts +4 -2
  219. package/src/time-picker/time-picker.ts +5 -3
  220. package/src/toolbar/index.ts +1 -0
  221. package/src/toolbar/toolbar-colors.scss +16 -0
  222. package/src/toolbar/toolbar.scss +165 -0
  223. package/src/toolbar/toolbar.ts +137 -0
  224. package/src/tooltip/tooltip.ts +24 -0
  225. package/src/url-field/index.ts +1 -0
  226. package/src/url-field/url-field.scss +50 -0
  227. package/src/url-field/url-field.ts +239 -0
  228. package/dist/button-COYCtuA8.js.map +0 -1
  229. package/dist/button-group-DsXquZQn.js.map +0 -1
  230. package/dist/directive-Cuw6h7YA.js +0 -9
  231. package/dist/directive-Cuw6h7YA.js.map +0 -1
  232. package/dist/dispatch-event-utils-B4odODQf.js +0 -277
  233. package/dist/dispatch-event-utils-B4odODQf.js.map +0 -1
  234. package/dist/observe-theme-change-DKAIv5BB.js.map +0 -1
  235. package/dist/select-C3XAzenC.js.map +0 -1
  236. package/dist/src/styleMixins.css.d.ts +0 -9
  237. package/dist/src/tree-view/index.d.ts +0 -2
  238. package/dist/src/tree-view/tree-node.d.ts +0 -69
  239. package/dist/src/tree-view/tree-view.d.ts +0 -40
  240. package/dist/src/tree-view/wc-tree-view.d.ts +0 -6
  241. package/dist/src/utils.d.ts +0 -9
  242. package/dist/test/tree-view.test.d.ts +0 -1
  243. package/src/styleMixins.css.ts +0 -55
  244. package/src/tree-view/demo/index.html +0 -57
  245. package/src/tree-view/index.ts +0 -2
  246. package/src/tree-view/tree-node.scss +0 -101
  247. package/src/tree-view/tree-node.ts +0 -268
  248. package/src/tree-view/tree-view.ts +0 -182
  249. package/src/tree-view/wc-tree-view.ts +0 -9
  250. package/src/utils.ts +0 -193
  251. /package/dist/src/{spread.d.ts → __directive/spread.d.ts} +0 -0
  252. /package/dist/src/{utils → __utils}/copy-to-clipboard.d.ts +0 -0
  253. /package/dist/src/{utils → __utils}/dispatch-event-utils.d.ts +0 -0
  254. /package/dist/src/{utils → __utils}/observe-theme-change.d.ts +0 -0
  255. /package/src/{spread.ts → __directive/spread.ts} +0 -0
  256. /package/src/{utils → __utils}/copy-to-clipboard.ts +0 -0
  257. /package/src/{utils → __utils}/dispatch-event-utils.ts +0 -0
  258. /package/src/{utils → __utils}/observe-theme-change.ts +0 -0
@@ -0,0 +1 @@
1
+ export declare function observerSlotChangesWithCallback(slot: HTMLSlotElement | null, callback: (hasContent: boolean) => void): void;
@@ -0,0 +1 @@
1
+ export declare function sanitizeSvg(rawSvg: string): string;
@@ -0,0 +1,4 @@
1
+ export declare function throttle(func: Function, delay: number, options?: {
2
+ leading: boolean;
3
+ trailing: boolean;
4
+ }): (...args: any[]) => void;
@@ -3,13 +3,27 @@ import { LitElement } from 'lit';
3
3
  * @label Accordion Item
4
4
  * @tag wc-accordion-item
5
5
  * @rawTag accordion-item
6
- * @summary An accordion item is single item in an accordion list. It contains a header and a content section that can be expanded or collapsed by the user.
6
+ * @summary An expansion panel with a header that reveals or hides associated content. Follows Material Design 3 expansion panel guidelines.
7
7
  * @parentRawTag accordion
8
8
  *
9
+ * @slot - The body content revealed when the panel is expanded.
10
+ * @slot heading - The panel title. Renders as `body-large` text.
11
+ * @slot description - Optional subtitle rendered below the title. Renders as `body-small` text.
12
+ * @slot header-actions - Actions (e.g. icon buttons) placed at the trailing end of the header, before the toggle icon.
13
+ *
14
+ * @part header - The header `<button>` element.
15
+ * @part title - The title text container.
16
+ * @part description - The description text container.
17
+ * @part content - The expandable content region wrapper.
18
+ *
19
+ * @fires {CustomEvent<{ open: boolean }>} accordion-item:toggle - Fired when the panel is expanded or collapsed.
20
+ *
9
21
  * @example
10
22
  * ```html
11
23
  * <wc-accordion-item>
12
- * Testing
24
+ * <span slot="heading">Personal information</span>
25
+ * <span slot="description">Fill in your details</span>
26
+ * <p>Content goes here.</p>
13
27
  * </wc-accordion-item>
14
28
  * ```
15
29
  * @tags display
@@ -18,20 +32,30 @@ export declare class AccordionItem extends LitElement {
18
32
  #private;
19
33
  static styles: import("lit").CSSResultGroup[];
20
34
  /**
21
- * The menu item value.
22
- */
23
- heading: string;
24
- /**
25
- * If true, the user cannot interact with the button. Defaults to `false`.
35
+ * Whether the user cannot interact with the panel.
26
36
  */
27
37
  disabled: boolean;
28
38
  /**
29
- * Menu item selection state.
39
+ * Whether the panel is expanded.
30
40
  */
31
41
  open: boolean;
42
+ /**
43
+ * Whether to hide the expand/collapse toggle indicator icon.
44
+ */
45
+ hideToggle: boolean;
46
+ /**
47
+ * Position of the toggle icon relative to the panel title.
48
+ * `'after'` places it at the trailing end (default, matches M3).
49
+ * `'before'` places it at the leading start.
50
+ */
51
+ togglePosition: 'before' | 'after';
52
+ private _hasDescriptionSlot;
53
+ private _hasHeadingSlot;
32
54
  private readonly buttonElement;
33
55
  focus(): void;
34
56
  blur(): void;
35
- private __handleToggle;
57
+ private _handleToggle;
58
+ private static _onSlotChange;
59
+ private _renderToggleIcon;
36
60
  render(): import("lit-html").TemplateResult<1>;
37
61
  }
@@ -4,21 +4,37 @@ import { AccordionItem } from './accordion-item.js';
4
4
  * @label Accordion
5
5
  * @tag wc-accordion
6
6
  * @rawTag accordion
7
- * @summary An accordion is a vertically stacked list of headers that reveal or hide associated sections of content.
7
+ * @summary A vertically stacked set of expansion panels. Follows Material Design 3 expansion panel guidelines.
8
8
  *
9
9
  * @example
10
10
  * ```html
11
11
  * <wc-accordion>
12
- * <wc-accordion-item heading="Accordion">
13
- * Content
14
- * </wc-accordion-item>
12
+ * <wc-accordion-item>
13
+ * <span slot="heading">Panel 1</span>
14
+ * <span slot="description">Summary text</span>
15
+ * Content
16
+ * </wc-accordion-item>
17
+ * <wc-accordion-item>
18
+ * <span slot="heading">Panel 2</span>
19
+ * Content
20
+ * </wc-accordion-item>
15
21
  * </wc-accordion>
16
22
  * ```
17
23
  * @tags display
18
24
  */
19
25
  export declare class Accordion extends LitElement {
20
26
  static styles: import("lit").CSSResultGroup[];
21
- allowMultiple: boolean;
27
+ /**
28
+ * Whether multiple panels can be expanded simultaneously.
29
+ * When `false` (default), expanding one panel collapses all others.
30
+ */
31
+ multi: boolean;
32
+ /**
33
+ * Display mode for the accordion.
34
+ * `'default'` renders panels with a subtle background on expand and dividers between items.
35
+ * `'flat'` renders panels without borders or background changes — suitable for use inside cards.
36
+ */
37
+ displayMode: 'default' | 'flat';
22
38
  items: Array<AccordionItem>;
23
39
  connectedCallback(): void;
24
40
  disconnectedCallback(): void;
@@ -0,0 +1,43 @@
1
+ import { LitElement } from 'lit';
2
+ type BannerVariant = 'note' | 'info' | 'success' | 'warning' | 'error';
3
+ /**
4
+ * @label Banner
5
+ * @tag wc-banner
6
+ * @rawTag banner
7
+ * @summary Banners show short, prominent contextual messages with optional icon and description.
8
+ *
9
+ * @cssprop --banner-container-color - Background color of the banner container.
10
+ * @cssprop --banner-label-text-color - Label text color.
11
+ * @cssprop --banner-description-text-color - Description text color.
12
+ * @cssprop --banner-icon-color - Icon color.
13
+ * @cssprop --banner-border-radius - Border radius of the banner surface.
14
+ *
15
+ * @example
16
+ * ```html
17
+ * <wc-banner variant="note" description="Use semantic roles that preserve a 3:1 contrast ratio."></wc-banner>
18
+ * ```
19
+ * @tags display, feedback
20
+ */
21
+ export declare class Banner extends LitElement {
22
+ static styles: import("lit").CSSResultGroup[];
23
+ /**
24
+ * Visual intent of the banner.
25
+ */
26
+ variant: BannerVariant;
27
+ /**
28
+ * Optional explicit label text. Falls back to a variant-based label.
29
+ */
30
+ label?: string;
31
+ /**
32
+ * Optional explicit icon name. Falls back to a variant-based icon.
33
+ */
34
+ icon?: string;
35
+ /**
36
+ * Optional description text when a default slot is not provided.
37
+ */
38
+ description: string;
39
+ private get resolvedLabel();
40
+ private get resolvedIcon();
41
+ render(): import("lit-html").TemplateResult<1>;
42
+ }
43
+ export {};
@@ -0,0 +1 @@
1
+ export { Banner } from './banner.js';
@@ -1,56 +1,10 @@
1
1
  import { LitElement, nothing } from 'lit';
2
- export declare class BaseButton extends LitElement {
3
- #private;
4
- htmlType: 'button' | 'submit' | 'reset';
5
- /**
6
- * Type is preset of color and variant. Type will be only applied.
7
- *
8
- */
9
- type?: 'primary' | 'secondary' | 'tertiary';
10
- /**
11
- * The visual style of the button.
12
- *
13
- * Possible variant values:
14
- * `"filled"` is a filled button.
15
- * `"outlined"` is an outlined button.
16
- * `"text"` is a transparent button.
17
- * `"tonal"` is a light color button.
18
- * `"elevated"` is elevated button
19
- */
20
- variant: 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'neo';
21
- /**
22
- * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
23
- */
24
- color: 'primary' | 'success' | 'danger' | 'warning' | 'light' | 'dark';
25
- /**
26
- * Button size.
27
- * Possible values are `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
28
- */
29
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
30
- /**
31
- * If true, the user cannot interact with the button. Defaults to `false`.
32
- */
33
- disabled: boolean;
2
+ declare const BaseButton_base: typeof LitElement & import("../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseHyperlinkMixin.js").BaseHyperlinkInterface> & import("../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseButtonMixin.js").BaseButtonInterface>;
3
+ export declare class BaseButton extends BaseButton_base {
4
+ protected static readonly DISABLED_REASON_ID = "disabled-reason";
5
+ color?: string;
6
+ variant?: string;
34
7
  skeleton: boolean;
35
- /**
36
- * If true, the user cannot interact with the button and the button is visually styled as disabled. But the button is still focusable. Defaults to `false`.
37
- */
38
- softDisabled: boolean;
39
- /**
40
- * If button is disabled, the reason why it is disabled.
41
- */
42
- disabledReason: string;
43
- /**
44
- * Hyperlink to navigate to on click.
45
- */
46
- href?: string;
47
- /**
48
- * Sets or retrieves the window or frame at which to target content.
49
- */
50
- target: string;
51
- configAria?: {
52
- [key: string]: any;
53
- };
54
8
  toggle: boolean;
55
9
  selected: boolean;
56
10
  /**
@@ -63,16 +17,12 @@ export declare class BaseButton extends LitElement {
63
17
  */
64
18
  isPressed: boolean;
65
19
  readonly buttonElement: HTMLElement | null;
66
- focus(): void;
67
- blur(): void;
68
20
  connectedCallback(): void;
69
21
  disconnectedCallback(): void;
70
22
  __handlePress: (event: KeyboardEvent | MouseEvent) => void;
71
- __isLink(): boolean;
72
23
  __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void;
73
24
  __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
74
- __convertTypeToVariantAndColor(): void;
75
- __getDisabledReasonID(): string | typeof nothing;
76
- __renderDisabledReason(): typeof nothing | import("lit-html").TemplateResult<1>;
25
+ __renderDisabledReason(softDisabled: boolean): typeof nothing | import("lit-html").TemplateResult<1>;
77
26
  __renderTooltip(): typeof nothing | import("lit-html").TemplateResult<1>;
78
27
  }
28
+ export {};
@@ -42,19 +42,48 @@ import { BaseButton } from '../BaseButton.js';
42
42
  * @tags display
43
43
  */
44
44
  export declare class Button extends BaseButton {
45
- #private;
46
45
  static styles: import("lit").CSSResultGroup[];
47
46
  /**
48
47
  * Icon alignment.
49
48
  * Possible values are `"start"`, `"end"`. Defaults to `"end"`.
50
49
  */
51
50
  iconAlign: 'start' | 'end';
51
+ /**
52
+ * Button size.
53
+ * Possible values are `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`. Defaults to `"sm"`.
54
+ */
55
+ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
56
+ /**
57
+ * Type is preset of color and variant. Type will be only applied.
58
+ *
59
+ */
60
+ type?: 'primary' | 'secondary' | 'tertiary';
61
+ /**
62
+ * The visual style of the button.
63
+ *
64
+ * Possible variant values:
65
+ * `"filled"` is a filled button.
66
+ * `"outlined"` is an outlined button.
67
+ * `"text"` is a transparent button.
68
+ * `"tonal"` is a light color button.
69
+ * `"elevated"` is elevated button
70
+ */
71
+ variant: 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'neo';
72
+ /**
73
+ * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
74
+ */
75
+ color: 'primary' | 'success' | 'danger' | 'warning' | 'surface' | 'on-surface';
76
+ /**
77
+ * Additional ARIA attributes to pass to the inner button/anchor element.
78
+ */
79
+ configAria?: {
80
+ [key: string]: any;
81
+ };
52
82
  private slotHasContent;
53
83
  focus(): void;
54
84
  blur(): void;
55
- connectedCallback(): void;
56
- disconnectedCallback(): void;
57
85
  firstUpdated(): void;
86
+ __convertTypeToVariantAndColor(): void;
58
87
  render(): import("lit-html").TemplateResult<1>;
59
88
  renderButtonContent(): import("lit-html").TemplateResult<1>;
60
89
  }
@@ -11,8 +11,8 @@ import { IconButton } from '../icon-button/icon-button.js';
11
11
  * @example
12
12
  * ```html
13
13
  * <wc-button-group variant="connected">
14
- * <wc-icon-button name="home" toggle selected></wc-icon-button>
15
- * <wc-icon-button name="alarm" toggle></wc-icon-button>
14
+ * <wc-icon-button toggle selected><wc-icon name="home"></wc-icon></wc-icon-button>
15
+ * <wc-icon-button toggle><wc-icon name="alarm"></wc-icon></wc-icon-button>
16
16
  * </wc-button-group>
17
17
  * ```
18
18
  *
@@ -45,9 +45,9 @@ export declare class ButtonGroup extends LitElement {
45
45
  orientation: 'horizontal' | 'vertical';
46
46
  /**
47
47
  * Color applied to all buttons in the group.
48
- * Possible values are `"primary"`, `"success"`, `"danger"`, `"warning"`, `"light"`, `"dark"`.
48
+ * Possible values are `"primary"`, `"success"`, `"danger"`, `"warning"`, `"surface"`, `"on-surface"`.
49
49
  */
50
- color?: 'primary' | 'success' | 'danger' | 'warning' | 'light' | 'dark';
50
+ color?: 'primary' | 'success' | 'danger' | 'warning' | 'surface' | 'on-surface';
51
51
  /**
52
52
  * Visual style applied to all buttons in the group.
53
53
  * Possible values are `"filled"`, `"tonal"`, `"outlined"`.
@@ -1,5 +1,4 @@
1
1
  import { BaseButton } from '../BaseButton.js';
2
- import { IconProvider } from '../../icon/icon.js';
3
2
  /**
4
3
  * @label Icon Button
5
4
  * @tag wc-icon-button
@@ -39,21 +38,47 @@ import { IconProvider } from '../../icon/icon.js';
39
38
  *
40
39
  * @example
41
40
  * ```html
42
- * <wc-icon-button name="home"></wc-icon-button>
41
+ * <wc-icon-button><wc-icon name="home"></wc-icon></wc-icon-button>
43
42
  * ```
44
43
  * @tags display
45
44
  */
46
45
  export declare class IconButton extends BaseButton {
47
- #private;
48
46
  static styles: import("lit").CSSResultGroup[];
49
- name?: string;
50
- src?: string;
51
- provider: IconProvider;
47
+ /**
48
+ * Button size.
49
+ * Possible values are `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`. Defaults to `"sm"`.
50
+ */
51
+ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
52
+ /**
53
+ * Type is preset of color and variant. Type will be only applied.
54
+ *
55
+ */
56
+ type?: 'primary' | 'secondary' | 'tertiary';
57
+ /**
58
+ * The visual style of the button.
59
+ *
60
+ * Possible variant values:
61
+ * `"filled"` is a filled button.
62
+ * `"outlined"` is an outlined button.
63
+ * `"text"` is a transparent button.
64
+ * `"tonal"` is a light color button.
65
+ * `"elevated"` is elevated button
66
+ */
67
+ variant: 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'neo';
68
+ /**
69
+ * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
70
+ */
71
+ color: 'primary' | 'success' | 'danger' | 'warning' | 'surface' | 'on-surface';
72
+ /**
73
+ * Additional ARIA attributes to pass to the inner button/anchor element.
74
+ */
75
+ configAria?: {
76
+ [key: string]: any;
77
+ };
52
78
  focus(): void;
53
79
  blur(): void;
54
- connectedCallback(): void;
55
- disconnectedCallback(): void;
56
80
  firstUpdated(): void;
81
+ __convertTypeToVariantAndColor(): void;
57
82
  render(): import("lit-html").TemplateResult<1>;
58
83
  renderButtonContent(): import("lit-html").TemplateResult<1>;
59
84
  }
@@ -1,5 +1,6 @@
1
- import { LitElement, nothing, PropertyValues } from 'lit';
1
+ import { LitElement, nothing } from 'lit';
2
2
  type CardVariant = 'elevated' | 'filled' | 'outlined';
3
+ declare const Card_base: typeof LitElement & import("../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseHyperlinkMixin.js").BaseHyperlinkInterface>;
3
4
  /**
4
5
  * @label Card
5
6
  * @tag wc-card
@@ -17,7 +18,7 @@ type CardVariant = 'elevated' | 'filled' | 'outlined';
17
18
  * </wc-card>
18
19
  * ```
19
20
  */
20
- export declare class Card extends LitElement {
21
+ export declare class Card extends Card_base {
21
22
  #private;
22
23
  static styles: import("lit").CSSResultGroup[];
23
24
  variant: CardVariant;
@@ -27,14 +28,6 @@ export declare class Card extends LitElement {
27
28
  * If button is disabled, the reason why it is disabled.
28
29
  */
29
30
  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
31
  /**
39
32
  * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
40
33
  */
@@ -45,17 +38,13 @@ export declare class Card extends LitElement {
45
38
  isPressed: boolean;
46
39
  private slotHasContent;
47
40
  readonly cardElement: HTMLElement | null;
48
- readonly contentSlot: HTMLSlotElement | null;
49
41
  firstUpdated(): void;
50
- updated(changedProperties: PropertyValues<this>): void;
51
- __syncSlottedChildrenTabIndex(): void;
52
42
  __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void;
53
43
  __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
54
- __isLink(): boolean;
55
44
  __getDisabledReasonID(): string | typeof nothing;
56
45
  __renderDisabledReason(): typeof nothing | import("lit-html").TemplateResult<1>;
57
46
  __handlePress: (event: KeyboardEvent | MouseEvent) => void;
58
47
  render(): import("lit-html").TemplateResult<1>;
59
- renderCardContent(): import("lit-html").TemplateResult<1>;
48
+ renderCardContent(disableSlotTabbing: boolean): import("lit-html").TemplateResult<1>;
60
49
  }
61
50
  export {};
@@ -8,7 +8,7 @@ import { LitElement, nothing } from 'lit';
8
8
  *
9
9
  * @example
10
10
  * ```html
11
- * <wc-empty-state width="80%" 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,80 @@
1
+ import { nothing } from 'lit';
2
+ import { BaseButton } from '@/button/BaseButton.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><wc-icon name="add"></wc-icon></wc-fab>
22
+ * ```
23
+ * @tags controls
24
+ */
25
+ export declare class Fab extends BaseButton {
26
+ #private;
27
+ static styles: import("lit").CSSResultGroup[];
28
+ /**
29
+ * Optional label text for the extended FAB variant.
30
+ * When set, the FAB displays both the icon and a text label.
31
+ */
32
+ label?: string;
33
+ /**
34
+ * The color role of the FAB.
35
+ * `"surface"` uses the surface color role.
36
+ * `"primary"` uses the primary color role.
37
+ * `"secondary"` uses the secondary color role.
38
+ * `"tertiary"` uses the tertiary color role.
39
+ */
40
+ color: 'surface' | 'primary' | 'secondary' | 'tertiary';
41
+ /**
42
+ * The style variant of the FAB.
43
+ * `"tonal"` uses container colors.
44
+ * `"filled"` uses solid role colors.
45
+ */
46
+ variant: 'tonal' | 'filled';
47
+ /**
48
+ * The size of the FAB.
49
+ * `"sm"` renders a small FAB (40×40dp).
50
+ * `"md"` renders a standard FAB (56×56dp). This is the default.
51
+ * `"lg"` renders a large FAB (96×96dp).
52
+ */
53
+ size: 'sm' | 'md' | 'lg';
54
+ /**
55
+ * If `true`, the FAB is in a lowered (resting) state with reduced elevation.
56
+ */
57
+ lowered: boolean;
58
+ /**
59
+ * Additional ARIA attributes to pass to the inner button/anchor element.
60
+ */
61
+ configAria?: {
62
+ [key: string]: any;
63
+ };
64
+ /**
65
+ * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
66
+ */
67
+ throttleDelay: number;
68
+ /**
69
+ * Tooltip text shown on hover.
70
+ */
71
+ tooltip?: string;
72
+ isPressed: boolean;
73
+ focus(): void;
74
+ blur(): void;
75
+ firstUpdated(): void;
76
+ __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
77
+ __getDisabledReasonID(): string | typeof nothing;
78
+ render(): import("lit-html").TemplateResult<1>;
79
+ __renderFabContent(isExtended: boolean): import("lit-html").TemplateResult<1>;
80
+ }
@@ -0,0 +1 @@
1
+ export { Fab } from './fab.js';
@@ -14,17 +14,23 @@ export declare class FocusRing extends LitElement {
14
14
  static styles: import("lit").CSSResultGroup[];
15
15
  visible: boolean;
16
16
  for: string;
17
+ private __boundFocusin;
18
+ private __boundFocusout;
19
+ private __boundPointerdown;
17
20
  render(): symbol;
18
- _control?: HTMLElement;
19
- _focusTarget?: HTMLElement;
20
- get control(): HTMLElement | null;
21
- set control(control: HTMLElement | null);
22
- set forElement(value: HTMLElement | null);
23
21
  connectedCallback(): void;
24
22
  disconnectedCallback(): void;
23
+ updated(changed: Map<string, unknown>): void;
25
24
  __focusin(): void;
26
25
  __focusout(): void;
27
26
  __pointerdown(): void;
27
+ /**
28
+ * Resolves the element that should receive focus-ring event listeners by id.
29
+ * Prefers lookup from the current control's root node, then falls back to a
30
+ * document-level lookup.
31
+ *
32
+ * @returns The resolved focus target, if one can be found.
33
+ */
28
34
  __getFocusTarget(): HTMLElement | undefined;
29
35
  attach(): void;
30
36
  detach(): void;
@@ -5,6 +5,7 @@ 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';
8
9
  export { SegmentedButton, SegmentedButtonGroup } from './segmented-button/index.js';
9
10
  export { FocusRing } from './focus-ring/index.js';
10
11
  export { Ripple } from './ripple/index.js';
@@ -16,6 +17,7 @@ export { LinearProgress } from './progress/linear-progress/index.js';
16
17
  export { CircularProgress } from './progress/circular-progress/index.js';
17
18
  export { Skeleton } from './skeleton/index.js';
18
19
  export { Input } from './input/index.js';
20
+ export { UrlField } from './url-field/index.js';
19
21
  export { Field } from './field/index.js';
20
22
  export { NumberField } from './number-field/index.js';
21
23
  export { DatePicker } from './date-picker/index.js';
@@ -40,8 +42,10 @@ export { ChartPie } from './chart-pie/index.js';
40
42
  export { ChartBar, ChartStackedBar } from './chart-bar/index.js';
41
43
  export { Table } from './table/index.js';
42
44
  export { Pagination } from './pagination/index.js';
43
- export { TreeView, TreeNode } from './tree-view/index.js';
45
+ export { SidebarMenu, SidebarMenuItem, SidebarSubMenu } from './sidebar-menu/index.js';
44
46
  export { Card } from './card/index.js';
47
+ export { Banner } from './banner/index.js';
48
+ export { Notification } from './notification/index.js';
45
49
  export { Snackbar } from './snackbar/index.js';
46
50
  export { Radio } from './radio/index.js';
47
51
  export { BottomSheet } from './bottom-sheet/index.js';
@@ -49,3 +53,6 @@ export { SideSheet } from './side-sheet/index.js';
49
53
  export { Select } from './select/index.js';
50
54
  export type { SelectOption } from './select/index.js';
51
55
  export { SelectOptionElement } from './select/index.js';
56
+ export { Search } from './search/index.js';
57
+ export { Toolbar } from './toolbar/index.js';
58
+ export { NavigationRail, NavigationRailItem } from './navigation-rail/index.js';
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ declare const Link_base: typeof LitElement & import("../__mixins/MixinConstructor.js").MixinConstructor<import("../__mixins/BaseHyperlinkMixin.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;
@@ -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,2 @@
1
+ export { NavigationRail } from './navigation-rail.js';
2
+ export { NavigationRailItem } from './navigation-rail-item.js';