presenter 0.6.0 → 0.6.2

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.
Files changed (149) hide show
  1. package/dist/{src/constructors → constructors}/Grid.d.ts +15 -0
  2. package/dist/{src/export → export}/index.d.ts +1 -0
  3. package/dist/export/powerpoint-renderer/PowerPointRenderer.d.ts +11 -0
  4. package/dist/export/powerpoint-renderer/objects/renderArrow.d.ts +3 -0
  5. package/dist/export/powerpoint-renderer/objects/renderCircle.d.ts +3 -0
  6. package/dist/export/powerpoint-renderer/objects/renderGroup.d.ts +3 -0
  7. package/dist/export/powerpoint-renderer/objects/renderImage.d.ts +3 -0
  8. package/dist/export/powerpoint-renderer/objects/renderLine.d.ts +3 -0
  9. package/dist/export/powerpoint-renderer/objects/renderPath.d.ts +3 -0
  10. package/dist/export/powerpoint-renderer/objects/renderPolygon.d.ts +3 -0
  11. package/dist/export/powerpoint-renderer/objects/renderRectangle.d.ts +3 -0
  12. package/dist/export/powerpoint-renderer/objects/renderText.d.ts +3 -0
  13. package/dist/export/powerpoint-renderer/types/ObjectTransform.d.ts +7 -0
  14. package/dist/export/powerpoint-renderer/types/PowerPointObjectRenderer.d.ts +16 -0
  15. package/dist/export/powerpoint-renderer/types/PowerPointRendererProps.d.ts +9 -0
  16. package/dist/export/powerpoint-renderer/types/PowerPointRendererState.d.ts +4 -0
  17. package/dist/export/powerpoint-renderer/utils/defaultObjectRenderers.d.ts +10 -0
  18. package/dist/export/powerpoint-renderer/utils/getImagePathById.d.ts +1 -0
  19. package/dist/export/powerpoint-renderer/utils/getPptxFillColor.d.ts +9 -0
  20. package/dist/export/powerpoint-renderer/utils/getPptxText.d.ts +13 -0
  21. package/dist/export/powerpoint-renderer/utils/getTransformedBoundingBox.d.ts +6 -0
  22. package/dist/export/powerpoint-renderer/utils/getUnitsFromPixels.d.ts +9 -0
  23. package/dist/export/utils/createPath2D.d.ts +2 -0
  24. package/dist/export.js +1 -1
  25. package/dist/extras/IFrame.d.ts +17 -0
  26. package/dist/extras/ScreenCapture.d.ts +13 -0
  27. package/dist/{src/index.d.ts → index.d.ts} +3 -0
  28. package/dist/presenter.js +1 -1
  29. package/dist/{src/renderer → renderer}/browser-canvas/types/BrowserCanvasRendererState.d.ts +2 -0
  30. package/dist/renderer/browser-canvas/utils/createPath2D.d.ts +2 -0
  31. package/dist/renderer/browser-canvas/utils/extras/createExtrasElement.d.ts +6 -0
  32. package/dist/renderer/browser-canvas/utils/extras/mountWebExtra.d.ts +2 -0
  33. package/dist/{src/types → types}/Color.d.ts +1 -3
  34. package/dist/{src/types → types}/Slide.d.ts +2 -0
  35. package/dist/types/SlideWebExtra.d.ts +23 -0
  36. package/dist/utils/layout/getLineBoundingBox.d.ts +2 -0
  37. package/package.json +6 -4
  38. package/dist/eslint.config.d.mts +0 -2
  39. package/dist/jest.config.d.ts +0 -11
  40. package/dist/src/export/utils/createPath2D.d.ts +0 -2
  41. package/dist/src/renderer/browser-canvas/utils/createPath2D.d.ts +0 -2
  42. /package/dist/{src/export → export}/image-renderer/ImageRenderer.d.ts +0 -0
  43. /package/dist/{src/export → export}/image-renderer/types/ImageRendererProps.d.ts +0 -0
  44. /package/dist/{src/export → export}/image-renderer/types/ImageRendererState.d.ts +0 -0
  45. /package/dist/{src/export → export}/pdf-renderer/PDFRenderer.d.ts +0 -0
  46. /package/dist/{src/export → export}/pdf-renderer/types/PDFRendererProps.d.ts +0 -0
  47. /package/dist/{src/export → export}/pdf-renderer/types/PDFRendererState.d.ts +0 -0
  48. /package/dist/{src/export → export}/utils/createCanvasElement.d.ts +0 -0
  49. /package/dist/{src/export → export}/utils/loadPresentationImages.d.ts +0 -0
  50. /package/dist/{src/navigator → navigator}/openNavigator.d.ts +0 -0
  51. /package/dist/{src/objects → objects}/Arrow.d.ts +0 -0
  52. /package/dist/{src/objects → objects}/Circle.d.ts +0 -0
  53. /package/dist/{src/objects → objects}/Group.d.ts +0 -0
  54. /package/dist/{src/objects → objects}/Image.d.ts +0 -0
  55. /package/dist/{src/objects → objects}/Line.d.ts +0 -0
  56. /package/dist/{src/objects → objects}/Mask.d.ts +0 -0
  57. /package/dist/{src/objects → objects}/Path.d.ts +0 -0
  58. /package/dist/{src/objects → objects}/Polygon.d.ts +0 -0
  59. /package/dist/{src/objects → objects}/Rectangle.d.ts +0 -0
  60. /package/dist/{src/objects → objects}/Text.d.ts +0 -0
  61. /package/dist/{src/renderer → renderer}/browser-canvas/BrowserCanvasRenderer.d.ts +0 -0
  62. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderArrow.d.ts +0 -0
  63. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderCircle.d.ts +0 -0
  64. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderGroup.d.ts +0 -0
  65. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderImage.d.ts +0 -0
  66. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderLine.d.ts +0 -0
  67. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderMask.d.ts +0 -0
  68. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderPath.d.ts +0 -0
  69. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderPolygon.d.ts +0 -0
  70. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderRectangle.d.ts +0 -0
  71. /package/dist/{src/renderer → renderer}/browser-canvas/objects/renderText.d.ts +0 -0
  72. /package/dist/{src/renderer → renderer}/browser-canvas/types/BrowserCanvasObjectRenderer.d.ts +0 -0
  73. /package/dist/{src/renderer → renderer}/browser-canvas/types/BrowserCanvasRendererProps.d.ts +0 -0
  74. /package/dist/{src/renderer → renderer}/browser-canvas/types/UnifiedCanvasContext.d.ts +0 -0
  75. /package/dist/{src/renderer → renderer}/browser-canvas/types/UnifiedImage.d.ts +0 -0
  76. /package/dist/{src/renderer → renderer}/browser-canvas/types/UnifiedPath2D.d.ts +0 -0
  77. /package/dist/{src/renderer → renderer}/browser-canvas/utils/clearCanvas.d.ts +0 -0
  78. /package/dist/{src/renderer → renderer}/browser-canvas/utils/createCanvasElement.d.ts +0 -0
  79. /package/dist/{src/renderer → renderer}/browser-canvas/utils/defaultObjectRenderers.d.ts +0 -0
  80. /package/dist/{src/renderer → renderer}/browser-canvas/utils/drawStroke.d.ts +0 -0
  81. /package/dist/{src/renderer → renderer}/browser-canvas/utils/fillPath.d.ts +0 -0
  82. /package/dist/{src/renderer → renderer}/browser-canvas/utils/getPathFromPoints.d.ts +0 -0
  83. /package/dist/{src/renderer → renderer}/browser-canvas/utils/getSizeFromTextMetrics.d.ts +0 -0
  84. /package/dist/{src/renderer → renderer}/browser-canvas/utils/loadPresentationImages.d.ts +0 -0
  85. /package/dist/{src/renderer → renderer}/browser-canvas/utils/text/getTextUnitMeasurements.d.ts +0 -0
  86. /package/dist/{src/renderer → renderer}/browser-canvas/utils/text/setContextWithTextStyle.d.ts +0 -0
  87. /package/dist/{src/types → types}/Alignment.d.ts +0 -0
  88. /package/dist/{src/types → types}/Anchor.d.ts +0 -0
  89. /package/dist/{src/types → types}/Animate.d.ts +0 -0
  90. /package/dist/{src/types → types}/AnimationType.d.ts +0 -0
  91. /package/dist/{src/types → types}/BaseUnitSlideAnimation.d.ts +0 -0
  92. /package/dist/{src/types → types}/BoundingBox.d.ts +0 -0
  93. /package/dist/{src/types → types}/Easing.d.ts +0 -0
  94. /package/dist/{src/types → types}/EasingFunction.d.ts +0 -0
  95. /package/dist/{src/types → types}/FontStyle.d.ts +0 -0
  96. /package/dist/{src/types → types}/FontWeight.d.ts +0 -0
  97. /package/dist/{src/types → types}/Interpolator.d.ts +0 -0
  98. /package/dist/{src/types → types}/ObjectType.d.ts +0 -0
  99. /package/dist/{src/types → types}/PathWithLength.d.ts +0 -0
  100. /package/dist/{src/types → types}/Pause.d.ts +0 -0
  101. /package/dist/{src/types → types}/Position.d.ts +0 -0
  102. /package/dist/{src/types → types}/Presentation.d.ts +0 -0
  103. /package/dist/{src/types → types}/Resources.d.ts +0 -0
  104. /package/dist/{src/types → types}/ShortcutState.d.ts +0 -0
  105. /package/dist/{src/types → types}/Size.d.ts +0 -0
  106. /package/dist/{src/types → types}/SlideAnimation.d.ts +0 -0
  107. /package/dist/{src/types → types}/SlideObject.d.ts +0 -0
  108. /package/dist/{src/types → types}/TextContent.d.ts +0 -0
  109. /package/dist/{src/types → types}/TextStyle.d.ts +0 -0
  110. /package/dist/{src/types → types}/TextUnit.d.ts +0 -0
  111. /package/dist/{src/types → types}/Update.d.ts +0 -0
  112. /package/dist/{src/utils → utils}/animate/getSlideAnimationDuration.d.ts +0 -0
  113. /package/dist/{src/utils → utils}/animate/updateObjectStateWithAnimation.d.ts +0 -0
  114. /package/dist/{src/utils → utils}/color/Opaque.d.ts +0 -0
  115. /package/dist/{src/utils → utils}/color/Transparent.d.ts +0 -0
  116. /package/dist/{src/utils → utils}/color/getAlphaForColor.d.ts +0 -0
  117. /package/dist/{src/utils → utils}/color/getHexStringForColor.d.ts +0 -0
  118. /package/dist/{src/utils → utils}/color/getRgbStringForColor.d.ts +0 -0
  119. /package/dist/{src/utils → utils}/core/assertNever.d.ts +0 -0
  120. /package/dist/{src/utils → utils}/interpolate/defaultInterpolators.d.ts +0 -0
  121. /package/dist/{src/utils → utils}/interpolate/getSmoothPathInterpolator.d.ts +0 -0
  122. /package/dist/{src/utils → utils}/interpolate/interpolate.d.ts +0 -0
  123. /package/dist/{src/utils → utils}/interpolate/interpolateColor.d.ts +0 -0
  124. /package/dist/{src/utils → utils}/interpolate/interpolateFallback.d.ts +0 -0
  125. /package/dist/{src/utils → utils}/interpolate/interpolateNumber.d.ts +0 -0
  126. /package/dist/{src/utils → utils}/layout/getBoundingBox.d.ts +0 -0
  127. /package/dist/{src/utils → utils}/layout/getSizingFunctions.d.ts +0 -0
  128. /package/dist/{src/utils → utils}/objects/arrow/getArrowPoints.d.ts +0 -0
  129. /package/dist/{src/utils → utils}/objects/circle/getCirclePath.d.ts +0 -0
  130. /package/dist/{src/utils → utils}/objects/line/getLinePath.d.ts +0 -0
  131. /package/dist/{src/utils → utils}/objects/polygon/getPolygonPath.d.ts +0 -0
  132. /package/dist/{src/utils → utils}/objects/rectangle/getRectanglePath.d.ts +0 -0
  133. /package/dist/{src/utils → utils}/objects/rectangle/getRoundedRectanglePath.d.ts +0 -0
  134. /package/dist/{src/utils → utils}/objects/text/getTextContentLength.d.ts +0 -0
  135. /package/dist/{src/utils → utils}/objects/text/getTextStyleFromText.d.ts +0 -0
  136. /package/dist/{src/utils → utils}/objects/text/getTextUnitsFromTextContent.d.ts +0 -0
  137. /package/dist/{src/utils → utils}/presentation/createPresentationContainer.d.ts +0 -0
  138. /package/dist/{src/utils → utils}/presentation/getObjectChildren.d.ts +0 -0
  139. /package/dist/{src/utils → utils}/presentation/getObjectState.d.ts +0 -0
  140. /package/dist/{src/utils → utils}/presentation/getPresentationShortcuts.d.ts +0 -0
  141. /package/dist/{src/utils → utils}/presentation/isFullBodyPresentation.d.ts +0 -0
  142. /package/dist/{src/utils → utils}/presentation/setupKeyEventListeners.d.ts +0 -0
  143. /package/dist/{src/utils → utils}/size/getCombinedSizes2D.d.ts +0 -0
  144. /package/dist/{src/utils → utils}/size/getCombinedSizes2D.test.d.ts +0 -0
  145. /package/dist/{src/utils → utils}/slide/getKeySlideBuildIndices.d.ts +0 -0
  146. /package/dist/{src/utils → utils}/storage/StorageState.d.ts +0 -0
  147. /package/dist/{src/utils → utils}/storage/loadPresentationState.d.ts +0 -0
  148. /package/dist/{src/utils → utils}/storage/storageConsts.d.ts +0 -0
  149. /package/dist/{src/utils → utils}/storage/storePresentationState.d.ts +0 -0
