@unlayer/react-elements 0.1.20 → 0.1.22
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/README.md +22 -1
- package/dist/index.cjs +109 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -3
- package/dist/index.d.ts +24 -3
- package/dist/index.js +109 -23
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -16,6 +16,8 @@ import { MenuValues } from '@unlayer/types/tools/menu';
|
|
|
16
16
|
export { MenuValues } from '@unlayer/types/tools/menu';
|
|
17
17
|
import { ParagraphValues } from '@unlayer/types/tools/paragraph';
|
|
18
18
|
export { ParagraphValues } from '@unlayer/types/tools/paragraph';
|
|
19
|
+
import { PageBreakValues } from '@unlayer/types/tools/page-break';
|
|
20
|
+
export { PageBreakValues } from '@unlayer/types/tools/page-break';
|
|
19
21
|
import { SocialValues } from '@unlayer/types/tools/social';
|
|
20
22
|
export { SocialValues } from '@unlayer/types/tools/social';
|
|
21
23
|
import { TableValues } from '@unlayer/types/tools/table';
|
|
@@ -592,6 +594,15 @@ interface ParagraphProps extends ItemComponentProps<ParagraphSemanticProps> {
|
|
|
592
594
|
*/
|
|
593
595
|
declare const Paragraph: React$1.FC<ItemComponentProps<ParagraphSemanticProps>>;
|
|
594
596
|
|
|
597
|
+
type PageBreakProps = ItemComponentProps<SemanticProps<PageBreakValues>>;
|
|
598
|
+
/**
|
|
599
|
+
* PageBreak - Forces subsequent document content onto a new PDF page.
|
|
600
|
+
*
|
|
601
|
+
* Page breaks render only in document mode. In email and web output they are
|
|
602
|
+
* intentionally inert.
|
|
603
|
+
*/
|
|
604
|
+
declare const PageBreak: React$1.FC<ItemComponentProps<SemanticProps<PageBreakValues>>>;
|
|
605
|
+
|
|
595
606
|
type SocialSemanticProps = Omit<SemanticProps<SocialValues>, "iconSize" | "spacing"> & {
|
|
596
607
|
/** Social icons shorthand (array of {name, url}) */
|
|
597
608
|
icons?: SocialIcon[];
|
|
@@ -806,7 +817,12 @@ declare namespace Page {
|
|
|
806
817
|
var displayName: string;
|
|
807
818
|
}
|
|
808
819
|
|
|
809
|
-
type
|
|
820
|
+
type DocumentPageSize = "A3" | "A4" | "A5" | "Legal" | "Letter" | "Tabloid";
|
|
821
|
+
type DocumentOrientation = "portrait" | "landscape";
|
|
822
|
+
type DocumentProps = Omit<BodyProps, "mode" | "documentSize" | "documentOrientation" | "documentMargin"> & {
|
|
823
|
+
documentSize?: DocumentPageSize;
|
|
824
|
+
documentOrientation?: DocumentOrientation;
|
|
825
|
+
};
|
|
810
826
|
/**
|
|
811
827
|
* Document - Print-optimized rendering for PDF generation.
|
|
812
828
|
*
|
|
@@ -814,7 +830,12 @@ type DocumentProps = Omit<BodyProps, "mode">;
|
|
|
814
830
|
*
|
|
815
831
|
* @example
|
|
816
832
|
* ```tsx
|
|
817
|
-
* <Document
|
|
833
|
+
* <Document
|
|
834
|
+
* backgroundColor="#ffffff"
|
|
835
|
+
* contentWidth="700px"
|
|
836
|
+
* documentSize="A4"
|
|
837
|
+
* documentOrientation="portrait"
|
|
838
|
+
* >
|
|
818
839
|
* <Row><Column><Paragraph text="Hello" /></Column></Row>
|
|
819
840
|
* </Document>
|
|
820
841
|
* ```
|
|
@@ -1126,4 +1147,4 @@ declare function registerTool(tool: ElementsToolConfig): React__default.FC<Eleme
|
|
|
1126
1147
|
/** Alias of {@link registerTool}. */
|
|
1127
1148
|
declare const registerElementsTool: typeof registerTool;
|
|
1128
1149
|
|
|
1129
|
-
export { Body, type BorderInput, Button, type ButtonProps, Column, type ColumnLayout, ColumnLayouts, DEFAULT_CONFIG, type DesignBody, type DesignColumn, type DesignContent, type DesignJSON, type DesignRow, Divider, type DividerProps, Document, type DocumentProps, type ElementsToolConfig, type ElementsToolProps, Email, type EmailProps, type FontFamilyInput, type FontWeightInput, Heading, type HeadingLevel, type HeadingProps, type Href, Html, type HtmlParts, type HtmlProps, type Icons, Image, type ImageProps, type ImageSrcInput, type LinkStyle, Menu, type MenuItem, type MenuProps, Page, type PageProps, Paragraph, type ParagraphProps, type RenderToHtmlOptions, Row, type RowProps, type SizeInput, Social, type SocialIcon, type SocialProps, Table, type TableProps, type TextAlign, type TextStyleProps, type ToolExporter, type UnlayerConfig, UnlayerProvider, type UnlayerProviderProps, type ValidColumnLayout, Video, type VideoProps, type VideoSource, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
|
1150
|
+
export { Body, type BorderInput, Button, type ButtonProps, Column, type ColumnLayout, ColumnLayouts, DEFAULT_CONFIG, type DesignBody, type DesignColumn, type DesignContent, type DesignJSON, type DesignRow, Divider, type DividerProps, Document, type DocumentOrientation, type DocumentPageSize, type DocumentProps, type ElementsToolConfig, type ElementsToolProps, Email, type EmailProps, type FontFamilyInput, type FontWeightInput, Heading, type HeadingLevel, type HeadingProps, type Href, Html, type HtmlParts, type HtmlProps, type Icons, Image, type ImageProps, type ImageSrcInput, type LinkStyle, Menu, type MenuItem, type MenuProps, Page, PageBreak, type PageBreakProps, type PageProps, Paragraph, type ParagraphProps, type RenderToHtmlOptions, Row, type RowProps, type SizeInput, Social, type SocialIcon, type SocialProps, Table, type TableProps, type TextAlign, type TextStyleProps, type ToolExporter, type UnlayerConfig, UnlayerProvider, type UnlayerProviderProps, type ValidColumnLayout, Video, type VideoProps, type VideoSource, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ import { MenuValues } from '@unlayer/types/tools/menu';
|
|
|
16
16
|
export { MenuValues } from '@unlayer/types/tools/menu';
|
|
17
17
|
import { ParagraphValues } from '@unlayer/types/tools/paragraph';
|
|
18
18
|
export { ParagraphValues } from '@unlayer/types/tools/paragraph';
|
|
19
|
+
import { PageBreakValues } from '@unlayer/types/tools/page-break';
|
|
20
|
+
export { PageBreakValues } from '@unlayer/types/tools/page-break';
|
|
19
21
|
import { SocialValues } from '@unlayer/types/tools/social';
|
|
20
22
|
export { SocialValues } from '@unlayer/types/tools/social';
|
|
21
23
|
import { TableValues } from '@unlayer/types/tools/table';
|
|
@@ -592,6 +594,15 @@ interface ParagraphProps extends ItemComponentProps<ParagraphSemanticProps> {
|
|
|
592
594
|
*/
|
|
593
595
|
declare const Paragraph: React$1.FC<ItemComponentProps<ParagraphSemanticProps>>;
|
|
594
596
|
|
|
597
|
+
type PageBreakProps = ItemComponentProps<SemanticProps<PageBreakValues>>;
|
|
598
|
+
/**
|
|
599
|
+
* PageBreak - Forces subsequent document content onto a new PDF page.
|
|
600
|
+
*
|
|
601
|
+
* Page breaks render only in document mode. In email and web output they are
|
|
602
|
+
* intentionally inert.
|
|
603
|
+
*/
|
|
604
|
+
declare const PageBreak: React$1.FC<ItemComponentProps<SemanticProps<PageBreakValues>>>;
|
|
605
|
+
|
|
595
606
|
type SocialSemanticProps = Omit<SemanticProps<SocialValues>, "iconSize" | "spacing"> & {
|
|
596
607
|
/** Social icons shorthand (array of {name, url}) */
|
|
597
608
|
icons?: SocialIcon[];
|
|
@@ -806,7 +817,12 @@ declare namespace Page {
|
|
|
806
817
|
var displayName: string;
|
|
807
818
|
}
|
|
808
819
|
|
|
809
|
-
type
|
|
820
|
+
type DocumentPageSize = "A3" | "A4" | "A5" | "Legal" | "Letter" | "Tabloid";
|
|
821
|
+
type DocumentOrientation = "portrait" | "landscape";
|
|
822
|
+
type DocumentProps = Omit<BodyProps, "mode" | "documentSize" | "documentOrientation" | "documentMargin"> & {
|
|
823
|
+
documentSize?: DocumentPageSize;
|
|
824
|
+
documentOrientation?: DocumentOrientation;
|
|
825
|
+
};
|
|
810
826
|
/**
|
|
811
827
|
* Document - Print-optimized rendering for PDF generation.
|
|
812
828
|
*
|
|
@@ -814,7 +830,12 @@ type DocumentProps = Omit<BodyProps, "mode">;
|
|
|
814
830
|
*
|
|
815
831
|
* @example
|
|
816
832
|
* ```tsx
|
|
817
|
-
* <Document
|
|
833
|
+
* <Document
|
|
834
|
+
* backgroundColor="#ffffff"
|
|
835
|
+
* contentWidth="700px"
|
|
836
|
+
* documentSize="A4"
|
|
837
|
+
* documentOrientation="portrait"
|
|
838
|
+
* >
|
|
818
839
|
* <Row><Column><Paragraph text="Hello" /></Column></Row>
|
|
819
840
|
* </Document>
|
|
820
841
|
* ```
|
|
@@ -1126,4 +1147,4 @@ declare function registerTool(tool: ElementsToolConfig): React__default.FC<Eleme
|
|
|
1126
1147
|
/** Alias of {@link registerTool}. */
|
|
1127
1148
|
declare const registerElementsTool: typeof registerTool;
|
|
1128
1149
|
|
|
1129
|
-
export { Body, type BorderInput, Button, type ButtonProps, Column, type ColumnLayout, ColumnLayouts, DEFAULT_CONFIG, type DesignBody, type DesignColumn, type DesignContent, type DesignJSON, type DesignRow, Divider, type DividerProps, Document, type DocumentProps, type ElementsToolConfig, type ElementsToolProps, Email, type EmailProps, type FontFamilyInput, type FontWeightInput, Heading, type HeadingLevel, type HeadingProps, type Href, Html, type HtmlParts, type HtmlProps, type Icons, Image, type ImageProps, type ImageSrcInput, type LinkStyle, Menu, type MenuItem, type MenuProps, Page, type PageProps, Paragraph, type ParagraphProps, type RenderToHtmlOptions, Row, type RowProps, type SizeInput, Social, type SocialIcon, type SocialProps, Table, type TableProps, type TextAlign, type TextStyleProps, type ToolExporter, type UnlayerConfig, UnlayerProvider, type UnlayerProviderProps, type ValidColumnLayout, Video, type VideoProps, type VideoSource, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
|
1150
|
+
export { Body, type BorderInput, Button, type ButtonProps, Column, type ColumnLayout, ColumnLayouts, DEFAULT_CONFIG, type DesignBody, type DesignColumn, type DesignContent, type DesignJSON, type DesignRow, Divider, type DividerProps, Document, type DocumentOrientation, type DocumentPageSize, type DocumentProps, type ElementsToolConfig, type ElementsToolProps, Email, type EmailProps, type FontFamilyInput, type FontWeightInput, Heading, type HeadingLevel, type HeadingProps, type Href, Html, type HtmlParts, type HtmlProps, type Icons, Image, type ImageProps, type ImageSrcInput, type LinkStyle, Menu, type MenuItem, type MenuProps, Page, PageBreak, type PageBreakProps, type PageProps, Paragraph, type ParagraphProps, type RenderToHtmlOptions, Row, type RowProps, type SizeInput, Social, type SocialIcon, type SocialProps, Table, type TableProps, type TextAlign, type TextStyleProps, type ToolExporter, type UnlayerConfig, UnlayerProvider, type UnlayerProviderProps, type ValidColumnLayout, Video, type VideoProps, type VideoSource, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
package/dist/index.js
CHANGED
|
@@ -505,6 +505,7 @@ function normalizeValuesForExporter(values, componentName) {
|
|
|
505
505
|
return out;
|
|
506
506
|
}
|
|
507
507
|
var HTML_ENTITIES = {
|
|
508
|
+
// Core markup + whitespace
|
|
508
509
|
"&": "&",
|
|
509
510
|
"<": "<",
|
|
510
511
|
">": ">",
|
|
@@ -512,16 +513,67 @@ var HTML_ENTITIES = {
|
|
|
512
513
|
"'": "'",
|
|
513
514
|
"'": "'",
|
|
514
515
|
" ": " ",
|
|
516
|
+
// Dashes, quotes, and typographic punctuation
|
|
515
517
|
"—": "\u2014",
|
|
516
518
|
"–": "\u2013",
|
|
517
519
|
"«": "\xAB",
|
|
518
520
|
"»": "\xBB",
|
|
521
|
+
"‘": "\u2018",
|
|
522
|
+
"’": "\u2019",
|
|
523
|
+
"“": "\u201C",
|
|
524
|
+
"”": "\u201D",
|
|
519
525
|
"•": "\u2022",
|
|
520
526
|
"·": "\xB7",
|
|
521
527
|
"…": "\u2026",
|
|
528
|
+
// Currency
|
|
529
|
+
"¢": "\xA2",
|
|
530
|
+
"£": "\xA3",
|
|
531
|
+
"¥": "\xA5",
|
|
532
|
+
"€": "\u20AC",
|
|
533
|
+
// Legal / trademark
|
|
522
534
|
"©": "\xA9",
|
|
523
535
|
"®": "\xAE",
|
|
524
|
-
"™": "\u2122"
|
|
536
|
+
"™": "\u2122",
|
|
537
|
+
"§": "\xA7",
|
|
538
|
+
"¶": "\xB6",
|
|
539
|
+
// Math and misc symbols
|
|
540
|
+
"°": "\xB0",
|
|
541
|
+
"±": "\xB1",
|
|
542
|
+
"×": "\xD7",
|
|
543
|
+
"÷": "\xF7",
|
|
544
|
+
"µ": "\xB5",
|
|
545
|
+
"¼": "\xBC",
|
|
546
|
+
"½": "\xBD",
|
|
547
|
+
"¾": "\xBE",
|
|
548
|
+
// Latin-1 accented letters (common in European names/words)
|
|
549
|
+
"ß": "\xDF",
|
|
550
|
+
"à": "\xE0",
|
|
551
|
+
"á": "\xE1",
|
|
552
|
+
"â": "\xE2",
|
|
553
|
+
"ã": "\xE3",
|
|
554
|
+
"ä": "\xE4",
|
|
555
|
+
"å": "\xE5",
|
|
556
|
+
"æ": "\xE6",
|
|
557
|
+
"ç": "\xE7",
|
|
558
|
+
"è": "\xE8",
|
|
559
|
+
"é": "\xE9",
|
|
560
|
+
"ê": "\xEA",
|
|
561
|
+
"ë": "\xEB",
|
|
562
|
+
"ì": "\xEC",
|
|
563
|
+
"í": "\xED",
|
|
564
|
+
"î": "\xEE",
|
|
565
|
+
"ï": "\xEF",
|
|
566
|
+
"ñ": "\xF1",
|
|
567
|
+
"ò": "\xF2",
|
|
568
|
+
"ó": "\xF3",
|
|
569
|
+
"ô": "\xF4",
|
|
570
|
+
"õ": "\xF5",
|
|
571
|
+
"ö": "\xF6",
|
|
572
|
+
"ø": "\xF8",
|
|
573
|
+
"ù": "\xF9",
|
|
574
|
+
"ú": "\xFA",
|
|
575
|
+
"û": "\xFB",
|
|
576
|
+
"ü": "\xFC"
|
|
525
577
|
};
|
|
526
578
|
function decodeEntities(text) {
|
|
527
579
|
let result = text.replace(/&\w+;/g, (match) => HTML_ENTITIES[match] ?? match);
|
|
@@ -744,7 +796,8 @@ function createItemComponent(config) {
|
|
|
744
796
|
contentType: config.contentType,
|
|
745
797
|
slug: config.slug,
|
|
746
798
|
metaName: config.metaName,
|
|
747
|
-
head: config.head
|
|
799
|
+
head: config.head,
|
|
800
|
+
omitEmptyOutput: config.omitEmptyOutput
|
|
748
801
|
};
|
|
749
802
|
return ItemComponent;
|
|
750
803
|
}
|
|
@@ -956,13 +1009,45 @@ var Paragraph = createItemComponent({
|
|
|
956
1009
|
exporters: ParagraphExporters
|
|
957
1010
|
});
|
|
958
1011
|
var Paragraph_default = Paragraph;
|
|
959
|
-
|
|
1012
|
+
|
|
1013
|
+
// src/components/PageBreak.tsx
|
|
960
1014
|
var DEFAULT_VALUES8 = {
|
|
1015
|
+
color: "#6b7280"
|
|
1016
|
+
};
|
|
1017
|
+
var pageBreakExporters = {
|
|
1018
|
+
// Page breaks are a document-only concept. Keep the unsupported renderers
|
|
1019
|
+
// inert so a component rendered outside <Document> does not throw.
|
|
1020
|
+
web: () => "",
|
|
1021
|
+
email: () => "",
|
|
1022
|
+
document: () => '<div class="u-content-page-break" aria-hidden="true"></div>'
|
|
1023
|
+
};
|
|
1024
|
+
var pageBreakHead = {
|
|
1025
|
+
css: (_values, _bodyValues, meta) => meta.displayMode === "document" ? `
|
|
1026
|
+
.u-content-page-break {
|
|
1027
|
+
break-after: page;
|
|
1028
|
+
page-break-after: always;
|
|
1029
|
+
}
|
|
1030
|
+
` : void 0
|
|
1031
|
+
};
|
|
1032
|
+
var PageBreak = createItemComponent({
|
|
1033
|
+
name: "PageBreak",
|
|
1034
|
+
contentType: "page_break",
|
|
1035
|
+
metaName: "page_break",
|
|
1036
|
+
defaultValues: DEFAULT_VALUES8,
|
|
1037
|
+
propMapper: (props) => mapSemanticProps(props, DEFAULT_VALUES8, "PageBreak"),
|
|
1038
|
+
displayName: "PageBreak",
|
|
1039
|
+
exporters: pageBreakExporters,
|
|
1040
|
+
head: pageBreakHead,
|
|
1041
|
+
omitEmptyOutput: true
|
|
1042
|
+
});
|
|
1043
|
+
var PageBreak_default = PageBreak;
|
|
1044
|
+
var DEFAULT_ICONS = SocialDefaults.icons ?? { iconType: "circle", icons: [] };
|
|
1045
|
+
var DEFAULT_VALUES9 = {
|
|
961
1046
|
...SocialDefaults
|
|
962
1047
|
};
|
|
963
1048
|
var Social = createItemComponent({
|
|
964
1049
|
name: "Social",
|
|
965
|
-
defaultValues:
|
|
1050
|
+
defaultValues: DEFAULT_VALUES9,
|
|
966
1051
|
propMapper: (props) => {
|
|
967
1052
|
const { icons, iconType, ...rest } = props;
|
|
968
1053
|
const coerceSizes = (base) => {
|
|
@@ -983,7 +1068,7 @@ var Social = createItemComponent({
|
|
|
983
1068
|
}));
|
|
984
1069
|
const base = mapSemanticProps(
|
|
985
1070
|
rest,
|
|
986
|
-
|
|
1071
|
+
DEFAULT_VALUES9,
|
|
987
1072
|
"Social"
|
|
988
1073
|
);
|
|
989
1074
|
base.icons = {
|
|
@@ -995,14 +1080,14 @@ var Social = createItemComponent({
|
|
|
995
1080
|
if (iconType !== void 0) {
|
|
996
1081
|
const base = mapSemanticProps(
|
|
997
1082
|
rest,
|
|
998
|
-
|
|
1083
|
+
DEFAULT_VALUES9,
|
|
999
1084
|
"Social"
|
|
1000
1085
|
);
|
|
1001
1086
|
base.icons = { ...DEFAULT_ICONS, ...base.icons, iconType };
|
|
1002
1087
|
return coerceSizes(base);
|
|
1003
1088
|
}
|
|
1004
1089
|
return coerceSizes(
|
|
1005
|
-
mapSemanticProps(props,
|
|
1090
|
+
mapSemanticProps(props, DEFAULT_VALUES9, "Social")
|
|
1006
1091
|
);
|
|
1007
1092
|
},
|
|
1008
1093
|
displayName: "Social",
|
|
@@ -1010,20 +1095,20 @@ var Social = createItemComponent({
|
|
|
1010
1095
|
});
|
|
1011
1096
|
var Social_default = Social;
|
|
1012
1097
|
var DEFAULT_TABLE = { headers: [], rows: [], footers: [] };
|
|
1013
|
-
var
|
|
1098
|
+
var DEFAULT_VALUES10 = {
|
|
1014
1099
|
...TableDefaults,
|
|
1015
1100
|
table: DEFAULT_TABLE
|
|
1016
1101
|
// Schema doesn't include table data structure
|
|
1017
1102
|
};
|
|
1018
1103
|
var Table = createItemComponent({
|
|
1019
1104
|
name: "Table",
|
|
1020
|
-
defaultValues:
|
|
1105
|
+
defaultValues: DEFAULT_VALUES10,
|
|
1021
1106
|
propMapper: (props) => {
|
|
1022
1107
|
const { headers, data, columns, rows, ...rest } = props;
|
|
1023
1108
|
if (headers || data || typeof columns === "number" || typeof rows === "number") {
|
|
1024
1109
|
const base = mapSemanticProps(
|
|
1025
1110
|
rest,
|
|
1026
|
-
|
|
1111
|
+
DEFAULT_VALUES10,
|
|
1027
1112
|
"Table"
|
|
1028
1113
|
);
|
|
1029
1114
|
const colCount = headers ? headers.length : typeof columns === "number" ? columns : data?.[0]?.length ?? 0;
|
|
@@ -1055,7 +1140,7 @@ var Table = createItemComponent({
|
|
|
1055
1140
|
}
|
|
1056
1141
|
return mapSemanticProps(
|
|
1057
1142
|
props,
|
|
1058
|
-
|
|
1143
|
+
DEFAULT_VALUES10,
|
|
1059
1144
|
"Table"
|
|
1060
1145
|
);
|
|
1061
1146
|
},
|
|
@@ -1070,7 +1155,7 @@ var DEFAULT_VIDEO = {
|
|
|
1070
1155
|
loading: false,
|
|
1071
1156
|
...VideoDefaults.video
|
|
1072
1157
|
};
|
|
1073
|
-
var
|
|
1158
|
+
var DEFAULT_VALUES11 = {
|
|
1074
1159
|
...VideoDefaults,
|
|
1075
1160
|
video: DEFAULT_VIDEO
|
|
1076
1161
|
};
|
|
@@ -1098,14 +1183,14 @@ function parseVideoUrl(url) {
|
|
|
1098
1183
|
}
|
|
1099
1184
|
var Video = createItemComponent({
|
|
1100
1185
|
name: "Video",
|
|
1101
|
-
defaultValues:
|
|
1186
|
+
defaultValues: DEFAULT_VALUES11,
|
|
1102
1187
|
propMapper: (props) => {
|
|
1103
1188
|
const { videoUrl, ...rest } = props;
|
|
1104
1189
|
if (typeof videoUrl === "string") {
|
|
1105
1190
|
const parsed = parseVideoUrl(videoUrl);
|
|
1106
1191
|
const base = mapSemanticProps(
|
|
1107
1192
|
rest,
|
|
1108
|
-
|
|
1193
|
+
DEFAULT_VALUES11,
|
|
1109
1194
|
"Video"
|
|
1110
1195
|
);
|
|
1111
1196
|
if (parsed) {
|
|
@@ -1115,7 +1200,7 @@ var Video = createItemComponent({
|
|
|
1115
1200
|
}
|
|
1116
1201
|
return mapSemanticProps(
|
|
1117
1202
|
props,
|
|
1118
|
-
|
|
1203
|
+
DEFAULT_VALUES11,
|
|
1119
1204
|
"Video"
|
|
1120
1205
|
);
|
|
1121
1206
|
},
|
|
@@ -1143,7 +1228,7 @@ var {
|
|
|
1143
1228
|
var BODY_DEFAULTS = bodyRest;
|
|
1144
1229
|
var ROW_DEFAULTS = { ...RowDefaults };
|
|
1145
1230
|
var COLUMN_DEFAULTS = { ...ColumnDefaults };
|
|
1146
|
-
var
|
|
1231
|
+
var DEFAULT_VALUES12 = ROW_DEFAULTS;
|
|
1147
1232
|
var DEFAULT_BODY_VALUES = BODY_DEFAULTS;
|
|
1148
1233
|
function getWidthPercentages(cells) {
|
|
1149
1234
|
if (cells.length === 0) return [];
|
|
@@ -1281,7 +1366,7 @@ var Row = (props) => {
|
|
|
1281
1366
|
const safeBodyValues = { ...DEFAULT_BODY_VALUES, ...bodyValues };
|
|
1282
1367
|
const values = mapSemanticProps(
|
|
1283
1368
|
semanticProps,
|
|
1284
|
-
|
|
1369
|
+
DEFAULT_VALUES12,
|
|
1285
1370
|
"Row"
|
|
1286
1371
|
);
|
|
1287
1372
|
const valuesWithMeta = {
|
|
@@ -1319,7 +1404,7 @@ var Row = (props) => {
|
|
|
1319
1404
|
Row.displayName = "Row";
|
|
1320
1405
|
var Row_default = Row;
|
|
1321
1406
|
var DEFAULT_CONTAINER_PADDING2 = "10px";
|
|
1322
|
-
var
|
|
1407
|
+
var DEFAULT_VALUES13 = COLUMN_DEFAULTS;
|
|
1323
1408
|
function renderColumnToHtml(innerHTML, values, index, cells, bodyValues, rowValues, mode) {
|
|
1324
1409
|
const columnExporter = ColumnExporters[mode] || ColumnExporters.web;
|
|
1325
1410
|
return columnExporter(innerHTML, values, index, cells, bodyValues, rowValues);
|
|
@@ -1344,7 +1429,7 @@ var Column = (props) => {
|
|
|
1344
1429
|
const mode = modeProp ?? _config?.mode ?? "web";
|
|
1345
1430
|
const values = mapSemanticProps(
|
|
1346
1431
|
semanticProps,
|
|
1347
|
-
|
|
1432
|
+
DEFAULT_VALUES13,
|
|
1348
1433
|
"Column"
|
|
1349
1434
|
);
|
|
1350
1435
|
const valuesWithMeta = {
|
|
@@ -1380,6 +1465,7 @@ var Column = (props) => {
|
|
|
1380
1465
|
});
|
|
1381
1466
|
if (rendered && typeof rendered === "object" && rendered.props && rendered.props.dangerouslySetInnerHTML) {
|
|
1382
1467
|
const componentHTML = rendered.props.dangerouslySetInnerHTML.__html;
|
|
1468
|
+
if (!componentHTML && ComponentType?.[UNLAYER_CONFIG_KEY]?.omitEmptyOutput) return;
|
|
1383
1469
|
const childProps = child.props;
|
|
1384
1470
|
const rawContainerPadding = childProps.containerPadding ?? childProps.values?.containerPadding ?? DEFAULT_CONTAINER_PADDING2;
|
|
1385
1471
|
const containerPadding = typeof rawContainerPadding === "number" ? `${rawContainerPadding}px` : rawContainerPadding;
|
|
@@ -1427,7 +1513,7 @@ var Column = (props) => {
|
|
|
1427
1513
|
};
|
|
1428
1514
|
Column.displayName = "Column";
|
|
1429
1515
|
var Column_default = Column;
|
|
1430
|
-
var
|
|
1516
|
+
var DEFAULT_VALUES14 = BODY_DEFAULTS;
|
|
1431
1517
|
var MAX_PREVIEW_LENGTH = 150;
|
|
1432
1518
|
var PADDING_CHARS = [
|
|
1433
1519
|
"\xA0",
|
|
@@ -1473,8 +1559,8 @@ var Body = (props) => {
|
|
|
1473
1559
|
const _config = { ...resolvedConfig, mode };
|
|
1474
1560
|
_config.__ids = {};
|
|
1475
1561
|
const values = mergeValues(
|
|
1476
|
-
|
|
1477
|
-
mapSemanticProps(semanticProps,
|
|
1562
|
+
DEFAULT_VALUES14,
|
|
1563
|
+
mapSemanticProps(semanticProps, DEFAULT_VALUES14, "Body")
|
|
1478
1564
|
);
|
|
1479
1565
|
const valuesWithMeta = {
|
|
1480
1566
|
...values,
|
|
@@ -2220,6 +2306,6 @@ function registerTool(tool) {
|
|
|
2220
2306
|
}
|
|
2221
2307
|
var registerElementsTool = registerTool;
|
|
2222
2308
|
|
|
2223
|
-
export { Body_default as Body, Button_default as Button, Column_default as Column, ColumnLayouts, DEFAULT_CONFIG, Divider_default as Divider, Document, Email, Heading_default as Heading, Html_default as Html, Image_default as Image, Menu_default as Menu, Page, Paragraph_default as Paragraph, Row_default as Row, Social_default as Social, Table_default as Table, UnlayerProvider, Video_default as Video, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
|
2309
|
+
export { Body_default as Body, Button_default as Button, Column_default as Column, ColumnLayouts, DEFAULT_CONFIG, Divider_default as Divider, Document, Email, Heading_default as Heading, Html_default as Html, Image_default as Image, Menu_default as Menu, Page, PageBreak_default as PageBreak, Paragraph_default as Paragraph, Row_default as Row, Social_default as Social, Table_default as Table, UnlayerProvider, Video_default as Video, htmlToTextJson, registerElementsTool, registerTool, renderRowToJson, renderToHtml, renderToHtmlParts, renderToJson, renderToPlainText, useUnlayerConfig, validateColumnLayout };
|
|
2224
2310
|
//# sourceMappingURL=index.js.map
|
|
2225
2311
|
//# sourceMappingURL=index.js.map
|