-
Notifications
You must be signed in to change notification settings - Fork 3.4k
fix(layout): Prevent class overriding when lastClass is null #5257
Conversation
This fixes an annoying behavior of the layout attributes that is removing all the element's other classes when trying to convert layout attributes to classes.
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project, in which case you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
|
I signed it Sent from Mailbird [http://www.getmailbird.com/?utm_source=Mailbird&utm_medium=email&utm_campaign=sent-from-mailbird]
|
|
CLAs look good, thanks! |
update version number in package.json to 0.11.0-rc2
update(demo): stagger animations timings
fix(layout): device size attributes should not set max-width or max-height
do not specify max-height or max-width for **.layout-column** and **.layout-row** media breakpoints; as these incorrectly limited the size of the container.
> Consider below where `<xxx>` is the display breakpoints sm, md, lg, gt-sm, etc.
Breaking Changes
Before
```css
.layout-colum > .flex-<xxx> { max-height : <percentage>; }
.layout-row > .flex-<xxx> { max-width : <percentage>; }
```
now
```css
.layout-colum > .flex-<xxx> { }
.layout-row > .flex-<xxx> { }
```
fix(layout): restrict directives to attributes only
Breakout of 0.11.0-rc2 from 0.11.0-rc1 changes
Update CHANGELOG.md
Update CHANGELOG.md
Update CHANGELOG.md
Update CHANGELOG.md
update(radioButton): add md-checked style to parent (if not mdRadioGroup)
if radiobutton elements are nested in DIV (instead of direct children of MD-RADIO-GROUP), then add/remove `.md-checked` styles when selected/deselected.
update version number in package.json to 0.11.0
Add SHA links to ripple and layout changes
feat(datepicker): allow changing first day of the week. Fixes #4316.
fix(utils): extractElementByName() and findFocusTarget() logic improved
findFocusTarget() scans deep and properly uses `$eval()` on possible focus expression.
extractElementByName() includes optional argument to scan deep in all child nodes.
added unit tests
Fixes #4532. Fixes #4497.
fix(theme): input placeholder color style fixed for Chrome
mixin placeholder-input-color in `mixins.scss` do not work as expected in Chrome.
Fixes #4162.
fix(datepicker): handle DST incocnsistency encountered in some timezones. Fixes #4215.
fix(util): improve parse logic in supplant()
Fixes #4511.
update(demos): codepen demos use Roboto fonts and css
when launching the demos, the same font sets and extra styles used in the online docs should be included in the launched demo.
Fixes #4529.
fix(codepen): improve use of external css
fix(util, autocomplete, chips): logic for cleanup when scope.$$destroyed == true
update `$mdUtil.nextTick( )` with option `scope` argument that can be used to check `scope.$$destroyed` skip callback.
refactors to resolve `scope.$destroy()` race conditions
Fixes #4525.
feat(datepicker): add shadow and animation cue for scrolling. Fixes
Closes #4547.
perf($mdSticky): Fix performance issue when sticky is emulated.
When the browser is not naitively capable of handling sticky
elements, we fake it by watching for scroll changes and manually
triggering certain events. These use `$$rAF`, but were not
throttling the call.
Fix: use `$$rAF.throttle` when calling our loop function.
Fixes #4523. Fixes #4459. Closes #4552.
docs: fix codepen buttons not working in Demos > Menu
Fixes Codepen buttons not working in Menu Position Modes & Menu Width demos & removes duplicate call to htmlEscapeAmpersand() function in codepen.js
Fixes #4514. Closes #4519.
docs: fix typo in demos > Menu > Menu Position Modes
Fixes a typo ('Positon' -> 'Position') in the Demos > Menu > Menu Position Modes docs
Closes #4516.
fix(switch): inverted logic in md-switch dragging
md-switch was being toggled when the user dragged less than half the way and didn't toggle when dragged more than half the way.
Invert this logic.
Fixes #4549. Closes #4560.
fix(mdAutocomplete): Compile autocomplete template against proper scope.
After the performance modifications to make autocomplete use the
virtual repeat directive, the autocomplete no longer compiled the
contents of the dropdown against the proper parent scope
This PR fixes it by manually compiling against the proper parent scope
and copying over the necessary `item` and `$index` properties.
Fixes #4390. Fixes #4495. Closes #4391.
feat(dialog): allow specifying parent by string selector.
feat(datepicker): prevent calendar from going off-screen. Fixes #4333.
chore(datepicker): remove accidental function def.
test(dialog): added test for parent specified by string selector
fix(tooltip): trigger parent blur on `leaveHandler( )`
`md-button` with tooltip should not continue to display focus style after mouseleave and tooltip hide.
Fixes #4249. Fixes #4597. Closes #4590.
Update tabsDirective.js not to use multiline string literal
Multiline string literals aren't considered a best practice.
References:
http://stackoverflow.com/a/6247331
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals
Closes #4556.
update(docs): Toast API docs correction
inlucde improvement to **$log.warn** in `util.extractElementByName( )`
Fixes #4612.
update(util): typo correction
fix(ripple): ripple will no longer be triggered on disabled elements
Closes #5445
ripple: re-adds code that was accidentally removed from the previous commit
ripple: fixes typo in previous commit. again. I'm on a roll, today!
Update slider.js not to use multiline string literal
fix(datepicker): make dark theme picker not terrible. Fixes #4614
update(tabs): speeds up ink bar animation
Closes #4582
fixes typo in dialog
fixes improper variable name in dialog
fix(select): fix options not closing with explicit md-select-label
closes #4387
style(menu): fix alignment with anchor menu items
closes #4142, closes #4353
fix(listItem): fix menu triggering proxy elements
fixes #4303
fix(select): fix undefined class on select container
closes #4184
style(select): bring disabled style inline with input
closes #4179
fix(dialog): incorrect dialog placement if page is scrolled
closes #4115
style(select): dividers now appear in scrollable menus
closes #4017
fix(general): common disabled behavior for switch/slider/select.
Fixes #3797. Closes #4654.
fix(datepicker): ngModel updates for empty input.
Fixes #4643. Closes #4648.
fix(mdInput): Support multiple ng-messages simultaneously.
Previously, multiple `ng-message`s would render on top of each
other. Fix by altering CSS position and altering transition to
support multiple messages (i.e. potentially varying height).
Also some other small fixes to inputs/errors:
* Fix number input widths in Firefox
* Update errors demo messages to be more dynamic and show multiple errors
* Update SCSS to allow `ng-message-exp` and associated `data-` and `x-` attributes
* Add demo using `ng-message-exp` to show new SCSS styles being applied
Fixes #2648. Fixes #1957. Fixes #1793. Closes #4647. Closes #4472. Closes #4008.
> Should also close PRs #4472 and #4008. Thanks to @bopm and @iksose for the
initial PRs!
fix(interimElement): support scope.$destroy events
when navigation (eg $location) changes occur, the `scope.$destroy` event is triggered; which should remove/close/cleanup the following components: menu, select, dialog, toast, and bottomSheet.
Fixes #3741. Fixes #4405. Fixes #4504. Fixes #4151. Closes #4659.
fix(autocomplete): re-adds support for custom item names in autocomplete
templates
Closes #4667
fix(menu): fixes JS focus error on close
fix(interimElement): use angular.extend
AngularJS 1.3.x does not support `angular.merge`
Fixes #4683.
feat(mdInput): Add support for both labels and placeholders.
Previously, if a user supplied both a placeholder and a label,
the label would float on top of the placeholder when the input
did not have a value.
Fix by adding styles/code to support both at the same time.
**Note:** If the users provides both a label and a placeholder,
the label will no longer animate.
Also fix input styles so transition does not happen if input
already has a value to avoid unneccessary and eratic-looking
animations.
Fixes #4462. Fixes #4258. Closes #4623.
test(all): make changes to use $animate.flush
update ngMaterial docs and tests to use AngularJS 1.4.6
simplify testing with unified, new API `$animate.flush()`
add ngMaterial mock `flush()` methods to hide complexities on Material animations
fix interimElement recover logic when templateURL loads fail
> supports only AngularJS ^1.3.19 and ^1.4.6
Closes #4460.
fix(util, datePicker): support $compileProvider.debugInfoEnabled(false);
add `$mdUtil.validateScope( )` to confirm availability of scope value.
Fixes #4532.
> [$compileProvider](https://docs.angularjs.org/guide/production) explains that `$compileProvider.debugInfoEnabled(false)` will make the `scope()` function return undefined: @see https://github.com/angular/angular.js/commit/dbbe6b3831e9e3545e3fae6d109aab6251131d82
update(sidenav): add `$destroy` logic to remove backdrop
update(demo): add footer note to Dialog demo
Closes #3136.
fix(menu): safeguard NRE in `activateInteraction()`
Fixes #3741
fix(dialog): resize top and height on window resize
Fixes #4513.
update(mixin): improved input-placeholder-color
Fixes #4742.
update(npm): add standard package.json fields
Fix license warnings from npm
Add a useful npm 'watch' script to build, watch the docs; opens browser at http://localhost:8080
Add other standard fields as detailed in https://docs.npmjs.com/files/package.json
Closes #4741.
> Thx @splaktar for PR #4741.
Added the ability to apply custom CSS classes to dialog-presets.
Closes #4722.
fix(whiteframe): working with dp insted of z-index
Closes #4706.
fix(progressLinear, progressCircular): trim md-mode values
Fixes #2336.
fix(select): multiple no longer sets form to $dirty
closes #3933
style(list): truncate overflow on h3 and h4
closes #2199
fix(fabSpeekDial): remove keyboard handlers on scope destroy
Closes #4681.
fix(mdAutocomplete): Fix small style regression introduced by multiple errors.
The autocomplete used different CSS than the multilple error messages
expeceted. Fix by making autocomplete the same as input.scss.
Fixes #4692. Closes #4695.
feat(layout): add `md-css-only` option, restore max-width for layouts
* support use of `<body class="md-css-only">` to use Layout features **without** any JS requirements or `ngMaterial` module dependencies.
* May use standard Attribute selectors
* May use class selectors
* Disables Layout directive postlinks for optimization
* restore `layout > flex` specifiers of max-width or max-height.
* publish `$$mdLayout` service to allow Attribute selectors to be removed when the translation inject to Class selector finishes.
fix(layout, flexbox): longhand workarounds, flex-order, interpolated values
* apply flexbox workarounds per [Flexbox Workarounds](https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items): use flex longhand notations with workarounds
* add support for flex="1", flex="auto", and flex
* add references to online specs/resources
* fix flex-33 and flex-67 max-width and max-heights
* fix layout-align to use max-width
* layout-fill should use height:100%
* allow flex-order to be negative
* add support to observe interpolated layout values.
* restore max-width for layouts
* restore `layout > flex` specifiers of max-width or max-height.
* publish `$$mdLayout` service to allow Attribute selectors to be removed when the translation inject to Class selector finishes.
According to CSS Flexible Box Layout Module Level 1 and CSS Values and Units Module Level 3, the order property can be negative, -9 to -1, as well as positive, 1 to 9, and zero.
Fixes #4729. Fixes #4616. Fixes #4520. Fixes #4482. Close #3376. Closes #4592.
> Thx @flowersinthesand for original PR
fix(layout): resolve incorrect and duplicate layout tests
There were a number of typos and incorrect combinations of values in the alignmentValues array that didn't correspond to the layout.scss causing incorrect tests to be run. There were also duplicates, there were 31 values, now 19.
Closes #4740.
update(layout): refactor and fix media breakpoint styles
* improve logic for `postLinkIsDisabled( )`
* add `max-width:100%` for layout=row
* add `max-height:100%` for layout=column
* fix media trigger .layout-<xxx>-row and .layout-<xxx>-column layouts
fix(gridlist): improve getTileStyle() to use rowCount
Fixes #2741.
fix(menu): remove exception when async loading
Fixes #4687.
fix(mdAutocomplete): Fix scope watch bug.
Commit 8849213ce42fa98169b6fbbb0805feb95a6ba678 introduced a scope
watching bug cauinsg the autocomplete to no longer update it's list
of items as you scrolled (since it re-uses DOM elements). Fix by
swapping nextTick to be inside the watch statement.
Fixes #4713. Closes #4715.
docs(datepicker): fix type for min/max dates. Fixes #4738
chore(ci): add scripts to test against multiple releases of AngularJS
fix(tabs): addresses potential `$digest already in progress` error
Closes #4743
docs(dateLocale): make parse function reflect real moment use.
fix(dateLocale): guard for setting midnight to null. Fixes #4780
fix(datepicker): prevent calendar clipping on small screens. For #4558
fix(mdInput): Fix md-maxlength when used with ng-messages.
The recently added support for input elements to have multiple
messages caused a rendering issue for the `md-maxlength`
character counter.
Update code/CSS to properly position the character counter when
used with and without ng-messages.
Fixes #4783.
POSSIBLE BREAKING CHANGE - The `<div class="md-char-counter">`
that is automatically added to the input is now added after
the input if no messages are found, but inside if they are.
This may cause some styling issues if users provide custom
CSS. Users may need to update their CSS to take the extra
HTML into account.
Example rendered HTML:
**Without `ng-messages`:**
```html
<label>Label is here</label>
<input />
<div class="md-char-counter">10/20</div>
```
**With `ng-messages`:**
```html
<label>Label is here</label>
<input />
<div ng-messages="...">
<div class="md-char-counter">10/20</div>
<div ng-message="requried">This is required</div>
</div>
```
Closes #4786.
fix(layout): prevents missing body error in unit tests
chore(tooltip): removes multiline string template
chore(layout): fixes document.body undefined error
fix(list): fixes list item height
feat(datepicker): support for ngMessages. Closes #4672.
fix(tooltip): using tooltip inside subheader causes Firefox hang.
When a `<md-tooltip>` was placed inside the `<md-subheader>`,
an infinite loop was being hit (only in Firefox) which was
causing the browser to hang.
The infinite loop was caused by the tooltip's
`getParentWithPointerEvents()` method which travels up the DOM looking for a parent who has pointer events. In Firefox, the `element.parent()` can apparently return an empty jqLite object that is not null, but whose length is 0. In this case, calling `parent.parent()` again will return the same object.
Add a check to the tooltip's loop to ensure that `parent.length` is never 0.
Fixes #4777. Closes #4800.
fix(sidenav): binds remove function to prevent errors
replaces fn.prototype.bind with angular.bind
removes duplicate line of code left in during previous commit.
ugh
fix(virtualRepeat): prevents digest if digest is already in progress
fix(list): fix clipping on list items, simplify code
closes #2199
update(layout): remove md-css-only usages
refactor layout.scss to reduce layout.css size
chore(ci): use Chrome, Firefox and Safari as browsers on CI for the daily script
test(animateCss): fix broken safari tests
Closes #4819.
fix(dialog): resolves issue where dialog templates were displaying HTML
as text
update(layout): restore sized flex-order styles
restore build-scss 'modules' feature on #L63.
update version number in package.json to 0.11.1
Create COMMIT_LEVELS.md
Update CONTRIBUTING.md
Update COMMIT_LEVELS.md
Update COMMIT_LEVELS.md
Update COMMIT_LEVELS.md
fix(select): fix dynamic placeholder text
closes #4689
fix(select): rollback number parsing on value attr
closes #4615
As per the discussion in #4615, please use `ng-value` if you need
a non-string value from an md-option for the `ng-model` of a select.
fix(datepicker): stop calendar going off-screen if body is scrollable. Fixes #4781.
remove debug ECHO.
fixes(layout): corrections to generated css
* fixes to generated css and media query specificity
* layout.scss includes both attribute and class selectors
* improved css for hide/show with breakpoints
* improved css for flex-order with breakpoints
* also generates angular-material-layouts.css for
* standalone* CSS with attribute selectors.
fix(sidenav): resolve jQuery conflict with handler
Fixes #4876.
fix(layout): conflict with [flex='initial']
* fix CSS so `[flex] !== [flex="initial"]`
* add `[flex="grow"]`
update(demo, content): refactor styles
* set demo-content `height:600px;` for properly layouts and scrolling.
fix(docs): fix demos GitCDN link to use proper URL for versioning
The GitCDN link used in the current demos points to a URL which
is redirected to a new one. When this redirect occurs, the
version info supplied in the URL is lost and the file always
points to HEAD making it difficult to track down.
Fix snapshot script to use the new link which retains the
version information.
Closes #4922.
update(layout): improve mutliple flex breakpoint usages
fix(checkbox): prevent ng-click firing on didabled checkboxes. Fixes
fix(layouts): improved css specificity for layout
Standalone css has been deprecated; the ngMaterial module is required to register the layout directives. For improved `layout > flex` specificity, convert layout attributes (and breakpoint variants) to `.md-layout` with variants.
* remove all attribute selectors from the Layout CSS
* update demos to use revised .md-layout solution(s)
* update layout demos to use ng-cloak
* update demos to `colorNested` class
update(content, demo): specify demo-content height
fix(layout): resolve minify bug with flex css
* fix minimize bug where `flex: 1 1 0%` incorrectly becomes `flex: 1 1 0`;
* do not support md-css-only; JS is always required
* do not remove layout attributes
update(demo): use ng-cloak on all demos
fix(layouts): improve logic for `layout > flex` specificities
improve specificity for layout > flex with breakpoints and variants.
fix demos and docs with expected layout classes
fix(layout): add border-box style to to all `.flex` variants
* also allow build of Layout css deprecated standalone usages.
update(docs): demo text correction.
chore(release): adds firebase rewrites to release script
update version number in package.json to 0.11.2
fix(input): fix bad char counter when value is a number. Fixes #4635.
fix(input): fix extra `var` in input tests.
chore(): add .clang-format file.
fix(autocomplete): resolves issue with not-found message displaying unnecessarily
update(demo, tab):remove content padding on first demo
Refs #3963.
fix(button): Fix button height in Firefox.
A `<button>` tag with the `.md-button` class added was rendering
at 38px height instead of the spec's 36px. This was due to the
`::-moz-focus-inner` pseudo-class having a default border greater
than 0.
Fixes #3291.
fix(icon): Fix bug that prevented custom default fontset from being applied.
Fixes #4349. Closes #4829.
fix(card): position md-card-footer at bottom of card
Old behavior did not cause the footer to stick to the bottom of the card
if the card had an assigned height taller than its content.
Fixes #3144. Closes #4891.
Added an internal function to handle `debounce` in demo.
Please see this [Google Closure compiler PR](https://github.com/google/closure-compiler/pull/1170) for more information/reference.
Basically, the demo code is using `$mdUtil`, which is not part of the public API, and therefore not suitable for the public (docs) reference.
Closes #4888.
fix:Removed unnecessary background-color definition
fix(demo, sidenav): resolve NRE with reference
update(layout): remove layout-align attribute selectors
update(doc, layout): remove obselete white styling
fix(icon): adds check for `el` before checking its `tagName`
fix(tabs): tabs now work properly with `md-dynamic-height` and
`md-align-tabs="bottom"`
Closes #4368
chore(tabs): adds comments describing previous commit
fix(autocomplete): prevents scrollbar from displaying unnecessarily
Closes #4308
fix(tabs): inkbar is now visible in Firefox when using centered tabs
Closes #4367
Renders character count on keyup
See http://codepen.io/Anaphase/pen/KdWPjy for details.
Closes #5024.
fix(dialog): fixed alert and confim `md-transition-in` class attachment
Alert and confirm dialogs had in their template class attribute that was binded to `dialog.css`, in case the css property was undefined it caused the `md-transition-in` class to be applied but than deleted.
The solution was to change the usage to ng-class and let angular set the class.
fixes #4862. closes #5006.
fix(autocomplete): Fix many issues with showing/hiding.
The logic behind showing and hiding the autocomplete's
list of suggestions was difficult to understand and was
causing some issues with displaying at the proper times.
Refactor code to use a "show when criteria is met" approach
instead of a "hide when criteria is met" approach and fix
some issues with the md-not-found and suggestions list
appearing when they should not.
Fixes #4665. Fixes #4788. Fixes #4906. Fixes #4855.
Fixes #4618. Fixes #4469. Fixes #4025. Closes #4958.
**References:**
Refs #4309, Refs #4678, Refs #4673, Refs #4518, Refs #4503, Refs #4358, Refs #4905.
enhance(bottomSheet): removed targetEvent and added clickOutsideToClose
Closes #4969. Closes #2201. Closes #2895.
update(docs, menu): misspelled attribute name
Closes #4917.
fix(inputs): Fix floating label and char counter positions.
Recent updates to the `md-char-counter` class caused alignment
issues when the input was side-by-side with another input. The
underlying cause was that the other input uses `maring-top: auto`
instead of `margin-top: 0` which made the inputs "bottom aligned"
as the height of it's neighbors changed.
This fixes the CSS on the char counter, inputs and select to
better align and updates the inputs demo to show the select
next to an input with the char counter.
Also, I noticed a bug with the floating labels when using only
the placeholder, so this adds some additional tests and fixes
the bug.
Fixes #4872. Closes #4915.
update(commit_levels): fix minor typos, links, and duplication
also fix issues identified by @topherfangio
fix(fabSpeedDial): Make hovering an option via CSS.
Initially, the speed dial was designed to always open
when the user hovered over any portion of the speed
dial (including the area where the actions would
eventually appear). However, this made the speed dial
unusable on mobile (and sometimes unusable on desktop)
because it disallowed the user from pressing anything
underneath the actions.
* Add the `md-hover-full` CSS class to allow developer configuration of this behavior.
* Ensure fabToolbar also works this way, and fix jumpy animation.
* Also updated the docs/demos and made the demos easier to use on mobile.
BREAKING CHANGE - The fabSpeedDial no longer automatically
opens when hovering over the invisible actions. Add the
`md-hover-full` class to enable this interaction.
Fixes #4259. Closes #4847.
fix(gridList): Fixes "fit" mode
Closes #2012
fix(gridList): Changes to md-gutter will now trigger reflows
Closes #3029.
fix(gridList): Animated tile removal now triggers appropriate layout
Closes #1559. Closes #4811.
update(ink): added ripple color to switch radio and checkbox
Closes #4817.
feat(input): Add right-side icon to input container
Fixes #4763. Closes #4808.
update(switch): fixed switch movement speed
Closes #4581. Closes #4816.
fix(icon): Update demo fonts from 21px to 24px.
fixes #4569. Closes #4799.
fix(changelog): fix minor typo in 0.11.2 notes
update(docs): updated CDN version number
Closes #4894.
update(virtualRepeat): add topIndex attribute to virtualRepeatContainer (squashed)
Add an `md-top-index` attribute on the virtual repeat container. This allows the developer to watch which item is at the top of the scroll container, and also scroll to any item on demand.
* Includes passing unit tests, documentation and working demo.
* Live demo: http://codepen.io/colinskow/pen/jbVaRj
Fixes #4823. Closes #4823.
update(docs): new doc website screenshot
Show the newly designed docs site on the README instead of the old 0.8.3 version that has a different layout.
Closes #4805.
fix(input): Sizes textareas properly when the container is shown
Added an optional md-detect-hidden attribute for textareas inside of
md-input-containers. This will check on every digest cycle whether the
element was hidden and is now shown, and will auto-size the textarea
properly.
Fixes #1202. Closes #4726.
docs(chips): formatting fixes
add subheader and linebreak for md-chip-template section
Closes #5032.
update(doc, icon): typo fix
Closes #4849.
update(doc, card): markdown is not rendered
Closes #4832.
feat(interimElement): add onShowing event
Currently hideElement has an onRemoving event, this is the showElement equivalent. Useful when dealing with loading spinners that should disappear before the dialog shows.
Closes #4820.
fix(dialog): keydown instead of keyup to close dialog
Previously md-dialog is watching for keyup while md-autocomplete is preventing keydown
fixes #4041. closes #4884.
fix(docs): fixes code urls for docs generation
fix(tabs): fixes tab sizing issues with and without pagination
Closes #4065
Closes #4834
Closes #4873
Must test with #4744
fix(gridList): Animation reflow fix.
Now correctly decorates the element with the destroyed flag.
Closes #1559. Closes #5042.
fix(tabs): adds proper detection for bodyless tabs
Closes #4120
chore(docs): fixes docs for `md-no-ink-bar` attribute
Closes #4082
fix(tabs): fixes `md-stretch-tabs` functionality
Closes #5048
docs: Fix various doc formatting issues.
Fixes #5051.
chore(tabs): Adds documentation for `md-active`
Closes #4011
chore(autocomplete): updates docs for expression attributes
Closes #3743
fix(input): Fix border styles on Firefox.
Fixes #2914.
fix(tabs): overrides icon color when used within tab label
Closes #3879
fix(mdListItem): Fixed integration with checkbox and added icon avatar
* Deleted `:first` from css so the avatar can be used properly with checkboxes or other components/elements that comes before.
* Added `.md-avatar-icon` class to support icon avatars
* Updated docs to mention these classes including `.md-offset`
fixes #3784. fixes #3186. closes #5054.
fix(repeater) resize scroller correctly,
There was some recursion inside VirtualRepeatController.prototype.virtualRepeatUpdate_ which was causing the scroller not to shrink properly when items were removed.
Fixes #5027. Closes #5031.
In addition, in onDemand mode an undefined length would stop the container from sizing correctly. An undefined length will now be changed to zero.#
It could also possibly fix #4950 and may be a better solution than #5009, but I haven't yet tested it against that issue.#
fixes #5027# (use "git push" to publish your local commits)
update(demo, dialog):moved padding to class and removed padding from element
Content padding was forced on the user and caused other components as tabs not to work as wanted.
Moved the padding to a class that the user can specify on his content.
closes #3963. closes #4983.
fix(interimElement): Removed unnecessary resolve fallback values
Removed SHOW_CLOSED fallback that caused false, empty string or undefined in the resolved promise to become true
fixes #4094. fixes #4150. closes #4982.
fix(dialog): Switched the click action to mouse down/up
Changed the click event to mousedown and mouseup so we can save the origin element on mouse down and close on mouseup if the origin and the target is the backdrop
fixes #3873. closes #4972.
fix(chips): do not display broken image when no image is provided
When no image property is defined on the user model, do not render an `img`-element.
* add missing unit tests for image / no image cases on contact chips
Refs #4779. Closes #4851.
fix(toast.scss): Change height to defined for IE11
Height updated to value below min-height. IE11 does not layout correctly
without. Tried 'inherit' but caniuse.com says not supported.
Fixes #4946. Closes #5057.
fix(menu,menuBar): fix keyboard interaction
closes #5025
fix(autocomplete): adds tabindex support for autocomplete
Closes #2113
fix(layouts): interpolated values, validations, test & CSS fixes
* improved consistent use of `attrs.$observe( )` to watch for interpolated attribute values (for Layout attributes which support value specifiers).
* add validation of Layout attribute values with fallbacks to default value approprate to each attribute type
* significant code cleanup for use of `$observe( )`
* removed possible classname generation with raw, uninterpolated strings
* removed multiple classname generation
* fixed invalid classname generation when interpolation values are invalid
* remove `md-` prefix from layout class names
* remove all attribute selectors from layout.scss
* deprecated use of `offset` attribute; now uses `layout-offset`
* add box-sizing to all flex variants
* add max-width/height to flex variants
* fixed max-width/height for flex 33, 34, 66, and 67 variants.
* complete refactor for spec testing of Layouts
Fixes #5076. Fixes #5054. Refs #5014. Fixes #4994. Fixes #4959. Fixes #4902. Fixes #2954. Fixes #5014.
Closes #5090.
fix(layout): Fix IE align-items: center issue.
In Internet Explorer 10/11, flex items inside of a flex column container
that had `align-items: center;` set would not properly calculate their
width, resulting in 0-width items.
Fix by setting `max-width: 100%` and `box-sizing: border-box` on the
child elements, and fixing the demos to properly use `layout-fill`
where appropriate.
Also fix issue checkbox demo issue with flex fieldsets not properly
rendering in IE.
Closes #5089.
feat(slider): add md-max class when at max value
add md-max class when at max value. This is to keep
things consistent with the fact that md-min is added when
at min value
fixes #3513. closes #5077.
update(docs): significant improvements to the layout and flex docs
* fix hide/show implementation for flex order attribute examples
* improve clarity and consistency of layout docs
* improve hide and show examples and fix display issue on mobile caused by using `md-subheader`
* improve `layout-wrap` examples to cover new flex percentages
* improve the container demo and make it consistent with the other layout/flex demos
* add new section on other flex values like grow, initial, auto, none
* add real examples for `layout-margin`, `layout-padding`, and `layout-fill`
* add details about max-height and max-width settings on row and column layouts
* add note about attribute vs class selectors and IE11 performance
* add example of use of 33/34/33 flex sizes with `layout-wrap`
* remove redundant `style="color:white"` styles
* remove `colorNested` and `colorNested-noPad` from the example code while keeping the functionality
feat(layout): support for `md-layout-css` directive
* implement directive to disable all conversions of Layout attributes to classnames
* requires loading stylesheet `angular-material.layout.css`
* generation of attribute-only layout-css using
* fix css generation
* layout-offset-33 -> margin-left:33%
* layout-offset-34 -> margin-left:34%
* layout-offset-66 -> margin-left:66%
* layout-offset-67 -> margin-left:67%
* support for Layout configuration
* removal of useless $mdLayout service
* update docs to use `.md-api-table` and bold the first-column text.
update(demo, radioButton): add multi-column example
chore(ci): ensure version script pulls in new tags of AngularJS
Closes $5092.
feat(docs): use html5mode routing and simplify urls.
fix(layout): deprecate `offset` attribute in lieu of `flex-offset`
potential conflicts with `offset` attribute overrides may affect SVG and other elements. Revise usage to `flex-offset` to eliminate conflicts. NOTE: the attribute classname `[offset-xxx]` is still supported however the generated subsequent classnames will be `.flex-offset-xxx`.
BREAKING CHANGE: Material Layout attribute `offset` should now be `flex-offset`.
Change your code from this:
```html
<md-content flex offset-gt-sm="33" > ... </div>
```
To this:
```html
<md-content flex flex-offset-gt-sm="33" > ... </div>
```
fix(layout): disable `offset` directive
use the new `flex-offset` directive and remove the deprecated `offset` directive.
update version number in package.json to 0.11.3
fix(theming): BREAKING: no longer apply md-default-theme class to unnested themable elements
closes #4846
Themable elements no longer have a `.md-default-theme` class applied to
them if they are not inside of a directive explicitly setting
`md-theme="default"` this helps reduce specificity making it easier to
override angular material's default style. At the same time, the rule is
applied if `md-theme="default"` so that the (presumably nested) theme
can have higher specificity than other themes in the DOM.
Fix required: Stylesheets should not target elements using the
`md-default-theme` selector. Overrides should happen by targeting non
angular-material provided classes. As a quick fix, a
`md-theme="default"` at the `ng-app` level will result in the
`md-default`theme` class being applied as it was before this fix.
Theming related styles now target `md-default-theme` making it harder to
override when the class is applied.
update(release): commits firebase json changes to docs site
release: version 0.11.3
update(docs): fixes chevron icon in header
amend(): fix default theming rules
fix(docs): Fix broken layout/theming/css nav links.
fix(mdCard): Fix card image height in IE.
In IE11, the height of the card image was not properly displaying
proportinally to the width due to
https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored.
Fix by setting the image to use flex layout itself instead of just
width.
Tested in IE11, Edge, Chrome, Safari & Firefox.
Fixes #761.
fix(list): ng-click changes item width in IE
In IE11, when using `ng-click` on an `md-list-item`, the
width of the list item would be incorrect due to
https://github.com/philipwalton/flexbugs#7-flex-basis-doesnt-account-for-box-sizingborder-box.
Fix CSS to to use `flex: 1 1 auto` instead of `flex: 1`
so that the width is properly calculated.
Fixes #3708.
fix(input): fix border-bottom transparency
closes #5128, references f9d5cf8ed20551ae7fc5f8b4f21407db7fc9bdbc
update(list): add css `.md-long-text` for long paragraphs
Fixes #5122.
update(demo): sidenav toggle debounce removed
The toggle debounce [used to address multiple clicks on the same button] causes a delay and is perceived as a performance issue.
* Use an *immediate* toggle for the right button
* Hide the right button with the right sidenav is open using `isOpenRight( )`
References #3721
fix(docs): fix "Getting started" link in left nav.
fix(docs): remove extra base tag.
update version number in package.json to 0.11.4
update(demo, whiteframe): adaptive changes to margin, color, and fontsize
fix(select): do not let empty arrays satisfy required on multiple select
fixes #4604
fix(datepicker): fix theme not being applied.
fixes #5141.
revert(datepicker): rollback f20a635 for other fix
This reverts commit f20a635424d35d9207226a310248492be6975d3c.
references #5164
fix(tabs,date-picker,theming): restore tabs and date-picker themes
closes #5163, fixes #5141, closes #5164, closes #5155
fix(tooltip): corrected md-tooltip positioning when scrolled
There are several issues out there (e.g. #2406) that point to tooltip positioning when the page is scrolled and
getNearestContentElement that suggests that the enclosed loop is supposed to stop at md-content but does not.
Adding that condition to the loop fixed the positioning issue for me.
Fixes #2406. Closes #5161.
fix(text): remove ddescribe()
fix(autocomplete): fixed integration with dialog
ENTER key on autocomplete with unselected list item didn't prevented the event to bubble up to the dialog which caused the dialog to be rejected.
Separated TAB and ENTER keys behavior to prevent event bubbling and ensuring that no matter what, TAB should always move to the next element.
Fixes #3979. closes #5154
refactor(mdTooltip): removed radial reveal animation
Changed the radial reveal animation to fade-in animation as spec
Fixes #4585. Closes #4821.
fix(autocomplete): adjusts vertical offset of dropdown to account for ngMessages in floating label examples
fix(list): adds support for `data-ng-click` in place of `ng-click` for
buttons
Closes #3374
feat(mdDialog): added openFrom and closeTo properties
openFrom specifies the origin of the transition animation
closeTo specifies the target of the transition animation
both except string (query selector), element and Rect object
fixes #4228. closes #5075.
update(demo, dialog): improved button titles
update(demo, dialog): improved button layouts
fix(mdCard): Content padding not showing in IE 10.
In IE 10, the padding in the content area was not being
properly applied because the `<md-card-content>` element
had no display property set.
Fixes #2974. Closes #5120.
fix(divider): Fix stlying for md-divider inside md-list-item.
When an `md-divider` was used inside of a `md-list-item` with an
`<md-button>`, the divider would improperly show up at the bottom
of the list, instead of the bottom of each list item.
Fix by making the list item's position relative.
Also, we automatically apply special styling when we detect an
`<md-button>` inside of the list item because we assume that it
wraps all of the elements. If you simply wanted to use a secondary
`<md-button>` or other clickable button inside a list, we would
incorrectly apply this styling.
Fix by automatically excluding `md-secondary` buttons and providing
an additional `md-exclude` class that can be added to buttons.
Fixes #3021. Closes #5058.
docs: Add optional dependencies to getting started guide.
Many users have had some issues with getting things to work
correctly because they did not realize that certain dependencies
were optional and not automatically included.
Add a section to the getting started guide to let people know
which dependencies these are.
Fixes #2820. References #4921. Closes #5123.
fix(layout): fix flew-grow and flex-shrink values for flex-xx='xx' markup
flexboxes should be 50% on flex-md=50 breakpoint and 33% on flex-gt-md=33 breakpoint,etc
change flex-grow and flew-shrink values from '0' to '1'
Thx to @MartinMuzatko for his help!
fix(layout): provide missing SCSS variables for standalone Layout css
fix(list): restore ui-sref and href support on md-list-item
closes #2131
fix(layout): standalone layout css flex-grow and flex-shrink updated
flexboxes should be 50% on flex-md=50 breakpoint and 33% on flex-gt-md=33 breakpoint,etc
change flex-grow and flew-shrink values from '0' to '1'. See SHA 9f704302f4f881233.
update(layout): added another flexbox reference url
docs(): add "API" to api doc pages.
closes #5191.
feat(core): add ngMaterial global with version info.
closes #5202.
fix(build): add missing semi-colon.
fix(build): add second missing semi colon
build(docs): add ability to conditionally build docs with jQuery
feat(mdGestures): greatly improve emulated click hijacking
This commit greatly extends the click-hijacking functionality of
`$mdGestures`.
**Background:** iOS emulates click events on a `350ms` delay in order to
avoid sending clicks when users pan, perform gestures, etc. This leads
to pages often feeling laggy in mobile browsers. This appears to be less
of an issue in Safari, but is a major issue in embedded webview
applications such as Chrome on iOS and PhoneGap built apps.
To get around this `$mdGesture` previously `touchstart` and `touchend`
events and manually dispatches `click` events. This allows them to
happen much quicker than the 350ms. It then configures the
page to ignore clicks that were not originated by `$mdGesture`.
**Problem:** While `$mdGesture` did successfully hijack the `click`
event, it did not hijack other emulated events from iOS, including `mouseup`,
`mousedown` and the subsequent `focus` event that could originate from a
delayed `click`.
**Example of problem:**: Issue #4850 was caused by the `md-select`
opening quickly via our simulated `click` event, followed by receiving a
`350ms` OS delayed `mousedown` event resulting in an option immediately
being selected.
Some other example problems that impact the framework:
- Ink ripples are 350ms delayed (use `mousedown` and `mouseup`)
- Some components / items randomly ripple or trigger
after being focused / click. Usually this isn't an issue, but can be
(eg. #4850)
- `focus` events are 350ms delayed (Affects input)
**Soltuion:**: This PR makes `$mdGesture` perform hijacking of
`mousedown`, `mouseup` and subsequent `focus` events in order to more
quickly dispatch them.
**Notes:** A few of our internal components needed some
refactoring as they were properly discarding the emulated `mousedown`
(which is now ignored DOM wide) and relying on those events for state,
etc.
Ripples will need a fix as they now properly ripple on `mousedown` but
can hit a situation where they receive no later `mouseup` event. Perhaps
listening to the document-wide `mouseup` event should be registered on
`mousedown`. An example is scrolling in the Docs' Sidenav via touch.
closes #4850, closes #4757
update(demo): menu and checkbox demo container sizes specified.
Revert "feat(mdGestures): greatly improve emulated click hijacking"
This reverts commit 446df804255273908841d4fa5c37e11ef18d936f.
fix(md-slider): set step property relative to min
Closes #4403. Fixes #4385.
fix(tabs): fix tab paging and sizing on IE11 when tabs are in a dialog
`elements.dummies` is not always valid on IE11. It often throws `Invalid calling object`.
The fix is to call `getElements()` to do a fresh look up of the selectors each time.
Only doing the `getElements()` call when the exception is throw was tried.
It resulted in improperly loading/sizing of tabs on small screen sizes.
Fixes #3953. Closes #5096.
fix(gestures, fabSpeedDial): Gesture ClickHijack iOS fixes and FabSpeedDial fixes
Extend the click-hijacking functionality of `$mdGestures`:
**Background:** iOS emulates click events on a `350ms` delay in order to avoid sending clicks when users pan, perform gestures, etc. This leads to pages often feeling laggy in mobile browsers. This appears to be less of an issue in Safari, but is a major issue in embedded webview applications such as Chrome on iOS and PhoneGap built apps.
To get around this `$mdGesture` currently listens to `touchstart` and `touchend` events to manually dispatch `click` events. This allows it to trigger events much quicker than the 350ms. It then configures the page to ignore clicks that were not originated by `$mdGesture`.
**Problem:** While `$mdGesture` did successfully hijack the `click`event, it did not hijack other emulated events from iOS, including `mouseup`, `mousedown` and the subsequent `focus` event that could originate from a delayed `click`.
**Example of problem:** Issue #4850 was caused by the `md-select` opening quickly via our simulated `click` event, followed by receiving a `350ms` OS delayed `mousedown` event resulting in an option immediately being selected.
Some other example problems that impact the framework:
- Ink ripples are 350ms delayed (use `mousedown` and `mouseup`)
- Some components / items randomly ripple or trigger
after being focused / click. Usually this isn't an issue, but can be
(eg. #4850)
- `focus` events are 350ms delayed (Affects input)
This PR makes `$mdGesture` perform hijacking of the `mousedown`, `mouseup` and subsequent `focus` events in order to more quickly dispatch them.
**Notes:** A few of our internal components needed some refactoring as they were properly discarding the emulated `mousedown` (which is now ignored DOM wide) and relying on those events for state, etc.
Ripples will need a fix as they now properly ripple on `mousedown` but can hit a situation where they receive no later `mouseup` event. Perhaps listening to the document-wide `mouseup` event should be registered on `mousedown`. An example is scrolling in the Docs' Sidenav via touch.
closes #4850, closes #4757. closes #5214. closes #5234. Refs #5195.
fix(dialog): Provide option to not autowrap templates.
For convenience, we automatically wrap templates that do not
contain a `<md-dialog>` tag within them. However, some users
would like the ability to create their own dialog directives
(like `<my-fancy-dialog>`) that internally use the `<md-dialog>`
tag within their template. This causes two `<md-dialog>` tags
to be created.
Provide a new `autoWrap` option which can be set to false to
disable autowrapping when providing a custom directive.
Fixes #4898. Closes #5237.
update version number in package.json to 0.12.0-rc1
update(docs): update layout grid docs to reflect changes in master
`flex` is the same as `flex="0"` again.
`flex="grow"` is the same as `flex="100"` again.
Closes #5245.
fix(layout): Prevent class overriding when lastClass is null
This fixes an annoying behavior of the layout attributes that is removing all the element's other classes when trying to convert layout attributes to classes.
Closes #5257.
update version number in package.json to 1.0.0-rc1
docs: Fix incorrect Codepen GitCDN links.
The release script still pointed to the old GitCDN links which
always redirect to the master branch instead of the version
specified.
Update release script to use proper links.
Fixes #5391. Closes #5392.
Update doc of md-list-item
Update the doc for md-list-item to include a description of the classes `md-2-line` and `md-3-line`, which can be used to increase the height of list items.
Closes #5412.
docs:(switch.js): documenting ng-disabled parameter
Add @param documentation for ng-disabled, in the same style as md-button
Closes #3216.
fix aria property in MdChipRmoveDirective
fix property ariahidden to aria-hidden
Closes #3835.
update(build): set AngularJS dependency to 1.4.7
update(docs): removes outdated part of tabs documentation
Closes #5181
update(tooltip): add support for dynamic `md-direction` attribute
Observing tooltip direction changes and using positionTooltip for live tooltip positioning if the tooltip is visible
* support raw, interpolated, and expression string values to set the tooltip display direction/orientation.
* update demos to show usages and interactions with `md-visible`
Fixes #5362. Closes #5373
fix(md-chips): appendChip disallows identical objects
* appendChip disallows appending an identical string or an exact object (duplicate object) more than once. It now disallows identical objects from being appended.
* appendChips object check loop optimized: md-chips' appendChip uses a filter to loop through items to search for an identical object to chip. This is inefficient since it will keep searching even after it finds a match. Now mdchips appendChip uses a some loop, which stops execution as soon as a match is found.
Fixes #4466. Closes #4479.
update(docs): update starter CodePen
* use the /team/AngularMaterial url for CodePen forks
* use angular-material 1.0.0-rc1 and angular 1.4.7
* update CodePen to latest whiteframe API
Closes #5354.
fix(speedDial): Don't intercept spaces and fix animations.
* The speed dial watched the document for spacebar presses
and intercepted them by preventing the default. There was
really no reason for this, so the code has been removed.
Additionally, all keypress events are now bound to the
element itself instead of document.
* Fix the close animations to properly fire on Safari/iOS.
* Fix some issues after recent gesture updates.
Fixes #5085. Fixes #4750. Fixes #5065. Closes #5396.
fix(autocomplete): clicking on the scrollbar will no longer close
dropdown
Closes #4785
Closes #4625
fix(layout): fix wrapping and filling layouts to 100% using flex-33 or flex-66
Use calc() to determine 33% and 66% so that browser will properly add them together to make 100%.
* Remove flex-34 and flex-67.
* Update docs for these changes.
Fixes #5346. Closes #5348.
cleans up `shouldHide` code
refactor(input): refactors styles to use `display: inline-block`
fix(layout): layout-margin and layout-padding fixes for child containers
**layout-margin** and **layout-padding** were not being applied to child containers unless the *.flex* class was present. This has been fixed.
* layout-margin and layout-padding now affect immediate children
* layout-margin suffixes are supported (-sm, -gt-sm, -md, -gt-md, -lg, -gt-lg)
* layout-padding suffixes are supported (-sm, -gt-sm, -md, -gt-md, -lg, -gt-lg)
> With 'layout-margin', developers may need to override the child container flex sizes to fit properly in `layout="row"` modes. See http://codepen.io/team/AngularMaterial/pen/BoVBaE for details.
Closes #5425. Refs #5014. Refs #5156.
fix(mdChips): Autocomplete styling is incorrect.
The chips autocomplete had unnecessary styling and the default
autocomplete directive does not add the `md-input` class to it's
input, so it did not look correct.
Also fixes issue with md-chip readonly padding styles.
Fixes #4600. Closes #4621.
update(toast): increased toast z-index
Fixes #5100. Closes #5386.
Fix tooltip issue with dynamic directions.
fix(tabs): will no longer jump to top when changing tabs with
`md-dynamic-height`
Closes #4281
fix(dialog): make sure dialog only destroys itself.
Dialog destruction is async and deferred. As such, there's a risk of another dialog having been created by the time the current dialog's "destroy()" is called.
* Added tests for testing dialog double opening.
* Fix a bug which prevents a dialog from being closed if it's opened while another dialog is shown.
Closes #5157.
perf(theming): add on-demand style generation.
Closes #5399.
fix(backdrop): use fixed position for global backdrops.
Set backdrop `position:fixed` when the parent is BODY to give it a position based off the body viewport.
Closes #2831.
fix(speedDial): non-fab clicks no longer close immediately
In the demo application and some user's apps, the `md-open`
attribute was bound to an input element, but clicking this
element while the FAB Speed Dial was open would open and
then immediately close the speed dial since the user clicked
outside of the speed dial.
Fix by delaying the check for outside clicks until the next
digest loop.
Also fix a tiny positioning issue with the fling animation.
Fixes #5243. Closes #5440.
release script will now update latest version with RCs
update version number in package.json to 1.0.0-rc2
fix(datepicker): properly set ngModel validity. Fixes #4926
release: version 1.0.0-rc2
changes rebase strategy in release script for docs site
Add missing breaking changes back to changelog
fix(input): fixes input height in IE11
fix(input): ngMessages will no longer cause layout to change on
animation
fix(menubar): fix RTE with close dialogs invoked from menubar
Closes #5476
refactor(tooltip, util): moved generic functions from tooltip to util
* Refactored the tooltip a bit, made the code a lot approachable to read with adding updatePosition function that now is managing the whole tooltip positioning update
* Moved useful generic functions from the tooltip to the util
Closes #5419.
fix(tabs): icons in tab labels should match the text color
Closes #5465
update(layout): remove dangling commas
update(util): fix test for getParentWithPointerEvents
fix(progressLinear): Remove extra semi-colon from SCSS.
There was a single extra semi-colon in the SCSS for the
progress linear. Fix by removing it.
Fixes #5260.
fix(datepicker): throw error if inside md-input-container. For #5055
fix(layouts): removeAttr RTE on comment nodes
some directives (eg ng-messages-include) inject a comment node which will cause errors when trying to use `node.removeAttribute( )`.
Refs #5454
fix(autocomplete): handle undefined searchText
If the autocomplete's bound searchText was set to undefined,
it would throw an error.
Fix by ensuring that the searchText will always be an empty
string when performing the `handleQuery()` method.
Fixes #5162. Fixes #5393. References #5344. Closes #5445.
fix(autocomplete): fix md-not-found bug with multiple autocompletes
If a developer used more than one autocomplete on the page, all
autocompletes after the first which included a md-not-found
template would incorrectly assume that they also had one even if
they did not.
Fix logic to reset the variable to `false` when necessary.
Fixes #5400. Closes #5442.
fix(dialog): BREAKING CHANGE now md-dialog-actions
fix(card): BREAKING CHANGE now md-card-actions
Support deprecated .md-actions class.
Closes #5466.
docs(changelog): add breaking change for md-dialog-content
Closes #5470.
fix(virtual-repeat): Prevent nested calls to virtualRepeatUpdate_
Due to some browser issues, the $watchCollection callback that calls
virtualRepeatUpdate_ sometimes fires in the middle of a
virtualRepeatUpdate_ call. This can result in duplicate items showing up
in the virtual repeat list.
Fixes #4950. Closes #5009.
fix(lists): Fix alignment of secondary icons/controls.
Icons and controls (like checkbox and switch) were incorrectly
positioned. Fix by ensuring that they are all right-aligned.
Fixes #3699. Closes #5533.
docs: Update dialog demo to use md-dialog-actions.
fix(datepicker): throw error if model is not a Date. For #5266
fix(subheader): Remove 16px right margin.
Previously, the subheader had a 16px right margin that would be
visible and particularly odd if you changed the subheader
background. After recent changes with the subheader now being
stickied to the `<md-content>` instead of the parent, this can
now be removed.
Fixes #4389. Fixes #708. Closes #4419.
fix(select): allow circular references
closes #5330, references #3268
fix(select): ngModel.$touched trigger after menu close
closes #5256
fix(fab): Remove transition for fabs on ng-hide.
Buttons currently have CSS to ensure they do not attempt any
transitions when they have the `ng-hide` class attached. The
`.md-fab` buttons were not receiving the same styles due to
a specificity issue.
Add the same styles for FABs that standard buttons have.
Fixes #5235.
fix(menu-bar): fix sibling nested opening and closing incorrectly
closes #5119
docs(select): explain track by for ngModelController
closes #2862, references #5238, references #3625, references #3012
fix(select): fix ng-change over firing when using trackBy
closes #4118
fix(select): fix escape closing dialogs when used inside select
references #3827
style(menu-bar): fix ie menu items being centered
references #4439
fix(mdUtil): fix disable scroll adding extra scroll-bars on IE
closes #5300
Thanks @van88 for the investigation.
Update iconDirective.js
grammar fix in documentation
Closes #5582.
fix(button): set color of disabled button to highest css priority.
Normally a disabled button in the toolbar won't get the disabled button style, because the theme style is injected after the default style
Fixes #5569. Closes #5574.
fix(toolbar button): Fix color of raised buttons.
Raised buttons inside of a toolbar had the incorrect text color
applied. Fix styles to not apply special toolbar styling to raised buttons.
Fixes #4845. Closes #5562.
fix(virtualRepeat): Add ability for container to resize after creation
Closes #5561.
docs($mdToast): Update docs with more info and better style.
It was not clear that the `$mdToast.simple()` method returned
an object which also had all of the methods/options available
from the `build()` and `show()` methods.
* add a short comment to inform developers.
* update styles to be more readable.
Fixes #2420. Closes #5550.
fix(tabs): fix positioning absolute/fixed elements inside md-tab-content
closes #4613
docs($mdToast): Update docs with more info and better style.
It was not clear that the `$mdToast.simple()` method returned
an object which also had all of the methods/options available
from the `build()` and `show()` methods.
* add a short comment to inform developers.
* update styles to be more readable.
Fixes #2420. Closes #5550.
fix(ripple): changed ripple center from layerX/Y to offsetX/Y
Layer is not considering fixed/absolute positioned elements and it makes the ripple appear from the relative center of the container element,
Offset is relative to the target element therefore is more accurate.
fixes #4807. fixes #5508. closes #5527.
fix(ripple): removing ripples on touchmove
When touching a button in order to scroll, the button creates a ripple as its being pressed, now when the touch moved we assume that this gesture is a scroll so we remove all the ripple effects
fixes #5261. closes #5532.
fix(sidenav): Notify other close events like datepicker-close too
md-datepicker won't close if sidebar is open and the sidebar event stops propagation
Fixes #5522. Closes #5528.
feat(datepicker): predicate function to allow fine-grained control over pickable dates
Fixes #4538. Closes #5475.
update(ripple): refactor to closure function
refactor(chips): Deprecate md-on-append in favor of others.
The usage of `md-on-append` was not well documented and it's
behavior was inconsistent and confusing; many users assumed
it was a simple notification of chip additions which caused
issues.
* renamed `md-on-append` to
`md-transform-chip` and provided a new `md-on-add` method
that is strictly a notification.
* updated the docs and functionality of
`md-transform-chip` to show expected return values and their
associated behavior.
> This new behavior also adds support for simlultaneously using
an autocomplete to select an existing value along with the
ability to create new chips. The most common case for this is
a tag system which shows existing tags, but also allows you to
create new ones.
> Demos have been updated to show new functionality as well as
to workaround a few display issues with the contact chips demo
(#4450).
_**Note:** This work supercedes PR #3816 which can be closed when
this is merged._
BREAKING CHANGE:
`md-on-append` has been renamed/deprecated in favor of
`md-transform-chip` or the simple notifier `md-on-add`.
We expect to remove this completely in 1.0, so please update
your code to use one of the new methods.
Fixes #4666. Fixes #4193. Fixes #4412. Fixes #4863. Closes #5497. Closes #3816.
docs(layout): document negative flex order
Closes #4482. Closes #5543
fix(components): fix issue with removeClass removing previous classes
In certain parts of the project, a "removeClass(className)" is used to remove the class from the element. While this works fine in latest versions of jQuery, in jQuery < 1.9 this results in the element classes being removed when className is undefined, thus breaking the whole layout.
Closes #5538.
fix(datepicker): apply ngMessages errors when using text input. Fixes
update(components): remove null checks for constants
update(autocomplete): improve enter key use on input field
All enter key event bubbling when the input field has a valid selection.
Closes #5302. Fixes #5228.
update(theme): fix missing bracket
Closes #5350.
fix(autocomplete): Allow clicks inside md-not-found.
Fix bug causing the autocomplete to blur, lose focus, and
hide the not found message if the user attempted to click
the not found message (or a link inside of it).
Fixes #5424.
feat(ripple): ink-ripple is now getting an interpolated value
Ink ripple attribute supported only colors.
Now with interpolated value also boolean values are supported
``` html
<div md-ink-ripple="{{myFunc()}}">yay</div>
```
fixes #5438. closes #5580.
fix(ripple): moved mouseleave listener to a separated declaration
This caused tooltip to never get hidden
update(ripple): refactor color()
test(ripple): added test to ink-ripple
* add tests for PR #5580 changes
Closes #5595.
docs(toast): remove 'fit' option which doesn't actually exist.
chore(docs): optimize images (lossless)
update(doc, datepicker): update attributes documentation
replace required to ng-required, disabled to ng-disabled and add
md-placeholder information
Closes #5591.
update(button): add default type to buttons to prevent autosubmission of forms
BREAKING CHANGE: Buttons with undefined `type` will have type="button" assigned, so forms may not submit as previously expected.
Before:
```html
<button class="md-button" ng-transclude>
```
will become
```html
<button type="button" class="md-button" ng-transclude>
```
Fixes #3127. Closes #5468.
update version number in package.json to 1.0.0-rc3
fix(menu): menu items are not aligned in Microsoft Edge
Fixes #3987, closes #5487
feat(mdMenu): add md-prevent-menu-close
closes #5457, closes #4334
fix(mdMenu): fix attempting to close non-existant nested menus
fix(select): fix auto-complete element not being removed from form
closes #5575
Update changelog to mention reverting md-button default type="button"
docs(toast): marked cancel method as DEPRECATED
fixes #4218
fix(select): fix floating label not rendering until focus
closes #5566
style(menu): fix alignment inside toolbars
fix(menuBar, menu): make work in isolate scopes (ng-repat), improve performance, broken hover hilighting
closes #4484, closes #5149, closes #5370
test(phantomJS): fix menu tests for phantomjs
amend(menu): fix removing listeners when they had not ever been added
closes #5683
fix(menu): fix divider disappearing on scrolling menu
closes #5081
fix(menu): all menus no longer self destruct when one is destroyed
closes #5395
feat(showHide): Introduce directives to notify child directives on hide/show. Features extreme tail-hooking technology.
Change the update to use nextTick so that the hide/show has already taken place.
Closes #5579.
chore(virtualRepeat): Address review comments on #5561
Closes #5633.
fix(datepicker): Icon jumping upon open/close.
When the user opened/closed the datepicker in the inputs demo,
the icon would jump to the left. This was caused by two separate
issues:
1. The demo CSS overrode only the closed styles.
2. The browser would scroll the parent datepicker to the left upon
focusing the down-triangle button so that it could be visible.
You can easily reproduce this by tabbing to the down-triangle
then checking the `<md-datepicker>`s `scrollLeft` style.
Fix by removing unnecessary demo CSS and adding proper padding/margin
to the datepicker so that the down-triangle has room to appear.
Fixes #4570. Closes #5703.
pref(list): prevented unnecessary ripple container on list with ng-click
By checking if the element hasClick we preventing unnecessary ripple-container to be attached to the already attached element.
fixes #5295. closes #5658.
docs(inkRipple): added inkRipple service and directive docs
closes #5596. closes #5629.
feat(chips): add support for custom separator keys
Add the ability for chips to be created on keydown of any key code in
the `md-separator-keys` attribute. Custom key codes are supported in
addition to common ones defined in `$mdConstant.KEY_CODE`.
Closes #5279. Closes #5281.
update(tooltip): resize event listener detached on $destroy
Closes #5687. Fixes #5688.
fix(input): fixes alignment issues between textareas and inputs
Closes #5462. Closes #5682.
Revert "fix(input): fixes alignment issues between textareas and inputs"
This reverts commit fb6f81a5a0f400b65ca3ecc72a64d669f1c4bfe8.
fix(autocomplete): adjusts dropdown position for standard input style
Fixes #5558. Closes #5680.
feat(card): improved to behave as spec
Added all functionality as seen in:
http://www.google.com/design/spec/components/cards.html#cards-content-blocks
fixes #1900
Revert "feat(card): improved to behave as spec"
This reverts commit 323d5f6e693e59c596448b53e9e8bc3cf0039e9c.
style(listItem): removed unnecessary button background color and hover background color
fixes #2922. closes #5620.
style(list): overridden button and ripple default radius
Removed button border radius when was placed instead of the list item
fixes #5177. closes #5682.
fix(toast): added position relative to toast parent
Toast is aligned by `position: absolute` therefore its parent must have `position: relative` to enable the toast align properly,
* Added `position: relative` to the parent only if there's no computed style for position (checking for `static` because this is the default computed position)
fixes #4542. closes #5660.
style(input): messages are now invisible when the input is not touched
fixes #5140. closes #5714.
fix(select): disabled option no longer reacting to hover and closing on click
Check disabled attribute before closing menu. When clicking the menu anywhere but a valid option the menu closing will be prevented
fixes #4967. Closes #5619.
fix(input): textarea auto grow fixed
* Textarea should grow automatically if no `rows` attribute is specified.
* Texarea should stay fixed with given `rows` attribute (no growing or shrinking)
Fixes…
This fixes an annoying behavior of the layout attributes that is removing all the element's other classes when trying to convert layout attributes to classes.