@redvars/peacock 3.2.9 → 3.3.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 (201) hide show
  1. package/dist/{PeacockComponent-CxJc63xj.js → IndividualComponent-tDnXrOLV.js} +3 -3
  2. package/dist/IndividualComponent-tDnXrOLV.js.map +1 -0
  3. package/dist/assets/tokens.css +2 -0
  4. package/dist/assets/tokens.css.map +1 -0
  5. package/dist/{button-2MeDq0Yy.js → button-BGFJfbT2.js} +23 -36
  6. package/dist/button-BGFJfbT2.js.map +1 -0
  7. package/dist/button-group.js +8 -8
  8. package/dist/button-group.js.map +1 -1
  9. package/dist/button.js +6 -5
  10. package/dist/button.js.map +1 -1
  11. package/dist/chart-donut.js +307 -0
  12. package/dist/chart-donut.js.map +1 -0
  13. package/dist/chart-doughnut.js +307 -0
  14. package/dist/chart-doughnut.js.map +1 -0
  15. package/dist/chart-pie.js +259 -0
  16. package/dist/chart-pie.js.map +1 -0
  17. package/dist/{class-map-BvQRv7eW.js → class-map-DpeNtqCn.js} +2 -2
  18. package/dist/{class-map-BvQRv7eW.js.map → class-map-DpeNtqCn.js.map} +1 -1
  19. package/dist/clock.js +5 -6
  20. package/dist/clock.js.map +1 -1
  21. package/dist/code-editor.js +37 -24
  22. package/dist/code-editor.js.map +1 -1
  23. package/dist/code-highlighter.js +21 -7
  24. package/dist/code-highlighter.js.map +1 -1
  25. package/dist/custom-elements-jsdocs.json +5377 -3122
  26. package/dist/custom-elements.json +5527 -3940
  27. package/dist/{dispatch-event-utils-vbdiOSeC.js → dispatch-event-utils-B4odODQf.js} +2 -15
  28. package/dist/dispatch-event-utils-B4odODQf.js.map +1 -0
  29. package/dist/index.js +13 -9
  30. package/dist/index.js.map +1 -1
  31. package/dist/number-counter.js +12 -10
  32. package/dist/number-counter.js.map +1 -1
  33. package/dist/{observe-theme-change-NneLARW8.js → observe-theme-change-BISF-Gl5.js} +2 -2
  34. package/dist/{observe-theme-change-NneLARW8.js.map → observe-theme-change-BISF-Gl5.js.map} +1 -1
  35. package/dist/peacock-loader.js +124 -62
  36. package/dist/peacock-loader.js.map +1 -1
  37. package/dist/query-QBcUV-L_.js +15 -0
  38. package/dist/query-QBcUV-L_.js.map +1 -0
  39. package/dist/{image-DK6VQW7N.js → slider-Dk9CFWTG.js} +1616 -331
  40. package/dist/slider-Dk9CFWTG.js.map +1 -0
  41. package/dist/src/IndividualComponent.d.ts +1 -0
  42. package/dist/src/accordion/{accordion-item/accordion-item.d.ts → accordion-item.d.ts} +4 -4
  43. package/dist/src/accordion/{accordion/accordion.d.ts → accordion.d.ts} +6 -6
  44. package/dist/src/accordion/{accordion-item/index.d.ts → index.d.ts} +1 -0
  45. package/dist/src/avatar/avatar.d.ts +2 -2
  46. package/dist/src/badge/badge.d.ts +2 -2
  47. package/dist/src/breadcrumb/breadcrumb/breadcrumb.d.ts +7 -8
  48. package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +3 -3
  49. package/dist/src/button/button/button.d.ts +2 -2
  50. package/dist/src/button/button-group/button-group.d.ts +5 -5
  51. package/dist/src/button/icon-button/icon-button.d.ts +2 -2
  52. package/dist/src/chart-donut/chart-donut.d.ts +53 -0
  53. package/dist/src/chart-donut/index.d.ts +1 -0
  54. package/dist/src/chart-doughnut/chart-doughnut.d.ts +53 -0
  55. package/dist/src/chart-doughnut/index.d.ts +1 -0
  56. package/dist/src/chart-pie/chart-pie.d.ts +50 -0
  57. package/dist/src/chart-pie/index.d.ts +1 -0
  58. package/dist/src/checkbox/checkbox.d.ts +3 -6
  59. package/dist/src/chip/chip/chip.d.ts +4 -4
  60. package/dist/src/chip/tag/tag.d.ts +3 -3
  61. package/dist/src/clock/clock.d.ts +3 -4
  62. package/dist/src/code-editor/code-editor.d.ts +11 -9
  63. package/dist/src/container/container.d.ts +6 -11
  64. package/dist/src/date-picker/date-picker.d.ts +3 -3
  65. package/dist/src/divider/divider.d.ts +2 -2
  66. package/dist/src/elevation/elevation.d.ts +2 -2
  67. package/dist/src/empty-state/empty-state.d.ts +9 -2
  68. package/dist/src/field/field.d.ts +17 -0
  69. package/dist/src/focus-ring/focus-ring.d.ts +1 -1
  70. package/dist/src/icon/icon.d.ts +2 -2
  71. package/dist/src/image/image.d.ts +4 -12
  72. package/dist/src/index.d.ts +5 -1
  73. package/dist/src/input/input.d.ts +2 -2
  74. package/dist/src/link/link.d.ts +4 -5
  75. package/dist/src/menu/menu/menu.d.ts +16 -0
  76. package/dist/src/menu/menu-item/menu-item.d.ts +12 -0
  77. package/dist/src/menu/menu-list/menu-list.d.ts +15 -0
  78. package/dist/src/number-counter/number-counter.d.ts +9 -7
  79. package/dist/src/number-field/number-field.d.ts +1 -1
  80. package/dist/src/popover/index.d.ts +1 -1
  81. package/dist/src/progress/circular-progress/circular-progress.d.ts +3 -3
  82. package/dist/src/progress/linear-progress/linear-progress.d.ts +3 -3
  83. package/dist/src/ripple/ripple.d.ts +60 -4
  84. package/dist/src/skeleton/skeleton.d.ts +6 -5
  85. package/dist/src/slider/index.d.ts +1 -0
  86. package/dist/src/slider/slider.d.ts +52 -0
  87. package/dist/src/spinner/spinner.d.ts +2 -2
  88. package/dist/src/switch/switch.d.ts +2 -2
  89. package/dist/src/tabs/index.d.ts +4 -0
  90. package/dist/src/tabs/tab-group.d.ts +41 -0
  91. package/dist/src/tabs/tab-panel.d.ts +21 -0
  92. package/dist/src/tabs/tab.d.ts +58 -0
  93. package/dist/src/tabs/tabs.d.ts +27 -0
  94. package/dist/src/textarea/textarea.d.ts +3 -3
  95. package/dist/src/time-picker/time-picker.d.ts +3 -3
  96. package/dist/src/{popover/tooltip → tooltip}/tooltip.d.ts +6 -3
  97. package/dist/{state-B09bP3XH.js → state-8v48Exzh.js} +2 -2
  98. package/dist/{state-B09bP3XH.js.map → state-8v48Exzh.js.map} +1 -1
  99. package/dist/{style-map-B8xgVEc9.js → style-map-CfNHEkQp.js} +2 -2
  100. package/dist/{style-map-B8xgVEc9.js.map → style-map-CfNHEkQp.js.map} +1 -1
  101. package/dist/transform-DRuHEvar.js +3312 -0
  102. package/dist/transform-DRuHEvar.js.map +1 -0
  103. package/dist/tsconfig.tsbuildinfo +1 -1
  104. package/dist/{unsafe-html-B-dV3Jps.js → unsafe-html-CV6Je6HL.js} +2 -2
  105. package/dist/{unsafe-html-B-dV3Jps.js.map → unsafe-html-CV6Je6HL.js.map} +1 -1
  106. package/package.json +3 -1
  107. package/readme.md +2 -2
  108. package/scss/tokens.scss +1 -0
  109. package/src/{PeacockComponent.ts → IndividualComponent.ts} +1 -1
  110. package/src/accordion/{accordion-item/accordion-item.scss → accordion-item.scss} +1 -1
  111. package/src/accordion/{accordion-item/accordion-item.ts → accordion-item.ts} +5 -5
  112. package/src/accordion/{accordion/accordion.scss → accordion.scss} +2 -1
  113. package/src/accordion/{accordion/accordion.ts → accordion.ts} +6 -6
  114. package/src/accordion/{accordion-item/index.ts → index.ts} +2 -0
  115. package/src/avatar/avatar.ts +2 -2
  116. package/src/badge/badge.ts +2 -2
  117. package/src/breadcrumb/breadcrumb/breadcrumb.ts +7 -8
  118. package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +3 -3
  119. package/src/button/BaseButton.ts +1 -1
  120. package/src/button/button/button.scss +10 -24
  121. package/src/button/button/button.ts +8 -8
  122. package/src/button/button-group/button-group.ts +7 -7
  123. package/src/button/icon-button/icon-button.ts +8 -8
  124. package/src/chart-donut/chart-donut.scss +37 -0
  125. package/src/chart-donut/chart-donut.ts +287 -0
  126. package/src/chart-donut/demo/index.html +51 -0
  127. package/src/chart-donut/index.ts +1 -0
  128. package/src/chart-doughnut/chart-donut.scss +37 -0
  129. package/src/chart-doughnut/chart-doughnut.ts +287 -0
  130. package/src/chart-doughnut/demo/index.html +51 -0
  131. package/src/chart-doughnut/index.ts +1 -0
  132. package/src/chart-pie/chart-pie.scss +27 -0
  133. package/src/chart-pie/chart-pie.ts +256 -0
  134. package/src/chart-pie/demo/index.html +51 -0
  135. package/src/chart-pie/index.ts +1 -0
  136. package/src/checkbox/checkbox.ts +3 -6
  137. package/src/chip/chip/chip.ts +6 -6
  138. package/src/chip/tag/tag.ts +6 -6
  139. package/src/clock/clock.ts +5 -6
  140. package/src/code-editor/code-editor.scss +3 -5
  141. package/src/code-editor/code-editor.ts +30 -15
  142. package/src/code-highlighter/code-highlighter.ts +19 -4
  143. package/src/container/container.ts +6 -11
  144. package/src/date-picker/date-picker.ts +7 -7
  145. package/src/divider/divider.ts +2 -2
  146. package/src/elevation/elevation.ts +2 -2
  147. package/src/empty-state/empty-state.ts +10 -3
  148. package/src/field/field.scss +4 -4
  149. package/src/field/field.ts +19 -2
  150. package/src/focus-ring/focus-ring.scss +2 -1
  151. package/src/focus-ring/focus-ring.ts +1 -1
  152. package/src/icon/icon.ts +2 -2
  153. package/src/icon/p-icon.ts +1 -1
  154. package/src/image/image.scss +55 -48
  155. package/src/image/image.ts +4 -12
  156. package/src/index.ts +6 -2
  157. package/src/input/input.ts +6 -6
  158. package/src/link/link.ts +4 -5
  159. package/src/menu/menu/menu.ts +16 -0
  160. package/src/menu/menu-item/menu-item-colors.scss +2 -2
  161. package/src/menu/menu-item/menu-item.ts +14 -2
  162. package/src/menu/menu-list/menu-list.ts +16 -1
  163. package/src/number-counter/demo/index.html +1 -1
  164. package/src/number-counter/number-counter.ts +11 -9
  165. package/src/number-field/number-field.ts +7 -7
  166. package/src/peacock-loader.ts +71 -44
  167. package/src/popover/index.ts +1 -1
  168. package/src/progress/circular-progress/circular-progress.scss +1 -1
  169. package/src/progress/circular-progress/circular-progress.ts +3 -3
  170. package/src/progress/linear-progress/linear-progress.ts +3 -3
  171. package/src/ripple/ripple.ts +478 -94
  172. package/src/skeleton/skeleton.ts +6 -5
  173. package/src/slider/index.ts +1 -0
  174. package/src/slider/slider.scss +130 -0
  175. package/src/slider/slider.ts +178 -0
  176. package/src/spinner/spinner.ts +2 -2
  177. package/src/switch/switch.ts +4 -4
  178. package/src/tabs/index.ts +4 -0
  179. package/src/tabs/tab-group.scss +10 -0
  180. package/src/tabs/tab-group.ts +137 -0
  181. package/src/tabs/tab-panel.scss +12 -0
  182. package/src/tabs/tab-panel.ts +28 -0
  183. package/src/tabs/tab.scss +157 -0
  184. package/src/tabs/tab.ts +242 -0
  185. package/src/tabs/tabs.scss +18 -0
  186. package/src/tabs/tabs.ts +64 -0
  187. package/src/textarea/textarea.ts +5 -5
  188. package/src/time-picker/time-picker.ts +7 -7
  189. package/src/{popover/tooltip → tooltip}/tooltip.scss +1 -1
  190. package/src/{popover/tooltip → tooltip}/tooltip.ts +10 -6
  191. package/dist/PeacockComponent-CxJc63xj.js.map +0 -1
  192. package/dist/button-2MeDq0Yy.js.map +0 -1
  193. package/dist/dispatch-event-utils-vbdiOSeC.js.map +0 -1
  194. package/dist/image-DK6VQW7N.js.map +0 -1
  195. package/dist/src/PeacockComponent.d.ts +0 -1
  196. package/dist/src/accordion/accordion/index.d.ts +0 -1
  197. package/dist/src/avatar/p-avatar.d.ts +0 -3
  198. package/dist/src/badge/p-badge.d.ts +0 -3
  199. package/src/accordion/accordion/index.ts +0 -1
  200. package/src/avatar/p-avatar.ts +0 -5
  201. package/src/badge/p-badge.ts +0 -5
