@redvars/peacock 3.2.10 → 3.3.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.
- package/dist/{PeacockComponent-CxJc63xj.js → IndividualComponent-tDnXrOLV.js} +3 -3
- package/dist/IndividualComponent-tDnXrOLV.js.map +1 -0
- package/dist/assets/components.css +1 -1
- package/dist/assets/components.css.map +1 -1
- package/dist/assets/styles.css +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/button-group-DA7xoziD.js +292 -0
- package/dist/button-group-DA7xoziD.js.map +1 -0
- package/dist/button-group.js +6 -107
- package/dist/button-group.js.map +1 -1
- package/dist/{button-DaL4va7Q.js → button-trIfcqC7.js} +21 -35
- package/dist/button-trIfcqC7.js.map +1 -0
- package/dist/button.js +5 -5
- package/dist/chart-donut.js +307 -0
- package/dist/chart-donut.js.map +1 -0
- package/dist/chart-doughnut.js +307 -0
- package/dist/chart-doughnut.js.map +1 -0
- package/dist/chart-pie.js +259 -0
- package/dist/chart-pie.js.map +1 -0
- package/dist/{class-map-BvQRv7eW.js → class-map-hJdvjl-W.js} +9 -3
- package/dist/class-map-hJdvjl-W.js.map +1 -0
- package/dist/clock.js +5 -6
- package/dist/clock.js.map +1 -1
- package/dist/code-editor.js +38 -25
- package/dist/code-editor.js.map +1 -1
- package/dist/code-highlighter.js +10 -14
- package/dist/code-highlighter.js.map +1 -1
- package/dist/custom-elements-jsdocs.json +8144 -3654
- package/dist/custom-elements.json +7925 -3901
- package/dist/{dispatch-event-utils-vbdiOSeC.js → dispatch-event-utils-B4odODQf.js} +2 -15
- package/dist/dispatch-event-utils-B4odODQf.js.map +1 -0
- package/dist/index.js +13 -10
- package/dist/index.js.map +1 -1
- package/dist/number-counter.js +12 -10
- package/dist/number-counter.js.map +1 -1
- package/dist/{observe-theme-change-NneLARW8.js → observe-theme-change-BISF-Gl5.js} +2 -2
- package/dist/{observe-theme-change-NneLARW8.js.map → observe-theme-change-BISF-Gl5.js.map} +1 -1
- package/dist/peacock-loader.js +94 -502
- package/dist/peacock-loader.js.map +1 -1
- package/dist/query-QBcUV-L_.js +15 -0
- package/dist/query-QBcUV-L_.js.map +1 -0
- package/dist/src/IndividualComponent.d.ts +1 -0
- package/dist/src/accordion/{accordion-item/accordion-item.d.ts → accordion-item.d.ts} +5 -4
- package/dist/src/accordion/{accordion/accordion.d.ts → accordion.d.ts} +6 -6
- package/dist/src/accordion/{accordion-item/index.d.ts → index.d.ts} +1 -0
- package/dist/src/avatar/avatar.d.ts +2 -2
- package/dist/src/badge/badge.d.ts +2 -2
- package/dist/src/breadcrumb/breadcrumb/breadcrumb.d.ts +9 -8
- package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +4 -3
- package/dist/src/button/button/button.d.ts +2 -2
- package/dist/src/button/button-group/button-group.d.ts +9 -5
- package/dist/src/button/icon-button/icon-button.d.ts +2 -2
- package/dist/src/chart-donut/chart-donut.d.ts +53 -0
- package/dist/src/chart-donut/index.d.ts +1 -0
- package/dist/src/chart-doughnut/chart-doughnut.d.ts +53 -0
- package/dist/src/chart-doughnut/index.d.ts +1 -0
- package/dist/src/chart-pie/chart-pie.d.ts +50 -0
- package/dist/src/chart-pie/index.d.ts +1 -0
- package/dist/src/checkbox/checkbox.d.ts +3 -6
- package/dist/src/chip/chip/chip.d.ts +4 -4
- package/dist/src/chip/tag/tag.d.ts +3 -3
- package/dist/src/clock/clock.d.ts +3 -4
- package/dist/src/code-editor/code-editor.d.ts +13 -10
- package/dist/src/code-highlighter/code-highlighter.d.ts +4 -7
- package/dist/src/container/container.d.ts +6 -11
- package/dist/src/date-picker/date-picker.d.ts +3 -3
- package/dist/src/divider/divider.d.ts +2 -2
- package/dist/src/elevation/elevation.d.ts +2 -2
- package/dist/src/empty-state/empty-state.d.ts +9 -2
- package/dist/src/field/field.d.ts +17 -0
- package/dist/src/focus-ring/focus-ring.d.ts +1 -1
- package/dist/src/icon/icon.d.ts +2 -2
- package/dist/src/image/image.d.ts +4 -12
- package/dist/src/index.d.ts +9 -1
- package/dist/src/input/input.d.ts +2 -2
- package/dist/src/link/link.d.ts +4 -5
- package/dist/src/menu/index.d.ts +3 -0
- package/dist/src/menu/menu/MenuSurfaceController.d.ts +18 -0
- package/dist/src/menu/menu/menu.d.ts +66 -8
- package/dist/src/menu/menu-item/menu-item.d.ts +24 -5
- package/dist/src/menu/sub-menu/sub-menu.d.ts +36 -0
- package/dist/src/number-counter/number-counter.d.ts +9 -7
- package/dist/src/number-field/number-field.d.ts +1 -1
- package/dist/src/pagination/index.d.ts +1 -0
- package/dist/src/pagination/pagination.d.ts +38 -0
- package/dist/src/popover/PopoverController.d.ts +4 -1
- package/dist/src/popover/index.d.ts +1 -1
- package/dist/src/progress/circular-progress/circular-progress.d.ts +3 -3
- package/dist/src/progress/linear-progress/linear-progress.d.ts +3 -3
- package/dist/src/ripple/ripple.d.ts +60 -4
- package/dist/src/skeleton/skeleton.d.ts +6 -5
- package/dist/src/slider/index.d.ts +1 -0
- package/dist/src/slider/slider.d.ts +52 -0
- package/dist/src/spinner/spinner.d.ts +2 -2
- package/dist/src/switch/switch.d.ts +2 -2
- package/dist/src/table/index.d.ts +1 -0
- package/dist/src/table/table.d.ts +110 -0
- package/dist/src/tabs/index.d.ts +4 -0
- package/dist/src/tabs/tab-group.d.ts +45 -0
- package/dist/src/tabs/tab-panel.d.ts +22 -0
- package/dist/src/tabs/tab.d.ts +59 -0
- package/dist/src/tabs/tabs.d.ts +29 -0
- package/dist/src/textarea/textarea.d.ts +3 -3
- package/dist/src/time-picker/time-picker.d.ts +3 -3
- package/dist/src/{popover/tooltip → tooltip}/tooltip.d.ts +4 -3
- package/dist/src/tree-view/index.d.ts +2 -0
- package/dist/src/tree-view/tree-node.d.ts +69 -0
- package/dist/src/tree-view/tree-view.d.ts +40 -0
- package/dist/src/tree-view/wc-tree-view.d.ts +6 -0
- package/dist/{style-map-B8xgVEc9.js → style-map-CfNHEkQp.js} +2 -2
- package/dist/{style-map-B8xgVEc9.js.map → style-map-CfNHEkQp.js.map} +1 -1
- package/dist/test/icon.test.d.ts +1 -1
- package/dist/test/menu.test.d.ts +1 -0
- package/dist/test/sub-menu.test.d.ts +1 -0
- package/dist/test/tree-view.test.d.ts +1 -0
- package/dist/transform-DRuHEvar.js +3312 -0
- package/dist/transform-DRuHEvar.js.map +1 -0
- package/dist/{image-v3BujlY5.js → tree-view-CLolVlU0.js} +4088 -672
- package/dist/tree-view-CLolVlU0.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{unsafe-html-B-dV3Jps.js → unsafe-html-CV6Je6HL.js} +2 -2
- package/dist/{unsafe-html-B-dV3Jps.js.map → unsafe-html-CV6Je6HL.js.map} +1 -1
- package/package.json +3 -1
- package/readme.md +40 -40
- package/src/{PeacockComponent.ts → IndividualComponent.ts} +1 -1
- package/src/accordion/{accordion-item/accordion-item.scss → accordion-item.scss} +1 -1
- package/src/accordion/{accordion-item/accordion-item.ts → accordion-item.ts} +7 -6
- package/src/accordion/{accordion/accordion.scss → accordion.scss} +2 -1
- package/src/accordion/{accordion/accordion.ts → accordion.ts} +6 -6
- package/src/accordion/{accordion-item/index.ts → index.ts} +2 -0
- package/src/avatar/avatar.ts +2 -2
- package/src/badge/badge.ts +2 -2
- package/src/breadcrumb/breadcrumb/breadcrumb.ts +10 -8
- package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +4 -3
- package/src/button/BaseButton.ts +1 -1
- package/src/button/button/button.scss +9 -23
- package/src/button/button/button.ts +8 -8
- package/src/button/button-group/button-group.ts +13 -7
- package/src/button/icon-button/icon-button.ts +8 -8
- package/src/chart-donut/chart-donut.scss +37 -0
- package/src/chart-donut/chart-donut.ts +287 -0
- package/src/chart-donut/demo/index.html +51 -0
- package/src/chart-donut/index.ts +1 -0
- package/src/chart-doughnut/chart-donut.scss +37 -0
- package/src/chart-doughnut/chart-doughnut.ts +287 -0
- package/src/chart-doughnut/demo/index.html +51 -0
- package/src/chart-doughnut/index.ts +1 -0
- package/src/chart-pie/chart-pie.scss +27 -0
- package/src/chart-pie/chart-pie.ts +256 -0
- package/src/chart-pie/demo/index.html +51 -0
- package/src/chart-pie/index.ts +1 -0
- package/src/checkbox/checkbox.ts +3 -6
- package/src/chip/chip/chip.ts +6 -6
- package/src/chip/tag/tag.ts +6 -6
- package/src/clock/clock.ts +5 -6
- package/src/code-editor/code-editor.scss +3 -5
- package/src/code-editor/code-editor.ts +32 -16
- package/src/code-highlighter/code-highlighter.ts +8 -11
- package/src/container/container.ts +6 -11
- package/src/date-picker/date-picker.ts +7 -7
- package/src/divider/divider.scss +2 -2
- package/src/divider/divider.ts +2 -2
- package/src/elevation/elevation.ts +2 -2
- package/src/empty-state/empty-state.scss +1 -1
- package/src/empty-state/empty-state.ts +10 -3
- package/src/field/field.scss +4 -4
- package/src/field/field.ts +19 -2
- package/src/focus-ring/focus-ring.scss +2 -1
- package/src/focus-ring/focus-ring.ts +1 -1
- package/src/icon/icon.ts +2 -2
- package/src/icon/p-icon.ts +1 -1
- package/src/image/image.ts +4 -12
- package/src/index.ts +11 -3
- package/src/input/input.ts +6 -6
- package/src/link/link.ts +4 -5
- package/src/menu/index.ts +3 -0
- package/src/menu/menu/MenuSurfaceController.ts +61 -0
- package/src/menu/{menu-list/menu-list.scss → menu/menu.scss} +19 -4
- package/src/menu/menu/menu.ts +401 -77
- package/src/menu/menu-item/menu-item-colors.scss +2 -2
- package/src/menu/menu-item/menu-item.ts +128 -37
- package/src/menu/sub-menu/sub-menu.scss +7 -0
- package/src/menu/sub-menu/sub-menu.ts +243 -0
- package/src/number-counter/demo/index.html +1 -1
- package/src/number-counter/number-counter.ts +11 -9
- package/src/number-field/number-field.ts +7 -7
- package/src/pagination/index.ts +1 -0
- package/src/pagination/pagination.scss +59 -0
- package/src/pagination/pagination.ts +135 -0
- package/src/peacock-loader.ts +92 -51
- package/src/popover/PopoverController.ts +13 -7
- package/src/popover/index.ts +1 -1
- package/src/progress/circular-progress/circular-progress.scss +1 -1
- package/src/progress/circular-progress/circular-progress.ts +3 -3
- package/src/progress/linear-progress/linear-progress.ts +3 -3
- package/src/ripple/ripple.ts +478 -94
- package/src/skeleton/skeleton.ts +6 -5
- package/src/slider/index.ts +1 -0
- package/src/slider/slider.scss +130 -0
- package/src/slider/slider.ts +178 -0
- package/src/spinner/spinner.ts +2 -2
- package/src/switch/switch.ts +4 -4
- package/src/table/index.ts +1 -0
- package/src/table/table.scss +174 -0
- package/src/table/table.ts +475 -0
- package/src/tabs/index.ts +4 -0
- package/src/tabs/tab-group.scss +10 -0
- package/src/tabs/tab-group.ts +143 -0
- package/src/tabs/tab-panel.scss +12 -0
- package/src/tabs/tab-panel.ts +29 -0
- package/src/tabs/tab.scss +157 -0
- package/src/tabs/tab.ts +243 -0
- package/src/tabs/tabs.scss +19 -0
- package/src/tabs/tabs.ts +66 -0
- package/src/text/text.css-component.scss +6 -3
- package/src/textarea/textarea.ts +5 -5
- package/src/time-picker/time-picker.ts +7 -7
- package/src/{popover/tooltip → tooltip}/tooltip.scss +17 -14
- package/src/{popover/tooltip → tooltip}/tooltip.ts +12 -10
- package/src/tree-view/demo/index.html +57 -0
- package/src/tree-view/index.ts +2 -0
- package/src/tree-view/tree-node.scss +101 -0
- package/src/tree-view/tree-node.ts +268 -0
- package/src/tree-view/tree-view.scss +12 -0
- package/src/tree-view/tree-view.ts +182 -0
- package/src/tree-view/wc-tree-view.ts +9 -0
- package/dist/PeacockComponent-CxJc63xj.js.map +0 -1
- package/dist/button-DaL4va7Q.js.map +0 -1
- package/dist/class-map-BvQRv7eW.js.map +0 -1
- package/dist/dispatch-event-utils-vbdiOSeC.js.map +0 -1
- package/dist/image-v3BujlY5.js.map +0 -1
- package/dist/src/PeacockComponent.d.ts +0 -1
- package/dist/src/accordion/accordion/index.d.ts +0 -1
- package/dist/src/avatar/p-avatar.d.ts +0 -3
- package/dist/src/badge/p-badge.d.ts +0 -3
- package/dist/src/menu/menu-list/menu-list.d.ts +0 -7
- package/dist/state-B09bP3XH.js +0 -10
- package/dist/state-B09bP3XH.js.map +0 -1
- package/src/accordion/accordion/index.ts +0 -1
- package/src/avatar/p-avatar.ts +0 -5
- package/src/badge/p-badge.ts +0 -5
- package/src/menu/menu-list/menu-list.ts +0 -33
|
@@ -12,7 +12,7 @@ import * as prettierPluginEstree from 'prettier/plugins/estree';
|
|
|
12
12
|
|
|
13
13
|
import { BundledLanguage, codeToHtml, ShikiTransformer } from 'shiki';
|
|
14
14
|
|
|
15
|
-
import
|
|
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
|
|
|
@@ -25,25 +25,22 @@ const locale = {
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* @label Code Highlighter
|
|
28
|
-
* @tag code-highlighter
|
|
28
|
+
* @tag wc-code-highlighter
|
|
29
29
|
* @rawTag code-highlighter
|
|
30
30
|
*
|
|
31
|
-
* @summary
|
|
32
|
-
* @overview
|
|
33
|
-
* - CodeHighlighter is a component that provides syntax highlighting for code snippets.
|
|
34
|
-
* - It supports various programming languages and can display line numbers for better readability.
|
|
31
|
+
* @summary A component that provides syntax highlighting for code snippets.
|
|
35
32
|
*
|
|
36
33
|
* @example
|
|
37
34
|
* ```html
|
|
38
|
-
* <code-highlighter language="javascript" style="height: 9rem"><pre><code>
|
|
35
|
+
* <wc-code-highlighter language="javascript" style="height: 9rem"><pre><code>
|
|
39
36
|
* function helloWorld() {
|
|
40
37
|
* console.log('Hello, world!');
|
|
41
38
|
* }</code></pre>
|
|
42
|
-
* </code-highlighter>
|
|
39
|
+
* </wc-code-highlighter>
|
|
43
40
|
* ```
|
|
44
41
|
* @tags display
|
|
45
42
|
*/
|
|
46
|
-
@
|
|
43
|
+
@IndividualComponent
|
|
47
44
|
export class CodeHighlighter extends LitElement {
|
|
48
45
|
static styles = [styles];
|
|
49
46
|
|
|
@@ -173,7 +170,7 @@ export class CodeHighlighter extends LitElement {
|
|
|
173
170
|
<div class="header">
|
|
174
171
|
<div class="header-title">${this.language}</div>
|
|
175
172
|
<div class="header-actions">
|
|
176
|
-
<icon-button
|
|
173
|
+
<wc-icon-button
|
|
177
174
|
color="dark"
|
|
178
175
|
variant="text"
|
|
179
176
|
size="xs"
|
|
@@ -182,7 +179,7 @@ export class CodeHighlighter extends LitElement {
|
|
|
182
179
|
tooltip=${locale.copyToClipboard}
|
|
183
180
|
@click=${this.__handleCopyClick}
|
|
184
181
|
>
|
|
185
|
-
</icon-button>
|
|
182
|
+
</wc-icon-button>
|
|
186
183
|
</div>
|
|
187
184
|
</div>
|
|
188
185
|
|
|
@@ -7,22 +7,17 @@ type ContainerSize = 'max' | 'xl' | 'lg' | 'md' | 'sm' | 'full';
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @label Container
|
|
10
|
-
* @tag
|
|
10
|
+
* @tag wc-container
|
|
11
11
|
* @rawTag container
|
|
12
|
-
* @summary
|
|
13
|
-
*
|
|
14
|
-
* @cssprop --
|
|
15
|
-
* @
|
|
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
|
-
* <
|
|
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="
|
|
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
|
-
<
|
|
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
|
-
</
|
|
177
|
+
</wc-icon-button>
|
|
178
|
+
</wc-field>
|
|
179
179
|
`;
|
|
180
180
|
}
|
|
181
181
|
}
|
package/src/divider/divider.scss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
--divider-color: var(--color-outline-variant);
|
|
9
9
|
--divider-spacing: var(--spacing-200);
|
|
10
|
-
--divider-line-
|
|
10
|
+
--divider-line-thickness: 1px;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.divider {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
@include mixin.get-typography(body-medium);
|
|
17
17
|
color: var(--divider-color);
|
|
18
18
|
|
|
19
|
-
--_line-border: var(--divider-line-
|
|
19
|
+
--_line-border: var(--divider-line-thickness) solid var(--divider-color);
|
|
20
20
|
|
|
21
21
|
&:not(.vertical) {
|
|
22
22
|
width: 100%;
|
package/src/divider/divider.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { observerSlotChangesWithCallback } from '../utils.js';
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @label Divider
|
|
9
|
-
* @tag
|
|
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
|
-
* <
|
|
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
|
|
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
|
-
* <
|
|
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
|
-
* @
|
|
9
|
-
* @
|
|
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
|
-
<
|
|
79
|
+
<wc-icon class="illustration-svg" src="${illustrationPath}"></wc-icon>
|
|
73
80
|
</div>
|
|
74
81
|
|
|
75
82
|
<div class="content">
|
package/src/field/field.scss
CHANGED
|
@@ -225,8 +225,8 @@
|
|
|
225
225
|
position: absolute;
|
|
226
226
|
top: 0;
|
|
227
227
|
left: 0;
|
|
228
|
-
--skeleton-shape-start-start: var(--shape-
|
|
229
|
-
--skeleton-shape-start-end: var(--shape-
|
|
230
|
-
--skeleton-shape-end-start: var(--shape-
|
|
231
|
-
--skeleton-shape-end-end: var(--shape-
|
|
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
|
}
|
package/src/field/field.ts
CHANGED
|
@@ -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
|
-
<
|
|
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
|
-
<
|
|
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
|
|
23
|
+
outline: 3px solid var(--focus-ring-color);
|
|
23
24
|
}
|
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
|
|
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
|
-
* <
|
|
21
|
+
* <wc-icon name="home" style="--icon-size: 2rem;"></wc-icon>
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
24
|
*/
|
package/src/icon/p-icon.ts
CHANGED
package/src/image/image.ts
CHANGED
|
@@ -7,23 +7,15 @@ import styles from './image.scss';
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @label Image
|
|
10
|
-
* @tag
|
|
10
|
+
* @tag wc-image
|
|
11
11
|
* @rawTag image
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
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
|
-
* <
|
|
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/
|
|
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';
|
|
@@ -23,13 +23,21 @@ export { TimePicker } from './time-picker/index.js';
|
|
|
23
23
|
export { Textarea } from './textarea/index.js';
|
|
24
24
|
export { Switch } from './switch/index.js';
|
|
25
25
|
export { Spinner } from './spinner/index.js';
|
|
26
|
-
export { Container } from './container/index.js'
|
|
26
|
+
export { Container } from './container/index.js';
|
|
27
27
|
|
|
28
28
|
export { NumberCounter } from './number-counter/index.js';
|
|
29
29
|
export { EmptyState } from './empty-state/index.js';
|
|
30
30
|
export { Tooltip } from './popover/index.js';
|
|
31
31
|
export { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';
|
|
32
|
+
export { Menu, MenuItem, SubMenu } from './menu/index.js';
|
|
32
33
|
|
|
33
34
|
export { CodeHighlighter } from './code-highlighter/index.js';
|
|
34
35
|
export { CodeEditor } from './code-editor/index.js';
|
|
35
|
-
export { Image } from './image/index.js';
|
|
36
|
+
export { Image } from './image/index.js';
|
|
37
|
+
export { Tab, TabGroup, TabPanel, Tabs } from './tabs/index.js';
|
|
38
|
+
export { Slider } from './slider/index.js';
|
|
39
|
+
export { ChartDoughnut } from './chart-doughnut/index.js';
|
|
40
|
+
export { ChartPie } from './chart-pie/index.js';
|
|
41
|
+
export { Table } from './table/index.js';
|
|
42
|
+
export { Pagination } from './pagination/index.js';
|
|
43
|
+
export { TreeView, TreeNode } from './tree-view/index.js';
|
package/src/input/input.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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
|
|
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
|
-
* @
|
|
11
|
+
* @cssprop --link-color - Controls the color of the link.
|
|
12
|
+
* @tags navigation
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```html
|
|
16
|
-
* <
|
|
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];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
|
2
|
+
import {
|
|
3
|
+
autoUpdate,
|
|
4
|
+
computePosition,
|
|
5
|
+
flip,
|
|
6
|
+
offset,
|
|
7
|
+
shift,
|
|
8
|
+
type Placement,
|
|
9
|
+
type Strategy,
|
|
10
|
+
} from '@floating-ui/dom';
|
|
11
|
+
|
|
12
|
+
type PositionOptions = {
|
|
13
|
+
reference: HTMLElement;
|
|
14
|
+
floating: HTMLElement;
|
|
15
|
+
placement: Placement;
|
|
16
|
+
offset: number;
|
|
17
|
+
strategy?: Strategy;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
async function updateSurfacePosition(options: PositionOptions & { strategy: Strategy }) {
|
|
21
|
+
const { x, y } = await computePosition(options.reference, options.floating, {
|
|
22
|
+
strategy: options.strategy,
|
|
23
|
+
placement: options.placement,
|
|
24
|
+
middleware: [offset(options.offset), flip(), shift({ padding: 8 })],
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
Object.assign(options.floating.style, {
|
|
28
|
+
position: options.strategy,
|
|
29
|
+
left: `${x}px`,
|
|
30
|
+
top: `${y}px`,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class MenuSurfaceController implements ReactiveController {
|
|
35
|
+
private cleanup?: () => void;
|
|
36
|
+
|
|
37
|
+
constructor(private host: ReactiveControllerHost) {
|
|
38
|
+
this.host.addController(this);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
start(options: PositionOptions) {
|
|
42
|
+
this.stop();
|
|
43
|
+
|
|
44
|
+
const strategy = options.strategy ?? 'fixed';
|
|
45
|
+
|
|
46
|
+
this.cleanup = autoUpdate(options.reference, options.floating, () => {
|
|
47
|
+
updateSurfacePosition({ ...options, strategy });
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
updateSurfacePosition({ ...options, strategy });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
stop() {
|
|
54
|
+
this.cleanup?.();
|
|
55
|
+
this.cleanup = undefined;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
hostDisconnected() {
|
|
59
|
+
this.stop();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -2,13 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
@include mixin.base-styles;
|
|
4
4
|
|
|
5
|
-
.menu
|
|
5
|
+
.menu {
|
|
6
6
|
display: flex;
|
|
7
7
|
position: relative;
|
|
8
|
+
z-index: var(--menu-z-index, 1000);
|
|
8
9
|
min-width: 112px;
|
|
9
10
|
padding-block: var(--spacing-050);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
&.closed {
|
|
13
|
+
display: none;
|
|
14
|
+
opacity: 0;
|
|
15
|
+
visibility: hidden;
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.open {
|
|
20
|
+
display: flex;
|
|
21
|
+
opacity: 1;
|
|
22
|
+
visibility: visible;
|
|
23
|
+
pointer-events: auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.menu-content {
|
|
12
27
|
display: flex;
|
|
13
28
|
flex-direction: column;
|
|
14
29
|
gap: var(--spacing-050);
|
|
@@ -24,7 +39,7 @@
|
|
|
24
39
|
--menu-item-container-shape-end-end: var(--shape-corner-medium);
|
|
25
40
|
}
|
|
26
41
|
|
|
27
|
-
::slotted(
|
|
42
|
+
::slotted(wc-divider) {
|
|
28
43
|
--divider-spacing: var(--spacing-100);
|
|
29
44
|
padding-inline: var(--spacing-050);
|
|
30
45
|
}
|
|
@@ -58,7 +73,7 @@
|
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
75
|
|
|
61
|
-
.menu
|
|
76
|
+
.menu {
|
|
62
77
|
--_container-shape-start-start: var(--shape-corner-large);
|
|
63
78
|
--_container-shape-start-end: var(--shape-corner-large);
|
|
64
79
|
--_container-shape-end-start: var(--shape-corner-large);
|