Files
angular__angular/stylelint-config.json
T
mmalerba 3e17ce7930 prototype(checkbox): create prototype checkbox based on MDC Web (#15782)
* 3.1. Add MDC to deps

Adds MDC as a peer dependency and updates various build and test config
files accordingly.

* 3.2. Add the new component skeleton

Adds files for MDC-based MatCheckbox.

* 3.3. Add a demo for the new component

Adds a demo of the MDC-based MatCheckbox at
http://localhost:4200/mdc-checkbox.

* 3.4. Copy in the canonical MDC DOM and add the MDC styles

Adds the MDCCheckbox DOM and styles to the MDC-based MatCheckbox.

* 3.5. Set up the MDC foundation

Adds the MDCCheckboxFoundation and MDCFormFieldFoundation and translates
the lifecycle setup from their respective components
(https://github.com/material-components/material-components-web/blob/master/packages/mdc-checkbox/component.ts
and
https://github.com/material-components/material-components-web/blob/master/packages/mdc-form-field/component.ts)
into our MDC-based MatCheckbox.

* 3.6. Add a custom MDC adapter

Adds an Angular adapter for MDCCheckboxFoundation and MDCFormFieldFoundation

* 3.7. Fill in the missing APIs to match the API of the existing Angular Material component

Fills in the remaining APIs on the MDC-based MatCheckbox.

* 3.8. Copy over the existing demo page to the MDC-based demo

Copies over the demo page for the existing MatCheckbox to the demo page
for the MDC-based MatCheckbox. Also adds an additional demo to both
pages.

* 4.1. Manual inspection and testing

Adds ripple using RippleRenderer which results in a smaller size than
MatRipple or MDCRipple. Also adds support for disabling animations.

* 4.2. Copy over unit tests and update them

Copies over all of the tests from the existing MatCheckbox and fixes
issues that were uncovered by the tests.

* 4.3. Copy over e2e tests if any exist

Adds MDC-based MatCheckbox to the e2e app and copies over the tests for
the existing MatCheckbox.

* 4.4. Add MDC-based component to universal-app

Adds a couple examples of the MDC-based MatCheckbox to the universal
app.

* 5.2. Investigate and fix size regressions

Removes usgaes of constants from `MDCRippleFoundation`. It looks like
their use was preventing the class from being tree-shaken. Results after
removing the constants show that the MDC-based implementation is 3kb
smaller:
https://github.com/mmalerba/mdc-size-comparison/blob/ee1b73a181c4a23345251656df23574140a747c0/results/size-summary.txt

* 8. Add user documentation

Adds documentation explaining what this component is and how to
experiment with it in your app.

* 9.2. Address CI failures and reviewer feedback

Fixes unit tests in Edge and approves the new API goldens for checkbox.
2019-04-16 06:46:50 -07:00

97 lines
3.5 KiB
JSON

{
"plugins": [
"./tools/stylelint/no-prefixes/no-prefixes.js",
"./tools/stylelint/no-ampersand-beyond-selector-start/index.js",
"./tools/stylelint/selector-no-deep/index.js",
"./tools/stylelint/no-nested-mixin/index.js",
"./tools/stylelint/no-concrete-rules/index.js",
"./tools/stylelint/no-top-level-ampersand-in-mixin/index.js"
],
"rules": {
"material/no-prefixes": [true, {
"browsers": ["last 2 versions", "not ie <= 10", "not ie_mob <= 10"],
"filePattern": "**/!(*-example.css)"
}],
"material/selector-no-deep": true,
"material/no-nested-mixin": true,
"material/no-ampersand-beyond-selector-start": [true, {
"filePattern": "-theme\\.scss$"
}],
"material/no-concrete-rules": [true, {
"filePattern": "^_.*\\.scss$"
}],
"material/no-top-level-ampersand-in-mixin": [true, {
"filePattern": "-theme\\.scss$"
}],
"color-hex-case": "lower",
"color-no-invalid-hex": true,
"function-calc-no-unspaced-operator": true,
"function-comma-space-after": "always-single-line",
"function-comma-space-before": "never",
"function-name-case": "lower",
"function-url-quotes": "always",
"function-url-scheme-blacklist": ["data"],
"function-whitespace-after": "always",
"number-leading-zero": "always",
"number-no-trailing-zeros": true,
"length-zero-no-unit": true,
"string-no-newline": true,
"string-quotes": "single",
"unit-case": "lower",
"unit-no-unknown": true,
"unit-whitelist": ["px", "%", "deg", "ms", "em", "vh", "vw", "vmin"],
"value-list-comma-space-after": "always-single-line",
"value-list-comma-space-before": "never",
"shorthand-property-no-redundant-values": true,
"property-case": "lower",
"no-duplicate-at-import-rules": true,
"declaration-block-no-duplicate-properties": [true, {
"ignore": ["consecutive-duplicates-with-different-values"]
}],
"declaration-block-trailing-semicolon": "always",
"declaration-block-single-line-max-declarations": 1,
"declaration-block-semicolon-space-before": "never",
"declaration-block-semicolon-space-after": "always-single-line",
"declaration-block-semicolon-newline-before": "never-multi-line",
"declaration-block-semicolon-newline-after": "always-multi-line",
"declaration-property-value-blacklist": [
{"/.*/": ["initial"]},
{"message": "The `initial` value is not supported in IE."}
],
"block-closing-brace-newline-after": "always",
"block-closing-brace-newline-before": "always-multi-line",
"block-opening-brace-newline-after": "always-multi-line",
"block-opening-brace-space-before": "always-multi-line",
"selector-attribute-brackets-space-inside": "never",
"selector-attribute-operator-space-after": "never",
"selector-attribute-operator-space-before": "never",
"selector-combinator-space-after": "always",
"selector-combinator-space-before": "always",
"selector-pseudo-class-case": "lower",
"selector-pseudo-class-parentheses-space-inside": "never",
"selector-pseudo-element-case": "lower",
"selector-pseudo-element-colon-notation": "double",
"selector-pseudo-element-no-unknown": true,
"selector-type-case": "lower",
"selector-max-id": 0,
"no-missing-end-of-source-newline": true,
"no-eol-whitespace": true,
"max-line-length": 100,
"linebreaks": "unix",
"selector-class-pattern": ["^_?(mat-|cdk-|example-|demo-|ng-|mdc-)", {
"resolveNestedSelectors": true
}]
}
}