@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.
Files changed (264) hide show
  1. package/.babelrc +10 -0
  2. package/.eslintrc.json +18 -0
  3. package/.storybook/main.js +34 -0
  4. package/.storybook/manager-head.html +62 -0
  5. package/.storybook/manager.js +1 -0
  6. package/.storybook/preview-head.html +20 -0
  7. package/.storybook/preview.js +20 -0
  8. package/README.md +179 -0
  9. package/component-config.json +313 -0
  10. package/index.html +288 -0
  11. package/jest.config.js +18 -0
  12. package/package.json +315 -0
  13. package/project.json +104 -0
  14. package/public/index.scss +1 -0
  15. package/public/reset.css +128 -0
  16. package/src/action-ribbon/_action-ribbon.theme.scss +90 -0
  17. package/src/action-ribbon/action-ribbon-base.ts +164 -0
  18. package/src/action-ribbon/action-ribbon.scss +20 -0
  19. package/src/action-ribbon/action-ribbon.spec.ts +11 -0
  20. package/src/action-ribbon/action-ribbon.stories.js +78 -0
  21. package/src/action-ribbon/action-ribbon.ts +26 -0
  22. package/src/alert/_alert.theme.scss +116 -0
  23. package/src/alert/alert-base.ts +175 -0
  24. package/src/alert/alert.scss +55 -0
  25. package/src/alert/alert.spec.ts +26 -0
  26. package/src/alert/alert.stories.js +76 -0
  27. package/src/alert/alert.ts +26 -0
  28. package/src/app-shell/app-shell.scss +387 -0
  29. package/src/app-shell/app-shell.stories.js +323 -0
  30. package/src/app-shell/app-shell.ts +388 -0
  31. package/src/badge/badge.scss +60 -0
  32. package/src/badge/badge.spec.ts +40 -0
  33. package/src/badge/badge.stories.js +88 -0
  34. package/src/badge/badge.ts +122 -0
  35. package/src/button/Overview.mdx +160 -0
  36. package/src/button/button.scss +28 -0
  37. package/src/button/button.spec.ts +11 -0
  38. package/src/button/button.stories.js +102 -0
  39. package/src/button/button.ts +17 -0
  40. package/src/card/card-base.ts +69 -0
  41. package/src/card/card.scss +45 -0
  42. package/src/card/card.spec.ts +11 -0
  43. package/src/card/card.ts +21 -0
  44. package/src/card/cards.stories.js +40 -0
  45. package/src/checkbox/checkbox.scss +8 -0
  46. package/src/checkbox/checkbox.spec.ts +11 -0
  47. package/src/checkbox/checkbox.stories.js +61 -0
  48. package/src/checkbox/checkbox.ts +18 -0
  49. package/src/chips/chip-base.ts +276 -0
  50. package/src/chips/chip-set-base.ts +184 -0
  51. package/src/chips/chip-set.scss +15 -0
  52. package/src/chips/chip-set.spec.ts +11 -0
  53. package/src/chips/chip-set.ts +27 -0
  54. package/src/chips/chip.scss +40 -0
  55. package/src/chips/chip.spec.ts +11 -0
  56. package/src/chips/chip.ts +26 -0
  57. package/src/chips/chips.stories.js +81 -0
  58. package/src/circular-progress/circular-progress.spec.ts +11 -0
  59. package/src/circular-progress/circular-progress.stories.js +40 -0
  60. package/src/circular-progress/circular-progress.ts +16 -0
  61. package/src/code-editor/code-editor.scss +20 -0
  62. package/src/code-editor/code-editor.spec.ts +11 -0
  63. package/src/code-editor/code-editor.stories.js +44 -0
  64. package/src/code-editor/code-editor.theme.ts +199 -0
  65. package/src/code-editor/code-editor.ts +231 -0
  66. package/src/code-snippet/code-snippet.scss +126 -0
  67. package/src/code-snippet/code-snippet.spec.ts +11 -0
  68. package/src/code-snippet/code-snippet.stories.js +134 -0
  69. package/src/code-snippet/code-snippet.ts +93 -0
  70. package/src/data-table/_data-table.theme.scss +39 -0
  71. package/src/data-table/data-table.stories.js +24 -0
  72. package/src/data-table/data-table.stories.scss +11 -0
  73. package/src/dialog/Overview.mdx +39 -0
  74. package/src/dialog/dialog.scss +17 -0
  75. package/src/dialog/dialog.spec.ts +11 -0
  76. package/src/dialog/dialog.stories.js +89 -0
  77. package/src/dialog/dialog.ts +44 -0
  78. package/src/drawer/drawer.scss +4 -0
  79. package/src/drawer/drawer.spec.ts +11 -0
  80. package/src/drawer/drawer.ts +18 -0
  81. package/src/empty-state/_empty-state.theme.scss +0 -0
  82. package/src/empty-state/empty-state.scss +67 -0
  83. package/src/empty-state/empty-state.spec.ts +11 -0
  84. package/src/empty-state/empty-state.stories.js +117 -0
  85. package/src/empty-state/empty-state.ts +61 -0
  86. package/src/expansion-panel/Overview.mdx +108 -0
  87. package/src/expansion-panel/expansion-panel-incorrect-example.png +0 -0
  88. package/src/expansion-panel/expansion-panel-item.scss +243 -0
  89. package/src/expansion-panel/expansion-panel-item.ts +95 -0
  90. package/src/expansion-panel/expansion-panel.spec.ts +11 -0
  91. package/src/expansion-panel/expansion-panel.stories.js +76 -0
  92. package/src/expansion-panel/expansion-panel.ts +94 -0
  93. package/src/focused-page/focused-page.scss +113 -0
  94. package/src/focused-page/focused-page.spec.ts +11 -0
  95. package/src/focused-page/focused-page.stories.js +167 -0
  96. package/src/focused-page/focused-page.ts +201 -0
  97. package/src/formfield/formfield.scss +8 -0
  98. package/src/formfield/formfield.spec.ts +11 -0
  99. package/src/formfield/formfield.ts +24 -0
  100. package/src/full-screen-dialog/full-screen-dialog.scss +37 -0
  101. package/src/full-screen-dialog/full-screen-dialog.spec.ts +11 -0
  102. package/src/full-screen-dialog/full-screen-dialog.stories.js +172 -0
  103. package/src/full-screen-dialog/full-screen-dialog.ts +84 -0
  104. package/src/icon/_icon-list.ts +316 -0
  105. package/src/icon/icon-demo.scss +25 -0
  106. package/src/icon/icon-demo.ts +37 -0
  107. package/src/icon/icon.spec.ts +11 -0
  108. package/src/icon/icon.stories.js +55 -0
  109. package/src/icon/icon.ts +16 -0
  110. package/src/icon-button/_icon-button.theme.scss +9 -0
  111. package/src/icon-button/icon-button.scss +12 -0
  112. package/src/icon-button/icon-button.spec.ts +11 -0
  113. package/src/icon-button/icon-button.stories.js +24 -0
  114. package/src/icon-button/icon-button.ts +19 -0
  115. package/src/icon-button-toggle/icon-button-toggle.scss +19 -0
  116. package/src/icon-button-toggle/icon-button-toggle.spec.ts +11 -0
  117. package/src/icon-button-toggle/icon-button-toggle.stories.js +32 -0
  118. package/src/icon-button-toggle/icon-button-toggle.ts +50 -0
  119. package/src/icon-checkbox/icon-check-toggle.ts +64 -0
  120. package/src/icon-checkbox/icon-check.spec.ts +11 -0
  121. package/src/icon-checkbox/icon-checkbox.scss +95 -0
  122. package/src/icon-checkbox/icon-checkbox.stories.js +77 -0
  123. package/src/icon-lockup/icon-lockup.scss +47 -0
  124. package/src/icon-lockup/icon-lockup.spec.ts +11 -0
  125. package/src/icon-lockup/icon-lockup.stories.js +93 -0
  126. package/src/icon-lockup/icon-lockup.ts +125 -0
  127. package/src/icon-radio/icon-radio-toggle.ts +43 -0
  128. package/src/icon-radio/icon-radio.scss +63 -0
  129. package/src/icon-radio/icon-radio.spec.ts +11 -0
  130. package/src/icon-radio/icon-radio.stories.js +23 -0
  131. package/src/index.scss +1 -0
  132. package/src/index.ts +57 -0
  133. package/src/linear-progress/linear-progress.scss +4 -0
  134. package/src/linear-progress/linear-progress.spec.ts +11 -0
  135. package/src/linear-progress/linear-progress.stories.js +43 -0
  136. package/src/linear-progress/linear-progress.ts +18 -0
  137. package/src/list/Overview.mdx +91 -0
  138. package/src/list/_list.theme.scss +100 -0
  139. package/src/list/check-list-item.spec.ts +11 -0
  140. package/src/list/check-list-item.ts +25 -0
  141. package/src/list/list-item.scss +56 -0
  142. package/src/list/list-item.spec.ts +11 -0
  143. package/src/list/list-item.ts +31 -0
  144. package/src/list/list.scss +25 -0
  145. package/src/list/list.stories.js +120 -0
  146. package/src/list/list.ts +23 -0
  147. package/src/list/nav-list-item.scss +159 -0
  148. package/src/list/nav-list-item.ts +223 -0
  149. package/src/list/radio-list-item.ts +25 -0
  150. package/src/menu/menu.scss +3 -0
  151. package/src/menu/menu.spec.ts +11 -0
  152. package/src/menu/menu.stories.js +110 -0
  153. package/src/menu/menu.ts +23 -0
  154. package/src/notebook-cell/notebook-cell.scss +185 -0
  155. package/src/notebook-cell/notebook-cell.spec.ts +11 -0
  156. package/src/notebook-cell/notebook-cell.stories.js +87 -0
  157. package/src/notebook-cell/notebook-cell.ts +300 -0
  158. package/src/radio/radio.scss +3 -0
  159. package/src/radio/radio.spec.ts +11 -0
  160. package/src/radio/radio.stories.js +56 -0
  161. package/src/radio/radio.ts +18 -0
  162. package/src/select/select.scss +16 -0
  163. package/src/select/select.spec.ts +11 -0
  164. package/src/select/select.stories.js +57 -0
  165. package/src/select/select.ts +18 -0
  166. package/src/side-sheet/side-sheet.scss +49 -0
  167. package/src/side-sheet/side-sheet.spec.ts +11 -0
  168. package/src/side-sheet/side-sheet.stories.js +96 -0
  169. package/src/side-sheet/side-sheet.ts +37 -0
  170. package/src/skeleton/_skeleton.styles.scss +24 -0
  171. package/src/skeleton/skeleton.stories.js +77 -0
  172. package/src/slider/slider-range.ts +16 -0
  173. package/src/slider/slider.spec.ts +11 -0
  174. package/src/slider/slider.stories.js +54 -0
  175. package/src/slider/slider.ts +16 -0
  176. package/src/snackbar/snackbar.scss +8 -0
  177. package/src/snackbar/snackbar.spec.ts +11 -0
  178. package/src/snackbar/snackbar.stories.js +42 -0
  179. package/src/snackbar/snackbar.ts +18 -0
  180. package/src/status-dialog/status-dialog.scss +204 -0
  181. package/src/status-dialog/status-dialog.spec.ts +48 -0
  182. package/src/status-dialog/status-dialog.stories.js +136 -0
  183. package/src/status-dialog/status-dialog.ts +188 -0
  184. package/src/status-header/_status-header.theme.scss +79 -0
  185. package/src/status-header/status-header-base.ts +42 -0
  186. package/src/status-header/status-header-item.scss +17 -0
  187. package/src/status-header/status-header-item.spec.ts +11 -0
  188. package/src/status-header/status-header-item.ts +32 -0
  189. package/src/status-header/status-header.scss +57 -0
  190. package/src/status-header/status-header.spec.ts +11 -0
  191. package/src/status-header/status-header.stories.js +114 -0
  192. package/src/status-header/status-header.ts +26 -0
  193. package/src/switch/switch.scss +17 -0
  194. package/src/switch/switch.spec.ts +11 -0
  195. package/src/switch/switch.stories.js +41 -0
  196. package/src/switch/switch.ts +18 -0
  197. package/src/tab/Overview.mdx +38 -0
  198. package/src/tab/tab-bar.spec.ts +11 -0
  199. package/src/tab/tab-bar.ts +16 -0
  200. package/src/tab/tab.scss +10 -0
  201. package/src/tab/tab.spec.ts +11 -0
  202. package/src/tab/tab.stories.js +30 -0
  203. package/src/tab/tab.ts +18 -0
  204. package/src/text-lockup/text-lockup.scss +66 -0
  205. package/src/text-lockup/text-lockup.spec.ts +11 -0
  206. package/src/text-lockup/text-lockup.stories.js +67 -0
  207. package/src/text-lockup/text-lockup.ts +55 -0
  208. package/src/textarea/textarea.spec.ts +11 -0
  209. package/src/textarea/textarea.stories.js +39 -0
  210. package/src/textarea/textarea.ts +19 -0
  211. package/src/textfield/textfield.scss +34 -0
  212. package/src/textfield/textfield.spec.ts +11 -0
  213. package/src/textfield/textfield.stories.js +60 -0
  214. package/src/textfield/textfield.ts +25 -0
  215. package/src/theme/_index.scss +46 -0
  216. package/src/theme/prebuilt/dark-theme.scss +17 -0
  217. package/src/theme/prebuilt/light-theme.scss +17 -0
  218. package/src/toolbar/toolbar.scss +37 -0
  219. package/src/toolbar/toolbar.spec.ts +11 -0
  220. package/src/toolbar/toolbar.stories.js +66 -0
  221. package/src/toolbar/toolbar.ts +27 -0
  222. package/src/tooltip/tooltip.scss +16 -0
  223. package/src/tooltip/tooltip.spec.ts +11 -0
  224. package/src/tooltip/tooltip.stories.js +72 -0
  225. package/src/tooltip/tooltip.ts +185 -0
  226. package/src/top-app-bar/top-app-bar-fixed.ts +23 -0
  227. package/src/top-app-bar/top-app-bar.scss +14 -0
  228. package/src/top-app-bar/top-app-bar.spec.ts +11 -0
  229. package/src/top-app-bar/top-app-bar.stories.js +41 -0
  230. package/src/top-app-bar/top-app-bar.ts +23 -0
  231. package/src/tree-list/tree-list-item.scss +96 -0
  232. package/src/tree-list/tree-list-item.spec.ts +11 -0
  233. package/src/tree-list/tree-list-item.ts +87 -0
  234. package/src/tree-list/tree-list.scss +13 -0
  235. package/src/tree-list/tree-list.spec.ts +11 -0
  236. package/src/tree-list/tree-list.stories.js +151 -0
  237. package/src/tree-list/tree-list.ts +53 -0
  238. package/src/typography/typography.scss +45 -0
  239. package/src/typography/typography.spec.ts +11 -0
  240. package/src/typography/typography.stories.js +23 -0
  241. package/src/typography/typography.ts +27 -0
  242. package/stories/Introduction.mdx +47 -0
  243. package/stories/color-use.mdx +509 -0
  244. package/stories/demos/dialog.component.html +187 -0
  245. package/stories/demos/dialog.component.js +57 -0
  246. package/stories/demos/grid.content.html +99 -0
  247. package/stories/demos/lorem-ipsum.content.html +338 -0
  248. package/stories/demos/material-web.content.html +2125 -0
  249. package/stories/demos/table-column-sorting.content.html +92 -0
  250. package/stories/demos/table-pagination.content.html +139 -0
  251. package/stories/demos/table-progress-indicator.content.html +77 -0
  252. package/stories/demos/table-row-selection.content.html +219 -0
  253. package/stories/demos/table.content.html +64 -0
  254. package/stories/demos/top-app-bar.component.js +57 -0
  255. package/stories/guide-representing-state.mdx +282 -0
  256. package/stories/info-and-help.mdx +484 -0
  257. package/stories/item-detail-and-editing.mdx +529 -0
  258. package/stories/markdown-elements.mdx +194 -0
  259. package/stories/writing-and-naming.mdx +157 -0
  260. package/tsconfig.json +34 -0
  261. package/tsconfig.lib.json +17 -0
  262. package/tsconfig.spec.json +14 -0
  263. package/types.d.ts +15 -0
  264. package/vite.config.js +58 -0
