UNPKG

@becklyn/contentful-adapter

Version:

[![CI](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml/badge.svg)](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml)

102 lines (101 loc) 3.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRteValidation = exports.RTE_TYPE_MARKS = exports.RTE_TYPE_TABLE = exports.RTE_TYPE_FULL = exports.RTE_TYPE_STYLED_FONT_AND_LIST = exports.RTE_TYPE_STYLED_FONT = exports.RTE_TYPE_MINIMAL = exports.RTE_TYPE_HEADLINE = void 0; const rich_text_types_1 = require("@contentful/rich-text-types"); exports.RTE_TYPE_HEADLINE = "headline"; exports.RTE_TYPE_MINIMAL = "minimal"; exports.RTE_TYPE_STYLED_FONT = "styled-font"; exports.RTE_TYPE_STYLED_FONT_AND_LIST = "styled-font-list"; exports.RTE_TYPE_FULL = "full"; exports.RTE_TYPE_TABLE = "table"; exports.RTE_TYPE_MARKS = "marks"; const getRteValidation = (version = exports.RTE_TYPE_MINIMAL) => { if (version === exports.RTE_TYPE_HEADLINE) { return [ { size: { max: 256, }, }, { enabledMarks: [], }, { enabledNodeTypes: [], }, { nodes: {}, }, ]; } if (version === exports.RTE_TYPE_MARKS) { return [ { size: { max: 256, }, }, { enabledMarks: [rich_text_types_1.MARKS.BOLD, rich_text_types_1.MARKS.ITALIC, rich_text_types_1.MARKS.UNDERLINE, rich_text_types_1.MARKS.CODE], }, { enabledNodeTypes: [], }, { nodes: {}, }, ]; } const enabledMarks = version !== exports.RTE_TYPE_MINIMAL ? [ rich_text_types_1.MARKS.BOLD, rich_text_types_1.MARKS.ITALIC, rich_text_types_1.MARKS.UNDERLINE, rich_text_types_1.MARKS.CODE, rich_text_types_1.MARKS.SUBSCRIPT, rich_text_types_1.MARKS.SUPERSCRIPT, ] : []; let enabledNodeTypes = version === exports.RTE_TYPE_TABLE ? [rich_text_types_1.BLOCKS.TABLE] : version !== exports.RTE_TYPE_MINIMAL && version !== exports.RTE_TYPE_STYLED_FONT ? [rich_text_types_1.INLINES.HYPERLINK, rich_text_types_1.INLINES.ENTRY_HYPERLINK, rich_text_types_1.INLINES.ASSET_HYPERLINK, rich_text_types_1.BLOCKS.UL_LIST] : [rich_text_types_1.INLINES.HYPERLINK, rich_text_types_1.INLINES.ENTRY_HYPERLINK, rich_text_types_1.INLINES.ASSET_HYPERLINK]; if (version === exports.RTE_TYPE_FULL) { enabledNodeTypes = [ ...enabledNodeTypes, rich_text_types_1.INLINES.EMBEDDED_ENTRY, rich_text_types_1.BLOCKS.HR, rich_text_types_1.BLOCKS.EMBEDDED_ENTRY, rich_text_types_1.BLOCKS.HEADING_2, rich_text_types_1.BLOCKS.HEADING_3, rich_text_types_1.BLOCKS.TABLE, ]; } return [ { enabledMarks }, { enabledNodeTypes }, { nodes: { [rich_text_types_1.INLINES.ENTRY_HYPERLINK]: [ { linkContentType: ["internalReference", "externalReference"], }, ], [rich_text_types_1.BLOCKS.EMBEDDED_ENTRY]: [ { linkContentType: [ "rteMedia", "rteMediaSlider", "rteQuote", "rteIcon", "rteHint", "rteImage", ], }, ], }, }, ]; }; exports.getRteValidation = getRteValidation;