@payloadcms/richtext-lexical 3.57.0-internal.98b3a35 → 3.57.0-internal.d758c66
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-D5RCNN4A.js → Field-PKJPWZJL.js} +2 -2
- package/dist/exports/client/Field-PKJPWZJL.js.map +7 -0
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +4 -4
- package/dist/features/align/server/i18n.d.ts.map +1 -1
- package/dist/features/align/server/i18n.js +0 -6
- package/dist/features/align/server/i18n.js.map +1 -1
- package/dist/features/blockquote/server/i18n.d.ts.map +1 -1
- package/dist/features/blockquote/server/i18n.js +0 -3
- package/dist/features/blockquote/server/i18n.js.map +1 -1
- package/dist/features/blocks/server/i18n.d.ts.map +1 -1
- package/dist/features/blocks/server/i18n.js +0 -9
- package/dist/features/blocks/server/i18n.js.map +1 -1
- package/dist/features/heading/server/i18n.d.ts.map +1 -1
- package/dist/features/heading/server/i18n.js +0 -3
- package/dist/features/heading/server/i18n.js.map +1 -1
- package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -1
- package/dist/features/horizontalRule/server/i18n.js +0 -3
- package/dist/features/horizontalRule/server/i18n.js.map +1 -1
- package/dist/features/indent/server/i18n.d.ts.map +1 -1
- package/dist/features/indent/server/i18n.js +0 -4
- package/dist/features/indent/server/i18n.js.map +1 -1
- package/dist/features/link/server/i18n.d.ts.map +1 -1
- package/dist/features/link/server/i18n.js +0 -4
- package/dist/features/link/server/i18n.js.map +1 -1
- package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/checklist/server/i18n.js +0 -3
- package/dist/features/lists/checklist/server/i18n.js.map +1 -1
- package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/orderedList/server/i18n.js +0 -3
- package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
- package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/unorderedList/server/i18n.js +0 -3
- package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
- package/dist/features/paragraph/server/i18n.d.ts.map +1 -1
- package/dist/features/paragraph/server/i18n.js +0 -4
- package/dist/features/paragraph/server/i18n.js.map +1 -1
- package/dist/features/relationship/server/i18n.d.ts.map +1 -1
- package/dist/features/relationship/server/i18n.js +0 -3
- package/dist/features/relationship/server/i18n.js.map +1 -1
- package/dist/features/textState/i18n.d.ts.map +1 -1
- package/dist/features/textState/i18n.js +0 -3
- package/dist/features/textState/i18n.js.map +1 -1
- package/dist/features/upload/client/index.d.ts.map +1 -1
- package/dist/features/upload/client/index.js +1 -2
- package/dist/features/upload/client/index.js.map +1 -1
- package/dist/features/upload/client/nodes/UploadNode.d.ts +7 -2
- package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/client/nodes/UploadNode.js +27 -3
- package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
- package/dist/features/upload/client/plugin/index.d.ts +0 -6
- package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
- package/dist/features/upload/client/plugin/index.js +22 -293
- package/dist/features/upload/client/plugin/index.js.map +1 -1
- package/dist/features/upload/server/i18n.d.ts.map +1 -1
- package/dist/features/upload/server/i18n.js +0 -3
- package/dist/features/upload/server/i18n.js.map +1 -1
- package/dist/features/upload/server/index.d.ts.map +1 -1
- package/dist/features/upload/server/index.js +1 -4
- package/dist/features/upload/server/index.js.map +1 -1
- package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -0
- package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/server/nodes/UploadNode.js +37 -3
- package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +1 -1
- package/dist/field/Field.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +0 -6
- package/dist/i18n.js.map +1 -1
- package/package.json +6 -6
- package/dist/exports/client/Field-D5RCNN4A.js.map +0 -7
- package/dist/exports/client/pendingComponent-WFSCE6LJ.js +0 -2
- package/dist/exports/client/pendingComponent-WFSCE6LJ.js.map +0 -7
- package/dist/features/upload/client/nodes/PendingUploadNode.d.ts +0 -17
- package/dist/features/upload/client/nodes/PendingUploadNode.d.ts.map +0 -1
- package/dist/features/upload/client/nodes/PendingUploadNode.js +0 -57
- package/dist/features/upload/client/nodes/PendingUploadNode.js.map +0 -1
- package/dist/features/upload/client/pendingComponent/index.d.ts +0 -7
- package/dist/features/upload/client/pendingComponent/index.d.ts.map +0 -1
- package/dist/features/upload/client/pendingComponent/index.js +0 -14
- package/dist/features/upload/client/pendingComponent/index.js.map +0 -1
- package/dist/features/upload/server/nodes/PendingUploadNode.d.ts +0 -42
- package/dist/features/upload/server/nodes/PendingUploadNode.d.ts.map +0 -1
- package/dist/features/upload/server/nodes/PendingUploadNode.js +0 -93
- package/dist/features/upload/server/nodes/PendingUploadNode.js.map +0 -1
- package/dist/features/upload/server/nodes/conversions.d.ts +0 -9
- package/dist/features/upload/server/nodes/conversions.d.ts.map +0 -1
- package/dist/features/upload/server/nodes/conversions.js +0 -53
- package/dist/features/upload/server/nodes/conversions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":["i18n","ar","label","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","
|
|
1
|
+
{"version":3,"file":"i18n.js","names":["i18n","ar","label","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","th","tr","uk","vi","zh"],"sources":["../../../../src/features/relationship/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'العلاقة',\n },\n az: {\n label: 'Münasibət',\n },\n bg: {\n label: 'Връзка',\n },\n cs: {\n label: 'Vztah',\n },\n da: {\n label: 'Forhold',\n },\n de: {\n label: 'Beziehung',\n },\n en: {\n label: 'Relationship',\n },\n es: {\n label: 'Relación',\n },\n et: {\n label: 'Seos',\n },\n fa: {\n label: 'روابط',\n },\n fr: {\n label: 'Relation',\n },\n he: {\n label: 'יחסים',\n },\n hr: {\n label: 'Odnos',\n },\n hu: {\n label: 'Kapcsolat',\n },\n it: {\n label: 'Relazione',\n },\n ja: {\n label: '関係性',\n },\n ko: {\n label: '관계',\n },\n my: {\n label: 'Hubungan',\n },\n nb: {\n label: 'Forhold',\n },\n nl: {\n label: 'Relatie',\n },\n pl: {\n label: 'Relacja',\n },\n pt: {\n label: 'Relacionamento',\n },\n ro: {\n label: 'Relație',\n },\n rs: {\n label: 'Релација',\n },\n 'rs-latin': {\n label: 'Relacija',\n },\n ru: {\n label: 'Отношения',\n },\n sk: {\n label: 'Vzťah',\n },\n sl: {\n label: 'Odnos',\n },\n sv: {\n label: 'Relation',\n },\n th: {\n label: 'ความสัมพันธ์',\n },\n tr: {\n label: 'İlişki',\n },\n uk: {\n label: 'Стосунки',\n },\n vi: {\n label: 'Mối quan hệ',\n },\n zh: {\n label: '关系',\n },\n 'zh-TW': {\n label: '關係',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA+B,EAAA,EAAI;IACF/B,KAAA,EAAO;EACT;EACAgC,EAAA,EAAI;IACFhC,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/features/textState/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/features/textState/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAoC1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":["i18n","ar","defaultStyle","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","
|
|
1
|
+
{"version":3,"file":"i18n.js","names":["i18n","ar","defaultStyle","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","th","tr","uk","vi","zh"],"sources":["../../../src/features/textState/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: { defaultStyle: 'النمط الافتراضي' },\n az: { defaultStyle: 'Defolt üslub' },\n bg: { defaultStyle: 'Стандартен стил' },\n cs: { defaultStyle: 'Výchozí styl' },\n da: { defaultStyle: 'Standardstil' },\n de: { defaultStyle: 'Standardstil' },\n en: { defaultStyle: 'Default style' },\n es: { defaultStyle: 'Estilo predeterminado' },\n et: { defaultStyle: 'Vaikimisi stiil' },\n fa: { defaultStyle: 'سبک پیشفرض' },\n fr: { defaultStyle: 'Style par défaut' },\n he: { defaultStyle: 'סגנון ברירת מחדל' },\n hr: { defaultStyle: 'Zadani stil' },\n hu: { defaultStyle: 'Alapértelmezett stílus' },\n it: { defaultStyle: 'Stile predefinito' },\n ja: { defaultStyle: 'デフォルトスタイル' },\n ko: { defaultStyle: '기본 스타일' },\n my: { defaultStyle: 'Gaya lalai' },\n nb: { defaultStyle: 'Standardstil' },\n nl: { defaultStyle: 'Standaardstijl' },\n pl: { defaultStyle: 'Domyślny styl' },\n pt: { defaultStyle: 'Estilo padrão' },\n ro: { defaultStyle: 'Stil implicit' },\n rs: { defaultStyle: 'Подразумевани стил' },\n 'rs-latin': { defaultStyle: 'Podrazumevani stil' },\n ru: { defaultStyle: 'Стиль по умолчанию' },\n sk: { defaultStyle: 'Predvolený štýl' },\n sl: { defaultStyle: 'Privzeti slog' },\n sv: { defaultStyle: 'Standardstil' },\n th: { defaultStyle: 'สไตล์เริ่มต้น' },\n tr: { defaultStyle: 'Varsayılan stil' },\n uk: { defaultStyle: 'Стиль за замовчуванням' },\n vi: { defaultStyle: 'Kiểu mặc định' },\n zh: { defaultStyle: '默认样式' },\n 'zh-TW': { defaultStyle: '預設樣式' },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IAAEC,YAAA,EAAc;EAAkB;EACtCC,EAAA,EAAI;IAAED,YAAA,EAAc;EAAe;EACnCE,EAAA,EAAI;IAAEF,YAAA,EAAc;EAAkB;EACtCG,EAAA,EAAI;IAAEH,YAAA,EAAc;EAAe;EACnCI,EAAA,EAAI;IAAEJ,YAAA,EAAc;EAAe;EACnCK,EAAA,EAAI;IAAEL,YAAA,EAAc;EAAe;EACnCM,EAAA,EAAI;IAAEN,YAAA,EAAc;EAAgB;EACpCO,EAAA,EAAI;IAAEP,YAAA,EAAc;EAAwB;EAC5CQ,EAAA,EAAI;IAAER,YAAA,EAAc;EAAkB;EACtCS,EAAA,EAAI;IAAET,YAAA,EAAc;EAAc;EAClCU,EAAA,EAAI;IAAEV,YAAA,EAAc;EAAmB;EACvCW,EAAA,EAAI;IAAEX,YAAA,EAAc;EAAmB;EACvCY,EAAA,EAAI;IAAEZ,YAAA,EAAc;EAAc;EAClCa,EAAA,EAAI;IAAEb,YAAA,EAAc;EAAyB;EAC7Cc,EAAA,EAAI;IAAEd,YAAA,EAAc;EAAoB;EACxCe,EAAA,EAAI;IAAEf,YAAA,EAAc;EAAY;EAChCgB,EAAA,EAAI;IAAEhB,YAAA,EAAc;EAAS;EAC7BiB,EAAA,EAAI;IAAEjB,YAAA,EAAc;EAAa;EACjCkB,EAAA,EAAI;IAAElB,YAAA,EAAc;EAAe;EACnCmB,EAAA,EAAI;IAAEnB,YAAA,EAAc;EAAiB;EACrCoB,EAAA,EAAI;IAAEpB,YAAA,EAAc;EAAgB;EACpCqB,EAAA,EAAI;IAAErB,YAAA,EAAc;EAAgB;EACpCsB,EAAA,EAAI;IAAEtB,YAAA,EAAc;EAAgB;EACpCuB,EAAA,EAAI;IAAEvB,YAAA,EAAc;EAAqB;EACzC,YAAY;IAAEA,YAAA,EAAc;EAAqB;EACjDwB,EAAA,EAAI;IAAExB,YAAA,EAAc;EAAqB;EACzCyB,EAAA,EAAI;IAAEzB,YAAA,EAAc;EAAkB;EACtC0B,EAAA,EAAI;IAAE1B,YAAA,EAAc;EAAgB;EACpC2B,EAAA,EAAI;IAAE3B,YAAA,EAAc;EAAe;EACnC4B,EAAA,EAAI;IAAE5B,YAAA,EAAc;EAAgB;EACpC6B,EAAA,EAAI;IAAE7B,YAAA,EAAc;EAAkB;EACtC8B,EAAA,EAAI;IAAE9B,YAAA,EAAc;EAAyB;EAC7C+B,EAAA,EAAI;IAAE/B,YAAA,EAAc;EAAgB;EACpCgC,EAAA,EAAI;IAAEhC,YAAA,EAAc;EAAO;EAC3B,SAAS;IAAEA,YAAA,EAAc;EAAO;AAClC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/upload/client/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/upload/client/index.tsx"],"names":[],"mappings":"AAYA,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE;QACX,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,cAAc,EAAE,OAAO,CAAA;SACxB,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,mBAAmB,kHAqD9B,CAAA"}
|
|
@@ -6,11 +6,10 @@ import { createClientFeature } from '../../../utilities/createClientFeature.js';
|
|
|
6
6
|
import { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js';
|
|
7
7
|
import { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js';
|
|
8
8
|
import { INSERT_UPLOAD_WITH_DRAWER_COMMAND } from './drawer/commands.js';
|
|
9
|
-
import { PendingUploadNode } from './nodes/PendingUploadNode.js';
|
|
10
9
|
import { $isUploadNode, UploadNode } from './nodes/UploadNode.js';
|
|
11
10
|
import { UploadPlugin } from './plugin/index.js';
|
|
12
11
|
export const UploadFeatureClient = createClientFeature({
|
|
13
|
-
nodes: [UploadNode
|
|
12
|
+
nodes: [UploadNode],
|
|
14
13
|
plugins: [{
|
|
15
14
|
Component: UploadPlugin,
|
|
16
15
|
position: 'normal'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["$isNodeSelection","UploadIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","INSERT_UPLOAD_WITH_DRAWER_COMMAND","
|
|
1
|
+
{"version":3,"file":"index.js","names":["$isNodeSelection","UploadIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","INSERT_UPLOAD_WITH_DRAWER_COMMAND","$isUploadNode","UploadNode","UploadPlugin","UploadFeatureClient","nodes","plugins","Component","position","slashMenu","groups","Icon","key","keywords","label","i18n","t","onSelect","editor","dispatchCommand","replace","toolbarFixed","ChildComponent","isActive","selection","getNodes","length","firstNode"],"sources":["../../../../src/features/upload/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { $isNodeSelection } from 'lexical'\n\nimport { UploadIcon } from '../../../lexical/ui/icons/Upload/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { INSERT_UPLOAD_WITH_DRAWER_COMMAND } from './drawer/commands.js'\nimport { $isUploadNode, UploadNode } from './nodes/UploadNode.js'\nimport { UploadPlugin } from './plugin/index.js'\n\nexport type UploadFeaturePropsClient = {\n collections: {\n [collection: string]: {\n hasExtraFields: boolean\n }\n }\n}\n\nexport const UploadFeatureClient = createClientFeature<UploadFeaturePropsClient>({\n nodes: [UploadNode],\n plugins: [\n {\n Component: UploadPlugin,\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: UploadIcon,\n key: 'upload',\n keywords: ['upload', 'image', 'file', 'img', 'picture', 'photo', 'media'],\n label: ({ i18n }) => {\n return i18n.t('lexical:upload:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UPLOAD_WITH_DRAWER_COMMAND, {\n replace: false,\n })\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: UploadIcon,\n isActive: ({ selection }) => {\n if (!$isNodeSelection(selection) || !selection.getNodes().length) {\n return false\n }\n\n const firstNode = selection.getNodes()[0]\n return $isUploadNode(firstNode)\n },\n key: 'upload',\n label: ({ i18n }) => {\n return i18n.t('lexical:upload:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UPLOAD_WITH_DRAWER_COMMAND, {\n replace: false,\n })\n },\n },\n ]),\n ],\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,gBAAgB,QAAQ;AAEjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,iCAAiC,QAAQ;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ;AAC1C,SAASC,YAAY,QAAQ;AAU7B,OAAO,MAAMC,mBAAA,GAAsBP,mBAAA,CAA8C;EAC/EQ,KAAA,EAAO,CAACH,UAAA,CAAW;EACnBI,OAAA,EAAS,CACP;IACEC,SAAA,EAAWJ,YAAA;IACXK,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNZ,4BAAA,CAA6B,CAC3B;MACEa,IAAA,EAAMf,UAAA;MACNgB,GAAA,EAAK;MACLC,QAAA,EAAU,CAAC,UAAU,SAAS,QAAQ,OAAO,WAAW,SAAS,QAAQ;MACzEC,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACnB,iCAAA,EAAmC;UACxDoB,OAAA,EAAS;QACX;MACF;IACF,EACD;EAEL;EACAC,YAAA,EAAc;IACZX,MAAA,EAAQ,CACNX,gCAAA,CAAiC,CAC/B;MACEuB,cAAA,EAAgB1B,UAAA;MAChB2B,QAAA,EAAUA,CAAC;QAAEC;MAAS,CAAE;QACtB,IAAI,CAAC7B,gBAAA,CAAiB6B,SAAA,KAAc,CAACA,SAAA,CAAUC,QAAQ,GAAGC,MAAM,EAAE;UAChE,OAAO;QACT;QAEA,MAAMC,SAAA,GAAYH,SAAA,CAAUC,QAAQ,EAAE,CAAC,EAAE;QACzC,OAAOxB,aAAA,CAAc0B,SAAA;MACvB;MACAf,GAAA,EAAK;MACLE,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACnB,iCAAA,EAAmC;UACxDoB,OAAA,EAAS;QACX;MACF;IACF,EACD;EAEL;AACF","ignoreList":[]}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
|
|
2
|
+
import type { DOMConversionMap, LexicalNode, Spread } from 'lexical';
|
|
2
3
|
import type { JSX } from 'react';
|
|
3
|
-
import type {
|
|
4
|
+
import type { UploadData } from '../../server/nodes/UploadNode.js';
|
|
4
5
|
import { UploadServerNode } from '../../server/nodes/UploadNode.js';
|
|
6
|
+
export type SerializedUploadNode = {
|
|
7
|
+
children?: never;
|
|
8
|
+
type: 'upload';
|
|
9
|
+
} & Spread<UploadData, SerializedDecoratorBlockNode>;
|
|
5
10
|
export declare class UploadNode extends UploadServerNode {
|
|
6
11
|
static clone(node: UploadServerNode): UploadServerNode;
|
|
7
12
|
static getType(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/upload/client/nodes/UploadNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"UploadNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/upload/client/nodes/UploadNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAuB,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAMhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAA0B,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAkC3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAA;CACf,GAAG,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAA;AAEpD,qBAAa,UAAW,SAAQ,gBAAgB;WAC9B,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;WAI/C,OAAO,IAAI,MAAM;WAIjB,SAAS,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;WAS/C,UAAU,CAAC,cAAc,EAAE,oBAAoB,GAAG,UAAU;IAsBnE,QAAQ,IAAI,GAAG,CAAC,OAAO;IAIvB,UAAU,IAAI,oBAAoB;CAG5C;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,GACL,EAAE;IACD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;CAC/D,GAAG,UAAU,CAKb;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,UAAU,CAEtF"}
|
|
@@ -4,11 +4,35 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import ObjectID from 'bson-objectid';
|
|
5
5
|
import { $applyNodeReplacement } from 'lexical';
|
|
6
6
|
import * as React from 'react';
|
|
7
|
-
import {
|
|
8
|
-
import { UploadServerNode } from '../../server/nodes/UploadNode.js';
|
|
7
|
+
import { isGoogleDocCheckboxImg, UploadServerNode } from '../../server/nodes/UploadNode.js';
|
|
9
8
|
const RawUploadComponent = /*#__PURE__*/React.lazy(() => import('../../client/component/index.js').then(module => ({
|
|
10
9
|
default: module.UploadComponent
|
|
11
10
|
})));
|
|
11
|
+
function $convertUploadElement(domNode) {
|
|
12
|
+
if (domNode.hasAttribute('data-lexical-upload-relation-to') && domNode.hasAttribute('data-lexical-upload-id')) {
|
|
13
|
+
const id = domNode.getAttribute('data-lexical-upload-id');
|
|
14
|
+
const relationTo = domNode.getAttribute('data-lexical-upload-relation-to');
|
|
15
|
+
if (id != null && relationTo != null) {
|
|
16
|
+
const node = $createUploadNode({
|
|
17
|
+
data: {
|
|
18
|
+
fields: {},
|
|
19
|
+
relationTo,
|
|
20
|
+
value: id
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
node
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const img = domNode;
|
|
29
|
+
if (img.src.startsWith('file:///') || isGoogleDocCheckboxImg(img)) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
// TODO: Auto-upload functionality here!
|
|
33
|
+
//}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
12
36
|
export class UploadNode extends UploadServerNode {
|
|
13
37
|
static clone(node) {
|
|
14
38
|
return super.clone(node);
|
|
@@ -19,7 +43,7 @@ export class UploadNode extends UploadServerNode {
|
|
|
19
43
|
static importDOM() {
|
|
20
44
|
return {
|
|
21
45
|
img: node => ({
|
|
22
|
-
conversion:
|
|
46
|
+
conversion: $convertUploadElement,
|
|
23
47
|
priority: 0
|
|
24
48
|
})
|
|
25
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadNode.js","names":["ObjectID","$applyNodeReplacement","React","
|
|
1
|
+
{"version":3,"file":"UploadNode.js","names":["ObjectID","$applyNodeReplacement","React","isGoogleDocCheckboxImg","UploadServerNode","RawUploadComponent","lazy","then","module","default","UploadComponent","$convertUploadElement","domNode","hasAttribute","id","getAttribute","relationTo","node","$createUploadNode","data","fields","value","img","src","startsWith","UploadNode","clone","getType","importDOM","conversion","priority","importJSON","serializedNode","version","toHexString","importedData","setFormat","format","decorate","_jsx","__data","nodeKey","getKey","exportJSON","$isUploadNode"],"sources":["../../../../../src/features/upload/client/nodes/UploadNode.tsx"],"sourcesContent":["'use client'\nimport type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type { DOMConversionMap, DOMConversionOutput, LexicalNode, Spread } from 'lexical'\nimport type { JSX } from 'react'\n\nimport ObjectID from 'bson-objectid'\nimport { $applyNodeReplacement } from 'lexical'\nimport * as React from 'react'\n\nimport type { UploadData } from '../../server/nodes/UploadNode.js'\n\nimport { isGoogleDocCheckboxImg, UploadServerNode } from '../../server/nodes/UploadNode.js'\n\nconst RawUploadComponent = React.lazy(() =>\n import('../../client/component/index.js').then((module) => ({ default: module.UploadComponent })),\n)\n\nfunction $convertUploadElement(domNode: HTMLImageElement): DOMConversionOutput | null {\n if (\n domNode.hasAttribute('data-lexical-upload-relation-to') &&\n domNode.hasAttribute('data-lexical-upload-id')\n ) {\n const id = domNode.getAttribute('data-lexical-upload-id')\n const relationTo = domNode.getAttribute('data-lexical-upload-relation-to')\n\n if (id != null && relationTo != null) {\n const node = $createUploadNode({\n data: {\n fields: {},\n relationTo,\n value: id,\n },\n })\n return { node }\n }\n }\n const img = domNode\n if (img.src.startsWith('file:///') || isGoogleDocCheckboxImg(img)) {\n return null\n }\n // TODO: Auto-upload functionality here!\n //}\n return null\n}\n\nexport type SerializedUploadNode = {\n children?: never // required so that our typed editor state doesn't automatically add children\n type: 'upload'\n} & Spread<UploadData, SerializedDecoratorBlockNode>\n\nexport class UploadNode extends UploadServerNode {\n static override clone(node: UploadServerNode): UploadServerNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importDOM(): DOMConversionMap<HTMLImageElement> {\n return {\n img: (node) => ({\n conversion: $convertUploadElement,\n priority: 0,\n }),\n }\n }\n\n static override importJSON(serializedNode: SerializedUploadNode): UploadNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n if (serializedNode.version === 2 && !serializedNode?.id) {\n serializedNode.id = new ObjectID.default().toHexString()\n serializedNode.version = 3\n }\n\n const importedData: UploadData = {\n id: serializedNode.id,\n fields: serializedNode.fields,\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n\n const node = $createUploadNode({ data: importedData })\n node.setFormat(serializedNode.format)\n\n return node\n }\n\n override decorate(): JSX.Element {\n return <RawUploadComponent data={this.__data} nodeKey={this.getKey()} />\n }\n\n override exportJSON(): SerializedUploadNode {\n return super.exportJSON()\n }\n}\n\nexport function $createUploadNode({\n data,\n}: {\n data: Omit<UploadData, 'id'> & Partial<Pick<UploadData, 'id'>>\n}): UploadNode {\n if (!data?.id) {\n data.id = new ObjectID.default().toHexString()\n }\n return $applyNodeReplacement(new UploadNode({ data: data as UploadData }))\n}\n\nexport function $isUploadNode(node: LexicalNode | null | undefined): node is UploadNode {\n return node instanceof UploadNode\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,6 @@ import type { PluginComponent } from '../../../typesClient.js';
|
|
|
3
3
|
import type { UploadData } from '../../server/nodes/UploadNode.js';
|
|
4
4
|
import type { UploadFeaturePropsClient } from '../index.js';
|
|
5
5
|
export type InsertUploadPayload = Readonly<Omit<UploadData, 'id'> & Partial<Pick<UploadData, 'id'>>>;
|
|
6
|
-
declare global {
|
|
7
|
-
interface DragEvent {
|
|
8
|
-
rangeOffset?: number;
|
|
9
|
-
rangeParent?: Node;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
6
|
export declare const INSERT_UPLOAD_COMMAND: LexicalCommand<InsertUploadPayload>;
|
|
13
7
|
export declare const UploadPlugin: PluginComponent<UploadFeaturePropsClient>;
|
|
14
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/upload/client/plugin/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/upload/client/plugin/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAK3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAEpG,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,mBAAmB,CAC9B,CAAA;AAExC,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,wBAAwB,CAgDlE,CAAA"}
|
|
@@ -3,167 +3,30 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
|
|
6
|
-
import { $
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import { $createRangeSelection, $getPreviousSelection, $getSelection, $isParagraphNode, $isRangeSelection, $setSelection, COMMAND_PRIORITY_EDITOR, COMMAND_PRIORITY_LOW, createCommand, DROP_COMMAND, getDOMSelectionFromTarget, isHTMLElement, PASTE_COMMAND } from 'lexical';
|
|
6
|
+
import { $insertNodeToNearestRoot, mergeRegister } from '@lexical/utils';
|
|
7
|
+
import { useConfig } from '@payloadcms/ui';
|
|
8
|
+
import { $getPreviousSelection, $getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
|
|
10
9
|
import React, { useEffect } from 'react';
|
|
11
10
|
import { UploadDrawer } from '../drawer/index.js';
|
|
12
|
-
import { $isPendingUploadNode, PendingUploadNode } from '../nodes/PendingUploadNode.js';
|
|
13
11
|
import { $createUploadNode, UploadNode } from '../nodes/UploadNode.js';
|
|
14
|
-
function canDropImage(event) {
|
|
15
|
-
const target = event.target;
|
|
16
|
-
return !!(isHTMLElement(target) && !target.closest('code, span.editor-image') && isHTMLElement(target.parentElement) && target.parentElement.closest('div.ContentEditable__root'));
|
|
17
|
-
}
|
|
18
|
-
function getDragSelection(event) {
|
|
19
|
-
// Source: https://github.com/AlessioGr/lexical/blob/main/packages/lexical-playground/src/plugins/ImagesPlugin/index.tsx
|
|
20
|
-
let range;
|
|
21
|
-
const domSelection = getDOMSelectionFromTarget(event.target);
|
|
22
|
-
if (document.caretRangeFromPoint) {
|
|
23
|
-
range = document.caretRangeFromPoint(event.clientX, event.clientY);
|
|
24
|
-
} else if (event.rangeParent && domSelection !== null) {
|
|
25
|
-
domSelection.collapse(event.rangeParent, event.rangeOffset || 0);
|
|
26
|
-
range = domSelection.getRangeAt(0);
|
|
27
|
-
} else {
|
|
28
|
-
throw Error(`Cannot get the selection when dragging`);
|
|
29
|
-
}
|
|
30
|
-
return range;
|
|
31
|
-
}
|
|
32
12
|
export const INSERT_UPLOAD_COMMAND = createCommand('INSERT_UPLOAD_COMMAND');
|
|
33
|
-
export const UploadPlugin =
|
|
34
|
-
const $ = _c(
|
|
13
|
+
export const UploadPlugin = t0 => {
|
|
14
|
+
const $ = _c(5);
|
|
35
15
|
const [editor] = useLexicalComposerContext();
|
|
36
16
|
const {
|
|
37
|
-
config:
|
|
17
|
+
config: t1
|
|
38
18
|
} = useConfig();
|
|
39
19
|
const {
|
|
40
20
|
collections
|
|
41
|
-
} =
|
|
42
|
-
const {
|
|
43
|
-
drawerSlug: bulkUploadDrawerSlug,
|
|
44
|
-
setCollectionSlug,
|
|
45
|
-
setInitialForms,
|
|
46
|
-
setOnCancel,
|
|
47
|
-
setOnSuccess,
|
|
48
|
-
setSelectableCollections
|
|
49
|
-
} = useBulkUpload();
|
|
50
|
-
const {
|
|
51
|
-
isModalOpen,
|
|
52
|
-
openModal
|
|
53
|
-
} = useModal();
|
|
54
|
-
let t1;
|
|
55
|
-
if ($[0] !== bulkUploadDrawerSlug || $[1] !== collections || $[2] !== editor || $[3] !== isModalOpen || $[4] !== openModal || $[5] !== setCollectionSlug || $[6] !== setInitialForms || $[7] !== setOnCancel || $[8] !== setOnSuccess || $[9] !== setSelectableCollections) {
|
|
56
|
-
t1 = t2 => {
|
|
57
|
-
const {
|
|
58
|
-
files
|
|
59
|
-
} = t2;
|
|
60
|
-
if (files?.length === 0) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
setInitialForms(initialForms => [...(initialForms ?? []), ...files.map(_temp)]);
|
|
64
|
-
if (!isModalOpen(bulkUploadDrawerSlug)) {
|
|
65
|
-
const uploadCollections = collections.filter(_temp2).map(_temp3);
|
|
66
|
-
if (!uploadCollections.length || !uploadCollections[0]) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
setCollectionSlug(uploadCollections[0]);
|
|
70
|
-
setSelectableCollections(uploadCollections);
|
|
71
|
-
setOnCancel(() => {
|
|
72
|
-
editor.update(_temp4);
|
|
73
|
-
});
|
|
74
|
-
setOnSuccess(newDocs => {
|
|
75
|
-
const newDocsMap = new Map(newDocs.map(_temp5));
|
|
76
|
-
editor.update(() => {
|
|
77
|
-
for (const dfsNode_0 of $dfsIterator()) {
|
|
78
|
-
const node_0 = dfsNode_0.node;
|
|
79
|
-
if ($isPendingUploadNode(node_0)) {
|
|
80
|
-
const newDoc = newDocsMap.get(node_0.getData().formID);
|
|
81
|
-
if (newDoc) {
|
|
82
|
-
node_0.replace($createUploadNode({
|
|
83
|
-
data: {
|
|
84
|
-
id: new ObjectID.default().toHexString(),
|
|
85
|
-
fields: newDoc.doc,
|
|
86
|
-
relationTo: newDoc.collectionSlug,
|
|
87
|
-
value: newDoc.doc.id
|
|
88
|
-
}
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
openModal(bulkUploadDrawerSlug);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
$[0] = bulkUploadDrawerSlug;
|
|
99
|
-
$[1] = collections;
|
|
100
|
-
$[2] = editor;
|
|
101
|
-
$[3] = isModalOpen;
|
|
102
|
-
$[4] = openModal;
|
|
103
|
-
$[5] = setCollectionSlug;
|
|
104
|
-
$[6] = setInitialForms;
|
|
105
|
-
$[7] = setOnCancel;
|
|
106
|
-
$[8] = setOnSuccess;
|
|
107
|
-
$[9] = setSelectableCollections;
|
|
108
|
-
$[10] = t1;
|
|
109
|
-
} else {
|
|
110
|
-
t1 = $[10];
|
|
111
|
-
}
|
|
112
|
-
const openBulkUpload = useEffectEvent(t1);
|
|
21
|
+
} = t1;
|
|
113
22
|
let t2;
|
|
114
|
-
|
|
23
|
+
let t3;
|
|
24
|
+
if ($[0] !== editor) {
|
|
115
25
|
t2 = () => {
|
|
116
26
|
if (!editor.hasNodes([UploadNode])) {
|
|
117
27
|
throw new Error("UploadPlugin: UploadNode not registered on editor");
|
|
118
28
|
}
|
|
119
|
-
return mergeRegister(editor.
|
|
120
|
-
const nodeData = node_1.getData();
|
|
121
|
-
const upload_0 = async function upload() {
|
|
122
|
-
let transformedImage = null;
|
|
123
|
-
const src = nodeData.src;
|
|
124
|
-
const formID = nodeData.formID;
|
|
125
|
-
if (src.startsWith("data:")) {
|
|
126
|
-
const mimeMatch = src.match(/data:(image\/[a-zA-Z]+);base64,/);
|
|
127
|
-
const mimeType = mimeMatch ? mimeMatch[1] : "image/png";
|
|
128
|
-
const base64Data = src.replace(/^data:image\/[a-zA-Z]+;base64,/, "");
|
|
129
|
-
const byteCharacters = atob(base64Data);
|
|
130
|
-
const byteNumbers = new Array(byteCharacters.length);
|
|
131
|
-
for (let i = 0; i < byteCharacters.length; i++) {
|
|
132
|
-
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
133
|
-
}
|
|
134
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
135
|
-
const file_0 = new File([byteArray], "pasted-image." + mimeType?.split("/")[1], {
|
|
136
|
-
type: mimeType
|
|
137
|
-
});
|
|
138
|
-
transformedImage = {
|
|
139
|
-
alt: undefined,
|
|
140
|
-
file: file_0,
|
|
141
|
-
formID
|
|
142
|
-
};
|
|
143
|
-
} else {
|
|
144
|
-
if (src.startsWith("http") || src.startsWith("https")) {
|
|
145
|
-
const res = await fetch(src);
|
|
146
|
-
const blob = await res.blob();
|
|
147
|
-
const inferredFileName = src.split("/").pop() || "pasted-image" + blob.type.split("/")[1];
|
|
148
|
-
const file_1 = new File([blob], inferredFileName, {
|
|
149
|
-
type: blob.type
|
|
150
|
-
});
|
|
151
|
-
transformedImage = {
|
|
152
|
-
alt: undefined,
|
|
153
|
-
file: file_1,
|
|
154
|
-
formID
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (!transformedImage) {
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
openBulkUpload({
|
|
162
|
-
files: [transformedImage]
|
|
163
|
-
});
|
|
164
|
-
};
|
|
165
|
-
upload_0();
|
|
166
|
-
}), editor.registerCommand(INSERT_UPLOAD_COMMAND, payload => {
|
|
29
|
+
return mergeRegister(editor.registerCommand(INSERT_UPLOAD_COMMAND, payload => {
|
|
167
30
|
editor.update(() => {
|
|
168
31
|
const selection = $getSelection() || $getPreviousSelection();
|
|
169
32
|
if ($isRangeSelection(selection)) {
|
|
@@ -186,167 +49,33 @@ export const UploadPlugin = () => {
|
|
|
186
49
|
}
|
|
187
50
|
});
|
|
188
51
|
return true;
|
|
189
|
-
}, COMMAND_PRIORITY_EDITOR)
|
|
190
|
-
if (!(event instanceof ClipboardEvent)) {
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
const clipboardData = event.clipboardData;
|
|
194
|
-
if (!clipboardData?.types?.length || clipboardData?.types?.includes("text/html")) {
|
|
195
|
-
return false;
|
|
196
|
-
}
|
|
197
|
-
const files_0 = [];
|
|
198
|
-
if (clipboardData?.files?.length) {
|
|
199
|
-
Array.from(clipboardData.files).forEach(file_2 => {
|
|
200
|
-
files_0.push({
|
|
201
|
-
alt: "",
|
|
202
|
-
file: file_2,
|
|
203
|
-
formID: new ObjectID.default().toHexString()
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
if (files_0.length) {
|
|
208
|
-
editor.update(() => {
|
|
209
|
-
const selection_0 = $getSelection() || $getPreviousSelection();
|
|
210
|
-
if ($isRangeSelection(selection_0)) {
|
|
211
|
-
for (const file_3 of files_0) {
|
|
212
|
-
const pendingUploadNode = new PendingUploadNode({
|
|
213
|
-
data: {
|
|
214
|
-
formID: file_3.formID,
|
|
215
|
-
src: URL.createObjectURL(file_3.file)
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
const {
|
|
219
|
-
focus: focus_0
|
|
220
|
-
} = selection_0;
|
|
221
|
-
const focusNode_0 = focus_0.getNode();
|
|
222
|
-
$insertNodeToNearestRoot(pendingUploadNode);
|
|
223
|
-
if ($isParagraphNode(focusNode_0) && !focusNode_0.__first) {
|
|
224
|
-
focusNode_0.remove();
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
openBulkUpload({
|
|
230
|
-
files: files_0
|
|
231
|
-
});
|
|
232
|
-
return true;
|
|
233
|
-
}
|
|
234
|
-
return false;
|
|
235
|
-
}, COMMAND_PRIORITY_LOW), editor.registerCommand(DROP_COMMAND, event_0 => {
|
|
236
|
-
if (!(event_0 instanceof DragEvent)) {
|
|
237
|
-
return false;
|
|
238
|
-
}
|
|
239
|
-
const dt = event_0.dataTransfer;
|
|
240
|
-
if (!dt?.types?.length) {
|
|
241
|
-
return false;
|
|
242
|
-
}
|
|
243
|
-
const files_1 = [];
|
|
244
|
-
if (dt?.files?.length) {
|
|
245
|
-
Array.from(dt.files).forEach(file_4 => {
|
|
246
|
-
files_1.push({
|
|
247
|
-
alt: "",
|
|
248
|
-
file: file_4,
|
|
249
|
-
formID: new ObjectID.default().toHexString()
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
if (files_1.length) {
|
|
254
|
-
event_0.preventDefault();
|
|
255
|
-
event_0.stopPropagation();
|
|
256
|
-
editor.update(() => {
|
|
257
|
-
if (canDropImage(event_0)) {
|
|
258
|
-
const range = getDragSelection(event_0);
|
|
259
|
-
const selection_1 = $createRangeSelection();
|
|
260
|
-
if (range !== null && range !== undefined) {
|
|
261
|
-
selection_1.applyDOMRange(range);
|
|
262
|
-
}
|
|
263
|
-
$setSelection(selection_1);
|
|
264
|
-
for (const file_5 of files_1) {
|
|
265
|
-
const pendingUploadNode_0 = new PendingUploadNode({
|
|
266
|
-
data: {
|
|
267
|
-
formID: file_5.formID,
|
|
268
|
-
src: URL.createObjectURL(file_5.file)
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
const {
|
|
272
|
-
focus: focus_1
|
|
273
|
-
} = selection_1;
|
|
274
|
-
const focusNode_1 = focus_1.getNode();
|
|
275
|
-
$insertNodeToNearestRoot(pendingUploadNode_0);
|
|
276
|
-
if ($isParagraphNode(focusNode_1) && !focusNode_1.__first) {
|
|
277
|
-
focusNode_1.remove();
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
openBulkUpload({
|
|
283
|
-
files: files_1
|
|
284
|
-
});
|
|
285
|
-
return true;
|
|
286
|
-
}
|
|
287
|
-
return false;
|
|
288
|
-
}, COMMAND_PRIORITY_LOW));
|
|
52
|
+
}, COMMAND_PRIORITY_EDITOR));
|
|
289
53
|
};
|
|
290
|
-
$[11] = editor;
|
|
291
|
-
$[12] = openBulkUpload;
|
|
292
|
-
$[13] = t2;
|
|
293
|
-
} else {
|
|
294
|
-
t2 = $[13];
|
|
295
|
-
}
|
|
296
|
-
let t3;
|
|
297
|
-
if ($[14] !== editor) {
|
|
298
54
|
t3 = [editor];
|
|
299
|
-
$[
|
|
300
|
-
$[
|
|
55
|
+
$[0] = editor;
|
|
56
|
+
$[1] = t2;
|
|
57
|
+
$[2] = t3;
|
|
301
58
|
} else {
|
|
302
|
-
|
|
59
|
+
t2 = $[1];
|
|
60
|
+
t3 = $[2];
|
|
303
61
|
}
|
|
304
62
|
useEffect(t2, t3);
|
|
305
63
|
let t4;
|
|
306
|
-
if ($[
|
|
64
|
+
if ($[3] !== collections) {
|
|
307
65
|
t4 = _jsx(UploadDrawer, {
|
|
308
|
-
enabledCollectionSlugs: collections.map(
|
|
66
|
+
enabledCollectionSlugs: collections.map(_temp)
|
|
309
67
|
});
|
|
310
|
-
$[
|
|
311
|
-
$[
|
|
68
|
+
$[3] = collections;
|
|
69
|
+
$[4] = t4;
|
|
312
70
|
} else {
|
|
313
|
-
t4 = $[
|
|
71
|
+
t4 = $[4];
|
|
314
72
|
}
|
|
315
73
|
return t4;
|
|
316
74
|
};
|
|
317
|
-
function _temp(
|
|
318
|
-
return {
|
|
319
|
-
file: file.file,
|
|
320
|
-
formID: file.formID
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
function _temp2(t0) {
|
|
324
|
-
const {
|
|
325
|
-
upload
|
|
326
|
-
} = t0;
|
|
327
|
-
return !!upload;
|
|
328
|
-
}
|
|
329
|
-
function _temp3(t0) {
|
|
75
|
+
function _temp(t0) {
|
|
330
76
|
const {
|
|
331
77
|
slug
|
|
332
78
|
} = t0;
|
|
333
79
|
return slug;
|
|
334
80
|
}
|
|
335
|
-
function _temp4() {
|
|
336
|
-
for (const dfsNode of $dfsIterator()) {
|
|
337
|
-
const node = dfsNode.node;
|
|
338
|
-
if ($isPendingUploadNode(node)) {
|
|
339
|
-
node.remove();
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
function _temp5(doc) {
|
|
344
|
-
return [doc.formID, doc];
|
|
345
|
-
}
|
|
346
|
-
function _temp6(t0) {
|
|
347
|
-
const {
|
|
348
|
-
slug: slug_0
|
|
349
|
-
} = t0;
|
|
350
|
-
return slug_0;
|
|
351
|
-
}
|
|
352
81
|
//# sourceMappingURL=index.js.map
|