diff --git a/src/translateDOMPositionXY.ts b/src/translateDOMPositionXY.ts index 3ef2ee5..194d3db 100644 --- a/src/translateDOMPositionXY.ts +++ b/src/translateDOMPositionXY.ts @@ -13,7 +13,7 @@ const BACKFACE_VISIBILITY = getVendorPrefixedName('backfaceVisibility'); export interface Options { enable3DTransform?: boolean; - forceUse3DTransform?: boolean; + forceUseTransform?: boolean; } const defaultConfig = { enable3DTransform: true }; @@ -39,8 +39,8 @@ const appendTranslate3d = (style: CSSStyleDeclaration, x = 0, y = 0) => { }; export const getTranslateDOMPositionXY = (conf: Options = defaultConfig) => { - if (conf.forceUse3DTransform) { - return appendTranslate3d; + if (conf.forceUseTransform) { + return conf.enable3DTransform ? appendTranslate3d : appendTranslate; } if (BrowserSupportCore.hasCSSTransforms()) { diff --git a/test/styleSpec.js b/test/styleSpec.js index bcaf8cc..a50f571 100644 --- a/test/styleSpec.js +++ b/test/styleSpec.js @@ -82,7 +82,8 @@ describe('Style', () => { it('Should be forced to use translate3d', () => { const translateDOMPositionXY = getTranslateDOMPositionXY({ - forceUse3DTransform: true + forceUseTransform: true, + enable3DTransform: true }); const style = {}; translateDOMPositionXY(style, 10, 20); @@ -90,5 +91,16 @@ describe('Style', () => { expect(style.transform).to.contain('translate3d(10px,20px,0)'); expect(style.backfaceVisibility).to.contain('hidden'); }); + + it('Should be forced to use translate3d', () => { + const translateDOMPositionXY = getTranslateDOMPositionXY({ + forceUseTransform: true, + enable3DTransform: false + }); + const style = {}; + translateDOMPositionXY(style, 10, 20); + + expect(style.transform).to.contain('translate(10px,20px)'); + }); }); });