@payloadcms/richtext-slate 3.0.0-beta.53 → 3.0.0-beta.55
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/cell/index.js.map +1 -1
- package/dist/data/defaultValue.js.map +1 -1
- package/dist/data/populate.d.ts +1 -1
- package/dist/data/populate.d.ts.map +1 -1
- package/dist/data/populate.js.map +1 -1
- package/dist/data/recurseNestedFields.js.map +1 -1
- package/dist/data/richTextRelationshipPromise.js.map +1 -1
- package/dist/data/validation.js.map +1 -1
- package/dist/field/RichText.d.ts +2 -2
- package/dist/field/RichText.d.ts.map +1 -1
- package/dist/field/RichText.js.map +1 -1
- package/dist/field/createFeatureMap.d.ts.map +1 -1
- package/dist/field/createFeatureMap.js.map +1 -1
- package/dist/field/elements/Button.js.map +1 -1
- package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -1
- package/dist/field/elements/ListButton.js.map +1 -1
- package/dist/field/elements/areAllChildrenElements.js.map +1 -1
- package/dist/field/elements/blockquote/Blockquote.js.map +1 -1
- package/dist/field/elements/blockquote/index.js.map +1 -1
- package/dist/field/elements/getCommonBlock.d.ts.map +1 -1
- package/dist/field/elements/getCommonBlock.js.map +1 -1
- package/dist/field/elements/h1/Heading1.js.map +1 -1
- package/dist/field/elements/h1/index.js.map +1 -1
- package/dist/field/elements/h2/Heading2.js.map +1 -1
- package/dist/field/elements/h2/index.js.map +1 -1
- package/dist/field/elements/h3/Heading3.js.map +1 -1
- package/dist/field/elements/h3/index.js.map +1 -1
- package/dist/field/elements/h4/Heading4.js.map +1 -1
- package/dist/field/elements/h4/index.js.map +1 -1
- package/dist/field/elements/h5/Heading5.js.map +1 -1
- package/dist/field/elements/h5/index.js.map +1 -1
- package/dist/field/elements/h6/Heading6.js.map +1 -1
- package/dist/field/elements/h6/index.js.map +1 -1
- package/dist/field/elements/indent/Button.js.map +1 -1
- package/dist/field/elements/indent/Element.js.map +1 -1
- package/dist/field/elements/indent/index.js.map +1 -1
- package/dist/field/elements/indent/shared.js.map +1 -1
- package/dist/field/elements/index.js.map +1 -1
- package/dist/field/elements/injectVoid.js.map +1 -1
- package/dist/field/elements/isActive.js.map +1 -1
- package/dist/field/elements/isBlockElement.d.ts +2 -2
- package/dist/field/elements/isBlockElement.d.ts.map +1 -1
- package/dist/field/elements/isBlockElement.js.map +1 -1
- package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -1
- package/dist/field/elements/isListActive.js.map +1 -1
- package/dist/field/elements/isWithinListItem.js.map +1 -1
- package/dist/field/elements/li/ListItem.js.map +1 -1
- package/dist/field/elements/li/index.js.map +1 -1
- package/dist/field/elements/link/Button/index.js.map +1 -1
- package/dist/field/elements/link/Element/index.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
- package/dist/field/elements/link/WithLinks.js.map +1 -1
- package/dist/field/elements/link/index.js.map +1 -1
- package/dist/field/elements/link/shared.js.map +1 -1
- package/dist/field/elements/link/types.js.map +1 -1
- package/dist/field/elements/link/utilities.js.map +1 -1
- package/dist/field/elements/listTypes.js.map +1 -1
- package/dist/field/elements/ol/OrderedList.js.map +1 -1
- package/dist/field/elements/ol/index.js.map +1 -1
- package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Button/index.js.map +1 -1
- package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Element/index.js.map +1 -1
- package/dist/field/elements/relationship/index.js.map +1 -1
- package/dist/field/elements/relationship/plugin.js.map +1 -1
- package/dist/field/elements/relationship/shared.js.map +1 -1
- package/dist/field/elements/relationship/types.js.map +1 -1
- package/dist/field/elements/textAlign/index.js.map +1 -1
- package/dist/field/elements/toggle.js.map +1 -1
- package/dist/field/elements/toggleList.js.map +1 -1
- package/dist/field/elements/types.js.map +1 -1
- package/dist/field/elements/ul/UnorderedList.js.map +1 -1
- package/dist/field/elements/ul/index.js.map +1 -1
- package/dist/field/elements/unwrapList.d.ts.map +1 -1
- package/dist/field/elements/unwrapList.js.map +1 -1
- package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Button/index.js.map +1 -1
- package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
- package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/index.js.map +1 -1
- package/dist/field/elements/upload/index.js.map +1 -1
- package/dist/field/elements/upload/plugin.js.map +1 -1
- package/dist/field/elements/upload/shared.js.map +1 -1
- package/dist/field/elements/upload/types.js.map +1 -1
- package/dist/field/hotkeys.js.map +1 -1
- package/dist/field/icons/AlignCenter/index.js.map +1 -1
- package/dist/field/icons/AlignLeft/index.js.map +1 -1
- package/dist/field/icons/AlignRight/index.js.map +1 -1
- package/dist/field/icons/Blockquote/index.js.map +1 -1
- package/dist/field/icons/Bold/index.js.map +1 -1
- package/dist/field/icons/Code/index.js.map +1 -1
- package/dist/field/icons/IndentLeft/index.js.map +1 -1
- package/dist/field/icons/IndentRight/index.js.map +1 -1
- package/dist/field/icons/Italic/index.js.map +1 -1
- package/dist/field/icons/Link/index.js.map +1 -1
- package/dist/field/icons/OrderedList/index.js.map +1 -1
- package/dist/field/icons/Relationship/index.js.map +1 -1
- package/dist/field/icons/Strikethrough/index.js.map +1 -1
- package/dist/field/icons/Underline/index.js.map +1 -1
- package/dist/field/icons/UnorderedList/index.js.map +1 -1
- package/dist/field/icons/Upload/index.js.map +1 -1
- package/dist/field/icons/headings/H1/index.js.map +1 -1
- package/dist/field/icons/headings/H2/index.js.map +1 -1
- package/dist/field/icons/headings/H3/index.js.map +1 -1
- package/dist/field/icons/headings/H4/index.js.map +1 -1
- package/dist/field/icons/headings/H5/index.js.map +1 -1
- package/dist/field/icons/headings/H6/index.js.map +1 -1
- package/dist/field/index.js.map +1 -1
- package/dist/field/leaves/Button.js.map +1 -1
- package/dist/field/leaves/bold/Bold/index.js.map +1 -1
- package/dist/field/leaves/bold/index.js.map +1 -1
- package/dist/field/leaves/code/Code/index.js.map +1 -1
- package/dist/field/leaves/code/index.js.map +1 -1
- package/dist/field/leaves/index.js.map +1 -1
- package/dist/field/leaves/isActive.js.map +1 -1
- package/dist/field/leaves/italic/Italic/index.js.map +1 -1
- package/dist/field/leaves/italic/index.js.map +1 -1
- package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -1
- package/dist/field/leaves/strikethrough/index.js.map +1 -1
- package/dist/field/leaves/toggle.js.map +1 -1
- package/dist/field/leaves/underline/Underline/index.js.map +1 -1
- package/dist/field/leaves/underline/index.js.map +1 -1
- package/dist/field/mergeCustomFunctions.js.map +1 -1
- package/dist/field/plugins/withEnterBreakOut.js.map +1 -1
- package/dist/field/plugins/withHTML.js.map +1 -1
- package/dist/field/providers/ElementButtonProvider.js.map +1 -1
- package/dist/field/providers/ElementProvider.d.ts.map +1 -1
- package/dist/field/providers/ElementProvider.js.map +1 -1
- package/dist/field/providers/LeafButtonProvider.js.map +1 -1
- package/dist/field/providers/LeafProvider.js.map +1 -1
- package/dist/field/types.d.ts +0 -1
- package/dist/field/types.d.ts.map +1 -1
- package/dist/field/types.js.map +1 -1
- package/dist/generateComponentMap.d.ts +1 -1
- package/dist/generateComponentMap.js.map +1 -1
- package/dist/generateSchemaMap.d.ts +1 -1
- package/dist/generateSchemaMap.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/useSlatePlugin.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/icons/headings/H2/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H2Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h2-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8a2 2 0 01-2 2h-2v2h4v2H9v-4a2 2 0 012-2h2V9H9V7h4a2 2 0 012 2v2z\"\n />\n </svg>\n)\n"],"names":["React","H2Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/icons/headings/H2/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H2Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h2-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8a2 2 0 01-2 2h-2v2h4v2H9v-4a2 2 0 012-2h2V9H9V7h4a2 2 0 012 2v2z\"\n />\n </svg>\n)\n"],"names":["React","H2Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,SAAmB,kBAC9B,MAACC;QACCC,eAAY;QACZC,WAAU;QACVC,MAAK;QACLC,WAAU;QACVC,SAAQ;QACRC,OAAM;;0BAEN,KAACC;gBAAKC,GAAE;gBAAgBL,MAAK;;0BAC7B,KAACI;gBACCL,WAAU;gBACVM,GAAE;;;OAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/icons/headings/H3/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H3Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h3-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M.01 0h24v24h-24z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15a2 2 0 01-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4a2 2 0 012 2v1.5z\"\n />\n </svg>\n)\n"],"names":["React","H3Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/icons/headings/H3/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H3Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h3-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M.01 0h24v24h-24z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15a2 2 0 01-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4a2 2 0 012 2v1.5z\"\n />\n </svg>\n)\n"],"names":["React","H3Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,SAAmB,kBAC9B,MAACC;QACCC,eAAY;QACZC,WAAU;QACVC,MAAK;QACLC,WAAU;QACVC,SAAQ;QACRC,OAAM;;0BAEN,KAACC;gBAAKC,GAAE;gBAAoBL,MAAK;;0BACjC,KAACI;gBACCL,WAAU;gBACVM,GAAE;;;OAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/icons/headings/H4/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H4Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h4-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z\"\n />\n </svg>\n)\n"],"names":["React","H4Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/icons/headings/H4/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H4Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h4-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z\"\n />\n </svg>\n)\n"],"names":["React","H4Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,SAAmB,kBAC9B,MAACC;QACCC,eAAY;QACZC,WAAU;QACVC,MAAK;QACLC,WAAU;QACVC,SAAQ;QACRC,OAAM;;0BAEN,KAACC;gBAAKC,GAAE;gBAAgBL,MAAK;;0BAC7B,KAACI;gBACCL,WAAU;gBACVM,GAAE;;;OAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/icons/headings/H5/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H5Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h5-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2H9v-2h4v-2H9V7h6v2z\"\n />\n </svg>\n)\n"],"names":["React","H5Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/icons/headings/H5/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H5Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h5-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2H9v-2h4v-2H9V7h6v2z\"\n />\n </svg>\n)\n"],"names":["React","H5Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,SAAmB,kBAC9B,MAACC;QACCC,eAAY;QACZC,WAAU;QACVC,MAAK;QACLC,WAAU;QACVC,SAAQ;QACRC,OAAM;;0BAEN,KAACC;gBAAKC,GAAE;gBAAgBL,MAAK;;0BAC7B,KAACI;gBACCL,WAAU;gBACVM,GAAE;;;OAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/icons/headings/H6/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H6Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h6-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V9a2 2 0 012-2h4v2z\"\n />\n </svg>\n)\n"],"names":["React","H6Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/icons/headings/H6/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const H6Icon: React.FC = () => (\n <svg\n aria-hidden=\"true\"\n className=\"graphic h6-icon\"\n fill=\"currentColor\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n className=\"fill\"\n d=\"M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V9a2 2 0 012-2h4v2z\"\n />\n </svg>\n)\n"],"names":["React","H6Icon","svg","aria-hidden","className","fill","focusable","viewBox","xmlns","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,SAAmB,kBAC9B,MAACC;QACCC,eAAY;QACZC,WAAU;QACVC,MAAK;QACLC,WAAU;QACVC,SAAQ;QACRC,OAAM;;0BAEN,KAACC;gBAAKC,GAAE;gBAAgBL,MAAK;;0BAC7B,KAACI;gBACCL,WAAU;gBACVM,GAAE;;;OAGP"}
|
package/dist/field/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui'\nimport React, { Suspense, lazy, useEffect, useState } from 'react'\n\nimport type { RichTextPlugin } from '../types.js'\nimport type { EnabledFeatures } from './types.js'\n\nimport { createFeatureMap } from './createFeatureMap.js'\n\nconst RichTextEditor = lazy(() =>\n import('./RichText.js').then((module) => ({\n default: module.RichText,\n })),\n)\n\nexport const RichTextField: React.FC<\n FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n> = (props) => {\n const { richTextComponentMap } = props\n\n const { schemaPath } = useFieldProps()\n const clientFunctions = useClientFunctions()\n const [hasLoadedPlugins, setHasLoadedPlugins] = useState(false)\n\n const [features] = useState<EnabledFeatures>(() => {\n return createFeatureMap(richTextComponentMap)\n })\n\n const [plugins, setPlugins] = useState<RichTextPlugin[]>([])\n\n useEffect(() => {\n if (!hasLoadedPlugins) {\n const plugins: RichTextPlugin[] = []\n\n Object.entries(clientFunctions).forEach(([key, plugin]) => {\n if (key.startsWith(`slatePlugin.${schemaPath}.`)) {\n plugins.push(plugin)\n }\n })\n\n if (plugins.length === features.plugins.length) {\n setPlugins(plugins)\n setHasLoadedPlugins(true)\n }\n }\n }, [hasLoadedPlugins, clientFunctions, schemaPath, features.plugins.length])\n\n if (!hasLoadedPlugins) {\n return (\n <React.Fragment>\n {Array.isArray(features.plugins) &&\n features.plugins.map((Plugin, i) => {\n return <React.Fragment key={i}>{Plugin}</React.Fragment>\n })}\n </React.Fragment>\n )\n }\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n <RichTextEditor\n {...props}\n elements={features.elements}\n leaves={features.leaves}\n plugins={plugins}\n />\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useClientFunctions","useFieldProps","React","Suspense","lazy","useEffect","useState","createFeatureMap","RichTextEditor","then","module","default","RichText","RichTextField","props","richTextComponentMap","schemaPath","clientFunctions","hasLoadedPlugins","setHasLoadedPlugins","features","plugins","setPlugins","Object","entries","forEach","key","plugin","startsWith","push","length","Fragment","Array","isArray","map","Plugin","i","fallback","height","elements","leaves"],"
|
|
1
|
+
{"version":3,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui'\nimport React, { Suspense, lazy, useEffect, useState } from 'react'\n\nimport type { RichTextPlugin } from '../types.js'\nimport type { EnabledFeatures } from './types.js'\n\nimport { createFeatureMap } from './createFeatureMap.js'\n\nconst RichTextEditor = lazy(() =>\n import('./RichText.js').then((module) => ({\n default: module.RichText,\n })),\n)\n\nexport const RichTextField: React.FC<\n FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n> = (props) => {\n const { richTextComponentMap } = props\n\n const { schemaPath } = useFieldProps()\n const clientFunctions = useClientFunctions()\n const [hasLoadedPlugins, setHasLoadedPlugins] = useState(false)\n\n const [features] = useState<EnabledFeatures>(() => {\n return createFeatureMap(richTextComponentMap)\n })\n\n const [plugins, setPlugins] = useState<RichTextPlugin[]>([])\n\n useEffect(() => {\n if (!hasLoadedPlugins) {\n const plugins: RichTextPlugin[] = []\n\n Object.entries(clientFunctions).forEach(([key, plugin]) => {\n if (key.startsWith(`slatePlugin.${schemaPath}.`)) {\n plugins.push(plugin)\n }\n })\n\n if (plugins.length === features.plugins.length) {\n setPlugins(plugins)\n setHasLoadedPlugins(true)\n }\n }\n }, [hasLoadedPlugins, clientFunctions, schemaPath, features.plugins.length])\n\n if (!hasLoadedPlugins) {\n return (\n <React.Fragment>\n {Array.isArray(features.plugins) &&\n features.plugins.map((Plugin, i) => {\n return <React.Fragment key={i}>{Plugin}</React.Fragment>\n })}\n </React.Fragment>\n )\n }\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n <RichTextEditor\n {...props}\n elements={features.elements}\n leaves={features.leaves}\n plugins={plugins}\n />\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useClientFunctions","useFieldProps","React","Suspense","lazy","useEffect","useState","createFeatureMap","RichTextEditor","then","module","default","RichText","RichTextField","props","richTextComponentMap","schemaPath","clientFunctions","hasLoadedPlugins","setHasLoadedPlugins","features","plugins","setPlugins","Object","entries","forEach","key","plugin","startsWith","push","length","Fragment","Array","isArray","map","Plugin","i","fallback","height","elements","leaves"],"mappings":"AAAA;;AAIA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,aAAa,QAAQ,iBAAgB;AACjF,OAAOC,SAASC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAKlE,SAASC,gBAAgB,QAAQ,wBAAuB;AAExD,MAAMC,+BAAiBJ,KAAK,IAC1B,MAAM,CAAC,iBAAiBK,IAAI,CAAC,CAACC,SAAY,CAAA;YACxCC,SAASD,OAAOE,QAAQ;QAC1B,CAAA;AAGF,OAAO,MAAMC,gBAKT,CAACC;IACH,MAAM,EAAEC,oBAAoB,EAAE,GAAGD;IAEjC,MAAM,EAAEE,UAAU,EAAE,GAAGf;IACvB,MAAMgB,kBAAkBjB;IACxB,MAAM,CAACkB,kBAAkBC,oBAAoB,GAAGb,SAAS;IAEzD,MAAM,CAACc,SAAS,GAAGd,SAA0B;QAC3C,OAAOC,iBAAiBQ;IAC1B;IAEA,MAAM,CAACM,SAASC,WAAW,GAAGhB,SAA2B,EAAE;IAE3DD,UAAU;QACR,IAAI,CAACa,kBAAkB;YACrB,MAAMG,UAA4B,EAAE;YAEpCE,OAAOC,OAAO,CAACP,iBAAiBQ,OAAO,CAAC,CAAC,CAACC,KAAKC,OAAO;gBACpD,IAAID,IAAIE,UAAU,CAAC,CAAC,YAAY,EAAEZ,WAAW,CAAC,CAAC,GAAG;oBAChDK,QAAQQ,IAAI,CAACF;gBACf;YACF;YAEA,IAAIN,QAAQS,MAAM,KAAKV,SAASC,OAAO,CAACS,MAAM,EAAE;gBAC9CR,WAAWD;gBACXF,oBAAoB;YACtB;QACF;IACF,GAAG;QAACD;QAAkBD;QAAiBD;QAAYI,SAASC,OAAO,CAACS,MAAM;KAAC;IAE3E,IAAI,CAACZ,kBAAkB;QACrB,qBACE,KAAChB,MAAM6B,QAAQ;sBACZC,MAAMC,OAAO,CAACb,SAASC,OAAO,KAC7BD,SAASC,OAAO,CAACa,GAAG,CAAC,CAACC,QAAQC;gBAC5B,qBAAO,KAAClC,MAAM6B,QAAQ;8BAAUI;mBAAJC;YAC9B;;IAGR;IAEA,qBACE,KAACjC;QAASkC,wBAAU,KAACtC;YAAcuC,QAAO;;kBACxC,cAAA,KAAC9B;YACE,GAAGM,KAAK;YACTyB,UAAUnB,SAASmB,QAAQ;YAC3BC,QAAQpB,SAASoB,MAAM;YACvBnB,SAASA;;;AAIjB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/leaves/Button.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { useSlate } from 'slate-react'\n\nimport '../buttons.scss'\nimport { isLeafActive } from './isActive.js'\nimport { toggleLeaf } from './toggle.js'\n\nconst baseClass = 'rich-text__button'\n\nexport const LeafButton = ({ children, format }) => {\n const editor = useSlate()\n\n return (\n <button\n className={[baseClass, isLeafActive(editor, format) && `${baseClass}__button--active`]\n .filter(Boolean)\n .join(' ')}\n onMouseDown={(event) => {\n event.preventDefault()\n toggleLeaf(editor, format)\n }}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"names":["React","useSlate","isLeafActive","toggleLeaf","baseClass","LeafButton","children","format","editor","button","className","filter","Boolean","join","onMouseDown","event","preventDefault","type"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/leaves/Button.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { useSlate } from 'slate-react'\n\nimport '../buttons.scss'\nimport { isLeafActive } from './isActive.js'\nimport { toggleLeaf } from './toggle.js'\n\nconst baseClass = 'rich-text__button'\n\nexport const LeafButton = ({ children, format }) => {\n const editor = useSlate()\n\n return (\n <button\n className={[baseClass, isLeafActive(editor, format) && `${baseClass}__button--active`]\n .filter(Boolean)\n .join(' ')}\n onMouseDown={(event) => {\n event.preventDefault()\n toggleLeaf(editor, format)\n }}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"names":["React","useSlate","isLeafActive","toggleLeaf","baseClass","LeafButton","children","format","editor","button","className","filter","Boolean","join","onMouseDown","event","preventDefault","type"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AACzB,SAASC,QAAQ,QAAQ,cAAa;AAEtC,OAAO,kBAAiB;AACxB,SAASC,YAAY,QAAQ,gBAAe;AAC5C,SAASC,UAAU,QAAQ,cAAa;AAExC,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAAa,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAE;IAC7C,MAAMC,SAASP;IAEf,qBACE,KAACQ;QACCC,WAAW;YAACN;YAAWF,aAAaM,QAAQD,WAAW,CAAC,EAAEH,UAAU,gBAAgB,CAAC;SAAC,CACnFO,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,aAAa,CAACC;YACZA,MAAMC,cAAc;YACpBb,WAAWK,QAAQD;QACrB;QACAU,MAAK;kBAEJX;;AAGP,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/leaves/bold/Bold/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Bold = () => {\n const { attributes, children } = useLeaf()\n return <strong {...attributes}>{children}</strong>\n}\n"],"names":["React","useLeaf","Bold","attributes","children","strong"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/leaves/bold/Bold/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Bold = () => {\n const { attributes, children } = useLeaf()\n return <strong {...attributes}>{children}</strong>\n}\n"],"names":["React","useLeaf","Bold","attributes","children","strong"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,qCAAoC;AAE5D,OAAO,MAAMC,OAAO;IAClB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IACjC,qBAAO,KAACI;QAAQ,GAAGF,UAAU;kBAAGC;;AAClC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/field/leaves/bold/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { BoldIcon } from '../../icons/Bold/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Bold } from './Bold/index.js'\n\nexport const bold: RichTextCustomLeaf = {\n name: 'bold',\n Button: () => (\n <LeafButton format=\"bold\">\n <BoldIcon />\n </LeafButton>\n ),\n Leaf: Bold,\n}\n"],"names":["React","BoldIcon","LeafButton","Bold","bold","name","Button","format","Leaf"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/leaves/bold/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { BoldIcon } from '../../icons/Bold/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Bold } from './Bold/index.js'\n\nexport const bold: RichTextCustomLeaf = {\n name: 'bold',\n Button: () => (\n <LeafButton format=\"bold\">\n <BoldIcon />\n </LeafButton>\n ),\n Leaf: Bold,\n}\n"],"names":["React","BoldIcon","LeafButton","Bold","bold","name","Button","format","Leaf"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,IAAI,QAAQ,kBAAiB;AAEtC,OAAO,MAAMC,OAA2B;IACtCC,MAAM;IACNC,QAAQ,kBACN,KAACJ;YAAWK,QAAO;sBACjB,cAAA,KAACN;;IAGLO,MAAML;AACR,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/leaves/code/Code/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Code = () => {\n const { attributes, children } = useLeaf()\n return <code {...attributes}>{children}</code>\n}\n"],"names":["React","useLeaf","Code","attributes","children","code"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/leaves/code/Code/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Code = () => {\n const { attributes, children } = useLeaf()\n return <code {...attributes}>{children}</code>\n}\n"],"names":["React","useLeaf","Code","attributes","children","code"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,qCAAoC;AAE5D,OAAO,MAAMC,OAAO;IAClB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IACjC,qBAAO,KAACI;QAAM,GAAGF,UAAU;kBAAGC;;AAChC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/field/leaves/code/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { CodeIcon } from '../../icons/Code/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Code } from './Code/index.js'\n\nexport const code: RichTextCustomLeaf = {\n name: 'code',\n Button: () => (\n <LeafButton format=\"code\">\n <CodeIcon />\n </LeafButton>\n ),\n Leaf: Code,\n}\n"],"names":["React","CodeIcon","LeafButton","Code","code","name","Button","format","Leaf"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/leaves/code/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { CodeIcon } from '../../icons/Code/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Code } from './Code/index.js'\n\nexport const code: RichTextCustomLeaf = {\n name: 'code',\n Button: () => (\n <LeafButton format=\"code\">\n <CodeIcon />\n </LeafButton>\n ),\n Leaf: Code,\n}\n"],"names":["React","CodeIcon","LeafButton","Code","code","name","Button","format","Leaf"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,IAAI,QAAQ,kBAAiB;AAEtC,OAAO,MAAMC,OAA2B;IACtCC,MAAM;IACNC,QAAQ,kBACN,KAACJ;YAAWK,QAAO;sBACjB,cAAA,KAACN;;IAGLO,MAAML;AACR,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/leaves/index.tsx"],"sourcesContent":["import type { RichTextCustomLeaf } from '../../types.js'\n\nimport { bold } from './bold/index.js'\nimport { code } from './code/index.js'\nimport { italic } from './italic/index.js'\nimport { strikethrough } from './strikethrough/index.js'\nimport { underline } from './underline/index.js'\n\nexport const defaultLeaves: Record<string, RichTextCustomLeaf> = {\n bold,\n code,\n italic,\n strikethrough,\n underline,\n}\n"],"names":["bold","code","italic","strikethrough","underline","defaultLeaves"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/leaves/index.tsx"],"sourcesContent":["import type { RichTextCustomLeaf } from '../../types.js'\n\nimport { bold } from './bold/index.js'\nimport { code } from './code/index.js'\nimport { italic } from './italic/index.js'\nimport { strikethrough } from './strikethrough/index.js'\nimport { underline } from './underline/index.js'\n\nexport const defaultLeaves: Record<string, RichTextCustomLeaf> = {\n bold,\n code,\n italic,\n strikethrough,\n underline,\n}\n"],"names":["bold","code","italic","strikethrough","underline","defaultLeaves"],"mappings":"AAEA,SAASA,IAAI,QAAQ,kBAAiB;AACtC,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,aAAa,QAAQ,2BAA0B;AACxD,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,MAAMC,gBAAoD;IAC/DL;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/leaves/isActive.tsx"],"sourcesContent":["import { Editor } from 'slate'\n\nexport const isLeafActive = (editor, format) => {\n const leaves = Editor.marks(editor)\n return leaves ? leaves[format] === true : false\n}\n"],"names":["Editor","isLeafActive","editor","format","leaves","marks"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/leaves/isActive.tsx"],"sourcesContent":["import { Editor } from 'slate'\n\nexport const isLeafActive = (editor, format) => {\n const leaves = Editor.marks(editor)\n return leaves ? leaves[format] === true : false\n}\n"],"names":["Editor","isLeafActive","editor","format","leaves","marks"],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAO;AAE9B,OAAO,MAAMC,eAAe,CAACC,QAAQC;IACnC,MAAMC,SAASJ,OAAOK,KAAK,CAACH;IAC5B,OAAOE,SAASA,MAAM,CAACD,OAAO,KAAK,OAAO;AAC5C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/leaves/italic/Italic/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Italic = () => {\n const { attributes, children } = useLeaf()\n return <em {...attributes}>{children}</em>\n}\n"],"names":["React","useLeaf","Italic","attributes","children","em"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/leaves/italic/Italic/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Italic = () => {\n const { attributes, children } = useLeaf()\n return <em {...attributes}>{children}</em>\n}\n"],"names":["React","useLeaf","Italic","attributes","children","em"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,qCAAoC;AAE5D,OAAO,MAAMC,SAAS;IACpB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IACjC,qBAAO,KAACI;QAAI,GAAGF,UAAU;kBAAGC;;AAC9B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/field/leaves/italic/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { ItalicIcon } from '../../icons/Italic/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Italic } from './Italic/index.js'\n\nexport const italic: RichTextCustomLeaf = {\n name: 'italic',\n Button: () => (\n <LeafButton format=\"italic\">\n <ItalicIcon />\n </LeafButton>\n ),\n Leaf: Italic,\n}\n"],"names":["React","ItalicIcon","LeafButton","Italic","italic","name","Button","format","Leaf"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/leaves/italic/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { ItalicIcon } from '../../icons/Italic/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Italic } from './Italic/index.js'\n\nexport const italic: RichTextCustomLeaf = {\n name: 'italic',\n Button: () => (\n <LeafButton format=\"italic\">\n <ItalicIcon />\n </LeafButton>\n ),\n Leaf: Italic,\n}\n"],"names":["React","ItalicIcon","LeafButton","Italic","italic","name","Button","format","Leaf"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,MAAM,QAAQ,oBAAmB;AAE1C,OAAO,MAAMC,SAA6B;IACxCC,MAAM;IACNC,QAAQ,kBACN,KAACJ;YAAWK,QAAO;sBACjB,cAAA,KAACN;;IAGLO,MAAML;AACR,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/leaves/strikethrough/Strikethrough/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Strikethrough = () => {\n const { attributes, children } = useLeaf()\n return <del {...attributes}>{children}</del>\n}\n"],"names":["React","useLeaf","Strikethrough","attributes","children","del"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/leaves/strikethrough/Strikethrough/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Strikethrough = () => {\n const { attributes, children } = useLeaf()\n return <del {...attributes}>{children}</del>\n}\n"],"names":["React","useLeaf","Strikethrough","attributes","children","del"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,qCAAoC;AAE5D,OAAO,MAAMC,gBAAgB;IAC3B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IACjC,qBAAO,KAACI;QAAK,GAAGF,UAAU;kBAAGC;;AAC/B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/field/leaves/strikethrough/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { StrikethroughIcon } from '../../icons/Strikethrough/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Strikethrough } from './Strikethrough/index.js'\n\nexport const strikethrough: RichTextCustomLeaf = {\n name: 'strikethrough',\n Button: () => (\n <LeafButton format=\"strikethrough\">\n <StrikethroughIcon />\n </LeafButton>\n ),\n Leaf: Strikethrough,\n}\n"],"names":["React","StrikethroughIcon","LeafButton","Strikethrough","strikethrough","name","Button","format","Leaf"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/leaves/strikethrough/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { StrikethroughIcon } from '../../icons/Strikethrough/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Strikethrough } from './Strikethrough/index.js'\n\nexport const strikethrough: RichTextCustomLeaf = {\n name: 'strikethrough',\n Button: () => (\n <LeafButton format=\"strikethrough\">\n <StrikethroughIcon />\n </LeafButton>\n ),\n Leaf: Strikethrough,\n}\n"],"names":["React","StrikethroughIcon","LeafButton","Strikethrough","strikethrough","name","Button","format","Leaf"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,aAAa,QAAQ,2BAA0B;AAExD,OAAO,MAAMC,gBAAoC;IAC/CC,MAAM;IACNC,QAAQ,kBACN,KAACJ;YAAWK,QAAO;sBACjB,cAAA,KAACN;;IAGLO,MAAML;AACR,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/leaves/toggle.tsx"],"sourcesContent":["import { Editor } from 'slate'\n\nimport { isLeafActive } from './isActive.js'\n\nexport const toggleLeaf = (editor, format) => {\n const isActive = isLeafActive(editor, format)\n\n if (isActive) {\n Editor.removeMark(editor, format)\n } else {\n Editor.addMark(editor, format, true)\n }\n}\n"],"names":["Editor","isLeafActive","toggleLeaf","editor","format","isActive","removeMark","addMark"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/leaves/toggle.tsx"],"sourcesContent":["import { Editor } from 'slate'\n\nimport { isLeafActive } from './isActive.js'\n\nexport const toggleLeaf = (editor, format) => {\n const isActive = isLeafActive(editor, format)\n\n if (isActive) {\n Editor.removeMark(editor, format)\n } else {\n Editor.addMark(editor, format, true)\n }\n}\n"],"names":["Editor","isLeafActive","toggleLeaf","editor","format","isActive","removeMark","addMark"],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAO;AAE9B,SAASC,YAAY,QAAQ,gBAAe;AAE5C,OAAO,MAAMC,aAAa,CAACC,QAAQC;IACjC,MAAMC,WAAWJ,aAAaE,QAAQC;IAEtC,IAAIC,UAAU;QACZL,OAAOM,UAAU,CAACH,QAAQC;IAC5B,OAAO;QACLJ,OAAOO,OAAO,CAACJ,QAAQC,QAAQ;IACjC;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/field/leaves/underline/Underline/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Underline = () => {\n const { attributes, children } = useLeaf()\n return <u {...attributes}>{children}</u>\n}\n"],"names":["React","useLeaf","Underline","attributes","children","u"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/leaves/underline/Underline/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLeaf } from '../../../providers/LeafProvider.js'\n\nexport const Underline = () => {\n const { attributes, children } = useLeaf()\n return <u {...attributes}>{children}</u>\n}\n"],"names":["React","useLeaf","Underline","attributes","children","u"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,qCAAoC;AAE5D,OAAO,MAAMC,YAAY;IACvB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IACjC,qBAAO,KAACI;QAAG,GAAGF,UAAU;kBAAGC;;AAC7B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/field/leaves/underline/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { UnderlineIcon } from '../../icons/Underline/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Underline } from './Underline/index.js'\n\nexport const underline: RichTextCustomLeaf = {\n name: 'underline',\n Button: () => (\n <LeafButton format=\"underline\">\n <UnderlineIcon />\n </LeafButton>\n ),\n Leaf: Underline,\n}\n"],"names":["React","UnderlineIcon","LeafButton","Underline","underline","name","Button","format","Leaf"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/leaves/underline/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomLeaf } from '../../../types.js'\n\nimport { UnderlineIcon } from '../../icons/Underline/index.js'\nimport { LeafButton } from '../Button.js'\nimport { Underline } from './Underline/index.js'\n\nexport const underline: RichTextCustomLeaf = {\n name: 'underline',\n Button: () => (\n <LeafButton format=\"underline\">\n <UnderlineIcon />\n </LeafButton>\n ),\n Leaf: Underline,\n}\n"],"names":["React","UnderlineIcon","LeafButton","Underline","underline","name","Button","format","Leaf"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,OAAO,MAAMC,YAAgC;IAC3CC,MAAM;IACNC,QAAQ,kBACN,KAACJ;YAAWK,QAAO;sBACjB,cAAA,KAACN;;IAGLO,MAAML;AACR,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/field/mergeCustomFunctions.tsx"],"sourcesContent":["export default (enabledFunctions, builtInFunctions) => {\n const formattedEnabledFunctions = [...enabledFunctions]\n\n if (enabledFunctions.indexOf('ul') > -1 || enabledFunctions.indexOf('ol') > -1) {\n formattedEnabledFunctions.push('li')\n }\n\n return formattedEnabledFunctions.reduce((resultingFunctions, func) => {\n if (typeof func === 'object' && func.name) {\n return {\n ...resultingFunctions,\n [func.name]: func,\n }\n }\n\n if (typeof func === 'string' && builtInFunctions[func]) {\n return {\n ...resultingFunctions,\n [func]: builtInFunctions[func],\n }\n }\n\n return resultingFunctions\n }, {})\n}\n"],"names":["enabledFunctions","builtInFunctions","formattedEnabledFunctions","indexOf","push","reduce","resultingFunctions","func","name"],"
|
|
1
|
+
{"version":3,"sources":["../../src/field/mergeCustomFunctions.tsx"],"sourcesContent":["export default (enabledFunctions, builtInFunctions) => {\n const formattedEnabledFunctions = [...enabledFunctions]\n\n if (enabledFunctions.indexOf('ul') > -1 || enabledFunctions.indexOf('ol') > -1) {\n formattedEnabledFunctions.push('li')\n }\n\n return formattedEnabledFunctions.reduce((resultingFunctions, func) => {\n if (typeof func === 'object' && func.name) {\n return {\n ...resultingFunctions,\n [func.name]: func,\n }\n }\n\n if (typeof func === 'string' && builtInFunctions[func]) {\n return {\n ...resultingFunctions,\n [func]: builtInFunctions[func],\n }\n }\n\n return resultingFunctions\n }, {})\n}\n"],"names":["enabledFunctions","builtInFunctions","formattedEnabledFunctions","indexOf","push","reduce","resultingFunctions","func","name"],"mappings":"AAAA,eAAe,CAAA,CAACA,kBAAkBC;IAChC,MAAMC,4BAA4B;WAAIF;KAAiB;IAEvD,IAAIA,iBAAiBG,OAAO,CAAC,QAAQ,CAAC,KAAKH,iBAAiBG,OAAO,CAAC,QAAQ,CAAC,GAAG;QAC9ED,0BAA0BE,IAAI,CAAC;IACjC;IAEA,OAAOF,0BAA0BG,MAAM,CAAC,CAACC,oBAAoBC;QAC3D,IAAI,OAAOA,SAAS,YAAYA,KAAKC,IAAI,EAAE;YACzC,OAAO;gBACL,GAAGF,kBAAkB;gBACrB,CAACC,KAAKC,IAAI,CAAC,EAAED;YACf;QACF;QAEA,IAAI,OAAOA,SAAS,YAAYN,gBAAgB,CAACM,KAAK,EAAE;YACtD,OAAO;gBACL,GAAGD,kBAAkB;gBACrB,CAACC,KAAK,EAAEN,gBAAgB,CAACM,KAAK;YAChC;QACF;QAEA,OAAOD;IACT,GAAG,CAAC;AACN,CAAA,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/plugins/withEnterBreakOut.ts"],"sourcesContent":["const enterBreakOutTypes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'link']\n\nexport const withEnterBreakOut = (editor) => {\n const newEditor = editor\n newEditor.shouldBreakOutOnEnter = (element) => enterBreakOutTypes.includes(String(element.type))\n return newEditor\n}\n"],"names":["enterBreakOutTypes","withEnterBreakOut","editor","newEditor","shouldBreakOutOnEnter","element","includes","String","type"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/plugins/withEnterBreakOut.ts"],"sourcesContent":["const enterBreakOutTypes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'link']\n\nexport const withEnterBreakOut = (editor) => {\n const newEditor = editor\n newEditor.shouldBreakOutOnEnter = (element) => enterBreakOutTypes.includes(String(element.type))\n return newEditor\n}\n"],"names":["enterBreakOutTypes","withEnterBreakOut","editor","newEditor","shouldBreakOutOnEnter","element","includes","String","type"],"mappings":"AAAA,MAAMA,qBAAqB;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;CAAO;AAEvE,OAAO,MAAMC,oBAAoB,CAACC;IAChC,MAAMC,YAAYD;IAClBC,UAAUC,qBAAqB,GAAG,CAACC,UAAYL,mBAAmBM,QAAQ,CAACC,OAAOF,QAAQG,IAAI;IAC9F,OAAOL;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/plugins/withHTML.tsx"],"sourcesContent":["import { Transforms } from 'slate'\nimport { jsx } from 'slate-hyperscript'\n\nconst ELEMENT_TAGS = {\n A: (el) => ({\n type: 'link',\n newTab: el.getAttribute('target') === '_blank',\n url: el.getAttribute('href'),\n }),\n BLOCKQUOTE: () => ({ type: 'blockquote' }),\n H1: () => ({ type: 'h1' }),\n H2: () => ({ type: 'h2' }),\n H3: () => ({ type: 'h3' }),\n H4: () => ({ type: 'h4' }),\n H5: () => ({ type: 'h5' }),\n H6: () => ({ type: 'h6' }),\n LI: () => ({ type: 'li' }),\n OL: () => ({ type: 'ol' }),\n P: () => ({}),\n PRE: () => ({ type: 'code' }),\n UL: () => ({ type: 'ul' }),\n}\n\nconst TEXT_TAGS = {\n CODE: () => ({ code: true }),\n DEL: () => ({ strikethrough: true }),\n EM: () => ({ italic: true }),\n I: () => ({ italic: true }),\n S: () => ({ strikethrough: true }),\n STRONG: () => ({ bold: true }),\n U: () => ({ underline: true }),\n}\n\nconst deserialize = (el) => {\n if (el.nodeType === 3) {\n return el.textContent\n }\n if (el.nodeType !== 1) {\n return null\n }\n if (el.nodeName === 'BR') {\n return '\\n'\n }\n\n const { nodeName } = el\n let parent = el\n\n if (nodeName === 'PRE' && el.childNodes[0] && el.childNodes[0].nodeName === 'CODE') {\n ;[parent] = el.childNodes\n }\n\n let children = Array.from(parent.childNodes).map(deserialize).flat()\n\n if (children.length === 0) {\n children = [{ text: '' }]\n }\n\n if (el.nodeName === 'BODY') {\n return jsx('fragment', {}, children)\n }\n\n if (ELEMENT_TAGS[nodeName]) {\n const attrs = ELEMENT_TAGS[nodeName](el)\n return jsx('element', attrs, children)\n }\n\n if (TEXT_TAGS[nodeName]) {\n const attrs = TEXT_TAGS[nodeName](el)\n return children.map((child) => jsx('text', attrs, child))\n }\n\n return children\n}\n\nexport const withHTML = (incomingEditor) => {\n const { insertData } = incomingEditor\n\n const editor = incomingEditor\n\n editor.insertData = (data) => {\n if (!data.types.includes('application/x-slate-fragment')) {\n const html = data.getData('text/html')\n\n if (html) {\n const parsed = new DOMParser().parseFromString(html, 'text/html')\n const fragment = deserialize(parsed.body)\n Transforms.insertFragment(editor, fragment)\n return\n }\n }\n\n insertData(data)\n }\n\n return editor\n}\n"],"names":["Transforms","jsx","ELEMENT_TAGS","A","el","type","newTab","getAttribute","url","BLOCKQUOTE","H1","H2","H3","H4","H5","H6","LI","OL","P","PRE","UL","TEXT_TAGS","CODE","code","DEL","strikethrough","EM","italic","I","S","STRONG","bold","U","underline","deserialize","nodeType","textContent","nodeName","parent","childNodes","children","Array","from","map","flat","length","text","attrs","child","withHTML","incomingEditor","insertData","editor","data","types","includes","html","getData","parsed","DOMParser","parseFromString","fragment","body","insertFragment"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/plugins/withHTML.tsx"],"sourcesContent":["import { Transforms } from 'slate'\nimport { jsx } from 'slate-hyperscript'\n\nconst ELEMENT_TAGS = {\n A: (el) => ({\n type: 'link',\n newTab: el.getAttribute('target') === '_blank',\n url: el.getAttribute('href'),\n }),\n BLOCKQUOTE: () => ({ type: 'blockquote' }),\n H1: () => ({ type: 'h1' }),\n H2: () => ({ type: 'h2' }),\n H3: () => ({ type: 'h3' }),\n H4: () => ({ type: 'h4' }),\n H5: () => ({ type: 'h5' }),\n H6: () => ({ type: 'h6' }),\n LI: () => ({ type: 'li' }),\n OL: () => ({ type: 'ol' }),\n P: () => ({}),\n PRE: () => ({ type: 'code' }),\n UL: () => ({ type: 'ul' }),\n}\n\nconst TEXT_TAGS = {\n CODE: () => ({ code: true }),\n DEL: () => ({ strikethrough: true }),\n EM: () => ({ italic: true }),\n I: () => ({ italic: true }),\n S: () => ({ strikethrough: true }),\n STRONG: () => ({ bold: true }),\n U: () => ({ underline: true }),\n}\n\nconst deserialize = (el) => {\n if (el.nodeType === 3) {\n return el.textContent\n }\n if (el.nodeType !== 1) {\n return null\n }\n if (el.nodeName === 'BR') {\n return '\\n'\n }\n\n const { nodeName } = el\n let parent = el\n\n if (nodeName === 'PRE' && el.childNodes[0] && el.childNodes[0].nodeName === 'CODE') {\n ;[parent] = el.childNodes\n }\n\n let children = Array.from(parent.childNodes).map(deserialize).flat()\n\n if (children.length === 0) {\n children = [{ text: '' }]\n }\n\n if (el.nodeName === 'BODY') {\n return jsx('fragment', {}, children)\n }\n\n if (ELEMENT_TAGS[nodeName]) {\n const attrs = ELEMENT_TAGS[nodeName](el)\n return jsx('element', attrs, children)\n }\n\n if (TEXT_TAGS[nodeName]) {\n const attrs = TEXT_TAGS[nodeName](el)\n return children.map((child) => jsx('text', attrs, child))\n }\n\n return children\n}\n\nexport const withHTML = (incomingEditor) => {\n const { insertData } = incomingEditor\n\n const editor = incomingEditor\n\n editor.insertData = (data) => {\n if (!data.types.includes('application/x-slate-fragment')) {\n const html = data.getData('text/html')\n\n if (html) {\n const parsed = new DOMParser().parseFromString(html, 'text/html')\n const fragment = deserialize(parsed.body)\n Transforms.insertFragment(editor, fragment)\n return\n }\n }\n\n insertData(data)\n }\n\n return editor\n}\n"],"names":["Transforms","jsx","ELEMENT_TAGS","A","el","type","newTab","getAttribute","url","BLOCKQUOTE","H1","H2","H3","H4","H5","H6","LI","OL","P","PRE","UL","TEXT_TAGS","CODE","code","DEL","strikethrough","EM","italic","I","S","STRONG","bold","U","underline","deserialize","nodeType","textContent","nodeName","parent","childNodes","children","Array","from","map","flat","length","text","attrs","child","withHTML","incomingEditor","insertData","editor","data","types","includes","html","getData","parsed","DOMParser","parseFromString","fragment","body","insertFragment"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/providers/ElementButtonProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype ElementButtonContextType = {\n disabled?: boolean\n fieldProps: FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n path: string\n schemaPath: string\n}\n\nconst ElementButtonContext = React.createContext<ElementButtonContextType>({\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const ElementButtonProvider: React.FC<\n ElementButtonContextType & {\n children: React.ReactNode\n }\n> = (props) => {\n const { children, ...rest } = props\n\n return (\n <ElementButtonContext.Provider\n value={{\n ...rest,\n }}\n >\n {children}\n </ElementButtonContext.Provider>\n )\n}\n\nexport const useElementButton = () => {\n const path = React.useContext(ElementButtonContext)\n return path\n}\n"],"names":["React","ElementButtonContext","createContext","fieldProps","path","schemaPath","ElementButtonProvider","props","children","rest","Provider","value","useElementButton","useContext"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/providers/ElementButtonProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype ElementButtonContextType = {\n disabled?: boolean\n fieldProps: FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n path: string\n schemaPath: string\n}\n\nconst ElementButtonContext = React.createContext<ElementButtonContextType>({\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const ElementButtonProvider: React.FC<\n ElementButtonContextType & {\n children: React.ReactNode\n }\n> = (props) => {\n const { children, ...rest } = props\n\n return (\n <ElementButtonContext.Provider\n value={{\n ...rest,\n }}\n >\n {children}\n </ElementButtonContext.Provider>\n )\n}\n\nexport const useElementButton = () => {\n const path = React.useContext(ElementButtonContext)\n return path\n}\n"],"names":["React","ElementButtonContext","createContext","fieldProps","path","schemaPath","ElementButtonProvider","props","children","rest","Provider","value","useElementButton","useContext"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAYzB,MAAMC,qCAAuBD,MAAME,aAAa,CAA2B;IACzEC,YAAY,CAAC;IACbC,MAAM;IACNC,YAAY;AACd;AAEA,OAAO,MAAMC,wBAIT,CAACC;IACH,MAAM,EAAEC,QAAQ,EAAE,GAAGC,MAAM,GAAGF;IAE9B,qBACE,KAACN,qBAAqBS,QAAQ;QAC5BC,OAAO;YACL,GAAGF,IAAI;QACT;kBAECD;;AAGP,EAAC;AAED,OAAO,MAAMI,mBAAmB;IAC9B,MAAMR,OAAOJ,MAAMa,UAAU,CAACZ;IAC9B,OAAOG;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementProvider.d.ts","sourceRoot":"","sources":["../../../src/field/providers/ElementProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEpC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACjD,OAAO,EAAE,CAAC,CAAA;IACV,UAAU,EAAE,aAAa,GAAG;QAC1B,IAAI,EAAE,MAAM,CAAA;QACZ,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACnD,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CACpC,kBAAkB,CAAC,OAAO,CAAC,GAAG;IAC5B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAcF,CAAA;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ElementProvider.d.ts","sourceRoot":"","sources":["../../../src/field/providers/ElementProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEpC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACjD,OAAO,EAAE,CAAC,CAAA;IACV,UAAU,EAAE,aAAa,GAAG;QAC1B,IAAI,EAAE,MAAM,CAAA;QACZ,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACnD,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CACpC,kBAAkB,CAAC,OAAO,CAAC,GAAG;IAC5B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAcF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,OAAM,kBAAkB,CAAC,CAAC,CAErD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/providers/ElementProvider.tsx"],"sourcesContent":["'use client'\nimport type { FormFieldBase } from '@payloadcms/ui'\nimport type { Element } from 'slate'\n\nimport React from 'react'\n\ntype ElementContextType<T> = {\n attributes: Record<string, unknown>\n children: React.ReactNode\n editorRef: React.MutableRefObject<HTMLDivElement>\n element: T\n fieldProps: FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n path: string\n schemaPath: string\n}\n\nconst ElementContext = React.createContext<ElementContextType<Element>>({\n attributes: {},\n children: null,\n editorRef: null,\n element: {} as Element,\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const ElementProvider: React.FC<\n ElementContextType<Element> & {\n childNodes: React.ReactNode\n }\n> = (props) => {\n const { childNodes, children, ...rest } = props\n\n return (\n <ElementContext.Provider\n value={{\n ...rest,\n children: childNodes,\n }}\n >\n {children}\n </ElementContext.Provider>\n )\n}\n\nexport const useElement = <T,>(): ElementContextType<T> => {\n return React.useContext(ElementContext) as ElementContextType<T>\n}\n"],"names":["React","ElementContext","createContext","attributes","children","editorRef","element","fieldProps","path","schemaPath","ElementProvider","props","childNodes","rest","Provider","value","useElement","useContext"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/providers/ElementProvider.tsx"],"sourcesContent":["'use client'\nimport type { FormFieldBase } from '@payloadcms/ui'\nimport type { Element } from 'slate'\n\nimport React from 'react'\n\ntype ElementContextType<T> = {\n attributes: Record<string, unknown>\n children: React.ReactNode\n editorRef: React.MutableRefObject<HTMLDivElement>\n element: T\n fieldProps: FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n path: string\n schemaPath: string\n}\n\nconst ElementContext = React.createContext<ElementContextType<Element>>({\n attributes: {},\n children: null,\n editorRef: null,\n element: {} as Element,\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const ElementProvider: React.FC<\n ElementContextType<Element> & {\n childNodes: React.ReactNode\n }\n> = (props) => {\n const { childNodes, children, ...rest } = props\n\n return (\n <ElementContext.Provider\n value={{\n ...rest,\n children: childNodes,\n }}\n >\n {children}\n </ElementContext.Provider>\n )\n}\n\nexport const useElement = <T,>(): ElementContextType<T> => {\n return React.useContext(ElementContext) as ElementContextType<T>\n}\n"],"names":["React","ElementContext","createContext","attributes","children","editorRef","element","fieldProps","path","schemaPath","ElementProvider","props","childNodes","rest","Provider","value","useElement","useContext"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAezB,MAAMC,+BAAiBD,MAAME,aAAa,CAA8B;IACtEC,YAAY,CAAC;IACbC,UAAU;IACVC,WAAW;IACXC,SAAS,CAAC;IACVC,YAAY,CAAC;IACbC,MAAM;IACNC,YAAY;AACd;AAEA,OAAO,MAAMC,kBAIT,CAACC;IACH,MAAM,EAAEC,UAAU,EAAER,QAAQ,EAAE,GAAGS,MAAM,GAAGF;IAE1C,qBACE,KAACV,eAAea,QAAQ;QACtBC,OAAO;YACL,GAAGF,IAAI;YACPT,UAAUQ;QACZ;kBAECR;;AAGP,EAAC;AAED,OAAO,MAAMY,aAAa;IACxB,OAAOhB,MAAMiB,UAAU,CAAChB;AAC1B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/providers/LeafButtonProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype LeafButtonContextType = {\n fieldProps: FormFieldBase & {\n name: string\n }\n path: string\n schemaPath: string\n}\n\nconst LeafButtonContext = React.createContext<LeafButtonContextType>({\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const LeafButtonProvider: React.FC<\n LeafButtonContextType & {\n children: React.ReactNode\n }\n> = (props) => {\n const { children, ...rest } = props\n\n return (\n <LeafButtonContext.Provider\n value={{\n ...rest,\n }}\n >\n {children}\n </LeafButtonContext.Provider>\n )\n}\n\nexport const useLeafButton = () => {\n const path = React.useContext(LeafButtonContext)\n return path\n}\n"],"names":["React","LeafButtonContext","createContext","fieldProps","path","schemaPath","LeafButtonProvider","props","children","rest","Provider","value","useLeafButton","useContext"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/providers/LeafButtonProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype LeafButtonContextType = {\n fieldProps: FormFieldBase & {\n name: string\n }\n path: string\n schemaPath: string\n}\n\nconst LeafButtonContext = React.createContext<LeafButtonContextType>({\n fieldProps: {} as any,\n path: '',\n schemaPath: '',\n})\n\nexport const LeafButtonProvider: React.FC<\n LeafButtonContextType & {\n children: React.ReactNode\n }\n> = (props) => {\n const { children, ...rest } = props\n\n return (\n <LeafButtonContext.Provider\n value={{\n ...rest,\n }}\n >\n {children}\n </LeafButtonContext.Provider>\n )\n}\n\nexport const useLeafButton = () => {\n const path = React.useContext(LeafButtonContext)\n return path\n}\n"],"names":["React","LeafButtonContext","createContext","fieldProps","path","schemaPath","LeafButtonProvider","props","children","rest","Provider","value","useLeafButton","useContext"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAUzB,MAAMC,kCAAoBD,MAAME,aAAa,CAAwB;IACnEC,YAAY,CAAC;IACbC,MAAM;IACNC,YAAY;AACd;AAEA,OAAO,MAAMC,qBAIT,CAACC;IACH,MAAM,EAAEC,QAAQ,EAAE,GAAGC,MAAM,GAAGF;IAE9B,qBACE,KAACN,kBAAkBS,QAAQ;QACzBC,OAAO;YACL,GAAGF,IAAI;QACT;kBAECD;;AAGP,EAAC;AAED,OAAO,MAAMI,gBAAgB;IAC3B,MAAMR,OAAOJ,MAAMa,UAAU,CAACZ;IAC9B,OAAOG;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/providers/LeafProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype LeafContextType = {\n attributes: Record<string, unknown>\n children: React.ReactNode\n editorRef: React.MutableRefObject<HTMLDivElement>\n fieldProps: FormFieldBase & {\n name: string\n }\n leaf: string\n path: string\n schemaPath: string\n}\n\nconst LeafContext = React.createContext<LeafContextType>({\n attributes: {},\n children: null,\n editorRef: null,\n fieldProps: {} as any,\n leaf: '',\n path: '',\n schemaPath: '',\n})\n\nexport const LeafProvider: React.FC<\n LeafContextType & {\n result: React.ReactNode\n }\n> = (props) => {\n const { children, result, ...rest } = props\n\n return (\n <LeafContext.Provider\n value={{\n ...rest,\n children: result,\n }}\n >\n {children}\n </LeafContext.Provider>\n )\n}\n\nexport const useLeaf = () => {\n const path = React.useContext(LeafContext)\n return path\n}\n"],"names":["React","LeafContext","createContext","attributes","children","editorRef","fieldProps","leaf","path","schemaPath","LeafProvider","props","result","rest","Provider","value","useLeaf","useContext"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/field/providers/LeafProvider.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui'\n\nimport React from 'react'\n\ntype LeafContextType = {\n attributes: Record<string, unknown>\n children: React.ReactNode\n editorRef: React.MutableRefObject<HTMLDivElement>\n fieldProps: FormFieldBase & {\n name: string\n }\n leaf: string\n path: string\n schemaPath: string\n}\n\nconst LeafContext = React.createContext<LeafContextType>({\n attributes: {},\n children: null,\n editorRef: null,\n fieldProps: {} as any,\n leaf: '',\n path: '',\n schemaPath: '',\n})\n\nexport const LeafProvider: React.FC<\n LeafContextType & {\n result: React.ReactNode\n }\n> = (props) => {\n const { children, result, ...rest } = props\n\n return (\n <LeafContext.Provider\n value={{\n ...rest,\n children: result,\n }}\n >\n {children}\n </LeafContext.Provider>\n )\n}\n\nexport const useLeaf = () => {\n const path = React.useContext(LeafContext)\n return path\n}\n"],"names":["React","LeafContext","createContext","attributes","children","editorRef","fieldProps","leaf","path","schemaPath","LeafProvider","props","result","rest","Provider","value","useLeaf","useContext"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAczB,MAAMC,4BAAcD,MAAME,aAAa,CAAkB;IACvDC,YAAY,CAAC;IACbC,UAAU;IACVC,WAAW;IACXC,YAAY,CAAC;IACbC,MAAM;IACNC,MAAM;IACNC,YAAY;AACd;AAEA,OAAO,MAAMC,eAIT,CAACC;IACH,MAAM,EAAEP,QAAQ,EAAEQ,MAAM,EAAE,GAAGC,MAAM,GAAGF;IAEtC,qBACE,KAACV,YAAYa,QAAQ;QACnBC,OAAO;YACL,GAAGF,IAAI;YACPT,UAAUQ;QACZ;kBAECR;;AAGP,EAAC;AAED,OAAO,MAAMY,UAAU;IACrB,MAAMR,OAAOR,MAAMiB,UAAU,CAAChB;IAC9B,OAAOO;AACT,EAAC"}
|
package/dist/field/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC3B,CAAA"}
|
package/dist/field/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["export type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["export type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n"],"names":[],"mappings":"AAAA,WAgBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RichTextAdapter } from 'payload';
|
|
2
2
|
import type { AdapterArguments } from './types.js';
|
|
3
|
-
export declare const getGenerateComponentMap: (args: AdapterArguments) => RichTextAdapter[
|
|
3
|
+
export declare const getGenerateComponentMap: (args: AdapterArguments) => RichTextAdapter["generateComponentMap"];
|
|
4
4
|
//# sourceMappingURL=generateComponentMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generateComponentMap.tsx"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\n\nexport const getGenerateComponentMap =\n (args: AdapterArguments): RichTextAdapter['generateComponentMap'] =>\n ({ WithServerSideProps, config, i18n }) => {\n const componentMap = new Map()\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(`leaf.button.${leafObject.name}`, <LeafButton />)\n componentMap.set(`leaf.component.${leafObject.name}`, <LeafComponent />)\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, <Plugin />)\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) componentMap.set(`element.button.${element.name}`, <ElementButton />)\n componentMap.set(`element.component.${element.name}`, <ElementComponent />)\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(`element.plugin.${element.name}.${i}`, <Plugin />)\n })\n }\n\n switch (element.name) {\n case 'link': {\n const mappedFields = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: args.admin?.link?.fields as Field[],\n i18n,\n readOnly: false,\n })\n\n componentMap.set(linkFieldsSchemaPath, mappedFields)\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n const mappedFields = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n readOnly: false,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, mappedFields)\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return componentMap\n }\n"],"names":["mapFields","React","elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","defaultLeaves","leafTypes","getGenerateComponentMap","args","WithServerSideProps","config","i18n","componentMap","Map","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","mappedFields","fieldSchema","link","fields","readOnly","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"
|
|
1
|
+
{"version":3,"sources":["../src/generateComponentMap.tsx"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\n\nexport const getGenerateComponentMap =\n (args: AdapterArguments): RichTextAdapter['generateComponentMap'] =>\n ({ WithServerSideProps, config, i18n }) => {\n const componentMap = new Map()\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(`leaf.button.${leafObject.name}`, <LeafButton />)\n componentMap.set(`leaf.component.${leafObject.name}`, <LeafComponent />)\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, <Plugin />)\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) componentMap.set(`element.button.${element.name}`, <ElementButton />)\n componentMap.set(`element.component.${element.name}`, <ElementComponent />)\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(`element.plugin.${element.name}.${i}`, <Plugin />)\n })\n }\n\n switch (element.name) {\n case 'link': {\n const mappedFields = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: args.admin?.link?.fields as Field[],\n i18n,\n readOnly: false,\n })\n\n componentMap.set(linkFieldsSchemaPath, mappedFields)\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n const mappedFields = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n readOnly: false,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, mappedFields)\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return componentMap\n }\n"],"names":["mapFields","React","elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","defaultLeaves","leafTypes","getGenerateComponentMap","args","WithServerSideProps","config","i18n","componentMap","Map","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","mappedFields","fieldSchema","link","fields","readOnly","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RichTextAdapter } from 'payload';
|
|
2
2
|
import type { AdapterArguments } from './types.js';
|
|
3
|
-
export declare const getGenerateSchemaMap: (args: AdapterArguments) => RichTextAdapter[
|
|
3
|
+
export declare const getGenerateSchemaMap: (args: AdapterArguments) => RichTextAdapter["generateSchemaMap"];
|
|
4
4
|
//# sourceMappingURL=generateSchemaMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, schemaMap, schemaPath }) => {\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n switch (element.name) {\n case 'link': {\n schemaMap.set(\n `${schemaPath}.${linkFieldsSchemaPath}`,\n args.admin?.link?.fields as Field[],\n )\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n schemaMap.set(\n `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n args?.admin?.upload?.collections[collection.slug]?.fields,\n )\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","schemaMap","schemaPath","admin","Object","values","forEach","el","element","name","set","link","fields","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"
|
|
1
|
+
{"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, schemaMap, schemaPath }) => {\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n switch (element.name) {\n case 'link': {\n schemaMap.set(\n `${schemaPath}.${linkFieldsSchemaPath}`,\n args.admin?.link?.fields as Field[],\n )\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n schemaMap.set(\n `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n args?.admin?.upload?.collections[collection.slug]?.fields,\n )\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","schemaMap","schemaPath","admin","Object","values","forEach","el","element","name","set","link","fields","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"mappings":"AAIA,SAASA,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,sBAAsB,QAAQ,oCAAmC;AAE1E,OAAO,MAAMC,uBACX,CAACC,OACD,CAAC,EAAEC,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAE;QAC9BH,CAAAA,MAAMI,OAAOT,YAAYU,OAAOC,MAAM,CAACV,aAAY,EAAGW,OAAO,CAAC,CAACC;YAC/D,IAAIC;YAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;gBACzCC,UAAUD;YACZ,OAAO,IAAI,OAAOA,OAAO,YAAYZ,YAAY,CAACY,GAAG,EAAE;gBACrDC,UAAUb,YAAY,CAACY,GAAG;YAC5B;YAEA,IAAIC,SAAS;gBACX,OAAQA,QAAQC,IAAI;oBAClB,KAAK;wBAAQ;4BACXR,UAAUS,GAAG,CACX,CAAC,EAAER,WAAW,CAAC,EAAEN,qBAAqB,CAAC,EACvCG,KAAKI,KAAK,EAAEQ,MAAMC;4BAGpB;wBACF;oBAEA,KAAK;wBAAU;4BACb,MAAMC,2BAA2Bb,OAAOc,WAAW,CAACC,MAAM,CACxD,CAAC,EAAEZ,OAAO,EAAEa,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;gCACxD,IAAID,WAAW,MAAM;oCACnB,OAAO;gCACT;gCAEA,OAAOD,8BAA8BG,QAAQD,YAAY;4BAC3D;4BAGFL,yBAAyBP,OAAO,CAAC,CAACc;gCAChC,IAAIrB,MAAMI,OAAOe,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAET,QAAQ;oCAC7DX,UAAUS,GAAG,CACX,CAAC,EAAER,WAAW,CAAC,EAAEL,uBAAuB,CAAC,EAAEuB,WAAWC,IAAI,CAAC,CAAC,EAC5DtB,MAAMI,OAAOe,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAET;gCAEvD;4BACF;4BAEA;wBACF;oBAEA,KAAK;wBACH;gBACJ;YACF;QACF;QAEA,OAAOX;IACT,EAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { RichTextCell } from './cell/index.js'\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { RichTextField } from './field/index.js'\nimport { getGenerateComponentMap } from './generateComponentMap.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: RichTextCell,\n FieldComponent: RichTextField,\n generateComponentMap: getGenerateComponentMap(args),\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport { ElementButton } from './field/elements/Button.js'\n\nexport { toggleElement } from './field/elements/toggle.js'\nexport { LeafButton } from './field/leaves/Button.js'\nexport { useLeaf } from './field/providers/LeafProvider.js'\n\nexport type {\n AdapterArguments,\n ElementNode,\n FieldProps,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","RichTextCell","richTextRelationshipPromise","richTextValidate","transformExtraFields","RichTextField","getGenerateComponentMap","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","upload","collection","Object","keys","CellComponent","FieldComponent","generateComponentMap","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","elements","includes","hooks","afterRead","_context","_field","siblingData","outputSchema","isRequired","type","items","validate","ElementButton","toggleElement","LeafButton","useLeaf","nodeIsTextNode"],"
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { RichTextCell } from './cell/index.js'\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { RichTextField } from './field/index.js'\nimport { getGenerateComponentMap } from './generateComponentMap.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: RichTextCell,\n FieldComponent: RichTextField,\n generateComponentMap: getGenerateComponentMap(args),\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport { ElementButton } from './field/elements/Button.js'\n\nexport { toggleElement } from './field/elements/toggle.js'\nexport { LeafButton } from './field/leaves/Button.js'\nexport { useLeaf } from './field/providers/LeafProvider.js'\n\nexport type {\n AdapterArguments,\n ElementNode,\n FieldProps,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","RichTextCell","richTextRelationshipPromise","richTextValidate","transformExtraFields","RichTextField","getGenerateComponentMap","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","upload","collection","Object","keys","CellComponent","FieldComponent","generateComponentMap","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","elements","includes","hooks","afterRead","_context","_field","siblingData","outputSchema","isRequired","type","items","validate","ElementButton","toggleElement","LeafButton","useLeaf","nodeIsTextNode"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,IAAI,QAAQ,CAE7E;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,cAAc,GACd,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,qBAAqB,CAAA;AACzB,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;gBAAE,MAAM,EAAE,eAAe,CAAC;gBAAC,aAAa,EAAE,KAAK,EAAE,CAAA;aAAE,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAA;SAC5F,CAAA;QACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;QAC7C,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,MAAM,CAAC,EAAE;YACP,WAAW,EAAE;gBACX,CAAC,UAAU,EAAE,MAAM,GAAG;oBACpB,MAAM,EAAE,KAAK,EAAE,CAAA;iBAChB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAA"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Field, RichTextFieldProps, SanitizedConfig } from 'payload'\nimport type { Editor } from 'slate'\n\nexport type TextNode = { [x: string]: unknown; text: string }\n\nexport type ElementNode = { children: (ElementNode | TextNode)[]; type?: string }\n\nexport function nodeIsTextNode(node: ElementNode | TextNode): node is TextNode {\n return 'text' in node\n}\n\nexport type RichTextPluginComponent = React.ComponentType\nexport type RichTextPlugin = (editor: Editor) => Editor\n\nexport type RichTextCustomElement = {\n Button?: React.ComponentType<any>\n Element: React.ComponentType<any>\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextCustomLeaf = {\n Button: React.ComponentType<any>\n Leaf: React.ComponentType<any>\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextElement =\n | 'blockquote'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'indent'\n | 'link'\n | 'ol'\n | 'relationship'\n | 'textAlign'\n | 'ul'\n | 'upload'\n | RichTextCustomElement\nexport type RichTextLeaf =\n | 'bold'\n | 'code'\n | 'italic'\n | 'strikethrough'\n | 'underline'\n | RichTextCustomLeaf\n\nexport type AdapterArguments = {\n admin?: {\n elements?: RichTextElement[]\n hideGutter?: boolean\n leaves?: RichTextLeaf[]\n link?: {\n fields?: ((args: { config: SanitizedConfig; defaultFields: Field[] }) => Field[]) | Field[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n upload?: {\n collections: {\n [collection: string]: {\n fields: Field[]\n }\n }\n }\n }\n}\n\nexport type FieldProps = RichTextFieldProps<any[], AdapterArguments, AdapterArguments>\n"],"names":["nodeIsTextNode","node"],"
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Field, RichTextFieldProps, SanitizedConfig } from 'payload'\nimport type { Editor } from 'slate'\n\nexport type TextNode = { [x: string]: unknown; text: string }\n\nexport type ElementNode = { children: (ElementNode | TextNode)[]; type?: string }\n\nexport function nodeIsTextNode(node: ElementNode | TextNode): node is TextNode {\n return 'text' in node\n}\n\nexport type RichTextPluginComponent = React.ComponentType\nexport type RichTextPlugin = (editor: Editor) => Editor\n\nexport type RichTextCustomElement = {\n Button?: React.ComponentType<any>\n Element: React.ComponentType<any>\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextCustomLeaf = {\n Button: React.ComponentType<any>\n Leaf: React.ComponentType<any>\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextElement =\n | 'blockquote'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'indent'\n | 'link'\n | 'ol'\n | 'relationship'\n | 'textAlign'\n | 'ul'\n | 'upload'\n | RichTextCustomElement\nexport type RichTextLeaf =\n | 'bold'\n | 'code'\n | 'italic'\n | 'strikethrough'\n | 'underline'\n | RichTextCustomLeaf\n\nexport type AdapterArguments = {\n admin?: {\n elements?: RichTextElement[]\n hideGutter?: boolean\n leaves?: RichTextLeaf[]\n link?: {\n fields?: ((args: { config: SanitizedConfig; defaultFields: Field[] }) => Field[]) | Field[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n upload?: {\n collections: {\n [collection: string]: {\n fields: Field[]\n }\n }\n }\n }\n}\n\nexport type FieldProps = RichTextFieldProps<any[], AdapterArguments, AdapterArguments>\n"],"names":["nodeIsTextNode","node"],"mappings":"AAOA,OAAO,SAASA,eAAeC,IAA4B;IACzD,OAAO,UAAUA;AACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport { useAddClientFunction, useFieldProps } from '@payloadcms/ui'\n\ntype Plugin = (editor: Editor) => Editor\n\nexport const useSlatePlugin = (key: string, plugin: Plugin) => {\n const { schemaPath } = useFieldProps()\n\n useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin)\n}\n"],"names":["useAddClientFunction","useFieldProps","useSlatePlugin","key","plugin","schemaPath"],"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport { useAddClientFunction, useFieldProps } from '@payloadcms/ui'\n\ntype Plugin = (editor: Editor) => Editor\n\nexport const useSlatePlugin = (key: string, plugin: Plugin) => {\n const { schemaPath } = useFieldProps()\n\n useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin)\n}\n"],"names":["useAddClientFunction","useFieldProps","useSlatePlugin","key","plugin","schemaPath"],"mappings":"AAEA,SAASA,oBAAoB,EAAEC,aAAa,QAAQ,iBAAgB;AAIpE,OAAO,MAAMC,iBAAiB,CAACC,KAAaC;IAC1C,MAAM,EAAEC,UAAU,EAAE,GAAGJ;IAEvBD,qBAAqB,CAAC,YAAY,EAAEK,WAAW,CAAC,EAAEF,IAAI,CAAC,EAAEC;AAC3D,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-slate",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.55",
|
|
4
4
|
"description": "The officially supported Slate richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"@types/node": "20.12.5",
|
|
36
36
|
"@types/react": "npm:types-react@19.0.0-beta.2",
|
|
37
37
|
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
|
|
38
|
-
"
|
|
39
|
-
"@payloadcms/ui": "3.0.0-beta.
|
|
40
|
-
"
|
|
38
|
+
"payload": "3.0.0-beta.55",
|
|
39
|
+
"@payloadcms/ui": "3.0.0-beta.55",
|
|
40
|
+
"@payloadcms/eslint-config": "1.1.1"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
|
|
44
|
-
"@payloadcms/
|
|
45
|
-
"
|
|
46
|
-
"
|
|
44
|
+
"@payloadcms/ui": "3.0.0-beta.55",
|
|
45
|
+
"payload": "3.0.0-beta.55",
|
|
46
|
+
"@payloadcms/translations": "3.0.0-beta.55"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|
|
49
49
|
"node": "^18.20.2 || >=20.9.0"
|