@covalent/components 0.0.0-COVALENT
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/.babelrc +10 -0
- package/.eslintrc.json +18 -0
- package/.storybook/main.js +34 -0
- package/.storybook/manager-head.html +62 -0
- package/.storybook/manager.js +1 -0
- package/.storybook/preview-head.html +20 -0
- package/.storybook/preview.js +20 -0
- package/README.md +179 -0
- package/component-config.json +313 -0
- package/index.html +288 -0
- package/jest.config.js +18 -0
- package/package.json +315 -0
- package/project.json +104 -0
- package/public/index.scss +1 -0
- package/public/reset.css +128 -0
- package/src/action-ribbon/_action-ribbon.theme.scss +90 -0
- package/src/action-ribbon/action-ribbon-base.ts +164 -0
- package/src/action-ribbon/action-ribbon.scss +20 -0
- package/src/action-ribbon/action-ribbon.spec.ts +11 -0
- package/src/action-ribbon/action-ribbon.stories.js +78 -0
- package/src/action-ribbon/action-ribbon.ts +26 -0
- package/src/alert/_alert.theme.scss +116 -0
- package/src/alert/alert-base.ts +175 -0
- package/src/alert/alert.scss +55 -0
- package/src/alert/alert.spec.ts +26 -0
- package/src/alert/alert.stories.js +76 -0
- package/src/alert/alert.ts +26 -0
- package/src/app-shell/app-shell.scss +387 -0
- package/src/app-shell/app-shell.stories.js +323 -0
- package/src/app-shell/app-shell.ts +388 -0
- package/src/badge/badge.scss +60 -0
- package/src/badge/badge.spec.ts +40 -0
- package/src/badge/badge.stories.js +88 -0
- package/src/badge/badge.ts +122 -0
- package/src/button/Overview.mdx +160 -0
- package/src/button/button.scss +28 -0
- package/src/button/button.spec.ts +11 -0
- package/src/button/button.stories.js +102 -0
- package/src/button/button.ts +17 -0
- package/src/card/card-base.ts +69 -0
- package/src/card/card.scss +45 -0
- package/src/card/card.spec.ts +11 -0
- package/src/card/card.ts +21 -0
- package/src/card/cards.stories.js +40 -0
- package/src/checkbox/checkbox.scss +8 -0
- package/src/checkbox/checkbox.spec.ts +11 -0
- package/src/checkbox/checkbox.stories.js +61 -0
- package/src/checkbox/checkbox.ts +18 -0
- package/src/chips/chip-base.ts +276 -0
- package/src/chips/chip-set-base.ts +184 -0
- package/src/chips/chip-set.scss +15 -0
- package/src/chips/chip-set.spec.ts +11 -0
- package/src/chips/chip-set.ts +27 -0
- package/src/chips/chip.scss +40 -0
- package/src/chips/chip.spec.ts +11 -0
- package/src/chips/chip.ts +26 -0
- package/src/chips/chips.stories.js +81 -0
- package/src/circular-progress/circular-progress.spec.ts +11 -0
- package/src/circular-progress/circular-progress.stories.js +40 -0
- package/src/circular-progress/circular-progress.ts +16 -0
- package/src/code-editor/code-editor.scss +20 -0
- package/src/code-editor/code-editor.spec.ts +11 -0
- package/src/code-editor/code-editor.stories.js +44 -0
- package/src/code-editor/code-editor.theme.ts +199 -0
- package/src/code-editor/code-editor.ts +231 -0
- package/src/code-snippet/code-snippet.scss +126 -0
- package/src/code-snippet/code-snippet.spec.ts +11 -0
- package/src/code-snippet/code-snippet.stories.js +134 -0
- package/src/code-snippet/code-snippet.ts +93 -0
- package/src/data-table/_data-table.theme.scss +39 -0
- package/src/data-table/data-table.stories.js +24 -0
- package/src/data-table/data-table.stories.scss +11 -0
- package/src/dialog/Overview.mdx +39 -0
- package/src/dialog/dialog.scss +17 -0
- package/src/dialog/dialog.spec.ts +11 -0
- package/src/dialog/dialog.stories.js +89 -0
- package/src/dialog/dialog.ts +44 -0
- package/src/drawer/drawer.scss +4 -0
- package/src/drawer/drawer.spec.ts +11 -0
- package/src/drawer/drawer.ts +18 -0
- package/src/empty-state/_empty-state.theme.scss +0 -0
- package/src/empty-state/empty-state.scss +67 -0
- package/src/empty-state/empty-state.spec.ts +11 -0
- package/src/empty-state/empty-state.stories.js +117 -0
- package/src/empty-state/empty-state.ts +61 -0
- package/src/expansion-panel/Overview.mdx +108 -0
- package/src/expansion-panel/expansion-panel-incorrect-example.png +0 -0
- package/src/expansion-panel/expansion-panel-item.scss +243 -0
- package/src/expansion-panel/expansion-panel-item.ts +95 -0
- package/src/expansion-panel/expansion-panel.spec.ts +11 -0
- package/src/expansion-panel/expansion-panel.stories.js +76 -0
- package/src/expansion-panel/expansion-panel.ts +94 -0
- package/src/focused-page/focused-page.scss +113 -0
- package/src/focused-page/focused-page.spec.ts +11 -0
- package/src/focused-page/focused-page.stories.js +167 -0
- package/src/focused-page/focused-page.ts +201 -0
- package/src/formfield/formfield.scss +8 -0
- package/src/formfield/formfield.spec.ts +11 -0
- package/src/formfield/formfield.ts +24 -0
- package/src/full-screen-dialog/full-screen-dialog.scss +37 -0
- package/src/full-screen-dialog/full-screen-dialog.spec.ts +11 -0
- package/src/full-screen-dialog/full-screen-dialog.stories.js +172 -0
- package/src/full-screen-dialog/full-screen-dialog.ts +84 -0
- package/src/icon/_icon-list.ts +316 -0
- package/src/icon/icon-demo.scss +25 -0
- package/src/icon/icon-demo.ts +37 -0
- package/src/icon/icon.spec.ts +11 -0
- package/src/icon/icon.stories.js +55 -0
- package/src/icon/icon.ts +16 -0
- package/src/icon-button/_icon-button.theme.scss +9 -0
- package/src/icon-button/icon-button.scss +12 -0
- package/src/icon-button/icon-button.spec.ts +11 -0
- package/src/icon-button/icon-button.stories.js +24 -0
- package/src/icon-button/icon-button.ts +19 -0
- package/src/icon-button-toggle/icon-button-toggle.scss +19 -0
- package/src/icon-button-toggle/icon-button-toggle.spec.ts +11 -0
- package/src/icon-button-toggle/icon-button-toggle.stories.js +32 -0
- package/src/icon-button-toggle/icon-button-toggle.ts +50 -0
- package/src/icon-checkbox/icon-check-toggle.ts +64 -0
- package/src/icon-checkbox/icon-check.spec.ts +11 -0
- package/src/icon-checkbox/icon-checkbox.scss +95 -0
- package/src/icon-checkbox/icon-checkbox.stories.js +77 -0
- package/src/icon-lockup/icon-lockup.scss +47 -0
- package/src/icon-lockup/icon-lockup.spec.ts +11 -0
- package/src/icon-lockup/icon-lockup.stories.js +93 -0
- package/src/icon-lockup/icon-lockup.ts +125 -0
- package/src/icon-radio/icon-radio-toggle.ts +43 -0
- package/src/icon-radio/icon-radio.scss +63 -0
- package/src/icon-radio/icon-radio.spec.ts +11 -0
- package/src/icon-radio/icon-radio.stories.js +23 -0
- package/src/index.scss +1 -0
- package/src/index.ts +57 -0
- package/src/linear-progress/linear-progress.scss +4 -0
- package/src/linear-progress/linear-progress.spec.ts +11 -0
- package/src/linear-progress/linear-progress.stories.js +43 -0
- package/src/linear-progress/linear-progress.ts +18 -0
- package/src/list/Overview.mdx +91 -0
- package/src/list/_list.theme.scss +100 -0
- package/src/list/check-list-item.spec.ts +11 -0
- package/src/list/check-list-item.ts +25 -0
- package/src/list/list-item.scss +56 -0
- package/src/list/list-item.spec.ts +11 -0
- package/src/list/list-item.ts +31 -0
- package/src/list/list.scss +25 -0
- package/src/list/list.stories.js +120 -0
- package/src/list/list.ts +23 -0
- package/src/list/nav-list-item.scss +159 -0
- package/src/list/nav-list-item.ts +223 -0
- package/src/list/radio-list-item.ts +25 -0
- package/src/menu/menu.scss +3 -0
- package/src/menu/menu.spec.ts +11 -0
- package/src/menu/menu.stories.js +110 -0
- package/src/menu/menu.ts +23 -0
- package/src/notebook-cell/notebook-cell.scss +185 -0
- package/src/notebook-cell/notebook-cell.spec.ts +11 -0
- package/src/notebook-cell/notebook-cell.stories.js +87 -0
- package/src/notebook-cell/notebook-cell.ts +300 -0
- package/src/radio/radio.scss +3 -0
- package/src/radio/radio.spec.ts +11 -0
- package/src/radio/radio.stories.js +56 -0
- package/src/radio/radio.ts +18 -0
- package/src/select/select.scss +16 -0
- package/src/select/select.spec.ts +11 -0
- package/src/select/select.stories.js +57 -0
- package/src/select/select.ts +18 -0
- package/src/side-sheet/side-sheet.scss +49 -0
- package/src/side-sheet/side-sheet.spec.ts +11 -0
- package/src/side-sheet/side-sheet.stories.js +96 -0
- package/src/side-sheet/side-sheet.ts +37 -0
- package/src/skeleton/_skeleton.styles.scss +24 -0
- package/src/skeleton/skeleton.stories.js +77 -0
- package/src/slider/slider-range.ts +16 -0
- package/src/slider/slider.spec.ts +11 -0
- package/src/slider/slider.stories.js +54 -0
- package/src/slider/slider.ts +16 -0
- package/src/snackbar/snackbar.scss +8 -0
- package/src/snackbar/snackbar.spec.ts +11 -0
- package/src/snackbar/snackbar.stories.js +42 -0
- package/src/snackbar/snackbar.ts +18 -0
- package/src/status-dialog/status-dialog.scss +204 -0
- package/src/status-dialog/status-dialog.spec.ts +48 -0
- package/src/status-dialog/status-dialog.stories.js +136 -0
- package/src/status-dialog/status-dialog.ts +188 -0
- package/src/status-header/_status-header.theme.scss +79 -0
- package/src/status-header/status-header-base.ts +42 -0
- package/src/status-header/status-header-item.scss +17 -0
- package/src/status-header/status-header-item.spec.ts +11 -0
- package/src/status-header/status-header-item.ts +32 -0
- package/src/status-header/status-header.scss +57 -0
- package/src/status-header/status-header.spec.ts +11 -0
- package/src/status-header/status-header.stories.js +114 -0
- package/src/status-header/status-header.ts +26 -0
- package/src/switch/switch.scss +17 -0
- package/src/switch/switch.spec.ts +11 -0
- package/src/switch/switch.stories.js +41 -0
- package/src/switch/switch.ts +18 -0
- package/src/tab/Overview.mdx +38 -0
- package/src/tab/tab-bar.spec.ts +11 -0
- package/src/tab/tab-bar.ts +16 -0
- package/src/tab/tab.scss +10 -0
- package/src/tab/tab.spec.ts +11 -0
- package/src/tab/tab.stories.js +30 -0
- package/src/tab/tab.ts +18 -0
- package/src/text-lockup/text-lockup.scss +66 -0
- package/src/text-lockup/text-lockup.spec.ts +11 -0
- package/src/text-lockup/text-lockup.stories.js +67 -0
- package/src/text-lockup/text-lockup.ts +55 -0
- package/src/textarea/textarea.spec.ts +11 -0
- package/src/textarea/textarea.stories.js +39 -0
- package/src/textarea/textarea.ts +19 -0
- package/src/textfield/textfield.scss +34 -0
- package/src/textfield/textfield.spec.ts +11 -0
- package/src/textfield/textfield.stories.js +60 -0
- package/src/textfield/textfield.ts +25 -0
- package/src/theme/_index.scss +46 -0
- package/src/theme/prebuilt/dark-theme.scss +17 -0
- package/src/theme/prebuilt/light-theme.scss +17 -0
- package/src/toolbar/toolbar.scss +37 -0
- package/src/toolbar/toolbar.spec.ts +11 -0
- package/src/toolbar/toolbar.stories.js +66 -0
- package/src/toolbar/toolbar.ts +27 -0
- package/src/tooltip/tooltip.scss +16 -0
- package/src/tooltip/tooltip.spec.ts +11 -0
- package/src/tooltip/tooltip.stories.js +72 -0
- package/src/tooltip/tooltip.ts +185 -0
- package/src/top-app-bar/top-app-bar-fixed.ts +23 -0
- package/src/top-app-bar/top-app-bar.scss +14 -0
- package/src/top-app-bar/top-app-bar.spec.ts +11 -0
- package/src/top-app-bar/top-app-bar.stories.js +41 -0
- package/src/top-app-bar/top-app-bar.ts +23 -0
- package/src/tree-list/tree-list-item.scss +96 -0
- package/src/tree-list/tree-list-item.spec.ts +11 -0
- package/src/tree-list/tree-list-item.ts +87 -0
- package/src/tree-list/tree-list.scss +13 -0
- package/src/tree-list/tree-list.spec.ts +11 -0
- package/src/tree-list/tree-list.stories.js +151 -0
- package/src/tree-list/tree-list.ts +53 -0
- package/src/typography/typography.scss +45 -0
- package/src/typography/typography.spec.ts +11 -0
- package/src/typography/typography.stories.js +23 -0
- package/src/typography/typography.ts +27 -0
- package/stories/Introduction.mdx +47 -0
- package/stories/color-use.mdx +509 -0
- package/stories/demos/dialog.component.html +187 -0
- package/stories/demos/dialog.component.js +57 -0
- package/stories/demos/grid.content.html +99 -0
- package/stories/demos/lorem-ipsum.content.html +338 -0
- package/stories/demos/material-web.content.html +2125 -0
- package/stories/demos/table-column-sorting.content.html +92 -0
- package/stories/demos/table-pagination.content.html +139 -0
- package/stories/demos/table-progress-indicator.content.html +77 -0
- package/stories/demos/table-row-selection.content.html +219 -0
- package/stories/demos/table.content.html +64 -0
- package/stories/demos/top-app-bar.component.js +57 -0
- package/stories/guide-representing-state.mdx +282 -0
- package/stories/info-and-help.mdx +484 -0
- package/stories/item-detail-and-editing.mdx +529 -0
- package/stories/markdown-elements.mdx +194 -0
- package/stories/writing-and-naming.mdx +157 -0
- package/tsconfig.json +34 -0
- package/tsconfig.lib.json +17 -0
- package/tsconfig.spec.json +14 -0
- package/types.d.ts +15 -0
- package/vite.config.js +58 -0
@@ -0,0 +1,53 @@
|
|
1
|
+
import { css, html, LitElement, unsafeCSS } from 'lit';
|
2
|
+
import { customElement } from 'lit/decorators.js';
|
3
|
+
import styles from './tree-list.scss?inline';
|
4
|
+
|
5
|
+
declare global {
|
6
|
+
interface HTMLElementTagNameMap {
|
7
|
+
'cv-tree-list': CovalentTreeList;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
// Wraps cv-tree-list-item components
|
11
|
+
@customElement('cv-tree-list')
|
12
|
+
export class CovalentTreeList extends LitElement {
|
13
|
+
static override styles = [
|
14
|
+
css`
|
15
|
+
${unsafeCSS(styles)}
|
16
|
+
`,
|
17
|
+
];
|
18
|
+
override render() {
|
19
|
+
return html`
|
20
|
+
<div class="container">
|
21
|
+
<div class="content">
|
22
|
+
<slot></slot>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
`;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
// Create event listener for cv-tree-list-item's select event.
|
29
|
+
document.addEventListener('select', (e: Event) => {
|
30
|
+
handleSelect(e);
|
31
|
+
});
|
32
|
+
const handleSelect = (e: Event): void => {
|
33
|
+
// All cv-tree-list-item components.
|
34
|
+
const items: any[] = Array.from(
|
35
|
+
document?.querySelectorAll('cv-tree-list-item')
|
36
|
+
);
|
37
|
+
|
38
|
+
// Currently selected item.
|
39
|
+
const target: HTMLElement = e.target as HTMLElement;
|
40
|
+
const current = target.shadowRoot?.querySelector('div.itemContent');
|
41
|
+
|
42
|
+
// Find previously selected element and remove the styling.
|
43
|
+
items.forEach((item) => {
|
44
|
+
item
|
45
|
+
.shadowRoot?.querySelector('div.itemContent')
|
46
|
+
?.classList.remove('selected');
|
47
|
+
});
|
48
|
+
|
49
|
+
// Add the selected styling to the currently selected item.
|
50
|
+
current?.classList.add('selected');
|
51
|
+
};
|
52
|
+
|
53
|
+
export default CovalentTreeList;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
@use '@material/typography/mdc-typography';
|
2
|
+
@use '@covalent/tokens' as tokens;
|
3
|
+
@use '../theme' as theme;
|
4
|
+
|
5
|
+
$theme-tokens: map-get(tokens.$tokens, 'theme');
|
6
|
+
$light-tokens: map-get($theme-tokens, 'light');
|
7
|
+
$light-colors: map-get($light-tokens, 'colors');
|
8
|
+
$dark-tokens: map-get($theme-tokens, 'dark');
|
9
|
+
$dark-colors: map-get($dark-tokens, 'colors');
|
10
|
+
// Merge deprecated tokens
|
11
|
+
$light-colors: map-merge($light-colors, map-get(tokens.$tokens, light));
|
12
|
+
$dark-colors: map-merge($dark-colors, map-get(tokens.$tokens, dark));
|
13
|
+
|
14
|
+
// For convience re-define theme tokens scoped to a light/dark class
|
15
|
+
:root {
|
16
|
+
@include theme.components-theme(
|
17
|
+
map-merge($light-colors, map-get(tokens.$tokens, light)),
|
18
|
+
map-get(tokens.$tokens, typography)
|
19
|
+
);
|
20
|
+
}
|
21
|
+
|
22
|
+
.dark {
|
23
|
+
@include theme.components-theme(
|
24
|
+
map-merge($dark-colors, map-get(tokens.$tokens, dark)),
|
25
|
+
map-get(tokens.$tokens, typography)
|
26
|
+
);
|
27
|
+
}
|
28
|
+
|
29
|
+
:host {
|
30
|
+
color: var(--cv-theme-on-surface-variant);
|
31
|
+
display: block;
|
32
|
+
}
|
33
|
+
|
34
|
+
// Header typography should be darker color
|
35
|
+
:host([scale='headline1']),
|
36
|
+
:host([scale='headline2']),
|
37
|
+
:host([scale='headline3']),
|
38
|
+
:host([scale='headline4']),
|
39
|
+
:host([scale='headline5']),
|
40
|
+
:host([scale='headline6']),
|
41
|
+
:host([scale='subtitle1']),
|
42
|
+
:host([scale='subtitle2']),
|
43
|
+
:host([scale='button']) {
|
44
|
+
color: var(--cv-theme-on-surface);
|
45
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* @vitest-environment jsdom
|
3
|
+
*/
|
4
|
+
import { it, describe, expect } from 'vitest';
|
5
|
+
import { CovalentTypography } from './typography';
|
6
|
+
|
7
|
+
describe('Tooltip', () => {
|
8
|
+
it('should work', () => {
|
9
|
+
expect(new CovalentTypography()).toBeDefined();
|
10
|
+
});
|
11
|
+
});
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import './typography';
|
2
|
+
|
3
|
+
export default {
|
4
|
+
title: 'Components/Text',
|
5
|
+
};
|
6
|
+
|
7
|
+
export const Basic = () => {
|
8
|
+
return `
|
9
|
+
<cv-typography scale="headline1">Headline 1</cv-typography>
|
10
|
+
<cv-typography scale="headline2">Headline 2</cv-typography>
|
11
|
+
<cv-typography scale="headline3">Headline 3</cv-typography>
|
12
|
+
<cv-typography scale="headline4">Headline 4</cv-typography>
|
13
|
+
<cv-typography scale="headline5">Headline 5</cv-typography>
|
14
|
+
<cv-typography scale="headline6">Headline 6</cv-typography>
|
15
|
+
<cv-typography scale="subtitle2">Subtitle 1</cv-typography>
|
16
|
+
<cv-typography scale="subtitle2">Subtitle 2</cv-typography>
|
17
|
+
<cv-typography scale="button">Button</cv-typography>
|
18
|
+
<cv-typography scale="caption">Caption</cv-typography>
|
19
|
+
<cv-typography scale="overline">Overline</cv-typography>
|
20
|
+
<cv-typography scale="body1">Body 1</cv-typography>
|
21
|
+
<cv-typography scale="body2">Body 2</cv-typography>
|
22
|
+
`;
|
23
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { css, html, LitElement, unsafeCSS } from 'lit';
|
2
|
+
import { customElement, property } from 'lit/decorators.js';
|
3
|
+
import styles from './typography.scss?inline';
|
4
|
+
|
5
|
+
declare global {
|
6
|
+
interface HTMLElementTagNameMap {
|
7
|
+
'cv-typography': CovalentTypography;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
@customElement('cv-typography')
|
12
|
+
export class CovalentTypography extends LitElement {
|
13
|
+
static override styles = [
|
14
|
+
css`
|
15
|
+
${unsafeCSS(styles)}
|
16
|
+
`,
|
17
|
+
];
|
18
|
+
|
19
|
+
@property()
|
20
|
+
scale = 'body1';
|
21
|
+
|
22
|
+
override render() {
|
23
|
+
return html`<slot class="mdc-typography--${this.scale}"></slot>`;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
export default CovalentTypography;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { Meta, DocsContainer } from '@storybook/blocks';
|
2
|
+
|
3
|
+
<Meta
|
4
|
+
title="Introduction"
|
5
|
+
parameters={{
|
6
|
+
layout: 'fullscreen',
|
7
|
+
previewTabs: {
|
8
|
+
canvas: { hidden: true },
|
9
|
+
},
|
10
|
+
}}
|
11
|
+
/>
|
12
|
+
|
13
|
+
# Covalent Design System
|
14
|
+
|
15
|
+
We're merging the Teradata Design System and Covalent into a single
|
16
|
+
comprehensive product. In the short term, just use the nav to browse
|
17
|
+
the raw components. We'll layer in documenation over time.
|
18
|
+
|
19
|
+
Ping us in the **#design-system** channel on Slack for help.
|
20
|
+
|
21
|
+
<div className="link-list">
|
22
|
+
<a className="link-item" href="./?path=/docs/components-app-shell--overview">
|
23
|
+
<span>
|
24
|
+
<strong>App shell</strong>
|
25
|
+
Our standard starter app, great for multi-level UIs that need to show a dashboard,
|
26
|
+
subsections with lists of items, and detail pages to view those items.
|
27
|
+
</span>
|
28
|
+
</a>
|
29
|
+
|
30
|
+
{' '}
|
31
|
+
<a
|
32
|
+
className="link-item"
|
33
|
+
href="https://github.com/Teradata/covalent/tree/main/docs/COMPONENTS_QUICKSTART.md"
|
34
|
+
>
|
35
|
+
<span>
|
36
|
+
<strong>Getting started</strong>A quick how to guide on including these
|
37
|
+
components in a html page
|
38
|
+
</span>
|
39
|
+
</a>
|
40
|
+
|
41
|
+
<a className="link-item" href="https://github.com/Teradata/covalent/tree/main/docs/COMPONENTS_THEMING.md">
|
42
|
+
<span>
|
43
|
+
<strong>Theming</strong>Learn how to apply light or dark themes for these
|
44
|
+
web components
|
45
|
+
</span>
|
46
|
+
</a>
|
47
|
+
</div>
|