@driveflux/pdf 4.0.77 → 5.0.0-feature-e-invoicing.0
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.
- package/.env +0 -0
- package/.env.development +4 -0
- package/.turbo/turbo-build.log +14 -0
- package/CHANGELOG.md +15 -0
- package/build.ts +45 -0
- package/bun-env.d.ts +34 -0
- package/bunfig.toml +8 -0
- package/catalog-version-stamp.json +8 -0
- package/dist/main.js +4 -0
- package/dist/main.js.map +11 -0
- package/dist/src/config.d.ts +20 -0
- package/dist/src/create-logger.d.ts +1 -0
- package/dist/src/errors.d.ts +43 -0
- package/dist/src/main.d.ts +1 -0
- package/dist/src/preview/api.d.ts +264 -0
- package/dist/src/preview/client/app.d.ts +2 -0
- package/dist/src/preview/client/invoice/invoice-display.d.ts +5 -0
- package/dist/src/preview/client/invoice/invoice-setup.d.ts +8 -0
- package/dist/src/preview/client/preview-targets.d.ts +12 -0
- package/dist/src/preview/client/preview.d.ts +6 -0
- package/dist/src/preview/client/sidebar.d.ts +7 -0
- package/dist/src/preview/client/treaty.d.ts +200 -0
- package/dist/src/preview/client/use-target.d.ts +1 -0
- package/dist/src/preview/fonts/register-fonts.d.ts +1 -0
- package/dist/src/preview/frontend.d.ts +1 -0
- package/dist/src/preview/server.d.ts +1 -0
- package/dist/src/repository.d.ts +171 -0
- package/dist/src/templates/invoice/colors.d.ts +6 -0
- package/dist/src/templates/invoice/company-details.d.ts +10 -0
- package/dist/src/templates/invoice/flux-invoice.d.ts +6 -0
- package/dist/src/templates/invoice/footer.d.ts +2 -0
- package/dist/src/templates/invoice/host-invoice.d.ts +9 -0
- package/dist/src/templates/invoice/invoice-details.d.ts +13 -0
- package/dist/src/templates/invoice/invoice-notes.d.ts +1 -0
- package/dist/src/templates/invoice/invoice-summary.d.ts +7 -0
- package/dist/src/templates/invoice/letter-head.d.ts +10 -0
- package/dist/src/templates/invoice/li.d.ts +10 -0
- package/dist/src/templates/invoice/platform-and-host-details.d.ts +11 -0
- package/dist/src/templates/invoice/spacer.d.ts +3 -0
- package/dist/src/templates/invoice/split-container-items.d.ts +10 -0
- package/dist/src/templates/invoice/split-container.d.ts +7 -0
- package/dist/src/templates/invoice/standard-page.d.ts +7 -0
- package/dist/src/templates/invoice/types.d.ts +3 -0
- package/dist/src/templates/invoice/ul.d.ts +8 -0
- package/dist/src/templates/invoice/utils.d.ts +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +34 -40
- package/src/config.ts +42 -0
- package/src/create-logger.ts +4 -0
- package/src/errors.ts +35 -0
- package/src/main.ts +7 -0
- package/src/preview/api.ts +33 -0
- package/src/preview/client/app.tsx +30 -0
- package/src/preview/client/invoice/invoice-display.tsx +27 -0
- package/src/preview/client/invoice/invoice-setup.tsx +95 -0
- package/src/preview/client/preview-targets.ts +30 -0
- package/src/preview/client/preview.tsx +37 -0
- package/src/preview/client/sidebar.tsx +39 -0
- package/src/preview/client/treaty.ts +8 -0
- package/src/preview/client/use-target.ts +11 -0
- package/src/preview/fonts/GOTHAM-BLACK.TTF +0 -0
- package/src/preview/fonts/GOTHAM-BLACKITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-BOLD.TTF +0 -0
- package/src/preview/fonts/GOTHAM-BOLDITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-LIGHT.TTF +0 -0
- package/src/preview/fonts/GOTHAM-LIGHTITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-MEDIUM.TTF +0 -0
- package/src/preview/fonts/GOTHAM-MEDIUMITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-THIN.TTF +0 -0
- package/src/preview/fonts/GOTHAM-THINITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-ULTRA.TTF +0 -0
- package/src/preview/fonts/GOTHAM-ULTRAITALIC.TTF +0 -0
- package/src/preview/fonts/GOTHAM-XLIGHT.TTF +0 -0
- package/src/preview/fonts/GOTHAM-XLIGHTITALIC.TTF +0 -0
- package/src/preview/fonts/Gotham Book Italic.otf +0 -0
- package/src/preview/fonts/Gotham-BoldItalic.otf +0 -0
- package/src/preview/fonts/Gotham-Book.otf +0 -0
- package/src/preview/fonts/Gotham-BookItalic.otf +0 -0
- package/src/preview/fonts/Gotham-ExtraLight.otf +0 -0
- package/src/preview/fonts/Gotham-ExtraLightItalic.otf +0 -0
- package/src/preview/fonts/Gotham-Light.otf +0 -0
- package/src/preview/fonts/Gotham-LightItalic.otf +0 -0
- package/src/preview/fonts/Gotham-Medium.otf +0 -0
- package/src/preview/fonts/Gotham-MediumItalic.otf +0 -0
- package/src/preview/fonts/Gotham-Thin.otf +0 -0
- package/src/preview/fonts/Gotham-ThinItalic.otf +0 -0
- package/src/preview/fonts/Gotham-Ultra.otf +0 -0
- package/src/preview/fonts/Gotham-UltraItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Black.otf +0 -0
- package/src/preview/fonts/GothamNarrow-BlackItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Book.otf +0 -0
- package/src/preview/fonts/GothamNarrow-BookItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Light.otf +0 -0
- package/src/preview/fonts/GothamNarrow-LightItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Medium.otf +0 -0
- package/src/preview/fonts/GothamNarrow-MediumItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Thin.otf +0 -0
- package/src/preview/fonts/GothamNarrow-ThinItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-Ultra.otf +0 -0
- package/src/preview/fonts/GothamNarrow-UltraItalic.otf +0 -0
- package/src/preview/fonts/GothamNarrow-XLight.otf +0 -0
- package/src/preview/fonts/GothamNarrow-XLightItalic.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-bold-italic.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-bold.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-book-italic.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-book.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-light-italic.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-light.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-medium-italic.otf +0 -0
- package/src/preview/fonts/gotham-extra-narrow-medium.otf +0 -0
- package/src/preview/fonts/gotham-rounded-bold-italic.otf +0 -0
- package/src/preview/fonts/gotham-rounded-bold.otf +0 -0
- package/src/preview/fonts/gotham-rounded-book-italic.otf +0 -0
- package/src/preview/fonts/gotham-rounded-book.otf +0 -0
- package/src/preview/fonts/gotham-rounded-light-italic.otf +0 -0
- package/src/preview/fonts/gotham-rounded-light.otf +0 -0
- package/src/preview/fonts/gotham-rounded-medium-italic.otf +0 -0
- package/src/preview/fonts/gotham-rounded-medium.otf +0 -0
- package/src/preview/fonts/register-fonts.ts +395 -0
- package/src/preview/frontend.tsx +23 -0
- package/src/preview/global.css +39 -0
- package/src/preview/preview.html +12 -0
- package/src/preview/server.ts +28 -0
- package/src/repository.ts +39 -0
- package/src/templates/invoice/E Invoice Format.pdf +0 -0
- package/src/templates/invoice/colors.ts +6 -0
- package/src/templates/invoice/company-details.tsx +124 -0
- package/src/templates/invoice/flux-invoice.tsx +134 -0
- package/src/templates/invoice/footer.tsx +46 -0
- package/src/templates/invoice/host-invoice.tsx +134 -0
- package/src/templates/invoice/images/logo.png +0 -0
- package/src/templates/invoice/images/logo.svg +41 -0
- package/src/templates/invoice/invoice-details.tsx +231 -0
- package/src/templates/invoice/invoice-notes.tsx +74 -0
- package/src/templates/invoice/invoice-summary.tsx +135 -0
- package/src/templates/invoice/letter-head.tsx +132 -0
- package/src/templates/invoice/li.tsx +48 -0
- package/src/templates/invoice/platform-and-host-details.tsx +56 -0
- package/src/templates/invoice/spacer.tsx +5 -0
- package/src/templates/invoice/split-container-items.tsx +80 -0
- package/src/templates/invoice/split-container.tsx +35 -0
- package/src/templates/invoice/standard-page.tsx +45 -0
- package/src/templates/invoice/types.ts +6 -0
- package/src/templates/invoice/ul.tsx +19 -0
- package/src/templates/invoice/utils.ts +5 -0
- package/tsconfig.json +21 -0
- package/dist/components/FluxLogo.d.ts +0 -3
- package/dist/components/FluxLogo.d.ts.map +0 -1
- package/dist/components/FluxLogo.js +0 -66
- package/dist/components/FluxLogo.js.map +0 -1
- package/dist/components/StandardPage.d.ts +0 -7
- package/dist/components/StandardPage.d.ts.map +0 -1
- package/dist/components/StandardPage.js +0 -132
- package/dist/components/StandardPage.js.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/templates/QuotationPdf/CustomerSubscriptionSection.d.ts +0 -10
- package/dist/templates/QuotationPdf/CustomerSubscriptionSection.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/CustomerSubscriptionSection.js +0 -165
- package/dist/templates/QuotationPdf/CustomerSubscriptionSection.js.map +0 -1
- package/dist/templates/QuotationPdf/GFV.d.ts +0 -10
- package/dist/templates/QuotationPdf/GFV.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/GFV.js +0 -61
- package/dist/templates/QuotationPdf/GFV.js.map +0 -1
- package/dist/templates/QuotationPdf/Header.d.ts +0 -9
- package/dist/templates/QuotationPdf/Header.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/Header.js +0 -71
- package/dist/templates/QuotationPdf/Header.js.map +0 -1
- package/dist/templates/QuotationPdf/Pricing.d.ts +0 -10
- package/dist/templates/QuotationPdf/Pricing.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/Pricing.js +0 -723
- package/dist/templates/QuotationPdf/Pricing.js.map +0 -1
- package/dist/templates/QuotationPdf/QuotationPdfPage.d.ts +0 -8
- package/dist/templates/QuotationPdf/QuotationPdfPage.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/QuotationPdfPage.js +0 -30
- package/dist/templates/QuotationPdf/QuotationPdfPage.js.map +0 -1
- package/dist/templates/QuotationPdf/SectionBoxNew.d.ts +0 -9
- package/dist/templates/QuotationPdf/SectionBoxNew.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/SectionBoxNew.js +0 -38
- package/dist/templates/QuotationPdf/SectionBoxNew.js.map +0 -1
- package/dist/templates/QuotationPdf/TermsSection.d.ts +0 -8
- package/dist/templates/QuotationPdf/TermsSection.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/TermsSection.js +0 -50
- package/dist/templates/QuotationPdf/TermsSection.js.map +0 -1
- package/dist/templates/QuotationPdf/VehiclePhotos.d.ts +0 -10
- package/dist/templates/QuotationPdf/VehiclePhotos.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/VehiclePhotos.js +0 -66
- package/dist/templates/QuotationPdf/VehiclePhotos.js.map +0 -1
- package/dist/templates/QuotationPdf/index.d.ts +0 -12
- package/dist/templates/QuotationPdf/index.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/index.js +0 -214
- package/dist/templates/QuotationPdf/index.js.map +0 -1
- package/dist/templates/QuotationPdf/translations.d.ts +0 -68
- package/dist/templates/QuotationPdf/translations.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/translations.js +0 -101
- package/dist/templates/QuotationPdf/translations.js.map +0 -1
- package/dist/templates/QuotationPdf/utils.d.ts +0 -14
- package/dist/templates/QuotationPdf/utils.d.ts.map +0 -1
- package/dist/templates/QuotationPdf/utils.js +0 -152
- package/dist/templates/QuotationPdf/utils.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/Confirmation.d.ts +0 -12
- package/dist/templates/SubscriptionAgreement/Confirmation.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/Confirmation.js +0 -80
- package/dist/templates/SubscriptionAgreement/Confirmation.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/CoverPage.d.ts +0 -14
- package/dist/templates/SubscriptionAgreement/CoverPage.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/CoverPage.js +0 -111
- package/dist/templates/SubscriptionAgreement/CoverPage.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/CoverPageSection.d.ts +0 -7
- package/dist/templates/SubscriptionAgreement/CoverPageSection.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/CoverPageSection.js +0 -25
- package/dist/templates/SubscriptionAgreement/CoverPageSection.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/Details.d.ts +0 -10
- package/dist/templates/SubscriptionAgreement/Details.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/Details.js +0 -223
- package/dist/templates/SubscriptionAgreement/Details.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/Footer.d.ts +0 -10
- package/dist/templates/SubscriptionAgreement/Footer.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/Footer.js +0 -58
- package/dist/templates/SubscriptionAgreement/Footer.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/Header.d.ts +0 -10
- package/dist/templates/SubscriptionAgreement/Header.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/Header.js +0 -46
- package/dist/templates/SubscriptionAgreement/Header.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/LabelValue.d.ts +0 -8
- package/dist/templates/SubscriptionAgreement/LabelValue.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/LabelValue.js +0 -29
- package/dist/templates/SubscriptionAgreement/LabelValue.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.d.ts +0 -10
- package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.js +0 -33
- package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/TermsOfUse.d.ts +0 -8
- package/dist/templates/SubscriptionAgreement/TermsOfUse.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/TermsOfUse.js +0 -101
- package/dist/templates/SubscriptionAgreement/TermsOfUse.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.d.ts +0 -12
- package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.js +0 -103
- package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/index.d.ts +0 -13
- package/dist/templates/SubscriptionAgreement/index.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/index.js +0 -271
- package/dist/templates/SubscriptionAgreement/index.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/translations.d.ts +0 -78
- package/dist/templates/SubscriptionAgreement/translations.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/translations.js +0 -662
- package/dist/templates/SubscriptionAgreement/translations.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/types.d.ts +0 -7
- package/dist/templates/SubscriptionAgreement/types.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/types.js +0 -1
- package/dist/templates/SubscriptionAgreement/types.js.map +0 -1
- package/dist/templates/SubscriptionAgreement/utils.d.ts +0 -6
- package/dist/templates/SubscriptionAgreement/utils.d.ts.map +0 -1
- package/dist/templates/SubscriptionAgreement/utils.js +0 -37
- package/dist/templates/SubscriptionAgreement/utils.js.map +0 -1
- package/dist/templates/index.d.ts +0 -3
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -2
- package/dist/templates/index.js.map +0 -1
- package/dist/theme/colors.d.ts +0 -148
- package/dist/theme/colors.d.ts.map +0 -1
- package/dist/theme/colors.js +0 -137
- package/dist/theme/colors.js.map +0 -1
- package/dist/theme/index.d.ts +0 -2
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -1
- package/dist/theme/index.js.map +0 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -10
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -175
- package/dist/utils.js.map +0 -1
- package/dist/watch.d.ts +0 -2
- package/dist/watch.d.ts.map +0 -1
- package/dist/watch.js +0 -11
- package/dist/watch.js.map +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { tz } from '@date-fns/tz'
|
|
2
|
+
import type { BillingAddress } from '@driveflux/db'
|
|
3
|
+
import { StyleSheet, Text, View } from '@react-pdf/renderer'
|
|
4
|
+
import { format } from 'date-fns/format'
|
|
5
|
+
import { config } from '../../config'
|
|
6
|
+
import { registerFonts } from '../../preview/fonts/register-fonts'
|
|
7
|
+
import logo from './images/logo.png'
|
|
8
|
+
import { InvoiceDetails } from './invoice-details'
|
|
9
|
+
import { InvoiceNotes } from './invoice-notes'
|
|
10
|
+
import { LetterHead } from './letter-head'
|
|
11
|
+
import { PlatformAndHostDetails } from './platform-and-host-details'
|
|
12
|
+
import { Spacer } from './spacer'
|
|
13
|
+
import { SplitContainer } from './split-container'
|
|
14
|
+
import { SplitContainerItems } from './split-container-items'
|
|
15
|
+
import { StandardPage } from './standard-page'
|
|
16
|
+
import type { InvoiceForPDF } from './types'
|
|
17
|
+
import { carPlateAndName } from './utils'
|
|
18
|
+
|
|
19
|
+
registerFonts()
|
|
20
|
+
|
|
21
|
+
type InvoiceSummaryData = Pick<
|
|
22
|
+
InvoiceForPDF,
|
|
23
|
+
| 'subscriptionDetails'
|
|
24
|
+
| 'payerName'
|
|
25
|
+
| 'billingAddress'
|
|
26
|
+
| 'payerPhoneNumber'
|
|
27
|
+
| 'payerEmail'
|
|
28
|
+
| 'total'
|
|
29
|
+
| 'paidAt'
|
|
30
|
+
| 'createdAt'
|
|
31
|
+
| 'eInvoice'
|
|
32
|
+
>
|
|
33
|
+
|
|
34
|
+
type InvoiceSummaryProps = {
|
|
35
|
+
data: InvoiceSummaryData
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Helper function to format billing address
|
|
39
|
+
const formatBillingAddress = (
|
|
40
|
+
address: BillingAddress | null | undefined,
|
|
41
|
+
): string => {
|
|
42
|
+
if (!address) return '-'
|
|
43
|
+
const parts = [
|
|
44
|
+
address.street1,
|
|
45
|
+
address.street2,
|
|
46
|
+
address.city,
|
|
47
|
+
address.state,
|
|
48
|
+
address.postalCode,
|
|
49
|
+
].filter(Boolean)
|
|
50
|
+
return parts.join(', ')
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
phoneEmailContainer: {
|
|
55
|
+
display: 'flex',
|
|
56
|
+
flexDirection: 'column',
|
|
57
|
+
gap: 4,
|
|
58
|
+
},
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
export const InvoiceSummary = ({ data }: InvoiceSummaryProps) => {
|
|
62
|
+
const logoUri = new URL(logo, config.appUrl).toString()
|
|
63
|
+
return (
|
|
64
|
+
<StandardPage
|
|
65
|
+
letterHead={
|
|
66
|
+
<LetterHead
|
|
67
|
+
logoSource={logoUri}
|
|
68
|
+
purpose="Payment Advice"
|
|
69
|
+
idLabel="Sub ID"
|
|
70
|
+
idValue={data.subscriptionDetails?.subscriptionId || '-'}
|
|
71
|
+
/>
|
|
72
|
+
}
|
|
73
|
+
>
|
|
74
|
+
<SplitContainer
|
|
75
|
+
left={
|
|
76
|
+
<SplitContainerItems
|
|
77
|
+
items={[
|
|
78
|
+
{
|
|
79
|
+
title: 'Bill To',
|
|
80
|
+
value: data.payerName,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: 'Address',
|
|
84
|
+
value: formatBillingAddress(data.billingAddress),
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
title: 'Tel / Email',
|
|
88
|
+
value: (
|
|
89
|
+
<View style={styles.phoneEmailContainer}>
|
|
90
|
+
<Text>{data.payerPhoneNumber}</Text>
|
|
91
|
+
<Text>{data.payerEmail}</Text>
|
|
92
|
+
</View>
|
|
93
|
+
),
|
|
94
|
+
},
|
|
95
|
+
]}
|
|
96
|
+
/>
|
|
97
|
+
}
|
|
98
|
+
right={
|
|
99
|
+
<SplitContainerItems
|
|
100
|
+
items={[
|
|
101
|
+
{
|
|
102
|
+
title: 'Invoice Date',
|
|
103
|
+
value: format(data.createdAt, 'dd-MM-yyyy', {
|
|
104
|
+
in: tz(config.timezone),
|
|
105
|
+
}),
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
title: 'Po No.',
|
|
109
|
+
value: data.eInvoice?.poNumber || '-',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: 'Car Plate / Car Type',
|
|
113
|
+
value: data.eInvoice ? carPlateAndName(data.eInvoice) : '-',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
title: 'Sub ID',
|
|
117
|
+
value: data.subscriptionDetails?.subscriptionId || '-',
|
|
118
|
+
},
|
|
119
|
+
]}
|
|
120
|
+
/>
|
|
121
|
+
}
|
|
122
|
+
/>
|
|
123
|
+
<Spacer height={12} />
|
|
124
|
+
<PlatformAndHostDetails data={data} />
|
|
125
|
+
<Spacer />
|
|
126
|
+
<InvoiceDetails
|
|
127
|
+
total={data.total}
|
|
128
|
+
paid={!!data.paidAt}
|
|
129
|
+
items={data.eInvoice?.linesSummary}
|
|
130
|
+
/>
|
|
131
|
+
<Spacer />
|
|
132
|
+
<InvoiceNotes />
|
|
133
|
+
</StandardPage>
|
|
134
|
+
)
|
|
135
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Image, StyleSheet, Text, View } from '@react-pdf/renderer'
|
|
2
|
+
import { colors } from './colors'
|
|
3
|
+
|
|
4
|
+
type LetterHeadProps = {
|
|
5
|
+
logoSource?: string
|
|
6
|
+
companyName?: string
|
|
7
|
+
companyAddress?: string
|
|
8
|
+
purpose: string
|
|
9
|
+
idLabel: string
|
|
10
|
+
idValue: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
logoContainer: {
|
|
15
|
+
height: 24,
|
|
16
|
+
width: 'auto',
|
|
17
|
+
marginRight: 12,
|
|
18
|
+
},
|
|
19
|
+
logo: {
|
|
20
|
+
height: 24,
|
|
21
|
+
width: 'auto',
|
|
22
|
+
},
|
|
23
|
+
header: {
|
|
24
|
+
display: 'flex',
|
|
25
|
+
flexDirection: 'row',
|
|
26
|
+
justifyContent: 'space-between',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
},
|
|
29
|
+
headerRight: {
|
|
30
|
+
display: 'flex',
|
|
31
|
+
flexDirection: 'column',
|
|
32
|
+
alignItems: 'flex-end',
|
|
33
|
+
},
|
|
34
|
+
headerLeft: {
|
|
35
|
+
display: 'flex',
|
|
36
|
+
flexDirection: 'row',
|
|
37
|
+
alignItems: 'flex-start',
|
|
38
|
+
},
|
|
39
|
+
purpose: {
|
|
40
|
+
fontFamily: 'Gotham-Book',
|
|
41
|
+
textTransform: 'uppercase',
|
|
42
|
+
fontSize: 12,
|
|
43
|
+
color: colors.primaryBlack,
|
|
44
|
+
fontWeight: 500,
|
|
45
|
+
},
|
|
46
|
+
subIdContainer: {
|
|
47
|
+
display: 'flex',
|
|
48
|
+
flexDirection: 'row',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
},
|
|
51
|
+
subIdLabel: {
|
|
52
|
+
fontFamily: 'Gotham-Book',
|
|
53
|
+
textTransform: 'uppercase',
|
|
54
|
+
fontSize: 8,
|
|
55
|
+
fontWeight: 400,
|
|
56
|
+
marginTop: 1,
|
|
57
|
+
marginRight: 2.5,
|
|
58
|
+
},
|
|
59
|
+
subIdValue: {
|
|
60
|
+
fontFamily: 'Gotham-Medium',
|
|
61
|
+
textTransform: 'uppercase',
|
|
62
|
+
fontSize: 8,
|
|
63
|
+
fontWeight: 500,
|
|
64
|
+
},
|
|
65
|
+
headerDivider: {
|
|
66
|
+
marginTop: 16,
|
|
67
|
+
borderBottomColor: colors.blueBranding,
|
|
68
|
+
borderBottomWidth: 1,
|
|
69
|
+
borderBottomStyle: 'solid',
|
|
70
|
+
},
|
|
71
|
+
companyDetails: {
|
|
72
|
+
display: 'flex',
|
|
73
|
+
flexDirection: 'column',
|
|
74
|
+
alignItems: 'flex-start',
|
|
75
|
+
marginTop: 4,
|
|
76
|
+
},
|
|
77
|
+
companyName: {
|
|
78
|
+
fontFamily: 'Gotham-Medium',
|
|
79
|
+
fontSize: 8,
|
|
80
|
+
fontWeight: 500,
|
|
81
|
+
color: colors.darkGrey,
|
|
82
|
+
},
|
|
83
|
+
companyAddress: {
|
|
84
|
+
fontFamily: 'Gotham-Book',
|
|
85
|
+
fontSize: 6,
|
|
86
|
+
marginTop: 2,
|
|
87
|
+
fontWeight: 400,
|
|
88
|
+
color: colors.darkGrey,
|
|
89
|
+
},
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
export const LetterHead = ({
|
|
93
|
+
logoSource,
|
|
94
|
+
companyName,
|
|
95
|
+
companyAddress,
|
|
96
|
+
purpose,
|
|
97
|
+
idLabel,
|
|
98
|
+
idValue,
|
|
99
|
+
}: LetterHeadProps) => {
|
|
100
|
+
const hasCompanyDetails = companyName || companyAddress
|
|
101
|
+
return (
|
|
102
|
+
<>
|
|
103
|
+
<View style={styles.header}>
|
|
104
|
+
<View style={styles.headerLeft}>
|
|
105
|
+
{logoSource && (
|
|
106
|
+
<View style={styles.logoContainer}>
|
|
107
|
+
<Image src={logoSource} style={styles.logo} />
|
|
108
|
+
</View>
|
|
109
|
+
)}
|
|
110
|
+
{hasCompanyDetails && (
|
|
111
|
+
<View style={styles.companyDetails}>
|
|
112
|
+
{companyName && (
|
|
113
|
+
<Text style={styles.companyName}>{companyName}</Text>
|
|
114
|
+
)}
|
|
115
|
+
{companyAddress && (
|
|
116
|
+
<Text style={styles.companyAddress}>{companyAddress}</Text>
|
|
117
|
+
)}
|
|
118
|
+
</View>
|
|
119
|
+
)}
|
|
120
|
+
</View>
|
|
121
|
+
<View style={styles.headerRight}>
|
|
122
|
+
<Text style={styles.purpose}>{purpose}</Text>
|
|
123
|
+
<View style={styles.subIdContainer}>
|
|
124
|
+
<Text style={styles.subIdLabel}>{idLabel}:</Text>
|
|
125
|
+
<Text style={styles.subIdValue}>{idValue}</Text>
|
|
126
|
+
</View>
|
|
127
|
+
</View>
|
|
128
|
+
</View>
|
|
129
|
+
<View style={styles.headerDivider} />
|
|
130
|
+
</>
|
|
131
|
+
)
|
|
132
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type NodeProps, StyleSheet, Text, View } from '@react-pdf/renderer'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
import { colors } from './colors'
|
|
4
|
+
|
|
5
|
+
const defaultStyles = StyleSheet.create({
|
|
6
|
+
item: {
|
|
7
|
+
display: 'flex',
|
|
8
|
+
flexDirection: 'row',
|
|
9
|
+
gap: 6,
|
|
10
|
+
},
|
|
11
|
+
bullet: {
|
|
12
|
+
fontFamily: 'Gotham-Book',
|
|
13
|
+
fontSize: 8,
|
|
14
|
+
fontWeight: 400,
|
|
15
|
+
color: colors.primaryBlack,
|
|
16
|
+
},
|
|
17
|
+
textContainer: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
},
|
|
20
|
+
text: {
|
|
21
|
+
fontFamily: 'Gotham-Book',
|
|
22
|
+
fontSize: 8,
|
|
23
|
+
fontWeight: 400,
|
|
24
|
+
color: colors.primaryBlack,
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
interface LiProps {
|
|
29
|
+
children: ReactNode
|
|
30
|
+
style?: Exclude<NodeProps['style'], Array<unknown>>
|
|
31
|
+
bulletStyle?: Exclude<NodeProps['style'], Array<unknown>>
|
|
32
|
+
bullet?: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const Li = ({ children, style, bulletStyle, bullet = '•' }: LiProps) => {
|
|
36
|
+
return (
|
|
37
|
+
<View style={[defaultStyles.item, style ?? {}]}>
|
|
38
|
+
<Text style={[defaultStyles.bullet, bulletStyle ?? {}]}>{bullet}</Text>
|
|
39
|
+
<View style={defaultStyles.textContainer}>
|
|
40
|
+
{typeof children === 'string' ? (
|
|
41
|
+
<Text style={defaultStyles.text}>{children}</Text>
|
|
42
|
+
) : (
|
|
43
|
+
children
|
|
44
|
+
)}
|
|
45
|
+
</View>
|
|
46
|
+
</View>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { StyleSheet, View } from '@react-pdf/renderer'
|
|
2
|
+
import { colors } from './colors'
|
|
3
|
+
import { CompanyDetails } from './company-details'
|
|
4
|
+
import { SplitContainer } from './split-container'
|
|
5
|
+
import type { InvoiceForPDF } from './types'
|
|
6
|
+
|
|
7
|
+
type PlatformAndHostDetailsProps = {
|
|
8
|
+
data: {
|
|
9
|
+
eInvoice: {
|
|
10
|
+
fluxDetails: NonNullable<InvoiceForPDF['eInvoice']['fluxDetails']>
|
|
11
|
+
hostDetails: InvoiceForPDF['eInvoice']['hostDetails']
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const styles = StyleSheet.create({
|
|
17
|
+
container: {
|
|
18
|
+
padding: 12,
|
|
19
|
+
borderWidth: 1,
|
|
20
|
+
borderColor: colors.lightGrey,
|
|
21
|
+
borderStyle: 'solid',
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
export const PlatformAndHostDetails = ({
|
|
25
|
+
data,
|
|
26
|
+
}: PlatformAndHostDetailsProps) => {
|
|
27
|
+
return (
|
|
28
|
+
<View style={styles.container}>
|
|
29
|
+
<SplitContainer
|
|
30
|
+
gap={40}
|
|
31
|
+
left={
|
|
32
|
+
<CompanyDetails
|
|
33
|
+
title="Platform (Payment & Subscription Management):"
|
|
34
|
+
companyName="FLUX Sdn. Bhd. (1375723-H)"
|
|
35
|
+
address="15-2 Jalan Solaris, Solaris Mont Kiara, 50480 Kuala Lumpur, Malaysia"
|
|
36
|
+
sstNumber="W10-2010-32100016"
|
|
37
|
+
tinNumber="C 25801903040"
|
|
38
|
+
invoiceNumber="2025/11/21/0001/F/RL"
|
|
39
|
+
/>
|
|
40
|
+
}
|
|
41
|
+
right={
|
|
42
|
+
data.eInvoice.hostDetails && (
|
|
43
|
+
<CompanyDetails
|
|
44
|
+
title="Host (Vehicle Owner):"
|
|
45
|
+
companyName={`${data.eInvoice.hostDetails.companyName} - (${data.eInvoice.hostDetails.companyNumber || data.eInvoice.hostDetails.id || '-'})`}
|
|
46
|
+
address={data.eInvoice.hostDetails.address}
|
|
47
|
+
sstNumber={data.eInvoice.hostDetails.sstNo ?? '-'}
|
|
48
|
+
tinNumber={data.eInvoice.hostDetails.tinNo ?? '-'}
|
|
49
|
+
invoiceNumber={data.eInvoice.hostDetails.invoiceNumber ?? '-'}
|
|
50
|
+
/>
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
/>
|
|
54
|
+
</View>
|
|
55
|
+
)
|
|
56
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { StyleSheet, Text, View } from '@react-pdf/renderer'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
import { colors } from './colors'
|
|
4
|
+
|
|
5
|
+
type SplitContainerItem = {
|
|
6
|
+
title: string
|
|
7
|
+
value: ReactNode
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type SplitContainerItemsProps = {
|
|
11
|
+
items: SplitContainerItem[]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const styles = StyleSheet.create({
|
|
15
|
+
container: {
|
|
16
|
+
display: 'flex',
|
|
17
|
+
flexDirection: 'column',
|
|
18
|
+
gap: 4,
|
|
19
|
+
alignSelf: 'stretch',
|
|
20
|
+
},
|
|
21
|
+
item: {
|
|
22
|
+
display: 'flex',
|
|
23
|
+
flexDirection: 'row',
|
|
24
|
+
alignSelf: 'stretch',
|
|
25
|
+
minHeight: 0,
|
|
26
|
+
},
|
|
27
|
+
titleContainer: {
|
|
28
|
+
width: 100,
|
|
29
|
+
flexShrink: 0,
|
|
30
|
+
flexGrow: 0,
|
|
31
|
+
display: 'flex',
|
|
32
|
+
flexDirection: 'row',
|
|
33
|
+
justifyContent: 'flex-start',
|
|
34
|
+
},
|
|
35
|
+
title: {
|
|
36
|
+
fontFamily: 'Gotham-Book',
|
|
37
|
+
fontSize: 10,
|
|
38
|
+
fontWeight: 400,
|
|
39
|
+
color: colors.darkGrey,
|
|
40
|
+
textAlign: 'right',
|
|
41
|
+
},
|
|
42
|
+
colon: {
|
|
43
|
+
fontFamily: 'Gotham-Book',
|
|
44
|
+
fontSize: 10,
|
|
45
|
+
fontWeight: 400,
|
|
46
|
+
color: colors.darkGrey,
|
|
47
|
+
width: 10,
|
|
48
|
+
marginLeft: 2,
|
|
49
|
+
flexShrink: 0,
|
|
50
|
+
flexGrow: 0,
|
|
51
|
+
},
|
|
52
|
+
value: {
|
|
53
|
+
fontFamily: 'Gotham-Medium',
|
|
54
|
+
fontSize: 10,
|
|
55
|
+
fontWeight: 500,
|
|
56
|
+
color: colors.primaryBlack,
|
|
57
|
+
flex: 1,
|
|
58
|
+
marginLeft: 0,
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
export const SplitContainerItems = ({ items }: SplitContainerItemsProps) => {
|
|
63
|
+
return (
|
|
64
|
+
<View style={styles.container}>
|
|
65
|
+
{items.map((item) => (
|
|
66
|
+
<View style={styles.item} key={item.title}>
|
|
67
|
+
<View style={styles.titleContainer}>
|
|
68
|
+
<Text style={styles.title}>{item.title}</Text>
|
|
69
|
+
</View>
|
|
70
|
+
<Text style={styles.colon}>:</Text>
|
|
71
|
+
{typeof item.value === 'string' ? (
|
|
72
|
+
<Text style={styles.value}>{item.value}</Text>
|
|
73
|
+
) : (
|
|
74
|
+
<View style={styles.value}>{item.value}</View>
|
|
75
|
+
)}
|
|
76
|
+
</View>
|
|
77
|
+
))}
|
|
78
|
+
</View>
|
|
79
|
+
)
|
|
80
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { StyleSheet, View } from '@react-pdf/renderer'
|
|
2
|
+
|
|
3
|
+
type SplitContainerProps = {
|
|
4
|
+
left: React.ReactNode
|
|
5
|
+
right?: React.ReactNode
|
|
6
|
+
gap?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const styles = StyleSheet.create({
|
|
10
|
+
container: {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
flexDirection: 'row',
|
|
13
|
+
gap: 24,
|
|
14
|
+
alignItems: 'flex-start',
|
|
15
|
+
alignSelf: 'stretch',
|
|
16
|
+
},
|
|
17
|
+
side: {
|
|
18
|
+
width: '50%',
|
|
19
|
+
flexShrink: 0,
|
|
20
|
+
flexGrow: 0,
|
|
21
|
+
},
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
export const SplitContainer = ({
|
|
25
|
+
left,
|
|
26
|
+
right,
|
|
27
|
+
gap = 24,
|
|
28
|
+
}: SplitContainerProps) => {
|
|
29
|
+
return (
|
|
30
|
+
<View style={[styles.container, { gap }]}>
|
|
31
|
+
<View style={styles.side}>{left}</View>
|
|
32
|
+
<View style={styles.side}>{right}</View>
|
|
33
|
+
</View>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Page, StyleSheet, View } from '@react-pdf/renderer'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
import { colors } from './colors'
|
|
4
|
+
import { FOOTER_HEIGHT, Footer } from './footer'
|
|
5
|
+
|
|
6
|
+
const styles = StyleSheet.create({
|
|
7
|
+
page: {
|
|
8
|
+
padding: 24,
|
|
9
|
+
fontFamily: 'Gotham-Book',
|
|
10
|
+
fontSize: 10,
|
|
11
|
+
color: colors.primaryBlack,
|
|
12
|
+
},
|
|
13
|
+
pageContent: {
|
|
14
|
+
position: 'relative',
|
|
15
|
+
display: 'flex',
|
|
16
|
+
flexDirection: 'column',
|
|
17
|
+
minHeight: '100%',
|
|
18
|
+
},
|
|
19
|
+
body: {
|
|
20
|
+
marginTop: 24,
|
|
21
|
+
display: 'flex',
|
|
22
|
+
flexDirection: 'column',
|
|
23
|
+
paddingBottom: FOOTER_HEIGHT,
|
|
24
|
+
},
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
type StandardPageProps = {
|
|
28
|
+
children: ReactNode
|
|
29
|
+
letterHead: ReactNode
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const StandardPage = ({ children, letterHead }: StandardPageProps) => {
|
|
33
|
+
return (
|
|
34
|
+
<Page size="A4" style={styles.page}>
|
|
35
|
+
<View style={styles.pageContent}>
|
|
36
|
+
{/* Header */}
|
|
37
|
+
{letterHead}
|
|
38
|
+
{/* Body */}
|
|
39
|
+
<View style={styles.body}>{children}</View>
|
|
40
|
+
{/* Footer */}
|
|
41
|
+
<Footer />
|
|
42
|
+
</View>
|
|
43
|
+
</Page>
|
|
44
|
+
)
|
|
45
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type NodeProps, StyleSheet, View } from '@react-pdf/renderer'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
|
|
4
|
+
const defaultStyles = StyleSheet.create({
|
|
5
|
+
container: {
|
|
6
|
+
display: 'flex',
|
|
7
|
+
flexDirection: 'column',
|
|
8
|
+
gap: 4,
|
|
9
|
+
},
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
interface UlProps {
|
|
13
|
+
children: ReactNode
|
|
14
|
+
style?: Exclude<NodeProps['style'], Array<unknown>>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const Ul = ({ children, style }: UlProps) => {
|
|
18
|
+
return <View style={[defaultStyles.container, style ?? {}]}>{children}</View>
|
|
19
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "./dist",
|
|
5
|
+
"rootDir": ".",
|
|
6
|
+
"composite": true
|
|
7
|
+
},
|
|
8
|
+
"references": [
|
|
9
|
+
{
|
|
10
|
+
"path": "../db"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"path": "../fix-builds"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"path": "../logger"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"include": ["src/**/*.ts", "src/**/*.tsx", "bun-env.d.ts"],
|
|
20
|
+
"exclude": ["dist", "node_modules"]
|
|
21
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FluxLogo.d.ts","sourceRoot":"","sources":["../../src/components/FluxLogo.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,+CAkDb,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Defs, G, Path, Rect, Svg } from '@react-pdf/renderer';
|
|
3
|
-
var FluxLogo = function FluxLogo() {
|
|
4
|
-
return /*#__PURE__*/ _jsxs(Svg, {
|
|
5
|
-
width: "92",
|
|
6
|
-
height: "29",
|
|
7
|
-
viewBox: "0 0 92 29",
|
|
8
|
-
fill: "none",
|
|
9
|
-
children: [
|
|
10
|
-
/*#__PURE__*/ _jsxs(G, {
|
|
11
|
-
clipPath: "url(#clip0_664_102105)",
|
|
12
|
-
children: [
|
|
13
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
14
|
-
d: "M23.6621 6.12305H35.6903V8.00999H25.5568V13.5529H33.805V15.434H25.5568V22.8638H23.6715L23.6621 6.12305Z",
|
|
15
|
-
fill: "black"
|
|
16
|
-
}),
|
|
17
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
18
|
-
d: "M40.9981 6.12305H42.8834V20.9827H52.3039V22.8697H40.9922L40.9981 6.12305Z",
|
|
19
|
-
fill: "black"
|
|
20
|
-
}),
|
|
21
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
22
|
-
d: "M57.6172 15.6002V6.12305H59.5025V15.4811C59.5025 19.0946 61.4149 21.129 64.6187 21.129C67.7035 21.129 69.6642 19.2621 69.6642 15.6002V6.12305H71.5495V15.4552C71.5495 20.3376 68.751 22.8744 64.5669 22.8744C60.4381 22.8756 57.6172 20.3388 57.6172 15.6002Z",
|
|
23
|
-
fill: "black"
|
|
24
|
-
}),
|
|
25
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
26
|
-
d: "M83.2965 14.3324L77.1033 6.12305H79.3338L84.4736 12.9632L89.5663 6.12305H91.7674L85.5742 14.3077L92.0054 22.8756H89.7525L84.4006 15.6722L79.0451 22.8756H76.8594L83.2965 14.3324Z",
|
|
27
|
-
fill: "black"
|
|
28
|
-
}),
|
|
29
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
30
|
-
opacity: "0.3",
|
|
31
|
-
d: "M3.05934 17.5614C2.45475 17.5598 1.86415 17.3792 1.36192 17.0423C0.859683 16.7054 0.468271 16.2273 0.23697 15.6682C0.00566877 15.1091 -0.0551799 14.494 0.0620863 13.9004C0.179353 13.3068 0.469491 12.7611 0.895964 12.3322L12.3256 0.892604C12.909 0.364801 13.6728 0.0817665 14.459 0.102098C15.2452 0.12243 15.9934 0.444573 16.5488 1.00183C17.1042 1.55908 17.4243 2.30877 17.4426 3.09567C17.461 3.88257 17.1764 4.64641 16.6476 5.22904L5.218 16.6686C4.93441 16.9521 4.59781 17.1768 4.22742 17.33C3.85703 17.4832 3.46011 17.5618 3.05934 17.5614Z",
|
|
32
|
-
fill: "#50C8E8"
|
|
33
|
-
}),
|
|
34
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
35
|
-
opacity: "0.3",
|
|
36
|
-
d: "M8.77458 23.28C8.16964 23.2788 7.57859 23.0985 7.07593 22.7616C6.57326 22.4248 6.18149 21.9465 5.94999 21.3871C5.7185 20.8277 5.65764 20.2123 5.7751 19.6183C5.89256 19.0244 6.18308 18.4786 6.61002 18.0496L12.3213 12.3334C12.6004 12.027 12.9387 11.7804 13.3158 11.6086C13.6928 11.4368 14.1008 11.3433 14.5149 11.3338C14.9291 11.3243 15.3409 11.399 15.7254 11.5533C16.1099 11.7076 16.4592 11.9384 16.752 12.2317C17.0449 12.525 17.2753 12.8746 17.4293 13.2596C17.5832 13.6445 17.6576 14.0567 17.6479 14.4712C17.6382 14.8858 17.5446 15.294 17.3727 15.6713C17.2008 16.0486 16.9543 16.3871 16.648 16.6663L10.9368 22.3837C10.653 22.6681 10.3159 22.8936 9.94489 23.0474C9.57386 23.2013 9.17617 23.2803 8.77458 23.28Z",
|
|
37
|
-
fill: "#50C8E8"
|
|
38
|
-
}),
|
|
39
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
40
|
-
d: "M14.4866 29.0001C16.176 29.0001 17.5455 27.6294 17.5455 25.9385C17.5455 24.2477 16.176 22.877 14.4866 22.877C12.7972 22.877 11.4277 24.2477 11.4277 25.9385C11.4277 27.6294 12.7972 29.0001 14.4866 29.0001Z",
|
|
41
|
-
fill: "#50C8E8"
|
|
42
|
-
}),
|
|
43
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
44
|
-
d: "M14.4866 6.12314C16.176 6.12314 17.5455 4.75243 17.5455 3.06157C17.5455 1.37071 16.176 0 14.4866 0C12.7972 0 11.4277 1.37071 11.4277 3.06157C11.4277 4.75243 12.7972 6.12314 14.4866 6.12314Z",
|
|
45
|
-
fill: "#50C8E8"
|
|
46
|
-
}),
|
|
47
|
-
/*#__PURE__*/ _jsx(Path, {
|
|
48
|
-
d: "M14.4866 17.5616C16.176 17.5616 17.5455 16.1909 17.5455 14.5C17.5455 12.8092 16.176 11.4385 14.4866 11.4385C12.7972 11.4385 11.4277 12.8092 11.4277 14.5C11.4277 16.1909 12.7972 17.5616 14.4866 17.5616Z",
|
|
49
|
-
fill: "#50C8E8"
|
|
50
|
-
})
|
|
51
|
-
]
|
|
52
|
-
}),
|
|
53
|
-
/*#__PURE__*/ _jsx(Defs, {
|
|
54
|
-
children: /*#__PURE__*/ _jsx("clipPath", {
|
|
55
|
-
id: "clip0_664_102105",
|
|
56
|
-
children: /*#__PURE__*/ _jsx(Rect, {
|
|
57
|
-
width: "92",
|
|
58
|
-
height: "29",
|
|
59
|
-
fill: "white"
|
|
60
|
-
})
|
|
61
|
-
})
|
|
62
|
-
})
|
|
63
|
-
]
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
export default FluxLogo;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FluxLogo.js","sourceRoot":"","sources":["../../src/components/FluxLogo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAE9D,MAAM,QAAQ,GAAG,GAAG,EAAE;IACrB,OAAO,CACN,MAAC,GAAG,IAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,aAC1D,MAAC,CAAC,IAAC,QAAQ,EAAC,wBAAwB,aACnC,KAAC,IAAI,IACJ,CAAC,EAAC,yGAAyG,EAC3G,IAAI,EAAC,OAAO,GACX,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,2EAA2E,EAC7E,IAAI,EAAC,OAAO,GACX,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,+PAA+P,EACjQ,IAAI,EAAC,OAAO,GACX,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,mLAAmL,EACrL,IAAI,EAAC,OAAO,GACX,EACF,KAAC,IAAI,IACJ,OAAO,EAAC,KAAK,EACb,CAAC,EAAC,8hBAA8hB,EAChiB,IAAI,EAAC,SAAS,GACb,EACF,KAAC,IAAI,IACJ,OAAO,EAAC,KAAK,EACb,CAAC,EAAC,ssBAAssB,EACxsB,IAAI,EAAC,SAAS,GACb,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,8MAA8M,EAChN,IAAI,EAAC,SAAS,GACb,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,+LAA+L,EACjM,IAAI,EAAC,SAAS,GACb,EACF,KAAC,IAAI,IACJ,CAAC,EAAC,2MAA2M,EAC7M,IAAI,EAAC,SAAS,GACb,IACC,EACJ,KAAC,IAAI,cACJ,mBAAU,EAAE,EAAC,kBAAkB,YAC9B,KAAC,IAAI,IAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,GAAG,GAClC,GACL,IACF,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PageProps } from '@react-pdf/renderer';
|
|
2
|
-
import type React from 'react';
|
|
3
|
-
import type { PropsWithChildren } from 'react';
|
|
4
|
-
type Props = PageProps & {};
|
|
5
|
-
declare const StandardDocument: React.FC<PropsWithChildren<Props>>;
|
|
6
|
-
export default StandardDocument;
|
|
7
|
-
//# sourceMappingURL=StandardPage.d.ts.map
|