package/.babelrc ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@nx/js/babel",
5
+ {
6
+ "useBuiltIns": "usage"
7
+ }
8
+ ]
9
+ ]
10
+ }
package/.eslintrc.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "extends": ["../../.eslintrc.json"],
3
+ "ignorePatterns": ["!**/*"],
4
+ "overrides": [
5
+ {
6
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
7
+ "rules": {}
8
+ },
9
+ {
10
+ "files": ["*.ts", "*.tsx"],
11
+ "rules": {}
12
+ },
13
+ {
14
+ "files": ["*.js", "*.jsx"],
15
+ "rules": {}
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,34 @@
1
+ const rootMain = require('../../../.storybook/main.js');
2
+ const { mergeConfig } = require('vite');
3
+
4
+ // Use the following syntax to add addons!
5
+ (rootMain.stories = ['../**/*.stories.@(js|jsx|ts|tsx|mdx)']),
6
+ (rootMain.core = { builder: '@storybook/builder-vite' });
7
+ module.exports = {
8
+ ...rootMain,
9
+ async viteFinal(config, { configType }) {
10
+ if (configType === 'PRODUCTION') {
11
+ // Set base URL for where it will be served in production
12
+ config.base = './';
13
+ }
14
+ // Merge custom configuration into the default config
15
+ return mergeConfig(config, {
16
+ //root: '../../',
17
+ cacheDir: '../../../node_modules/.vite-storybook',
18
+ // Use the same "resolve" configuration as your app
19
+ resolve: (await import('../vite.config.js')).default.resolve,
20
+ // Add dependencies to pre-optimization
21
+ optimizeDeps: {
22
+ include: ['storybook-dark-mode'],
23
+ },
24
+ server: {
25
+ fs: {
26
+ // Allow serving files from one level up to the project root
27
+ allow: ['../../'],
28
+ },
29
+ },
30
+ assetsInclude: ['/sb-preview/runtime.js', '**/*.html'],
31
+ });
32
+ },
33
+ framework: '@storybook/html-vite',
34
+ };
@@ -0,0 +1,62 @@
1
+ <link
2
+ href="https://cdn.jsdelivr.net/npm/@covalent/tokens@latest/index.css"
3
+ rel="stylesheet"
4
+ />
5
+ <style>
6
+ /* Storybook theme overrides */
7
+ .sidebar-header {
8
+ max-width: 213px;
9
+ }
10
+ #root > div > div[role='main'] > div {
11
+ box-shadow: none;
12
+ }
13
+
14
+ .light #root > div > div[role='main'] > div {
15
+ border: 1px solid rgba(0, 0, 0, 0.12);
16
+ }
17
+ .dark #root > div > div[role='main'] > div {
18
+ border: 1px solid rgba(255, 255, 255, 0.12);
19
+ }
20
+
21
+ .light #storybook-explorer-tree .sidebar-item[data-selected='true'],
22
+ .light #storybook-explorer-tree .sidebar-item[data-selected='true'] svg {
23
+ color: var(--cv-light-on-primary);
24
+ }
25
+ .dark #storybook-explorer-tree .sidebar-item[data-selected='true'],
26
+ .dark #storybook-explorer-tree .sidebar-item[data-selected='true'] svg {
27
+ color: var(--cv-dark-on-primary);
28
+ }
29
+
30
+ .light #storybook-explorer-tree .sidebar-item[data-selected='true'],
31
+ .light #storybook-explorer-tree .sidebar-item[data-selected='true'] svg {
32
+ color: var(--cv-light-on-primary);
33
+ }
34
+ .dark #storybook-explorer-tree .sidebar-item[data-selected='true'],
35
+ .dark #storybook-explorer-tree .sidebar-item[data-selected='true'] svg {
36
+ color: var(--cv-dark-on-primary);
37
+ }
38
+
39
+ .light #storybook-explorer-tree .sidebar-item[data-selected='false'] svg {
40
+ color: var(--cv-light-secondary);
41
+ }
42
+
43
+ .dark #storybook-explorer-tree .sidebar-item[data-selected='false'] svg {
44
+ color: var(--cv-dark-secondary);
45
+ }
46
+
47
+ .light #storybook-explorer-tree .sidebar-item[data-selected='false'] {
48
+ color: var(--cv-light-secondary);
49
+ }
50
+
51
+ .dark
52
+ #storybook-explorer-tree
53
+ .sidebar-item:hover:not([data-selected='true']) {
54
+ background: var(--cv-theme-dark-colors-on-surface-8);
55
+ }
56
+
57
+ .light
58
+ #storybook-explorer-tree
59
+ .sidebar-item:hover:not([data-selected='true']) {
60
+ background: var(--cv-theme-light-colors-on-surface-8);
61
+ }
62
+ </style>
@@ -0,0 +1 @@
1
+ import '../../../.storybook/manager';
@@ -0,0 +1,20 @@
1
+ <!-- Inter Font Typography & Material Icons Rounded Font --->
2
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
3
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4
+ <link
5
+ href="https://fonts.googleapis.com/css?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"
6
+ rel="stylesheet"
7
+ />
8
+ <link
9
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block"
10
+ rel="stylesheet"
11
+ />
12
+
13
+ <script>
14
+ window.global = window;
15
+ window.process = {
16
+ env: {
17
+ NODE_ENV: 'test',
18
+ },
19
+ };
20
+ </script>
@@ -0,0 +1,20 @@
1
+ import { parameters as mainParameters } from '../../../.storybook/preview';
2
+
3
+ import '../../icons/covalent-icons.scss';
4
+ import '../../../.storybook/theme/theme.scss';
5
+
6
+ export const parameters = {
7
+ options: {
8
+ storySort: {
9
+ order: [
10
+ 'Overview',
11
+ 'Introduction',
12
+ 'Guides',
13
+ 'Patterns',
14
+ 'Basics',
15
+ 'Components',
16
+ ],
17
+ },
18
+ },
19
+ ...mainParameters,
20
+ };
package/README.md ADDED
@@ -0,0 +1,179 @@
1
+ # Covalent components
2
+
3
+ Covalent components is a coded implementation of Covalent Design System using [lit](https://lit.dev/) framework to compile to native HTML elements, ready to use any where HTML is supported with no framework lock-in.
4
+
5
+ ## 🚀 Quick Start: CDN (60 Seconds)
6
+
7
+ Jump in immediately using a CDN. Perfect for prototyping, CodePens, or simple projects:
8
+
9
+ ```html
10
+ <!DOCTYPE html>
11
+ <html>
12
+ <head>
13
+ <!-- Latest full bundle -->
14
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@covalent/components@latest/+esm"></script>
15
+
16
+ <!-- Optional theme (choose light/dark) -->
17
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@covalent/components@latest/theme/prebuilt/light-theme.css" />
18
+ </head>
19
+ <body>
20
+ <!-- Start using components! -->
21
+ <cv-button label="Get Started" icon="rocket" raised></cv-button>
22
+ <cv-alert heading="Pro Tip" type="success"> Check our Storybook for component playgrounds! </cv-alert>
23
+ </body>
24
+ </html>
25
+ ```
26
+
27
+ ### Need Just One Component?
28
+
29
+ Optimize load times by importing only what you need:
30
+
31
+ ```html
32
+ <!-- just include the button component -->
33
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@covalent/components@latest/button.mjs"></script>
34
+ ```
35
+
36
+ ### 📦 Production Setup (npm/yarn)
37
+
38
+ Use your favorite package management tool to add covalent components to your project.
39
+
40
+ ```bash
41
+ # Using npm
42
+ npm install --save @covalent/components
43
+
44
+ # Using yarn
45
+ yarn add @covalent/components
46
+ ```
47
+
48
+ ### Using with Angular
49
+
50
+ Applications using angular can use covalent components in the same way they use HTML elements today adding [`CUSTOM_ELEMENTS_SCHEMA`](https://angular.io/api/core/CUSTOM_ELEMENTS_SCHEMA) schema to any Angular module or standalone component.
51
+
52
+ ```javascript
53
+ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
54
+ import { AppComponent } from './app.component';
55
+
56
+ import '@covalent/components/button';
57
+
58
+ @component({
59
+ standalone: true,
60
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
61
+ template: '<cv-button label="Hello world" raised></cv-button>',
62
+ })
63
+ export class AppComponent {}
64
+ ```
65
+
66
+ ### Using with React
67
+
68
+ While Covalent web components work directly in React, for optimal TypeScript support and React-centric APIs, we recommend using our dedicated React wrapper library. This provides:
69
+
70
+ ✅ Native React prop handling
71
+ ✅ First-class event binding
72
+ ✅ Full TS type definitions
73
+ ✅ Component documentation in JSX format
74
+
75
+ ```jsx
76
+ // Example usage
77
+ import { CovalentButton, CovalentSwitch } from '@covalent/components-react';
78
+
79
+ function App() {
80
+ return (
81
+ <>
82
+ <CovalentSwitch checked onChange={(e) => console.log(e.detail)} />
83
+ <CovalentButton label="React Power" onClick={() => alert('Works like regular React components!')} />
84
+ </>
85
+ );
86
+ }
87
+ ```
88
+
89
+ **Get Started with React:**
90
+ 📚 See the [Full React Components Documentation](https://github.com/Teradata/covalent/blob/main/libs/components-react/README.md)
91
+
92
+ ```bash
93
+ npm install @covalent/components-react
94
+ # or
95
+ yarn add @covalent/components-react
96
+ ```
97
+
98
+ ### 🧩 Component Catalog
99
+
100
+ Importing individual Covalent web components is supported and encouraged for production deployments. By importing only the components you need, you can reduce the overall code size and improve the performance of your application.
101
+
102
+ Here is a table listing the imports for Covalent web components:
103
+
104
+ | Component Name | Selector | Path |
105
+ | ------------------ | ----------------------- | ----------------------------------------- |
106
+ | ActionRibbon | cv-action-ribbon | @covalent/components/action-ribbon |
107
+ | Alert | cv-alert | @covalent/components/alert |
108
+ | AppShell | cv-app-shell | @covalent/components/app-shell |
109
+ | Badge | cv-badge | @covalent/components/badge |
110
+ | Button | cv-button | @covalent/components/button |
111
+ | Card | cv-card | @covalent/components/card |
112
+ | Checkbox | cv-checkbox | @covalent/components/checkbox |
113
+ | Chip | cv-chip | @covalent/components/chip |
114
+ | ChipSet | cv-chip-set | @covalent/components/chip-set |
115
+ | CircularProgress | cv-circular-progress | @covalent/components/circular-progress |
116
+ | CodeEditor | cv-code-editor | @covalent/components/code-editor |
117
+ | CodeSnippet | cv-code-snippet | @covalent/components/code-snippet |
118
+ | Drawer | cv-drawer | @covalent/components/drawer |
119
+ | Dialog | cv-dialog | @covalent/components/dialog |
120
+ | EmptyState | cv-empty-state | @covalent/components/empty-state |
121
+ | ExpansionPanel | cv-expansion-panel | @covalent/components/expansion-panel |
122
+ | ExpansionPanelItem | cv-expansion-panel-item | @covalent/components/expansion-panel-item |
123
+ | FocusedPage | cv-focused-page | @covalent/components/focused-page |
124
+ | Formfield | cv-formfield | @covalent/components/formfield |
125
+ | FullscreenDialog | cv-full-screen-dialog | @covalent/components/full-screen-dialog |
126
+ | Icon | cv-icon | @covalent/components/icon |
127
+ | IconButton | cv-icon-button | @covalent/component/icon-button |
128
+ | IconButtonToggle | cv-icon-button-toggle | @covalent/components/icon-button-toggle |
129
+ | IconCheckToggle | cv-checkbox-icon | @covalent/components/icon-check-toggle |
130
+ | IconLockup | cv-icon-lockup | @covalent/components/icon-lockup |
131
+ | IconRadioToggle | cv-radio-icon | @covalent/components/icon-radio-toggle |
132
+ | LinearProgress | cv-linear-progress | @covalent/components/linear-progress |
133
+ | List | cv-list | @covalent/components/list |
134
+ | ListItem | cv-list-item | @covalent/components/list-item |
135
+ | CheckListItem | cv-check-list-item | @covalent/components/check-list-item |
136
+ | RadioListItem | cv-radio-list-item | @covalent/components/radio-list-item |
137
+ | NavRailListItem | cv-nav-list-item | @covalent/components/nav-list-item |
138
+ | Menu | cv-menu | @covalent/components/menu |
139
+ | NotebookCell | cv-notebook-cell | @covalent/components/notebook-cell |
140
+ | Radio | cv-radio | @covalent/components/radio |
141
+ | Select | cv-select | @covalent/components/select |
142
+ | SideSheet | cv-side-sheet | @covalent/components/side-sheet |
143
+ | Slider | cv-slider | @covalent/components/slider |
144
+ | SliderRange | cv-slider-range | @covalent/components/slider-range |
145
+ | Snackbar | cv-snackbar | @covalent/components/snackbar |
146
+ | StatusDialog | cv-status-dialog | @covalent/components/status-dialog |
147
+ | StatusHeader | cv-status-header | @covalent/components/status-header |
148
+ | StatusHeaderItem | cv-status-header-item | @covalent/components/status-header-item |
149
+ | Switch | cv-switch | @covalent/components/switch |
150
+ | Tab | cv-tab | @covalent/components/tab |
151
+ | TabBar | CovalentTabBar | @covalent/components/tab-bar |
152
+ | TextLockup | cv-text-lockup | @covalent/components/text-lockup |
153
+ | TextArea | cv-textarea | @covalent/components/textarea |
154
+ | TextField | cv-textfield | @covalent/components/textfield |
155
+ | Toolbar | cv-toolbar | @covalent/components/toolbar |
156
+ | Tooltip | cv-tooltip | @covalent/components/tooltip |
157
+ | TopAppBar | cv-top-app-bar | @covalent/components/top-app-bar |
158
+ | TopAppBarFixed | cv-top-app-bar-fixed | @covalent/components/top-app-bar-fixed |
159
+ | TreeList | cv-tree-list | @covalent/components/tree-list |
160
+ | TreeListItem | cv-tree-list-item | @covalent/components/tree-list-item |
161
+ | Typography | cv-typography | @covalent/components/typography |
162
+
163
+ ## Running the storybook docs
164
+
165
+ Run `nx storybook components` to start the main storybook documentation site for this project
166
+
167
+ ## Running the build
168
+
169
+ Run `nx build components` to get a publishable set of build assets using webpack
170
+
171
+ ## Running linting
172
+
173
+ Run `nx lint components` to execute the linting via [ESlint](https://eslint.org/)
174
+
175
+ Run `nx scsslint components` to execute scsslint via [Stylelint](https://stylelint.io/)
176
+
177
+ ## Running unit tests
178
+
179
+ Run `nx test components` to execute the unit tests via [Jest](https://jestjs.io).
@@ -0,0 +1,313 @@
1
+ [
2
+ {
3
+ "name": "CovalentActionRibbon",
4
+ "selector": "cv-action-ribbon",
5
+ "path": "./action-ribbon/action-ribbon"
6
+ },
7
+ {
8
+ "name": "CovalentAlert",
9
+ "selector": "cv-alert",
10
+ "path": "./alert/alert"
11
+ },
12
+ {
13
+ "name": "CovalentAppShell",
14
+ "selector": "cv-app-shell",
15
+ "path": "./app-shell/app-shell",
16
+ "events": ["toggle"]
17
+ },
18
+ {
19
+ "name": "CovalentBadge",
20
+ "selector": "cv-badge",
21
+ "path": "./badge/badge"
22
+ },
23
+ {
24
+ "name": "CovalentButton",
25
+ "selector": "cv-button",
26
+ "path": "./button/button"
27
+ },
28
+ {
29
+ "name": "CovalentCard",
30
+ "selector": "cv-card",
31
+ "path": "./card/card"
32
+ },
33
+ {
34
+ "name": "CovalentCheckbox",
35
+ "selector": "cv-checkbox",
36
+ "path": "./checkbox/checkbox",
37
+ "events": ["change"]
38
+ },
39
+ {
40
+ "name": "CovalentChip",
41
+ "selector": "cv-chip",
42
+ "path": "./chips/chip"
43
+ },
44
+ {
45
+ "name": "CovalentChipSet",
46
+ "selector": "cv-chip-set",
47
+ "path": "./chips/chip-set"
48
+ },
49
+ {
50
+ "name": "CovalentCircularProgress",
51
+ "selector": "cv-circular-progress",
52
+ "path": "./circular-progress/circular-progress"
53
+ },
54
+ {
55
+ "name": "CovalentCodeEditor",
56
+ "selector": "cv-code-editor",
57
+ "path": "./code-editor/code-editor",
58
+ "events": ["editor-ready", "editor-focus", "editor-blur", "code-change"]
59
+ },
60
+ {
61
+ "name": "CovalentCodeSnippet",
62
+ "selector": "cv-code-snippet",
63
+ "path": "./code-snippet/code-snippet"
64
+ },
65
+ {
66
+ "name": "CovalentDrawer",
67
+ "selector": "cv-drawer",
68
+ "path": "./drawer/drawer",
69
+ "events": ["opened", "closed"]
70
+ },
71
+ {
72
+ "name": "CovalentDialog",
73
+ "selector": "cv-dialog",
74
+ "path": "./dialog/dialog",
75
+ "events": ["opening", "opened", "closing", "closed"]
76
+ },
77
+ {
78
+ "name": "CovalentEmptyState",
79
+ "selector": "cv-empty-state",
80
+ "path": "./empty-state/empty-state"
81
+ },
82
+ {
83
+ "name": "CovalentExpansionPanel",
84
+ "selector": "cv-expansion-panel",
85
+ "path": "./expansion-panel/expansion-panel"
86
+ },
87
+ {
88
+ "name": "CovalentExpansionPanelItem",
89
+ "selector": "cv-expansion-panel-item",
90
+ "path": "./expansion-panel/expansion-panel-item",
91
+ "events": ["cv-expansionPanel-togglePanel"]
92
+ },
93
+ {
94
+ "name": "CovalentFocusedPage",
95
+ "selector": "cv-focused-page",
96
+ "path": "./focused-page/focused-page"
97
+ },
98
+ {
99
+ "name": "CovalentFormfield",
100
+ "selector": "cv-formfield",
101
+ "path": "./formfield/formfield"
102
+ },
103
+ {
104
+ "name": "CovalentFullscreenDialog",
105
+ "selector": "cv-full-screen-dialog",
106
+ "path": "./full-screen-dialog/full-screen-dialog",
107
+ "events": ["opening", "opened", "closing", "closed"]
108
+ },
109
+ {
110
+ "name": "CovalentIcon",
111
+ "selector": "cv-icon",
112
+ "path": "./icon/icon"
113
+ },
114
+ {
115
+ "name": "CovalentIconButton",
116
+ "selector": "cv-icon-button",
117
+ "path": "./icon-button/icon-button"
118
+ },
119
+ {
120
+ "name": "CovalentIconButtonToggle",
121
+ "selector": "cv-icon-button-toggle",
122
+ "path": "./icon-button-toggle/icon-button-toggle",
123
+ "events": ["icon-button-toggle-change"]
124
+ },
125
+ {
126
+ "name": "CovalentIconCheckToggle",
127
+ "selector": "cv-checkbox-icon",
128
+ "path": "./icon-checkbox/icon-check-toggle",
129
+ "events": ["change"]
130
+ },
131
+ {
132
+ "name": "CovalentIconLockup",
133
+ "selector": "cv-icon-lockup",
134
+ "path": "./icon-lockup/icon-lockup"
135
+ },
136
+ {
137
+ "name": "CovalentIconRadioToggle",
138
+ "selector": "cv-radio-icon",
139
+ "path": "./icon-radio/icon-radio-toggle",
140
+ "events": ["change"]
141
+ },
142
+ {
143
+ "name": "CovalentLinearProgress",
144
+ "selector": "cv-linear-progress",
145
+ "path": "./linear-progress/linear-progress"
146
+ },
147
+ {
148
+ "name": "CovalentList",
149
+ "selector": "cv-list",
150
+ "path": "./list/list",
151
+ "events": ["action", "selected"]
152
+ },
153
+ {
154
+ "name": "CovalentListItem",
155
+ "selector": "cv-list-item",
156
+ "path": "./list/list-item",
157
+ "events": ["request-selected"]
158
+ },
159
+ {
160
+ "name": "CovalentCheckListItem",
161
+ "selector": "cv-check-list-item",
162
+ "path": "./list/check-list-item",
163
+ "events": ["request-selected"]
164
+ },
165
+ {
166
+ "name": "CovalentRadioListItem",
167
+ "selector": "cv-radio-list-item",
168
+ "path": "./list/radio-list-item",
169
+ "events": ["request-selected"]
170
+ },
171
+ {
172
+ "name": "CovalentNavRailListItem",
173
+ "selector": "cv-nav-list-item",
174
+ "path": "./list/nav-list-item",
175
+ "events": ["request-selected"]
176
+ },
177
+ {
178
+ "name": "CovalentMenu",
179
+ "selector": "cv-menu",
180
+ "path": "./menu/menu",
181
+ "events": ["opened", "closing", "closed", "action", "selected"]
182
+ },
183
+ {
184
+ "name": "CovalentNotebookCell",
185
+ "selector": "cv-notebook-cell",
186
+ "path": "./notebook-cell/notebook-cell"
187
+ },
188
+ {
189
+ "name": "CovalentRadio",
190
+ "selector": "cv-radio",
191
+ "path": "./radio/radio",
192
+ "events": ["change"]
193
+ },
194
+ {
195
+ "name": "CovalentSelect",
196
+ "selector": "cv-select",
197
+ "path": "./select/select",
198
+ "events": ["opened", "closed", "selected"]
199
+ },
200
+ {
201
+ "name": "CovalentSideSheet",
202
+ "selector": "cv-side-sheet",
203
+ "path": "./side-sheet/side-sheet",
204
+ "events": ["opening", "opened", "closing", "closed"]
205
+ },
206
+ {
207
+ "name": "CovalentSlider",
208
+ "selector": "cv-slider",
209
+ "path": "./slider/slider",
210
+ "events": ["input", "change"]
211
+ },
212
+ {
213
+ "name": "CovalentSliderRange",
214
+ "selector": "cv-slider-range",
215
+ "path": "./slider/slider-range",
216
+ "events": ["input", "change"]
217
+ },
218
+ {
219
+ "name": "CovalentSnackbar",
220
+ "selector": "cv-snackbar",
221
+ "path": "./snackbar/snackbar",
222
+ "events": ["opening", "opened", "closing", "closed"]
223
+ },
224
+ {
225
+ "name": "CovalentStatusDialog",
226
+ "selector": "cv-status-dialog",
227
+ "path": "./status-dialog/status-dialog",
228
+ "events": ["opening", "opened", "closing", "closed"]
229
+ },
230
+ {
231
+ "name": "CovalentStatusHeader",
232
+ "selector": "cv-status-header",
233
+ "path": "./status-header/status-header"
234
+ },
235
+ {
236
+ "name": "CovalentStatusHeaderItem",
237
+ "selector": "cv-status-header-item",
238
+ "path": "./status-header/status-header-item"
239
+ },
240
+ {
241
+ "name": "CovalentSwitch",
242
+ "selector": "cv-switch",
243
+ "path": "./switch/switch"
244
+ },
245
+ {
246
+ "name": "CovalentTab",
247
+ "selector": "cv-tab",
248
+ "path": "./tab/tab",
249
+ "events": ["interacted"]
250
+ },
251
+ {
252
+ "name": "CovalentTabBar",
253
+ "selector": "cv-tab-bar",
254
+ "path": "./tab/tab-bar",
255
+ "events": ["activated"]
256
+ },
257
+ {
258
+ "name": "CovalentTextLockup",
259
+ "selector": "cv-text-lockup",
260
+ "path": "./text-lockup/text-lockup"
261
+ },
262
+ {
263
+ "name": "CovalentTextArea",
264
+ "selector": "cv-textarea",
265
+ "path": "./textarea/textarea"
266
+ },
267
+ {
268
+ "name": "CovalentTextField",
269
+ "selector": "cv-textfield",
270
+ "path": "./textfield/textfield"
271
+ },
272
+ {
273
+ "name": "CovalentToolbar",
274
+ "selector": "cv-toolbar",
275
+ "path": "./toolbar/toolbar",
276
+ "events": ["nav"]
277
+ },
278
+ {
279
+ "name": "CovalentTooltip",
280
+ "selector": "cv-tooltip",
281
+ "path": "./tooltip/tooltip"
282
+ },
283
+ {
284
+ "name": "CovalentTopAppBar",
285
+ "selector": "cv-top-app-bar",
286
+ "path": "./top-app-bar/top-app-bar",
287
+ "events": ["nav"]
288
+ },
289
+ {
290
+ "name": "CovalentTopAppBarFixed",
291
+ "selector": "cv-top-app-bar-fixed",
292
+ "path": "./top-app-bar/top-app-bar-fixed",
293
+ "events": ["nav"]
294
+ },
295
+ {
296
+ "name": "CovalentTreeList",
297
+ "selector": "cv-tree-list",
298
+ "path": "./tree-list/tree-list",
299
+ "events": ["nav"]
300
+ },
301
+ {
302
+ "name": "CovalentTreeListItem",
303
+ "selector": "cv-tree-list-item",
304
+ "path": "./tree-list/tree-list-item",
305
+ "events": ["select"]
306
+ },
307
+ {
308
+ "name": "CovalentTypography",
309
+ "selector": "cv-typography",
310
+ "path": "./typography/typography",
311
+ "events": ["select"]
312
+ }
313
+ ]