feat(pdf): rename acquisition-library to pdf-library and update package name to @mintel/pdf
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 1s
Monorepo Pipeline / 🧹 Lint (push) Failing after 13s
Monorepo Pipeline / 🏗️ Build (push) Failing after 11s
Monorepo Pipeline / 🧪 Test (push) Failing after 25s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 1s
Monorepo Pipeline / 🧹 Lint (push) Failing after 13s
Monorepo Pipeline / 🏗️ Build (push) Failing after 11s
Monorepo Pipeline / 🧪 Test (push) Failing after 25s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
This commit is contained in:
@@ -6,21 +6,23 @@ import { fileURLToPath } from 'url';
|
|||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
const __dirname = dirname(__filename);
|
const __dirname = dirname(__filename);
|
||||||
|
|
||||||
const entryPoint = resolve(__dirname, 'src/index.ts');
|
const entryPoints = [
|
||||||
const outfile = resolve(__dirname, 'dist/index.js');
|
resolve(__dirname, 'src/index.ts'),
|
||||||
|
resolve(__dirname, 'src/server.ts')
|
||||||
|
];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mkdirSync(dirname(outfile), { recursive: true });
|
mkdirSync(resolve(__dirname, 'dist'), { recursive: true });
|
||||||
} catch (e) { }
|
} catch (e) { }
|
||||||
|
|
||||||
console.log(`Building from ${entryPoint} to ${outfile}...`);
|
console.log(`Building entry points...`);
|
||||||
|
|
||||||
build({
|
build({
|
||||||
entryPoints: [entryPoint],
|
entryPoints: entryPoints,
|
||||||
bundle: true,
|
bundle: true,
|
||||||
platform: 'node',
|
platform: 'node',
|
||||||
target: 'node18',
|
target: 'node18',
|
||||||
outfile: outfile,
|
outdir: resolve(__dirname, 'dist'),
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
jsx: 'automatic',
|
jsx: 'automatic',
|
||||||
loader: {
|
loader: {
|
||||||
@@ -1,9 +1,22 @@
|
|||||||
{
|
{
|
||||||
"name": "@mintel/acquisition",
|
"name": "@mintel/pdf",
|
||||||
"version": "1.7.12",
|
"version": "1.7.12",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
"types": "dist/index.d.ts",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"types": "./dist/index.d.ts",
|
||||||
|
"import": "./dist/index.js",
|
||||||
|
"default": "./dist/index.js"
|
||||||
|
},
|
||||||
|
"./server": {
|
||||||
|
"types": "./dist/server.d.ts",
|
||||||
|
"import": "./dist/server.js",
|
||||||
|
"default": "./dist/server.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node build.mjs",
|
"build": "node build.mjs",
|
||||||
"dev": "node build.mjs --watch"
|
"dev": "node build.mjs --watch"
|
||||||
241
packages/pdf-library/src/components/AgbsPDF.tsx
Normal file
241
packages/pdf-library/src/components/AgbsPDF.tsx
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import * as React from "react";
|
||||||
|
import {
|
||||||
|
Page as PDFPage,
|
||||||
|
Text as PDFText,
|
||||||
|
View as PDFView,
|
||||||
|
StyleSheet as PDFStyleSheet,
|
||||||
|
} from "@react-pdf/renderer";
|
||||||
|
import {
|
||||||
|
pdfStyles,
|
||||||
|
Header,
|
||||||
|
Footer,
|
||||||
|
FoldingMarks,
|
||||||
|
DocumentTitle,
|
||||||
|
} from "./pdf/SharedUI.js";
|
||||||
|
import { SimpleLayout } from "./pdf/SimpleLayout.js";
|
||||||
|
|
||||||
|
const localStyles = PDFStyleSheet.create({
|
||||||
|
sectionContainer: {
|
||||||
|
marginTop: 0,
|
||||||
|
},
|
||||||
|
agbSection: {
|
||||||
|
marginBottom: 20,
|
||||||
|
},
|
||||||
|
labelRow: {
|
||||||
|
flexDirection: "row",
|
||||||
|
alignItems: "baseline",
|
||||||
|
marginBottom: 6,
|
||||||
|
},
|
||||||
|
monoNumber: {
|
||||||
|
fontSize: 7,
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: "#94a3b8",
|
||||||
|
letterSpacing: 2,
|
||||||
|
width: 25,
|
||||||
|
},
|
||||||
|
sectionTitle: {
|
||||||
|
fontSize: 9,
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: "#000000",
|
||||||
|
textTransform: "uppercase",
|
||||||
|
letterSpacing: 0.5,
|
||||||
|
},
|
||||||
|
officialText: {
|
||||||
|
fontSize: 8,
|
||||||
|
lineHeight: 1.5,
|
||||||
|
color: "#334155",
|
||||||
|
textAlign: "justify",
|
||||||
|
paddingLeft: 25,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const AGBSection = ({
|
||||||
|
index,
|
||||||
|
title,
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
index: string;
|
||||||
|
title: string;
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) => (
|
||||||
|
<PDFView style={localStyles.agbSection} wrap={false}>
|
||||||
|
<PDFView style={localStyles.labelRow}>
|
||||||
|
<PDFText style={localStyles.monoNumber}>{index}</PDFText>
|
||||||
|
<PDFText style={localStyles.sectionTitle}>{title}</PDFText>
|
||||||
|
</PDFView>
|
||||||
|
<PDFText style={localStyles.officialText}>{children}</PDFText>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
|
||||||
|
interface AgbsPDFProps {
|
||||||
|
headerIcon?: string;
|
||||||
|
footerLogo?: string;
|
||||||
|
mode?: "estimation" | "full";
|
||||||
|
}
|
||||||
|
|
||||||
|
export const AgbsPDF = ({
|
||||||
|
headerIcon,
|
||||||
|
footerLogo,
|
||||||
|
mode = "full",
|
||||||
|
}: AgbsPDFProps) => {
|
||||||
|
const date = new Date().toLocaleDateString("de-DE", {
|
||||||
|
year: "numeric",
|
||||||
|
month: "long",
|
||||||
|
day: "numeric",
|
||||||
|
});
|
||||||
|
|
||||||
|
const companyData = {
|
||||||
|
name: "Marc Mintel",
|
||||||
|
address1: "Georg-Meistermann-Straße 7",
|
||||||
|
address2: "54586 Schüller",
|
||||||
|
ustId: "DE367588065",
|
||||||
|
};
|
||||||
|
|
||||||
|
const bankData = {
|
||||||
|
name: "N26",
|
||||||
|
bic: "NTSBDEB1XXX",
|
||||||
|
iban: "DE50 1001 1001 2620 4328 65",
|
||||||
|
};
|
||||||
|
|
||||||
|
const content = (
|
||||||
|
<>
|
||||||
|
<DocumentTitle
|
||||||
|
title="Allgemeine Geschäftsbedingungen"
|
||||||
|
subLines={[`Stand: ${date}`]}
|
||||||
|
/>
|
||||||
|
<PDFView style={localStyles.sectionContainer}>
|
||||||
|
<AGBSection index="01" title="Geltungsbereich">
|
||||||
|
Diese Allgemeinen Geschäftsbedingungen gelten für alle Verträge
|
||||||
|
zwischen Marc Mintel (nachfolgend „Auftragnehmer“) und dem jeweiligen
|
||||||
|
Kunden (nachfolgend „Auftraggeber“). Abweichende oder ergänzende
|
||||||
|
Bedingungen des Auftraggebers werden nicht Vertragsbestandteil, auch
|
||||||
|
wenn ihrer Geltung nicht ausdrücklich widersprochen wird.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="02" title="Vertragsgegenstand">
|
||||||
|
Der Auftragnehmer erbringt Dienstleistungen im Bereich:
|
||||||
|
Webentwicklung, technische Umsetzung digitaler Systeme, Funktionen,
|
||||||
|
Schnittstellen und Automatisierungen sowie Hosting, Betrieb und
|
||||||
|
Wartung, sofern ausdrücklich vereinbard. Der Auftragnehmer schuldet
|
||||||
|
ausschließlich die vereinbarte technische Leistung, nicht jedoch einen
|
||||||
|
wirtschaftlichen Erfolg, bestimmte Umsätze, Conversions, Reichweiten,
|
||||||
|
Suchmaschinen-Rankings oder rechtliche Ergebnisse.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="03" title="Mitwirkungspflichten des Auftraggebers">
|
||||||
|
Der Auftraggeber verpflichtet sich, alle zur Leistungserbringung
|
||||||
|
erforderlichen Inhalte, Informationen, Zugänge und Entscheidungen
|
||||||
|
rechtzeitig, vollständig und korrekt bereitzustellen. Hierzu zählen
|
||||||
|
insbesondere Texte, Bilder, Videos, Produktdaten, Freigaben, Feedback,
|
||||||
|
Zugangsdaten sowie rechtlich erforderliche Inhalte (z. B. Impressum,
|
||||||
|
DSGVO). Verzögerungen oder Unterlassungen führen zu Verschiebungen
|
||||||
|
aller Termine ohne Schadensersatzanspruch.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="04" title="Ausführungs- und Bearbeitungszeiten">
|
||||||
|
Angegebene Bearbeitungszeiten sind unverbindliche Schätzungen, keine
|
||||||
|
garantierten Fristen. Fixe Termine oder Deadlines gelten nur, wenn sie
|
||||||
|
ausdrücklich schriftlich als verbindlich vereinbart wurden.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="05" title="Abnahme">
|
||||||
|
Die Leistung gilt als abgenommen, wenn der Auftraggeber sie produktiv
|
||||||
|
nutzt oder innerhalb von 7 Tagen nach Bereitstellung keine
|
||||||
|
wesentlichen Mängel angezeigt werden. Optische Abweichungen,
|
||||||
|
Geschmacksfragen oder subjektive Einschätzungen stellen keine Mängel
|
||||||
|
dar.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="06" title="Haftung">
|
||||||
|
Der Auftragnehmer haftet nur für Schäden, die auf vorsätzlicher oder
|
||||||
|
grob fahrlässiger Pflichtverletzung beruhen. Eine Haftung für
|
||||||
|
entgangenen Gewinn, Umsatzausfälle, Datenverlust,
|
||||||
|
Betriebsunterbrechungen, mittelbare oder Folgeschäden ist
|
||||||
|
ausgeschlossen, soweit gesetzlich zulässig.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="07" title="Verfügbarkeit & Betrieb">
|
||||||
|
Bei vereinbartem Hosting oder Betrieb schuldet der Auftragnehmer keine
|
||||||
|
permanente Verfügbarkeit. Wartungsarbeiten, Updates,
|
||||||
|
Sicherheitsmaßnahmen oder externe Störungen können zu zeitweisen
|
||||||
|
Einschränkungen führen und begründen keine Haftungsansprüche.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="07a" title="Betriebs- und Pflegeleistung">
|
||||||
|
Die Betriebs- und Pflegeleistung umfasst ausschließlich die
|
||||||
|
Sicherstellung des technischen Betriebs, Wartung, Updates,
|
||||||
|
Fehlerbehebung der bestehenden Systeme sowie Pflege bestehender
|
||||||
|
Datensätze ohne Strukturänderung. Nicht Bestandteil sind die
|
||||||
|
Erstellung neuer Inhalte (Blogartikel, News, Produkte), redaktionelle
|
||||||
|
Tätigkeiten, strategische Planung oder der Aufbau neuer
|
||||||
|
Features/Datenmodelle. Leistungen darüber hinaus gelten als
|
||||||
|
Neuentwicklung.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="08" title="Drittanbieter & externe Systeme">
|
||||||
|
Der Auftragnehmer übernimmt keine Verantwortung für Leistungen,
|
||||||
|
Ausfälle oder Änderungen externer Dienste, APIs, Schnittstellen oder
|
||||||
|
Plattformen Dritter. Eine Funktionsfähigkeit kann nur im Rahmen der
|
||||||
|
jeweils aktuellen externen Schnittstellen gewährleistet werden.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="09" title="Inhalte & Rechtliches">
|
||||||
|
Der Auftraggeber ist allein verantwortlich für Inhalte, rechtliche
|
||||||
|
Konformität (DSGVO, Urheberrecht etc.) sowie bereitgestellte Daten.
|
||||||
|
Der Auftragnehmer übernimmt keine rechtliche Prüfung.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="10" title="Vergütung & Zahlungsverzug">
|
||||||
|
Alle Preise netto zzgl. MwSt. Rechnungen sind innerhalb von 7 Tagen
|
||||||
|
fällig. Bei Zahlungsverzug ist der Auftragnehmer berechtigt,
|
||||||
|
Leistungen auszusetzen, Systeme offline zu nehmen oder laufende
|
||||||
|
Arbeiten zu stoppen.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="11" title="Kündigung laufender Leistungen">
|
||||||
|
Laufende Leistungen (z. B. Hosting & Betrieb) können mit einer Frist
|
||||||
|
von 4 Wochen zum Monatsende gekündigt werden, sofern nichts anderes
|
||||||
|
vereinbart ist.
|
||||||
|
</AGBSection>
|
||||||
|
|
||||||
|
<AGBSection index="12" title="Schlussbestimmungen">
|
||||||
|
Es gilt das Recht der Bundesrepublik Deutschland. Gerichtsstand ist
|
||||||
|
der Sitz des Auftragnehmers. Sollte eine Bestimmung unwirksam sein,
|
||||||
|
bleibt die Wirksamkeit der übrigen Regelungen unberührt.
|
||||||
|
</AGBSection>
|
||||||
|
</PDFView>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
if (mode === "full") {
|
||||||
|
return (
|
||||||
|
<SimpleLayout
|
||||||
|
companyData={companyData}
|
||||||
|
bankData={bankData}
|
||||||
|
footerLogo={footerLogo}
|
||||||
|
icon={headerIcon}
|
||||||
|
pageNumber="10"
|
||||||
|
showPageNumber={false}
|
||||||
|
>
|
||||||
|
{content}
|
||||||
|
</SimpleLayout>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<PDFPage size="A4" style={pdfStyles.page}>
|
||||||
|
<FoldingMarks />
|
||||||
|
<Header icon={headerIcon} showAddress={false} />
|
||||||
|
{content}
|
||||||
|
<Footer
|
||||||
|
logo={footerLogo}
|
||||||
|
companyData={companyData}
|
||||||
|
bankData={bankData}
|
||||||
|
showDetails={false}
|
||||||
|
showPageNumber={false}
|
||||||
|
/>
|
||||||
|
</PDFPage>
|
||||||
|
);
|
||||||
|
};
|
||||||
79
packages/pdf-library/src/components/CombinedQuotePDF.tsx
Normal file
79
packages/pdf-library/src/components/CombinedQuotePDF.tsx
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import * as React from "react";
|
||||||
|
import { Document as PDFDocument } from "@react-pdf/renderer";
|
||||||
|
import { EstimationPDF } from "./EstimationPDF.js";
|
||||||
|
import { AgbsPDF } from "./AgbsPDF.js";
|
||||||
|
import { SimpleLayout } from "./pdf/SimpleLayout.js";
|
||||||
|
import { ClosingModule } from "./pdf/modules/CommonModules.js";
|
||||||
|
|
||||||
|
interface CombinedProps {
|
||||||
|
estimationProps: any;
|
||||||
|
showAgbs?: boolean;
|
||||||
|
techDetails?: any[];
|
||||||
|
principles?: any[];
|
||||||
|
maintenanceDetails?: any[];
|
||||||
|
standardsDetails?: any[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export const CombinedQuotePDF = ({
|
||||||
|
estimationProps,
|
||||||
|
showAgbs = true,
|
||||||
|
techDetails,
|
||||||
|
principles,
|
||||||
|
maintenanceDetails,
|
||||||
|
standardsDetails,
|
||||||
|
mode = "full",
|
||||||
|
}: CombinedProps & { mode?: "estimation" | "full" }) => {
|
||||||
|
const date = new Date().toLocaleDateString("de-DE", {
|
||||||
|
year: "numeric",
|
||||||
|
month: "long",
|
||||||
|
day: "numeric",
|
||||||
|
});
|
||||||
|
|
||||||
|
const companyData = {
|
||||||
|
name: "Marc Mintel",
|
||||||
|
address1: "Georg-Meistermann-Straße 7",
|
||||||
|
address2: "54586 Schüller",
|
||||||
|
ustId: "DE367588065",
|
||||||
|
};
|
||||||
|
|
||||||
|
const bankData = {
|
||||||
|
name: "N26",
|
||||||
|
bic: "NTSBDEB1XXX",
|
||||||
|
iban: "DE50 1001 1001 2620 4328 65",
|
||||||
|
};
|
||||||
|
|
||||||
|
const layoutProps = {
|
||||||
|
date,
|
||||||
|
icon: estimationProps.headerIcon,
|
||||||
|
footerLogo: estimationProps.footerLogo,
|
||||||
|
companyData,
|
||||||
|
bankData,
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<PDFDocument
|
||||||
|
title={`Mintel - ${estimationProps.state.companyName || estimationProps.state.name}`}
|
||||||
|
>
|
||||||
|
<EstimationPDF
|
||||||
|
{...estimationProps}
|
||||||
|
mode={mode}
|
||||||
|
techDetails={techDetails}
|
||||||
|
principles={principles}
|
||||||
|
maintenanceDetails={maintenanceDetails}
|
||||||
|
standardsDetails={standardsDetails}
|
||||||
|
/>
|
||||||
|
{showAgbs && (
|
||||||
|
<AgbsPDF
|
||||||
|
mode={mode}
|
||||||
|
headerIcon={estimationProps.headerIcon}
|
||||||
|
footerLogo={estimationProps.footerLogo}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<SimpleLayout {...layoutProps} pageNumber="END" showPageNumber={false}>
|
||||||
|
<ClosingModule />
|
||||||
|
</SimpleLayout>
|
||||||
|
</PDFDocument>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -18,6 +18,8 @@ import { calculatePositions } from "../logic/pricing/calculator.js";
|
|||||||
interface PDFProps {
|
interface PDFProps {
|
||||||
state: any;
|
state: any;
|
||||||
totalPrice: number;
|
totalPrice: number;
|
||||||
|
monthlyPrice?: number;
|
||||||
|
totalPagesCount?: number;
|
||||||
pricing: any;
|
pricing: any;
|
||||||
headerIcon?: string;
|
headerIcon?: string;
|
||||||
footerLogo?: string;
|
footerLogo?: string;
|
||||||
@@ -525,11 +525,13 @@ export const FoldingMarks = () => (
|
|||||||
export const Footer = ({
|
export const Footer = ({
|
||||||
logo,
|
logo,
|
||||||
companyData,
|
companyData,
|
||||||
|
bankData,
|
||||||
showDetails = true,
|
showDetails = true,
|
||||||
showPageNumber = true,
|
showPageNumber = true,
|
||||||
}: {
|
}: {
|
||||||
logo?: string;
|
logo?: string;
|
||||||
companyData: any;
|
companyData: any;
|
||||||
|
bankData?: any;
|
||||||
showDetails?: boolean;
|
showDetails?: boolean;
|
||||||
showPageNumber?: boolean;
|
showPageNumber?: boolean;
|
||||||
}) => (
|
}) => (
|
||||||
@@ -33,6 +33,7 @@ interface SimpleLayoutProps {
|
|||||||
icon?: string;
|
icon?: string;
|
||||||
footerLogo?: string;
|
footerLogo?: string;
|
||||||
companyData: any;
|
companyData: any;
|
||||||
|
bankData?: any;
|
||||||
showPageNumber?: boolean;
|
showPageNumber?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,6 +43,7 @@ export const SimpleLayout = ({
|
|||||||
icon,
|
icon,
|
||||||
footerLogo,
|
footerLogo,
|
||||||
companyData,
|
companyData,
|
||||||
|
bankData,
|
||||||
showPageNumber = true
|
showPageNumber = true
|
||||||
}: SimpleLayoutProps) => {
|
}: SimpleLayoutProps) => {
|
||||||
return (
|
return (
|
||||||
@@ -56,6 +58,7 @@ export const SimpleLayout = ({
|
|||||||
<Footer
|
<Footer
|
||||||
logo={footerLogo}
|
logo={footerLogo}
|
||||||
companyData={companyData}
|
companyData={companyData}
|
||||||
|
bankData={bankData}
|
||||||
showDetails={false}
|
showDetails={false}
|
||||||
showPageNumber={showPageNumber}
|
showPageNumber={showPageNumber}
|
||||||
/>
|
/>
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
export * from "./logic/pricing/types.js";
|
export * from "./logic/pricing/types.js";
|
||||||
export * from "./logic/pricing/constants.js";
|
export * from "./logic/pricing/constants.js";
|
||||||
export * from "./logic/pricing/calculator.js";
|
export * from "./logic/pricing/calculator.js";
|
||||||
export * from "./services/AcquisitionService.js";
|
|
||||||
export * from "./services/PdfEngine.js";
|
|
||||||
export * from "./components/EstimationPDF.js";
|
export * from "./components/EstimationPDF.js";
|
||||||
export * from "./components/pdf/SimpleLayout.js";
|
export * from "./components/pdf/SimpleLayout.js";
|
||||||
export * from "./components/pdf/SharedUI.js";
|
export * from "./components/pdf/SharedUI.js";
|
||||||
@@ -13,3 +11,5 @@ export * from "./components/pdf/modules/EstimationModule.js";
|
|||||||
export * from "./components/pdf/modules/CommonModules.js";
|
export * from "./components/pdf/modules/CommonModules.js";
|
||||||
export * from "./components/pdf/modules/BrandingModules.js";
|
export * from "./components/pdf/modules/BrandingModules.js";
|
||||||
export * from "./components/pdf/modules/TransparenzModule.js";
|
export * from "./components/pdf/modules/TransparenzModule.js";
|
||||||
|
export * from "./components/AgbsPDF.js";
|
||||||
|
export * from "./components/CombinedQuotePDF.js";
|
||||||
3
packages/pdf-library/src/server.ts
Normal file
3
packages/pdf-library/src/server.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
export * from "./index.js";
|
||||||
|
export * from "./services/AcquisitionService.js";
|
||||||
|
export * from "./services/PdfEngine.js";
|
||||||
24
packages/pdf-library/tsconfig.json
Normal file
24
packages/pdf-library/tsconfig.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"jsx": "react-jsx",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationDir": "dist",
|
||||||
|
"emitDeclarationOnly": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"strict": true,
|
||||||
|
"outDir": "dist"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"src/**/*"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"dist",
|
||||||
|
"build.mjs"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user