File tree 2 files changed +16
-3
lines changed
ember-style-modifier/src/modifiers
test-app/tests/integration/modifiers 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ function compileStyles(
44
44
}
45
45
46
46
export interface StyleModifierSignature {
47
- Element : HTMLElement ;
47
+ Element : ElementCSSInlineStyle ;
48
48
Args : {
49
49
Positional : CSSStyles [ ] ;
50
50
Named : CSSStyles ;
@@ -54,7 +54,10 @@ export interface StyleModifierSignature {
54
54
export default class StyleModifier extends Modifier < StyleModifierSignature > {
55
55
existingStyles : Set < string > = new Set ( ) ;
56
56
57
- setStyles ( element : HTMLElement , newStyles : [ string , string ] [ ] ) {
57
+ setStyles (
58
+ element : StyleModifierSignature [ 'Element' ] ,
59
+ newStyles : [ string , string ] [ ] ,
60
+ ) {
58
61
const { existingStyles } = this ;
59
62
const rulesToRemove : Set < string > = new Set ( existingStyles ) ;
60
63
@@ -92,7 +95,11 @@ export default class StyleModifier extends Modifier<StyleModifierSignature> {
92
95
rulesToRemove . forEach ( ( rule ) => element . style . removeProperty ( rule ) ) ;
93
96
}
94
97
95
- modify ( element : HTMLElement , positional : [ CSSStyles ] | [ ] , named : CSSStyles ) {
98
+ modify (
99
+ element : StyleModifierSignature [ 'Element' ] ,
100
+ positional : [ CSSStyles ] | [ ] ,
101
+ named : CSSStyles ,
102
+ ) {
96
103
this . setStyles ( element , compileStyles ( positional , named ) ) ;
97
104
}
98
105
}
Original file line number Diff line number Diff line change @@ -60,6 +60,12 @@ module('Integration | Modifiers | style', function (hooks) {
60
60
assert . dom ( 'p' ) . hasStyle ( { fontSize : '6px' } ) ;
61
61
} ) ;
62
62
63
+ test ( 'it supports usage on SVG elements' , async function ( assert ) {
64
+ await render ( hbs `<svg {{style display="none"}}></svg>` ) ;
65
+
66
+ assert . dom ( 'svg' ) . hasStyle ( { display : 'none' } ) ;
67
+ } ) ;
68
+
63
69
{
64
70
interface Context extends TestContext {
65
71
// eslint-disable-next-line @typescript-eslint/ban-types
You can’t perform that action at this time.
0 commit comments