You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+41Lines changed: 41 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,47 @@
9
9
> - :house: [Internal]
10
10
> - :nail_care: [Polish]
11
11
12
+
## 4.11.4
13
+
14
+
#### :boom: Breaking Change
15
+
16
+
- `.jodit-icon` `transform-origin` changed from `0 0 !important` to `var(--jd-icon-transform-origin)` (default `center`), and the `!important` flag was removed. If your layout depends on the old top-left origin, restore it via CSS:
17
+
```css
18
+
:root {
19
+
--jd-icon-transform-origin: 0 0 !important;
20
+
}
21
+
```
22
+
23
+
#### :rocket: New Feature
24
+
25
+
- `IUIIconState` now supports `scale` property — when set, applies `transform: scale(...)` to the SVG icon element, overriding the CSS variable
26
+
- `IControlType.icon` now accepts `string | IUIIconState` — allows setting icon name, fill, iconURL, and scale directly from toolbar button config
- CSS custom properties `--jd-icon-transform-origin` and `--jd-icon-transform-scale` for global icon scaling. Override them to resize all editor icons at once. Per-button `scale` in `IUIIconState` takes priority over the CSS variable.
Copy file name to clipboardExpand all lines: docs/security.md
+48-18Lines changed: 48 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,7 +112,7 @@ Jodit.make('#editor', {
112
112
```javascript
113
113
Jodit.make('#editor', {
114
114
cleanHTML: {
115
-
allowTags: {
115
+
allowTags:Jodit.atom({
116
116
p:true, // allow <p> with any attributes
117
117
a: { href:true }, // allow <a> only with href
118
118
strong:true,
@@ -127,17 +127,23 @@ Jodit.make('#editor', {
127
127
width:true,
128
128
height:true
129
129
}
130
-
}
130
+
})
131
131
}
132
132
});
133
133
```
134
134
135
+
{% note info %}
136
+
137
+
Wrap object and array options with `Jodit.atom()`. Without it, Jodit deep-merges your value with the default config instead of replacing it. For example, `allowTags: { p: true }` without `Jodit.atom()` will be merged with the default value, not override it.
138
+
139
+
{% endnote %}
140
+
135
141
**Pin to an exact value:**
136
142
137
143
```javascript
138
-
allowTags: {
144
+
allowTags:Jodit.atom({
139
145
img: { src:'/images/logo.png' } // only src="/images/logo.png" survives
140
-
}
146
+
})
141
147
```
142
148
143
149
### denyTags -- blacklist mode
@@ -161,14 +167,20 @@ Inline `style` attributes can be used for CSS injection attacks (e.g., data exfi
{ value:'insert_as_text', text:'Insert as Text' },
251
269
{ value:'insert_only_text', text:'Insert only Text' }
252
-
]
270
+
])
253
271
});
254
272
```
255
273
274
+
{% note info %}
275
+
276
+
Wrap array options like `pasteExcludeStripTags` and `pasteHTMLActionList` with `Jodit.atom()`. Without it, Jodit deep-merges your array with the default instead of replacing it.
0 commit comments