@progress/kendo-editor-common
Advanced tools
Comparing version 1.11.7-dev.202410231216 to 1.11.7-dev.202410250931
import { RemoveMarkStep } from 'prosemirror-transform'; | ||
import { MarkType } from 'prosemirror-model'; | ||
import { parseStyle } from './utils'; | ||
export var markApplies = function (doc, ranges, type) { | ||
@@ -195,7 +196,8 @@ var loop = function (i) { | ||
var styleText = (mark && mark.attrs.style) || ''; | ||
var styles = styleText.split(/\s*;\s*/).filter(function (s) { return Boolean(s); }); | ||
for (var i = 0; i < styles.length; i++) { | ||
var nameValue = styles[i].split(/\s*:\s*/); | ||
if (nameValue[0].toLowerCase() === style.name && style.value.test(nameValue[1])) { | ||
return nameValue[1]; | ||
var styles = parseStyle(styleText); | ||
var styleNames = Object.keys(styles); | ||
for (var i = 0; i < styleNames.length; i++) { | ||
var name_1 = styleNames[i]; | ||
if (name_1.toLowerCase() === style.name && style.value.test(styles[name_1])) { | ||
return styles[name_1]; | ||
} | ||
@@ -202,0 +204,0 @@ } |
import { convertMsLists } from './listConvert'; | ||
import { fragmentToHtml, htmlToFragment } from './source'; | ||
import { parseStyle } from './utils'; | ||
/** | ||
@@ -47,4 +48,2 @@ * Removes the invalid HTML. Use it as a first step for cleaning the HTML. | ||
}; | ||
var stylesSplit = /\s*;\s*/; | ||
var styleValueSplit = /\s*:\s*/; | ||
/** | ||
@@ -54,11 +53,9 @@ * Removes invalid HTML styles. | ||
export var sanitizeStyleAttr = function (attr) { | ||
var styles = attr.value.split(stylesSplit).filter(function (st) { return Boolean(st); }); | ||
var styles = parseStyle(attr.value); | ||
var element = attr.ownerElement; | ||
var supportedStyles = element.style; | ||
var result = '', name, value; | ||
styles.forEach(function (style) { | ||
var _a; | ||
_a = style.split(styleValueSplit), name = _a[0], value = _a[1]; | ||
var result = ''; | ||
Object.keys(styles).forEach(function (name) { | ||
if (supportedStyles[name] !== undefined) { | ||
result += "".concat(name, ": ").concat(value, "; "); | ||
result += "".concat(name, ": ").concat(styles[name], "; "); | ||
} | ||
@@ -65,0 +62,0 @@ }); |
import { __assign } from "tslib"; | ||
import { Node, Fragment } from 'prosemirror-model'; | ||
import { TextSelection, AllSelection, NodeSelection } from 'prosemirror-state'; | ||
import { parseInlineStyles } from '@progress/kendo-common'; | ||
import { parseContent } from './source'; | ||
@@ -12,7 +13,11 @@ export var changeStylesString = function (styleText, newStyle) { | ||
} | ||
var styles = styleText.split(/\s*;\s*/).filter(function (s) { return Boolean(s); }); | ||
var filtered = styles.filter(function (s) { | ||
var nameValue = s.split(/\s*:\s*/); | ||
return !(nameValue[0].toLowerCase() === styleToChange && regExp.test(nameValue[1])); | ||
}); | ||
var styles = parseStyle(styleText); | ||
var styleNames = Object.keys(styles); | ||
var filtered = []; | ||
for (var i = 0; i < styleNames.length; i++) { | ||
var name_1 = styleNames[i]; | ||
if (name_1.toLowerCase() !== styleToChange || !regExp.test(styles[name_1])) { | ||
filtered.push("".concat(name_1, ": ").concat(styles[name_1])); | ||
} | ||
} | ||
if (newValue) { | ||
@@ -23,3 +28,3 @@ filtered.push("".concat(styleToChange, ": ").concat(newValue)); | ||
style: filtered.join('; ') + (filtered.length ? ';' : ''), | ||
changed: Boolean(newValue) || filtered.length !== styles.length | ||
changed: Boolean(newValue) || filtered.length !== styleNames.length | ||
}; | ||
@@ -262,8 +267,3 @@ }; | ||
export var parseStyle = function (styleText) { | ||
var styles = (styleText || '').split(/\s*;\s*/).filter(Boolean).map(function (s) { | ||
var _a; | ||
var nameValue = s.split(/\s*:\s*/); | ||
return _a = {}, _a[nameValue[0]] = nameValue[1], _a; | ||
}).reduce(function (acc, val) { return (__assign(__assign({}, acc), val)); }, {}); | ||
return styles; | ||
return parseInlineStyles(styleText); | ||
}; | ||
@@ -270,0 +270,0 @@ export var applyStyle = function (styleText, styleType, styleValue) { |
import { RemoveMarkStep } from 'prosemirror-transform'; | ||
import { MarkType } from 'prosemirror-model'; | ||
import { parseStyle } from './utils'; | ||
export const markApplies = (doc, ranges, type) => { | ||
@@ -187,7 +188,8 @@ const loop = i => { | ||
const styleText = (mark && mark.attrs.style) || ''; | ||
const styles = styleText.split(/\s*;\s*/).filter(s => Boolean(s)); | ||
for (let i = 0; i < styles.length; i++) { | ||
const nameValue = styles[i].split(/\s*:\s*/); | ||
if (nameValue[0].toLowerCase() === style.name && style.value.test(nameValue[1])) { | ||
return nameValue[1]; | ||
const styles = parseStyle(styleText); | ||
const styleNames = Object.keys(styles); | ||
for (let i = 0; i < styleNames.length; i++) { | ||
const name = styleNames[i]; | ||
if (name.toLowerCase() === style.name && style.value.test(styles[name])) { | ||
return styles[name]; | ||
} | ||
@@ -194,0 +196,0 @@ } |
import { convertMsLists } from './listConvert'; | ||
import { fragmentToHtml, htmlToFragment } from './source'; | ||
import { parseStyle } from './utils'; | ||
/** | ||
@@ -47,4 +48,2 @@ * Removes the invalid HTML. Use it as a first step for cleaning the HTML. | ||
}; | ||
const stylesSplit = /\s*;\s*/; | ||
const styleValueSplit = /\s*:\s*/; | ||
/** | ||
@@ -54,10 +53,9 @@ * Removes invalid HTML styles. | ||
export const sanitizeStyleAttr = (attr) => { | ||
const styles = attr.value.split(stylesSplit).filter(st => Boolean(st)); | ||
const styles = parseStyle(attr.value); | ||
const element = attr.ownerElement; | ||
const supportedStyles = element.style; | ||
let result = '', name, value; | ||
styles.forEach(style => { | ||
[name, value] = style.split(styleValueSplit); | ||
let result = ''; | ||
Object.keys(styles).forEach(name => { | ||
if (supportedStyles[name] !== undefined) { | ||
result += `${name}: ${value}; `; | ||
result += `${name}: ${styles[name]}; `; | ||
} | ||
@@ -64,0 +62,0 @@ }); |
import { Node, Fragment } from 'prosemirror-model'; | ||
import { TextSelection, AllSelection, NodeSelection } from 'prosemirror-state'; | ||
import { parseInlineStyles } from '@progress/kendo-common'; | ||
import { parseContent } from './source'; | ||
@@ -11,7 +12,11 @@ export const changeStylesString = (styleText, newStyle) => { | ||
} | ||
const styles = styleText.split(/\s*;\s*/).filter(s => Boolean(s)); | ||
const filtered = styles.filter(s => { | ||
const nameValue = s.split(/\s*:\s*/); | ||
return !(nameValue[0].toLowerCase() === styleToChange && regExp.test(nameValue[1])); | ||
}); | ||
const styles = parseStyle(styleText); | ||
const styleNames = Object.keys(styles); | ||
const filtered = []; | ||
for (let i = 0; i < styleNames.length; i++) { | ||
const name = styleNames[i]; | ||
if (name.toLowerCase() !== styleToChange || !regExp.test(styles[name])) { | ||
filtered.push(`${name}: ${styles[name]}`); | ||
} | ||
} | ||
if (newValue) { | ||
@@ -22,3 +27,3 @@ filtered.push(`${styleToChange}: ${newValue}`); | ||
style: filtered.join('; ') + (filtered.length ? ';' : ''), | ||
changed: Boolean(newValue) || filtered.length !== styles.length | ||
changed: Boolean(newValue) || filtered.length !== styleNames.length | ||
}; | ||
@@ -256,7 +261,3 @@ }; | ||
export const parseStyle = (styleText) => { | ||
const styles = (styleText || '').split(/\s*;\s*/).filter(Boolean).map(s => { | ||
const nameValue = s.split(/\s*:\s*/); | ||
return { [nameValue[0]]: nameValue[1] }; | ||
}).reduce((acc, val) => (Object.assign(Object.assign({}, acc), val)), {}); | ||
return styles; | ||
return parseInlineStyles(styleText); | ||
}; | ||
@@ -263,0 +264,0 @@ export const applyStyle = (styleText, styleType, styleValue) => { |
@@ -6,2 +6,3 @@ "use strict"; | ||
var prosemirror_model_1 = require("prosemirror-model"); | ||
var utils_1 = require("./utils"); | ||
var markApplies = function (doc, ranges, type) { | ||
@@ -206,7 +207,8 @@ var loop = function (i) { | ||
var styleText = (mark && mark.attrs.style) || ''; | ||
var styles = styleText.split(/\s*;\s*/).filter(function (s) { return Boolean(s); }); | ||
for (var i = 0; i < styles.length; i++) { | ||
var nameValue = styles[i].split(/\s*:\s*/); | ||
if (nameValue[0].toLowerCase() === style.name && style.value.test(nameValue[1])) { | ||
return nameValue[1]; | ||
var styles = (0, utils_1.parseStyle)(styleText); | ||
var styleNames = Object.keys(styles); | ||
for (var i = 0; i < styleNames.length; i++) { | ||
var name_1 = styleNames[i]; | ||
if (name_1.toLowerCase() === style.name && style.value.test(styles[name_1])) { | ||
return styles[name_1]; | ||
} | ||
@@ -213,0 +215,0 @@ } |
@@ -6,2 +6,3 @@ "use strict"; | ||
var source_1 = require("./source"); | ||
var utils_1 = require("./utils"); | ||
/** | ||
@@ -56,4 +57,2 @@ * Removes the invalid HTML. Use it as a first step for cleaning the HTML. | ||
exports.sanitizeClassAttr = sanitizeClassAttr; | ||
var stylesSplit = /\s*;\s*/; | ||
var styleValueSplit = /\s*:\s*/; | ||
/** | ||
@@ -63,11 +62,9 @@ * Removes invalid HTML styles. | ||
var sanitizeStyleAttr = function (attr) { | ||
var styles = attr.value.split(stylesSplit).filter(function (st) { return Boolean(st); }); | ||
var styles = (0, utils_1.parseStyle)(attr.value); | ||
var element = attr.ownerElement; | ||
var supportedStyles = element.style; | ||
var result = '', name, value; | ||
styles.forEach(function (style) { | ||
var _a; | ||
_a = style.split(styleValueSplit), name = _a[0], value = _a[1]; | ||
var result = ''; | ||
Object.keys(styles).forEach(function (name) { | ||
if (supportedStyles[name] !== undefined) { | ||
result += "".concat(name, ": ").concat(value, "; "); | ||
result += "".concat(name, ": ").concat(styles[name], "; "); | ||
} | ||
@@ -74,0 +71,0 @@ }); |
@@ -65,5 +65,5 @@ import { Node, NodeType, ParseOptions, Schema, ResolvedPos } from 'prosemirror-model'; | ||
export declare const parseStyle: (styleText: string | null) => { | ||
[x: string]: string; | ||
[key: string]: string; | ||
}; | ||
export declare const applyStyle: (styleText: string | null, styleType: string, styleValue: string) => string; | ||
export declare const setAttribute: (node: HTMLElement, attrName: string, value?: string) => void; |
@@ -7,2 +7,3 @@ "use strict"; | ||
var prosemirror_state_1 = require("prosemirror-state"); | ||
var kendo_common_1 = require("@progress/kendo-common"); | ||
var source_1 = require("./source"); | ||
@@ -16,7 +17,11 @@ var changeStylesString = function (styleText, newStyle) { | ||
} | ||
var styles = styleText.split(/\s*;\s*/).filter(function (s) { return Boolean(s); }); | ||
var filtered = styles.filter(function (s) { | ||
var nameValue = s.split(/\s*:\s*/); | ||
return !(nameValue[0].toLowerCase() === styleToChange && regExp.test(nameValue[1])); | ||
}); | ||
var styles = (0, exports.parseStyle)(styleText); | ||
var styleNames = Object.keys(styles); | ||
var filtered = []; | ||
for (var i = 0; i < styleNames.length; i++) { | ||
var name_1 = styleNames[i]; | ||
if (name_1.toLowerCase() !== styleToChange || !regExp.test(styles[name_1])) { | ||
filtered.push("".concat(name_1, ": ").concat(styles[name_1])); | ||
} | ||
} | ||
if (newValue) { | ||
@@ -27,3 +32,3 @@ filtered.push("".concat(styleToChange, ": ").concat(newValue)); | ||
style: filtered.join('; ') + (filtered.length ? ';' : ''), | ||
changed: Boolean(newValue) || filtered.length !== styles.length | ||
changed: Boolean(newValue) || filtered.length !== styleNames.length | ||
}; | ||
@@ -280,8 +285,3 @@ }; | ||
var parseStyle = function (styleText) { | ||
var styles = (styleText || '').split(/\s*;\s*/).filter(Boolean).map(function (s) { | ||
var _a; | ||
var nameValue = s.split(/\s*:\s*/); | ||
return _a = {}, _a[nameValue[0]] = nameValue[1], _a; | ||
}).reduce(function (acc, val) { return (tslib_1.__assign(tslib_1.__assign({}, acc), val)); }, {}); | ||
return styles; | ||
return (0, kendo_common_1.parseInlineStyles)(styleText); | ||
}; | ||
@@ -288,0 +288,0 @@ exports.parseStyle = parseStyle; |
{ | ||
"name": "@progress/kendo-editor-common", | ||
"description": "Kendo UI TypeScript package exporting functions for Editor component", | ||
"version": "1.11.7-dev.202410231216", | ||
"version": "1.11.7-dev.202410250931", | ||
"keywords": [ | ||
@@ -25,3 +25,6 @@ "Kendo UI" | ||
"dependencies": { | ||
"@progress/kendo-common": "^1.0.1", | ||
"prosemirror-commands": "1.6.1", | ||
"prosemirror-dropcursor": "1.8.1", | ||
"prosemirror-gapcursor": "1.3.2", | ||
"prosemirror-history": "1.4.1", | ||
@@ -33,7 +36,5 @@ "prosemirror-inputrules": "1.4.0", | ||
"prosemirror-state": "1.4.3", | ||
"prosemirror-view": "1.34.3", | ||
"prosemirror-dropcursor": "1.8.1", | ||
"prosemirror-gapcursor": "1.3.2", | ||
"prosemirror-tables": "1.5.1", | ||
"prosemirror-transform": "1.10.2", | ||
"prosemirror-view": "1.34.3", | ||
"tslib": "^2.4.0" | ||
@@ -40,0 +41,0 @@ }, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
1565206
14
14919
+ Added@progress/kendo-common@1.0.2(transitive)
+ Addedtslib@1.14.1(transitive)