@umbraco-cms/backoffice 16.4.0-rc2 → 16.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2663,29 +2663,52 @@ export default {
2663
2663
  ar: 'العربية',
2664
2664
  bs: 'Bosanski',
2665
2665
  cs: 'Česky',
2666
+ 'cs-cz': 'Česky (Czechia)',
2666
2667
  cy: 'Cymraeg',
2668
+ 'cy-gb': 'Cymraeg (UK)',
2667
2669
  da: 'Dansk',
2670
+ 'da-dk': 'Dansk (Danmark)',
2668
2671
  de: 'Deutsch',
2672
+ 'de-de': 'Deutsch (Deutschland)',
2673
+ 'de-ch': 'Deutsch (Schweiz)',
2669
2674
  en: 'English (UK)',
2670
2675
  'en-us': 'English (US)',
2671
2676
  es: 'Español',
2677
+ 'es-es': 'Español (España)',
2672
2678
  fr: 'Français',
2673
- he: 'Hebrew',
2679
+ 'fr-fr': 'Français (France)',
2680
+ 'fr-ch': 'Français (Suisse)',
2681
+ he: 'עברית',
2682
+ 'he-il': 'עברית (ישראל)',
2674
2683
  hr: 'Hrvatski',
2684
+ 'hr-hr': 'Hrvatski (Hrvatska)',
2675
2685
  it: 'Italiano',
2686
+ 'it-it': 'Italiano (Italia)',
2687
+ 'it-ch': 'Italiano (Svizzera)',
2676
2688
  ja: '日本語',
2689
+ 'ja-jp': '日本語 (日本)',
2677
2690
  ko: '한국어',
2691
+ 'ko-kr': '한국어 (한국)',
2678
2692
  nb: 'Norsk Bokmål',
2693
+ 'nb-no': 'Norsk (Bokmål)',
2679
2694
  nl: 'Nederlands',
2695
+ 'nl-nl': 'Nederlands (Nederland)',
2680
2696
  pl: 'Polski',
2697
+ 'pl-pl': 'Polski (Polska)',
2681
2698
  pt: 'Português',
2682
2699
  'pt-br': 'Português (Brasil)',
2683
- ro: 'Romana',
2700
+ ro: 'Română',
2701
+ 'ro-ro': 'Română (România)',
2684
2702
  ru: 'Русский',
2703
+ 'ru-ru': 'Русский (Россия)',
2685
2704
  sv: 'Svenska',
2705
+ 'sv-se': 'Svenska (Sverige)',
2686
2706
  tr: 'Türkçe',
2707
+ 'tr-tr': 'Türkçe (Türkiye Cumhuriyeti)',
2687
2708
  uk: 'Українська',
2709
+ 'uk-ua': 'Українська (Україна)',
2688
2710
  zh: '中文',
2711
+ 'zh-cn': '中文(简体,中国)',
2689
2712
  'zh-tw': '中文(正體,台灣)',
2690
2713
  vi: 'Tiếng Việt',
2691
2714
  },
@@ -2624,34 +2624,4 @@ export default {
2624
2624
  resetUrlMessage: 'Bạn có chắc chắn muốn đặt lại URL này không?',
2625
2625
  resetUrlLabel: 'Đặt lại',
2626
2626
  },
2627
- uiCulture: {
2628
- ar: 'العربية',
2629
- bs: 'Bosanski',
2630
- cs: 'Česky',
2631
- cy: 'Cymraeg',
2632
- da: 'Dansk',
2633
- de: 'Deutsch',
2634
- en: 'English (UK)',
2635
- 'en-us': 'English (US)',
2636
- es: 'Español',
2637
- fr: 'Français',
2638
- he: 'Hebrew',
2639
- hr: 'Hrvatski',
2640
- it: 'Italiano',
2641
- ja: '日本語',
2642
- ko: '한국어',
2643
- nb: 'Norsk Bokmål',
2644
- nl: 'Nederlands',
2645
- pl: 'Polski',
2646
- pt: 'Português',
2647
- 'pt-br': 'Português (Brasil)',
2648
- ro: 'Romana',
2649
- ru: 'Русский',
2650
- sv: 'Svenska',
2651
- tr: 'Türkçe',
2652
- uk: 'Українська',
2653
- zh: '中文',
2654
- 'zh-tw': '中文(正體,台灣)',
2655
- vi: 'Tiếng Việt',
2656
- },
2657
2627
  };
