{"version":3,"file":"setStyle.mjs","sources":["../../../../../packages/utils/dom/setStyle.ts"],"sourcesContent":["import type { CSSProperties } from 'vue';\n\n/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nexport interface SetStyleOptions {\n  element?: HTMLElement;\n}\nexport function setStyle(style: CSSProperties, options: SetStyleOptions = {}): CSSProperties {\n  const { element = document.body } = options;\n  const oldStyle: CSSProperties = {};\n\n  const styleKeys = Object.keys(style);\n\n  // IE browser compatible\n  styleKeys.forEach((key) => {\n    oldStyle[key] = element.style[key];\n  });\n\n  styleKeys.forEach((key) => {\n    element.style[key] = style[key];\n  });\n\n  return oldStyle;\n}\n"],"names":[],"mappings":"AAWO,SAAS,QAAS,CAAA,KAAA,EAAsB,OAA2B,GAAA,EAAmB,EAAA;AAC3F,EAAA,MAAM,EAAE,OAAA,GAAU,QAAS,CAAA,IAAA,EAAS,GAAA,OAAA,CAAA;AACpC,EAAA,MAAM,WAA0B,EAAC,CAAA;AAEjC,EAAM,MAAA,SAAA,GAAY,MAAO,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAGnC,EAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACzB,IAAA,QAAA,CAAS,GAAG,CAAA,GAAI,OAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,GAClC,CAAA,CAAA;AAED,EAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACzB,IAAA,OAAA,CAAQ,KAAM,CAAA,GAAG,CAAI,GAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,GAC/B,CAAA,CAAA;AAED,EAAO,OAAA,QAAA,CAAA;AACT;;;;"}