UNPKG

1.6 kBJavaScriptView Raw
1/**
2 * @license
3 * Copyright 2021 Google LLC
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * https://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16/**
17 * This file is a collection of risky functions that interact with elements.
18 * BudouX does not apply any HTML sanitization by default, but this is the place
19 * to install a sanitizer if needed.
20 */
21import { win } from './win.js';
22/**
23 * Parses an html string and returns a parsed html document.
24 * @param html An HTML string.
25 * @return A Document.
26 */
27export const parseFromString = (html) => {
28 return new win.DOMParser().parseFromString(html, 'text/html');
29};
30/**
31 * Sets an innerHTML on a given Element or ShadowRoot.
32 * @param element An Element or ShadowRoot.
33 * @param html An HTML string to set.
34 */
35export const setInnerHtml = (element, html) => {
36 element.innerHTML = html;
37};
38/**
39 * Applies wrapping styles to make linebreak controls work in children.
40 * @param element A parent element to apply the styles.
41 */
42export const applyWrapStyle = (element) => {
43 element.style.wordBreak = 'keep-all';
44 element.style.overflowWrap = 'anywhere';
45};
46//# sourceMappingURL=dom.js.map
\No newline at end of file