Covalent: UI Platform based on Angular-Material

Overview

Covalent: UI Platform based on Angular-Material

Covalent CI npm npm Join the chat at https://gitter.im/Teradata/covalent

Coverage Status npm

Covalent

Covalent is a reusable UI platform from Teradata for building web applications with common standards and tooling. It is based on Angular and Material Design.

Vision: To build an atomic, reusable component platform for Teradata to consume, while collaborating in an open source model.

Setup

  • Ensure you have Node 8.9.4+ and NPM 5+ installed.
  • Install Angular CLI npm i -g @angular/cli
  • Install Typescript npm i -g typescript
  • Install TSLint npm install -g tslint
  • Install Protractor for e2e testing npm install -g protractor
  • Install Node packages npm ci
  • Run local build npm run serve or npm run serve:prod


Angular Support

Certain covalent version are meant for certain angular versions, and here is the matrix:

Covalent Angular
2.X 8.X
3.X 9.X / 10.X / 11.x
Future / Nightly 11.X

Browser Support

Covalent is built on a CSS Flexbox layout and all layouts and components heavily rely up that support, so the current browsers are supported in order or recommendation:

Current version - 1 for the following:

Chrome Firefox Safari Edge Mobile Chrome Mobile Safari IE11
Supported ~ ~ ~

~ Indicates limited testing & lower priority

IE11 requirements & best practices

