gitextract_o8l_mvnx/ ├── .eslintrc.json ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── SECURITY.md ├── .gitignore ├── .prettierignore ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── .yarn/ │ └── releases/ │ └── yarn-1.22.21.cjs ├── .yarnrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── app/ │ ├── [locale]/ │ │ ├── calibrate/ │ │ │ └── page.tsx │ │ ├── globals.css │ │ ├── layout.tsx │ │ ├── loading.tsx │ │ └── page.tsx │ ├── _components/ │ │ ├── buttons/ │ │ │ ├── button.tsx │ │ │ ├── dropdown-checkbox-icon-button.tsx │ │ │ ├── dropdown-icon-button.tsx │ │ │ ├── icon-button.tsx │ │ │ └── install-button.tsx │ │ ├── canvases/ │ │ │ ├── calibration-canvas.tsx │ │ │ ├── measure-canvas.tsx │ │ │ └── overlay-canvas.tsx │ │ ├── draggable.tsx │ │ ├── filters.tsx │ │ ├── header.tsx │ │ ├── inline-input.tsx │ │ ├── inline-select.tsx │ │ ├── input.tsx │ │ ├── labelled-input.tsx │ │ ├── language-switcher.tsx │ │ ├── mail-modal.tsx │ │ ├── menus/ │ │ │ ├── layer-menu.tsx │ │ │ ├── line-menu.tsx │ │ │ ├── scale-menu.tsx │ │ │ ├── side-menu.tsx │ │ │ └── stitch-menu.tsx │ │ ├── modal/ │ │ │ ├── modal-actions.tsx │ │ │ ├── modal-content.tsx │ │ │ ├── modal-figure.tsx │ │ │ ├── modal-list.tsx │ │ │ ├── modal-subtitle.tsx │ │ │ ├── modal-text.tsx │ │ │ ├── modal-title.tsx │ │ │ └── modal.tsx │ │ ├── movement-pad.tsx │ │ ├── pdf-custom-renderer.tsx │ │ ├── pdf-error-modal.tsx │ │ ├── pdf-viewer.tsx │ │ ├── save-button.tsx │ │ ├── stepper-input.tsx │ │ ├── svg-viewer.tsx │ │ ├── theme/ │ │ │ ├── colors.ts │ │ │ ├── css-functions.ts │ │ │ └── styles.ts │ │ ├── tooltip/ │ │ │ └── tooltip.tsx │ │ └── troubleshooting-button.tsx │ ├── _hooks/ │ │ ├── use-key-down.ts │ │ ├── use-key-up.ts │ │ ├── use-layers.ts │ │ ├── use-on-click-outside.ts │ │ ├── use-prog-arrow-key-handler.ts │ │ ├── use-prog-arrow-key-points.ts │ │ ├── use-prog-arrow-key-to-matrix.ts │ │ ├── use-render-context.ts │ │ └── use-transform-context.tsx │ ├── _icons/ │ │ ├── add-box-icon.tsx │ │ ├── add-to-home-screen-icon.tsx │ │ ├── check-icon.tsx │ │ ├── close-icon.tsx │ │ ├── cycle-icon.tsx │ │ ├── delete-icon.tsx │ │ ├── download-icon.tsx │ │ ├── expand-less-icon.tsx │ │ ├── expand-more-icon.tsx │ │ ├── flex-wrap-icon.tsx │ │ ├── flip-center-off-icon.tsx │ │ ├── flip-center-on-icon.tsx │ │ ├── flip-horizontal-icon.tsx │ │ ├── flip-vertical-icon.tsx │ │ ├── flipped-pattern-icon.tsx │ │ ├── full-screen-exit-icon.tsx │ │ ├── full-screen-icon.tsx │ │ ├── github-icon.tsx │ │ ├── grid-off-icon.tsx │ │ ├── grid-on-icon.tsx │ │ ├── info-icon.tsx │ │ ├── install-desktop-icon.tsx │ │ ├── install-desktop.tsx │ │ ├── invert-color-icon.tsx │ │ ├── invert-color-off-icon.tsx │ │ ├── ios-share-icon.tsx │ │ ├── keyboard-arrow-down.tsx │ │ ├── keyboard-arrow-left.tsx │ │ ├── keyboard-arrow-right.tsx │ │ ├── keyboard-arrow-up.tsx │ │ ├── language-icon.tsx │ │ ├── layers-icon.tsx │ │ ├── layers-off-icon.tsx │ │ ├── line-weight-icon.tsx │ │ ├── loading-spinner.tsx │ │ ├── mail-icon.tsx │ │ ├── mark-and-measure-icon.tsx │ │ ├── more-vert-icon.tsx │ │ ├── move-icon.tsx │ │ ├── overlay-border-icon.tsx │ │ ├── overlay-paper-icon.tsx │ │ ├── pattern-projector-icon.tsx │ │ ├── pdf-icon.tsx │ │ ├── recenter-icon.tsx │ │ ├── rotate-90-degrees-cw-icon.tsx │ │ ├── rotate-to-horizontal.tsx │ │ ├── shift-icon.tsx │ │ ├── step-down-icon.tsx │ │ ├── step-up-icon.tsx │ │ ├── tune-icon.tsx │ │ ├── warning-icon.tsx │ │ ├── zoom-in-icon.tsx │ │ └── zoom-out-icon.tsx │ ├── _lib/ │ │ ├── calibration-context.ts │ │ ├── debounce.ts │ │ ├── direction.ts │ │ ├── display-settings.ts │ │ ├── drawing.ts │ │ ├── erode.ts │ │ ├── full-screen.ts │ │ ├── geometry.spec.ts │ │ ├── geometry.ts │ │ ├── get-page-numbers.ts │ │ ├── interfaces/ │ │ │ ├── edge-insets.ts │ │ │ ├── layer.ts │ │ │ ├── line.ts │ │ │ ├── select-option.ts │ │ │ └── stitch-settings.ts │ │ ├── is-valid-file.ts │ │ ├── key-code.ts │ │ ├── layers.ts │ │ ├── load-status-enum.ts │ │ ├── menu-states.ts │ │ ├── pdfstitcher.ts │ │ ├── pixels-per-inch.ts │ │ ├── point.ts │ │ ├── remove-non-digits.spec.ts │ │ ├── remove-non-digits.ts │ │ └── unit.ts │ ├── _reducers/ │ │ ├── layersReducer.ts │ │ ├── localTransformReducer.ts │ │ ├── patternScaleReducer.ts │ │ ├── pointsReducer.ts │ │ └── stitchSettingsReducer.ts │ ├── manifest.js │ └── sw.ts ├── cypress/ │ ├── fixtures/ │ │ └── example.json │ └── support/ │ ├── commands.ts │ ├── component-index.html │ └── component.ts ├── cypress.config.ts ├── global.d.ts ├── i18n.ts ├── jest.config.ts ├── messages/ │ ├── cs.json │ ├── da.json │ ├── de.json │ ├── en.json │ ├── es.json │ ├── fr.json │ ├── hu.json │ ├── it.json │ ├── nb-NO.json │ ├── nl.json │ ├── sl.json │ ├── sv.json │ ├── ta.json │ └── tr.json ├── middleware.ts ├── navigation.ts ├── next.config.mjs ├── package.json ├── patches/ │ └── react-pdf+7.7.0.patch ├── postcss.config.js ├── tailwind.config.ts └── tsconfig.json