@@ -12,10 +12,25 @@ import * as prettierPluginEstree from 'prettier/plugins/estree';
12
12
 
13
13
  import { BundledLanguage, codeToHtml, ShikiTransformer } from 'shiki';
14
14
 
15
- import PeacockComponent from 'src/PeacockComponent.js';
15
+ import IndividualComponent from 'src/IndividualComponent.js';
16
16
  import { copyToClipboard } from '../utils/copy-to-clipboard.js';
17
17
  import styles from './code-highlighter.scss';
18
18
 
19
+ /**
20
+ * @label Code Highlighter
21
+ * @tag wc-code-highlighter
22
+ * @rawTag code-highlighter
23
+ * @summary A component that provides syntax highlighting for code snippets.
24
+ * @tags display
25
+ *
26
+ * @example
27
+ * ```html
28
+ * <wc-code-highlighter language="javascript">
29
+ * <pre><code>console.log('Hello');</code></pre>
30
+ * </wc-code-highlighter>
31
+ * ```
32
+ */
33
+
19
34
  const locale = {
20
35
  loading: 'Loading code...',
21
36
  copyToClipboard: 'Copy to clipboard',
@@ -43,7 +58,7 @@ const locale = {
43
58
  * ```
44
59
  * @tags display
45
60
  */
46
- @PeacockComponent
61
+ @IndividualComponent
47
62
  export class CodeHighlighter extends LitElement {
48
63
  static styles = [styles];
49
64
 
@@ -173,7 +188,7 @@ export class CodeHighlighter extends LitElement {
173
188
  <div class="header">
174
189
  <div class="header-title">${this.language}</div>
175
190
  <div class="header-actions">
176
- <icon-button
191
+ <wc-icon-button
177
192
  color="dark"
178
193
  variant="text"
179
194
  size="xs"
@@ -182,7 +197,7 @@ export class CodeHighlighter extends LitElement {
182
197
  tooltip=${locale.copyToClipboard}
183
198
  @click=${this.__handleCopyClick}
184
199
  >
185
- </icon-button>
200
+ </wc-icon-button>
186
201
  </div>
187
202
  </div>
188
203
 
@@ -7,22 +7,17 @@ type ContainerSize = 'max' | 'xl' | 'lg' | 'md' | 'sm' | 'full';
7
7
 
8
8
  /**
9
9
  * @label Container
10
- * @tag base-container
10
+ * @tag wc-container
11
11
  * @rawTag container
12
- * @summary The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.
13
- *
14
- * @cssprop --avatar-border-radius - Controls the border radius of the avatar.
15
- * @cssprop --avatar-background-color - Controls the color of the avatar.
16
- * @cssprop --avatar-size - Controls the size of the avatar.
17
- * @cssprop --avatar-text-color - Controls the color of the text inside the avatar.
18
- *
12
+ * @summary A responsive container component for layout.
13
+ * @cssprop --container-max-width - Controls the maximum width of the container.
14
+ * @cssprop --container-padding - Controls the padding of the container.
15
+ * @tags layout
19
16
  *
20
17
  * @example
21
18
  * ```html
22
- * <base-container>Container</base-avatar>
19
+ * <wc-container size="lg">Content</wc-container>
23
20
  * ```
24
- *
25
- * @tags display
26
21
  */
27
22
  export class Container extends LitElement {
28
23
  @property({ type: String, reflect: true })
@@ -7,14 +7,14 @@ import { spread } from '../spread.js';
7
7
 
8
8
  /**
9
9
  * @label Date Picker
10
- * @tag date-picker
10
+ * @tag wc-date-picker
11
11
  * @rawTag date-picker
12
- *
13
12
  * @summary The Date Picker component is used to capture date user input.
13
+ * @tags input
14
14
  *
15
15
  * @example
16
16
  * ```html
17
- * <date-picker label="Name" required placeholder="Enter your name"></date-picker>
17
+ * <wc-date-picker label="Date" placeholder="Select a date"></wc-date-picker>
18
18
  * ```
19
19
  */
20
20
  export class DatePicker extends BaseInput {
@@ -122,7 +122,7 @@ export class DatePicker extends BaseInput {
122
122
 
123
123
  render() {
124
124
  return html`
125
- <base-field
125
+ <wc-field
126
126
  ?required=${this.required}
127
127
  ?disabled=${this.disabled}
128
128
  ?readonly=${this.readonly}
@@ -161,7 +161,7 @@ export class DatePicker extends BaseInput {
161
161
 
162
162
  <slot name="end" slot="field-end"></slot>
163
163
 
164
- <icon-button
164
+ <wc-icon-button
165
165
  slot="field-end"
166
166
  color="secondary"
167
167
  variant="text"
@@ -174,8 +174,8 @@ export class DatePicker extends BaseInput {
174
174
  });
175
175
  }}