Comments
  • Feature/charts

    Feature/charts

    Description

    PR for Bar & Line Charts

    What's included?

    • Single Line Chart
    • Multi Line Chart
    • Bar Chart
    • Responsive Charts
    • Supports three formats: json, csv, tsv
    • Default Color Palette for Bar Chart
    • Drop Shadow in Bar Chart
    • Config Parameters : Axis Titles, Chart Title, dataSrc for data source, contentType, zDepth, lineTitles & lineColors for Multi Line Chart

    Test Steps

    • Navigate to http://localhost:4200/#/components/bar-chart & http://localhost:4200/#/components/line-chart
    • Check charts

    What's coming next

    • [x] creating custom color palette using two colors provided by user
    • [x] changing nomenclature for all the charts and bringing them under one td-chart element
    • [x] data limit
    • [x] line/bars shown on the page limit
    • [x] more configs
    Screenshots or link to CodePen/Plunker/JSfiddle

    covalent-charts

    epic ux lgtm feature 
    opened by richavyas 39
  • Editor is not shown in Electron

    Editor is not shown in Electron

    I had the same error as here: https://github.com/Teradata/covalent-code-editor/issues/22 I followed the instructions and the error is gone, however the editor is still not displayed.

    <td-code-editor _ngcontent-c1="" automaticlayout="" id="editWindow" _nghost-c4="" ng-reflect-language="mcscript" ng-reflect-theme="mcfunction" ng-reflect-automatic-layout="" class="ng-untouched ng-valid ng-dirty" style="display: block;" ng-reflect-model="">
    <div _ngcontent-c4="" class="editorContainer">
    <webview nodeintegration="true" disablewebsecurity="true" src="data:text/html;base64,PCFET0NUWVBFIGh0bWw+CiAgICAgICAgICAgIDxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CiAgICAgICAgICAgIDxoZWFkPgogICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPgogICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgPgogICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBkYXRhLW5hbWU9InZzL2VkaXRvci9lZGl0b3IubWFpbiIKICAgICAgICAgICAgICAgICAgICBocmVmPSJmaWxlOi8vL2Fzc2V0cy9tb25hY28vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzcyI+CiAgICAgICAgICAgIDwvaGVhZD4KICAgICAgICAgICAgPGJvZHkgc3R5bGU9ImhlaWdodDoxMDAlO3dpZHRoOiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO292ZXJmbG93OiBoaWRkZW47Ij4KICAgICAgICAgICAgPGRpdiBpZD0iZWRpdG9ySW5uZXJDb250YWluZXIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgZ3JleTsiPjwvZGl2PgogICAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBpcGNSZW5kZXJlciBvZiBlbGVjdHJvbiBmb3IgY29tbXVuaWNhdGlvbgogICAgICAgICAgICAgICAgY29uc3Qge2lwY1JlbmRlcmVyfSA9IHJlcXVpcmUoJ2VsZWN0cm9uJyk7CiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8c2NyaXB0IHNyYz0iZmlsZTovLy9hc3NldHMvbW9uYWNvL3ZzL2xvYWRlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICB2YXIgZWRpdG9yOwogICAgICAgICAgICAgICAgdmFyIHRoZW1lID0gJ21jZnVuY3Rpb24nOwogICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gJyc7CiAgICAgICAgICAgICAgICByZXF1aXJlLmNvbmZpZyh7CiAgICAgICAgICAgICAgICAgICAgYmFzZVVybDogJ0M6L3dlYmRldi9hbmd1bGFyIDQvbWNzRWRpdG9yL2Fzc2V0cy9tb25hY28nCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHNlbGYubW9kdWxlID0gdW5kZWZpbmVkOwogICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgcmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9ySW5uZXJDb250YWluZXIwJyksIE9iamVjdC5hc3NpZ24oewogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlOiAnbWNzY3JpcHQnLAogICAgICAgICAgICAgICAgICAgICAgICB0aGVtZTogJ21jZnVuY3Rpb24nLAogICAgICAgICAgICAgICAgICAgIH0sIHt9KSk7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmdldE1vZGVsKCkub25EaWRDaGFuZ2VDb250ZW50KCAoZSk9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlwY1JlbmRlcmVyLnNlbmRUb0hvc3QoIm9uRWRpdG9yQ29udGVudENoYW5nZSIsIGVkaXRvci5nZXRWYWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5zZW5kVG9Ib3N0KCJvbkVkaXRvckluaXRpYWxpemVkIiwgJycpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvLyByZXR1cm4gYmFjayB0aGUgdmFsdWUgaW4gdGhlIGVkaXRvciB0byB0aGUgbWFpbnZpZXcKICAgICAgICAgICAgICAgIGlwY1JlbmRlcmVyLm9uKCdnZXRFZGl0b3JDb250ZW50JywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5zZW5kVG9Ib3N0KCJlZGl0b3JDb250ZW50IiwgZWRpdG9yLmdldFZhbHVlKCkpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIHZhbHVlIG9mIHRoZSBlZGl0b3IgZnJvbSB3aGF0IHdhcyBzZW50IGZyb20gdGhlIG1haW52aWV3CiAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5vbignc2V0RWRpdG9yQ29udGVudCcsIGZ1bmN0aW9uKGV2ZW50LCBkYXRhKXsKICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGRhdGE7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnNldFZhbHVlKGRhdGEpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIHN0eWxlIG9mIHRoZSBlZGl0b3IgY29udGFpbmVyIGRpdgogICAgICAgICAgICAgICAgaXBjUmVuZGVyZXIub24oJ3NldEVkaXRvclN0eWxlJywgZnVuY3Rpb24oZXZlbnQsIGRhdGEpewogICAgICAgICAgICAgICAgICAgIHZhciBlZGl0b3JEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9ySW5uZXJDb250YWluZXIwJyk7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yRGl2LnN0eWxlID0gZGF0YS5zdHlsZTsKICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gZWRpdG9yLmdldFZhbHVlKCk7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3Bvc2UoKTsKICAgICAgICAgICAgICAgICAgICBlZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9ySW5uZXJDb250YWluZXIwJyksIE9iamVjdC5hc3NpZ24oewogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY3VycmVudFZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZTogZGF0YS5sYW5ndWFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IGRhdGEudGhlbWUsCiAgICAgICAgICAgICAgICAgICAgfSwge30pKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBvcHRpb25zIG9mIHRoZSBlZGl0b3IgZnJvbSB3aGF0IHdhcyBzZW50IGZyb20gdGhlIG1haW52aWV3CiAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5vbignc2V0RWRpdG9yT3B0aW9ucycsIGZ1bmN0aW9uKGV2ZW50LCBkYXRhKXsKICAgICAgICAgICAgICAgICAgICBlZGl0b3IudXBkYXRlT3B0aW9ucyhkYXRhKTsKICAgICAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5zZW5kVG9Ib3N0KCJvbkVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwgJycpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIGxhbmd1YWdlIG9mIHRoZSBlZGl0b3IgZnJvbSB3aGF0IHdhcyBzZW50IGZyb20gdGhlIG1haW52aWV3CiAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5vbignc2V0TGFuZ3VhZ2UnLCBmdW5jdGlvbihldmVudCwgZGF0YSl7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IGVkaXRvci5nZXRWYWx1ZSgpOwogICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwb3NlKCk7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvcklubmVyQ29udGFpbmVyMCcpLCBPYmplY3QuYXNzaWduKHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IGRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGVtZSwKICAgICAgICAgICAgICAgICAgICB9LCB7fSkpOwogICAgICAgICAgICAgICAgICAgIGlwY1JlbmRlcmVyLnNlbmRUb0hvc3QoIm9uRWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQiLCAnJyk7CiAgICAgICAgICAgICAgICAgICAgaXBjUmVuZGVyZXIuc2VuZFRvSG9zdCgib25FZGl0b3JMYW5ndWFnZUNoYW5nZWQiLCAnJyk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIC8vIHJlZ2lzdGVyIGEgbmV3IGxhbmd1YWdlIHdpdGggZWRpdG9yCiAgICAgICAgICAgICAgICBpcGNSZW5kZXJlci5vbigncmVnaXN0ZXJMYW5ndWFnZScsIGZ1bmN0aW9uKGV2ZW50LCBkYXRhKXsKICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gZWRpdG9yLmdldFZhbHVlKCk7CiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3Bvc2UoKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEuY29tcGxldGlvbkl0ZW1Qcm92aWRlci5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvdmlkZXIgPSBkYXRhLmNvbXBsZXRpb25JdGVtUHJvdmlkZXJbaV07CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLmtpbmQgPSBldmFsKHByb3ZpZGVyLmtpbmQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubW9uYXJjaFRva2Vuc1Byb3ZpZGVyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtb25hcmNoVG9rZW5zID0gZGF0YS5tb25hcmNoVG9rZW5zUHJvdmlkZXJbaV07CiAgICAgICAgICAgICAgICAgICAgICAgIG1vbmFyY2hUb2tlbnNbMF0gPSBldmFsKG1vbmFyY2hUb2tlbnNbMF0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyKHsgaWQ6IGRhdGEuaWQgfSk7CiAgICAgICAgICAgICAgICAgICAgbW9uYWNvLmxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIoZGF0YS5pZCwgewogICAgICAgICAgICAgICAgICAgICAgICB0b2tlbml6ZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3Q6IGRhdGEubW9uYXJjaFRva2Vuc1Byb3ZpZGVyCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAvLyBEZWZpbmUgYSBuZXcgdGhlbWUgdGhhdCBjb25zdGFpbnMgb25seSBydWxlcyB0aGF0IG1hdGNoIHRoaXMgbGFuZ3VhZ2UKICAgICAgICAgICAgICAgICAgICBtb25hY28uZWRpdG9yLmRlZmluZVRoZW1lKGRhdGEuY3VzdG9tVGhlbWUuaWQsIGRhdGEuY3VzdG9tVGhlbWUudGhlbWUpOwogICAgICAgICAgICAgICAgICAgIHRoZW1lID0gZGF0YS5jdXN0b21UaGVtZS5pZDsKICAgICAgICAgICAgICAgICAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihkYXRhLmlkLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVDb21wbGV0aW9uSXRlbXM6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmNvbXBsZXRpb25JdGVtUHJvdmlkZXIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIHZhciBjc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogICAgICAgICAgICAgICAgICAgIGNzcy50eXBlID0gInRleHQvY3NzIjsKICAgICAgICAgICAgICAgICAgICBjc3MuaW5uZXJIVE1MID0gZGF0YS5tb25hcmNoVG9rZW5zUHJvdmlkZXJDU1M7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjc3MpOwogICAgICAgICAgICAgICAgICAgIGlwY1JlbmRlcmVyLnNlbmRUb0hvc3QoIm9uRWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQiLCAnJyk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIC8vIEluc3RydWN0IHRoZSBlZGl0b3IgdG8gcmVtZWFzdXJlIGl0cyBjb250YWluZXIKICAgICAgICAgICAgICAgIGlwY1JlbmRlcmVyLm9uKCdsYXlvdXQnLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIGVkaXRvci5sYXlvdXQoKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgLy8gbmVlZCB0byBtYW51YWxseSByZXNpemUgdGhlIGVkaXRvciBhbnkgdGltZSB0aGUgd2luZG93IHNpemUKICAgICAgICAgICAgICAgIC8vIGNoYW5nZXMuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8yOAogICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGZ1bmN0aW9uIHJlc2l6ZUVkaXRvcigpIHsKICAgICAgICAgICAgICAgICAgICBlZGl0b3IubGF5b3V0KCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvYm9keT4KICAgICAgICAgICAgPC9odG1sPg==" style="display:inline-flex; width:100%; height:100%" tabindex="-1" guestinstance="4">
    </webview>
    </div>
    </td-code-editor>
    

    But the webview with the base64 string is loaded. In the browser it works perfectly.

    I don´t know what I am doing wrong here(I also specify a custom language on the component)

    in my source html:

    <td-code-editor (keydown)="test($event)" [style.display]="(selectedTab || selectedTab.content != '\t\r') ? 'block' : 'none' " [theme]="editorOptions.theme" automaticLayout [language]="editorOptions.language" [(ngModel)]="selectedTab.content" id="editWindow" #editWindow></td-code-editor>
    
    opened by Stevertus 29
  • feature(data-table): new data-table component

    feature(data-table): new data-table component

    Description

    This branch introduces a new Covalent component td-data-table. It was heavily inspired on Angular 1's md-data-table. https://github.com/Teradata/covalent/issues/2

    What's included?

    • Features:
      • [x] Basic table layout
      • [x] Automatic columns when none provided
      • [x] Row selection
      • [x] Multiple or single row selection
      • [x] Search
      • [x] Pagination
      • [x] Sorting
      • [ ] In line edit
    • An incomplete example of its usage
    • Updated documentation (WIP)

    Test Steps

    • Navigate to http://localhost:4200/#/components/data-table
    • Check examples
    Screenshots or link to CodePen/Plunker/JSfiddle

    datatable

    code lgtm ux lgtm feature 
    opened by fcoury 25
  • feat(data-table): onclick event for datatable rows, select event only on checkboxes, multi shift click and basic a11y (closes #468) (closes #592)

    feat(data-table): onclick event for datatable rows, select event only on checkboxes, multi shift click and basic a11y (closes #468) (closes #592)

    Description

    feat(data-table): (rowClick) event for datatable rows enabled by new [clickable] input. feat(data-table): select event will be trigger only when clicking on checkbox. feat(data-table): shift-click for multiple row selection/deselection feat(data-table): improved keyboard a11y for row selection (space, enter, up, down)

    What's included?

    • modified: src/platform/core/data-table/data-table.component.html
    • modified: src/platform/core/data-table/data-table.component.spec.ts
    • modified: src/platform/core/data-table/data-table.component.ts

    Test Steps

    • [x] checkout branch
    • [x] ng serve
    • [x] go to http://localhost:4200/#/components/data-table
    • [x] On table "Data Table with components" see that selecting a row still works
    • [ ] Run unit tests and see that event is emitted and caught

    General Tests for Every PR

    • [ ] ng serve --aot still works.
    • [ ] npm run lint passes.
    • [ ] npm test passes and code coverage is not lower.
    • [ ] npm run build still works.
    enhancement code lgtm feature 
    opened by jeremysmartt 22
  • feat(): upgrade to material@beta.11

    feat(): upgrade to [email protected]

    Description

    Following the breaking changes from https://github.com/angular/material2/releases/tag/2.0.0-beta.11, this will give covalent the beta.11 support (provided the mat- prefix is used)

    Test Steps

    • [ ] yarn install
    • [ ] ng serve
    • [ ] See all still working

    General Tests for Every PR

    • [ ] ng serve --aot still works.
    • [ ] npm run lint passes.
    • [ ] npm test passes and code coverage is not lower.
    • [ ] npm run build still works.
    Screenshots or link to CodePen/Plunker/JSfiddle
    dependencies 
    opened by emoralesb05 21
  • feat(): upgrade to angular@5.0.0 and material@5.0.0.rc

    feat(): upgrade to [email protected] and [email protected]

    Description

    Following the breaking changes from https://github.com/angular/material2/releases/tag/5.0.0-rc0, this will give covalent the 5.0.0-rc0 support plus [email protected] support

    What's included

    • chore(): upgrade material/cdk dependencies to 5.0.0-rc0
    • chore(): upgrade angular dependencies to 5.0.0
    • chore(): upgrade angular/cli dependencies to 1.5.0
    • fix(): breaking change replace MatDrawerToggleResult with void return
    • feat(): breaking change from angular 5 we have to register specific locale
    • fix(): remove deprecated methods and classes

    Test Steps

    • [ ] yarn install
    • [ ] ng serve
    • [ ] See all still working

    General Tests for Every PR

    • [ ] ng serve --aot still works.
    • [ ] npm run lint passes.
    • [ ] npm test passes and code coverage is not lower.
    • [ ] npm run build still works.
    dependencies 
    opened by emoralesb05 20
  • feat(IE11): Platform & Docs support for IE11

    feat(IE11): Platform & Docs support for IE11

    Description

    Following the Flexbox quirks & lack of full support documented here, this PR has small fixes & workarounds for several components and documentation app areas, as well as IE11 docs for necessary polyfills and workarounds.

    What's included?

    • IE11 Docs site fixes
    • IE11 support documentation
    • IE11 fixes for Logo md-icon sizing
    • IE11 fixes for Chips component
    • IE11 fixes for Navigation Drawer component
    • IE11 fixes for Message component
    • IE11 fixes for Notification count component in toolbar
    • IE11 fixes for Layout docs demos (height)
    • IE11 style for layout scss
    • overflow-visible utility style
    • IE11 polyfills for NGX-Charts

    IE11 VM for OSX/macOS

    • [x] Download & install Virtualbox http://download.virtualbox.org/virtualbox/5.1.26/VirtualBox-5.1.26-117224-OSX.dmg
    • [x] Download IE11 on Win81 for Virtualbox from https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
    • [x] tar xf IE11.Win8.1.For.Windows.VirtualBox.zip
    • [x] Open Virtualbox and import IE11 - Win8.1.ova
    • [x] Run IE11
    • [x] you may need to turn on Internet Sharing in macOS Settings > Sharing

    Test Steps

    • [x] check out feature/ie11
    • [x] rm -rf node_modules
    • [x] yarn install
    • [x] ng serve --host 0.0.0.0 --disable-host-check
    • [x] in IE11 VM visit http://10.0.2.2:4200

    Test Covalent

    • [x] Test Docs homepage and make sure sections are overflowing
    • [x] Test Chips and see that they have proper width
    • [x] Test Message and see that they're properly vertically center
    • [x] Test Notifications and see that the notification icon in the toolbar isn't chopped off
    • [x] Test Navigation drawer and see that it has the proper height (may need browser resize for change detection)
    • [x] Test Layout docs and see they have proper height for demos
    • [x] Test NGX Charts to see that it actually loads (there are card chart issues beyond our fix)
    • [x] Read /docs/IE11.md

    General Tests for Every PR

    • [x] ng serve --aot still works.
    • [x] npm run lint passes.
    • [x] npm test passes and code coverage is not lower.
    • [x] npm run build still works.
    Screenshots or link to CodePen/Plunker/JSfiddle

    image

    image

    image

    image

    image

    image

    image

    image

    enhancement 
    opened by kyleledbetter 20
  • [Feature]: Messaging component

    [Feature]: Messaging component

    Do you want to request a feature or report a bug?

    Feature

    Feature Request

    Messaging component for info, alerts, warnings, errors, and successes.

    Screenshots or link to CodePen/Plunker/JSfiddle

    Examples: screen shot 2017-02-02 at 11 32 19 am screen shot 2017-02-02 at 11 32 11 am

    screen shot 2017-02-02 at 11 34 16 am screen shot 2017-02-02 at 11 34 36 am

    What is the expected behavior?

    Component should have the ability to implement color and icon style in the template.

    What is the motivation / use case for changing the behavior?

    Create and standardize patterns for surfacing relevant and timely information to the user.

    Other information

    Material design patterns for errors: https://material.io/guidelines/patterns/errors.html Material design patterns for notifications: https://material.io/guidelines/patterns/notifications.html

    feature open for debate 
    opened by mrjasonweaver 20
  • feature(material): Upgrade to latest material. (closes #346)

    feature(material): Upgrade to latest material. (closes #346)

    Description

    Upgrade to latest @angular/[email protected]. https://github.com/angular/material2/blob/master/CHANGELOG.md#200-beta2-flannel-papaya-2017-02-15

    What's included?

    Material Changes:

    • Breaking change from material where md-input has been removed as component and directive in favor of the mdInput directive selector.
    • Leverage new input of md-menu [overlapTrigger]="false" in notifications demo so the menu doesnt overlap the icon
    • Now we can use the (change) event from md-select.

    Covalent Changes/Fixes because of material:

    • internal(efficiency): No more need for refresh work around for tooltips used under OnPush https://github.com/angular/material2/commit/632b964b0dd1cf15349265ec118a6844e6cec9d0
    • bugfix(layout): Leverage disableClose input from sidenav to prevent ESC closing the sidenav on side mode. https://github.com/angular/material2/commit/52ade97cfc91d22b9d5b0c77c7bd09581816f5a0
    • bugfix(dynamic-forms): number type input works again.
    • feature(data-table): Leverage the md-pseudo-checkbox to render the selectable rows more efficiently. https://github.com/angular/material2/commit/3b6cab01c7ff44c999ffcdc99d2ec9a2fb63e96a

    Test Steps

    • npm run reinstall
    • ng serve
    • Play around with docs

    General Tests for Every PR

    • [x] ng serve --aot still works.
    • [x] npm run lint passes.
    • [x] npm test passes and code coverage is not lower.
    • [x] npm run build still works.

    NOTE: Needs heavy testing on all fronts since the .mat prefix change affected how certain rules are applied.

    enhancement code lgtm breaking change high priority 
    opened by emoralesb05 20
  • Feature request for Server Side Rendering

    Feature request for Server Side Rendering

    Do you want to request a feature or report a bug?

    Feature

    Feature Request

    Make Server Side Rendering

    I haven't found any server side rendering feature request or issue on this repo, that is why I am making a new feature request.

    I am using your covalent for web app development, everything is going well. in next few week I am gonna deploy it on DEV server (alpha/beta release)

    I have done AOT and its working fine but looking forward make server side rendering and SEO kind of problem.

    What is the expected behavior?

    it should render angular 2 code for search engine bot.

    What is the motivation / use case for changing the behavior?

    After developing application final stage is that make it available for people, and for that, you need to do some marketing. SEO is a most important thing of digital marketing. so I think server-side rendering will help to solve this problem.

    I am working with full-time Node.js backend developer, side by side learning angular 2. I have show lot of people want to make blog and eCommerce website using angular 2. the main thing is / the last problem is that SEO, server side rendering which is more important in eCommerce and blog like web app/website.

    I think covalent team is doing a very good job to keep in sync with angular 2 and material 2. you guys are doing an awesome job. I think you need to look at server side rendering at the same time.

    Thank you for your time to read this long boring explanation, I am very bad at explaining.

    opened by imVinayPandya 19
  • The

    The "mat-" prefix cannot be used in ng-material v1 compatibility mode. It was used on an "mat-form-field" element.

    What is the expected behaviour?

    Trying to integrate covalent's aitocomplete into a project using SystemJS and getting this:

    ERROR Error: Uncaught (in promise): Error: The "mat-" prefix cannot be used in ng-material v1 compatibility mode. It was used on an "mat-form-field" element. Error: The "mat-" prefix cannot be used in ng-material v1 compatibility mode. It was used on an "mat-form-field" element.

    I did not Include the core and theme styles in my scss file yet (would like to see a default behaviour on app).

    Which version of Angular and Material, and which browser and OS does this issue affect?

    angular 4.1.0 material 2.0.0-beta.11

    Did this work in previous versions of Angular / Material? I am just a beginner with covalent so not sure about previous versions.

    opened by megetron 18
  • covalent/core/media equivalent

    covalent/core/media equivalent

    Hello, based on this PR, it seems many libraries have been deprecated.

    https://github.com/Teradata/covalent/pull/1872

    What is the equivalent to covalent/core/media though? It seems it was not deprecated outright, but is no longer present in v4. Thanks.

    opened by redElephants 0
  • Feat/upgrade covalent angular

    Feat/upgrade covalent angular

    Description

    Upgrading angular and nx versions

    What's included?

    • upgrading angular
    • upgrading nx

    Notes

    • sidesheet component still needs to work to close.
    • requires monaco webpack config adjustment. add this to module.rules
     module: {
        rules: [
          {
            test: /\.css$/,
            include: [/node_modules\/monaco-editor/],
            use: ['style-loader', 'css-loader'],
          },
        ],
      },
    

    Test Steps

    • [ ] npm run start
    • [ ] then this
    • [ ] finally this

    General Tests for Every PR

    • [ ] npm run start still works.
    • [ ] npm run lint passes.
    • [ ] npm run stylelint passes.
    • [ ] npm test passes and code coverage is not lower.
    • [ ] npm run build still works.
    Screenshots or link to StackBlitz/Plunker
    opened by owilliams320 0
  • ECharts: support tree shaking

    ECharts: support tree shaking

    Description

    As mentioned in https://github.com/Teradata/covalent/issues/1933, the user currently has make the echarts library globally available. This PR provides a way to resolve that and enable full tree-shaking support. This should also be a partial fix for https://github.com/Teradata/covalent/issues/1775.

    What's included?

    This PR introduces a new TD_ECHARTS_CONFIG injectiontoken that is used to pass the echarts library reference to CovalentBaseEchartsModule.

    import * as echartsLibraryReference from 'echarts';
    
    ...
      CovalentBaseEchartsModule.forRoot({
        echarts: echartsLibraryReference,
        defaultThemes: false
      }),
    
    or  
    
    providers: [{
      provide: TD_ECHARTS_CONFIG,
      useValue: {
        echarts: echartsLibraryReference,
        defaultThemes: false
      }
    }]
    
    

    Test Steps

    • [ ] npm run start
    • [ ] then this
    • [ ] finally this

    General Tests for Every PR

    • [x] npm run start still works.
    • [x] npm run lint passes.
    • [ ] npm run stylelint passes.
    • [ ] npm test passes and code coverage is not lower.
    • [x] npm run build still works.
    Screenshots or link to StackBlitz/Plunker
    opened by vhdirk 0
  • CovalentStepsModule absent from release 4

    CovalentStepsModule absent from release 4

    Describe the bug Module CovalentStepsModule seems to have vanished from release 4.

    I recently updated an old app on Angular 15 and as I was fixing errors related to updates, I could not find the latest equivalent of the CovalentStepsModule. It is still mentioned in some documentation in the repository, but the code seems to have been removed.

    Can you confirm the component has been ditched from releases 4.x? If yes, may it reappear sometime in the future?

    opened by Arnaud73 0
  • In `td-navigation-drawer` toggle menu `tdNavigationDrawerMenu` does not work properly

    In `td-navigation-drawer` toggle menu `tdNavigationDrawerMenu` does not work properly

    Describe the bug In td-navigation-drawer toggle menu tdNavigationDrawerMenu does not work properly

    To Reproduce Steps to reproduce the behavior:

    1. Go to documentation
    2. Click on hamburger menu -> arrow down(next to the email)
    3. See error, menu items are invisible

    Expected behavior

    • Profile menu item should be invisible at the beginning
    • Profile menu item should be visible, after arrow had clicked

    Screenshots image

    Desktop (please complete the following information):

    • OS: ubuntu
    • Browser: chrome
    • Version 107.0.5304.110 (Official Build) (64-bit)
    opened by szukacs 0
  • Move default snackbar position from centered to bottom left

    Move default snackbar position from centered to bottom left

    Describe the bug Snackbars open centered in the window

    To Reproduce

    1. Visit https://teradata.github.io/covalent/docs/components/?path=/story/components-snackbar--basic
    2. Click the "Toggle snackbar" button

    Expected behavior The snackbar should open 24px from the bottom left of the UI.

    Screenshots image

    opened by adamnel 0
Releases(v4.15.0)
Owner
Teradata Corporation
Business Outcome Led - Technology Enabled
Teradata Corporation
Angular 11 & Bootstrap 5 & Material Design 2.0 UI KIT

MDB 5 Angular Angular 12 & Bootstrap 5 & Material Design 2.0 UI KIT >> Get Started in 4 steps >> MDBAngular 5 Demo 500+ material UI components Super s

MDBootstrap 1.1k Dec 30, 2022
Component infrastructure and Material Design components for Angular

Official components for Angular The Angular team builds and maintains both common UI components and tools to help you build your own custom components

Angular 23.2k Jan 3, 2023
Lightweight, Material Design inspired go to top button. No dependencies. Pure Angular!

Angular ScrollTop Button Lightweight, Material Design inspired button for scroll-to-top of the page. No dependencies. Pure Angular! ✓ Angular 13, Ivy

BART! 19 Dec 18, 2022
Angular Library workspace to creating and testing angular libraries

Library Workspace Run Locally Clone the project https://github.com/sametcelikbicak/library-workspace.git Go to the library project directory cd li

Samet ÇELİKBIÇAK 4 Nov 1, 2022
Sam4Sc - a migration assistant for Angular to SCAM (Single Angular Component Modules) and Standalone Components

Sam4Sc - a migration assistant for Angular to SCAM (Single Angular Component Modules) and Standalone Components

Rainer Hahnekamp 7 Nov 16, 2022
Clarity Angular is a scalable, accessible, customizable, open-source design system built for Angular.

Getting Started Clarity Angular is published as two npm packages: Contains the static styles for building HTML components. Contains the Angular compon

VMware Clarity 145 Dec 29, 2022
Angular UI Component Library based on Ant Design

NG-ZORRO An enterprise-class Angular UI component library based on Ant Design. English | 简体中文 ✨ Features An enterprise-class UI design system for Angu

NG-ZORRO 8.3k Jan 6, 2023
Angular 2 building blocks :package: based on Semantic UI

Angular2 & Semantic UI Angular2 - Semantic UI Live demo ng-semantic.herokuapp.com Angular 2 Semantic UI version: 2.2.2 Installation npm install ng-sem

Vlado Tesanovic 995 Dec 23, 2022
Customizable Angular UI Library based on Eva Design System

Nebular Documentation | Stackblitz Template | UI Bakery - Angular UI Builder | Angular templates Nebular is a customizable Angular 10 UI Library with

Akveo 7.7k Dec 31, 2022
An enterprise-class UI components based on At UI Design and Angular. 🚀 🚀 🚀

An enterprise-class UI components based on At UI Design and Angular. ?? ?? ??

塟愛鎵镞de栤仯 113 Dec 16, 2022
Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Michele Stieven 8 Dec 9, 2022
A component built in angular 13 which can generate an signature image in different fonts based on the selection.

AngularSignatureGenerator This project was generated with Angular CLI version 13.2.6. Development server Run ng serve for a dev server. Navigate to ht

Rohith P 4 Apr 26, 2022
Monorepo for all the tooling related to using ESLint with Angular

Angular ESLint Monorepo for all the tooling which enables ESLint to lint Angular projects

angular-eslint 1.4k Dec 29, 2022
Reactive Extensions for Angular

RxAngular offers a comprehensive toolset for handling fully reactive Angular applications with the main focus on runtime performance and template rendering.

RxAngular 1.5k Jan 5, 2023
Semantic UI Angular Integrations

Semantic-UI-Angular Semantic-UI-Angular is a pure AngularJS 1.x set of directives for Semantic-UI components. We are considering Angular 2 support in

Semantic Org 561 Dec 28, 2022
The code for a set of Angular 6+ components for the PatternFly project.

The code for a set of Angular 6+ components for the PatternFly project. Note that the release/3.x branch supports Angular 4 and 5.

PatternFly 87 Nov 15, 2022
Native Angular components & directives for Lightning Design System

ng-lightning This library contains native Angular components and directives written from scratch in TypeScript using the Lightning Design System CSS f

null 910 Dec 8, 2022
Native AngularJS (Angular) directives for Bootstrap

Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required. Please read the README.md file before submitting an issue!

AngularUI 14.4k Jan 3, 2023
NG Bootstrap - Angular powered Bootstrap widgets

NG Bootstrap - Angular powered Bootstrap widgets Angular widgets built from the ground up using only Bootstrap 4 CSS with APIs designed for the Angula

ng-bootstrap 8k Dec 24, 2022