/* * SPDX-FileCopyrightText: 2020 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import { mapHtmlAttributesToReactElementAttributes } from './mapHtmlAttributesToReactElementAttributes.js' import { convertInlineStyleToMap } from './convertInlineStyleToMap.js' /** * Generates props for a React element from an object of HTML attributes * * @param {Object} attributes The HTML attributes * @param {String} key The key to give the react element */ export function generatePropsFromAttributes( attributes: Record, key: string | number ): Record> { const props = Object.assign( { key }, mapHtmlAttributesToReactElementAttributes(attributes) ) as Record> if (props.style) { if (typeof props.style === 'string') { props.style = convertInlineStyleToMap(props.style) } } else { delete props.style } return props }