What is `cdk` in Angular Material 2 components
Asked Answered
H

4

116

In multiple places within angular material source, there are elements/ css classes that have cdk as their prefix.

Does anyone know what the abbreviation for cdk in angular material context?

Hatred answered 20/2, 2017 at 9:22 Comment(0)
H
114

CDK is the short form of component dev kit. This signifies that these are general-purpose tools for building components that are not coupled to Material Design

From the material2 changelog

  • Several components in core/, such as Overlay, have had their prefix changed to cdk- (short for "component dev kit"). This signifies that these are general-purpose tools for building components that are not coupled to Material Design.The old selectors are still available as deprecated but will be removed in the next release. The CSS classes have been changed.

For more info on how to use cdk components such as table, overlay, portal, portal host, e.t.c, you can find examples here:

  1. https://github.com/angular/material2/tree/master/src/demo-app
  2. https://medium.com/@caroso1222/a-first-look-into-the-angular-cdk-67e68807ed9b
Hatred answered 21/2, 2017 at 14:38 Comment(5)
I still don't quite understand. Are you saying CDK are going to be Angular components and not part of material?Regrate
As of now, cdk code lives inside material repo. However, the material already started refactoring cdk so that cdk components can be pulled & used from npm independent of material. Even after refactoring, cdk code might live alongside material, but the packaging would be different. For eg., new material component such as table extends cdk table & apply style to them so that the table's theme & size matches material spec. Source: github.com/angular/material2/tree/master/src/lib/tableHatred
This article has more details. CDK has components that help with things like text direction and loading spinners, whether or not you are using Material. medium.com/@caroso1222/…Brutify
A better source for the samples is going to the demo app of material source. It has demos for almost every usage that you can do with cdk components, including overlayref, portal, portalhost, table, and so on.Hatred
I think it will be good for material2 team to publish short explanation about 'what is CDK' on material.angular.io/cdk pageSubacid
I
38

CDK (Component Development Kit) is a standalone package.

The goal of the CDK is to give developers more tools to build awesome components for the web. This will be especially useful for projects that want to take advantage of the features of Angular Material without adopting the Material Design visual language.

Checkout the repo from Google for CDK

https://github.com/angular/material2/tree/master/src/cdk
Inflect answered 9/7, 2017 at 9:43 Comment(1)
Thanks! your answer was helpful!Handset
D
5

CDK => Component Development Kit

It's main purpose is to enable extensible so as to create custom components on top of it.

Delicate answered 22/2, 2018 at 20:53 Comment(0)
H
1

Stands for Component Dev Kit. The CDK allows you to use features that do not depend on Angular Material and its styling and is fully independent. Some awesome features that you can use are Drag and Drop and Virtual scrolling (which I love personally) by just importing the cdk. Check the documentation out here.

Horick answered 12/3, 2019 at 4:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.