@@ -9,7 +9,7 @@ import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS } from './constants.js';
9
9
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
10
10
  import { html, customElement, property, state, css, ref, nothing, } from '../../../../../external/lit/index.js';
11
11
  import { UmbTextStyles } from '../../../../core/style/index.js';
12
- import { observeMultiple } from '../../../../../libs/observable-api/index.js';
12
+ import { jsonStringComparison, observeMultiple } from '../../../../../libs/observable-api/index.js';
13
13
  import { UMB_PROPERTY_CONTEXT, UMB_PROPERTY_DATASET_CONTEXT } from '../../../../core/property/index.js';
14
14
  import { UmbFormControlMixin, UmbValidationContext } from '../../../../core/validation/index.js';
15
15
  import { debounceTime } from '../../../../../external/rxjs/index.js';
@@ -129,16 +129,23 @@ let UmbPropertyEditorUIBlockGridElement = class UmbPropertyEditorUIBlockGridElem
129
129
  this.#managerContext.exposes,
130
130
  ]).pipe(debounceTime(20)), ([layouts, contents, settings, exposes]) => {
131
131
  if (layouts.length === 0) {
132
+ if (this.value === undefined) {
133
+ return;
134
+ }
132
135
  super.value = undefined;
133
136
  }
134
137
  else {
135
- super.value = {
138
+ const newValue = {
136
139
  ...super.value,
137
140
  layout: { [UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts },
138
141
  contentData: contents,
139
142
  settingsData: settings,
140
143
  expose: exposes,
141
144
  };
145
+ if (jsonStringComparison(this.value, newValue)) {
146
+ return;
147
+ }
148
+ super.value = newValue;
142
149
  }
143
150
  // If we don't have a value set from the outside or an internal value, we don't want to set the value.
144
151
  // This is added to prevent the block grid from setting an empty value on startup.
@@ -14,7 +14,7 @@ import { UmbSorterController } from '../../../../core/sorter/index.js';
14
14
  import '../../components/block-list-entry/index.js';
15
15
  import { UMB_PROPERTY_CONTEXT, UMB_PROPERTY_DATASET_CONTEXT } from '../../../../core/property/index.js';
16
16
  import { extractJsonQueryProps, UMB_VALIDATION_EMPTY_LOCALIZATION_KEY, UmbFormControlMixin, UmbValidationContext, } from '../../../../core/validation/index.js';
17
- import { observeMultiple } from '../../../../../libs/observable-api/index.js';
17
+ import { jsonStringComparison, observeMultiple } from '../../../../../libs/observable-api/index.js';
18
18
  import { debounceTime } from '../../../../../external/rxjs/index.js';
19
19
  import { UMB_CONTENT_WORKSPACE_CONTEXT } from '../../../../content/content/index.js';
20
20
  const SORTER_CONFIG = {
@@ -215,16 +215,23 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
215
215
  this.#managerContext.exposes,
216
216
  ]).pipe(debounceTime(20)), ([layouts, contents, settings, exposes]) => {
217
217
  if (layouts.length === 0) {
218
+ if (this.value === undefined) {
219
+ return;
220
+ }
218
221
  super.value = undefined;
219
222
  }
220
223
  else {
221
- super.value = {
224
+ const newValue = {
222
225
  ...super.value,
223
226
  layout: { [UMB_BLOCK_LIST_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts },
224
227
  contentData: contents,
225
228
  settingsData: settings,
226
229
  expose: exposes,
227
230
  };
231
+ if (jsonStringComparison(this.value, newValue)) {
232
+ return;
233
+ }
234
+ super.value = newValue;
228
235
  }
229
236
  // If we don't have a value set from the outside or an internal value, we don't want to set the value.
230
237
  // This is added to prevent the block list from setting an empty value on startup.
@@ -2,281 +2,335 @@ export const manifests = [
2
2
  {
3
3
  type: 'localization',
4
4
  alias: 'Umb.Localization.AR',
5
- weight: 100,
6
5
  name: 'Arabic Backoffice UI Localization',
7
- meta: {
8
- culture: 'ar',
9
- },
6
+ meta: { culture: 'ar' },
10
7
  js: () => import('../../../assets/lang/ar.js'),
11
8
  },
12
9
  {
13
10
  type: 'localization',
14
11
  alias: 'Umb.Localization.BS',
15
- weight: 100,
16
12
  name: 'Bosnian Backoffice UI Localization',
17
- meta: {
18
- culture: 'bs',
19
- },
13
+ meta: { culture: 'bs' },
20
14
  js: () => import('../../../assets/lang/bs.js'),
21
15
  },
22
16
  {
23
17
  type: 'localization',
24
18
  alias: 'Umb.Localization.CS',
25
- weight: 100,
26
19
  name: 'Czech Backoffice UI Localization',
27
- meta: {
28
- culture: 'cs',
29
- },
20
+ meta: { culture: 'cs' },
30
21
  js: () => import('../../../assets/lang/cs.js'),
31
22
  },
23
+ {
24
+ type: 'localization',
25
+ alias: 'Umb.Localization.CS_CZ',
26
+ name: 'Czech (Czechia) Backoffice UI Localization',
27
+ meta: { culture: 'cs-CZ' },
28
+ },
32
29
  {
33
30
  type: 'localization',
34
31
  alias: 'Umb.Localization.CY',
35
- weight: 100,
36
32
  name: 'Welsh Backoffice UI Localization',
37
- meta: {
38
- culture: 'cy',
39
- },
33
+ meta: { culture: 'cy' },
40
34
  js: () => import('../../../assets/lang/cy.js'),
41
35
  },
36
+ {
37
+ type: 'localization',
38
+ alias: 'Umb.Localization.CY_GB',
39
+ name: 'Welsh (UK) Backoffice UI Localization',
40
+ meta: { culture: 'cy-GB' },
41
+ },
42
42
  {
43
43
  type: 'localization',
44
44
  alias: 'Umb.Localization.DA',
45
- weight: 100,
46
45
  name: 'Danish Backoffice UI Localization',
47
- meta: {
48
- culture: 'da',
49
- },
46
+ meta: { culture: 'da' },
50
47
  js: () => import('../../../assets/lang/da.js'),
51
48
  },
49
+ {
50
+ type: 'localization',
51
+ alias: 'Umb.Localization.DA-DK',
52
+ name: 'Danish (Denmark) Backoffice UI Localization',
53
+ meta: { culture: 'da-DK' },
54
+ },
52
55
  {
53
56
  type: 'localization',
54
57
  alias: 'Umb.Localization.DE',
55
- weight: 100,
56
58
  name: 'German Backoffice UI Localization',
57
- meta: {
58
- culture: 'de',
59
- },
59
+ meta: { culture: 'de' },
60
60
  js: () => import('../../../assets/lang/de.js'),
61
61
  },
62
+ {
63
+ type: 'localization',
64
+ alias: 'Umb.Localization.DE_DE',
65
+ name: 'German (Germany) Backoffice UI Localization',
66
+ meta: { culture: 'de-DE' },
67
+ },
68
+ {
69
+ type: 'localization',
70
+ alias: 'Umb.Localization.DE_CH',
71
+ name: 'German (Switzerland) Backoffice UI Localization',
72
+ meta: { culture: 'de-CH' },
73
+ },
62
74
  {
63
75
  type: 'localization',
64
76
  alias: 'Umb.Localization.EN',
65
- weight: 100,
66
77
  name: 'English (United Kingdom) Backoffice UI Localization',
67
- meta: {
68
- culture: 'en',
69
- },
78
+ meta: { culture: 'en' },
70
79
  js: () => import('../../../assets/lang/en.js'),
71
80
  },
72
81
  {
73
82
  type: 'localization',
74
83
  alias: 'Umb.Localization.EN_US',
75
- weight: 100,
76
84
  name: 'English (United States) Backoffice UI Localization',
77
- meta: {
78
- culture: 'en-US',
79
- },
85
+ meta: { culture: 'en-US' },
80
86
  js: () => import('../../../assets/lang/en-us.js'),
81
87
  },
82
88
  {
83
89
  type: 'localization',
84
90
  alias: 'Umb.Localization.ES',
85
- weight: 100,
86
91
  name: 'Spanish Backoffice UI Localization',
87
- meta: {
88
- culture: 'es',
89
- },
92
+ meta: { culture: 'es' },
90
93
  js: () => import('../../../assets/lang/es.js'),
91
94
  },
95
+ {
96
+ type: 'localization',
97
+ alias: 'Umb.Localization.ES_ES',
98
+ name: 'Spanish (Spain) Backoffice UI Localization',
99
+ meta: { culture: 'es-ES' },
100
+ },
92
101
  {
93
102
  type: 'localization',
94
103
  alias: 'Umb.Localization.FR',
95
- weight: 100,
96
104
  name: 'French Backoffice UI Localization',
97
- meta: {
98
- culture: 'fr',
99
- },
105
+ meta: { culture: 'fr' },
100
106
  js: () => import('../../../assets/lang/fr.js'),
101
107
  },
108
+ {
109
+ type: 'localization',
110
+ alias: 'Umb.Localization.FR_FR',
111
+ name: 'French (France) Backoffice UI Localization',
112
+ meta: { culture: 'fr-FR' },
113
+ },
114
+ {
115
+ type: 'localization',
116
+ alias: 'Umb.Localization.FR_CH',
117
+ name: 'French (Switzerland) Backoffice UI Localization',
118
+ meta: { culture: 'fr-CH' },
119
+ },
102
120
  {
103
121
  type: 'localization',
104
122
  alias: 'Umb.Localization.HE',
105
- weight: 100,
106
123
  name: 'Hebrew Backoffice UI Localization',
107
- meta: {
108
- culture: 'he',
109
- },
124
+ meta: { culture: 'he' },
110
125
  js: () => import('../../../assets/lang/he.js'),
111
126
  },
127
+ {
128
+ type: 'localization',
129
+ alias: 'Umb.Localization.HE_IL',
130
+ name: 'Hebrew (Israel) Backoffice UI Localization',
131
+ meta: { culture: 'he-IL' },
132
+ },
112
133
  {
113
134
  type: 'localization',
114
135
  alias: 'Umb.Localization.HR',
115
- weight: 100,
116
136
  name: 'Croatian Backoffice UI Localization',
117
- meta: {
118
- culture: 'hr',
119
- },
137
+ meta: { culture: 'hr' },
120
138
  js: () => import('../../../assets/lang/hr.js'),
121
139
  },
140
+ {
141
+ type: 'localization',
142
+ alias: 'Umb.Localization.HR_HR',
143
+ name: 'Croatian (Croatia) Backoffice UI Localization',
144
+ meta: { culture: 'hr-HR' },
145
+ },
122
146
  {
123
147
  type: 'localization',
124
148
  alias: 'Umb.Localization.IT',
125
- weight: 100,
126
149
  name: 'Italian Backoffice UI Localization',
127
- meta: {
128
- culture: 'it',
129
- },
150
+ meta: { culture: 'it' },
130
151
  js: () => import('../../../assets/lang/it.js'),
131
152
  },
153
+ {
154
+ type: 'localization',
155
+ alias: 'Umb.Localization.IT_IT',
156
+ name: 'Italian (Italy) Backoffice UI Localization',
157
+ meta: { culture: 'it-IT' },
158
+ },
159
+ {
160
+ type: 'localization',
161
+ alias: 'Umb.Localization.IT_CH',
162
+ name: 'Italian (Switzerland) Backoffice UI Localization',
163
+ meta: { culture: 'it-CH' },
164
+ },
132
165
  {
133
166
  type: 'localization',
134
167
  alias: 'Umb.Localization.JA',
135
- weight: 100,
136
168
  name: 'Japanese Backoffice UI Localization',
137
- meta: {
138
- culture: 'ja',
139
- },
169
+ meta: { culture: 'ja' },
140
170
  js: () => import('../../../assets/lang/ja.js'),
141
171
  },
172
+ {
173
+ type: 'localization',
174
+ alias: 'Umb.Localization.JA_JP',
175
+ name: 'Japanese (Japan) Backoffice UI Localization',
176
+ meta: { culture: 'ja-JP' },
177
+ },
142
178
  {
143
179
  type: 'localization',
144
180
  alias: 'Umb.Localization.KO',
145
- weight: 100,
146
181
  name: 'Korean Backoffice UI Localization',
147
- meta: {
148
- culture: 'ko',
149
- },
182
+ meta: { culture: 'ko' },
150
183
  js: () => import('../../../assets/lang/ko.js'),
151
184
  },
185
+ {
186
+ type: 'localization',
187
+ alias: 'Umb.Localization.KO_KR',
188
+ name: 'Korean (Korea) Backoffice UI Localization',
189
+ meta: { culture: 'ko-KR' },
190
+ },
152
191
  {
153
192
  type: 'localization',
154
193
  alias: 'Umb.Localization.NB',
155
- weight: 100,
156
194
  name: 'Norwegian Backoffice UI Localization',
157
- meta: {
158
- culture: 'nb',
159
- },
195
+ meta: { culture: 'nb' },
160
196
  js: () => import('../../../assets/lang/nb.js'),
161
197
  },
198
+ {
199
+ type: 'localization',
200
+ alias: 'Umb.Localization.NB_NO',
201
+ name: 'Norwegian (Norway) Backoffice UI Localization',
202
+ meta: { culture: 'nb-NO' },
203
+ },
162
204
  {
163
205
  type: 'localization',
164
206
  alias: 'Umb.Localization.NL',
165
- weight: 100,
166
207
  name: 'Dutch Backoffice UI Localization',
167
- meta: {
168
- culture: 'nl',
169
- },
208
+ meta: { culture: 'nl' },
170
209
  js: () => import('../../../assets/lang/nl.js'),
171
210
  },
211
+ {
212
+ type: 'localization',
213
+ alias: 'Umb.Localization.NL_NL',
214
+ name: 'Dutch (Netherlands) Backoffice UI Localization',
215
+ meta: { culture: 'nl-NL' },
216
+ },
172
217
  {
173
218
  type: 'localization',
174
219
  alias: 'Umb.Localization.PL',
175
- weight: 100,
176
220
  name: 'Polish Backoffice UI Localization',
177
- meta: {
178
- culture: 'pl',
179
- },
221
+ meta: { culture: 'pl' },
180
222
  js: () => import('../../../assets/lang/pl.js'),
181
223
  },
224
+ {
225
+ type: 'localization',
226
+ alias: 'Umb.Localization.PL_PL',
227
+ name: 'Polish (Poland) Backoffice UI Localization',
228
+ meta: { culture: 'pl-PL' },
229
+ },
182
230
  {
183
231
  type: 'localization',
184
232
  alias: 'Umb.Localization.PT',
185
- weight: 100,
186
233
  name: 'Portuguese Backoffice UI Localization',
187
- meta: {
188
- culture: 'pt',
189
- },
234
+ meta: { culture: 'pt' },
190
235
  js: () => import('../../../assets/lang/pt.js'),
191
236
  },
192
237
  {
193
238
  type: 'localization',
194
239
  alias: 'Umb.Localization.PT_BR',
195
- weight: 100,
196
240
  name: 'Portuguese (Brazil) Backoffice UI Localization',
197
- meta: {
198
- culture: 'pt-BR',
199
- },
241
+ meta: { culture: 'pt-BR' },
200
242
  js: () => import('../../../assets/lang/pt-br.js'),
201
243
  },
202
244
  {
203
245
  type: 'localization',
204
246
  alias: 'Umb.Localization.RO',
205
- weight: 100,
206
247
  name: 'Romanian Backoffice UI Localization',
207
- meta: {
208
- culture: 'ro',
209
- },
248
+ meta: { culture: 'ro' },
210
249
  js: () => import('../../../assets/lang/ro.js'),
211
250
  },
251
+ {
252
+ type: 'localization',
253
+ alias: 'Umb.Localization.RO_RO',
254
+ name: 'Romanian (Romania) Backoffice UI Localization',
255
+ meta: { culture: 'ro-RO' },
256
+ },
212
257
  {
213
258
  type: 'localization',
214
259
  alias: 'Umb.Localization.RU',
215
- weight: 100,
216
260
  name: 'Russian Backoffice UI Localization',
217
- meta: {
218
- culture: 'ru',
219
- },
261
+ meta: { culture: 'ru' },
220
262
  js: () => import('../../../assets/lang/ru.js'),
221
263
  },
264
+ {
265
+ type: 'localization',
266
+ alias: 'Umb.Localization.RU_RU',
267
+ name: 'Russian (Russia) Backoffice UI Localization',
268
+ meta: { culture: 'ru-RU' },
269
+ },
222
270
  {
223
271
  type: 'localization',
224
272
  alias: 'Umb.Localization.SV',
225
- weight: 100,
226
273
  name: 'Swedish Backoffice UI Localization',
227
- meta: {
228
- culture: 'sv',
229
- },
274
+ meta: { culture: 'sv' },
230
275
  js: () => import('../../../assets/lang/sv.js'),
231
276
  },
277
+ {
278
+ type: 'localization',
279
+ alias: 'Umb.Localization.SV_SE',
280
+ name: 'Swedish (Sweden) Backoffice UI Localization',
281
+ meta: { culture: 'sv-SE' },
282
+ },
232
283
  {
233
284
  type: 'localization',
234
285
  alias: 'Umb.Localization.TR',
235
- weight: 100,
236
286
  name: 'Turkish Backoffice UI Localization',
237
- meta: {
238
- culture: 'tr',
239
- },
287
+ meta: { culture: 'tr' },
240
288
  js: () => import('../../../assets/lang/tr.js'),
241
289
  },
290
+ {
291
+ type: 'localization',
292
+ alias: 'Umb.Localization.TR_TR',
293
+ name: 'Turkish (Türkiye) Backoffice UI Localization',
294
+ meta: { culture: 'tr-TR' },
295
+ },
242
296
  {
243
297
  type: 'localization',
244
298
  alias: 'Umb.Localization.UK',
245
- weight: 100,
246
299
  name: 'Ukrainian Backoffice UI Localization',
247
- meta: {
248
- culture: 'uk',
249
- },
300
+ meta: { culture: 'uk' },
250
301
  js: () => import('../../../assets/lang/uk.js'),
251
302
  },
303
+ {
304
+ type: 'localization',
305
+ alias: 'Umb.Localization.UK_UA',
306
+ name: 'Ukrainian (Ukraine) Backoffice UI Localization',
307
+ meta: { culture: 'uk-UA' },
308
+ },
252
309
  {
253
310
  type: 'localization',
254
311
  alias: 'Umb.Localization.ZH',
255
- weight: 100,
256
312
  name: 'Chinese Backoffice UI Localization',
257
- meta: {
258
- culture: 'zh',
259
- },
313
+ meta: { culture: 'zh' },
260
314
  js: () => import('../../../assets/lang/zh.js'),
261
315
  },
316
+ {
317
+ type: 'localization',
318
+ alias: 'Umb.Localization.ZH_CN',
319
+ name: 'Chinese (Simplified, China) Backoffice UI Localization',
320
+ meta: { culture: 'zh-CN' },
321
+ },
262
322
  {
263
323
  type: 'localization',
264
324
  alias: 'Umb.Localization.ZH_TW',
265
- weight: 100,
266
325
  name: 'Chinese (Taiwan) Backoffice UI Localization',
267
- meta: {
268
- culture: 'zh-TW',
269
- },
326
+ meta: { culture: 'zh-TW' },
270
327
  js: () => import('../../../assets/lang/zh-tw.js'),
271
328
  },
272
329
  {
273
330
  type: 'localization',
274
331
  alias: 'Umb.Localization.VI',
275
- weight: 100,
276
332
  name: 'Vietnamese Backoffice UI Localization',
277
- meta: {
278
- culture: 'vi',
279
- },
333
+ meta: { culture: 'vi' },
280
334
  js: () => import('../../../assets/lang/vi.js'),
281
335
  },
282
336
  ];
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS } from '../constants.js';
8
- import { observeMultiple } from '../../../libs/observable-api/index.js';
8
+ import { jsonStringComparison, observeMultiple } from '../../../libs/observable-api/index.js';
9
9
  import { property, state } from '../../../external/lit/index.js';
10
10
  import { UmbBlockRteEntriesContext, UmbBlockRteManagerContext } from '../../block/block-rte/index.js';
11
11
  import { UmbChangeEvent } from '../../core/event/index.js';
@@ -172,10 +172,13 @@ export class UmbPropertyEditorUiRteElementBase extends UmbFormControlMixin(UmbLi
172
172
  ]), ([layouts, contents, settings, exposes]) => {
173
173
  if (layouts.length === 0) {
174
174
  if (super.value?.markup === undefined) {
175
+ if (this.value === undefined) {
176
+ return;
177
+ }
175
178
  super.value = undefined;
176
179
  }
177
180
  else {
178
- super.value = {
181
+ const newValue = {
179
182
  ...super.value,
180
183
  blocks: {
181
184
  layout: {},
@@ -184,10 +187,14 @@ export class UmbPropertyEditorUiRteElementBase extends UmbFormControlMixin(UmbLi
184
187
  expose: [],
185
188
  },
186
189
  };
190
+ if (jsonStringComparison(this.value, newValue)) {
191
+ return;
192
+ }
193
+ super.value = newValue;
187
194
  }
188
195
  }
189
196
  else {
190
- super.value = {
197
+ const newValue = {
191
198
  markup: this._markup,
192
199
  blocks: {
193
200
  layout: { [UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts },
@@ -196,6 +203,10 @@ export class UmbPropertyEditorUiRteElementBase extends UmbFormControlMixin(UmbLi
196
203
  expose: exposes,
197
204
  },
198
205
  };
206
+ if (jsonStringComparison(this.value, newValue)) {
207
+ return;
208
+ }
209
+ super.value = newValue;
199
210
  }
200
211
  // If we don't have a value set from the outside or an internal value, we don't want to set the value.
201
212
  // This is added to prevent the block list from setting an empty value on startup.