@@ -3,12 +3,27 @@ import { Anchor } from "../types/Anchor";
3
3
  import { SlideObject } from "../types/SlideObject";
4
4
  export interface GridProps {
5
5
  readonly anchor: Anchor;
6
+ /** Number of columns in the grid. */
6
7
  readonly cols: number;
8
+ /** Pixels of horizontal space between objects in the grid. */
7
9
  readonly gapX: number;
10
+ /** Pixels of vertical space between objects in the grid. */
8
11
  readonly gapY: number;
12
+ /**
13
+ * Height, in pixels, of each object in the grid.
14
+ *
15
+ * If height is variable, a function can be provided that maps the row/col indices to a height.
16
+ */
9
17
  readonly height: number | ((row: number, col: number) => number);
18
+ /** Function mapping row/col indices to the object in the grid at that index. */
10
19
  readonly objects: (row: number, col: number) => SlideObject | null;
20
+ /** Number of rows in the grid. */
11
21
  readonly rows: number;
22
+ /**
23
+ * Width, in pixels, of each object in the grid.
24
+ *
25
+ * If width is variable, a function can be provided that maps the row/col indices to a width.
26
+ */
12
27
  readonly width: number | ((row: number, col: number) => number);
13
28
  readonly x: number;
14
29
  readonly y: number;
@@ -1,2 +1,3 @@
1
1
  export { ImageRenderer } from "./image-renderer/ImageRenderer";
2
2
  export { PDFRenderer } from "./pdf-renderer/PDFRenderer";
3
+ export { PowerPointRenderer } from "./powerpoint-renderer/PowerPointRenderer";
@@ -0,0 +1,11 @@
1
+ import pptxgen from "pptxgenjs";
2
+ import { UnifiedCanvasContext } from "../../renderer/browser-canvas/types/UnifiedCanvasContext";
3
+ import { PowerPointRendererProps } from "./types/PowerPointRendererProps";
4
+ import { PowerPointRendererState } from "./types/PowerPointRendererState";
5
+ export declare class PowerPointRenderer {
6
+ props: PowerPointRendererProps;
7
+ state: PowerPointRendererState;
8
+ constructor(props: Partial<PowerPointRendererProps>);
9
+ save(filename: string): void;
10
+ addSlide(powerpoint: pptxgen, context: UnifiedCanvasContext, slideIndex: number, buildIndex: number): void;
11
+ }
@@ -0,0 +1,3 @@
1
+ import { Arrow } from "../../../objects/Arrow";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderArrow: PowerPointObjectRenderer<Arrow>;
@@ -0,0 +1,3 @@
1
+ import { Circle } from "../../../objects/Circle";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderCircle: PowerPointObjectRenderer<Circle>;
@@ -0,0 +1,3 @@
1
+ import { Group } from "../../../objects/Group";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderGroup: PowerPointObjectRenderer<Group>;
@@ -0,0 +1,3 @@
1
+ import { Image } from "../../../objects/Image";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderImage: PowerPointObjectRenderer<Image>;
@@ -0,0 +1,3 @@
1
+ import { Line } from "../../../objects/Line";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderLine: PowerPointObjectRenderer<Line>;
@@ -0,0 +1,3 @@
1
+ import { Path } from "../../../objects/Path";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderPath: PowerPointObjectRenderer<Path>;
@@ -0,0 +1,3 @@
1
+ import { Polygon } from "../../../objects/Polygon";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderPolygon: PowerPointObjectRenderer<Polygon>;
@@ -0,0 +1,3 @@
1
+ import { Rectangle } from "../../../objects/Rectangle";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderRectangle: PowerPointObjectRenderer<Rectangle>;
@@ -0,0 +1,3 @@
1
+ import { Text } from "../../../objects/Text";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderText: PowerPointObjectRenderer<Text>;
@@ -0,0 +1,7 @@
1
+ export interface ObjectTransform {
2
+ readonly translateX: number;
3
+ readonly translateY: number;
4
+ readonly scale: number;
5
+ readonly rotation: number;
6
+ }
7
+ export declare const DEFAULT_OBJECT_TRANSFORM: ObjectTransform;
@@ -0,0 +1,16 @@
1
+ import pptxgenjs from "pptxgenjs";
2
+ import { UnifiedCanvasContext } from "../../../renderer/browser-canvas/types/UnifiedCanvasContext";
3
+ import { SlideObject } from "../../../types/SlideObject";
4
+ import { ObjectTransform } from "./ObjectTransform";
5
+ export interface PowerPointObjectRendererArgs<T extends SlideObject> {
6
+ readonly ctx: UnifiedCanvasContext;
7
+ readonly imagePathById: Record<string, string>;
8
+ readonly powerpoint: pptxgenjs;
9
+ readonly slide: pptxgenjs.Slide;
10
+ readonly object: T;
11
+ readonly opacity: number;
12
+ readonly pixelsPerInch: number;
13
+ readonly transform: ObjectTransform;
14
+ readonly renderObject: (object: SlideObject, transform: ObjectTransform, overallOpacity: number) => void;
15
+ }
16
+ export type PowerPointObjectRenderer<T extends SlideObject> = (args: PowerPointObjectRendererArgs<T>) => void;
@@ -0,0 +1,9 @@
1
+ import { Presentation } from "../../../types/Presentation";
2
+ import { SlideObject } from "../../../types/SlideObject";
3
+ import { PowerPointObjectRenderer } from "./PowerPointObjectRenderer";
4
+ export interface PowerPointRendererProps {
5
+ readonly presentation: Presentation;
6
+ readonly objectRenderers: Record<string, PowerPointObjectRenderer<SlideObject>>;
7
+ readonly pixelsPerInch: number;
8
+ readonly resourcePathPrefix: string;
9
+ }
@@ -0,0 +1,4 @@
1
+ export interface PowerPointRendererState {
2
+ readonly imagePathById: Record<string, string>;
3
+ }
4
+ export declare const POWERPOINT_RENDERER_DEFAULT_STATE: PowerPointRendererState;
@@ -0,0 +1,10 @@
1
+ import { ObjectType } from "../../../types/ObjectType";
2
+ import { SlideObject } from "../../../types/SlideObject";
3
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
4
+ type ObjectRendererMap = {
5
+ [T in ObjectType]: PowerPointObjectRenderer<SlideObject & {
6
+ objectType: T;
7
+ }>;
8
+ };
9
+ export declare const DEFAULT_OBJECT_RENDERERS: ObjectRendererMap;
10
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getImagePathById(relativeImagePathById: Record<string, string>, pathPrefix: string): Record<string, string>;
@@ -0,0 +1,9 @@
1
+ import { Color } from "../../../types/Color";
2
+ interface Return {
3
+ /** RGB hex string for color, of length 6 */
4
+ readonly color: string;
5
+ /** Color opacity in [0, 100] */
6
+ readonly transparency: number;
7
+ }
8
+ export declare function getPptxFillColor(color: Color, opacity?: number): Return;
9
+ export {};
@@ -0,0 +1,13 @@
1
+ import pptxgen from "pptxgenjs";
2
+ import { TextStyle } from "../../../types/TextStyle";
3
+ import { TextUnit } from "../../../types/TextUnit";
4
+ interface Args {
5
+ readonly length: number | null;
6
+ readonly opacity: number;
7
+ readonly pixelsPerInch: number;
8
+ readonly scale: number;
9
+ readonly style: TextStyle;
10
+ readonly textUnits: readonly TextUnit[][];
11
+ }
12
+ export declare function getPptxText({ length, opacity, pixelsPerInch, scale, style, textUnits, }: Args): pptxgen.TextProps[];
13
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Anchor } from "../../../types/Anchor";
2
+ import { BoundingBox } from "../../../types/BoundingBox";
3
+ import { Position } from "../../../types/Position";
4
+ import { Size } from "../../../types/Size";
5
+ import { ObjectTransform } from "../types/ObjectTransform";
6
+ export declare function getTransformedBoundingBox(position: Position, anchor: Anchor, size: Size, transform: ObjectTransform): BoundingBox;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Gets inches from pixels.
3
+ */
4
+ export declare function getInchesFromPixels(pixels: number, pixelsPerInch: number): number;
5
+ /**
6
+ * Gets PowerPoint pixels from Presenter.js pixels.
7
+ */
8
+ export declare function getPptxPixelsFromPixels(pixels: number, pixelsPerInch: number): number;
9
+ export declare function getPptxFontSizeFromPixels(pixels: number, pixelsPerInch: number): number;
@@ -0,0 +1,2 @@
1
+ import { UnifiedPath2D } from "../../renderer/browser-canvas/types/UnifiedPath2D";
2
+ export declare function createPath2D(pathData?: string | undefined): UnifiedPath2D;