* Adds the `isActive` flag on each tab, making it easier to check whether a tab is active.
* Adds an `exportAs` to the tab directive to allow for it to be consumed easier in the view.
Fixes#6422.
Since `String.fromCharCode` only maps the key codes to their English letter counterparts, the typeahead option in the `ListKeyManager` won't work for non-English input. These changes switch to using `event.key` and falling back to using `keyCode` and `fromCharCode`.
* feat: update to Angular 4.3
* Bumps the Angular requirement to 4.3. This is also a prerequisite to the Angular 5 update since we encountered the same errors there.
* Refactors the sidenav not to use a `Promise.resolve` for toggling the initial animation, because it was making it impossible to flush the animations in unit tests. The new simplified approach uses a property to pass the animation state.
* Fixes the nested menu test failures.
* Fixes a "changed after checked" error in the autocomplete demo app.
Relates to #6454.
* fix: e2e failures
Doesn't shift focus when the value of a multi select is updated programmatically while the panel is still open. Previously focus would end up on the last selected option, because we move focus in a loop.
Fixes#5381.
* feat: close calendar after choose the same date again
* feat: close calendar by userSelection event
* addressing pr comments
* fix for tslint errors
* addressing pr comments
This commit removes the redundant `text-transform` property from the
`cdk-visually-hidden` css class to conform with the *standard* concept
to visually hide content for accessibility.
Fixes the autocomplete active option not being reset when closing through the escape or enter keys. Previously the old active option would remain active upon reopening, however the user's focus would shift back to the top as soon as they press an arrow key.
Fixes#6258.
* Allows for the user to select a tab using the space key, in addition to enter. This seems to be consistent with the M1 implementation of tabs.
* Prevents the default action for space and enter in order to prevent the page from scrolling by accident.
Fixes#6406.
In #6304, an extra window resize handler was added in order to call `_checkPaginationEnabled`. This handler is unnecessary, because we have another resize handler a little bit below that calls `_updatePagination`, which will call `_checkPaginationEnabled` internally. The original issue that #6304 was fixing was due to the fact that the current listener wasn't being run in the Angular zone. These changes remove the extra listener, increase the debounce interval and move the handler outside back into the zone. There may be a slight overhead from moving the listener into the zone, however it should be offset by not having another listener and not calling `_checkPaginationEnabled` twice.
Fixes the animation not working correctly in Angular 4.3. It seems like having both the margin and height animation on the element causes the height one to break. This approach also has the advantage of making it easier to override the margin and being able to use the SASS variables if necessary.
* # This is a combination of 4 commits.
# This is the 1st commit message:
add lib files for sticky-header
add chose parent
add support to 'optional 'cdkStickyRegion' input '
add app-demo for sticky-header
fix bugs and deleted unused tag id in HTML files
modify
fix some code according to PR review comments
change some format to pass TSlint check
add '_' before private elements
delete @Injectable for StickyHeaderDirective. Because we do not need @Injectable
refine code
encapsulate 'set style for element'
change @Input()
Delete 'Observable.fromEvent(this.upperScrollableContainer, 'scroll')'
add const STICK_START_CLASS and STICK_END_CLASS
Add doc for [cdkStickyRegion] and 'unstuckElement()'. Delete 'detach()' function, add its content into 'ngOnDestroy()'.
change 'MdStickyHeaderModule' to 'CdkStickyHeaderModule';
encapsulate reset css style operation for sticky header.
delete unnecessary gloable variables
sticky-header-rebased
add one test &&
fixed bug 'sticky-header not working on iPhone', and bug 'reshape too obviously when being sticked'. &&
made some change according to the design doc('md-stick --> cdkSticky')
make the sticky element being scrolled up smoothly when being unsticked
Add code to support optional parentRegion input
add
add unit test for sticky-header
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
delete unused files
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add unit test for sticky-header
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
clean unused files
delete sticky-header
delete styicky-heade demo
delete sticky-header lib
revert public_api
delete sticky-header e2e files
delete.firebasesrc
revert
revert
revert
revert
add css styles for selection-list
add selection-list structures in list.ts
initial version of selection-list all src/lib code
fix tslint error
fix tslint error
applied '[class.mat-list-item-content-reverse]="checkboxPosition == 'after'"', deleted comments in code
Deleted 'MdSelectionListCssMatStyler' class
Added doc for 'md-selection-option'
Added binding expression for 'attr.aria-selected' and 'attr.aria-disabled'
Added a value and a disabled @Input() property
Changed 'isSelected' to 'selected'. And added '@Input(selected)' for it.(Using 'coerceBooleanProperty')
changed '_slist' to 'selectionList' and deleted 'MdSelectionListCheckboxer' class
Deleted navList in selection-list-option
changed 'onchange()' to toggle(). And added doc for it
checkedItems -> selectedOptions
deleted 'pCheckbox' and store 'this' instead of HTMLelement in 'optionlist'
optimized toggle() with 'this._selected = !this._selected'
Added 'Tab' moves focus on selection-list, 'UP_ARROW' and 'DOWN_ARROW' moves focus within selection-list. And use 'SPACE' to select checkbox
Added another empty line at the end of each file
remove comment line in CSS file
Deleted 'webkit-justify-content' in CSS file
Deleted 'mat-list-item-content-reverse' to these existing styles; the 'mat-list-item-content-reverse' class should only have the extra styles you need to reverse the display
Deleted 'mat-list-item-content' and 'mat-list-item-content-reverse' and '<a>' styles in '.mat-selection-list'
Deleted unused 'mat-checkbox' class
add ".mat-list-option" class in css file
added 'mat-list-option' class
fix toggle() disabled
Deleted empty class
Deleted unused import
Removed 'if (this.selectable)' check
moved styles in '.mat-selection-list .mat-list-item' to '.mat-list-option'.
Deleted position, box-sizing, and height in '.mat-list-item-content-reverse' in list.scss file
put md-selection-list and md-list-option in separate files(selection-list.ts and list-option.ts)
# This is the commit message #2:
nit
# This is the commit message #3:
correct imports in index.ts
# This is the commit message #4:
use ' @ContentChildren(MdListOption) options;' instead of QueryList
* add lib files for sticky-header
add chose parent
add support to 'optional 'cdkStickyRegion' input '
add app-demo for sticky-header
fix bugs and deleted unused tag id in HTML files
modify
fix some code according to PR review comments
change some format to pass TSlint check
add '_' before private elements
delete @Injectable for StickyHeaderDirective. Because we do not need @Injectable
refine code
encapsulate 'set style for element'
change @Input()
Delete 'Observable.fromEvent(this.upperScrollableContainer, 'scroll')'
add const STICK_START_CLASS and STICK_END_CLASS
Add doc for [cdkStickyRegion] and 'unstuckElement()'. Delete 'detach()' function, add its content into 'ngOnDestroy()'.
change 'MdStickyHeaderModule' to 'CdkStickyHeaderModule';
encapsulate reset css style operation for sticky header.
delete unnecessary gloable variables
sticky-header-rebased
add one test &&
fixed bug 'sticky-header not working on iPhone', and bug 'reshape too obviously when being sticked'. &&
made some change according to the design doc('md-stick --> cdkSticky')
make the sticky element being scrolled up smoothly when being unsticked
Add code to support optional parentRegion input
add
add unit test for sticky-header
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
delete unused files
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add unit test for sticky-header
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
encapsulate reset css style operation for sticky header.
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
master
sticky-header-rebased
Add code to support optional parentRegion input
add e2e/sticky-header files
e2e test
clear code
fix
clean unused files
delete sticky-header
delete styicky-heade demo
delete sticky-header lib
revert public_api
delete sticky-header e2e files
delete.firebasesrc
revert
revert
revert
revert
add css styles for selection-list
add selection-list structures in list.ts
initial version of selection-list all src/lib code
fix tslint error
fix tslint error
applied '[class.mat-list-item-content-reverse]="checkboxPosition == 'after'"', deleted comments in code
Deleted 'MdSelectionListCssMatStyler' class
Added doc for 'md-selection-option'
Added binding expression for 'attr.aria-selected' and 'attr.aria-disabled'
Added a value and a disabled @Input() property
Changed 'isSelected' to 'selected'. And added '@Input(selected)' for it.(Using 'coerceBooleanProperty')
changed '_slist' to 'selectionList' and deleted 'MdSelectionListCheckboxer' class
Deleted navList in selection-list-option
changed 'onchange()' to toggle(). And added doc for it
checkedItems -> selectedOptions
deleted 'pCheckbox' and store 'this' instead of HTMLelement in 'optionlist'
optimized toggle() with 'this._selected = !this._selected'
Added 'Tab' moves focus on selection-list, 'UP_ARROW' and 'DOWN_ARROW' moves focus within selection-list. And use 'SPACE' to select checkbox
Added another empty line at the end of each file
remove comment line in CSS file
Deleted 'webkit-justify-content' in CSS file
Deleted 'mat-list-item-content-reverse' to these existing styles; the 'mat-list-item-content-reverse' class should only have the extra styles you need to reverse the display
Deleted 'mat-list-item-content' and 'mat-list-item-content-reverse' and '<a>' styles in '.mat-selection-list'
Deleted unused 'mat-checkbox' class
add ".mat-list-option" class in css file
added 'mat-list-option' class
fix toggle() disabled
Deleted empty class
Deleted unused import
Removed 'if (this.selectable)' check
moved styles in '.mat-selection-list .mat-list-item' to '.mat-list-option'.
Deleted position, box-sizing, and height in '.mat-list-item-content-reverse' in list.scss file
put md-selection-list and md-list-option in separate files(selection-list.ts and list-option.ts)
nit
correct imports in index.ts
use ' @ContentChildren(MdListOption) options;' instead of QueryList
change to check 'focusedIndex != null'.
Set The tabindex of list option as -1 when the selection-list is disabled
change ['class': 'mat-list-item, mat-list-option',] to ['class': 'mat-list-item mat-list-option',];
Don't want a comma between class names.
fix typo in comments
fix
Binded 'aria-disabled' for selection-list.ts
rename to '_optionsChangeSubscription'
typo
Instead of defining the disabled getter/setter yourself, you can include it via mixin.
Removed ' selectable' property
Deleted unnecessary 'this._isValidIndex(optionIndex)' check
import switchMap
Added SwitchMerge
nit
revert
revert
revert2
revert3
r4
r5
r2
r3
r4
r5
revert
fix rxjs import
Changed to use 'RxChain' instead of directly importing 'observer/add/'
delete unusd import
Added exports for selectionlist
fix tslint check
fix tslint check
fix tslint check
Add tests for selection-list and list-option
fix typo in test
Added new test on native element's focus & blur
Added check expect(selectList.selected.length).toBe(0);before the toggle
nit
Added test on desecting an option
fix tslink check
fix typo in doc
refine docs
fix 'What happens if the selection list is disabled later? Would the list option become disabled?'
Changed all the test name to the format of 'should ...'
rename
Deleted unused '_tabOutSubscription'
return RxChain.from(this.options.changes)...
fix tsLint check
fix tslint
fix tslint error
test can not pass on travel CI
fix travelCI check
try to fix nativeElement focus test
revert
fix test
fix travis CI error
fixing travis
fixed~!
update fix
fix
fix
fix2
fix
added test check on 'aria-selected'
Added test checkou on 'aria-disabled'
reformat structure
changed to 'if (!fixture.componentInstance.isIE) { ... }'
Change 'platform.SAFARI || platform.EDGE || platform.FIREFOX' to '!platform.IS_TRIDENT'
fix travis check
Added aris-disabled test
fix travis test
put disabled style in theme.scss
use background color for disabled items
deselect --> deselected
destory -> destoryed
optimize
changed to "if (!this.disabled) { ... }"
restructured test cases
change function to private
_keydown
protected -> private
indent
change 'select' to 'selectChange'
Better to delete if (this.selectionList.disabled) {...} part
Use this.disabled to consider the case when parent selectionList is disabled?
Deleted emty lines
It would be better not to mutate the option disabled state based on the parent state; this can be error prone, as it's easy to miss updating one when the other changes. It's better to rely on the disabled getter for the option to account for the parent state.
* fix after rebase
* fix
* change 'grey, 1000' to 'black'
* remove unused import
* fix test
* put selection-list.ts and list-option.ts into one file~ and fix the test
* fix google3
* fix
* Add imports
* fix
* Deleted unused import
* refactor all communication between input-container and input into a
separate interface
* rename input-container to form-field
* alias mat-input-* classes with mat-form-field-* classes
* separate md-form-field into separate directory
* rebase and fix lint
* address comments
* addressed comments
* getter methods --> readonly properties
Adds the `md-select-trigger` directive which allows users to customize the selected value. E.g. it is now possible to do something like this, if the user wanted to reverse the selected label for some reason:
```ts
<md-select placeholder="Food" [formControl]="control" #select="mdSelect">
<md-select-trigger>
{{ select.selected?.viewValue.split('').reverse().join('') }}
</md-select-trigger>
<md-option *ngFor="let food of foods" [value]="food.value">
{{ food.viewValue }}
</md-option>
</md-select>
```
Fixes#2275.
In high contrast mode the ripples are opaque, which causes them to obstruct the content. These changes hide ripple for high contrast users since it's primarily decorative.
* bug(tabs): fix arrows not showing on reszize #6303
* chore(*): update to use host vs hostliener
* bug(tabs): address feedback in pr
* bug(tabs): address PR feedback
* Currently the screenshot tool application is not built in the deploy script. This causes Firebase to throw an error because the target directory does not exist.
Although the team has export those files, but users can't redeclare them in another NgModule for angular constraints. It's impossible for someone to extend the functionality or create a custom date(time)picker view without this patch.
Fixes not being able to pass in a dialog result through the `mdDialogClose`, `matDialogClose` and `mat-dialog-close` selectors, even though they are allowed by the `MdDialogClose` directive.
Fixes#6278.
* fix(xxx-intl): replace misused EventEmitter with Subject
According to https://angular.io/api/core/EventEmitter#description, EventEmitter is not for services. And Subject is preferrable.
* test(xxx-intl): update the related tests
* refactor: remove spaces
* feat(select): allow focusing items by typing
Allows for users to skip to a select item by typing, similar to the native select.
Fixes#2668.
* refactor: address feedback
* chore: linting errors