1
- import { attrToProp , extend } from './utils.mjs' ;
1
+ import { attrToProp , extend , isObject } from './utils.mjs' ;
2
2
import { paramsList } from './params-list.mjs' ;
3
3
import defaults from '../core/defaults.mjs' ;
4
4
@@ -66,7 +66,7 @@ function getParams(element, propName, propValue) {
66
66
// Attributes
67
67
const attrsList = [ ...element . attributes ] ;
68
68
if ( typeof propName === 'string' && typeof propValue !== 'undefined' ) {
69
- attrsList . push ( { name : propName , value : propValue } ) ;
69
+ attrsList . push ( { name : propName , value : isObject ( propValue ) ? { ... propValue } : propValue } ) ;
70
70
}
71
71
attrsList . forEach ( ( attr ) => {
72
72
const moduleParam = modulesParamsList . filter (
@@ -84,11 +84,11 @@ function getParams(element, propName, propValue) {
84
84
const name = attrToProp ( attr . name ) ;
85
85
if ( ! allowedParams . includes ( name ) ) return ;
86
86
const value = formatValue ( attr . value ) ;
87
- if ( passedParams [ name ] && modulesParamsList . includes ( attr . name ) ) {
87
+ if ( passedParams [ name ] && modulesParamsList . includes ( attr . name ) && ! isObject ( value ) ) {
88
88
if ( passedParams [ name ] . constructor !== Object ) {
89
89
passedParams [ name ] = { } ;
90
90
}
91
- passedParams [ name ] . enabled = value ;
91
+ passedParams [ name ] . enabled = ! ! value ;
92
92
} else {
93
93
passedParams [ name ] = value ;
94
94
}
0 commit comments