From 074a27eba25e116bcecc39060461f8246f407706 Mon Sep 17 00:00:00 2001 From: Rene Haas Date: Wed, 27 Mar 2024 13:16:43 +0100 Subject: [PATCH] make element='body' viable in solidjs --- .devcontainer/devcontainer.json | 2 +- local/config/package.json | 3 +- local/config/src/vitest.mjs | 1 + local/config/src/vitest.new-jsdom.env.mjs | 5 ++ package-lock.json | 13 ++-- .../coverage/.tmp/coverage-0.json | 1 - .../coverage/.tmp/coverage-1.json | 1 - .../test/OverlayScrollbarsComponent.test.tsx | 50 --------------- .../body/OverlayScrollbarsComponent.test.tsx | 61 +++++++++++++++++++ .../overlayscrollbars-react/vitest.config.mjs | 11 +++- .../src/OverlayScrollbarsComponent.tsx | 47 +++++++++----- .../test/OverlayScrollbarsComponent.test.tsx | 3 - .../body/OverlayScrollbarsComponent.test.tsx | 55 +++++++++++++++++ .../overlayscrollbars-solid/vitest.config.mjs | 4 ++ 14 files changed, 179 insertions(+), 78 deletions(-) create mode 100644 local/config/src/vitest.new-jsdom.env.mjs delete mode 100644 packages/overlayscrollbars-react/coverage/.tmp/coverage-0.json delete mode 100644 packages/overlayscrollbars-react/coverage/.tmp/coverage-1.json create mode 100644 packages/overlayscrollbars-react/test/body/OverlayScrollbarsComponent.test.tsx create mode 100644 packages/overlayscrollbars-solid/test/body/OverlayScrollbarsComponent.test.tsx diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index aa7a99fe..dda51c9f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ // README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node { "name": "Node.js & TypeScript", - "image": "mcr.microsoft.com/devcontainers/typescript-node:16-bullseye" + "image": "mcr.microsoft.com/devcontainers/typescript-node:20-bullseye" // "postCreateCommand": "npm i && npm run build:os" // Features to add to the dev container. More info: https://containers.dev/features. diff --git a/local/config/package.json b/local/config/package.json index 3f23432d..07196b4b 100644 --- a/local/config/package.json +++ b/local/config/package.json @@ -8,7 +8,8 @@ "./jest": "./src/jest.js", "./jest-babel": "./src/jest.babel.js", "./full-coverage": "./src/full-coverage.js", - "./vitest": "./src/vitest.mjs" + "./vitest": "./src/vitest.mjs", + "./vitest.new-jsdom.env": "./src/vitest.new-jsdom.env.mjs" }, "version": "0.0.0" } diff --git a/local/config/src/vitest.mjs b/local/config/src/vitest.mjs index 39f68e0a..0b73eb39 100644 --- a/local/config/src/vitest.mjs +++ b/local/config/src/vitest.mjs @@ -13,6 +13,7 @@ export default defineConfig({ include, coverage: { reportsDirectory: './.coverage/unit', + exclude: ['**/*.env.*'], }, poolOptions: { threads: { diff --git a/local/config/src/vitest.new-jsdom.env.mjs b/local/config/src/vitest.new-jsdom.env.mjs new file mode 100644 index 00000000..25a1fa59 --- /dev/null +++ b/local/config/src/vitest.new-jsdom.env.mjs @@ -0,0 +1,5 @@ +import { builtinEnvironments } from 'vitest/environments'; +export default { + name: String(performance.now()), + ...builtinEnvironments.jsdom, +}; diff --git a/package-lock.json b/package-lock.json index 0a62f5f0..56f813c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28420,7 +28420,7 @@ } }, "packages/overlayscrollbars": { - "version": "2.4.6", + "version": "2.6.1", "license": "MIT", "devDependencies": { "@rollup/plugin-terser": "^0.4.4", @@ -29711,7 +29711,7 @@ "dev": true }, "packages/overlayscrollbars-react": { - "version": "0.5.3", + "version": "0.5.5", "license": "MIT", "devDependencies": { "@testing-library/react": "^13.4.0", @@ -29732,7 +29732,7 @@ "link": true }, "packages/overlayscrollbars-solid": { - "version": "0.5.2", + "version": "0.5.4", "license": "MIT", "devDependencies": { "overlayscrollbars": "file:./../overlayscrollbars/dist", @@ -29751,7 +29751,7 @@ "link": true }, "packages/overlayscrollbars-svelte": { - "version": "0.5.2", + "version": "0.5.3", "license": "MIT", "devDependencies": { "@sveltejs/adapter-auto": "^3.0.1", @@ -29776,7 +29776,7 @@ "link": true }, "packages/overlayscrollbars-vue": { - "version": "0.5.6", + "version": "0.5.8", "license": "MIT", "devDependencies": { "@testing-library/vue": "^6.6.1", @@ -29797,7 +29797,8 @@ "link": true }, "packages/overlayscrollbars/dist": { - "version": "2.4.6", + "name": "overlayscrollbars", + "version": "2.6.1", "dev": true, "license": "MIT" } diff --git a/packages/overlayscrollbars-react/coverage/.tmp/coverage-0.json b/packages/overlayscrollbars-react/coverage/.tmp/coverage-0.json deleted file mode 100644 index 4bba8630..00000000 --- a/packages/overlayscrollbars-react/coverage/.tmp/coverage-0.json +++ /dev/null @@ -1 +0,0 @@ -{"result":[{"scriptId":"771","url":"file:///C:/Github/OverlayScrollbars/packages/overlayscrollbars-react/test/useOverlayScrollbars.test.tsx","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6830,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13,"endOffset":6830,"count":1},{"startOffset":1088,"endOffset":6829,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1151,"endOffset":3108,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1249","url":"file:///C:/Github/OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.mjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":395532,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13,"endOffset":395532,"count":1},{"startOffset":885,"endOffset":905,"count":0},{"startOffset":4784,"endOffset":4804,"count":0},{"startOffset":6902,"endOffset":6910,"count":0}],"isBlockCoverage":true},{"functionName":"createCache","ranges":[{"startOffset":364,"endOffset":828,"count":0}],"isBlockCoverage":false},{"functionName":"isUndefined","ranges":[{"startOffset":1020,"endOffset":1037,"count":0}],"isBlockCoverage":false},{"functionName":"isNull","ranges":[{"startOffset":1055,"endOffset":1070,"count":0}],"isBlockCoverage":false},{"functionName":"type","ranges":[{"startOffset":1086,"endOffset":1170,"count":0}],"isBlockCoverage":false},{"functionName":"isNumber","ranges":[{"startOffset":1190,"endOffset":1216,"count":4}],"isBlockCoverage":true},{"functionName":"isString","ranges":[{"startOffset":1236,"endOffset":1262,"count":0}],"isBlockCoverage":false},{"functionName":"isBoolean","ranges":[{"startOffset":1283,"endOffset":1310,"count":0}],"isBlockCoverage":false},{"functionName":"isFunction","ranges":[{"startOffset":1332,"endOffset":1360,"count":0}],"isBlockCoverage":false},{"functionName":"isArray","ranges":[{"startOffset":1379,"endOffset":1400,"count":8}],"isBlockCoverage":true},{"functionName":"isObject","ranges":[{"startOffset":1420,"endOffset":1475,"count":4},{"startOffset":1462,"endOffset":1475,"count":0}],"isBlockCoverage":true},{"functionName":"isArrayLike","ranges":[{"startOffset":1498,"endOffset":1679,"count":4},{"startOffset":1603,"endOffset":1625,"count":0},{"startOffset":1649,"endOffset":1661,"count":0},{"startOffset":1669,"endOffset":1676,"count":0}],"isBlockCoverage":true},{"functionName":"isPlainObject","ranges":[{"startOffset":1704,"endOffset":2045,"count":0}],"isBlockCoverage":false},{"functionName":"isHTMLElement","ranges":[{"startOffset":2070,"endOffset":2163,"count":0}],"isBlockCoverage":false},{"functionName":"isElement","ranges":[{"startOffset":2184,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"each","ranges":[{"startOffset":2276,"endOffset":2512,"count":4},{"startOffset":2361,"endOffset":2428,"count":32},{"startOffset":2398,"endOffset":2422,"count":0},{"startOffset":2432,"endOffset":2498,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2473,"endOffset":2491,"count":0}],"isBlockCoverage":false},{"functionName":"inArray","ranges":[{"startOffset":2530,"endOffset":2557,"count":0}],"isBlockCoverage":false},{"functionName":"concat","ranges":[{"startOffset":2575,"endOffset":2596,"count":0}],"isBlockCoverage":false},{"functionName":"push","ranges":[{"startOffset":2612,"endOffset":2727,"count":0}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":2743,"endOffset":2977,"count":0}],"isBlockCoverage":false},{"functionName":"isEmptyArray","ranges":[{"startOffset":3001,"endOffset":3022,"count":0}],"isBlockCoverage":false},{"functionName":"cloneArray","ranges":[{"startOffset":3044,"endOffset":3065,"count":0}],"isBlockCoverage":false},{"functionName":"runEachAndClear","ranges":[{"startOffset":3092,"endOffset":3202,"count":0}],"isBlockCoverage":false},{"functionName":"hasOwnProperty","ranges":[{"startOffset":3228,"endOffset":3280,"count":4}],"isBlockCoverage":true},{"functionName":"keys","ranges":[{"startOffset":3296,"endOffset":3324,"count":0}],"isBlockCoverage":false},{"functionName":"assignDeep","ranges":[{"startOffset":3346,"endOffset":3951,"count":0}],"isBlockCoverage":false},{"functionName":"removeUndefinedProperties","ranges":[{"startOffset":3988,"endOffset":4171,"count":0}],"isBlockCoverage":false},{"functionName":"isEmptyObject","ranges":[{"startOffset":4196,"endOffset":4264,"count":0}],"isBlockCoverage":false},{"functionName":"attr","ranges":[{"startOffset":4280,"endOffset":4394,"count":0}],"isBlockCoverage":false},{"functionName":"getValueSet","ranges":[{"startOffset":4417,"endOffset":4465,"count":0}],"isBlockCoverage":false},{"functionName":"removeAttr","ranges":[{"startOffset":4487,"endOffset":4529,"count":0}],"isBlockCoverage":false},{"functionName":"attrClass","ranges":[{"startOffset":4550,"endOffset":4708,"count":0}],"isBlockCoverage":false},{"functionName":"hasAttrClass","ranges":[{"startOffset":4732,"endOffset":4769,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":4820,"endOffset":4944,"count":0}],"isBlockCoverage":false},{"functionName":"findFirst","ranges":[{"startOffset":4965,"endOffset":5064,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":5078,"endOffset":5206,"count":0}],"isBlockCoverage":false},{"functionName":"contents","ranges":[{"startOffset":5226,"endOffset":5258,"count":0}],"isBlockCoverage":false},{"functionName":"parent","ranges":[{"startOffset":5276,"endOffset":5301,"count":0}],"isBlockCoverage":false},{"functionName":"closest","ranges":[{"startOffset":5320,"endOffset":5525,"count":0}],"isBlockCoverage":false},{"functionName":"liesBetween","ranges":[{"startOffset":5548,"endOffset":5744,"count":0}],"isBlockCoverage":false},{"functionName":"noop","ranges":[{"startOffset":5760,"endOffset":5768,"count":0}],"isBlockCoverage":false},{"functionName":"removeElements","ranges":[{"startOffset":5794,"endOffset":5945,"count":0}],"isBlockCoverage":false},{"functionName":"before","ranges":[{"startOffset":5963,"endOffset":6462,"count":0}],"isBlockCoverage":false},{"functionName":"appendChildren","ranges":[{"startOffset":6488,"endOffset":6516,"count":0}],"isBlockCoverage":false},{"functionName":"insertBefore","ranges":[{"startOffset":6540,"endOffset":6573,"count":0}],"isBlockCoverage":false},{"functionName":"insertAfter","ranges":[{"startOffset":6596,"endOffset":6646,"count":0}],"isBlockCoverage":false},{"functionName":"createDiv","ranges":[{"startOffset":6667,"endOffset":6753,"count":0}],"isBlockCoverage":false},{"functionName":"createDOM","ranges":[{"startOffset":6774,"endOffset":6887,"count":0}],"isBlockCoverage":false},{"functionName":"firstLetterToUpper","ranges":[{"startOffset":7154,"endOffset":7197,"count":32}],"isBlockCoverage":true},{"functionName":"getDummyStyle","ranges":[{"startOffset":7222,"endOffset":7245,"count":0}],"isBlockCoverage":false},{"functionName":"cssProperty","ranges":[{"startOffset":7420,"endOffset":7753,"count":0}],"isBlockCoverage":false},{"functionName":"jsAPI","ranges":[{"startOffset":7770,"endOffset":7957,"count":4},{"startOffset":7829,"endOffset":7848,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7860,"endOffset":7928,"count":32}],"isBlockCoverage":true},{"functionName":"bind","ranges":[{"startOffset":8125,"endOffset":8153,"count":3}],"isBlockCoverage":true},{"functionName":"selfClearTimeout","ranges":[{"startOffset":8181,"endOffset":8330,"count":0}],"isBlockCoverage":false},{"functionName":"debounce","ranges":[{"startOffset":8350,"endOffset":9285,"count":0}],"isBlockCoverage":false},{"functionName":"classListAction","ranges":[{"startOffset":9344,"endOffset":9587,"count":0}],"isBlockCoverage":false},{"functionName":"removeClass","ranges":[{"startOffset":9610,"endOffset":9673,"count":0}],"isBlockCoverage":false},{"functionName":"addClass","ranges":[{"startOffset":9693,"endOffset":9787,"count":0}],"isBlockCoverage":false},{"functionName":"getCSSVal","ranges":[{"startOffset":9826,"endOffset":9871,"count":0}],"isBlockCoverage":false},{"functionName":"validFiniteNumber","ranges":[{"startOffset":9900,"endOffset":9958,"count":0}],"isBlockCoverage":false},{"functionName":"parseToZeroOrNumber","ranges":[{"startOffset":9989,"endOffset":10032,"count":0}],"isBlockCoverage":false},{"functionName":"ratioToCssPercent","ranges":[{"startOffset":10061,"endOffset":10111,"count":0}],"isBlockCoverage":false},{"functionName":"numberToCssPx","ranges":[{"startOffset":10136,"endOffset":10168,"count":0}],"isBlockCoverage":false},{"functionName":"setStyles","ranges":[{"startOffset":10171,"endOffset":10438,"count":0}],"isBlockCoverage":false},{"functionName":"getStyles","ranges":[{"startOffset":10440,"endOffset":10707,"count":0}],"isBlockCoverage":false},{"functionName":"getDirectionIsRTL","ranges":[{"startOffset":10735,"endOffset":10775,"count":0}],"isBlockCoverage":false},{"functionName":"topRightBottomLeft","ranges":[{"startOffset":10805,"endOffset":11188,"count":0}],"isBlockCoverage":false},{"functionName":"getTrasformTranslateValue","ranges":[{"startOffset":11225,"endOffset":11307,"count":0}],"isBlockCoverage":false},{"functionName":"getElmWidthHeightProperty","ranges":[{"startOffset":11669,"endOffset":11732,"count":0}],"isBlockCoverage":false},{"functionName":"windowSize","ranges":[{"startOffset":11754,"endOffset":11801,"count":0}],"isBlockCoverage":false},{"functionName":"fractionalSize","ranges":[{"startOffset":11989,"endOffset":12138,"count":0}],"isBlockCoverage":false},{"functionName":"getBoundingClientRect","ranges":[{"startOffset":12171,"endOffset":12201,"count":0}],"isBlockCoverage":false},{"functionName":"domRectHasDimensions","ranges":[{"startOffset":12233,"endOffset":12261,"count":0}],"isBlockCoverage":false},{"functionName":"domRectAppeared","ranges":[{"startOffset":12288,"endOffset":12393,"count":0}],"isBlockCoverage":false},{"functionName":"animationCurrentTime","ranges":[{"startOffset":12425,"endOffset":12448,"count":0}],"isBlockCoverage":false},{"functionName":"animateNumber","ranges":[{"startOffset":12473,"endOffset":12946,"count":0}],"isBlockCoverage":false},{"functionName":"equal","ranges":[{"startOffset":12963,"endOffset":13199,"count":0}],"isBlockCoverage":false},{"functionName":"equalWH","ranges":[{"startOffset":13218,"endOffset":13253,"count":0}],"isBlockCoverage":false},{"functionName":"equalXY","ranges":[{"startOffset":13272,"endOffset":13307,"count":0}],"isBlockCoverage":false},{"functionName":"equalTRBL","ranges":[{"startOffset":13328,"endOffset":13373,"count":0}],"isBlockCoverage":false},{"functionName":"equalBCRWH","ranges":[{"startOffset":13395,"endOffset":13447,"count":0}],"isBlockCoverage":false},{"functionName":"supportPassiveEvents","ranges":[{"startOffset":13509,"endOffset":13724,"count":0}],"isBlockCoverage":false},{"functionName":"splitEventNames","ranges":[{"startOffset":13751,"endOffset":13768,"count":0}],"isBlockCoverage":false},{"functionName":"removeEventListener","ranges":[{"startOffset":13799,"endOffset":13896,"count":0}],"isBlockCoverage":false},{"functionName":"addEventListener","ranges":[{"startOffset":13924,"endOffset":14397,"count":0}],"isBlockCoverage":false},{"functionName":"stopPropagation","ranges":[{"startOffset":14424,"endOffset":14448,"count":0}],"isBlockCoverage":false},{"functionName":"preventDefault","ranges":[{"startOffset":14474,"endOffset":14497,"count":0}],"isBlockCoverage":false},{"functionName":"absoluteCoordinates","ranges":[{"startOffset":14559,"endOffset":14694,"count":0}],"isBlockCoverage":false},{"functionName":"getRTLCompatibleScrollPosition","ranges":[{"startOffset":14736,"endOffset":14783,"count":0}],"isBlockCoverage":false},{"functionName":"getRTLCompatibleScrollBounds","ranges":[{"startOffset":14823,"endOffset":14897,"count":0}],"isBlockCoverage":false},{"functionName":"scrollElementTo","ranges":[{"startOffset":14924,"endOffset":15083,"count":0}],"isBlockCoverage":false},{"functionName":"getElmentScroll","ranges":[{"startOffset":15110,"endOffset":15156,"count":0}],"isBlockCoverage":false},{"functionName":"manageListener","ranges":[{"startOffset":15182,"endOffset":15230,"count":0}],"isBlockCoverage":false},{"functionName":"createEventListenerHub","ranges":[{"startOffset":15264,"endOffset":16276,"count":0}],"isBlockCoverage":false},{"functionName":"opsStringify","ranges":[{"startOffset":16300,"endOffset":16391,"count":0}],"isBlockCoverage":false},{"functionName":"getPropByPath","ranges":[{"startOffset":16416,"endOffset":16521,"count":0}],"isBlockCoverage":false},{"functionName":"getOptionsDiff","ranges":[{"startOffset":17047,"endOffset":17630,"count":0}],"isBlockCoverage":false},{"functionName":"createOptionCheck","ranges":[{"startOffset":17659,"endOffset":17737,"count":0}],"isBlockCoverage":false},{"functionName":"addPlugins","ranges":[{"startOffset":19086,"endOffset":19158,"count":0}],"isBlockCoverage":false},{"functionName":"registerPluginModuleInstances","ranges":[{"startOffset":19199,"endOffset":19409,"count":0}],"isBlockCoverage":false},{"functionName":"getStaticPluginModuleInstance","ranges":[{"startOffset":19450,"endOffset":19460,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19572,"endOffset":20880,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":19603,"endOffset":20873,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20969,"endOffset":24638,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":21000,"endOffset":24631,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24709,"endOffset":25430,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":24740,"endOffset":25423,"count":0}],"isBlockCoverage":false},{"functionName":"getNativeScrollbarSize","ranges":[{"startOffset":25476,"endOffset":25675,"count":0}],"isBlockCoverage":false},{"functionName":"getNativeScrollbarsHiding","ranges":[{"startOffset":25712,"endOffset":25935,"count":0}],"isBlockCoverage":false},{"functionName":"getRtlScrollBehavior","ranges":[{"startOffset":25967,"endOffset":26290,"count":0}],"isBlockCoverage":false},{"functionName":"getFlexboxGlue","ranges":[{"startOffset":26316,"endOffset":26640,"count":0}],"isBlockCoverage":false},{"functionName":"createEnvironment","ranges":[{"startOffset":26669,"endOffset":28104,"count":0}],"isBlockCoverage":false},{"functionName":"getEnvironment","ranges":[{"startOffset":28130,"endOffset":28199,"count":0}],"isBlockCoverage":false},{"functionName":"resolveInitialization","ranges":[{"startOffset":28232,"endOffset":28275,"count":0}],"isBlockCoverage":false},{"functionName":"staticInitializationElement","ranges":[{"startOffset":28314,"endOffset":28439,"count":0}],"isBlockCoverage":false},{"functionName":"dynamicInitializationElement","ranges":[{"startOffset":28479,"endOffset":28631,"count":0}],"isBlockCoverage":false},{"functionName":"cancelInitialization","ranges":[{"startOffset":28663,"endOffset":29000,"count":0}],"isBlockCoverage":false},{"functionName":"addInstance","ranges":[{"startOffset":29048,"endOffset":29077,"count":0}],"isBlockCoverage":false},{"functionName":"removeInstance","ranges":[{"startOffset":29103,"endOffset":29127,"count":0}],"isBlockCoverage":false},{"functionName":"getInstance","ranges":[{"startOffset":29150,"endOffset":29164,"count":0}],"isBlockCoverage":false},{"functionName":"createEventContentChange","ranges":[{"startOffset":29200,"endOffset":30055,"count":0}],"isBlockCoverage":false},{"functionName":"createDOMObserver","ranges":[{"startOffset":30084,"endOffset":32171,"count":0}],"isBlockCoverage":false},{"functionName":"createSizeObserver","ranges":[{"startOffset":32201,"endOffset":34249,"count":0}],"isBlockCoverage":false},{"functionName":"createTrinsicObserver","ranges":[{"startOffset":34282,"endOffset":35305,"count":0}],"isBlockCoverage":false},{"functionName":"createObserversSetup","ranges":[{"startOffset":35337,"endOffset":39712,"count":0}],"isBlockCoverage":false},{"functionName":"capNumber","ranges":[{"startOffset":39733,"endOffset":39759,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleOffsetPercent","ranges":[{"startOffset":39802,"endOffset":40024,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleLengthRatio","ranges":[{"startOffset":40065,"endOffset":40402,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleOffsetRatio","ranges":[{"startOffset":40443,"endOffset":40544,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetupElements","ranges":[{"startOffset":40585,"endOffset":45975,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetupEvents","ranges":[{"startOffset":46014,"endOffset":49876,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetup","ranges":[{"startOffset":49909,"endOffset":53630,"count":0}],"isBlockCoverage":false},{"functionName":"createStructureSetupElements","ranges":[{"startOffset":53670,"endOffset":57403,"count":0}],"isBlockCoverage":false},{"functionName":"createTrinsicUpdateSegment","ranges":[{"startOffset":57441,"endOffset":57671,"count":0}],"isBlockCoverage":false},{"functionName":"createPaddingUpdateSegment","ranges":[{"startOffset":57709,"endOffset":58900,"count":0}],"isBlockCoverage":false},{"functionName":"createOverflowUpdateSegment","ranges":[{"startOffset":58939,"endOffset":64523,"count":0}],"isBlockCoverage":false},{"functionName":"createStructureSetup","ranges":[{"startOffset":64555,"endOffset":65523,"count":0}],"isBlockCoverage":false},{"functionName":"createSetups","ranges":[{"startOffset":65547,"endOffset":66778,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars","ranges":[{"startOffset":66807,"endOffset":70634,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.plugin","ranges":[{"startOffset":70664,"endOffset":70845,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.valid","ranges":[{"startOffset":70874,"endOffset":70999,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.env","ranges":[{"startOffset":71026,"endOffset":71528,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71637,"endOffset":71655,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71764,"endOffset":71797,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71911,"endOffset":71929,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":72039,"endOffset":72057,"count":0}],"isBlockCoverage":false}]}]} \ No newline at end of file diff --git a/packages/overlayscrollbars-react/coverage/.tmp/coverage-1.json b/packages/overlayscrollbars-react/coverage/.tmp/coverage-1.json deleted file mode 100644 index 6bbea9be..00000000 --- a/packages/overlayscrollbars-react/coverage/.tmp/coverage-1.json +++ /dev/null @@ -1 +0,0 @@ -{"result":[{"scriptId":"771","url":"file:///C:/Github/OverlayScrollbars/packages/overlayscrollbars-react/test/OverlayScrollbarsComponent.test.tsx","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":48768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13,"endOffset":48768,"count":1},{"startOffset":1121,"endOffset":48767,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1360,"endOffset":22454,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1249","url":"file:///C:/Github/OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.mjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":395532,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13,"endOffset":395532,"count":1},{"startOffset":885,"endOffset":905,"count":0},{"startOffset":4784,"endOffset":4804,"count":0},{"startOffset":6902,"endOffset":6910,"count":0}],"isBlockCoverage":true},{"functionName":"createCache","ranges":[{"startOffset":364,"endOffset":828,"count":0}],"isBlockCoverage":false},{"functionName":"isUndefined","ranges":[{"startOffset":1020,"endOffset":1037,"count":0}],"isBlockCoverage":false},{"functionName":"isNull","ranges":[{"startOffset":1055,"endOffset":1070,"count":0}],"isBlockCoverage":false},{"functionName":"type","ranges":[{"startOffset":1086,"endOffset":1170,"count":0}],"isBlockCoverage":false},{"functionName":"isNumber","ranges":[{"startOffset":1190,"endOffset":1216,"count":4}],"isBlockCoverage":true},{"functionName":"isString","ranges":[{"startOffset":1236,"endOffset":1262,"count":0}],"isBlockCoverage":false},{"functionName":"isBoolean","ranges":[{"startOffset":1283,"endOffset":1310,"count":0}],"isBlockCoverage":false},{"functionName":"isFunction","ranges":[{"startOffset":1332,"endOffset":1360,"count":0}],"isBlockCoverage":false},{"functionName":"isArray","ranges":[{"startOffset":1379,"endOffset":1400,"count":8}],"isBlockCoverage":true},{"functionName":"isObject","ranges":[{"startOffset":1420,"endOffset":1475,"count":4},{"startOffset":1462,"endOffset":1475,"count":0}],"isBlockCoverage":true},{"functionName":"isArrayLike","ranges":[{"startOffset":1498,"endOffset":1679,"count":4},{"startOffset":1603,"endOffset":1625,"count":0},{"startOffset":1649,"endOffset":1661,"count":0},{"startOffset":1669,"endOffset":1676,"count":0}],"isBlockCoverage":true},{"functionName":"isPlainObject","ranges":[{"startOffset":1704,"endOffset":2045,"count":0}],"isBlockCoverage":false},{"functionName":"isHTMLElement","ranges":[{"startOffset":2070,"endOffset":2163,"count":0}],"isBlockCoverage":false},{"functionName":"isElement","ranges":[{"startOffset":2184,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"each","ranges":[{"startOffset":2276,"endOffset":2512,"count":4},{"startOffset":2361,"endOffset":2428,"count":32},{"startOffset":2398,"endOffset":2422,"count":0},{"startOffset":2432,"endOffset":2498,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2473,"endOffset":2491,"count":0}],"isBlockCoverage":false},{"functionName":"inArray","ranges":[{"startOffset":2530,"endOffset":2557,"count":0}],"isBlockCoverage":false},{"functionName":"concat","ranges":[{"startOffset":2575,"endOffset":2596,"count":0}],"isBlockCoverage":false},{"functionName":"push","ranges":[{"startOffset":2612,"endOffset":2727,"count":0}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":2743,"endOffset":2977,"count":0}],"isBlockCoverage":false},{"functionName":"isEmptyArray","ranges":[{"startOffset":3001,"endOffset":3022,"count":0}],"isBlockCoverage":false},{"functionName":"cloneArray","ranges":[{"startOffset":3044,"endOffset":3065,"count":0}],"isBlockCoverage":false},{"functionName":"runEachAndClear","ranges":[{"startOffset":3092,"endOffset":3202,"count":0}],"isBlockCoverage":false},{"functionName":"hasOwnProperty","ranges":[{"startOffset":3228,"endOffset":3280,"count":4}],"isBlockCoverage":true},{"functionName":"keys","ranges":[{"startOffset":3296,"endOffset":3324,"count":0}],"isBlockCoverage":false},{"functionName":"assignDeep","ranges":[{"startOffset":3346,"endOffset":3951,"count":0}],"isBlockCoverage":false},{"functionName":"removeUndefinedProperties","ranges":[{"startOffset":3988,"endOffset":4171,"count":0}],"isBlockCoverage":false},{"functionName":"isEmptyObject","ranges":[{"startOffset":4196,"endOffset":4264,"count":0}],"isBlockCoverage":false},{"functionName":"attr","ranges":[{"startOffset":4280,"endOffset":4394,"count":0}],"isBlockCoverage":false},{"functionName":"getValueSet","ranges":[{"startOffset":4417,"endOffset":4465,"count":0}],"isBlockCoverage":false},{"functionName":"removeAttr","ranges":[{"startOffset":4487,"endOffset":4529,"count":0}],"isBlockCoverage":false},{"functionName":"attrClass","ranges":[{"startOffset":4550,"endOffset":4708,"count":0}],"isBlockCoverage":false},{"functionName":"hasAttrClass","ranges":[{"startOffset":4732,"endOffset":4769,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":4820,"endOffset":4944,"count":0}],"isBlockCoverage":false},{"functionName":"findFirst","ranges":[{"startOffset":4965,"endOffset":5064,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":5078,"endOffset":5206,"count":0}],"isBlockCoverage":false},{"functionName":"contents","ranges":[{"startOffset":5226,"endOffset":5258,"count":0}],"isBlockCoverage":false},{"functionName":"parent","ranges":[{"startOffset":5276,"endOffset":5301,"count":0}],"isBlockCoverage":false},{"functionName":"closest","ranges":[{"startOffset":5320,"endOffset":5525,"count":0}],"isBlockCoverage":false},{"functionName":"liesBetween","ranges":[{"startOffset":5548,"endOffset":5744,"count":0}],"isBlockCoverage":false},{"functionName":"noop","ranges":[{"startOffset":5760,"endOffset":5768,"count":0}],"isBlockCoverage":false},{"functionName":"removeElements","ranges":[{"startOffset":5794,"endOffset":5945,"count":0}],"isBlockCoverage":false},{"functionName":"before","ranges":[{"startOffset":5963,"endOffset":6462,"count":0}],"isBlockCoverage":false},{"functionName":"appendChildren","ranges":[{"startOffset":6488,"endOffset":6516,"count":0}],"isBlockCoverage":false},{"functionName":"insertBefore","ranges":[{"startOffset":6540,"endOffset":6573,"count":0}],"isBlockCoverage":false},{"functionName":"insertAfter","ranges":[{"startOffset":6596,"endOffset":6646,"count":0}],"isBlockCoverage":false},{"functionName":"createDiv","ranges":[{"startOffset":6667,"endOffset":6753,"count":0}],"isBlockCoverage":false},{"functionName":"createDOM","ranges":[{"startOffset":6774,"endOffset":6887,"count":0}],"isBlockCoverage":false},{"functionName":"firstLetterToUpper","ranges":[{"startOffset":7154,"endOffset":7197,"count":32}],"isBlockCoverage":true},{"functionName":"getDummyStyle","ranges":[{"startOffset":7222,"endOffset":7245,"count":0}],"isBlockCoverage":false},{"functionName":"cssProperty","ranges":[{"startOffset":7420,"endOffset":7753,"count":0}],"isBlockCoverage":false},{"functionName":"jsAPI","ranges":[{"startOffset":7770,"endOffset":7957,"count":4},{"startOffset":7829,"endOffset":7848,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7860,"endOffset":7928,"count":32}],"isBlockCoverage":true},{"functionName":"bind","ranges":[{"startOffset":8125,"endOffset":8153,"count":3}],"isBlockCoverage":true},{"functionName":"selfClearTimeout","ranges":[{"startOffset":8181,"endOffset":8330,"count":0}],"isBlockCoverage":false},{"functionName":"debounce","ranges":[{"startOffset":8350,"endOffset":9285,"count":0}],"isBlockCoverage":false},{"functionName":"classListAction","ranges":[{"startOffset":9344,"endOffset":9587,"count":0}],"isBlockCoverage":false},{"functionName":"removeClass","ranges":[{"startOffset":9610,"endOffset":9673,"count":0}],"isBlockCoverage":false},{"functionName":"addClass","ranges":[{"startOffset":9693,"endOffset":9787,"count":0}],"isBlockCoverage":false},{"functionName":"getCSSVal","ranges":[{"startOffset":9826,"endOffset":9871,"count":0}],"isBlockCoverage":false},{"functionName":"validFiniteNumber","ranges":[{"startOffset":9900,"endOffset":9958,"count":0}],"isBlockCoverage":false},{"functionName":"parseToZeroOrNumber","ranges":[{"startOffset":9989,"endOffset":10032,"count":0}],"isBlockCoverage":false},{"functionName":"ratioToCssPercent","ranges":[{"startOffset":10061,"endOffset":10111,"count":0}],"isBlockCoverage":false},{"functionName":"numberToCssPx","ranges":[{"startOffset":10136,"endOffset":10168,"count":0}],"isBlockCoverage":false},{"functionName":"setStyles","ranges":[{"startOffset":10171,"endOffset":10438,"count":0}],"isBlockCoverage":false},{"functionName":"getStyles","ranges":[{"startOffset":10440,"endOffset":10707,"count":0}],"isBlockCoverage":false},{"functionName":"getDirectionIsRTL","ranges":[{"startOffset":10735,"endOffset":10775,"count":0}],"isBlockCoverage":false},{"functionName":"topRightBottomLeft","ranges":[{"startOffset":10805,"endOffset":11188,"count":0}],"isBlockCoverage":false},{"functionName":"getTrasformTranslateValue","ranges":[{"startOffset":11225,"endOffset":11307,"count":0}],"isBlockCoverage":false},{"functionName":"getElmWidthHeightProperty","ranges":[{"startOffset":11669,"endOffset":11732,"count":0}],"isBlockCoverage":false},{"functionName":"windowSize","ranges":[{"startOffset":11754,"endOffset":11801,"count":0}],"isBlockCoverage":false},{"functionName":"fractionalSize","ranges":[{"startOffset":11989,"endOffset":12138,"count":0}],"isBlockCoverage":false},{"functionName":"getBoundingClientRect","ranges":[{"startOffset":12171,"endOffset":12201,"count":0}],"isBlockCoverage":false},{"functionName":"domRectHasDimensions","ranges":[{"startOffset":12233,"endOffset":12261,"count":0}],"isBlockCoverage":false},{"functionName":"domRectAppeared","ranges":[{"startOffset":12288,"endOffset":12393,"count":0}],"isBlockCoverage":false},{"functionName":"animationCurrentTime","ranges":[{"startOffset":12425,"endOffset":12448,"count":0}],"isBlockCoverage":false},{"functionName":"animateNumber","ranges":[{"startOffset":12473,"endOffset":12946,"count":0}],"isBlockCoverage":false},{"functionName":"equal","ranges":[{"startOffset":12963,"endOffset":13199,"count":0}],"isBlockCoverage":false},{"functionName":"equalWH","ranges":[{"startOffset":13218,"endOffset":13253,"count":0}],"isBlockCoverage":false},{"functionName":"equalXY","ranges":[{"startOffset":13272,"endOffset":13307,"count":0}],"isBlockCoverage":false},{"functionName":"equalTRBL","ranges":[{"startOffset":13328,"endOffset":13373,"count":0}],"isBlockCoverage":false},{"functionName":"equalBCRWH","ranges":[{"startOffset":13395,"endOffset":13447,"count":0}],"isBlockCoverage":false},{"functionName":"supportPassiveEvents","ranges":[{"startOffset":13509,"endOffset":13724,"count":0}],"isBlockCoverage":false},{"functionName":"splitEventNames","ranges":[{"startOffset":13751,"endOffset":13768,"count":0}],"isBlockCoverage":false},{"functionName":"removeEventListener","ranges":[{"startOffset":13799,"endOffset":13896,"count":0}],"isBlockCoverage":false},{"functionName":"addEventListener","ranges":[{"startOffset":13924,"endOffset":14397,"count":0}],"isBlockCoverage":false},{"functionName":"stopPropagation","ranges":[{"startOffset":14424,"endOffset":14448,"count":0}],"isBlockCoverage":false},{"functionName":"preventDefault","ranges":[{"startOffset":14474,"endOffset":14497,"count":0}],"isBlockCoverage":false},{"functionName":"absoluteCoordinates","ranges":[{"startOffset":14559,"endOffset":14694,"count":0}],"isBlockCoverage":false},{"functionName":"getRTLCompatibleScrollPosition","ranges":[{"startOffset":14736,"endOffset":14783,"count":0}],"isBlockCoverage":false},{"functionName":"getRTLCompatibleScrollBounds","ranges":[{"startOffset":14823,"endOffset":14897,"count":0}],"isBlockCoverage":false},{"functionName":"scrollElementTo","ranges":[{"startOffset":14924,"endOffset":15083,"count":0}],"isBlockCoverage":false},{"functionName":"getElmentScroll","ranges":[{"startOffset":15110,"endOffset":15156,"count":0}],"isBlockCoverage":false},{"functionName":"manageListener","ranges":[{"startOffset":15182,"endOffset":15230,"count":0}],"isBlockCoverage":false},{"functionName":"createEventListenerHub","ranges":[{"startOffset":15264,"endOffset":16276,"count":0}],"isBlockCoverage":false},{"functionName":"opsStringify","ranges":[{"startOffset":16300,"endOffset":16391,"count":0}],"isBlockCoverage":false},{"functionName":"getPropByPath","ranges":[{"startOffset":16416,"endOffset":16521,"count":0}],"isBlockCoverage":false},{"functionName":"getOptionsDiff","ranges":[{"startOffset":17047,"endOffset":17630,"count":0}],"isBlockCoverage":false},{"functionName":"createOptionCheck","ranges":[{"startOffset":17659,"endOffset":17737,"count":0}],"isBlockCoverage":false},{"functionName":"addPlugins","ranges":[{"startOffset":19086,"endOffset":19158,"count":0}],"isBlockCoverage":false},{"functionName":"registerPluginModuleInstances","ranges":[{"startOffset":19199,"endOffset":19409,"count":0}],"isBlockCoverage":false},{"functionName":"getStaticPluginModuleInstance","ranges":[{"startOffset":19450,"endOffset":19460,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19572,"endOffset":20880,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":19603,"endOffset":20873,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20969,"endOffset":24638,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":21000,"endOffset":24631,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24709,"endOffset":25430,"count":1}],"isBlockCoverage":true},{"functionName":"static","ranges":[{"startOffset":24740,"endOffset":25423,"count":0}],"isBlockCoverage":false},{"functionName":"getNativeScrollbarSize","ranges":[{"startOffset":25476,"endOffset":25675,"count":0}],"isBlockCoverage":false},{"functionName":"getNativeScrollbarsHiding","ranges":[{"startOffset":25712,"endOffset":25935,"count":0}],"isBlockCoverage":false},{"functionName":"getRtlScrollBehavior","ranges":[{"startOffset":25967,"endOffset":26290,"count":0}],"isBlockCoverage":false},{"functionName":"getFlexboxGlue","ranges":[{"startOffset":26316,"endOffset":26640,"count":0}],"isBlockCoverage":false},{"functionName":"createEnvironment","ranges":[{"startOffset":26669,"endOffset":28104,"count":0}],"isBlockCoverage":false},{"functionName":"getEnvironment","ranges":[{"startOffset":28130,"endOffset":28199,"count":0}],"isBlockCoverage":false},{"functionName":"resolveInitialization","ranges":[{"startOffset":28232,"endOffset":28275,"count":0}],"isBlockCoverage":false},{"functionName":"staticInitializationElement","ranges":[{"startOffset":28314,"endOffset":28439,"count":0}],"isBlockCoverage":false},{"functionName":"dynamicInitializationElement","ranges":[{"startOffset":28479,"endOffset":28631,"count":0}],"isBlockCoverage":false},{"functionName":"cancelInitialization","ranges":[{"startOffset":28663,"endOffset":29000,"count":0}],"isBlockCoverage":false},{"functionName":"addInstance","ranges":[{"startOffset":29048,"endOffset":29077,"count":0}],"isBlockCoverage":false},{"functionName":"removeInstance","ranges":[{"startOffset":29103,"endOffset":29127,"count":0}],"isBlockCoverage":false},{"functionName":"getInstance","ranges":[{"startOffset":29150,"endOffset":29164,"count":0}],"isBlockCoverage":false},{"functionName":"createEventContentChange","ranges":[{"startOffset":29200,"endOffset":30055,"count":0}],"isBlockCoverage":false},{"functionName":"createDOMObserver","ranges":[{"startOffset":30084,"endOffset":32171,"count":0}],"isBlockCoverage":false},{"functionName":"createSizeObserver","ranges":[{"startOffset":32201,"endOffset":34249,"count":0}],"isBlockCoverage":false},{"functionName":"createTrinsicObserver","ranges":[{"startOffset":34282,"endOffset":35305,"count":0}],"isBlockCoverage":false},{"functionName":"createObserversSetup","ranges":[{"startOffset":35337,"endOffset":39712,"count":0}],"isBlockCoverage":false},{"functionName":"capNumber","ranges":[{"startOffset":39733,"endOffset":39759,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleOffsetPercent","ranges":[{"startOffset":39802,"endOffset":40024,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleLengthRatio","ranges":[{"startOffset":40065,"endOffset":40402,"count":0}],"isBlockCoverage":false},{"functionName":"getScrollbarHandleOffsetRatio","ranges":[{"startOffset":40443,"endOffset":40544,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetupElements","ranges":[{"startOffset":40585,"endOffset":45975,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetupEvents","ranges":[{"startOffset":46014,"endOffset":49876,"count":0}],"isBlockCoverage":false},{"functionName":"createScrollbarsSetup","ranges":[{"startOffset":49909,"endOffset":53630,"count":0}],"isBlockCoverage":false},{"functionName":"createStructureSetupElements","ranges":[{"startOffset":53670,"endOffset":57403,"count":0}],"isBlockCoverage":false},{"functionName":"createTrinsicUpdateSegment","ranges":[{"startOffset":57441,"endOffset":57671,"count":0}],"isBlockCoverage":false},{"functionName":"createPaddingUpdateSegment","ranges":[{"startOffset":57709,"endOffset":58900,"count":0}],"isBlockCoverage":false},{"functionName":"createOverflowUpdateSegment","ranges":[{"startOffset":58939,"endOffset":64523,"count":0}],"isBlockCoverage":false},{"functionName":"createStructureSetup","ranges":[{"startOffset":64555,"endOffset":65523,"count":0}],"isBlockCoverage":false},{"functionName":"createSetups","ranges":[{"startOffset":65547,"endOffset":66778,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars","ranges":[{"startOffset":66807,"endOffset":70634,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.plugin","ranges":[{"startOffset":70664,"endOffset":70845,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.valid","ranges":[{"startOffset":70874,"endOffset":70999,"count":0}],"isBlockCoverage":false},{"functionName":"OverlayScrollbars.env","ranges":[{"startOffset":71026,"endOffset":71528,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71637,"endOffset":71655,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71764,"endOffset":71797,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":71911,"endOffset":71929,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":72039,"endOffset":72057,"count":0}],"isBlockCoverage":false}]}]} \ No newline at end of file diff --git a/packages/overlayscrollbars-react/test/OverlayScrollbarsComponent.test.tsx b/packages/overlayscrollbars-react/test/OverlayScrollbarsComponent.test.tsx index b9286785..4186e712 100644 --- a/packages/overlayscrollbars-react/test/OverlayScrollbarsComponent.test.tsx +++ b/packages/overlayscrollbars-react/test/OverlayScrollbarsComponent.test.tsx @@ -7,26 +7,6 @@ import { OverlayScrollbarsComponent } from '~/overlayscrollbars-react'; import type { RefObject } from 'react'; import type { OverlayScrollbarsComponentRef } from '~/overlayscrollbars-react'; -const getComputedStyleOriginal = window.getComputedStyle; -vi.stubGlobal( - 'getComputedStyle', - vi.fn(function (...args: Parameters) { - const result: CSSStyleDeclaration = getComputedStyleOriginal.apply( - // @ts-ignore - this, - args - ); - const getPropertyValueOriginal = result.getPropertyValue; - result.getPropertyValue = function (prop: string) { - if (prop === 'scrollbar-width' || prop === 'scrollbarWidth') { - return 'none'; - } - return getPropertyValueOriginal.call(this, prop); - }; - return result; - }) -); - vi.useFakeTimers({ toFake: [ 'requestAnimationFrame', @@ -329,34 +309,4 @@ describe('OverlayScrollbarsComponent', () => { expect(osInstance()).toBeDefined(); expect(OverlayScrollbars.valid(osInstance())).toBe(false); }); - - test('body', () => { - const htmlElement = document.documentElement; - const html = htmlElement.innerHTML; - const body = document.body; - - const { container, unmount } = render( - -
- , - { - baseElement: htmlElement, - container: htmlElement, - } - ); - - expect(container).toBeInTheDocument(); - expect(container).toHaveAttribute('data-overlayscrollbars'); - expect(container.tagName).toBe('HTML'); - expect(container.firstElementChild!.tagName).toBe('BODY'); - expect(container.firstElementChild).toHaveAttribute('data-overlayscrollbars-initialize'); - expect(container.firstElementChild).not.toBeEmptyDOMElement(); - expect(container.firstElementChild!.firstElementChild!.tagName).toBe('SECTION'); - expect(container.firstElementChild!.firstElementChild).toHaveAttribute('id', 'body'); - - unmount(); - - htmlElement.innerHTML = html; - window.document.body = body; - }); }); diff --git a/packages/overlayscrollbars-react/test/body/OverlayScrollbarsComponent.test.tsx b/packages/overlayscrollbars-react/test/body/OverlayScrollbarsComponent.test.tsx new file mode 100644 index 00000000..08310338 --- /dev/null +++ b/packages/overlayscrollbars-react/test/body/OverlayScrollbarsComponent.test.tsx @@ -0,0 +1,61 @@ +import { describe, test, afterEach, expect, vi } from 'vitest'; +import { render, cleanup } from '@testing-library/react'; +import { OverlayScrollbarsComponent } from '~/overlayscrollbars-react'; + +const getComputedStyleOriginal = window.getComputedStyle; +vi.stubGlobal( + 'getComputedStyle', + vi.fn(function (...args: Parameters) { + const result: CSSStyleDeclaration = getComputedStyleOriginal.apply( + // @ts-ignore + this, + args + ); + const getPropertyValueOriginal = result.getPropertyValue; + result.getPropertyValue = function (prop: string) { + if (prop === 'scrollbar-width' || prop === 'scrollbarWidth') { + return 'none'; + } + return getPropertyValueOriginal.call(this, prop); + }; + return result; + }) +); + +vi.useFakeTimers({ + toFake: [ + 'requestAnimationFrame', + 'cancelAnimationFrame', + 'requestIdleCallback', + 'cancelIdleCallback', + ], +}); + +describe('OverlayScrollbarsComponent', () => { + afterEach(() => cleanup()); + + test('body', () => { + const htmlElement = document.documentElement; + const { unmount } = render( + +
+ , + { + baseElement: htmlElement, + container: htmlElement, + wrapper: ({ children }) => { + document.body.remove(); + return children; + }, + } + ); + + expect(htmlElement).toHaveAttribute('data-overlayscrollbars'); + expect(htmlElement.querySelector('body')).toHaveAttribute('data-overlayscrollbars-initialize'); + expect(htmlElement.querySelector('body')).not.toBeEmptyDOMElement(); + expect(htmlElement.querySelector('body')?.firstElementChild!.tagName).toBe('SECTION'); + expect(htmlElement.querySelector('body')?.firstElementChild).toHaveAttribute('id', 'body'); + + unmount(); + }); +}); diff --git a/packages/overlayscrollbars-react/vitest.config.mjs b/packages/overlayscrollbars-react/vitest.config.mjs index 353bd5e3..6046781c 100644 --- a/packages/overlayscrollbars-react/vitest.config.mjs +++ b/packages/overlayscrollbars-react/vitest.config.mjs @@ -1,5 +1,14 @@ +import { fileURLToPath } from 'url'; import { mergeConfig } from 'vite'; import vitestConfig from '@~local/config/vitest'; import viteConfig from './vite.config.mjs'; -export default mergeConfig(viteConfig, vitestConfig); +export default mergeConfig(viteConfig, { + ...vitestConfig, + test: { + ...vitestConfig.test, + environmentMatchGlobs: [ + ['test/body/*', fileURLToPath(import.meta.resolve('@~local/config/vitest.new-jsdom.env'))], + ], + }, +}); diff --git a/packages/overlayscrollbars-solid/src/OverlayScrollbarsComponent.tsx b/packages/overlayscrollbars-solid/src/OverlayScrollbarsComponent.tsx index 3baf9555..3c523133 100644 --- a/packages/overlayscrollbars-solid/src/OverlayScrollbarsComponent.tsx +++ b/packages/overlayscrollbars-solid/src/OverlayScrollbarsComponent.tsx @@ -50,22 +50,37 @@ export const OverlayScrollbarsComponent = ( const [initialize, instance] = createOverlayScrollbars(finalProps); createEffect(() => { - const currElement = elementRef(); - const currChildrenElement = childrenRef(); + const target = elementRef(); - if (currElement && currChildrenElement) { + /* c8 ignore start */ + if (!target) { + return; + } + /* c8 ignore end */ + + if (finalProps.element === 'body') { initialize({ - target: currElement, - elements: { - viewport: currChildrenElement, - content: currChildrenElement, + target, + cancel: { + body: null, }, }); - - onCleanup(() => { - instance()?.destroy(); - }); + } else { + const contentsElement = childrenRef(); + if (contentsElement) { + initialize({ + target, + elements: { + viewport: contentsElement, + content: contentsElement, + }, + }); + } } + + onCleanup(() => { + instance()?.destroy(); + }); }); createRenderEffect(() => { @@ -90,9 +105,13 @@ export const OverlayScrollbarsComponent = ( ref={setElementRef} {...other} > -
- {children(() => finalProps.children)()} -
+ {finalProps.element === 'body' ? ( + children(() => finalProps.children)() + ) : ( +
+ {children(() => finalProps.children)()} +
+ )} ); }; diff --git a/packages/overlayscrollbars-solid/test/OverlayScrollbarsComponent.test.tsx b/packages/overlayscrollbars-solid/test/OverlayScrollbarsComponent.test.tsx index bb1b58e7..379a7783 100644 --- a/packages/overlayscrollbars-solid/test/OverlayScrollbarsComponent.test.tsx +++ b/packages/overlayscrollbars-solid/test/OverlayScrollbarsComponent.test.tsx @@ -70,9 +70,6 @@ const createTestComponent = ); }; -/** - * rerender doesn't exist... so I am faking it with custom event... - */ describe('OverlayScrollbarsComponent', () => { afterEach(() => cleanup()); diff --git a/packages/overlayscrollbars-solid/test/body/OverlayScrollbarsComponent.test.tsx b/packages/overlayscrollbars-solid/test/body/OverlayScrollbarsComponent.test.tsx new file mode 100644 index 00000000..e8892ff3 --- /dev/null +++ b/packages/overlayscrollbars-solid/test/body/OverlayScrollbarsComponent.test.tsx @@ -0,0 +1,55 @@ +import { describe, test, afterEach, expect, vi } from 'vitest'; +import { render, cleanup } from 'solid-testing-library'; +import { OverlayScrollbarsComponent } from '~/overlayscrollbars-solid'; + +const getComputedStyleOriginal = window.getComputedStyle; +vi.stubGlobal( + 'getComputedStyle', + vi.fn(function (...args: Parameters) { + const result: CSSStyleDeclaration = getComputedStyleOriginal.apply( + // @ts-ignore + this, + args + ); + const getPropertyValueOriginal = result.getPropertyValue; + result.getPropertyValue = function (prop: string) { + if (prop === 'scrollbar-width' || prop === 'scrollbarWidth') { + return 'none'; + } + return getPropertyValueOriginal.call(this, prop); + }; + return result; + }) +); + +describe('OverlayScrollbarsComponent', () => { + afterEach(() => cleanup()); + + test('body', async () => { + const htmlElement = document.documentElement; + + const { unmount } = render( + () => ( + +
+ + ), + { + baseElement: htmlElement, + container: htmlElement, + wrapper: ({ children }) => { + document.body.remove(); + return children; + }, + } + ); + + expect(htmlElement).toHaveAttribute('data-overlayscrollbars'); + expect(htmlElement.querySelector('body')).toHaveAttribute('data-overlayscrollbars-initialize'); + expect(htmlElement.querySelector('body')).not.toBeEmptyDOMElement(); + expect(htmlElement.querySelector('body')?.firstElementChild!.tagName).toBe('SECTION'); + expect(htmlElement.querySelector('body')?.firstElementChild).toHaveAttribute('id', 'body'); + + unmount(); + }); +}); diff --git a/packages/overlayscrollbars-solid/vitest.config.mjs b/packages/overlayscrollbars-solid/vitest.config.mjs index c44c7b1d..d3b181bd 100644 --- a/packages/overlayscrollbars-solid/vitest.config.mjs +++ b/packages/overlayscrollbars-solid/vitest.config.mjs @@ -1,3 +1,4 @@ +import { fileURLToPath } from 'url'; import { mergeConfig } from 'vite'; import vitestConfig from '@~local/config/vitest'; import viteConfig from './vite.config.mjs'; @@ -17,6 +18,9 @@ export default mergeConfig( inline: [/solid-testing-library/], }, }, + environmentMatchGlobs: [ + ['test/body/*', fileURLToPath(import.meta.resolve('@~local/config/vitest.new-jsdom.env'))], + ], }, } );