@payloadcms/richtext-lexical 3.59.0-canary.0 → 3.59.0-canary.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.
- package/dist/exports/client/{Field-U4WLAHNW.js → Field-EHRBYNHO.js} +2 -2
- package/dist/exports/client/chunk-2Y72RT72.js +12 -0
- package/dist/exports/client/chunk-2Y72RT72.js.map +7 -0
- package/dist/exports/client/index.js +2 -2
- package/dist/exports/client/index.js.map +2 -2
- package/dist/features/blocks/server/i18n.js +38 -38
- package/dist/features/blocks/server/i18n.js.map +1 -1
- package/dist/field/RenderLexical/index.d.ts.map +1 -1
- package/dist/field/RenderLexical/index.js +1 -0
- package/dist/field/RenderLexical/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +5 -5
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
- package/package.json +7 -7
- package/dist/exports/client/chunk-YCH4JNUH.js +0 -12
- package/dist/exports/client/chunk-YCH4JNUH.js.map +0 -7
- /package/dist/exports/client/{Field-U4WLAHNW.js.map → Field-EHRBYNHO.js.map} +0 -0
|
@@ -2,9 +2,9 @@ export const i18n = {
|
|
|
2
2
|
ar: {
|
|
3
3
|
inlineBlocks: {
|
|
4
4
|
create: 'أنشئ {{label}}',
|
|
5
|
-
edit: 'تحرير {{
|
|
5
|
+
edit: 'تحرير {{label}}',
|
|
6
6
|
label: 'الكتل الداخلية',
|
|
7
|
-
remove: 'إزالة {{
|
|
7
|
+
remove: 'إزالة {{label}}'
|
|
8
8
|
},
|
|
9
9
|
label: 'كتل'
|
|
10
10
|
},
|
|
@@ -19,16 +19,16 @@ export const i18n = {
|
|
|
19
19
|
},
|
|
20
20
|
bg: {
|
|
21
21
|
inlineBlocks: {
|
|
22
|
-
create: 'Създайте {{
|
|
23
|
-
edit: 'Редактирай {{
|
|
22
|
+
create: 'Създайте {{label}}',
|
|
23
|
+
edit: 'Редактирай {{label}}',
|
|
24
24
|
label: 'Вградени блокове',
|
|
25
|
-
remove: 'Премахнете {{
|
|
25
|
+
remove: 'Премахнете {{label}}'
|
|
26
26
|
},
|
|
27
27
|
label: 'Блокове'
|
|
28
28
|
},
|
|
29
29
|
cs: {
|
|
30
30
|
inlineBlocks: {
|
|
31
|
-
create: 'Vytvořte {{
|
|
31
|
+
create: 'Vytvořte {{label}}',
|
|
32
32
|
edit: 'Upravit {{label}}',
|
|
33
33
|
label: 'Inline bloky',
|
|
34
34
|
remove: 'Odstraňte {{label}}'
|
|
@@ -64,8 +64,8 @@ export const i18n = {
|
|
|
64
64
|
},
|
|
65
65
|
es: {
|
|
66
66
|
inlineBlocks: {
|
|
67
|
-
create: 'Crear {{
|
|
68
|
-
edit: 'Editar {{
|
|
67
|
+
create: 'Crear {{label}}',
|
|
68
|
+
edit: 'Editar {{label}}',
|
|
69
69
|
label: 'Bloques en línea',
|
|
70
70
|
remove: 'Eliminar {{label}}'
|
|
71
71
|
},
|
|
@@ -82,10 +82,10 @@ export const i18n = {
|
|
|
82
82
|
},
|
|
83
83
|
fa: {
|
|
84
84
|
inlineBlocks: {
|
|
85
|
-
create: 'ایجاد {{
|
|
86
|
-
edit: 'ویرایش {{
|
|
85
|
+
create: 'ایجاد {{label}}',
|
|
86
|
+
edit: 'ویرایش {{label}}',
|
|
87
87
|
label: 'بلوکهای درون خطی',
|
|
88
|
-
remove: 'حذف {{
|
|
88
|
+
remove: 'حذف {{label}}'
|
|
89
89
|
},
|
|
90
90
|
label: 'بلوک ها'
|
|
91
91
|
},
|
|
@@ -100,26 +100,26 @@ export const i18n = {
|
|
|
100
100
|
},
|
|
101
101
|
he: {
|
|
102
102
|
inlineBlocks: {
|
|
103
|
-
create: 'צור {{
|
|
104
|
-
edit: 'ערוך {{
|
|
103
|
+
create: 'צור {{label}}',
|
|
104
|
+
edit: 'ערוך {{label}}',
|
|
105
105
|
label: 'בלוקים משורשרים',
|
|
106
|
-
remove: 'הסר {{
|
|
106
|
+
remove: 'הסר {{label}}'
|
|
107
107
|
},
|
|
108
108
|
label: 'חסימות'
|
|
109
109
|
},
|
|
110
110
|
hr: {
|
|
111
111
|
inlineBlocks: {
|
|
112
|
-
create: 'Stvori {{
|
|
112
|
+
create: 'Stvori {{label}}',
|
|
113
113
|
edit: 'Uredi {{label}}',
|
|
114
114
|
label: 'Unutrašnji blokovi',
|
|
115
|
-
remove: 'Ukloni {{
|
|
115
|
+
remove: 'Ukloni {{label}}'
|
|
116
116
|
},
|
|
117
117
|
label: 'Blokovi'
|
|
118
118
|
},
|
|
119
119
|
hu: {
|
|
120
120
|
inlineBlocks: {
|
|
121
|
-
create: 'Hozzon létre {{
|
|
122
|
-
edit: 'Szerkesztés {{
|
|
121
|
+
create: 'Hozzon létre {{label}}',
|
|
122
|
+
edit: 'Szerkesztés {{label}}',
|
|
123
123
|
label: 'Beágyazott blokkok',
|
|
124
124
|
remove: 'Távolítsa el a {{label}}'
|
|
125
125
|
},
|
|
@@ -127,7 +127,7 @@ export const i18n = {
|
|
|
127
127
|
},
|
|
128
128
|
it: {
|
|
129
129
|
inlineBlocks: {
|
|
130
|
-
create: 'Crea {{
|
|
130
|
+
create: 'Crea {{label}}',
|
|
131
131
|
edit: 'Modifica {{label}}',
|
|
132
132
|
label: 'Blocchi in linea',
|
|
133
133
|
remove: 'Rimuovi {{label}}'
|
|
@@ -139,7 +139,7 @@ export const i18n = {
|
|
|
139
139
|
create: '{{label}}を作成する',
|
|
140
140
|
edit: '{{label}}を編集する',
|
|
141
141
|
label: 'インラインブロック',
|
|
142
|
-
remove: '{{
|
|
142
|
+
remove: '{{label}}を削除します'
|
|
143
143
|
},
|
|
144
144
|
label: 'ブロック'
|
|
145
145
|
},
|
|
@@ -182,9 +182,9 @@ export const i18n = {
|
|
|
182
182
|
pl: {
|
|
183
183
|
inlineBlocks: {
|
|
184
184
|
create: 'Utwórz {{label}}',
|
|
185
|
-
edit: 'Edytuj {{
|
|
185
|
+
edit: 'Edytuj {{label}}',
|
|
186
186
|
label: 'Blokowanie w linii',
|
|
187
|
-
remove: 'Usuń {{
|
|
187
|
+
remove: 'Usuń {{label}}'
|
|
188
188
|
},
|
|
189
189
|
label: 'Bloki'
|
|
190
190
|
},
|
|
@@ -199,10 +199,10 @@ export const i18n = {
|
|
|
199
199
|
},
|
|
200
200
|
ro: {
|
|
201
201
|
inlineBlocks: {
|
|
202
|
-
create: 'Creează {{
|
|
203
|
-
edit: 'Editați {{
|
|
202
|
+
create: 'Creează {{label}}',
|
|
203
|
+
edit: 'Editați {{label}}',
|
|
204
204
|
label: 'Blocuri in linie',
|
|
205
|
-
remove: 'Ștergeți {{
|
|
205
|
+
remove: 'Ștergeți {{label}}'
|
|
206
206
|
},
|
|
207
207
|
label: 'Blocuri'
|
|
208
208
|
},
|
|
@@ -220,22 +220,22 @@ export const i18n = {
|
|
|
220
220
|
create: 'Kreiraj {{label}}',
|
|
221
221
|
edit: 'Izmeni {{label}}',
|
|
222
222
|
label: 'Umetnuti blokovi',
|
|
223
|
-
remove: 'Ukloni {{
|
|
223
|
+
remove: 'Ukloni {{label}}'
|
|
224
224
|
},
|
|
225
225
|
label: 'Blokovi'
|
|
226
226
|
},
|
|
227
227
|
ru: {
|
|
228
228
|
inlineBlocks: {
|
|
229
229
|
create: 'Создать {{label}}',
|
|
230
|
-
edit: 'Изменить {{
|
|
230
|
+
edit: 'Изменить {{label}}',
|
|
231
231
|
label: 'Встроенные блоки',
|
|
232
|
-
remove: 'Удалить {{
|
|
232
|
+
remove: 'Удалить {{label}}'
|
|
233
233
|
},
|
|
234
234
|
label: 'Блоки'
|
|
235
235
|
},
|
|
236
236
|
sk: {
|
|
237
237
|
inlineBlocks: {
|
|
238
|
-
create: 'Vytvorte {{
|
|
238
|
+
create: 'Vytvorte {{label}}',
|
|
239
239
|
edit: 'Upraviť {{label}}',
|
|
240
240
|
label: 'Inline bloky',
|
|
241
241
|
remove: 'Odstráňte {{label}}'
|
|
@@ -244,7 +244,7 @@ export const i18n = {
|
|
|
244
244
|
},
|
|
245
245
|
sl: {
|
|
246
246
|
inlineBlocks: {
|
|
247
|
-
create: 'Ustvari {{
|
|
247
|
+
create: 'Ustvari {{label}}',
|
|
248
248
|
edit: 'Uredi {{label}}',
|
|
249
249
|
label: 'Vrstični bloki',
|
|
250
250
|
remove: 'Odstrani {{label}}'
|
|
@@ -254,9 +254,9 @@ export const i18n = {
|
|
|
254
254
|
sv: {
|
|
255
255
|
inlineBlocks: {
|
|
256
256
|
create: 'Skapa {{label}}',
|
|
257
|
-
edit: 'Redigera {{
|
|
257
|
+
edit: 'Redigera {{label}}',
|
|
258
258
|
label: 'Inline-blockar',
|
|
259
|
-
remove: 'Ta bort {{
|
|
259
|
+
remove: 'Ta bort {{label}}'
|
|
260
260
|
},
|
|
261
261
|
label: 'Block'
|
|
262
262
|
},
|
|
@@ -280,10 +280,10 @@ export const i18n = {
|
|
|
280
280
|
},
|
|
281
281
|
tr: {
|
|
282
282
|
inlineBlocks: {
|
|
283
|
-
create: '{{
|
|
284
|
-
edit: "{{
|
|
283
|
+
create: '{{label}} oluşturun',
|
|
284
|
+
edit: "{{label}}'i düzenleyin",
|
|
285
285
|
label: 'Satır İçi Bloklar',
|
|
286
|
-
remove: '{{
|
|
286
|
+
remove: '{{label}} kaldırın'
|
|
287
287
|
},
|
|
288
288
|
label: 'Bloklar'
|
|
289
289
|
},
|
|
@@ -292,16 +292,16 @@ export const i18n = {
|
|
|
292
292
|
create: 'Створити {{label}}',
|
|
293
293
|
edit: 'Редагувати {{label}}',
|
|
294
294
|
label: 'Вбудовані блоки',
|
|
295
|
-
remove: 'Видалити {{
|
|
295
|
+
remove: 'Видалити {{label}}'
|
|
296
296
|
},
|
|
297
297
|
label: 'Блоки'
|
|
298
298
|
},
|
|
299
299
|
vi: {
|
|
300
300
|
inlineBlocks: {
|
|
301
301
|
create: 'Tạo {{label}}',
|
|
302
|
-
edit: 'Chỉnh sửa {{
|
|
302
|
+
edit: 'Chỉnh sửa {{label}}',
|
|
303
303
|
label: 'Khối nội tuyến',
|
|
304
|
-
remove: 'Xóa {{
|
|
304
|
+
remove: 'Xóa {{label}}'
|
|
305
305
|
},
|
|
306
306
|
label: 'Khối'
|
|
307
307
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":["i18n","ar","inlineBlocks","create","edit","label","remove","az","bg","cs","da","de","en","es","et","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","ta","th","tr","uk","vi","zh"],"sources":["../../../../src/features/blocks/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n inlineBlocks: {\n create: 'أنشئ {{label}}',\n edit: 'تحرير {{التسمية}}',\n label: 'الكتل الداخلية',\n remove: 'إزالة {{التسمية}}',\n },\n label: 'كتل',\n },\n az: {\n inlineBlocks: {\n create: 'Yarat {{label}}',\n edit: '{{label}} redaktə et',\n label: 'Sıralı Bloklar',\n remove: '{{label}} silin',\n },\n label: 'Bloklar',\n },\n bg: {\n inlineBlocks: {\n create: 'Създайте {{етикет}}',\n edit: 'Редактирай {{етикет}}',\n label: 'Вградени блокове',\n remove: 'Премахнете {{етикет}}',\n },\n label: 'Блокове',\n },\n cs: {\n inlineBlocks: {\n create: 'Vytvořte {{štítek}}',\n edit: 'Upravit {{label}}',\n label: 'Inline bloky',\n remove: 'Odstraňte {{label}}',\n },\n label: 'Bloky',\n },\n da: {\n inlineBlocks: {\n create: 'Opret {{label}}',\n edit: 'Rediger {{label}}',\n label: 'Indlejrede blokke',\n remove: 'Fjern {{label}}',\n },\n label: 'Blokke',\n },\n de: {\n inlineBlocks: {\n create: 'Erstelle {{label}}',\n edit: 'Bearbeite {{label}}',\n label: 'Inline-Blöcke',\n remove: 'Entferne {{label}}',\n },\n label: 'Blöcke',\n },\n en: {\n inlineBlocks: {\n create: 'Create {{label}}',\n edit: 'Edit {{label}}',\n label: 'Inline Blocks',\n remove: 'Remove {{label}}',\n },\n label: 'Blocks',\n },\n es: {\n inlineBlocks: {\n create: 'Crear {{etiqueta}}',\n edit: 'Editar {{etiqueta}}',\n label: 'Bloques en línea',\n remove: 'Eliminar {{label}}',\n },\n label: 'Bloques',\n },\n et: {\n inlineBlocks: {\n create: 'Loo {{label}}',\n edit: 'Muuda {{label}}',\n label: 'Sisseehitatud plokid',\n remove: 'Eemalda {{label}}',\n },\n label: 'Plokk',\n },\n fa: {\n inlineBlocks: {\n create: 'ایجاد {{برچسب}}',\n edit: 'ویرایش {{برچسب}}',\n label: 'بلوکهای درون خطی',\n remove: 'حذف {{برچسب}}',\n },\n label: 'بلوک ها',\n },\n fr: {\n inlineBlocks: {\n create: 'Créer {{label}}',\n edit: 'Modifier {{label}}',\n label: 'Blocs en ligne',\n remove: 'Supprimer {{label}}',\n },\n label: 'Blocs',\n },\n he: {\n inlineBlocks: {\n create: 'צור {{תווית}}',\n edit: 'ערוך {{תווית}}',\n label: 'בלוקים משורשרים',\n remove: 'הסר {{תווית}}',\n },\n label: 'חסימות',\n },\n hr: {\n inlineBlocks: {\n create: 'Stvori {{oznaka}}',\n edit: 'Uredi {{label}}',\n label: 'Unutrašnji blokovi',\n remove: 'Ukloni {{oznaka}}',\n },\n label: 'Blokovi',\n },\n hu: {\n inlineBlocks: {\n create: 'Hozzon létre {{címke}}',\n edit: 'Szerkesztés {{címke}}',\n label: 'Beágyazott blokkok',\n remove: 'Távolítsa el a {{label}}',\n },\n label: 'Blokkok',\n },\n it: {\n inlineBlocks: {\n create: 'Crea {{etichetta}}',\n edit: 'Modifica {{label}}',\n label: 'Blocchi in linea',\n remove: 'Rimuovi {{label}}',\n },\n label: 'Blocchi',\n },\n ja: {\n inlineBlocks: {\n create: '{{label}}を作成する',\n edit: '{{label}}を編集する',\n label: 'インラインブロック',\n remove: '{{ラベル}}を削除します',\n },\n label: 'ブロック',\n },\n ko: {\n inlineBlocks: {\n create: '{{label}} 생성하기',\n edit: '{{label}} 수정하기',\n label: '인라인 블록',\n remove: '{{label}} 제거하세요',\n },\n label: '블록',\n },\n my: {\n inlineBlocks: {\n create: 'Cipta {{label}}',\n edit: 'Sunting {{label}}',\n label: 'Inline Blocks [SKIPPED]',\n remove: 'Buang {{label}}',\n },\n label: 'တံတားများ',\n },\n nb: {\n inlineBlocks: {\n create: 'Opprett {{label}}',\n edit: 'Rediger {{label}}',\n label: 'In-line blokker',\n remove: 'Fjern {{label}}',\n },\n label: 'Blokker',\n },\n nl: {\n inlineBlocks: {\n create: 'Maak {{label}}',\n edit: 'Bewerk {{label}}',\n label: 'Inline Blocks',\n remove: 'Verwijder {{label}}',\n },\n label: 'Blokken',\n },\n pl: {\n inlineBlocks: {\n create: 'Utwórz {{label}}',\n edit: 'Edytuj {{etykieta}}',\n label: 'Blokowanie w linii',\n remove: 'Usuń {{etykieta}}',\n },\n label: 'Bloki',\n },\n pt: {\n inlineBlocks: {\n create: 'Crie {{label}}',\n edit: 'Editar {{label}}',\n label: 'Blocos em linha',\n remove: 'Remova {{label}}',\n },\n label: 'Blocos',\n },\n ro: {\n inlineBlocks: {\n create: 'Creează {{eticheta}}',\n edit: 'Editați {{eticheta}}',\n label: 'Blocuri in linie',\n remove: 'Ștergeți {{etichetă}}',\n },\n label: 'Blocuri',\n },\n rs: {\n inlineBlocks: {\n create: 'Креирај {{label}}',\n edit: 'Измени {{label}}',\n label: 'Уметнути блокови',\n remove: 'Уклони {{label}}',\n },\n label: 'Блокови',\n },\n 'rs-latin': {\n inlineBlocks: {\n create: 'Kreiraj {{label}}',\n edit: 'Izmeni {{label}}',\n label: 'Umetnuti blokovi',\n remove: 'Ukloni {{oznaka}}',\n },\n label: 'Blokovi',\n },\n ru: {\n inlineBlocks: {\n create: 'Создать {{label}}',\n edit: 'Изменить {{метка}}',\n label: 'Встроенные блоки',\n remove: 'Удалить {{метка}}',\n },\n label: 'Блоки',\n },\n sk: {\n inlineBlocks: {\n create: 'Vytvorte {{označenie}}',\n edit: 'Upraviť {{label}}',\n label: 'Inline bloky',\n remove: 'Odstráňte {{label}}',\n },\n label: 'Bloky',\n },\n sl: {\n inlineBlocks: {\n create: 'Ustvari {{oznaka}}',\n edit: 'Uredi {{label}}',\n label: 'Vrstični bloki',\n remove: 'Odstrani {{label}}',\n },\n label: 'Bloki',\n },\n sv: {\n inlineBlocks: {\n create: 'Skapa {{label}}',\n edit: 'Redigera {{etikett}}',\n label: 'Inline-blockar',\n remove: 'Ta bort {{etikett}}',\n },\n label: 'Block',\n },\n ta: {\n inlineBlocks: {\n create: '{{label}} உருவாக்கவும்',\n edit: '{{label}} திருத்தவும்',\n label: 'இன்லைன் தொகுதிகள்',\n remove: '{{label}} நீக்கவும்',\n },\n label: 'தொகுதிகள்',\n },\n th: {\n inlineBlocks: {\n create: 'สร้าง {{label}}',\n edit: 'แก้ไข {{label}}',\n label: 'บล็อกแบบอินไลน์',\n remove: 'ลบ {{label}}',\n },\n label: 'บล็อค',\n },\n tr: {\n inlineBlocks: {\n create: '{{Etiketi}} oluşturun',\n edit: \"{{Etiket}}'i düzenleyin\",\n label: 'Satır İçi Bloklar',\n remove: '{{Etiketi}} kaldırın',\n },\n label: 'Bloklar',\n },\n uk: {\n inlineBlocks: {\n create: 'Створити {{label}}',\n edit: 'Редагувати {{label}}',\n label: 'Вбудовані блоки',\n remove: 'Видалити {{мітку}}',\n },\n label: 'Блоки',\n },\n vi: {\n inlineBlocks: {\n create: 'Tạo {{label}}',\n edit: 'Chỉnh sửa {{nhãn}}',\n label: 'Khối nội tuyến',\n remove: 'Xóa {{nhãn}}',\n },\n label: 'Khối',\n },\n zh: {\n inlineBlocks: {\n create: '创建{{label}}',\n edit: '编辑 {{label}}',\n label: '内联块',\n remove: '删除{{label}}',\n },\n label: '区块',\n },\n 'zh-TW': {\n inlineBlocks: {\n create: '創建 {{label}}',\n edit: '編輯 {{label}}',\n label: '內聯區塊',\n remove: '移除 {{label}}',\n },\n label: '區塊',\n },\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"i18n.js","names":["i18n","ar","inlineBlocks","create","edit","label","remove","az","bg","cs","da","de","en","es","et","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","ta","th","tr","uk","vi","zh"],"sources":["../../../../src/features/blocks/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n inlineBlocks: {\n create: 'أنشئ {{label}}',\n edit: 'تحرير {{label}}',\n label: 'الكتل الداخلية',\n remove: 'إزالة {{label}}',\n },\n label: 'كتل',\n },\n az: {\n inlineBlocks: {\n create: 'Yarat {{label}}',\n edit: '{{label}} redaktə et',\n label: 'Sıralı Bloklar',\n remove: '{{label}} silin',\n },\n label: 'Bloklar',\n },\n bg: {\n inlineBlocks: {\n create: 'Създайте {{label}}',\n edit: 'Редактирай {{label}}',\n label: 'Вградени блокове',\n remove: 'Премахнете {{label}}',\n },\n label: 'Блокове',\n },\n cs: {\n inlineBlocks: {\n create: 'Vytvořte {{label}}',\n edit: 'Upravit {{label}}',\n label: 'Inline bloky',\n remove: 'Odstraňte {{label}}',\n },\n label: 'Bloky',\n },\n da: {\n inlineBlocks: {\n create: 'Opret {{label}}',\n edit: 'Rediger {{label}}',\n label: 'Indlejrede blokke',\n remove: 'Fjern {{label}}',\n },\n label: 'Blokke',\n },\n de: {\n inlineBlocks: {\n create: 'Erstelle {{label}}',\n edit: 'Bearbeite {{label}}',\n label: 'Inline-Blöcke',\n remove: 'Entferne {{label}}',\n },\n label: 'Blöcke',\n },\n en: {\n inlineBlocks: {\n create: 'Create {{label}}',\n edit: 'Edit {{label}}',\n label: 'Inline Blocks',\n remove: 'Remove {{label}}',\n },\n label: 'Blocks',\n },\n es: {\n inlineBlocks: {\n create: 'Crear {{label}}',\n edit: 'Editar {{label}}',\n label: 'Bloques en línea',\n remove: 'Eliminar {{label}}',\n },\n label: 'Bloques',\n },\n et: {\n inlineBlocks: {\n create: 'Loo {{label}}',\n edit: 'Muuda {{label}}',\n label: 'Sisseehitatud plokid',\n remove: 'Eemalda {{label}}',\n },\n label: 'Plokk',\n },\n fa: {\n inlineBlocks: {\n create: 'ایجاد {{label}}',\n edit: 'ویرایش {{label}}',\n label: 'بلوکهای درون خطی',\n remove: 'حذف {{label}}',\n },\n label: 'بلوک ها',\n },\n fr: {\n inlineBlocks: {\n create: 'Créer {{label}}',\n edit: 'Modifier {{label}}',\n label: 'Blocs en ligne',\n remove: 'Supprimer {{label}}',\n },\n label: 'Blocs',\n },\n he: {\n inlineBlocks: {\n create: 'צור {{label}}',\n edit: 'ערוך {{label}}',\n label: 'בלוקים משורשרים',\n remove: 'הסר {{label}}',\n },\n label: 'חסימות',\n },\n hr: {\n inlineBlocks: {\n create: 'Stvori {{label}}',\n edit: 'Uredi {{label}}',\n label: 'Unutrašnji blokovi',\n remove: 'Ukloni {{label}}',\n },\n label: 'Blokovi',\n },\n hu: {\n inlineBlocks: {\n create: 'Hozzon létre {{label}}',\n edit: 'Szerkesztés {{label}}',\n label: 'Beágyazott blokkok',\n remove: 'Távolítsa el a {{label}}',\n },\n label: 'Blokkok',\n },\n it: {\n inlineBlocks: {\n create: 'Crea {{label}}',\n edit: 'Modifica {{label}}',\n label: 'Blocchi in linea',\n remove: 'Rimuovi {{label}}',\n },\n label: 'Blocchi',\n },\n ja: {\n inlineBlocks: {\n create: '{{label}}を作成する',\n edit: '{{label}}を編集する',\n label: 'インラインブロック',\n remove: '{{label}}を削除します',\n },\n label: 'ブロック',\n },\n ko: {\n inlineBlocks: {\n create: '{{label}} 생성하기',\n edit: '{{label}} 수정하기',\n label: '인라인 블록',\n remove: '{{label}} 제거하세요',\n },\n label: '블록',\n },\n my: {\n inlineBlocks: {\n create: 'Cipta {{label}}',\n edit: 'Sunting {{label}}',\n label: 'Inline Blocks [SKIPPED]',\n remove: 'Buang {{label}}',\n },\n label: 'တံတားများ',\n },\n nb: {\n inlineBlocks: {\n create: 'Opprett {{label}}',\n edit: 'Rediger {{label}}',\n label: 'In-line blokker',\n remove: 'Fjern {{label}}',\n },\n label: 'Blokker',\n },\n nl: {\n inlineBlocks: {\n create: 'Maak {{label}}',\n edit: 'Bewerk {{label}}',\n label: 'Inline Blocks',\n remove: 'Verwijder {{label}}',\n },\n label: 'Blokken',\n },\n pl: {\n inlineBlocks: {\n create: 'Utwórz {{label}}',\n edit: 'Edytuj {{label}}',\n label: 'Blokowanie w linii',\n remove: 'Usuń {{label}}',\n },\n label: 'Bloki',\n },\n pt: {\n inlineBlocks: {\n create: 'Crie {{label}}',\n edit: 'Editar {{label}}',\n label: 'Blocos em linha',\n remove: 'Remova {{label}}',\n },\n label: 'Blocos',\n },\n ro: {\n inlineBlocks: {\n create: 'Creează {{label}}',\n edit: 'Editați {{label}}',\n label: 'Blocuri in linie',\n remove: 'Ștergeți {{label}}',\n },\n label: 'Blocuri',\n },\n rs: {\n inlineBlocks: {\n create: 'Креирај {{label}}',\n edit: 'Измени {{label}}',\n label: 'Уметнути блокови',\n remove: 'Уклони {{label}}',\n },\n label: 'Блокови',\n },\n 'rs-latin': {\n inlineBlocks: {\n create: 'Kreiraj {{label}}',\n edit: 'Izmeni {{label}}',\n label: 'Umetnuti blokovi',\n remove: 'Ukloni {{label}}',\n },\n label: 'Blokovi',\n },\n ru: {\n inlineBlocks: {\n create: 'Создать {{label}}',\n edit: 'Изменить {{label}}',\n label: 'Встроенные блоки',\n remove: 'Удалить {{label}}',\n },\n label: 'Блоки',\n },\n sk: {\n inlineBlocks: {\n create: 'Vytvorte {{label}}',\n edit: 'Upraviť {{label}}',\n label: 'Inline bloky',\n remove: 'Odstráňte {{label}}',\n },\n label: 'Bloky',\n },\n sl: {\n inlineBlocks: {\n create: 'Ustvari {{label}}',\n edit: 'Uredi {{label}}',\n label: 'Vrstični bloki',\n remove: 'Odstrani {{label}}',\n },\n label: 'Bloki',\n },\n sv: {\n inlineBlocks: {\n create: 'Skapa {{label}}',\n edit: 'Redigera {{label}}',\n label: 'Inline-blockar',\n remove: 'Ta bort {{label}}',\n },\n label: 'Block',\n },\n ta: {\n inlineBlocks: {\n create: '{{label}} உருவாக்கவும்',\n edit: '{{label}} திருத்தவும்',\n label: 'இன்லைன் தொகுதிகள்',\n remove: '{{label}} நீக்கவும்',\n },\n label: 'தொகுதிகள்',\n },\n th: {\n inlineBlocks: {\n create: 'สร้าง {{label}}',\n edit: 'แก้ไข {{label}}',\n label: 'บล็อกแบบอินไลน์',\n remove: 'ลบ {{label}}',\n },\n label: 'บล็อค',\n },\n tr: {\n inlineBlocks: {\n create: '{{label}} oluşturun',\n edit: \"{{label}}'i düzenleyin\",\n label: 'Satır İçi Bloklar',\n remove: '{{label}} kaldırın',\n },\n label: 'Bloklar',\n },\n uk: {\n inlineBlocks: {\n create: 'Створити {{label}}',\n edit: 'Редагувати {{label}}',\n label: 'Вбудовані блоки',\n remove: 'Видалити {{label}}',\n },\n label: 'Блоки',\n },\n vi: {\n inlineBlocks: {\n create: 'Tạo {{label}}',\n edit: 'Chỉnh sửa {{label}}',\n label: 'Khối nội tuyến',\n remove: 'Xóa {{label}}',\n },\n label: 'Khối',\n },\n zh: {\n inlineBlocks: {\n create: '创建{{label}}',\n edit: '编辑 {{label}}',\n label: '内联块',\n remove: '删除{{label}}',\n },\n label: '区块',\n },\n 'zh-TW': {\n inlineBlocks: {\n create: '創建 {{label}}',\n edit: '編輯 {{label}}',\n label: '內聯區塊',\n remove: '移除 {{label}}',\n },\n label: '區塊',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFL,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFN,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFP,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFR,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFT,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFV,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFX,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFZ,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFb,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFd,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFf,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFhB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFjB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFlB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFnB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFpB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFrB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFtB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFvB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFxB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFzB,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACF1B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACF3B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA,YAAY;IACVH,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACF5B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF7B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF9B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF/B,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACFhC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACFjC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA+B,EAAA,EAAI;IACFlC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAgC,EAAA,EAAI;IACFnC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAiC,EAAA,EAAI;IACFpC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACAkC,EAAA,EAAI;IACFrC,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;EACA,SAAS;IACPH,YAAA,EAAc;MACZC,MAAA,EAAQ;MACRC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPC,MAAA,EAAQ;IACV;IACAD,KAAA,EAAO;EACT;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/field/RenderLexical/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,uBAAuB,EAK7B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE;AAClC;;;GAGG;AACH;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE5B,QAAQ,CAAC,EAAE,SAAS,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC,UAAU,CAAC,CAAA;IACrE,KAAK,CAAC,EAAE,SAAS,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAA;CAChE,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/field/RenderLexical/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,uBAAuB,EAK7B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE;AAClC;;;GAGG;AACH;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE5B,QAAQ,CAAC,EAAE,SAAS,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC,UAAU,CAAC,CAAA;IACrE,KAAK,CAAC,EAAE,SAAS,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAA;CAChE,GAAG,uBAAuB,CA4F5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","FieldContext","FieldPathContext","ServerFunctionsContext","ShimmerEffect","useServerFunctions","React","useCallback","useEffect","useRef","RenderLexical","args","$","field","initialValue","Loading","path","schemaPath","setValue","value","Component","setComponent","useState","serverFunctionContext","_internal_renderField","entityType","entitySlug","split","fieldPath","name","t0","render","Field","type","admin","hidden","undefined","renderLexical","mounted","t1","t2","current","_jsx","adjustedServerFunctionContext","getFormState","getFormStateArgs","collectionSlug","globalSlug","children","fieldValue","disabled","formInitializing","formProcessing","formSubmitted","_temp","showError"],"sources":["../../../src/field/RenderLexical/index.tsx"],"sourcesContent":["'use client'\nimport type { RichTextField } from 'payload'\n\nimport {\n FieldContext,\n FieldPathContext,\n type FieldType,\n type RenderFieldServerFnArgs,\n ServerFunctionsContext,\n type ServerFunctionsContextType,\n ShimmerEffect,\n useServerFunctions,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type { DefaultTypedEditorState } from '../../nodeTypes.js'\n\n/**\n * Utility to render a lexical editor on the client.\n *\n * @experimental - may break in minor releases\n * @todo - replace this with a general utility that works for all fields. Maybe merge with packages/ui/src/forms/RenderFields/RenderField.tsx\n */\nexport const RenderLexical: React.FC<\n /**\n * If value or setValue, or both, is provided, this component will manage its own value.\n * If neither is passed, it will rely on the parent form to manage the value.\n */\n {\n /**\n * Override the loading state while the field component is being fetched and rendered.\n */\n Loading?: React.ReactElement\n\n setValue?: FieldType<DefaultTypedEditorState | undefined>['setValue']\n value?: FieldType<DefaultTypedEditorState | undefined>['value']\n } & RenderFieldServerFnArgs\n> = (args) => {\n const { field, initialValue, Loading, path, schemaPath, setValue, value } = args\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const serverFunctionContext = useServerFunctions()\n const { _internal_renderField } = serverFunctionContext\n\n const [entityType, entitySlug] = schemaPath.split('.')\n\n const fieldPath = path ?? (field && 'name' in field ? field?.name : '') ?? ''\n\n const renderLexical = useCallback(() => {\n async function render() {\n const { Field } = await _internal_renderField({\n field: {\n ...((field as RichTextField) || {}),\n type: 'richText',\n admin: {\n hidden: false,\n },\n },\n initialValue: initialValue ?? undefined,\n path,\n schemaPath,\n })\n\n setComponent(Field)\n }\n void render()\n }, [_internal_renderField, schemaPath, path, field, initialValue])\n\n const mounted = useRef(false)\n\n useEffect(() => {\n if (mounted.current) {\n return\n }\n mounted.current = true\n void renderLexical()\n }, [renderLexical])\n\n if (!Component) {\n return typeof Loading !== 'undefined' ? Loading : <ShimmerEffect />\n }\n\n /**\n * By default, the lexical will make form state requests (e.g. to get drawer fields), passing in the arguments\n * of the current field. However, we need to override those arguments to get it to make requests based on the\n * *target* field. The server only knows the schema map of the target field.\n */\n const adjustedServerFunctionContext: ServerFunctionsContextType = {\n ...serverFunctionContext,\n getFormState: async (getFormStateArgs) => {\n return serverFunctionContext.getFormState({\n ...getFormStateArgs,\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n })\n },\n }\n\n if (typeof value === 'undefined' && !setValue) {\n return (\n <ServerFunctionsContext value={{ ...adjustedServerFunctionContext }}>\n <FieldPathContext key={fieldPath} value={fieldPath}>\n {Component}\n </FieldPathContext>\n </ServerFunctionsContext>\n )\n }\n\n const fieldValue: FieldType<DefaultTypedEditorState | undefined> = {\n disabled: false,\n formInitializing: false,\n formProcessing: false,\n formSubmitted: false,\n initialValue: value,\n path: fieldPath,\n setValue: setValue ?? (() => undefined),\n showError: false,\n value,\n }\n\n return (\n <ServerFunctionsContext value={{ ...adjustedServerFunctionContext }}>\n <FieldPathContext key={fieldPath} value={fieldPath}>\n <FieldContext value={fieldValue}>{Component}</FieldContext>\n </FieldPathContext>\n </ServerFunctionsContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,YAAY,EACZC,gBAAgB,EAGhBC,sBAAsB,EAEtBC,aAAa,EACbC,kBAAkB,QACb;AACP,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAItD;;;;;;AAMA,OAAO,MAAMC,aAAA,GAcTC,IAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACF;IAAAa,KAAA;IAAAC,YAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,QAAA;IAAAC;EAAA,IAA4ER,IAAA;EAC5E,OAAAS,SAAA,EAAAC,YAAA,IAAkCf,KAAA,CAAAgB,QAAA,KAAuC;EACzE,MAAAC,qBAAA,GAA8BlB,kBAAA;EAC9B;IAAAmB;EAAA,IAAkCD,qBAAA;EAElC,OAAAE,UAAA,EAAAC,UAAA,IAAiCT,UAAA,CAAAU,KAAA,CAAiB;EAElD,MAAAC,SAAA,GAAkBZ,IAAA,KAASH,KAAA,IAAS,UAAUA,KAAA,GAAQA,KAAA,EAAAgB,IAAA,GAAc,EAAC,KAAM;EAAA,IAAAC,EAAA;EAAA,IAAAlB,CAAA,QAAAY,qBAAA,IAAAZ,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAE,YAAA,IAAAF,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAK,UAAA;IAEzCa,EAAA,GAAAA,CAAA;MAChC,MAAAC,MAAA,kBAAAA,OAAA;QACE;UAAAC;QAAA,UAAwBR,qBAAA;UAAAX,KAAA;YAAA,IAEhBA,KAAC,MAA6B;YAAAoB,IAAA,EAC5B;YAAAC,KAAA;cAAAC,MAAA;YAAA;UAAA;UAAArB,YAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","FieldContext","FieldPathContext","ServerFunctionsContext","ShimmerEffect","useServerFunctions","React","useCallback","useEffect","useRef","RenderLexical","args","$","field","initialValue","Loading","path","schemaPath","setValue","value","Component","setComponent","useState","serverFunctionContext","_internal_renderField","entityType","entitySlug","split","fieldPath","name","t0","render","Field","type","admin","hidden","undefined","renderLexical","mounted","t1","t2","current","_jsx","adjustedServerFunctionContext","getFormState","getFormStateArgs","collectionSlug","globalSlug","children","fieldValue","disabled","formInitializing","formProcessing","formSubmitted","_temp","showError"],"sources":["../../../src/field/RenderLexical/index.tsx"],"sourcesContent":["'use client'\nimport type { RichTextField } from 'payload'\n\nimport {\n FieldContext,\n FieldPathContext,\n type FieldType,\n type RenderFieldServerFnArgs,\n ServerFunctionsContext,\n type ServerFunctionsContextType,\n ShimmerEffect,\n useServerFunctions,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type { DefaultTypedEditorState } from '../../nodeTypes.js'\n\n/**\n * Utility to render a lexical editor on the client.\n *\n * @experimental - may break in minor releases\n * @todo - replace this with a general utility that works for all fields. Maybe merge with packages/ui/src/forms/RenderFields/RenderField.tsx\n */\nexport const RenderLexical: React.FC<\n /**\n * If value or setValue, or both, is provided, this component will manage its own value.\n * If neither is passed, it will rely on the parent form to manage the value.\n */\n {\n /**\n * Override the loading state while the field component is being fetched and rendered.\n */\n Loading?: React.ReactElement\n\n setValue?: FieldType<DefaultTypedEditorState | undefined>['setValue']\n value?: FieldType<DefaultTypedEditorState | undefined>['value']\n } & RenderFieldServerFnArgs\n> = (args) => {\n const { field, initialValue, Loading, path, schemaPath, setValue, value } = args\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const serverFunctionContext = useServerFunctions()\n const { _internal_renderField } = serverFunctionContext\n\n const [entityType, entitySlug] = schemaPath.split('.')\n\n const fieldPath = path ?? (field && 'name' in field ? field?.name : '') ?? ''\n\n const renderLexical = useCallback(() => {\n async function render() {\n const { Field } = await _internal_renderField({\n field: {\n ...((field as RichTextField) || {}),\n type: 'richText',\n admin: {\n ...((field as RichTextField)?.admin || {}),\n // When using \"fake\" anchor fields, hidden is often set to true. We need to override that here to ensure the field is rendered.\n hidden: false,\n },\n },\n initialValue: initialValue ?? undefined,\n path,\n schemaPath,\n })\n\n setComponent(Field)\n }\n void render()\n }, [_internal_renderField, schemaPath, path, field, initialValue])\n\n const mounted = useRef(false)\n\n useEffect(() => {\n if (mounted.current) {\n return\n }\n mounted.current = true\n void renderLexical()\n }, [renderLexical])\n\n if (!Component) {\n return typeof Loading !== 'undefined' ? Loading : <ShimmerEffect />\n }\n\n /**\n * By default, the lexical will make form state requests (e.g. to get drawer fields), passing in the arguments\n * of the current field. However, we need to override those arguments to get it to make requests based on the\n * *target* field. The server only knows the schema map of the target field.\n */\n const adjustedServerFunctionContext: ServerFunctionsContextType = {\n ...serverFunctionContext,\n getFormState: async (getFormStateArgs) => {\n return serverFunctionContext.getFormState({\n ...getFormStateArgs,\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n })\n },\n }\n\n if (typeof value === 'undefined' && !setValue) {\n return (\n <ServerFunctionsContext value={{ ...adjustedServerFunctionContext }}>\n <FieldPathContext key={fieldPath} value={fieldPath}>\n {Component}\n </FieldPathContext>\n </ServerFunctionsContext>\n )\n }\n\n const fieldValue: FieldType<DefaultTypedEditorState | undefined> = {\n disabled: false,\n formInitializing: false,\n formProcessing: false,\n formSubmitted: false,\n initialValue: value,\n path: fieldPath,\n setValue: setValue ?? (() => undefined),\n showError: false,\n value,\n }\n\n return (\n <ServerFunctionsContext value={{ ...adjustedServerFunctionContext }}>\n <FieldPathContext key={fieldPath} value={fieldPath}>\n <FieldContext value={fieldValue}>{Component}</FieldContext>\n </FieldPathContext>\n </ServerFunctionsContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalMenu.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAE,aAAa,EAAY,MAAM,SAAS,CAAA;AACrF,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"LexicalMenu.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAE,aAAa,EAAY,MAAM,SAAS,CAAA;AACrF,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAmBxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAI9F,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAID,MAAM,MAAM,YAAY,GAAG,CACzB,gBAAgB,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC/C,SAAS,EAAE;IACT,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,eAAe,EAAE,IAAI,GAAG,MAAM,CAAA;IAC9B,oBAAoB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3D,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,EACD,cAAc,EAAE,IAAI,GAAG,MAAM,KAC1B,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,WAAW,CAAA;AA2ErC,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,OAAO,GACrB,eAAe,GAAG,WAAW,CAiB/B;AAYD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,cAAc,GAAG,IAAI,EACjC,gBAAgB,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC/C,YAAY,EAAE,MAAM,IAAI,EACxB,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,QA4CjD;AAED,eAAO,MAAM,yCAAyC,EAAE,cAAc,CAAC;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,qBAAqB,CAAA;CAC5B,CAA8D,CAAA;AAE/D,wBAAgB,WAAW,CAAC,EAC1B,gBAAgB,EAChB,KAAK,EACL,MAAM,EAEN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,wBAAgC,GACjC,EAAE;IACD,gBAAgB,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,cAAc,CAAA;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAuOrB;AAYD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,cAAc,GAAG,IAAI,EACjC,aAAa,EAAE,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CA6F/B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
|
|
5
5
|
import { mergeRegister } from '@lexical/utils';
|
|
6
|
-
import { $getSelection, $isRangeSelection, $setSelection, COMMAND_PRIORITY_LOW, createCommand, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, KEY_TAB_COMMAND } from 'lexical';
|
|
6
|
+
import { $getSelection, $isRangeSelection, $setSelection, COMMAND_PRIORITY_LOW, COMMAND_PRIORITY_NORMAL, createCommand, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, KEY_TAB_COMMAND } from 'lexical';
|
|
7
7
|
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
8
8
|
import { CAN_USE_DOM } from '../../../utils/canUseDOM.js';
|
|
9
9
|
const baseClass = 'slash-menu-popup';
|
|
@@ -262,7 +262,7 @@ export function LexicalMenu({
|
|
|
262
262
|
event.stopImmediatePropagation();
|
|
263
263
|
}
|
|
264
264
|
return true;
|
|
265
|
-
},
|
|
265
|
+
}, COMMAND_PRIORITY_NORMAL), editor.registerCommand(KEY_ARROW_UP_COMMAND, payload_0 => {
|
|
266
266
|
const event_0 = payload_0;
|
|
267
267
|
if (groups !== null && groups.length && selectedItemKey !== null) {
|
|
268
268
|
const allItems_1 = groups.flatMap(group_1 => group_1.items);
|
|
@@ -280,7 +280,7 @@ export function LexicalMenu({
|
|
|
280
280
|
event_0.stopImmediatePropagation();
|
|
281
281
|
}
|
|
282
282
|
return true;
|
|
283
|
-
},
|
|
283
|
+
}, COMMAND_PRIORITY_NORMAL), editor.registerCommand(KEY_ESCAPE_COMMAND, payload_1 => {
|
|
284
284
|
const event_1 = payload_1;
|
|
285
285
|
event_1.preventDefault();
|
|
286
286
|
event_1.stopImmediatePropagation();
|
|
@@ -300,7 +300,7 @@ export function LexicalMenu({
|
|
|
300
300
|
event_2.stopImmediatePropagation();
|
|
301
301
|
selectItemAndCleanUp(selectedItem_0);
|
|
302
302
|
return true;
|
|
303
|
-
},
|
|
303
|
+
}, COMMAND_PRIORITY_NORMAL), editor.registerCommand(KEY_ENTER_COMMAND, event_3 => {
|
|
304
304
|
if (groups === null || selectedItemKey === null) {
|
|
305
305
|
return false;
|
|
306
306
|
}
|
|
@@ -315,7 +315,7 @@ export function LexicalMenu({
|
|
|
315
315
|
}
|
|
316
316
|
selectItemAndCleanUp(selectedItem_1);
|
|
317
317
|
return true;
|
|
318
|
-
},
|
|
318
|
+
}, COMMAND_PRIORITY_NORMAL));
|
|
319
319
|
}, [selectItemAndCleanUp, close, editor, groups, selectedItemKey, updateSelectedItem]);
|
|
320
320
|
const listItemProps = useMemo(() => ({
|
|
321
321
|
groups,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalMenu.js","names":["c","_c","useLexicalComposerContext","mergeRegister","$getSelection","$isRangeSelection","$setSelection","COMMAND_PRIORITY_LOW","createCommand","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_ENTER_COMMAND","KEY_ESCAPE_COMMAND","KEY_TAB_COMMAND","useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","CAN_USE_DOM","baseClass","scrollIntoViewIfNeeded","target","typeaheadContainerNode","document","getElementById","typeaheadRect","getBoundingClientRect","top","height","window","innerHeight","scrollIntoView","block","getFullMatchOffset","documentText","entryText","offset","triggerOffset","i","length","substring","$splitNodeContainingQuery","match","selection","isCollapsed","anchor","type","anchorNode","getNode","isSimpleText","selectionOffset","textContent","getTextContent","slice","characterOffset","replaceableString","queryOffset","matchingString","startOffset","newNode","splitText","getScrollParent","element","includeHidden","style","getComputedStyle","excludeStaticParent","position","overflowRegex","body","parent1","parentElement","test","overflow","overflowY","overflowX","isTriggerVisibleInNearestScrollContainer","targetElement","containerElement","tRect","cRect","bottom","useDynamicPositioning","resolution","targetElementRef","onReposition","onVisibilityChange","$","editor","t0","t1","current","rootElement","getRootElement","rootScrollParent","ticking","previousIsInView","handleScroll","requestAnimationFrame","isInView","resizeObserver","ResizeObserver","addEventListener","capture","passive","observe","disconnect","removeEventListener","SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND","LexicalMenu","anchorElementRef","close","groups","menuRenderFn","shouldSplitNodeWithQuery","selectedItemKey","setSelectedItemKey","updateSelectedItem","item","rootElem","setAttribute","key","setSelectedItemKeyToFirstMatchingItem","allItems","flatMap","group","items","firstMatchingItem","selectItemAndCleanUp","selectedItem","update","textNodeContainingQuery","remove","setTimeout","read","clone","onSelect","queryString","removeAttribute","registerCommand","ref","payload","event","selectedIndex","findIndex","newSelectedIndex","newSelectedItem","dispatchCommand","index","preventDefault","stopImmediatePropagation","find","listItemProps","setContainerDivAttributes","containerDiv","className","display","useMenuAnchorRef","anchorElem","setResolution","Symbol","for","createElement","parent","undefined","menuEle","firstChild","width","getRect","left","rawTop","scrollY","scrollX","menuRect","menuHeight","menuWidth","rootElementRect","right","wouldGoOffBottomOfScreen","wouldGoOffTopOfScreen","isConnected","append","positionMenu","t2","t3","rootElement_0","containerDiv_0","t4"],"sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection, LexicalCommand, LexicalEditor, TextNode } from 'lexical'\nimport type { JSX, ReactPortal, RefObject } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $getSelection,\n $isRangeSelection,\n $setSelection,\n COMMAND_PRIORITY_LOW,\n createCommand,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_ENTER_COMMAND,\n KEY_ESCAPE_COMMAND,\n KEY_TAB_COMMAND,\n} from 'lexical'\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\n\nimport type { MenuTextMatch } from '../useMenuTriggerMatch.js'\nimport type { SlashMenuGroupInternal, SlashMenuItem, SlashMenuItemInternal } from './types.js'\n\nimport { CAN_USE_DOM } from '../../../utils/canUseDOM.js'\n\nexport type MenuResolution = {\n getRect: () => DOMRect\n match?: MenuTextMatch\n}\n\nconst baseClass = 'slash-menu-popup'\n\nexport type MenuRenderFn = (\n anchorElementRef: RefObject<HTMLElement | null>,\n itemProps: {\n groups: Array<SlashMenuGroupInternal>\n selectedItemKey: null | string\n selectItemAndCleanUp: (selectedItem: SlashMenuItem) => void\n setSelectedItemKey: (itemKey: string) => void\n },\n matchingString: null | string,\n) => JSX.Element | null | ReactPortal\n\nconst scrollIntoViewIfNeeded = (target: HTMLElement) => {\n const typeaheadContainerNode = document.getElementById('slash-menu')\n if (!typeaheadContainerNode) {\n return\n }\n\n const typeaheadRect = typeaheadContainerNode.getBoundingClientRect()\n\n if (typeaheadRect.top + typeaheadRect.height > window.innerHeight) {\n typeaheadContainerNode.scrollIntoView({\n block: 'center',\n })\n }\n\n if (typeaheadRect.top < 0) {\n typeaheadContainerNode.scrollIntoView({\n block: 'center',\n })\n }\n\n target.scrollIntoView({ block: 'nearest' })\n}\n\n/**\n * Walk backwards along user input and forward through entity title to try\n * and replace more of the user's text with entity.\n */\nfunction getFullMatchOffset(documentText: string, entryText: string, offset: number) {\n let triggerOffset = offset\n for (let i = triggerOffset; i <= entryText.length; i++) {\n if (documentText.substring(documentText.length - i) === entryText.substring(0, i)) {\n triggerOffset = i\n }\n }\n return triggerOffset\n}\n\n/**\n * Split Lexical TextNode and return a new TextNode only containing matched text.\n * Common use cases include: removing the node, replacing with a new node.\n */\nfunction $splitNodeContainingQuery(match: MenuTextMatch): TextNode | undefined {\n const selection = $getSelection()\n if (!$isRangeSelection(selection) || !selection.isCollapsed()) {\n return\n }\n const anchor = selection.anchor\n if (anchor.type !== 'text') {\n return\n }\n const anchorNode = anchor.getNode()\n if (!anchorNode.isSimpleText()) {\n return\n }\n const selectionOffset = anchor.offset\n const textContent = anchorNode.getTextContent().slice(0, selectionOffset)\n const characterOffset = match.replaceableString.length\n const queryOffset = getFullMatchOffset(textContent, match.matchingString, characterOffset)\n const startOffset = selectionOffset - queryOffset\n if (startOffset < 0) {\n return\n }\n let newNode\n if (startOffset === 0) {\n ;[newNode] = anchorNode.splitText(selectionOffset)\n } else {\n ;[, newNode] = anchorNode.splitText(startOffset, selectionOffset)\n }\n\n return newNode\n}\n\n// Got from https://stackoverflow.com/a/42543908/2013580\nexport function getScrollParent(\n element: HTMLElement,\n includeHidden: boolean,\n): HTMLBodyElement | HTMLElement {\n let style = getComputedStyle(element)\n const excludeStaticParent = style.position === 'absolute'\n const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/\n if (style.position === 'fixed') {\n return document.body\n }\n for (let parent: HTMLElement | null = element; (parent = parent.parentElement); ) {\n style = getComputedStyle(parent)\n if (excludeStaticParent && style.position === 'static') {\n continue\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent\n }\n }\n return document.body\n}\n\nfunction isTriggerVisibleInNearestScrollContainer(\n targetElement: HTMLElement,\n containerElement: HTMLElement,\n): boolean {\n const tRect = targetElement.getBoundingClientRect()\n const cRect = containerElement.getBoundingClientRect()\n return tRect.top > cRect.top && tRect.top < cRect.bottom\n}\n\n// Reposition the menu on scroll, window resize, and element resize.\nexport function useDynamicPositioning(\n resolution: MenuResolution | null,\n targetElementRef: RefObject<HTMLElement | null>,\n onReposition: () => void,\n onVisibilityChange?: (isInView: boolean) => void,\n) {\n const [editor] = useLexicalComposerContext()\n useEffect(() => {\n const targetElement = targetElementRef.current\n if (targetElement != null && resolution != null) {\n const rootElement = editor.getRootElement()\n const rootScrollParent =\n rootElement != null ? getScrollParent(rootElement, false) : document.body\n let ticking = false\n let previousIsInView = isTriggerVisibleInNearestScrollContainer(\n targetElement,\n rootScrollParent,\n )\n const handleScroll = function () {\n if (!ticking) {\n window.requestAnimationFrame(function () {\n onReposition()\n ticking = false\n })\n ticking = true\n }\n const isInView = isTriggerVisibleInNearestScrollContainer(targetElement, rootScrollParent)\n if (isInView !== previousIsInView) {\n previousIsInView = isInView\n if (onVisibilityChange != null) {\n onVisibilityChange(isInView)\n }\n }\n }\n const resizeObserver = new ResizeObserver(onReposition)\n window.addEventListener('resize', onReposition)\n document.addEventListener('scroll', handleScroll, {\n capture: true,\n passive: true,\n })\n resizeObserver.observe(targetElement)\n return () => {\n resizeObserver.disconnect()\n window.removeEventListener('resize', onReposition)\n document.removeEventListener('scroll', handleScroll, true)\n }\n }\n }, [editor, onVisibilityChange, onReposition, resolution, targetElementRef])\n}\n\nexport const SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND: LexicalCommand<{\n index: number\n item: SlashMenuItemInternal\n}> = createCommand('SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND')\n\nexport function LexicalMenu({\n anchorElementRef,\n close,\n editor,\n // groups filtering is already handled in SlashMenu/index.tsx. Thus, groups always contains the matching items.\n groups,\n menuRenderFn,\n resolution,\n shouldSplitNodeWithQuery = false,\n}: {\n anchorElementRef: RefObject<HTMLElement | null>\n close: () => void\n editor: LexicalEditor\n groups: Array<SlashMenuGroupInternal>\n menuRenderFn: MenuRenderFn\n resolution: MenuResolution\n shouldSplitNodeWithQuery?: boolean\n}): JSX.Element | null {\n const [selectedItemKey, setSelectedItemKey] = useState<null | string>(null)\n\n const matchingString = (resolution.match && resolution.match.matchingString) || ''\n\n const updateSelectedItem = useCallback(\n (item: SlashMenuItem) => {\n const rootElem = editor.getRootElement()\n if (rootElem !== null) {\n rootElem.setAttribute('aria-activedescendant', `${baseClass}__item-${item.key}`)\n setSelectedItemKey(item.key)\n }\n },\n [editor],\n )\n\n const setSelectedItemKeyToFirstMatchingItem = useCallback(() => {\n // set selected item to the first of the matching ones\n if (groups !== null && matchingString != null) {\n // groups filtering is already handled in SlashMenu/index.tsx. Thus, groups always contains the matching items.\n const allItems = groups.flatMap((group) => group.items)\n\n if (allItems.length) {\n const firstMatchingItem = allItems[0]!\n updateSelectedItem(firstMatchingItem)\n }\n }\n }, [groups, updateSelectedItem, matchingString])\n\n useEffect(() => {\n setSelectedItemKeyToFirstMatchingItem()\n }, [matchingString, setSelectedItemKeyToFirstMatchingItem])\n\n const selectItemAndCleanUp = useCallback(\n (selectedItem: SlashMenuItem) => {\n close()\n\n editor.update(() => {\n const textNodeContainingQuery =\n resolution.match != null && shouldSplitNodeWithQuery\n ? $splitNodeContainingQuery(resolution.match)\n : null\n\n if (textNodeContainingQuery) {\n textNodeContainingQuery.remove()\n }\n })\n\n setTimeout(() => {\n // Needed in Firefox. See https://github.com/payloadcms/payload/issues/10724\n let selection: BaseSelection | undefined\n editor.read(() => {\n selection = $getSelection()?.clone()\n })\n editor.update(() => {\n if (selection) {\n $setSelection(selection)\n }\n })\n\n selectedItem.onSelect({\n editor,\n queryString: resolution.match ? resolution.match.matchingString : '',\n })\n }, 0)\n },\n [editor, shouldSplitNodeWithQuery, resolution.match, close],\n )\n\n useEffect(() => {\n return () => {\n const rootElem = editor.getRootElement()\n if (rootElem !== null) {\n rootElem.removeAttribute('aria-activedescendant')\n }\n }\n }, [editor])\n\n useLayoutEffect(() => {\n if (groups === null) {\n setSelectedItemKey(null)\n } else if (selectedItemKey === null) {\n setSelectedItemKeyToFirstMatchingItem()\n }\n }, [groups, selectedItemKey, updateSelectedItem, setSelectedItemKeyToFirstMatchingItem])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND,\n ({ item }) => {\n if (item.ref && item.ref.current != null) {\n scrollIntoViewIfNeeded(item.ref.current)\n return true\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor, updateSelectedItem])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<KeyboardEvent>(\n KEY_ARROW_DOWN_COMMAND,\n (payload) => {\n const event = payload\n if (groups !== null && groups.length && selectedItemKey !== null) {\n const allItems = groups.flatMap((group) => group.items)\n const selectedIndex = allItems.findIndex((item) => item.key === selectedItemKey)\n\n const newSelectedIndex = selectedIndex !== allItems.length - 1 ? selectedIndex + 1 : 0\n\n const newSelectedItem = allItems[newSelectedIndex]\n if (!newSelectedItem) {\n return false\n }\n\n updateSelectedItem(newSelectedItem)\n if (newSelectedItem.ref != null && newSelectedItem.ref.current) {\n editor.dispatchCommand(SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND, {\n index: newSelectedIndex,\n item: newSelectedItem,\n })\n }\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_ARROW_UP_COMMAND,\n (payload) => {\n const event = payload\n if (groups !== null && groups.length && selectedItemKey !== null) {\n const allItems = groups.flatMap((group) => group.items)\n const selectedIndex = allItems.findIndex((item) => item.key === selectedItemKey)\n\n const newSelectedIndex = selectedIndex !== 0 ? selectedIndex - 1 : allItems.length - 1\n\n const newSelectedItem = allItems[newSelectedIndex]\n if (!newSelectedItem) {\n return false\n }\n\n updateSelectedItem(newSelectedItem)\n if (newSelectedItem.ref != null && newSelectedItem.ref.current) {\n scrollIntoViewIfNeeded(newSelectedItem.ref.current)\n }\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_ESCAPE_COMMAND,\n (payload) => {\n const event = payload\n event.preventDefault()\n event.stopImmediatePropagation()\n close()\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_TAB_COMMAND,\n (payload) => {\n const event = payload\n\n if (groups === null || selectedItemKey === null) {\n return false\n }\n const allItems = groups.flatMap((group) => group.items)\n const selectedItem = allItems.find((item) => item.key === selectedItemKey)\n if (!selectedItem) {\n return false\n }\n\n event.preventDefault()\n event.stopImmediatePropagation()\n selectItemAndCleanUp(selectedItem)\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event: KeyboardEvent | null) => {\n if (groups === null || selectedItemKey === null) {\n return false\n }\n const allItems = groups.flatMap((group) => group.items)\n const selectedItem = allItems.find((item) => item.key === selectedItemKey)\n if (!selectedItem) {\n return false\n }\n\n if (event !== null) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n selectItemAndCleanUp(selectedItem)\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [selectItemAndCleanUp, close, editor, groups, selectedItemKey, updateSelectedItem])\n\n const listItemProps = useMemo(\n () => ({\n groups,\n selectedItemKey,\n selectItemAndCleanUp,\n setSelectedItemKey,\n }),\n [selectItemAndCleanUp, selectedItemKey, groups],\n )\n\n return menuRenderFn(\n anchorElementRef,\n listItemProps,\n resolution.match ? resolution.match.matchingString : '',\n )\n}\n\nfunction setContainerDivAttributes(containerDiv: HTMLElement, className?: string) {\n if (className != null) {\n containerDiv.className = className\n }\n containerDiv.setAttribute('aria-label', 'Slash menu')\n containerDiv.setAttribute('role', 'listbox')\n containerDiv.style.display = 'block'\n containerDiv.style.position = 'absolute'\n}\n\nexport function useMenuAnchorRef(\n anchorElem: HTMLElement,\n resolution: MenuResolution | null,\n setResolution: (r: MenuResolution | null) => void,\n className?: string,\n): RefObject<HTMLElement | null> {\n const [editor] = useLexicalComposerContext()\n const anchorElementRef = useRef<HTMLElement | null>(\n CAN_USE_DOM ? document.createElement('div') : null,\n )\n const positionMenu = useCallback(() => {\n if (anchorElementRef.current === null || parent === undefined) {\n return\n }\n const rootElement = editor.getRootElement()\n const containerDiv = anchorElementRef.current\n\n const VERTICAL_OFFSET = 32\n\n const menuEle = containerDiv.firstChild as Element\n if (rootElement !== null && resolution !== null) {\n const { height, width } = resolution.getRect()\n let { left, top } = resolution.getRect()\n\n const rawTop = top\n top -= anchorElem.getBoundingClientRect().top + window.scrollY\n left -= anchorElem.getBoundingClientRect().left + window.scrollX\n containerDiv.style.left = `${left + window.scrollX}px`\n containerDiv.style.height = `${height}px`\n containerDiv.style.width = `${width}px`\n if (menuEle !== null) {\n const menuRect = menuEle.getBoundingClientRect()\n const menuHeight = menuRect.height\n const menuWidth = menuRect.width\n\n const rootElementRect = rootElement.getBoundingClientRect()\n\n if (left + menuWidth > rootElementRect.right) {\n containerDiv.style.left = `${rootElementRect.right - menuWidth + window.scrollX}px`\n }\n\n const wouldGoOffBottomOfScreen = rawTop + menuHeight + VERTICAL_OFFSET > window.innerHeight\n //const wouldGoOffBottomOfContainer = top + menuHeight > rootElementRect.bottom\n const wouldGoOffTopOfScreen = rawTop < 0\n\n // Position slash menu above the cursor instead of below (default) if it would otherwise go off the bottom of the screen.\n if (wouldGoOffBottomOfScreen && !wouldGoOffTopOfScreen) {\n const margin = 24\n containerDiv.style.top = `${\n top + VERTICAL_OFFSET - menuHeight + window.scrollY - (height + margin)\n }px`\n } else {\n containerDiv.style.top = `${top + window.scrollY + VERTICAL_OFFSET}px`\n }\n }\n\n if (!containerDiv.isConnected) {\n setContainerDivAttributes(containerDiv, className)\n anchorElem.append(containerDiv)\n }\n containerDiv.setAttribute('id', 'slash-menu')\n anchorElementRef.current = containerDiv\n rootElement.setAttribute('aria-controls', 'slash-menu')\n }\n }, [editor, resolution, className, anchorElem])\n\n useEffect(() => {\n const rootElement = editor.getRootElement()\n if (resolution !== null) {\n positionMenu()\n return () => {\n if (rootElement !== null) {\n rootElement.removeAttribute('aria-controls')\n }\n\n const containerDiv = anchorElementRef.current\n if (containerDiv !== null && containerDiv.isConnected) {\n containerDiv.remove()\n containerDiv.removeAttribute('id')\n }\n }\n }\n }, [editor, positionMenu, resolution])\n\n const onVisibilityChange = useCallback(\n (isInView: boolean) => {\n if (resolution !== null) {\n if (!isInView) {\n setResolution(null)\n }\n }\n },\n [resolution, setResolution],\n )\n\n useDynamicPositioning(resolution, anchorElementRef, positionMenu, onVisibilityChange)\n\n return anchorElementRef\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LexicalMenu.js","names":["c","_c","useLexicalComposerContext","mergeRegister","$getSelection","$isRangeSelection","$setSelection","COMMAND_PRIORITY_LOW","COMMAND_PRIORITY_NORMAL","createCommand","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_ENTER_COMMAND","KEY_ESCAPE_COMMAND","KEY_TAB_COMMAND","useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","CAN_USE_DOM","baseClass","scrollIntoViewIfNeeded","target","typeaheadContainerNode","document","getElementById","typeaheadRect","getBoundingClientRect","top","height","window","innerHeight","scrollIntoView","block","getFullMatchOffset","documentText","entryText","offset","triggerOffset","i","length","substring","$splitNodeContainingQuery","match","selection","isCollapsed","anchor","type","anchorNode","getNode","isSimpleText","selectionOffset","textContent","getTextContent","slice","characterOffset","replaceableString","queryOffset","matchingString","startOffset","newNode","splitText","getScrollParent","element","includeHidden","style","getComputedStyle","excludeStaticParent","position","overflowRegex","body","parent1","parentElement","test","overflow","overflowY","overflowX","isTriggerVisibleInNearestScrollContainer","targetElement","containerElement","tRect","cRect","bottom","useDynamicPositioning","resolution","targetElementRef","onReposition","onVisibilityChange","$","editor","t0","t1","current","rootElement","getRootElement","rootScrollParent","ticking","previousIsInView","handleScroll","requestAnimationFrame","isInView","resizeObserver","ResizeObserver","addEventListener","capture","passive","observe","disconnect","removeEventListener","SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND","LexicalMenu","anchorElementRef","close","groups","menuRenderFn","shouldSplitNodeWithQuery","selectedItemKey","setSelectedItemKey","updateSelectedItem","item","rootElem","setAttribute","key","setSelectedItemKeyToFirstMatchingItem","allItems","flatMap","group","items","firstMatchingItem","selectItemAndCleanUp","selectedItem","update","textNodeContainingQuery","remove","setTimeout","read","clone","onSelect","queryString","removeAttribute","registerCommand","ref","payload","event","selectedIndex","findIndex","newSelectedIndex","newSelectedItem","dispatchCommand","index","preventDefault","stopImmediatePropagation","find","listItemProps","setContainerDivAttributes","containerDiv","className","display","useMenuAnchorRef","anchorElem","setResolution","Symbol","for","createElement","parent","undefined","menuEle","firstChild","width","getRect","left","rawTop","scrollY","scrollX","menuRect","menuHeight","menuWidth","rootElementRect","right","wouldGoOffBottomOfScreen","wouldGoOffTopOfScreen","isConnected","append","positionMenu","t2","t3","rootElement_0","containerDiv_0","t4"],"sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection, LexicalCommand, LexicalEditor, TextNode } from 'lexical'\nimport type { JSX, ReactPortal, RefObject } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $getSelection,\n $isRangeSelection,\n $setSelection,\n COMMAND_PRIORITY_LOW,\n COMMAND_PRIORITY_NORMAL,\n createCommand,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_ENTER_COMMAND,\n KEY_ESCAPE_COMMAND,\n KEY_TAB_COMMAND,\n} from 'lexical'\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\n\nimport type { MenuTextMatch } from '../useMenuTriggerMatch.js'\nimport type { SlashMenuGroupInternal, SlashMenuItem, SlashMenuItemInternal } from './types.js'\n\nimport { CAN_USE_DOM } from '../../../utils/canUseDOM.js'\n\nexport type MenuResolution = {\n getRect: () => DOMRect\n match?: MenuTextMatch\n}\n\nconst baseClass = 'slash-menu-popup'\n\nexport type MenuRenderFn = (\n anchorElementRef: RefObject<HTMLElement | null>,\n itemProps: {\n groups: Array<SlashMenuGroupInternal>\n selectedItemKey: null | string\n selectItemAndCleanUp: (selectedItem: SlashMenuItem) => void\n setSelectedItemKey: (itemKey: string) => void\n },\n matchingString: null | string,\n) => JSX.Element | null | ReactPortal\n\nconst scrollIntoViewIfNeeded = (target: HTMLElement) => {\n const typeaheadContainerNode = document.getElementById('slash-menu')\n if (!typeaheadContainerNode) {\n return\n }\n\n const typeaheadRect = typeaheadContainerNode.getBoundingClientRect()\n\n if (typeaheadRect.top + typeaheadRect.height > window.innerHeight) {\n typeaheadContainerNode.scrollIntoView({\n block: 'center',\n })\n }\n\n if (typeaheadRect.top < 0) {\n typeaheadContainerNode.scrollIntoView({\n block: 'center',\n })\n }\n\n target.scrollIntoView({ block: 'nearest' })\n}\n\n/**\n * Walk backwards along user input and forward through entity title to try\n * and replace more of the user's text with entity.\n */\nfunction getFullMatchOffset(documentText: string, entryText: string, offset: number) {\n let triggerOffset = offset\n for (let i = triggerOffset; i <= entryText.length; i++) {\n if (documentText.substring(documentText.length - i) === entryText.substring(0, i)) {\n triggerOffset = i\n }\n }\n return triggerOffset\n}\n\n/**\n * Split Lexical TextNode and return a new TextNode only containing matched text.\n * Common use cases include: removing the node, replacing with a new node.\n */\nfunction $splitNodeContainingQuery(match: MenuTextMatch): TextNode | undefined {\n const selection = $getSelection()\n if (!$isRangeSelection(selection) || !selection.isCollapsed()) {\n return\n }\n const anchor = selection.anchor\n if (anchor.type !== 'text') {\n return\n }\n const anchorNode = anchor.getNode()\n if (!anchorNode.isSimpleText()) {\n return\n }\n const selectionOffset = anchor.offset\n const textContent = anchorNode.getTextContent().slice(0, selectionOffset)\n const characterOffset = match.replaceableString.length\n const queryOffset = getFullMatchOffset(textContent, match.matchingString, characterOffset)\n const startOffset = selectionOffset - queryOffset\n if (startOffset < 0) {\n return\n }\n let newNode\n if (startOffset === 0) {\n ;[newNode] = anchorNode.splitText(selectionOffset)\n } else {\n ;[, newNode] = anchorNode.splitText(startOffset, selectionOffset)\n }\n\n return newNode\n}\n\n// Got from https://stackoverflow.com/a/42543908/2013580\nexport function getScrollParent(\n element: HTMLElement,\n includeHidden: boolean,\n): HTMLBodyElement | HTMLElement {\n let style = getComputedStyle(element)\n const excludeStaticParent = style.position === 'absolute'\n const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/\n if (style.position === 'fixed') {\n return document.body\n }\n for (let parent: HTMLElement | null = element; (parent = parent.parentElement); ) {\n style = getComputedStyle(parent)\n if (excludeStaticParent && style.position === 'static') {\n continue\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent\n }\n }\n return document.body\n}\n\nfunction isTriggerVisibleInNearestScrollContainer(\n targetElement: HTMLElement,\n containerElement: HTMLElement,\n): boolean {\n const tRect = targetElement.getBoundingClientRect()\n const cRect = containerElement.getBoundingClientRect()\n return tRect.top > cRect.top && tRect.top < cRect.bottom\n}\n\n// Reposition the menu on scroll, window resize, and element resize.\nexport function useDynamicPositioning(\n resolution: MenuResolution | null,\n targetElementRef: RefObject<HTMLElement | null>,\n onReposition: () => void,\n onVisibilityChange?: (isInView: boolean) => void,\n) {\n const [editor] = useLexicalComposerContext()\n useEffect(() => {\n const targetElement = targetElementRef.current\n if (targetElement != null && resolution != null) {\n const rootElement = editor.getRootElement()\n const rootScrollParent =\n rootElement != null ? getScrollParent(rootElement, false) : document.body\n let ticking = false\n let previousIsInView = isTriggerVisibleInNearestScrollContainer(\n targetElement,\n rootScrollParent,\n )\n const handleScroll = function () {\n if (!ticking) {\n window.requestAnimationFrame(function () {\n onReposition()\n ticking = false\n })\n ticking = true\n }\n const isInView = isTriggerVisibleInNearestScrollContainer(targetElement, rootScrollParent)\n if (isInView !== previousIsInView) {\n previousIsInView = isInView\n if (onVisibilityChange != null) {\n onVisibilityChange(isInView)\n }\n }\n }\n const resizeObserver = new ResizeObserver(onReposition)\n window.addEventListener('resize', onReposition)\n document.addEventListener('scroll', handleScroll, {\n capture: true,\n passive: true,\n })\n resizeObserver.observe(targetElement)\n return () => {\n resizeObserver.disconnect()\n window.removeEventListener('resize', onReposition)\n document.removeEventListener('scroll', handleScroll, true)\n }\n }\n }, [editor, onVisibilityChange, onReposition, resolution, targetElementRef])\n}\n\nexport const SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND: LexicalCommand<{\n index: number\n item: SlashMenuItemInternal\n}> = createCommand('SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND')\n\nexport function LexicalMenu({\n anchorElementRef,\n close,\n editor,\n // groups filtering is already handled in SlashMenu/index.tsx. Thus, groups always contains the matching items.\n groups,\n menuRenderFn,\n resolution,\n shouldSplitNodeWithQuery = false,\n}: {\n anchorElementRef: RefObject<HTMLElement | null>\n close: () => void\n editor: LexicalEditor\n groups: Array<SlashMenuGroupInternal>\n menuRenderFn: MenuRenderFn\n resolution: MenuResolution\n shouldSplitNodeWithQuery?: boolean\n}): JSX.Element | null {\n const [selectedItemKey, setSelectedItemKey] = useState<null | string>(null)\n\n const matchingString = (resolution.match && resolution.match.matchingString) || ''\n\n const updateSelectedItem = useCallback(\n (item: SlashMenuItem) => {\n const rootElem = editor.getRootElement()\n if (rootElem !== null) {\n rootElem.setAttribute('aria-activedescendant', `${baseClass}__item-${item.key}`)\n setSelectedItemKey(item.key)\n }\n },\n [editor],\n )\n\n const setSelectedItemKeyToFirstMatchingItem = useCallback(() => {\n // set selected item to the first of the matching ones\n if (groups !== null && matchingString != null) {\n // groups filtering is already handled in SlashMenu/index.tsx. Thus, groups always contains the matching items.\n const allItems = groups.flatMap((group) => group.items)\n\n if (allItems.length) {\n const firstMatchingItem = allItems[0]!\n updateSelectedItem(firstMatchingItem)\n }\n }\n }, [groups, updateSelectedItem, matchingString])\n\n useEffect(() => {\n setSelectedItemKeyToFirstMatchingItem()\n }, [matchingString, setSelectedItemKeyToFirstMatchingItem])\n\n const selectItemAndCleanUp = useCallback(\n (selectedItem: SlashMenuItem) => {\n close()\n\n editor.update(() => {\n const textNodeContainingQuery =\n resolution.match != null && shouldSplitNodeWithQuery\n ? $splitNodeContainingQuery(resolution.match)\n : null\n\n if (textNodeContainingQuery) {\n textNodeContainingQuery.remove()\n }\n })\n\n setTimeout(() => {\n // Needed in Firefox. See https://github.com/payloadcms/payload/issues/10724\n let selection: BaseSelection | undefined\n editor.read(() => {\n selection = $getSelection()?.clone()\n })\n editor.update(() => {\n if (selection) {\n $setSelection(selection)\n }\n })\n\n selectedItem.onSelect({\n editor,\n queryString: resolution.match ? resolution.match.matchingString : '',\n })\n }, 0)\n },\n [editor, shouldSplitNodeWithQuery, resolution.match, close],\n )\n\n useEffect(() => {\n return () => {\n const rootElem = editor.getRootElement()\n if (rootElem !== null) {\n rootElem.removeAttribute('aria-activedescendant')\n }\n }\n }, [editor])\n\n useLayoutEffect(() => {\n if (groups === null) {\n setSelectedItemKey(null)\n } else if (selectedItemKey === null) {\n setSelectedItemKeyToFirstMatchingItem()\n }\n }, [groups, selectedItemKey, updateSelectedItem, setSelectedItemKeyToFirstMatchingItem])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND,\n ({ item }) => {\n if (item.ref && item.ref.current != null) {\n scrollIntoViewIfNeeded(item.ref.current)\n return true\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor, updateSelectedItem])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<KeyboardEvent>(\n KEY_ARROW_DOWN_COMMAND,\n (payload) => {\n const event = payload\n if (groups !== null && groups.length && selectedItemKey !== null) {\n const allItems = groups.flatMap((group) => group.items)\n const selectedIndex = allItems.findIndex((item) => item.key === selectedItemKey)\n\n const newSelectedIndex = selectedIndex !== allItems.length - 1 ? selectedIndex + 1 : 0\n\n const newSelectedItem = allItems[newSelectedIndex]\n if (!newSelectedItem) {\n return false\n }\n\n updateSelectedItem(newSelectedItem)\n if (newSelectedItem.ref != null && newSelectedItem.ref.current) {\n editor.dispatchCommand(SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND, {\n index: newSelectedIndex,\n item: newSelectedItem,\n })\n }\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n return true\n },\n COMMAND_PRIORITY_NORMAL,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_ARROW_UP_COMMAND,\n (payload) => {\n const event = payload\n if (groups !== null && groups.length && selectedItemKey !== null) {\n const allItems = groups.flatMap((group) => group.items)\n const selectedIndex = allItems.findIndex((item) => item.key === selectedItemKey)\n\n const newSelectedIndex = selectedIndex !== 0 ? selectedIndex - 1 : allItems.length - 1\n\n const newSelectedItem = allItems[newSelectedIndex]\n if (!newSelectedItem) {\n return false\n }\n\n updateSelectedItem(newSelectedItem)\n if (newSelectedItem.ref != null && newSelectedItem.ref.current) {\n scrollIntoViewIfNeeded(newSelectedItem.ref.current)\n }\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n return true\n },\n COMMAND_PRIORITY_NORMAL,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_ESCAPE_COMMAND,\n (payload) => {\n const event = payload\n event.preventDefault()\n event.stopImmediatePropagation()\n close()\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<KeyboardEvent>(\n KEY_TAB_COMMAND,\n (payload) => {\n const event = payload\n\n if (groups === null || selectedItemKey === null) {\n return false\n }\n const allItems = groups.flatMap((group) => group.items)\n const selectedItem = allItems.find((item) => item.key === selectedItemKey)\n if (!selectedItem) {\n return false\n }\n\n event.preventDefault()\n event.stopImmediatePropagation()\n selectItemAndCleanUp(selectedItem)\n return true\n },\n COMMAND_PRIORITY_NORMAL,\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event: KeyboardEvent | null) => {\n if (groups === null || selectedItemKey === null) {\n return false\n }\n const allItems = groups.flatMap((group) => group.items)\n const selectedItem = allItems.find((item) => item.key === selectedItemKey)\n if (!selectedItem) {\n return false\n }\n\n if (event !== null) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n selectItemAndCleanUp(selectedItem)\n return true\n },\n COMMAND_PRIORITY_NORMAL,\n ),\n )\n }, [selectItemAndCleanUp, close, editor, groups, selectedItemKey, updateSelectedItem])\n\n const listItemProps = useMemo(\n () => ({\n groups,\n selectedItemKey,\n selectItemAndCleanUp,\n setSelectedItemKey,\n }),\n [selectItemAndCleanUp, selectedItemKey, groups],\n )\n\n return menuRenderFn(\n anchorElementRef,\n listItemProps,\n resolution.match ? resolution.match.matchingString : '',\n )\n}\n\nfunction setContainerDivAttributes(containerDiv: HTMLElement, className?: string) {\n if (className != null) {\n containerDiv.className = className\n }\n containerDiv.setAttribute('aria-label', 'Slash menu')\n containerDiv.setAttribute('role', 'listbox')\n containerDiv.style.display = 'block'\n containerDiv.style.position = 'absolute'\n}\n\nexport function useMenuAnchorRef(\n anchorElem: HTMLElement,\n resolution: MenuResolution | null,\n setResolution: (r: MenuResolution | null) => void,\n className?: string,\n): RefObject<HTMLElement | null> {\n const [editor] = useLexicalComposerContext()\n const anchorElementRef = useRef<HTMLElement | null>(\n CAN_USE_DOM ? document.createElement('div') : null,\n )\n const positionMenu = useCallback(() => {\n if (anchorElementRef.current === null || parent === undefined) {\n return\n }\n const rootElement = editor.getRootElement()\n const containerDiv = anchorElementRef.current\n\n const VERTICAL_OFFSET = 32\n\n const menuEle = containerDiv.firstChild as Element\n if (rootElement !== null && resolution !== null) {\n const { height, width } = resolution.getRect()\n let { left, top } = resolution.getRect()\n\n const rawTop = top\n top -= anchorElem.getBoundingClientRect().top + window.scrollY\n left -= anchorElem.getBoundingClientRect().left + window.scrollX\n containerDiv.style.left = `${left + window.scrollX}px`\n containerDiv.style.height = `${height}px`\n containerDiv.style.width = `${width}px`\n if (menuEle !== null) {\n const menuRect = menuEle.getBoundingClientRect()\n const menuHeight = menuRect.height\n const menuWidth = menuRect.width\n\n const rootElementRect = rootElement.getBoundingClientRect()\n\n if (left + menuWidth > rootElementRect.right) {\n containerDiv.style.left = `${rootElementRect.right - menuWidth + window.scrollX}px`\n }\n\n const wouldGoOffBottomOfScreen = rawTop + menuHeight + VERTICAL_OFFSET > window.innerHeight\n //const wouldGoOffBottomOfContainer = top + menuHeight > rootElementRect.bottom\n const wouldGoOffTopOfScreen = rawTop < 0\n\n // Position slash menu above the cursor instead of below (default) if it would otherwise go off the bottom of the screen.\n if (wouldGoOffBottomOfScreen && !wouldGoOffTopOfScreen) {\n const margin = 24\n containerDiv.style.top = `${\n top + VERTICAL_OFFSET - menuHeight + window.scrollY - (height + margin)\n }px`\n } else {\n containerDiv.style.top = `${top + window.scrollY + VERTICAL_OFFSET}px`\n }\n }\n\n if (!containerDiv.isConnected) {\n setContainerDivAttributes(containerDiv, className)\n anchorElem.append(containerDiv)\n }\n containerDiv.setAttribute('id', 'slash-menu')\n anchorElementRef.current = containerDiv\n rootElement.setAttribute('aria-controls', 'slash-menu')\n }\n }, [editor, resolution, className, anchorElem])\n\n useEffect(() => {\n const rootElement = editor.getRootElement()\n if (resolution !== null) {\n positionMenu()\n return () => {\n if (rootElement !== null) {\n rootElement.removeAttribute('aria-controls')\n }\n\n const containerDiv = anchorElementRef.current\n if (containerDiv !== null && containerDiv.isConnected) {\n containerDiv.remove()\n containerDiv.removeAttribute('id')\n }\n }\n }\n }, [editor, positionMenu, resolution])\n\n const onVisibilityChange = useCallback(\n (isInView: boolean) => {\n if (resolution !== null) {\n if (!isInView) {\n setResolution(null)\n }\n }\n },\n [resolution, setResolution],\n )\n\n useDynamicPositioning(resolution, anchorElementRef, positionMenu, onVisibilityChange)\n\n return anchorElementRef\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-lexical",
|
|
3
|
-
"version": "3.59.0-canary.
|
|
3
|
+
"version": "3.59.0-canary.1",
|
|
4
4
|
"description": "The officially supported Lexical richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -373,8 +373,8 @@
|
|
|
373
373
|
"react-error-boundary": "4.1.2",
|
|
374
374
|
"ts-essentials": "10.0.3",
|
|
375
375
|
"uuid": "10.0.0",
|
|
376
|
-
"@payloadcms/ui": "3.59.0-canary.
|
|
377
|
-
"@payloadcms/translations": "3.59.0-canary.
|
|
376
|
+
"@payloadcms/ui": "3.59.0-canary.1",
|
|
377
|
+
"@payloadcms/translations": "3.59.0-canary.1"
|
|
378
378
|
},
|
|
379
379
|
"devDependencies": {
|
|
380
380
|
"@babel/cli": "7.27.2",
|
|
@@ -394,15 +394,15 @@
|
|
|
394
394
|
"esbuild-sass-plugin": "3.3.1",
|
|
395
395
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
396
396
|
"@payloadcms/eslint-config": "3.28.0",
|
|
397
|
-
"payload": "3.59.0-canary.
|
|
397
|
+
"payload": "3.59.0-canary.1"
|
|
398
398
|
},
|
|
399
399
|
"peerDependencies": {
|
|
400
400
|
"@faceless-ui/modal": "3.0.0",
|
|
401
401
|
"@faceless-ui/scroll-info": "2.0.0",
|
|
402
402
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
403
403
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
404
|
-
"@payloadcms/next": "3.59.0-canary.
|
|
405
|
-
"payload": "3.59.0-canary.
|
|
404
|
+
"@payloadcms/next": "3.59.0-canary.1",
|
|
405
|
+
"payload": "3.59.0-canary.1"
|
|
406
406
|
},
|
|
407
407
|
"engines": {
|
|
408
408
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -421,7 +421,7 @@
|
|
|
421
421
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
|
|
422
422
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
423
423
|
"build:without_reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild && pnpm build:esbuild:postproces && rm -rf dist/exports/client && mv dist/exports/client_unoptimized dist/exports/client",
|
|
424
|
-
"clean": "rimraf -g {dist,*.tsbuildinfo}",
|
|
424
|
+
"clean": "rimraf -g {dist,*.tsbuildinfo,esbuild}",
|
|
425
425
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
426
426
|
"lint": "eslint .",
|
|
427
427
|
"lint:fix": "eslint . --fix"
|