176
176
  >
177
- </icon-button>
178
- </base-field>
177
+ </wc-icon-button>
178
+ </wc-field>
179
179
  `;
180
180
  }
181
181
  }
@@ -6,7 +6,7 @@ import { observerSlotChangesWithCallback } from '../utils.js';
6
6
 
7
7
  /**
8
8
  * @label Divider
9
- * @tag base-divider
9
+ * @tag wc-divider
10
10
  * @rawTag divider
11
11
  *
12
12
  * @summary The divider component is used to visually separate content.
@@ -19,7 +19,7 @@ import { observerSlotChangesWithCallback } from '../utils.js';
19
19
  *
20
20
  * @example
21
21
  * ```html
22
- * <base-divider style="width: 12rem;">or</base-divider>
22
+ * <wc-divider style="width: 12rem;">or</wc-divider>
23
23
  * ```
24
24
  * @tags display
25
25
  */
@@ -3,7 +3,7 @@ import styles from './elevation.scss';
3
3
 
4
4
  /**
5
5
  * @label Elevation
6
- * @tag base-elevation
6
+ * @tag wc-elevation
7
7
  * @rawTag elevation
8
8
  *
9
9
  * @summary Adds elevation to an element.
@@ -17,7 +17,7 @@ import styles from './elevation.scss';
17
17
  * @example
18
18
  * ```html
