├── src ├── topmenu │ ├── components │ │ ├── Tooltip.tsx │ │ ├── index.tsx │ │ ├── styles │ │ │ ├── SmallInput.tsx │ │ │ ├── SelectInput.tsx │ │ │ ├── Shared.tsx │ │ │ └── Topicon.tsx │ │ ├── TopIcon.tsx │ │ ├── SmallInput.tsx │ │ ├── SelectInput.tsx │ │ └── ExpandableInput.tsx │ ├── items │ │ ├── InputFontSize.tsx │ │ ├── SelectFontType.tsx │ │ ├── InputLineHeight.tsx │ │ ├── TopIconBold.tsx │ │ ├── TopIconRedo.tsx │ │ ├── TopIconUndo.tsx │ │ ├── TopIconFontSize.tsx │ │ ├── fitToParentIcon.tsx │ │ ├── TopIconAlignLeft.tsx │ │ ├── TopIconAlignRight.tsx │ │ ├── TopIconItalic.tsx │ │ ├── TopIconAlignCenter.tsx │ │ ├── TopIconAlignJustify.tsx │ │ ├── flexFlowRowIcon.tsx │ │ ├── TopIconTextDecoration.tsx │ │ ├── alignItemsToCenterIcon.tsx │ │ ├── alignSelfToFlexCenterIcon.tsx │ │ ├── flexFlowColumnIcon.tsx │ │ ├── alignItemsToEndIcon.tsx │ │ ├── alignSelfToFlexEndIcon.tsx │ │ ├── alignSelfToFlexStretchIcon.tsx │ │ ├── alignItemsToStretchIcon.tsx │ │ ├── alignItemsToBaselineIcon.tsx │ │ ├── alignItemsToStartIcon.tsx │ │ ├── alignSelfToFlexBaselineIcon.tsx │ │ ├── alignSelfToFlexStartIcon.tsx │ │ ├── justifyContentCenterIcon.tsx │ │ ├── justifyContentFlexEndIcon.tsx │ │ ├── justifyContentFlexStartIcon.tsx │ │ ├── justifyContentSpaceAround.tsx │ │ ├── justifyContentSpaceBetween.tsx │ │ ├── ExpandableInputMaximize2.tsx │ │ ├── ExpandableInputMinimize2.tsx │ │ ├── ExpandableInputSquare.tsx │ │ └── index.tsx │ ├── models │ │ └── index.ts │ └── index.tsx ├── index.tsx ├── screens │ ├── index.tsx │ ├── InitialPDFModels.tsx │ ├── styles │ │ └── ReactPDFEditor.tsx │ └── ReactPDFEditor.tsx ├── models │ ├── index.ts │ ├── getString.ts │ └── languages │ │ ├── en.ts │ │ └── pl.ts ├── components │ ├── editor │ │ ├── styles │ │ │ ├── Column.tsx │ │ │ ├── ListBlock.tsx │ │ │ ├── Stack.tsx │ │ │ ├── Columns.tsx │ │ │ ├── Image.tsx │ │ │ ├── TableBlock.tsx │ │ │ ├── TextBlock.tsx │ │ │ ├── Feature.tsx │ │ │ └── Controls.tsx │ │ ├── display │ │ │ ├── styles │ │ │ │ ├── SectionTitle.tsx │ │ │ │ └── Rolloutable.tsx │ │ │ ├── SectionTitle.tsx │ │ │ ├── TopMenuEdit.tsx │ │ │ ├── DeleteAndEdit.tsx │ │ │ └── Rolloutable.tsx │ │ ├── TimeStampComponent.tsx │ │ ├── index.tsx │ │ ├── EmptyFeatureComponent.tsx │ │ ├── ColumnComponent.tsx │ │ ├── DocumentComponent.tsx │ │ ├── TextBlockComponent.tsx │ │ ├── StackComponent.tsx │ │ ├── ListBlockComponent.tsx │ │ ├── ColumnsComponent.tsx │ │ ├── FeatureComponent.tsx │ │ ├── ImageComponent.tsx │ │ ├── Controls.tsx │ │ └── TableBlockComponent.tsx │ ├── index.tsx │ ├── atoms │ │ ├── index.tsx │ │ ├── IconButton.tsx │ │ ├── ButtonSimple.tsx │ │ └── Checkbox.tsx │ ├── styles │ │ ├── ButtonSimple.tsx │ │ ├── IconButton.tsx │ │ ├── TopMenu.tsx │ │ └── CheckboxStyles.tsx │ ├── molecules │ │ └── Confirm.tsx │ └── icons │ │ └── index.tsx ├── livepdf │ ├── fonts │ │ ├── FiraSans-Bold.ttf │ │ ├── FiraSans-Light.ttf │ │ ├── FiraSans-Medium.ttf │ │ └── FiraSans-Regular.ttf │ ├── styles │ │ └── index.tsx │ ├── livecomponents │ │ └── editor │ │ │ ├── index.tsx │ │ │ ├── TimeStampComponent.tsx │ │ │ ├── TextBlockComponent.tsx │ │ │ ├── StackComponent.tsx │ │ │ ├── ImageComponent.tsx │ │ │ ├── TableBlockComponent.tsx │ │ │ ├── ListBlockComponent.tsx │ │ │ ├── ColumnComponent.tsx │ │ │ ├── ColumnsComponent.tsx │ │ │ └── FeatureComponent.tsx │ ├── index.tsx │ └── PDFDocument.tsx ├── assets │ └── ezgif.com-video-to-gif.gif ├── zeusSelectionSets.ts ├── constants.ts ├── frontend-types.ts ├── utils.ts └── Colors.ts ├── .gitattributes ├── .vscode └── settings.json ├── sandbox ├── assets │ ├── favicon.ico │ └── index.html ├── webpack.production.config.js ├── index.tsx ├── tsconfig.json └── webpack.config.js ├── .npmignore ├── .gitlab-ci.yml ├── .gitignore ├── tsconfig.json ├── package.json ├── .eslintrc.json └── README.md /src/topmenu/components/Tooltip.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./screens"; 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.gif filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib" 3 | } -------------------------------------------------------------------------------- /src/screens/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./ReactPDFEditor"; 2 | export * from "./InitialPDFModels" -------------------------------------------------------------------------------- /sandbox/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aexol-studio/react-pdf-editor/HEAD/sandbox/assets/favicon.ico -------------------------------------------------------------------------------- /src/models/index.ts: -------------------------------------------------------------------------------- 1 | import { getString } from "./getString"; 2 | 3 | export const translated = getString("en"); 4 | -------------------------------------------------------------------------------- /src/components/editor/styles/Column.tsx: -------------------------------------------------------------------------------- 1 | import { style } from "typestyle"; 2 | 3 | export const Main = style({ 4 | }); 5 | -------------------------------------------------------------------------------- /src/components/index.tsx: -------------------------------------------------------------------------------- 1 | import * as Icons from "./icons"; 2 | import * as Editor from "./editor"; 3 | export { Icons, Editor }; 4 | -------------------------------------------------------------------------------- /src/livepdf/fonts/FiraSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aexol-studio/react-pdf-editor/HEAD/src/livepdf/fonts/FiraSans-Bold.ttf -------------------------------------------------------------------------------- /src/livepdf/fonts/FiraSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aexol-studio/react-pdf-editor/HEAD/src/livepdf/fonts/FiraSans-Light.ttf -------------------------------------------------------------------------------- /src/livepdf/fonts/FiraSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aexol-studio/react-pdf-editor/HEAD/src/livepdf/fonts/FiraSans-Medium.ttf -------------------------------------------------------------------------------- /src/livepdf/fonts/FiraSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aexol-studio/react-pdf-editor/HEAD/src/livepdf/fonts/FiraSans-Regular.ttf -------------------------------------------------------------------------------- /src/components/atoms/index.tsx: -------------------------------------------------------------------------------- 1 | export { ButtonSimple } from "./ButtonSimple"; 2 | export { Checkbox } from "./Checkbox"; 3 | export { IconButton } from "./IconButton"; -------------------------------------------------------------------------------- /src/topmenu/components/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./SmallInput"; 2 | export * from './TopIcon'; 3 | export * from './ExpandableInput'; 4 | export * from './SelectInput' -------------------------------------------------------------------------------- /src/topmenu/components/styles/SmallInput.tsx: -------------------------------------------------------------------------------- 1 | import { style } from "typestyle"; 2 | export const Input = style({ 3 | $debugName: "TopMenuInput", 4 | width: 40 5 | }); 6 | -------------------------------------------------------------------------------- /src/assets/ezgif.com-video-to-gif.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:263c90a87843ad53d741a4f3f7b6afca4b97c6e7e1e1228ef95688fe8811e809 3 | size 1359917 4 | -------------------------------------------------------------------------------- /sandbox/webpack.production.config.js: -------------------------------------------------------------------------------- 1 | const { devServer, ...webpackParams } = require("./webpack.config"); 2 | 3 | module.exports = { 4 | ...webpackParams, 5 | mode: "production" 6 | }; 7 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .DS_STORE 3 | .docz 4 | .tscache 5 | tsconfig.tsbuildinfo 6 | node_modules 7 | .module-cache 8 | *.log* 9 | build 10 | dist 11 | src 12 | .idea 13 | __test__ 14 | __mock__ -------------------------------------------------------------------------------- /src/components/editor/styles/ListBlock.tsx: -------------------------------------------------------------------------------- 1 | import { style } from "typestyle"; 2 | 3 | export const Main = style({ 4 | $debugName:"ListBlockMain", 5 | padding: 10, 6 | marginBottom: 25 7 | }); 8 | -------------------------------------------------------------------------------- /src/livepdf/styles/index.tsx: -------------------------------------------------------------------------------- 1 | import { style } from "typestyle"; 2 | 3 | export const PDFViewerStyle = style({ 4 | $debugName: "PDFViewerStyle", 5 | height: "100%", 6 | width: "100%" 7 | }); 8 | -------------------------------------------------------------------------------- /src/components/editor/display/styles/SectionTitle.tsx: -------------------------------------------------------------------------------- 1 | import { style } from "typestyle"; 2 | 3 | export const Main = style({ 4 | $debugName: "SectionTitleMain", 5 | fontWeight: "bold", 6 | padding: 5 7 | }); 8 | -------------------------------------------------------------------------------- /src/components/editor/display/SectionTitle.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import * as styles from "./styles/SectionTitle"; 3 | export const SectionTitle = (props: { children: React.ReactNode }) => ( 4 |