@compdfkit_pdf_sdk/react_native
Version:
ComPDFKit for React Native is a comprehensive SDK that allows you to quickly add PDF functionality to Android, iOS, and React Native applications.
489 lines • 19.8 kB
JavaScript
"use strict";
/**
* Copyright © 2014-2026 PDF Technologies, Inc. All Rights Reserved.
*
* THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
* AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
* UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
* This notice may not be removed from this file.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultConfig = getDefaultConfig;
const react_native_1 = require("react-native");
const CPDFOptions_1 = require("../configuration/CPDFOptions");
const ConfigHelpers_1 = require("./ConfigHelpers");
const DEFAULT_ANDROID_TOOLBAR_LEFT = [];
const DEFAULT_ANDROID_TOOLBAR_RIGHT = [
CPDFOptions_1.CPDFToolbarAction.THUMBNAIL,
CPDFOptions_1.CPDFToolbarAction.SEARCH,
CPDFOptions_1.CPDFToolbarAction.BOTA,
CPDFOptions_1.CPDFToolbarAction.MENU,
];
const DEFAULT_IOS_TOOLBAR_LEFT = [
CPDFOptions_1.CPDFToolbarAction.BACK,
CPDFOptions_1.CPDFToolbarAction.THUMBNAIL,
];
const DEFAULT_IOS_TOOLBAR_RIGHT = [
CPDFOptions_1.CPDFToolbarAction.SEARCH,
CPDFOptions_1.CPDFToolbarAction.BOTA,
CPDFOptions_1.CPDFToolbarAction.MENU,
];
const DEFAULT_IOS_UI_STYLE = {
selectTextColor: "#00000033",
bookmarkIcon: "",
icons: {
selectTextIcon: "",
selectTextLeftIcon: "",
selectTextRightIcon: "",
rotationAnnotationIcon: "",
},
displayPageRect: {
fillColor: "#1460F34D",
borderColor: "#6499FF",
borderWidth: 5,
borderDashPattern: [10, 0],
},
screenshot: {
outsideColor: "#00000000",
fillColor: "#00000000",
borderColor: "#6499FF",
borderWidth: 2,
borderDashPattern: [8, 5],
},
formPreview: {
style: "fill",
color: "#1460F34D",
strokeWidth: 2,
},
defaultBorderStyle: {
borderColor: "#888888FF",
borderWidth: 1,
borderDashPattern: [8, 5],
},
focusBorderStyle: {
nodeColor: "#6499FF",
borderColor: "#6499FF",
borderWidth: 1,
borderDashPattern: [8, 5],
},
cropImageStyle: {
borderColor: "#6499FF",
borderWidth: 2,
borderDashPattern: [8, 5],
},
};
const DEFAULT_ANDROID_UI_STYLE = {
...DEFAULT_IOS_UI_STYLE,
defaultBorderStyle: {
borderColor: "#888888FF",
borderWidth: 2,
borderDashPattern: [20, 10],
},
focusBorderStyle: {
nodeColor: "#6499FF",
borderColor: "#6499FF",
borderWidth: 2,
borderDashPattern: [20, 10],
},
cropImageStyle: {
borderColor: "#6499FF",
borderWidth: 2,
borderDashPattern: [20, 10],
},
};
function getDefaultConfig(overrides = {}) {
const isAndroid = react_native_1.Platform.OS === "android";
const defaultConfig = {
modeConfig: {
initialViewMode: CPDFOptions_1.CPDFViewMode.VIEWER,
uiVisibilityMode: "automatic",
availableViewModes: [
CPDFOptions_1.CPDFViewMode.VIEWER,
CPDFOptions_1.CPDFViewMode.ANNOTATIONS,
CPDFOptions_1.CPDFViewMode.CONTENT_EDITOR,
CPDFOptions_1.CPDFViewMode.FORMS,
CPDFOptions_1.CPDFViewMode.SIGNATURES,
],
},
toolbarConfig: {
mainToolbarVisible: true,
mainToolbarTitleVisible: true,
annotationToolbarVisible: true,
showInkToggleButton: true,
formToolbarVisible: true,
toolbarLeftItems: isAndroid
? DEFAULT_ANDROID_TOOLBAR_LEFT
: DEFAULT_IOS_TOOLBAR_LEFT,
toolbarRightItems: isAndroid
? DEFAULT_ANDROID_TOOLBAR_RIGHT
: DEFAULT_IOS_TOOLBAR_RIGHT,
availableMenus: [
CPDFOptions_1.CPDFToolbarAction.VIEW_SETTINGS,
CPDFOptions_1.CPDFToolbarAction.DOCUMENT_EDITOR,
CPDFOptions_1.CPDFToolbarAction.DOCUMENT_INFO,
CPDFOptions_1.CPDFToolbarAction.WATERMARK,
CPDFOptions_1.CPDFToolbarAction.SECURITY,
CPDFOptions_1.CPDFToolbarAction.FLATTENED,
CPDFOptions_1.CPDFToolbarAction.SAVE,
CPDFOptions_1.CPDFToolbarAction.SHARE,
CPDFOptions_1.CPDFToolbarAction.OPEN_DOCUMENT,
CPDFOptions_1.CPDFToolbarAction.SNIP,
],
},
annotationsConfig: {
annotationAuthor: "",
autoShowSignPicker: true,
autoShowLinkDialog: true,
autoShowNoteEditDialog: true,
autoShowPicPicker: true,
autoShowStampPicker: true,
interceptLinkAction: false,
interceptNoteAction: false,
availableTypes: [
CPDFOptions_1.CPDFAnnotationType.NOTE,
CPDFOptions_1.CPDFAnnotationType.HIGHLIGHT,
CPDFOptions_1.CPDFAnnotationType.UNDERLINE,
CPDFOptions_1.CPDFAnnotationType.SQUIGGLY,
CPDFOptions_1.CPDFAnnotationType.STRIKEOUT,
CPDFOptions_1.CPDFAnnotationType.INK,
CPDFOptions_1.CPDFAnnotationType.INK_ERASER,
CPDFOptions_1.CPDFAnnotationType.PENCIL,
CPDFOptions_1.CPDFAnnotationType.CIRCLE,
CPDFOptions_1.CPDFAnnotationType.SQUARE,
CPDFOptions_1.CPDFAnnotationType.ARROW,
CPDFOptions_1.CPDFAnnotationType.LINE,
CPDFOptions_1.CPDFAnnotationType.FREETEXT,
CPDFOptions_1.CPDFAnnotationType.SIGNATURE,
CPDFOptions_1.CPDFAnnotationType.STAMP,
CPDFOptions_1.CPDFAnnotationType.PICTURES,
CPDFOptions_1.CPDFAnnotationType.LINK,
CPDFOptions_1.CPDFAnnotationType.SOUND,
],
availableTools: [
CPDFOptions_1.CPDFConfigTool.SETTING,
CPDFOptions_1.CPDFConfigTool.UNDO,
CPDFOptions_1.CPDFConfigTool.REDO,
],
initAttribute: {
note: {
type: "note",
color: "#1460F3",
alpha: 255,
},
highlight: {
type: "highlight",
color: "#1460F3",
alpha: 77,
},
underline: {
type: "underline",
color: "#1460F3",
alpha: 77,
},
squiggly: {
type: "squiggly",
color: "#1460F3",
alpha: 77,
},
strikeout: {
type: "strikeout",
color: "#1460F3",
alpha: 77,
},
ink: {
type: "ink",
color: "#1460F3",
alpha: 100,
borderWidth: 10,
},
square: {
type: "square",
fillColor: "#1460F3",
borderColor: "#000000",
colorAlpha: 128,
borderWidth: 2,
borderStyle: {
style: CPDFOptions_1.CPDFBorderStyle.SOLID,
dashGap: 0.0,
},
},
circle: {
type: "circle",
fillColor: "#1460F3",
borderColor: "#000000",
colorAlpha: 128,
borderWidth: 2,
borderStyle: {
style: CPDFOptions_1.CPDFBorderStyle.SOLID,
dashGap: 0.0,
},
},
line: {
type: "line",
borderColor: "#1460F3",
borderAlpha: 100,
borderWidth: 5,
borderStyle: {
style: CPDFOptions_1.CPDFBorderStyle.SOLID,
dashGap: 0.0,
},
},
arrow: {
type: "arrow",
borderColor: "#1460F3",
borderAlpha: 100,
borderWidth: 5,
borderStyle: {
style: CPDFOptions_1.CPDFBorderStyle.SOLID,
dashGap: 0.0,
},
startLineType: CPDFOptions_1.CPDFLineType.NONE,
tailLineType: CPDFOptions_1.CPDFLineType.OPEN_ARROW,
},
freeText: {
type: "freetext",
fontColor: "#000000",
fontColorAlpha: 255,
fontSize: 30,
alignment: CPDFOptions_1.CPDFAlignment.LEFT,
familyName: "Helvetica",
styleName: "Regular",
},
},
},
contentEditorConfig: {
availableTypes: [
CPDFOptions_1.CPDFContentEditorType.EDITOR_TEXT,
CPDFOptions_1.CPDFContentEditorType.EDITOR_IMAGE,
],
availableTools: [
CPDFOptions_1.CPDFConfigTool.SETTING,
CPDFOptions_1.CPDFConfigTool.UNDO,
CPDFOptions_1.CPDFConfigTool.REDO,
],
initAttribute: {
text: {
fontColor: "#000000",
fontColorAlpha: 255,
fontSize: 30,
familyName: "Helvetica",
styleName: "Regular",
alignment: CPDFOptions_1.CPDFAlignment.LEFT,
},
},
},
formsConfig: {
showCreateComboBoxOptionsDialog: true,
showCreateListBoxOptionsDialog: true,
showCreatePushButtonOptionsDialog: true,
interceptAllFormWidgetActions: false,
interceptFormWidgetActions: [],
availableTypes: [
CPDFOptions_1.CPDFWidgetType.TEXT_FIELD,
CPDFOptions_1.CPDFWidgetType.CHECKBOX,
CPDFOptions_1.CPDFWidgetType.RADIO_BUTTON,
CPDFOptions_1.CPDFWidgetType.LISTBOX,
CPDFOptions_1.CPDFWidgetType.COMBOBOX,
CPDFOptions_1.CPDFWidgetType.SIGNATURES_FIELDS,
CPDFOptions_1.CPDFWidgetType.PUSH_BUTTON,
],
availableTools: [CPDFOptions_1.CPDFConfigTool.UNDO, CPDFOptions_1.CPDFConfigTool.REDO],
initAttribute: {
textField: {
type: "textField",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
fontColor: "#000000",
fontSize: 20,
alignment: CPDFOptions_1.CPDFAlignment.LEFT,
multiline: true,
familyName: "Helvetica",
styleName: "Regular",
},
checkBox: {
type: "checkBox",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
checkedColor: "#43474D",
isChecked: false,
checkedStyle: CPDFOptions_1.CPDFCheckStyle.CHECK,
},
radioButton: {
type: "radioButton",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
checkedColor: "#43474D",
isChecked: false,
checkedStyle: CPDFOptions_1.CPDFCheckStyle.CIRCLE,
},
listBox: {
type: "listBox",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
fontColor: "#000000",
fontSize: 20,
familyName: "Helvetica",
styleName: "Regular",
},
comboBox: {
type: "comboBox",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
fontColor: "#000000",
fontSize: 20,
familyName: "Helvetica",
styleName: "Regular",
},
pushButton: {
type: "pushButton",
fillColor: "#DDE9FF",
borderColor: "#1460F3",
borderWidth: 2,
fontColor: "#000000",
fontSize: 20,
title: "Button",
familyName: "Helvetica",
styleName: "Regular",
},
signaturesFields: {
type: "signaturesFields",
fillColor: "#DDE9FF",
borderColor: "#000000",
borderWidth: 2,
},
},
},
readerViewConfig: {
linkHighlight: true,
formFieldHighlight: true,
displayMode: CPDFOptions_1.CPDFDisplayMode.SINGLE_PAGE,
continueMode: true,
verticalMode: true,
cropMode: false,
themes: CPDFOptions_1.CPDFThemes.LIGHT,
enableSliderBar: true,
enablePageIndicator: true,
pageScale: 1.0,
margins: [0, 0, 0, 0],
pageSpacing: 10,
pageSameWidth: true,
annotationsVisible: true,
enableCreateEditTextInput: true,
enableCreateImagePickerDialog: true,
enableDoubleTapZoom: false,
uiStyle: isAndroid ? DEFAULT_ANDROID_UI_STYLE : DEFAULT_IOS_UI_STYLE,
},
global: {
themeMode: CPDFOptions_1.CPDFThemeMode.SYSTEM,
fileSaveExtraFontSubset: true,
useSaveIncremental: true,
watermark: {
types: ["text", "image"],
saveAsNewFile: true,
text: "Watermark",
textSize: 40,
textColor: "#000000",
opacity: 255,
rotation: -45,
isFront: false,
isTilePage: false,
},
signatureType: "manual",
enableExitSaveTips: false,
thumbnail: {
editMode: true,
},
enableErrorTips: true,
bota: {
tabs: ["outline", "bookmark", "annotations"],
menus: {
annotations: {
global: (0, ConfigHelpers_1.botaMenus)("importAnnotation", "exportAnnotation", "removeAllAnnotation", "removeAllReply"),
item: (0, ConfigHelpers_1.botaMenus)({
id: "reviewStatus",
subMenus: [
"accepted",
"rejected",
"cancelled",
"completed",
"none",
],
}, "markedStatus", { id: "more", subMenus: ["addReply", "viewReply", "delete"] }),
},
},
},
search: {
normalKeyword: {
borderColor: "#00000000",
fillColor: "#FFFF0077",
},
focusKeyword: {
borderColor: "#00000000",
fillColor: "#FD7338CC",
},
},
pageEditor: {
menus: [
"insertPage",
"replacePage",
"extractPage",
"copyPage",
"rotatePage",
"deletePage",
],
},
pencilMenus: ["touch", "discard", "save"],
},
contextMenuConfig: {
fontSize: 14,
padding: [0, 0, 0, 0],
iconSize: 36,
global: {
screenshot: (0, ConfigHelpers_1.menus)("exit", "share"),
},
viewMode: {
textSelect: (0, ConfigHelpers_1.menus)("copy"),
},
annotationMode: {
textSelect: (0, ConfigHelpers_1.menus)("copy", "highlight", "underline", "strikeout", "squiggly"),
longPressContent: (0, ConfigHelpers_1.menus)("paste", "note", "textBox", "stamp", "image"),
markupContent: (0, ConfigHelpers_1.menus)("properties", "note", "reply", "viewReply", "delete"),
soundContent: (0, ConfigHelpers_1.menus)("reply", "viewReply", "play", "record", "delete"),
inkContent: (0, ConfigHelpers_1.menus)("properties", "note", "reply", "viewReply", "delete"),
shapeContent: (0, ConfigHelpers_1.menus)("properties", "note", "reply", "viewReply", "delete"),
freeTextContent: (0, ConfigHelpers_1.menus)("properties", "edit", "reply", "viewReply", "delete"),
signStampContent: (0, ConfigHelpers_1.menus)("signHere", "delete", "rotate"),
stampContent: (0, ConfigHelpers_1.menus)("note", "reply", "viewReply", "delete", "rotate"),
linkContent: (0, ConfigHelpers_1.menus)("edit", "delete"),
},
contentEditorMode: {
editTextAreaContent: (0, ConfigHelpers_1.menus)("properties", "edit", "cut", "copy", "delete"),
editSelectTextContent: (0, ConfigHelpers_1.menus)("properties", { key: "opacity", subItems: ["25%", "50%", "75%", "100%"] }, "cut", "copy", "delete"),
editTextContent: (0, ConfigHelpers_1.menus)("select", "selectAll", "paste"),
imageAreaContent: (0, ConfigHelpers_1.menus)("properties", "rotateLeft", "rotateRight", "replace", "export", { key: "opacity", subItems: ["25%", "50%", "75%", "100%"] }, "flipHorizontal", "flipVertical", "crop", "delete", "copy", "cut"),
imageCropMode: (0, ConfigHelpers_1.menus)("done", "cancel"),
editPathContent: (0, ConfigHelpers_1.menus)("delete"),
longPressWithEditTextMode: (0, ConfigHelpers_1.menus)("addText", "paste", "keepSourceFormatingPaste"),
longPressWithEditImageMode: (0, ConfigHelpers_1.menus)("addImages", "paste"),
longPressWithAllMode: (0, ConfigHelpers_1.menus)("paste", "keepSourceFormatingPaste"),
searchReplace: (0, ConfigHelpers_1.menus)("replace"),
},
formMode: {
textField: (0, ConfigHelpers_1.menus)("properties", "delete"),
checkBox: (0, ConfigHelpers_1.menus)("properties", "delete"),
radioButton: (0, ConfigHelpers_1.menus)("properties", "delete"),
listBox: (0, ConfigHelpers_1.menus)("options", "properties", "delete"),
comboBox: (0, ConfigHelpers_1.menus)("options", "properties", "delete"),
signatureField: (0, ConfigHelpers_1.menus)("startToSign", "delete"),
pushButton: (0, ConfigHelpers_1.menus)("options", "properties", "delete"),
},
},
};
return JSON.stringify((0, ConfigHelpers_1.mergeDeep)(defaultConfig, overrides), null, 2);
}
//# sourceMappingURL=DefaultConfig.js.map