19
19
  * <div style="position: relative; padding: var(--spacing-200);">
20
- * <base-elevation style='--elevation-level: 2; --elevation-container-shape: var(--shape-corner-extra-small);'></base-elevation>
20
+ * <wc-elevation style='--elevation-level: 2; --elevation-container-shape: var(--shape-corner-extra-small);'></wc-elevation>
21
21
  * Level 2
22
22
  * </div>
23
23
  * ```
@@ -5,8 +5,15 @@ import styles from './empty-state.scss';
5
5
 
6
6
  /**
7
7
  * @label Empty State
8
- * @name empty-state
9
- * @description A message that displays when there is no information to display.
8
+ * @tag wc-empty-state
9
+ * @rawTag empty-state
10
+ * @summary A message that displays when there is no information to display.
11
+ * @tags display
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <wc-empty-state headline="No items found"></wc-empty-state>
16
+ * ```
10
17
  */
11
18
  export class EmptyState extends LitElement {
12
19
  // Lit handles styles in a static property for better performance
@@ -69,7 +76,7 @@ export class EmptyState extends LitElement {
69
76
  <div class="${classMap(classes)}">
70
77
  <div class="empty-state-container">
71
78
  <div class="illustration">
72
- <base-icon src="${illustrationPath}"></base-icon>
79
+ <wc-icon src="${illustrationPath}"></wc-icon>
73
80
  </div>
74
81
 
75
82
  <div class="content">
@@ -225,8 +225,8 @@
225
225
  position: absolute;
226
226
  top: 0;
227
227
  left: 0;
228
- --skeleton-shape-start-start: var(--shape-corner-extra-small);
229
- --skeleton-shape-start-end: var(--shape-corner-extra-small);
230
- --skeleton-shape-end-start: var(--shape-corner-extra-small);
231
- --skeleton-shape-end-end: var(--shape-corner-extra-small);
228
+ --skeleton-container-shape-start-start: var(--_container-shape-start-start);
229
+ --skeleton-container-shape-start-end: var(--_container-shape-start-end);
230
+ --skeleton-container-shape-end-start: var(--_container-shape-end-start);
231
+ --skeleton-container-shape-end-end: var(--_container-shape-end-end);
232
232
  }
@@ -4,6 +4,23 @@ import { classMap } from 'lit/directives/class-map.js';
4
4
  import styles from './field.scss';
5
5
  import { observerSlotChangesWithCallback } from '../utils.js';
6
6
 
7
+ /**
8
+ * @label Field
9
+ * @tag wc-field
10
+ * @rawTag field
11
+ *
12
+ * @summary Wrapper for form fields with label and help text.
13
+ * @overview
14
+ * <p>Field provides consistent styling and behavior for form inputs.</p>
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <wc-field label="Name" required>
19
+ * some text
20
+ * </wc-field>
21
+ * ```
22
+ * @tags form
23
+ */
7
24
  export class Field extends LitElement {
8
25
  static styles = [styles];
9
26
 
@@ -106,7 +123,7 @@ export class Field extends LitElement {
106
123
  ${this.label}${this.required
107
124
  ? html`<span class="required">*</span>`
108
125
  : nothing}
109
- <base-skeleton class="skeleton"></base-skeleton>
126
+ <wc-skeleton class="skeleton"></wc-skeleton>
110
127
  </label>
111
128
  </div>`;
112
129
  }
@@ -132,7 +149,7 @@ export class Field extends LitElement {
132
149
  <div class="field-body" @click=${this.__handleClick}>
133
150
  <div class="outline"></div>
134
151
  <div class="background"></div>
135
- <base-skeleton class="skeleton"></base-skeleton>
152
+ <wc-skeleton class="skeleton"></wc-skeleton>
136
153
 
137
154
  <div class="field-content">
138
155
  <div
@@ -7,6 +7,7 @@
7
7
  border-end-start-radius: var(--focus-ring-container-shape-end-start);
8
8
  border-end-end-radius: var(--focus-ring-container-shape-end-end);
9
9
  corner-shape: var(--focus-ring-container-shape-variant);
10
+ --focus-ring-color: var(--color-primary);
10
11
 
11
12
  inset: calc(-1 * var(--focus-ring-inset, 2px));
12
13
 
@@ -19,5 +20,5 @@
19
20
 
20
21
  :host([visible]) {
21
22
  display: flex;
22
- outline: 3px solid var(--color-primary);
23
+ outline: 3px solid var(--focus-ring-color);
23
24
  }
@@ -5,7 +5,7 @@ import styles from './focus-ring.scss';
5
5
  /**
6
6
  * @label Focus Ring
7
7
  *
8
- * @tag focus-ring
8
+ * @tag wc-focus-ring
9
9
  * @rawTag focus-ring
10
10
  *
11
11
  * @summary Adds a focus ring to an element.
package/src/icon/icon.ts CHANGED
@@ -8,7 +8,7 @@ import styles from './icon.scss';
8
8
  export type IconProvider = 'material-symbols' | 'material-icons';
9
9
  /**
10
10
  * @label Icon
11
- * @tag base-icon
11
+ * @tag wc-icon
12
12
  * @rawTag icon
13
13
  * @summary Icons are visual symbols used to represent ideas, objects, or actions.
14
14
  * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
@@ -18,7 +18,7 @@ export type IconProvider = 'material-symbols' | 'material-icons';
18
18
  *
19
19
  * @example
20
20
  * ```html
21
- * <base-icon name="home" style="--icon-size: 2rem;"></base-icon>
21
+ * <wc-icon name="home" style="--icon-size: 2rem;"></wc-icon>
22
22
  * ```
23
23
  *
24
24
  */
@@ -1,5 +1,5 @@
1
1
  import { customElement } from 'lit/decorators.js';
2
2
  import { Icon } from './icon.js';
3
3
 
4
- @customElement('base-icon')
4
+ @customElement('wc-icon')
5
5
  export class PIcon extends Icon {}
@@ -1,49 +1,56 @@
1
1
  :host {
2
- display: inline-block;
3
- }
4
-
5
- .image-wrapper {
6
- position: relative;
7
- display: inline-block;
8
- }
9
-
10
- img {
11
- display: block;
12
- max-width: 100%;
13
- }
14
-
15
- img.clickable {
16
- cursor: zoom-in;
17
- }
18
-
19
- .placeholder {
20
- background: #e0e0e0;
21
- min-width: 100px;
22
- min-height: 100px;
23
- display: block;
24
- }
25
-
26
- /* Preview overlay — rendered in light DOM via portal, but we keep
27
- a host-level overlay as a fallback when shadow DOM is used. */
28
- .preview-overlay {
29
- display: none;
30
- position: fixed;
31
- inset: 0;
32
- z-index: 9999;
33
- background: rgba(0, 0, 0, 0.85);
34
- align-items: center;
35
- justify-content: center;
36
- cursor: zoom-out;
37
- }
38
-
39
- .preview-overlay.open {
40
- display: flex;
41
- }
42
-
43
- .preview-overlay img {
44
- max-width: 90vw;
45
- max-height: 90vh;
46
- object-fit: contain;
47
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
48
- border-radius: 4px;
49
- }
2
+ display: block;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .image-wrapper {
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ height: 100%;
12
+ width: 100%;
13
+ }
14
+
15
+ img {
16
+ display: block;
17
+ max-height: 100%;
18
+ max-width: 100%;
19
+ }
20
+
21
+
22
+ img.clickable {
23
+ cursor: zoom-in;
24
+ }
25
+
26
+ .placeholder {
27
+ background: #e0e0e0;
28
+ min-width: 100px;
29
+ min-height: 100px;
30
+ display: block;
31
+ }
32
+
33
+ /* Preview overlay — rendered in light DOM via portal, but we keep
34
+ a host-level overlay as a fallback when shadow DOM is used. */
35
+ .preview-overlay {
36
+ display: none;
37
+ position: fixed;
38
+ inset: 0;
39
+ z-index: 9999;
40
+ background: rgba(0, 0, 0, 0.85);
41
+ align-items: center;
42
+ justify-content: center;
43
+ cursor: zoom-out;
44
+ }
45
+
46
+ .preview-overlay.open {
47
+ display: flex;
48
+ }
49
+
50
+ .preview-overlay img {
51
+ max-width: 90vw;
52
+ max-height: 90vh;
53
+ object-fit: contain;
54
+ box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
55
+ border-radius: 4px;
56
+ }
@@ -7,23 +7,15 @@ import styles from './image.scss';
7
7
 
8
8
  /**
9
9
  * @label Image
10
- * @tag base-image
10
+ * @tag wc-image
11
11
  * @rawTag image
12
- *
13
- * @summary Image
14
- * @overview
15
- * - CodeHighlighter is a component that provides syntax highlighting for code snippets.
16
- * - It supports various programming languages and can display line numbers for better readability.
12
+ * @summary An image component with lazy loading and theme support.
13
+ * @tags media
17
14
  *
18
15
  * @example
19
16
  * ```html
20
- * <code-highlighter language="javascript" style="height: 9rem"><pre><code>
21
- * function helloWorld() {
22
- * console.log('Hello, world!');
23
- * }</code></pre>
24
- * </code-highlighter>
17
+ * <wc-image src="image.jpg" alt="Description"></wc-image>
25
18
  * ```
26
- * @tags display
27
19
  */
28
20
  export class Image extends LitElement {
29
21
  static styles = [styles];
package/src/index.ts CHANGED
@@ -8,7 +8,7 @@ export { Button, ButtonGroup, IconButton } from './button/index.js';
8
8
 
9
9
  export { FocusRing } from './focus-ring/index.js';
10
10
  export { Ripple } from './ripple/index.js';
11
- export { Accordion } from './accordion/accordion/index.js';
11
+ export { Accordion } from './accordion/index.js';
12
12
  export { Link } from './link/index.js';
13
13
  export { Tag } from './chip/tag/index.js';
14
14
  export { Chip } from './chip/chip/index.js';
@@ -32,4 +32,8 @@ export { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';
32
32
 
33
33
  export { CodeHighlighter } from './code-highlighter/index.js';
34
34
  export { CodeEditor } from './code-editor/index.js';
35
- export { Image } from './image/index.js';
35
+ export { Image } from './image/index.js';
36
+ export { Tab, TabGroup, TabPanel, Tabs } from './tabs/index.js';
37
+ export { Slider } from './slider/index.js';
38
+ export { ChartDoughnut } from './chart-doughnut/index.js';
39
+ export { ChartPie } from './chart-pie/index.js';
@@ -6,14 +6,14 @@ import styles from './input.scss';
6
6
  import { spread } from '../spread.js';
7
7
  /**
8
8
  * @label Input
9
- * @tag input-field
9
+ * @tag wc-input
10
10
  * @rawTag input
11
11
  *
12
12
  * @summary The Input component is used to capture user input.
13
13
  *
14
14
  * @example
15
15
  * ```html
16
- * <input-field label="Name" required placeholder="Enter your name"></input-field>
16
+ * <wc-input label="Name" required placeholder="Enter your name"></wc-input>
17
17
  * ```
18
18
  */
19
19
  export class Input extends BaseInput {
@@ -127,7 +127,7 @@ export class Input extends BaseInput {
127
127
  this.type === 'password' && this.passwordVisible ? 'text' : this.type;
128
128
 
129
129
  return html`
130
- <base-field
130
+ <wc-field
131
131
  ?required=${this.required}
132
132
  ?disabled=${this.disabled}
133
133
  ?readonly=${this.readonly}
@@ -172,7 +172,7 @@ export class Input extends BaseInput {
172
172
  ? 'Hide password'
173
173
  : 'Show password'}
174
174
  >
175
- <icon-button
175
+ <wc-icon-button
176
176
  class="password-toggle"
177
177
  variant="text"
178
178
  name=${this.passwordVisible ? 'visibility_off' : 'visibility'}
@@ -180,13 +180,13 @@ export class Input extends BaseInput {
180
180
  this.passwordVisible = !this.passwordVisible;
181
181
  }}
182
182
  >
183
- </icon-button>
183
+ </wc-icon-button>
184
184
  </pc-tooltip>
185
185
  `
186
186
  : nothing}
187
187
 
188
188
  <slot name="end" slot="field-end"></slot>
189
- </base-field>
189
+ </wc-field>
190
190
  `;
191
191
  }
192
192
  }
