Skip to content

Commit 7451ac4

Browse files
committed
Don't use document at the root level to support SSR
1 parent 40f5102 commit 7451ac4

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

src/lasso-manager/index.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,26 @@ import {
3232

3333
const ifNotNull = (v, alternative = null) => (v === null ? alternative : v);
3434

35-
const lassoStyleEl = document.createElement('style');
36-
document.head.appendChild(lassoStyleEl);
35+
let cachedLassoStylesheets;
3736

38-
const lassoStylesheets = lassoStyleEl.sheet;
37+
const getLassoStylesheets = () => {
38+
if (!cachedLassoStylesheets) {
39+
const lassoStyleEl = document.createElement('style');
40+
document.head.appendChild(lassoStyleEl);
41+
cachedLassoStylesheets = lassoStyleEl.sheet;
42+
}
43+
return cachedLassoStylesheets;
44+
};
3945

4046
const addRule = (rule) => {
47+
const lassoStylesheets = getLassoStylesheets();
4148
const currentNumRules = lassoStylesheets.rules.length;
4249
lassoStylesheets.insertRule(rule, currentNumRules);
4350
return currentNumRules;
4451
};
4552

4653
const removeRule = (index) => {
47-
lassoStylesheets.deleteRule(index);
54+
getLassoStylesheets().deleteRule(index);
4855
};
4956

5057
const inAnimation = `${LASSO_SHOW_START_INITIATOR_TIME}ms ease scaleInFadeOut 0s 1 normal backwards`;

0 commit comments

Comments
 (0)