Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
angular-material
Advanced tools
This repository publishes the AngularJS Material v1.x library and localized installs using `npm`. You can find the component source-code for this library in the [AngularJS Material repository](https://github.com/angular/material).
This repository publishes the AngularJS Material v1.x library and localized installs
using npm
. You can find the component source-code for this library in the
AngularJS Material repository.
Please file issues and pull requests against that
angular/material
repository only. Do not file issues here on the publishing repository.
Included in this repository are the:
Note these are already included in the
angular-material.css
files. These copies are for direct developer access and contain IE flexbox fixes; as needed.
You can install this package locally either with npm
, jspm
, or bower
(deprecated).
Please note: AngularJS Material requires AngularJS 1.4.x to AngularJS 1.8.x.
Please note: AngularJS Material does not support AngularJS 1.7.1, which has been deprecated.
# To install latest formal release
npm install angular-material
# To install latest release and update package.json
npm install angular-material --save
# To install from HEAD of master
npm install http://github.com/angular/bower-material/tarball/master
# or use alternate syntax to install HEAD from master
npm install http://github.com/angular/bower-material#master --save
# note: ^^ creates the following package.json dependency
# "angular-material": "git+ssh://git@github.com/angular/bower-material.git#master"
# To install the v1.1.22 version
npm install http://github.com/angular/bower-material/tarball/v1.1.22 --save
# To view all installed package
npm list;
# To install latest formal release
jspm install angular-material
# To install from HEAD of master
jspm install angular-material=github:angular/bower-material@master
# To view all installed package versions
jspm inspect
Now you can use require('angular-material')
when installing with npm or jspm, or when
using Browserify or Webpack.
# To get the latest stable version, use bower from the command line.
bower install angular-material
# To get the most recent, last committed-to-master version use:
bower install 'angular-material#master'
# To save the bower settings for future use:
bower install angular-material --save
# Later, you can use easily update with:
bower update
Now that you have installed the AngularJS libraries, simply include the scripts and
stylesheet in your main HTML file, in the order shown in the example below. Note that NPM
will install the files under /node_modules/angular-material/
and Bower will install them
under /bower_components/angular-material/
.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no" />
<link rel="stylesheet" href="/node_modules/angular-material/angular-material.css">
</head>
<body ng-app="YourApp">
<div ng-controller="YourController">
</div>
<script src="/node_modules/angular/angular.js"></script>
<script src="/node_modules/angular-aria/angular-aria.js"></script>
<script src="/node_modules/angular-animate/angular-animate.js"></script>
<script src="/node_modules/angular-messages/angular-messages.js"></script>
<script src="/node_modules/angular-material/angular-material.js"></script>
<script>
// Include app dependency on ngMaterial
angular.module('YourApp', ['ngMaterial', 'ngMessages'])
.controller("YourController", YourController);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no" />
<link rel="stylesheet" href="/bower_components/angular-material/angular-material.css">
</head>
<body ng-app="YourApp">
<div ng-controller="YourController">
</div>
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-aria/angular-aria.js"></script>
<script src="/bower_components/angular-animate/angular-animate.js"></script>
<script src="/bower_components/angular-messages/angular-messages.js"></script>
<script src="/bower_components/angular-material/angular-material.js"></script>
<script>
// Include app dependency on ngMaterial
angular.module('YourApp', ['ngMaterial', 'ngMessages'])
.controller("YourController", YourController);
</script>
</body>
</html>
With the Google CDN, you will not need to download local copies of the distribution files. Instead, simply reference the CDN urls to easily use those remote library files. This is especially useful when using online tools such as CodePen, Plunker, or jsFiddle.
<head>
<!-- Angular Material CSS now available via Google CDN; version 1.1.22 used here -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.22/angular-material.min.css">
</head>
<body>
<!-- Angular Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.0/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.0/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.0/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.0/angular-messages.min.js"></script>
<!-- Angular Material Javascript now available via Google CDN; version 1.1.22 used here -->
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.22/angular-material.min.js"></script>
</body>
Note that the above sample references the 1.1.22 CDN release. Your version will change based on the latest stable release version.
/node_modules/angular-mocks/angular-mocks.js
/node_modules/angular-material/angular-material-mocks.js
Shown below is a karma-configuration file (karma.conf.js
) sample that may be a useful template for
your own testing purposes:
module.exports = function(config) {
var SRC = [
'src/myApp/**/*.js',
'test/myApp/**/*.spec.js'
];
var LIBS = [
'node_modules/angular/angular.js',
'node_modules/angular-animate/angular-animate.js',
'node_modules/angular-aria/angular-aria.js',
'node_modules/angular-messages/angular-messages.js',
'node_modules/angular-material/angular-material.js',
'node_modules/angular-mocks/angular-mocks.js',
'node_modules/angular-material/angular-material-mocks.js'
];
config.set({
basePath: __dirname + '/..',
frameworks: ['jasmine'],
files: LIBS.concat(SRC),
port: 9876,
reporters: ['progress'],
colors: true,
autoWatch: false,
singleRun: true,
browsers: ['Chrome']
});
};
1.2.0-rc.1 (2020-07-23)
md-list
with the md-dense
class has been updated to align with the Material Design specification. This means that md-list-item
s heights have changed when using md-dense
. The md-dense-disabled
class is now supported on md-list
. After updating to this version, you may need to adjust the layout of your app if you use md-dense
with md-list
or customize the layout of md-checkbox
s within md-list-item
s.md-button
's internal horizontal padding has changed from 6px
to 8px
to match the Material Design spec. This may affect the layout of portions of your application where md-button
, md-datepicker
, or md-toast
with actions are used.If you are using our SCSS files, you can override this back to the default, or another value, in your app's SCSS files:
$button-left-right-padding: rem(0.600); // For 6px horizontal padding
$mdCompilerProvider.respectPreAssignBindingsEnabled()
API has been removed.
We no longer respect AngularJS's $compileProvider.preAssignBindingsEnabled()
value as this API was removed
in AngularJS 1.7.0
.If you had the recommended configuration for AngularJS 1.6.x:
$compileProvider.preAssignBindingsEnabled(false);
$mdCompilerProvider.respectPreAssignBindingsEnabled(true);
Then you should remove both of these calls as they are now the defaults in AngularJS 1.7.0
and AngularJS Material 1.2.0
.
If you had the recommended configuration for AngularJS 1.7+:
$mdCompilerProvider.respectPreAssignBindingsEnabled(true);
Then you should remove this call as it is now the default in AngularJS Material 1.2.0
.
If you were using a backwards-compatible configuration for AngularJS 1.6+:
$mdCompilerProvider.respectPreAssignBindingsEnabled(false);
Then you will need to remove this call and may need to refactor your Controllers for
AngularJS Material components like $mdDialog
, $mdPanel
, $mdToast
, or $mdBottomSheet
.
For example:
$mdDialog.show({
locals: {
myVar: true
},
controller: MyController,
bindToController: true
}
function MyController() {
// No locals from Angular Material are available. e.g myVar is undefined.
// You would need to move anything accessing locals in here to $onInit().
}
MyController.prototype.$onInit = function() {
// Bindings are now available in the $onInit lifecycle hook.
}
content()
and updateContent()
methods have been removed.If you had:
$mdToast.show($mdToast.simple().content('This no longer works.'));
You will need to change to:
$mdToast.show($mdToast.simple().textContent('This works.'));
If you had:
$mdToast.updateContent('This no longer works.');
You will need to change to:
$mdToast.updateTextContent('This works.');
If you had:
$mdToast.show($mdToast.simple({parent: parent, content: 'This no longer works.', theme: 'some-theme', capsule: true}));
You will need to change to:
$mdToast.show($mdToast.simple({parent: parent, textContent: 'This works.', theme: 'some-theme', capsule: true}));
ngMultiple
has been renamed to mdMultiple
to make it clear that this
API is provided by AngularJS Material and not by AngularJS.If you had:
<md-select ng-multiple="expression">...</md-select>
You need to change to:
<md-select md-multiple="expression">...</md-select>
MdChipsCtrl.selectAndFocusChip()
function has been removed.
MdChipsCtrl.selectAndFocusChipSafe()
should be used instead.1.2.0
. There may be edge cases in your app or custom styles that need to be updated to meet accessibility guidelines.If you find significant accessibility issues after updating, please report them to us. In 1.2.x
, we have a lot more control over our component theming in regards to hues and opacities.
If your app is using a custom palette, whether based on a copy of default palette or not, we encourage you to evaluate that your contrast configuration meets the WebAIM guidelines. Please review our guide on Defining Custom Palettes for details.
min-width
and padding
which matches the Material Design specification. For width, this is 72px
on xs
screens and 160px
on all other screens. For left and right padding
, this is now 12px
instead of 24px
. If your app needs to have tabs which are smaller than the spec, you will need to override md-tab-item
's min-width
and md-tab
's padding
styles.md-checkbox
labels, then you may need to remove or change that code now. This is because we automatically detect <a>
tags in these labels and re-render them in an accessible way.md-input
and md-select
inside of md-input-container
s have been updated to use indentation that is consistent with the spec (aligned to the left in LTR and the right in RTL). This may cause some minor layout issues in apps that depended upon the previous 2px
padding inside of md-input-container
.md-checkbox
has been updated to align with the Material Design specification. Additionally, many new Sass variables have been added for customizing the size and spacing of md-checkbox
. The md-dense
class is now supported. After updating to this version, you may need to adjust the layout of your app due to the larger touch-friendly size of checkbox. You may also want to make use of md-dense
in cases where space is limited.$mdToast.show()
's position behavior has been updated to be consistent with the documentation. If you relied on the previously undocumented behavior where it defaulted to top left
instead of bottom left
, you will need to update your app.Change your code from this:
$mdToast.show(
$mdToast.simple()
.textContent('Simple Toast!'))
.then(...
To this:
$mdToast.show(
$mdToast.simple()
.textContent('Simple Toast!')
.position('top left'))
.then(...
Thank you to the contributors who helped with the v1.2.0-rc.1 release:
<img alt="Splaktar" src="https://avatars1.githubusercontent.com/u/3506071?v=4&s=117" width="117"> |<img alt="jelbourn" src="https://avatars3.githubusercontent.com/u/838736?v=4&s=117" width="117"> |<img alt="clshortfuse" src="https://avatars3.githubusercontent.com/u/9271155?v=4&s=117" width="117"> |<img alt="oliversalzburg" src="https://avatars2.githubusercontent.com/u/1658949?v=4&s=117" width="117"> |<img alt="batsauto" src="https://avatars3.githubusercontent.com/u/17678174?v=4&s=117" width="117"> |<img alt="tomaszgrabowski" src="https://avatars0.githubusercontent.com/u/6688790?v=4&s=117" width="117"> | :---: |:---: |:---: |:---: |:---: |:---: | Splaktar |jelbourn |clshortfuse |oliversalzburg |batsauto |tomaszgrabowski |
<a name="1.1.24"></a>
FAQs
**[Support for legacy AngularJS ended on January 1st, 2022](https://goo.gle/angularjs-end-of-life). [See `@angular/core` for the actively supported Angular](https://npmjs.com/@angular/core).**
The npm package angular-material receives a total of 49,094 weekly downloads. As such, angular-material popularity was classified as popular.
We found that angular-material demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.