package/src/link/link.ts CHANGED
@@ -5,17 +5,16 @@ import styles from './link.scss';
5
5
 
6
6
  /**
7
7
  * @label Link
8
- * @tag base-link
8
+ * @tag wc-link
9
9
  * @rawTag link
10
10
  * @summary The link component is used to navigate to a new page or section within the current page.
11
- *
12
- * @cssprop --badge-color - Controls the color of the badge.
11
+ * @cssprop --link-color - Controls the color of the link.
12
+ * @tags navigation
13
13
  *
14
14
  * @example
15
15
  * ```html
16
- * <base-link href="#">Link</base-link>
16
+ * <wc-link href="#">Link</wc-link>
17
17
  * ```
18
- * @tags display
19
18
  */
20
19
  export class Link extends LitElement {
21
20
  static styles = [styles];
@@ -1,6 +1,22 @@
1
1
  import { LitElement, html, css } from 'lit';
2
2
  import { customElement, property, query, state } from 'lit/decorators.js';
3
3
 
4
+ /**
5
+ * @label Menu
6
+ * @tag wc-menu
7
+ * @rawTag menu
8
+ * @summary A dropdown menu component.
9
+ * @tags navigation
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <wc-menu>
14
+ * <wc-menu-list>
15
+ * <wc-menu-item>Item 1</wc-menu-item>
16
+ * </wc-menu-list>
17
+ * </wc-menu>
18
+ * ```
19
+ */
4
20
  export class Menu extends LitElement {
5
21
  @property({ type: Boolean, reflect: true }) open = false;
6
22
 
@@ -1,12 +1,12 @@
1
1
  @use "../../../scss/mixin";
2
2
 
3
- :host-context(menu-list[variant=standard]) {
3
+ :host-context([variant=standard]) {
4
4
  --menu-item-label-color: var(--color-on-surface-variant);
5
5
  --menu-item-label-selected-color: var(--color-on-tertiary-container);
6
6
  --menu-item-container-selected-color: var(--color-tertiary-container);
7
7
  }
8
8
 
9
- :host-context(menu-list[variant=vibrant]) {
9
+ :host-context([variant=vibrant]) {
10
10
  --menu-item-label-color: var(--color-on-tertiary-container);
11
11
  --menu-item-label-selected-color: var(--color-on-tertiary);
12
12
  --menu-item-container-selected-color: var(--color-tertiary);
@@ -4,6 +4,18 @@ import { classMap } from 'lit/directives/class-map.js';
4
4
  import styles from './menu-item.scss';
5
5
  import colorStyles from './menu-item-colors.scss';
6
6
 
7
+ /**
8
+ * @label Menu Item
9
+ * @tag wc-menu-item
10
+ * @rawTag menu-item
11
+ * @summary An item in a menu list.
12
+ * @tags navigation
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <wc-menu-item>Menu Item</wc-menu-item>
17
+ * ```
18
+ */
7
19
  export class MenuItem extends LitElement {
8
20
  @property({ type: Boolean, reflect: true }) disabled = false;
9
21
 
@@ -91,9 +103,9 @@ export class MenuItem extends LitElement {
91
103
 
92
104
  renderContent() {
93
105
  return html`
94
- <focus-ring class="focus-ring" .control=${this} element="menuItemElement"></focus-ring>
106
+ <wc-focus-ring class="focus-ring" .control=${this} element="menuItemElement"></wc-focus-ring>
95
107
  <div class="background"></div>
96
- <base-ripple class="ripple"></base-ripple>
108
+ <wc-ripple class="ripple"></wc-ripple>
97
109
 
98
110
  <div class="menu-item-content">
99
111
  <slot name="leading-icon"></slot>
@@ -3,6 +3,21 @@ import { property } from 'lit/decorators.js';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import styles from './menu-list.scss';
5
5
 
6
+ /**
7
+ * @label Menu List
8
+ * @tag wc-menu-list
9
+ * @rawTag menu-list
10
+ * @summary A list of menu items.
11
+ * @tags navigation
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <wc-menu-list>
16
+ * <wc-menu-item>Item 1</wc-menu-item>
17
+ * <wc-menu-item>Item 2</wc-menu-item>
18
+ * </wc-menu-list>
19
+ * ```
20
+ */
6
21
  export class MenuList extends LitElement {
7
22
  static styles = [styles];
8
23
 
@@ -23,7 +38,7 @@ export class MenuList extends LitElement {
23
38
  })}
24
39
  >
25
40
  <div class="background"></div>
26
- <base-elevation class="elevation"></base-elevation>
41
+ <wc-elevation class="elevation"></wc-elevation>
27
42
 
28
43
  <div class="menu-list-content">
29
44
  <slot></slot>
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
  <p class='text-body'>
23
- <number-counter value='400'></number-counter>
23
+ <wc-number-counter value='400'></wc-number-counter>
24
24
  </p>
25
25
 
26
26