Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Responsive Style directive overwrites inline styles #197

Closed
ThomasBurleson opened this issue Feb 23, 2017 · 1 comment · Fixed by #198
Closed

Responsive Style directive overwrites inline styles #197

ThomasBurleson opened this issue Feb 23, 2017 · 1 comment · Fixed by #198
Assignees
Labels
bug enhancement has pr A PR has been created to address this issue
Milestone

Comments

@ThomasBurleson
Copy link
Contributor

The StyleDirective provides features to set inline styles when specific breakpoints activate.

<div  fxLayout
      [style]="{'font-size': '10px', 'margin-left' : '10px'}"
      [style.xs]="{'font-size': '16px'}"
      [style.md]="{'font-size': '12px'}">
</div>

These inline styles do not, however, preserve existing inline styles... they do not merge. This creates a conflict with other inline style injectors within the flex-layout API (e.g. fxLayout).

@ThomasBurleson ThomasBurleson modified the milestones: v2.0.0-rc.1, v2.0.0-rc.2 Feb 23, 2017
@ThomasBurleson ThomasBurleson self-assigned this Feb 23, 2017
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
… all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Restore default (non-activated) inline styles when breakpoint deactivates
* Merge default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* [style.<alias>] selectors are deprecated in favor of [ngStyle.<alias>] selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
@ThomasBurleson ThomasBurleson added the has pr A PR has been created to address this issue label Feb 25, 2017
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
… all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Restore default (non-activated) inline styles when breakpoint deactivates
* Merge default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* [style.<alias>] selectors are deprecated in favor of [ngStyle.<alias>] selectors
* [class.<alias>] selectors are deprecated in favor of [ngClass.<alias>] selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
… all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Restore default (non-activated) inline styles when breakpoint deactivates
* Merge default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* [style.<alias>] selectors are deprecated in favor of [ngStyle.<alias>] selectors
* [class.<alias>] selectors are deprecated in favor of [ngClass.<alias>] selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
… all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Restore default (non-activated) inline styles when breakpoint deactivates
* Merge default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* [style.<alias>] selectors are deprecated in favor of [ngStyle.<alias>] selectors
* [class.<alias>] selectors are deprecated in favor of [ngClass.<alias>] selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Restore default (non-activated) inline styles when breakpoint deactivates
* Merge default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 25, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends NgClass directive.
* ngStyle restores default (non-activated) inline styles when breakpoint deactivates
* ngStyle merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends NgClass directive.
* ngStyle restores default (non-activated) inline styles when breakpoint deactivates
* ngStyle merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends NgClass directive.
* ngStyle restores default (non-activated) inline styles when breakpoint deactivates
* ngStyle merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends NgStyle directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends NgClass directive.
* ngStyle restores default (non-activated) inline styles when breakpoint deactivates
* ngStyle merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method
* Add use of DomSanitizer + SecurityContext.STYLE to safeguard all style values

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…overwriting all existing

* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method
* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 26, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
ThomasBurleson added a commit that referenced this issue Feb 27, 2017
…d styles

* Add use of **DomSanitizer** + **SecurityContext.STYLE** to safeguard all style values
* Deprecated use of `style` selectors to favor `ngStyle` selectors since the functionality extends **NgStyle** directive.
* Deprecated use of `class` selectors to favor `ngClass` selectors since the functionality extends **NgClass** directive.
* `ngStyle` restores default (non-activated) inline styles when breakpoint deactivates
* `ngStyle` merges default inline styles with activated styles
* `ngStyle` selectors support Object notations or raw strings (ala html inline styles)
  *  e.g. Object notation = `[ngStyle]="{'font-size.px': 10, color: 'rgb(0,0,0)', 'text-align':'left'}"`
  *  e.g. Raw-string notation = `style="font-size:10px; color:black; text-align:left;"`
    *  NOTE: delimiters for raw-strings must be `;`.
* Add support to ngStyle for all **NgStyleType** type variations
  *  Added `style-transforms.ts` utilities and tests
  *  Refactored `_buildStyleMap()` method

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
@kara kara closed this as completed in #198 Feb 27, 2017
kara pushed a commit that referenced this issue Feb 27, 2017
…d styles (#198)

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes #197.
karlhaas pushed a commit to karlhaas/flex-layout that referenced this issue May 3, 2017
…d styles (angular#198)

BREAKING CHANGE:

* `[style.<alias>]` selectors are deprecated in favor of `[ngStyle.<alias>]` selectors
* `[class.<alias>]` selectors are deprecated in favor of `[ngClass.<alias>]` selectors
* default styles are merged with activated styles

```html
<div  fxLayout
  [class.xs]="['xs-1', 'xs-2']"
  [style]="{'font-size': '10px', 'margin-left' : '13px'}"
  [style.xs]="{'font-size': '16px'}"
  [style.md]="{'font-size': '12px'}">
</div>
```

```html
<div  fxLayout
  [ngClass.xs]="['xs-1', 'xs-2']"
  [ngStyle]="{'font-size': '10px', 'margin-left' : '13px'}"
  [ngStyle.xs]="{'font-size': '16px'}"
  [ngStyle.md]="{'font-size': '12px'}">
</div>
```

Fixes angular#197.
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug enhancement has pr A PR has been created to address this issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant