pptxgenjs
Version:
Create JavaScript PowerPoint Presentations
849 lines (841 loc) • 403 kB
JavaScript
/* PptxGenJS 3.2.1 @ 2020-05-25T19:45:07.798Z */
'use strict';
var JSZip = require('jszip');
/**
* PptxGenJS Enums
* NOTE: `enum` wont work for objects, so use `Object.freeze`
*/
// CONST
var EMU = 914400; // One (1) inch (OfficeXML measures in EMU (English Metric Units))
var ONEPT = 12700; // One (1) point (pt)
var CRLF = '\r\n'; // AKA: Chr(13) & Chr(10)
var LAYOUT_IDX_SERIES_BASE = 2147483649;
var REGEX_HEX_COLOR = /^[0-9a-fA-F]{6}$/;
var LINEH_MODIFIER = 1.67; // AKA: Golden Ratio Typography
var DEF_CELL_BORDER = { color: '666666' };
var DEF_CELL_MARGIN_PT = [3, 3, 3, 3]; // TRBL-style
var DEF_CHART_GRIDLINE = { color: '888888', style: 'solid', size: 1 };
var DEF_FONT_COLOR = '000000';
var DEF_FONT_SIZE = 12;
var DEF_FONT_TITLE_SIZE = 18;
var DEF_PRES_LAYOUT = 'LAYOUT_16x9';
var DEF_PRES_LAYOUT_NAME = 'DEFAULT';
var DEF_SLIDE_MARGIN_IN = [0.5, 0.5, 0.5, 0.5]; // TRBL-style
var DEF_SHAPE_SHADOW = { type: 'outer', blur: 3, offset: 23000 / 12700, angle: 90, color: '000000', opacity: 0.35, rotateWithShape: true };
var DEF_TEXT_GLOW = { size: 8, color: 'FFFFFF', opacity: 0.75 };
var AXIS_ID_VALUE_PRIMARY = '2094734552';
var AXIS_ID_VALUE_SECONDARY = '2094734553';
var AXIS_ID_CATEGORY_PRIMARY = '2094734554';
var AXIS_ID_CATEGORY_SECONDARY = '2094734555';
var AXIS_ID_SERIES_PRIMARY = '2094734556';
var LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
var BARCHART_COLORS = [
'C0504D',
'4F81BD',
'9BBB59',
'8064A2',
'4BACC6',
'F79646',
'628FC6',
'C86360',
'C0504D',
'4F81BD',
'9BBB59',
'8064A2',
'4BACC6',
'F79646',
'628FC6',
'C86360',
];
var PIECHART_COLORS = [
'5DA5DA',
'FAA43A',
'60BD68',
'F17CB0',
'B2912F',
'B276B2',
'DECF3F',
'F15854',
'A7A7A7',
'5DA5DA',
'FAA43A',
'60BD68',
'F17CB0',
'B2912F',
'B276B2',
'DECF3F',
'F15854',
'A7A7A7',
];
var TEXT_HALIGN;
(function (TEXT_HALIGN) {
TEXT_HALIGN["left"] = "left";
TEXT_HALIGN["center"] = "center";
TEXT_HALIGN["right"] = "right";
TEXT_HALIGN["justify"] = "justify";
})(TEXT_HALIGN || (TEXT_HALIGN = {}));
var TEXT_VALIGN;
(function (TEXT_VALIGN) {
TEXT_VALIGN["b"] = "b";
TEXT_VALIGN["ctr"] = "ctr";
TEXT_VALIGN["t"] = "t";
})(TEXT_VALIGN || (TEXT_VALIGN = {}));
var SLDNUMFLDID = '{F7021451-1387-4CA6-816F-3879F97B5CBC}';
// ENUM
// TODO: 3.5 or v4.0: rationalize ts-def exported enum names/case!
// NOTE: First tsdef enum named correctly (shapes -> 'Shape', colors -> 'Color'), etc.
var OutputType;
(function (OutputType) {
OutputType["arraybuffer"] = "arraybuffer";
OutputType["base64"] = "base64";
OutputType["binarystring"] = "binarystring";
OutputType["blob"] = "blob";
OutputType["nodebuffer"] = "nodebuffer";
OutputType["uint8array"] = "uint8array";
})(OutputType || (OutputType = {}));
var ChartType;
(function (ChartType) {
ChartType["area"] = "area";
ChartType["bar"] = "bar";
ChartType["bar3d"] = "bar3D";
ChartType["bubble"] = "bubble";
ChartType["doughnut"] = "doughnut";
ChartType["line"] = "line";
ChartType["pie"] = "pie";
ChartType["radar"] = "radar";
ChartType["scatter"] = "scatter";
})(ChartType || (ChartType = {}));
var ShapeType;
(function (ShapeType) {
ShapeType["accentBorderCallout1"] = "accentBorderCallout1";
ShapeType["accentBorderCallout2"] = "accentBorderCallout2";
ShapeType["accentBorderCallout3"] = "accentBorderCallout3";
ShapeType["accentCallout1"] = "accentCallout1";
ShapeType["accentCallout2"] = "accentCallout2";
ShapeType["accentCallout3"] = "accentCallout3";
ShapeType["actionButtonBackPrevious"] = "actionButtonBackPrevious";
ShapeType["actionButtonBeginning"] = "actionButtonBeginning";
ShapeType["actionButtonBlank"] = "actionButtonBlank";
ShapeType["actionButtonDocument"] = "actionButtonDocument";
ShapeType["actionButtonEnd"] = "actionButtonEnd";
ShapeType["actionButtonForwardNext"] = "actionButtonForwardNext";
ShapeType["actionButtonHelp"] = "actionButtonHelp";
ShapeType["actionButtonHome"] = "actionButtonHome";
ShapeType["actionButtonInformation"] = "actionButtonInformation";
ShapeType["actionButtonMovie"] = "actionButtonMovie";
ShapeType["actionButtonReturn"] = "actionButtonReturn";
ShapeType["actionButtonSound"] = "actionButtonSound";
ShapeType["arc"] = "arc";
ShapeType["bentArrow"] = "bentArrow";
ShapeType["bentUpArrow"] = "bentUpArrow";
ShapeType["bevel"] = "bevel";
ShapeType["blockArc"] = "blockArc";
ShapeType["borderCallout1"] = "borderCallout1";
ShapeType["borderCallout2"] = "borderCallout2";
ShapeType["borderCallout3"] = "borderCallout3";
ShapeType["bracePair"] = "bracePair";
ShapeType["bracketPair"] = "bracketPair";
ShapeType["callout1"] = "callout1";
ShapeType["callout2"] = "callout2";
ShapeType["callout3"] = "callout3";
ShapeType["can"] = "can";
ShapeType["chartPlus"] = "chartPlus";
ShapeType["chartStar"] = "chartStar";
ShapeType["chartX"] = "chartX";
ShapeType["chevron"] = "chevron";
ShapeType["chord"] = "chord";
ShapeType["circularArrow"] = "circularArrow";
ShapeType["cloud"] = "cloud";
ShapeType["cloudCallout"] = "cloudCallout";
ShapeType["corner"] = "corner";
ShapeType["cornerTabs"] = "cornerTabs";
ShapeType["cube"] = "cube";
ShapeType["curvedDownArrow"] = "curvedDownArrow";
ShapeType["curvedLeftArrow"] = "curvedLeftArrow";
ShapeType["curvedRightArrow"] = "curvedRightArrow";
ShapeType["curvedUpArrow"] = "curvedUpArrow";
ShapeType["decagon"] = "decagon";
ShapeType["diagStripe"] = "diagStripe";
ShapeType["diamond"] = "diamond";
ShapeType["dodecagon"] = "dodecagon";
ShapeType["donut"] = "donut";
ShapeType["doubleWave"] = "doubleWave";
ShapeType["downArrow"] = "downArrow";
ShapeType["downArrowCallout"] = "downArrowCallout";
ShapeType["ellipse"] = "ellipse";
ShapeType["ellipseRibbon"] = "ellipseRibbon";
ShapeType["ellipseRibbon2"] = "ellipseRibbon2";
ShapeType["flowChartAlternateProcess"] = "flowChartAlternateProcess";
ShapeType["flowChartCollate"] = "flowChartCollate";
ShapeType["flowChartConnector"] = "flowChartConnector";
ShapeType["flowChartDecision"] = "flowChartDecision";
ShapeType["flowChartDelay"] = "flowChartDelay";
ShapeType["flowChartDisplay"] = "flowChartDisplay";
ShapeType["flowChartDocument"] = "flowChartDocument";
ShapeType["flowChartExtract"] = "flowChartExtract";
ShapeType["flowChartInputOutput"] = "flowChartInputOutput";
ShapeType["flowChartInternalStorage"] = "flowChartInternalStorage";
ShapeType["flowChartMagneticDisk"] = "flowChartMagneticDisk";
ShapeType["flowChartMagneticDrum"] = "flowChartMagneticDrum";
ShapeType["flowChartMagneticTape"] = "flowChartMagneticTape";
ShapeType["flowChartManualInput"] = "flowChartManualInput";
ShapeType["flowChartManualOperation"] = "flowChartManualOperation";
ShapeType["flowChartMerge"] = "flowChartMerge";
ShapeType["flowChartMultidocument"] = "flowChartMultidocument";
ShapeType["flowChartOfflineStorage"] = "flowChartOfflineStorage";
ShapeType["flowChartOffpageConnector"] = "flowChartOffpageConnector";
ShapeType["flowChartOnlineStorage"] = "flowChartOnlineStorage";
ShapeType["flowChartOr"] = "flowChartOr";
ShapeType["flowChartPredefinedProcess"] = "flowChartPredefinedProcess";
ShapeType["flowChartPreparation"] = "flowChartPreparation";
ShapeType["flowChartProcess"] = "flowChartProcess";
ShapeType["flowChartPunchedCard"] = "flowChartPunchedCard";
ShapeType["flowChartPunchedTape"] = "flowChartPunchedTape";
ShapeType["flowChartSort"] = "flowChartSort";
ShapeType["flowChartSummingJunction"] = "flowChartSummingJunction";
ShapeType["flowChartTerminator"] = "flowChartTerminator";
ShapeType["folderCorner"] = "folderCorner";
ShapeType["frame"] = "frame";
ShapeType["funnel"] = "funnel";
ShapeType["gear6"] = "gear6";
ShapeType["gear9"] = "gear9";
ShapeType["halfFrame"] = "halfFrame";
ShapeType["heart"] = "heart";
ShapeType["heptagon"] = "heptagon";
ShapeType["hexagon"] = "hexagon";
ShapeType["homePlate"] = "homePlate";
ShapeType["horizontalScroll"] = "horizontalScroll";
ShapeType["irregularSeal1"] = "irregularSeal1";
ShapeType["irregularSeal2"] = "irregularSeal2";
ShapeType["leftArrow"] = "leftArrow";
ShapeType["leftArrowCallout"] = "leftArrowCallout";
ShapeType["leftBrace"] = "leftBrace";
ShapeType["leftBracket"] = "leftBracket";
ShapeType["leftCircularArrow"] = "leftCircularArrow";
ShapeType["leftRightArrow"] = "leftRightArrow";
ShapeType["leftRightArrowCallout"] = "leftRightArrowCallout";
ShapeType["leftRightCircularArrow"] = "leftRightCircularArrow";
ShapeType["leftRightRibbon"] = "leftRightRibbon";
ShapeType["leftRightUpArrow"] = "leftRightUpArrow";
ShapeType["leftUpArrow"] = "leftUpArrow";
ShapeType["lightningBolt"] = "lightningBolt";
ShapeType["line"] = "line";
ShapeType["lineInv"] = "lineInv";
ShapeType["mathDivide"] = "mathDivide";
ShapeType["mathEqual"] = "mathEqual";
ShapeType["mathMinus"] = "mathMinus";
ShapeType["mathMultiply"] = "mathMultiply";
ShapeType["mathNotEqual"] = "mathNotEqual";
ShapeType["mathPlus"] = "mathPlus";
ShapeType["moon"] = "moon";
ShapeType["nonIsoscelesTrapezoid"] = "nonIsoscelesTrapezoid";
ShapeType["noSmoking"] = "noSmoking";
ShapeType["notchedRightArrow"] = "notchedRightArrow";
ShapeType["octagon"] = "octagon";
ShapeType["parallelogram"] = "parallelogram";
ShapeType["pentagon"] = "pentagon";
ShapeType["pie"] = "pie";
ShapeType["pieWedge"] = "pieWedge";
ShapeType["plaque"] = "plaque";
ShapeType["plaqueTabs"] = "plaqueTabs";
ShapeType["plus"] = "plus";
ShapeType["quadArrow"] = "quadArrow";
ShapeType["quadArrowCallout"] = "quadArrowCallout";
ShapeType["rect"] = "rect";
ShapeType["ribbon"] = "ribbon";
ShapeType["ribbon2"] = "ribbon2";
ShapeType["rightArrow"] = "rightArrow";
ShapeType["rightArrowCallout"] = "rightArrowCallout";
ShapeType["rightBrace"] = "rightBrace";
ShapeType["rightBracket"] = "rightBracket";
ShapeType["round1Rect"] = "round1Rect";
ShapeType["round2DiagRect"] = "round2DiagRect";
ShapeType["round2SameRect"] = "round2SameRect";
ShapeType["roundRect"] = "roundRect";
ShapeType["rtTriangle"] = "rtTriangle";
ShapeType["smileyFace"] = "smileyFace";
ShapeType["snip1Rect"] = "snip1Rect";
ShapeType["snip2DiagRect"] = "snip2DiagRect";
ShapeType["snip2SameRect"] = "snip2SameRect";
ShapeType["snipRoundRect"] = "snipRoundRect";
ShapeType["squareTabs"] = "squareTabs";
ShapeType["star10"] = "star10";
ShapeType["star12"] = "star12";
ShapeType["star16"] = "star16";
ShapeType["star24"] = "star24";
ShapeType["star32"] = "star32";
ShapeType["star4"] = "star4";
ShapeType["star5"] = "star5";
ShapeType["star6"] = "star6";
ShapeType["star7"] = "star7";
ShapeType["star8"] = "star8";
ShapeType["stripedRightArrow"] = "stripedRightArrow";
ShapeType["sun"] = "sun";
ShapeType["swooshArrow"] = "swooshArrow";
ShapeType["teardrop"] = "teardrop";
ShapeType["trapezoid"] = "trapezoid";
ShapeType["triangle"] = "triangle";
ShapeType["upArrow"] = "upArrow";
ShapeType["upArrowCallout"] = "upArrowCallout";
ShapeType["upDownArrow"] = "upDownArrow";
ShapeType["upDownArrowCallout"] = "upDownArrowCallout";
ShapeType["uturnArrow"] = "uturnArrow";
ShapeType["verticalScroll"] = "verticalScroll";
ShapeType["wave"] = "wave";
ShapeType["wedgeEllipseCallout"] = "wedgeEllipseCallout";
ShapeType["wedgeRectCallout"] = "wedgeRectCallout";
ShapeType["wedgeRoundRectCallout"] = "wedgeRoundRectCallout";
})(ShapeType || (ShapeType = {}));
var SchemeColor;
(function (SchemeColor) {
SchemeColor["text1"] = "tx1";
SchemeColor["text2"] = "tx2";
SchemeColor["background1"] = "bg1";
SchemeColor["background2"] = "bg2";
SchemeColor["accent1"] = "accent1";
SchemeColor["accent2"] = "accent2";
SchemeColor["accent3"] = "accent3";
SchemeColor["accent4"] = "accent4";
SchemeColor["accent5"] = "accent5";
SchemeColor["accent6"] = "accent6";
})(SchemeColor || (SchemeColor = {}));
var AlignH;
(function (AlignH) {
AlignH["left"] = "left";
AlignH["center"] = "center";
AlignH["right"] = "right";
AlignH["justify"] = "justify";
})(AlignH || (AlignH = {}));
var AlignV;
(function (AlignV) {
AlignV["top"] = "top";
AlignV["middle"] = "middle";
AlignV["bottom"] = "bottom";
})(AlignV || (AlignV = {}));
var SHAPE_TYPE;
(function (SHAPE_TYPE) {
SHAPE_TYPE["ACTION_BUTTON_BACK_OR_PREVIOUS"] = "actionButtonBackPrevious";
SHAPE_TYPE["ACTION_BUTTON_BEGINNING"] = "actionButtonBeginning";
SHAPE_TYPE["ACTION_BUTTON_CUSTOM"] = "actionButtonBlank";
SHAPE_TYPE["ACTION_BUTTON_DOCUMENT"] = "actionButtonDocument";
SHAPE_TYPE["ACTION_BUTTON_END"] = "actionButtonEnd";
SHAPE_TYPE["ACTION_BUTTON_FORWARD_OR_NEXT"] = "actionButtonForwardNext";
SHAPE_TYPE["ACTION_BUTTON_HELP"] = "actionButtonHelp";
SHAPE_TYPE["ACTION_BUTTON_HOME"] = "actionButtonHome";
SHAPE_TYPE["ACTION_BUTTON_INFORMATION"] = "actionButtonInformation";
SHAPE_TYPE["ACTION_BUTTON_MOVIE"] = "actionButtonMovie";
SHAPE_TYPE["ACTION_BUTTON_RETURN"] = "actionButtonReturn";
SHAPE_TYPE["ACTION_BUTTON_SOUND"] = "actionButtonSound";
SHAPE_TYPE["ARC"] = "arc";
SHAPE_TYPE["BALLOON"] = "wedgeRoundRectCallout";
SHAPE_TYPE["BENT_ARROW"] = "bentArrow";
SHAPE_TYPE["BENT_UP_ARROW"] = "bentUpArrow";
SHAPE_TYPE["BEVEL"] = "bevel";
SHAPE_TYPE["BLOCK_ARC"] = "blockArc";
SHAPE_TYPE["CAN"] = "can";
SHAPE_TYPE["CHART_PLUS"] = "chartPlus";
SHAPE_TYPE["CHART_STAR"] = "chartStar";
SHAPE_TYPE["CHART_X"] = "chartX";
SHAPE_TYPE["CHEVRON"] = "chevron";
SHAPE_TYPE["CHORD"] = "chord";
SHAPE_TYPE["CIRCULAR_ARROW"] = "circularArrow";
SHAPE_TYPE["CLOUD"] = "cloud";
SHAPE_TYPE["CLOUD_CALLOUT"] = "cloudCallout";
SHAPE_TYPE["CORNER"] = "corner";
SHAPE_TYPE["CORNER_TABS"] = "cornerTabs";
SHAPE_TYPE["CROSS"] = "plus";
SHAPE_TYPE["CUBE"] = "cube";
SHAPE_TYPE["CURVED_DOWN_ARROW"] = "curvedDownArrow";
SHAPE_TYPE["CURVED_DOWN_RIBBON"] = "ellipseRibbon";
SHAPE_TYPE["CURVED_LEFT_ARROW"] = "curvedLeftArrow";
SHAPE_TYPE["CURVED_RIGHT_ARROW"] = "curvedRightArrow";
SHAPE_TYPE["CURVED_UP_ARROW"] = "curvedUpArrow";
SHAPE_TYPE["CURVED_UP_RIBBON"] = "ellipseRibbon2";
SHAPE_TYPE["DECAGON"] = "decagon";
SHAPE_TYPE["DIAGONAL_STRIPE"] = "diagStripe";
SHAPE_TYPE["DIAMOND"] = "diamond";
SHAPE_TYPE["DODECAGON"] = "dodecagon";
SHAPE_TYPE["DONUT"] = "donut";
SHAPE_TYPE["DOUBLE_BRACE"] = "bracePair";
SHAPE_TYPE["DOUBLE_BRACKET"] = "bracketPair";
SHAPE_TYPE["DOUBLE_WAVE"] = "doubleWave";
SHAPE_TYPE["DOWN_ARROW"] = "downArrow";
SHAPE_TYPE["DOWN_ARROW_CALLOUT"] = "downArrowCallout";
SHAPE_TYPE["DOWN_RIBBON"] = "ribbon";
SHAPE_TYPE["EXPLOSION1"] = "irregularSeal1";
SHAPE_TYPE["EXPLOSION2"] = "irregularSeal2";
SHAPE_TYPE["FLOWCHART_ALTERNATE_PROCESS"] = "flowChartAlternateProcess";
SHAPE_TYPE["FLOWCHART_CARD"] = "flowChartPunchedCard";
SHAPE_TYPE["FLOWCHART_COLLATE"] = "flowChartCollate";
SHAPE_TYPE["FLOWCHART_CONNECTOR"] = "flowChartConnector";
SHAPE_TYPE["FLOWCHART_DATA"] = "flowChartInputOutput";
SHAPE_TYPE["FLOWCHART_DECISION"] = "flowChartDecision";
SHAPE_TYPE["FLOWCHART_DELAY"] = "flowChartDelay";
SHAPE_TYPE["FLOWCHART_DIRECT_ACCESS_STORAGE"] = "flowChartMagneticDrum";
SHAPE_TYPE["FLOWCHART_DISPLAY"] = "flowChartDisplay";
SHAPE_TYPE["FLOWCHART_DOCUMENT"] = "flowChartDocument";
SHAPE_TYPE["FLOWCHART_EXTRACT"] = "flowChartExtract";
SHAPE_TYPE["FLOWCHART_INTERNAL_STORAGE"] = "flowChartInternalStorage";
SHAPE_TYPE["FLOWCHART_MAGNETIC_DISK"] = "flowChartMagneticDisk";
SHAPE_TYPE["FLOWCHART_MANUAL_INPUT"] = "flowChartManualInput";
SHAPE_TYPE["FLOWCHART_MANUAL_OPERATION"] = "flowChartManualOperation";
SHAPE_TYPE["FLOWCHART_MERGE"] = "flowChartMerge";
SHAPE_TYPE["FLOWCHART_MULTIDOCUMENT"] = "flowChartMultidocument";
SHAPE_TYPE["FLOWCHART_OFFLINE_STORAGE"] = "flowChartOfflineStorage";
SHAPE_TYPE["FLOWCHART_OFFPAGE_CONNECTOR"] = "flowChartOffpageConnector";
SHAPE_TYPE["FLOWCHART_OR"] = "flowChartOr";
SHAPE_TYPE["FLOWCHART_PREDEFINED_PROCESS"] = "flowChartPredefinedProcess";
SHAPE_TYPE["FLOWCHART_PREPARATION"] = "flowChartPreparation";
SHAPE_TYPE["FLOWCHART_PROCESS"] = "flowChartProcess";
SHAPE_TYPE["FLOWCHART_PUNCHED_TAPE"] = "flowChartPunchedTape";
SHAPE_TYPE["FLOWCHART_SEQUENTIAL_ACCESS_STORAGE"] = "flowChartMagneticTape";
SHAPE_TYPE["FLOWCHART_SORT"] = "flowChartSort";
SHAPE_TYPE["FLOWCHART_STORED_DATA"] = "flowChartOnlineStorage";
SHAPE_TYPE["FLOWCHART_SUMMING_JUNCTION"] = "flowChartSummingJunction";
SHAPE_TYPE["FLOWCHART_TERMINATOR"] = "flowChartTerminator";
SHAPE_TYPE["FOLDED_CORNER"] = "folderCorner";
SHAPE_TYPE["FRAME"] = "frame";
SHAPE_TYPE["FUNNEL"] = "funnel";
SHAPE_TYPE["GEAR_6"] = "gear6";
SHAPE_TYPE["GEAR_9"] = "gear9";
SHAPE_TYPE["HALF_FRAME"] = "halfFrame";
SHAPE_TYPE["HEART"] = "heart";
SHAPE_TYPE["HEPTAGON"] = "heptagon";
SHAPE_TYPE["HEXAGON"] = "hexagon";
SHAPE_TYPE["HORIZONTAL_SCROLL"] = "horizontalScroll";
SHAPE_TYPE["ISOSCELES_TRIANGLE"] = "triangle";
SHAPE_TYPE["LEFT_ARROW"] = "leftArrow";
SHAPE_TYPE["LEFT_ARROW_CALLOUT"] = "leftArrowCallout";
SHAPE_TYPE["LEFT_BRACE"] = "leftBrace";
SHAPE_TYPE["LEFT_BRACKET"] = "leftBracket";
SHAPE_TYPE["LEFT_CIRCULAR_ARROW"] = "leftCircularArrow";
SHAPE_TYPE["LEFT_RIGHT_ARROW"] = "leftRightArrow";
SHAPE_TYPE["LEFT_RIGHT_ARROW_CALLOUT"] = "leftRightArrowCallout";
SHAPE_TYPE["LEFT_RIGHT_CIRCULAR_ARROW"] = "leftRightCircularArrow";
SHAPE_TYPE["LEFT_RIGHT_RIBBON"] = "leftRightRibbon";
SHAPE_TYPE["LEFT_RIGHT_UP_ARROW"] = "leftRightUpArrow";
SHAPE_TYPE["LEFT_UP_ARROW"] = "leftUpArrow";
SHAPE_TYPE["LIGHTNING_BOLT"] = "lightningBolt";
SHAPE_TYPE["LINE_CALLOUT_1"] = "borderCallout1";
SHAPE_TYPE["LINE_CALLOUT_1_ACCENT_BAR"] = "accentCallout1";
SHAPE_TYPE["LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout1";
SHAPE_TYPE["LINE_CALLOUT_1_NO_BORDER"] = "callout1";
SHAPE_TYPE["LINE_CALLOUT_2"] = "borderCallout2";
SHAPE_TYPE["LINE_CALLOUT_2_ACCENT_BAR"] = "accentCallout2";
SHAPE_TYPE["LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout2";
SHAPE_TYPE["LINE_CALLOUT_2_NO_BORDER"] = "callout2";
SHAPE_TYPE["LINE_CALLOUT_3"] = "borderCallout3";
SHAPE_TYPE["LINE_CALLOUT_3_ACCENT_BAR"] = "accentCallout3";
SHAPE_TYPE["LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout3";
SHAPE_TYPE["LINE_CALLOUT_3_NO_BORDER"] = "callout3";
SHAPE_TYPE["LINE_CALLOUT_4"] = "borderCallout3";
SHAPE_TYPE["LINE_CALLOUT_4_ACCENT_BAR"] = "accentCallout3";
SHAPE_TYPE["LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout3";
SHAPE_TYPE["LINE_CALLOUT_4_NO_BORDER"] = "callout3";
SHAPE_TYPE["LINE"] = "line";
SHAPE_TYPE["LINE_INVERSE"] = "lineInv";
SHAPE_TYPE["MATH_DIVIDE"] = "mathDivide";
SHAPE_TYPE["MATH_EQUAL"] = "mathEqual";
SHAPE_TYPE["MATH_MINUS"] = "mathMinus";
SHAPE_TYPE["MATH_MULTIPLY"] = "mathMultiply";
SHAPE_TYPE["MATH_NOT_EQUAL"] = "mathNotEqual";
SHAPE_TYPE["MATH_PLUS"] = "mathPlus";
SHAPE_TYPE["MOON"] = "moon";
SHAPE_TYPE["NON_ISOSCELES_TRAPEZOID"] = "nonIsoscelesTrapezoid";
SHAPE_TYPE["NOTCHED_RIGHT_ARROW"] = "notchedRightArrow";
SHAPE_TYPE["NO_SYMBOL"] = "noSmoking";
SHAPE_TYPE["OCTAGON"] = "octagon";
SHAPE_TYPE["OVAL"] = "ellipse";
SHAPE_TYPE["OVAL_CALLOUT"] = "wedgeEllipseCallout";
SHAPE_TYPE["PARALLELOGRAM"] = "parallelogram";
SHAPE_TYPE["PENTAGON"] = "homePlate";
SHAPE_TYPE["PIE"] = "pie";
SHAPE_TYPE["PIE_WEDGE"] = "pieWedge";
SHAPE_TYPE["PLAQUE"] = "plaque";
SHAPE_TYPE["PLAQUE_TABS"] = "plaqueTabs";
SHAPE_TYPE["QUAD_ARROW"] = "quadArrow";
SHAPE_TYPE["QUAD_ARROW_CALLOUT"] = "quadArrowCallout";
SHAPE_TYPE["RECTANGLE"] = "rect";
SHAPE_TYPE["RECTANGULAR_CALLOUT"] = "wedgeRectCallout";
SHAPE_TYPE["REGULAR_PENTAGON"] = "pentagon";
SHAPE_TYPE["RIGHT_ARROW"] = "rightArrow";
SHAPE_TYPE["RIGHT_ARROW_CALLOUT"] = "rightArrowCallout";
SHAPE_TYPE["RIGHT_BRACE"] = "rightBrace";
SHAPE_TYPE["RIGHT_BRACKET"] = "rightBracket";
SHAPE_TYPE["RIGHT_TRIANGLE"] = "rtTriangle";
SHAPE_TYPE["ROUNDED_RECTANGLE"] = "roundRect";
SHAPE_TYPE["ROUNDED_RECTANGULAR_CALLOUT"] = "wedgeRoundRectCallout";
SHAPE_TYPE["ROUND_1_RECTANGLE"] = "round1Rect";
SHAPE_TYPE["ROUND_2_DIAG_RECTANGLE"] = "round2DiagRect";
SHAPE_TYPE["ROUND_2_SAME_RECTANGLE"] = "round2SameRect";
SHAPE_TYPE["SMILEY_FACE"] = "smileyFace";
SHAPE_TYPE["SNIP_1_RECTANGLE"] = "snip1Rect";
SHAPE_TYPE["SNIP_2_DIAG_RECTANGLE"] = "snip2DiagRect";
SHAPE_TYPE["SNIP_2_SAME_RECTANGLE"] = "snip2SameRect";
SHAPE_TYPE["SNIP_ROUND_RECTANGLE"] = "snipRoundRect";
SHAPE_TYPE["SQUARE_TABS"] = "squareTabs";
SHAPE_TYPE["STAR_10_POINT"] = "star10";
SHAPE_TYPE["STAR_12_POINT"] = "star12";
SHAPE_TYPE["STAR_16_POINT"] = "star16";
SHAPE_TYPE["STAR_24_POINT"] = "star24";
SHAPE_TYPE["STAR_32_POINT"] = "star32";
SHAPE_TYPE["STAR_4_POINT"] = "star4";
SHAPE_TYPE["STAR_5_POINT"] = "star5";
SHAPE_TYPE["STAR_6_POINT"] = "star6";
SHAPE_TYPE["STAR_7_POINT"] = "star7";
SHAPE_TYPE["STAR_8_POINT"] = "star8";
SHAPE_TYPE["STRIPED_RIGHT_ARROW"] = "stripedRightArrow";
SHAPE_TYPE["SUN"] = "sun";
SHAPE_TYPE["SWOOSH_ARROW"] = "swooshArrow";
SHAPE_TYPE["TEAR"] = "teardrop";
SHAPE_TYPE["TRAPEZOID"] = "trapezoid";
SHAPE_TYPE["UP_ARROW"] = "upArrow";
SHAPE_TYPE["UP_ARROW_CALLOUT"] = "upArrowCallout";
SHAPE_TYPE["UP_DOWN_ARROW"] = "upDownArrow";
SHAPE_TYPE["UP_DOWN_ARROW_CALLOUT"] = "upDownArrowCallout";
SHAPE_TYPE["UP_RIBBON"] = "ribbon2";
SHAPE_TYPE["U_TURN_ARROW"] = "uturnArrow";
SHAPE_TYPE["VERTICAL_SCROLL"] = "verticalScroll";
SHAPE_TYPE["WAVE"] = "wave";
})(SHAPE_TYPE || (SHAPE_TYPE = {}));
var CHART_TYPE;
(function (CHART_TYPE) {
CHART_TYPE["AREA"] = "area";
CHART_TYPE["BAR"] = "bar";
CHART_TYPE["BAR3D"] = "bar3D";
CHART_TYPE["BUBBLE"] = "bubble";
CHART_TYPE["DOUGHNUT"] = "doughnut";
CHART_TYPE["LINE"] = "line";
CHART_TYPE["PIE"] = "pie";
CHART_TYPE["RADAR"] = "radar";
CHART_TYPE["SCATTER"] = "scatter";
})(CHART_TYPE || (CHART_TYPE = {}));
var SCHEME_COLOR_NAMES;
(function (SCHEME_COLOR_NAMES) {
SCHEME_COLOR_NAMES["TEXT1"] = "tx1";
SCHEME_COLOR_NAMES["TEXT2"] = "tx2";
SCHEME_COLOR_NAMES["BACKGROUND1"] = "bg1";
SCHEME_COLOR_NAMES["BACKGROUND2"] = "bg2";
SCHEME_COLOR_NAMES["ACCENT1"] = "accent1";
SCHEME_COLOR_NAMES["ACCENT2"] = "accent2";
SCHEME_COLOR_NAMES["ACCENT3"] = "accent3";
SCHEME_COLOR_NAMES["ACCENT4"] = "accent4";
SCHEME_COLOR_NAMES["ACCENT5"] = "accent5";
SCHEME_COLOR_NAMES["ACCENT6"] = "accent6";
})(SCHEME_COLOR_NAMES || (SCHEME_COLOR_NAMES = {}));
var MASTER_OBJECTS;
(function (MASTER_OBJECTS) {
MASTER_OBJECTS["chart"] = "chart";
MASTER_OBJECTS["image"] = "image";
MASTER_OBJECTS["line"] = "line";
MASTER_OBJECTS["rect"] = "rect";
MASTER_OBJECTS["text"] = "text";
MASTER_OBJECTS["placeholder"] = "placeholder";
})(MASTER_OBJECTS || (MASTER_OBJECTS = {}));
var SLIDE_OBJECT_TYPES;
(function (SLIDE_OBJECT_TYPES) {
SLIDE_OBJECT_TYPES["chart"] = "chart";
SLIDE_OBJECT_TYPES["hyperlink"] = "hyperlink";
SLIDE_OBJECT_TYPES["image"] = "image";
SLIDE_OBJECT_TYPES["media"] = "media";
SLIDE_OBJECT_TYPES["online"] = "online";
SLIDE_OBJECT_TYPES["placeholder"] = "placeholder";
SLIDE_OBJECT_TYPES["table"] = "table";
SLIDE_OBJECT_TYPES["tablecell"] = "tablecell";
SLIDE_OBJECT_TYPES["text"] = "text";
SLIDE_OBJECT_TYPES["notes"] = "notes";
})(SLIDE_OBJECT_TYPES || (SLIDE_OBJECT_TYPES = {}));
var PLACEHOLDER_TYPES;
(function (PLACEHOLDER_TYPES) {
PLACEHOLDER_TYPES["title"] = "title";
PLACEHOLDER_TYPES["body"] = "body";
PLACEHOLDER_TYPES["image"] = "pic";
PLACEHOLDER_TYPES["chart"] = "chart";
PLACEHOLDER_TYPES["table"] = "tbl";
PLACEHOLDER_TYPES["media"] = "media";
})(PLACEHOLDER_TYPES || (PLACEHOLDER_TYPES = {}));
/**
* NOTE: 20170304: BULLET_TYPES: Only default is used so far. I'd like to combine the two pieces of code that use these before implementing these as options
* Since we close <p> within the text object bullets, its slightly more difficult than combining into a func and calling to get the paraProp
* and i'm not sure if anyone will even use these... so, skipping for now.
*/
var BULLET_TYPES;
(function (BULLET_TYPES) {
BULLET_TYPES["DEFAULT"] = "•";
BULLET_TYPES["CHECK"] = "✓";
BULLET_TYPES["STAR"] = "★";
BULLET_TYPES["TRIANGLE"] = "▶";
})(BULLET_TYPES || (BULLET_TYPES = {}));
// IMAGES (base64)
var IMG_BROKEN = 'data:image/png;base64,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';
var IMG_PLAYBTN = 'data:image/png;base64,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';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
/**
* PptxGenJS: Utility Methods
*/
/**
* Convert string percentages to number relative to slide size
* @param {number|string} size - numeric ("5.5") or percentage ("90%")
* @param {'X' | 'Y'} xyDir - direction
* @param {ILayout} layout - presentation layout
* @returns {number} calculated size
*/
function getSmartParseNumber(size, xyDir, layout) {
// FIRST: Convert string numeric value if reqd
if (typeof size === 'string' && !isNaN(Number(size)))
size = Number(size);
// CASE 1: Number in inches
// Assume any number less than 100 is inches
if (typeof size === 'number' && size < 100)
return inch2Emu(size);
// CASE 2: Number is already converted to something other than inches
// Assume any number greater than 100 is not inches! Just return it (its EMU already i guess??)
if (typeof size === 'number' && size >= 100)
return size;
// CASE 3: Percentage (ex: '50%')
if (typeof size === 'string' && size.indexOf('%') > -1) {
if (xyDir && xyDir === 'X')
return Math.round((parseFloat(size) / 100) * layout.width);
if (xyDir && xyDir === 'Y')
return Math.round((parseFloat(size) / 100) * layout.height);
// Default: Assume width (x/cx)
return Math.round((parseFloat(size) / 100) * layout.width);
}
// LAST: Default value
return 0;
}
/**
* Basic UUID Generator Adapted
* @link https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript#answer-2117523
* @param {string} uuidFormat - UUID format
* @returns {string} UUID
*/
function getUuid(uuidFormat) {
return uuidFormat.replace(/[xy]/g, function (c) {
var r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
/**
* TODO: What does this method do again??
* shallow mix, returns new object
*/
function getMix(o1, o2, etc) {
var objMix = {};
var _loop_1 = function (i) {
var oN = arguments_1[i];
if (oN)
Object.keys(oN).forEach(function (key) {
objMix[key] = oN[key];
});
};
var arguments_1 = arguments;
for (var i = 0; i <= arguments.length; i++) {
_loop_1(i);
}
return objMix;
}
/**
* Replace special XML characters with HTML-encoded strings
* @param {string} xml - XML string to encode
* @returns {string} escaped XML
*/
function encodeXmlEntities(xml) {
// NOTE: Dont use short-circuit eval here as value c/b "0" (zero) etc.!
if (typeof xml === 'undefined' || xml == null)
return '';
return xml
.toString()
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
/**
* Convert inches into EMU
* @param {number|string} inches - as string or number
* @returns {number} EMU value
*/
function inch2Emu(inches) {
// FIRST: Provide Caller Safety: Numbers may get conv<->conv during flight, so be kind and do some simple checks to ensure inches were passed
// Any value over 100 damn sure isnt inches, must be EMU already, so just return it
if (typeof inches === 'number' && inches > 100)
return inches;
if (typeof inches === 'string')
inches = Number(inches.replace(/in*/gi, ''));
return Math.round(EMU * inches);
}
/**
* Convert degrees (0..360) to PowerPoint `rot` value
*
* @param {number} d - degrees
* @returns {number} rot - value
*/
function convertRotationDegrees(d) {
d = d || 0;
return (d > 360 ? d - 360 : d) * 60000;
}
/**
* Converts component value to hex value
* @param {number} c - component color
* @returns {string} hex string
*/
function componentToHex(c) {
var hex = c.toString(16);
return hex.length === 1 ? '0' + hex : hex;
}
/**
* Converts RGB colors from css selectors to Hex for Presentation colors
* @param {number} r - red value
* @param {number} g - green value
* @param {number} b - blue value
* @returns {string} XML string
*/
function rgbToHex(r, g, b) {
return (componentToHex(r) + componentToHex(g) + componentToHex(b)).toUpperCase();
}
/**
* Create either a `a:schemeClr` - (scheme color) or `a:srgbClr` (hexa representation).
* @param {string|SCHEME_COLORS} colorStr - hexa representation (eg. "FFFF00") or a scheme color constant (eg. pptx.SchemeColor.ACCENT1)
* @param {string} innerElements - additional elements that adjust the color and are enclosed by the color element
* @returns {string} XML string
*/
function createColorElement(colorStr, innerElements) {
var isHexaRgb = REGEX_HEX_COLOR.test(colorStr);
if (!isHexaRgb &&
colorStr !== SchemeColor.text1 &&
colorStr !== SchemeColor.text2 &&
colorStr !== SchemeColor.background1 &&
colorStr !== SchemeColor.background2 &&
colorStr !== SchemeColor.accent1 &&
colorStr !== SchemeColor.accent2 &&
colorStr !== SchemeColor.accent3 &&
colorStr !== SchemeColor.accent4 &&
colorStr !== SchemeColor.accent5 &&
colorStr !== SchemeColor.accent6) {
console.warn("\"" + colorStr + "\" is not a valid scheme color or hexa RGB! \"" + DEF_FONT_COLOR + "\" is used as a fallback. Pass 6-digit RGB or 'pptx.SchemeColor' values");
colorStr = DEF_FONT_COLOR;
}
var tagName = isHexaRgb ? 'srgbClr' : 'schemeClr';
var colorAttr = ' val="' + (isHexaRgb ? (colorStr || '').toUpperCase() : colorStr) + '"';
return innerElements ? '<a:' + tagName + colorAttr + '>' + innerElements + '</a:' + tagName + '>' : '<a:' + tagName + colorAttr + '/>';
}
/**
* Creates `a:glow` element
* @param {Object} opts glow properties
* @param {Object} defaults defaults for unspecified properties in `opts`
* @see http://officeopenxml.com/drwSp-effects.php
* { size: 8, color: 'FFFFFF', opacity: 0.75 };
*/
function createGlowElement(options, defaults) {
var strXml = '', opts = getMix(defaults, options), size = opts['size'] * ONEPT, color = opts['color'], opacity = opts['opacity'] * 100000;
strXml += "<a:glow rad=\"" + size + "\">";
strXml += createColorElement(color, "<a:alpha val=\"" + opacity + "\"/>");
strXml += "</a:glow>";
return strXml;
}
/**
* Create color selection
* @param {ShapeFill} shapeFill - options
* @param {string} backColor - color string
* @returns {string} XML string
*/
function genXmlColorSelection(shapeFill, backColor) {
var colorVal = '';
var fillType = 'solid';
var internalElements = '';
var outText = '';
if (backColor && typeof backColor === 'string') {
outText += "<p:bg><p:bgPr>" + genXmlColorSelection(backColor.replace('#', '')) + "<a:effectLst/></p:bgPr></p:bg>";
}
if (shapeFill) {
if (typeof shapeFill === 'string')
colorVal = shapeFill;
else {
if (shapeFill.type)
fillType = shapeFill.type;
if (shapeFill.color)
colorVal = shapeFill.color;
if (shapeFill.alpha)
internalElements += "<a:alpha val=\"" + (100 - shapeFill.alpha) + "000\"/>";
}
switch (fillType) {
case 'solid':
outText += "<a:solidFill>" + createColorElement(colorVal, internalElements) + "</a:solidFill>";
break;
default:
outText += ''; // @note need a statement as having only "break" is removed by rollup, then tiggers "no-default" js-linter
break;
}
}
return outText;
}
/**
* Get a new rel ID (rId) for charts, media, etc.
* @param {ISlideLib} target - the slide to use
* @returns {number} count of all current rels plus 1 for the caller to use as its "rId"
*/
function getNewRelId(target) {
return target.rels.length + target.relsChart.length + target.relsMedia.length + 1;
}
/**
* PptxGenJS: Table Generation
*/
/**
* Break text paragraphs into lines based upon table column width (e.g.: Magic Happens Here(tm))
* @param {ITableCell} cell - table cell
* @param {number} colWidth - table column width
* @return {string[]} XML
*/
function parseTextToLines(cell, colWidth) {
var CHAR = 2.2 + (cell.options && cell.options.autoPageCharWeight ? cell.options.autoPageCharWeight : 0); // Character Constant (An approximation of the Golden Ratio)
var CPL = (colWidth * EMU) / (((cell.options && cell.options.fontSize) || DEF_FONT_SIZE) / CHAR); // Chars-Per-Line
var arrLines = [];
var strCurrLine = '';
// A: Allow a single space/whitespace as cell text (user-requested feature)
if (cell.text && cell.text.toString().trim().length === 0)
return [' '];
// B: Remove leading/trailing spaces
var inStr = (cell.text || '').toString().trim();
// C: Build line array
inStr.split('\n').forEach(function (line) {
line.split(' ').forEach(function (word) {
if (strCurrLine.length + word.length + 1 < CPL) {
strCurrLine += word + ' ';
}
else {
if (strCurrLine)
arrLines.push(strCurrLine);
strCurrLine = word + ' ';
}
});
// All words for this line have been exhausted, flush buffer to new line, clear line var
if (strCurrLine)
arrLines.push(strCurrLine.trim() + CRLF);
strCurrLine = '';
});
// D: Remove trailing linebreak
arrLines[arrLines.length - 1] = arrLines[arrLines.length - 1].trim();
return arrLines;
}
/**
* Takes an array of table rows and breaks into an array of