Skip to content

Commit

Permalink
Merge pull request #29 from sairamkiran9/main
Browse files Browse the repository at this point in the history
Styles overriding
  • Loading branch information
mdahardy authored Aug 12, 2024
2 parents 5f276fc + 9affd24 commit 1b6f89a
Showing 1 changed file with 24 additions and 7 deletions.
31 changes: 24 additions & 7 deletions library/core/survey.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,13 +126,30 @@ class Survey {
deepMerge(target, source) {
if (!source || typeof source !== 'object') return target;
if (!target || typeof target !== 'object') return source;

return Object.entries(source).reduce((merged, [key, value]) => {
merged[key] = (key.startsWith('&') || key.startsWith('@media'))
? this.deepMerge(target[key] || {}, value)
: value;
return merged;
}, { ...target });

const merged = { ...target };

Object.entries(source).forEach(([key, value]) => {
if (key.startsWith('&') || key.startsWith('@media')) {
if(target[key]){
Object.entries(target[key]).forEach(([k,v]) => {
if(k in source) target[key][k] = source[k];
})
}
merged[key] = this.deepMerge(target[key] || {}, value);
} else {
merged[key] = value;
Object.entries(merged).forEach(([k, v]) => {
if (k.startsWith('&') || k.startsWith('@media')) {
merged[k] = {
...v,
[key]: value,
};
}
});
}
});
return merged;
}

generateStylesheet() {
Expand Down

0 comments on commit 1b6f89a

Please sign in to comment.