@betterinternship/core 2.12.1 → 2.13.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.
Files changed (46) hide show
  1. package/dist/lib/broker/base.process.d.ts +2 -2
  2. package/dist/lib/broker/base.process.js +2 -2
  3. package/dist/lib/broker/base.task.d.ts +40 -40
  4. package/dist/lib/broker/broker.d.ts +28 -28
  5. package/dist/lib/broker/broker.js +111 -111
  6. package/dist/lib/email/email.d.ts +22 -22
  7. package/dist/lib/email/email.js +170 -170
  8. package/dist/lib/forms/constants/index.js +2 -2
  9. package/dist/lib/forms/form-metadata.d.ts +2 -0
  10. package/dist/lib/forms/form-metadata.js +2 -0
  11. package/dist/lib/forms/form-metadata.js.map +1 -1
  12. package/dist/lib/pdf-viewer/BasePdfViewer.d.ts +21 -0
  13. package/dist/lib/pdf-viewer/BasePdfViewer.js +42 -0
  14. package/dist/lib/pdf-viewer/BasePdfViewer.js.map +1 -0
  15. package/dist/lib/pdf-viewer/FormFillPdfViewer.d.ts +31 -0
  16. package/dist/lib/pdf-viewer/FormFillPdfViewer.js +107 -0
  17. package/dist/lib/pdf-viewer/FormFillPdfViewer.js.map +1 -0
  18. package/dist/lib/pdf-viewer/PdfPageOverlay.d.ts +20 -0
  19. package/dist/lib/pdf-viewer/PdfPageOverlay.js +221 -0
  20. package/dist/lib/pdf-viewer/PdfPageOverlay.js.map +1 -0
  21. package/dist/lib/pdf-viewer/form-previewer-model.d.ts +52 -0
  22. package/dist/lib/pdf-viewer/form-previewer-model.js +329 -0
  23. package/dist/lib/pdf-viewer/form-previewer-model.js.map +1 -0
  24. package/dist/lib/pdf-viewer/form-previewer-rendering.d.ts +55 -0
  25. package/dist/lib/pdf-viewer/form-previewer-rendering.js +317 -0
  26. package/dist/lib/pdf-viewer/form-previewer-rendering.js.map +1 -0
  27. package/dist/lib/pdf-viewer/index.d.ts +10 -0
  28. package/dist/lib/pdf-viewer/index.js +11 -0
  29. package/dist/lib/pdf-viewer/index.js.map +1 -0
  30. package/dist/lib/pdf-viewer/loader.d.ts +3 -0
  31. package/dist/lib/pdf-viewer/loader.js +5 -0
  32. package/dist/lib/pdf-viewer/loader.js.map +1 -0
  33. package/dist/lib/pdf-viewer/party-colors.d.ts +22 -0
  34. package/dist/lib/pdf-viewer/party-colors.js +20 -0
  35. package/dist/lib/pdf-viewer/party-colors.js.map +1 -0
  36. package/dist/lib/pdf-viewer/pdfjs.d.ts +4 -0
  37. package/dist/lib/pdf-viewer/pdfjs.js +21 -0
  38. package/dist/lib/pdf-viewer/pdfjs.js.map +1 -0
  39. package/dist/lib/pdf-viewer/use-pdf-document.d.ts +10 -0
  40. package/dist/lib/pdf-viewer/use-pdf-document.js +97 -0
  41. package/dist/lib/pdf-viewer/use-pdf-document.js.map +1 -0
  42. package/dist/lib/pdf-viewer/use-pdf-page-renderer.d.ts +6 -0
  43. package/dist/lib/pdf-viewer/use-pdf-page-renderer.js +60 -0
  44. package/dist/lib/pdf-viewer/use-pdf-page-renderer.js.map +1 -0
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +14 -1
@@ -1,171 +1,171 @@
1
- import { SendEmailCommand } from '@aws-sdk/client-ses';
2
- import { SESClient } from '@aws-sdk/client-ses';
3
- import * as nodemailer from 'nodemailer';
4
- import { v4 } from 'uuid';
5
- import { ENV } from '../env.js';
6
- const SMTP_EMAIL = ENV.SMTP_EMAIL;
7
- const SMTP_PASSWORD = ENV.SMTP_PASSWORD;
8
- if (!SMTP_EMAIL || !SMTP_PASSWORD)
9
- throw Error('[ERROR:ENV]: Missing SMTP setup.');
10
- const AWS_ACCESS_KEY_ID = ENV.AWS_ACCESS_KEY_ID;
11
- const AWS_SECRET_ACCESS_KEY = ENV.AWS_SECRET_ACCESS_KEY;
12
- const AWS_REGION = ENV.AWS_REGION;
13
- const AWS_DISABLED = !AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY || !AWS_REGION;
14
- if (AWS_DISABLED)
15
- console.error('[ERROR:ENV]: Missing Amazon setup.');
16
- export const sesClient = new SESClient({
17
- region: ENV.AWS_REGION,
18
- });
19
- const transporter = nodemailer.createTransport({
20
- service: 'Gmail',
21
- host: 'smtp.gmail.com',
22
- port: 465,
23
- secure: true,
24
- auth: {
25
- user: SMTP_EMAIL,
26
- pass: SMTP_PASSWORD,
27
- },
28
- messageId: `${v4()}${SMTP_EMAIL}`,
29
- });
30
- const onEmailError = (recipient, resolve) => (error, info) => {
31
- if (error) {
32
- console.error('[ERROR:EMAIL] Could not send email.');
33
- console.error('[-----] ' + error.message);
34
- }
35
- else {
36
- resolve({
37
- messageId: info.messageId,
38
- response: info.response,
39
- });
40
- console.warn('[EMAIL] Email sent to ' + recipient);
41
- }
42
- };
43
- const normalizeRecipients = (value) => {
44
- if (!value)
45
- return [];
46
- const list = Array.isArray(value) ? value : [value];
47
- return [
48
- ...new Set(list.map((recipient) => recipient.trim()).filter(Boolean)),
49
- ];
50
- };
51
- const traditionalEmailRoute = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
52
- return new Promise((resolve) => {
53
- transporter.sendMail({
54
- from: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
55
- to: recipient,
56
- subject,
57
- html: content,
58
- }, onEmailError(recipient, resolve));
59
- });
60
- };
61
- const traditionalMultiEmailRoute = async ({ sender, subject, to, cc, bcc, content, alias = 'hello', }) => {
62
- const toRecipients = normalizeRecipients(to);
63
- if (!toRecipients.length)
64
- throw Error('[ERROR:EMAIL] No recipients provided for email.');
65
- const ccRecipients = normalizeRecipients(cc);
66
- const bccRecipients = normalizeRecipients(bcc);
67
- const logRecipients = [...toRecipients, ...ccRecipients, ...bccRecipients];
68
- return new Promise((resolve) => {
69
- transporter.sendMail({
70
- from: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
71
- to: toRecipients,
72
- cc: ccRecipients.length ? ccRecipients : undefined,
73
- bcc: bccRecipients.length ? bccRecipients : undefined,
74
- subject,
75
- html: content,
76
- }, onEmailError(logRecipients.join(', '), resolve));
77
- });
78
- };
79
- const amazonEmailRoute = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
80
- const params = {
81
- Destination: {
82
- ToAddresses: [recipient],
83
- },
84
- Message: {
85
- Subject: { Data: subject },
86
- Body: {
87
- Html: { Data: content },
88
- },
89
- },
90
- Source: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
91
- };
92
- try {
93
- const command = new SendEmailCommand(params);
94
- const result = await sesClient.send(command);
95
- console.warn('[AWSSES] Email sent to ' + recipient);
96
- return {
97
- messageId: result.MessageId,
98
- response: 'Successfully sent via Amazon SES.',
99
- };
100
- }
101
- catch (error) {
102
- console.error('[ERROR:AWSSES] Could not send email.');
103
- console.error('[-----] ' + error);
104
- }
105
- };
106
- const amazonMultiEmailRoute = async ({ sender, subject, to, cc, bcc, content, alias = 'hello', }) => {
107
- const toRecipients = normalizeRecipients(to);
108
- if (!toRecipients.length)
109
- throw Error('[ERROR:EMAIL] No recipients provided for email.');
110
- const ccRecipients = normalizeRecipients(cc);
111
- const bccRecipients = normalizeRecipients(bcc);
112
- const logRecipients = [...toRecipients, ...ccRecipients, ...bccRecipients];
113
- const params = {
114
- Destination: {
115
- ToAddresses: toRecipients,
116
- CcAddresses: ccRecipients.length ? ccRecipients : undefined,
117
- BccAddresses: bccRecipients.length ? bccRecipients : undefined,
118
- },
119
- Message: {
120
- Subject: { Data: subject },
121
- Body: {
122
- Html: { Data: content },
123
- },
124
- },
125
- Source: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
126
- };
127
- try {
128
- const command = new SendEmailCommand(params);
129
- const result = await sesClient.send(command);
130
- console.warn('[AWSSES] Email sent to ' + logRecipients.join(', '));
131
- return {
132
- messageId: result.MessageId,
133
- response: 'Successfully sent via Amazon SES.',
134
- };
135
- }
136
- catch (error) {
137
- console.error('[ERROR:AWSSES] Could not send email.');
138
- console.error('[-----] ' + error);
139
- }
140
- };
141
- export const sendSingleEmail = async (params) => {
142
- if (AWS_DISABLED) {
143
- return await traditionalEmailRoute(params);
144
- }
145
- else {
146
- const dice = Math.random();
147
- const threshold = 0;
148
- if (dice < threshold) {
149
- return await traditionalEmailRoute(params);
150
- }
151
- else {
152
- return await amazonEmailRoute(params);
153
- }
154
- }
155
- };
156
- export const sendMultiEmail = async (params) => {
157
- if (AWS_DISABLED) {
158
- return await traditionalMultiEmailRoute(params);
159
- }
160
- else {
161
- const dice = Math.random();
162
- const threshold = 0;
163
- if (dice < threshold) {
164
- return await traditionalMultiEmailRoute(params);
165
- }
166
- else {
167
- return await amazonMultiEmailRoute(params);
168
- }
169
- }
170
- };
1
+ import { SendEmailCommand } from '@aws-sdk/client-ses';
2
+ import { SESClient } from '@aws-sdk/client-ses';
3
+ import * as nodemailer from 'nodemailer';
4
+ import { v4 } from 'uuid';
5
+ import { ENV } from '../env.js';
6
+ const SMTP_EMAIL = ENV.SMTP_EMAIL;
7
+ const SMTP_PASSWORD = ENV.SMTP_PASSWORD;
8
+ if (!SMTP_EMAIL || !SMTP_PASSWORD)
9
+ throw Error('[ERROR:ENV]: Missing SMTP setup.');
10
+ const AWS_ACCESS_KEY_ID = ENV.AWS_ACCESS_KEY_ID;
11
+ const AWS_SECRET_ACCESS_KEY = ENV.AWS_SECRET_ACCESS_KEY;
12
+ const AWS_REGION = ENV.AWS_REGION;
13
+ const AWS_DISABLED = !AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY || !AWS_REGION;
14
+ if (AWS_DISABLED)
15
+ console.error('[ERROR:ENV]: Missing Amazon setup.');
16
+ export const sesClient = new SESClient({
17
+ region: ENV.AWS_REGION,
18
+ });
19
+ const transporter = nodemailer.createTransport({
20
+ service: 'Gmail',
21
+ host: 'smtp.gmail.com',
22
+ port: 465,
23
+ secure: true,
24
+ auth: {
25
+ user: SMTP_EMAIL,
26
+ pass: SMTP_PASSWORD,
27
+ },
28
+ messageId: `${v4()}${SMTP_EMAIL}`,
29
+ });
30
+ const onEmailError = (recipient, resolve) => (error, info) => {
31
+ if (error) {
32
+ console.error('[ERROR:EMAIL] Could not send email.');
33
+ console.error('[-----] ' + error.message);
34
+ }
35
+ else {
36
+ resolve({
37
+ messageId: info.messageId,
38
+ response: info.response,
39
+ });
40
+ console.warn('[EMAIL] Email sent to ' + recipient);
41
+ }
42
+ };
43
+ const normalizeRecipients = (value) => {
44
+ if (!value)
45
+ return [];
46
+ const list = Array.isArray(value) ? value : [value];
47
+ return [
48
+ ...new Set(list.map((recipient) => recipient.trim()).filter(Boolean)),
49
+ ];
50
+ };
51
+ const traditionalEmailRoute = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
52
+ return new Promise((resolve) => {
53
+ transporter.sendMail({
54
+ from: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
55
+ to: recipient,
56
+ subject,
57
+ html: content,
58
+ }, onEmailError(recipient, resolve));
59
+ });
60
+ };
61
+ const traditionalMultiEmailRoute = async ({ sender, subject, to, cc, bcc, content, alias = 'hello', }) => {
62
+ const toRecipients = normalizeRecipients(to);
63
+ if (!toRecipients.length)
64
+ throw Error('[ERROR:EMAIL] No recipients provided for email.');
65
+ const ccRecipients = normalizeRecipients(cc);
66
+ const bccRecipients = normalizeRecipients(bcc);
67
+ const logRecipients = [...toRecipients, ...ccRecipients, ...bccRecipients];
68
+ return new Promise((resolve) => {
69
+ transporter.sendMail({
70
+ from: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
71
+ to: toRecipients,
72
+ cc: ccRecipients.length ? ccRecipients : undefined,
73
+ bcc: bccRecipients.length ? bccRecipients : undefined,
74
+ subject,
75
+ html: content,
76
+ }, onEmailError(logRecipients.join(', '), resolve));
77
+ });
78
+ };
79
+ const amazonEmailRoute = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
80
+ const params = {
81
+ Destination: {
82
+ ToAddresses: [recipient],
83
+ },
84
+ Message: {
85
+ Subject: { Data: subject },
86
+ Body: {
87
+ Html: { Data: content },
88
+ },
89
+ },
90
+ Source: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
91
+ };
92
+ try {
93
+ const command = new SendEmailCommand(params);
94
+ const result = await sesClient.send(command);
95
+ console.warn('[AWSSES] Email sent to ' + recipient);
96
+ return {
97
+ messageId: result.MessageId,
98
+ response: 'Successfully sent via Amazon SES.',
99
+ };
100
+ }
101
+ catch (error) {
102
+ console.error('[ERROR:AWSSES] Could not send email.');
103
+ console.error('[-----] ' + error);
104
+ }
105
+ };
106
+ const amazonMultiEmailRoute = async ({ sender, subject, to, cc, bcc, content, alias = 'hello', }) => {
107
+ const toRecipients = normalizeRecipients(to);
108
+ if (!toRecipients.length)
109
+ throw Error('[ERROR:EMAIL] No recipients provided for email.');
110
+ const ccRecipients = normalizeRecipients(cc);
111
+ const bccRecipients = normalizeRecipients(bcc);
112
+ const logRecipients = [...toRecipients, ...ccRecipients, ...bccRecipients];
113
+ const params = {
114
+ Destination: {
115
+ ToAddresses: toRecipients,
116
+ CcAddresses: ccRecipients.length ? ccRecipients : undefined,
117
+ BccAddresses: bccRecipients.length ? bccRecipients : undefined,
118
+ },
119
+ Message: {
120
+ Subject: { Data: subject },
121
+ Body: {
122
+ Html: { Data: content },
123
+ },
124
+ },
125
+ Source: `"${sender ?? 'BetterInternship'}" <${alias}@betterinternship.com>`,
126
+ };
127
+ try {
128
+ const command = new SendEmailCommand(params);
129
+ const result = await sesClient.send(command);
130
+ console.warn('[AWSSES] Email sent to ' + logRecipients.join(', '));
131
+ return {
132
+ messageId: result.MessageId,
133
+ response: 'Successfully sent via Amazon SES.',
134
+ };
135
+ }
136
+ catch (error) {
137
+ console.error('[ERROR:AWSSES] Could not send email.');
138
+ console.error('[-----] ' + error);
139
+ }
140
+ };
141
+ export const sendSingleEmail = async (params) => {
142
+ if (AWS_DISABLED) {
143
+ return await traditionalEmailRoute(params);
144
+ }
145
+ else {
146
+ const dice = Math.random();
147
+ const threshold = 0;
148
+ if (dice < threshold) {
149
+ return await traditionalEmailRoute(params);
150
+ }
151
+ else {
152
+ return await amazonEmailRoute(params);
153
+ }
154
+ }
155
+ };
156
+ export const sendMultiEmail = async (params) => {
157
+ if (AWS_DISABLED) {
158
+ return await traditionalMultiEmailRoute(params);
159
+ }
160
+ else {
161
+ const dice = Math.random();
162
+ const threshold = 0;
163
+ if (dice < threshold) {
164
+ return await traditionalMultiEmailRoute(params);
165
+ }
166
+ else {
167
+ return await amazonMultiEmailRoute(params);
168
+ }
169
+ }
170
+ };
171
171
  //# sourceMappingURL=email.js.map
@@ -1,3 +1,3 @@
1
- export * from './fonts.js';
2
- export * from './form.js';
1
+ export * from './fonts.js';
2
+ export * from './form.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -93,6 +93,8 @@ export interface IFormPhantomField {
93
93
  prefiller?: string;
94
94
  validator?: string;
95
95
  validator_ir?: ValidatorIRv0 | null;
96
+ radio_group_id?: string;
97
+ radio_option_label?: string;
96
98
  }
97
99
  export interface IFormParameters {
98
100
  [key: string]: string | ZodType;
@@ -181,6 +181,8 @@ export class FormMetadata {
181
181
  source: field.source,
182
182
  tooltip_label: field.tooltip_label,
183
183
  signing_party_id: field.signing_party_id,
184
+ radio_group_id: field.radio_group_id,
185
+ radio_option_label: field.radio_option_label,
184
186
  coerce,
185
187
  type,
186
188
  validator,
@@ -1 +1 @@
1
- {"version":3,"file":"form-metadata.js","sourceRoot":"","sources":["../../../lib/forms/form-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-metadata.js","sourceRoot":"","sources":["../../../lib/forms/form-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { PDFDocumentProxy } from "pdfjs-dist";
2
+ type BasePdfViewerProps = {
3
+ pdfDoc: PDFDocumentProxy;
4
+ pageCount: number;
5
+ scale: number;
6
+ onScaleChange: (scale: number) => void;
7
+ visiblePage: number;
8
+ onVisiblePageChange: (page: number) => void;
9
+ showToolbar?: boolean;
10
+ squareFrame?: boolean;
11
+ children?: React.ReactNode;
12
+ renderPage: (pageNumber: number) => React.ReactNode;
13
+ pageRefs?: React.MutableRefObject<Map<number, HTMLDivElement | null>>;
14
+ registerScrollContainer?: (el: HTMLElement | null) => void;
15
+ onFileChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
16
+ onDragOver?: (e: React.DragEvent<HTMLDivElement>) => void;
17
+ onDragLeave?: (e: React.DragEvent<HTMLDivElement>) => void;
18
+ onDrop?: (e: React.DragEvent<HTMLDivElement>) => void;
19
+ };
20
+ export declare function BasePdfViewer({ pdfDoc, pageCount, scale, onScaleChange, visiblePage, onVisiblePageChange, showToolbar, squareFrame, children, renderPage, registerScrollContainer, onFileChange, pageRefs: externalPageRefs, onDragOver, onDragLeave, onDrop, }: BasePdfViewerProps): import("react").JSX.Element;
21
+ export {};
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useMemo, useRef } from "react";
4
+ import { FileUp, ZoomIn, ZoomOut } from "lucide-react";
5
+ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
6
+ export function BasePdfViewer({ pdfDoc, pageCount, scale, onScaleChange, visiblePage, onVisiblePageChange, showToolbar = true, squareFrame = false, children, renderPage, registerScrollContainer, onFileChange, pageRefs: externalPageRefs, onDragOver, onDragLeave, onDrop, }) {
7
+ const internalPageRefs = useRef(new Map());
8
+ const pageRefs = externalPageRefs ?? internalPageRefs;
9
+ const registerPageRef = useCallback((page, node) => {
10
+ pageRefs.current.set(page, node);
11
+ }, []);
12
+ const handleZoom = (direction) => {
13
+ const delta = direction === "in" ? 0.1 : -0.1;
14
+ onScaleChange(clamp(parseFloat((scale + delta).toFixed(2)), 0.5, 3));
15
+ };
16
+ const pagesArray = useMemo(() => Array.from({ length: pageCount }, (_, idx) => idx + 1), [pageCount]);
17
+ const handleScroll = useCallback((e) => {
18
+ const containerRect = e.currentTarget.getBoundingClientRect();
19
+ const anchorY = containerRect.top + 24;
20
+ let closestPage = visiblePage;
21
+ let closestDistance = Number.POSITIVE_INFINITY;
22
+ for (const page of pagesArray) {
23
+ const node = pageRefs.current.get(page);
24
+ if (!node)
25
+ continue;
26
+ const rect = node.getBoundingClientRect();
27
+ const distance = Math.abs(rect.top - anchorY);
28
+ if (distance < closestDistance) {
29
+ closestDistance = distance;
30
+ closestPage = page;
31
+ }
32
+ }
33
+ if (closestPage !== visiblePage) {
34
+ onVisiblePageChange(closestPage);
35
+ }
36
+ }, [pagesArray, onVisiblePageChange, visiblePage]);
37
+ const containerClass = squareFrame
38
+ ? "relative flex h-full flex-col overflow-hidden bg-slate-50"
39
+ : "relative flex h-full flex-col overflow-hidden rounded-[0.33em] bg-slate-50";
40
+ return (_jsxs("div", { className: containerClass, children: [showToolbar && (_jsx("div", { className: "relative flex h-12 flex-shrink-0 items-center border-b border-slate-300 bg-white px-3", children: _jsxs("div", { className: "flex w-full items-center justify-between gap-3", children: [_jsx("div", { className: "flex items-center gap-1", children: children }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("span", { className: "text-xs font-medium text-slate-700", children: [visiblePage, "/", pageCount || 1] }), _jsxs("div", { className: "ml-1 inline-flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => handleZoom("out"), disabled: scale <= 0.5, className: "rounded p-1.5 hover:bg-slate-100 disabled:cursor-not-allowed disabled:opacity-30", title: "Zoom out", "aria-label": "Zoom out", children: _jsx(ZoomOut, { className: "h-3.5 w-3.5" }) }), _jsx("button", { type: "button", onClick: () => handleZoom("in"), disabled: scale >= 3, className: "rounded p-1.5 hover:bg-slate-100 disabled:cursor-not-allowed disabled:opacity-30", title: "Zoom in", "aria-label": "Zoom in", children: _jsx(ZoomIn, { className: "h-3.5 w-3.5" }) })] }), _jsxs("span", { className: "w-10 text-center text-[11px] font-medium text-slate-700", children: [Math.round(scale * 100), "%"] }), onFileChange && (_jsxs("label", { className: "flex cursor-pointer items-center rounded p-1.5 text-sm transition-colors hover:bg-slate-100", title: "Upload PDF", "aria-label": "Upload PDF", children: [_jsx(FileUp, { className: "h-4 w-4" }), _jsx("input", { type: "file", accept: "application/pdf", className: "hidden", onChange: onFileChange })] }))] })] }) })), _jsx("div", { className: "relative flex-1 overflow-hidden bg-white", children: _jsx("div", { className: "flex h-full min-w-0", children: _jsx("div", { ref: registerScrollContainer, className: "relative min-w-0 flex-1 overflow-auto p-4", onScroll: handleScroll, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop, children: _jsx("div", { className: "flex w-full flex-col items-center gap-4", children: pagesArray.map((page) => (_jsx("div", { ref: (node) => registerPageRef(page, node), children: renderPage(page) }, page))) }) }) }) })] }));
41
+ }
42
+ //# sourceMappingURL=BasePdfViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePdfViewer.js","sourceRoot":"","sources":["../../../lib/pdf-viewer/BasePdfViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ReactNode } from "react";
2
+ import { type IFormSigningParty } from "@betterinternship/core/forms";
3
+ import { type PreviewFieldLike } from "./form-previewer-model.js";
4
+ type PreviewPrefillMode = "live" | "dummy" | "none";
5
+ type DefaultFieldVisibility = "all" | "mine";
6
+ interface FormFillPdfViewerProps {
7
+ documentUrl: string;
8
+ values: Record<string, string>;
9
+ fields?: PreviewFieldLike[];
10
+ blocks?: PreviewFieldLike[];
11
+ headerLeft?: ReactNode;
12
+ scale?: number;
13
+ showToolbar?: boolean;
14
+ onFieldClick?: (fieldName: string) => void;
15
+ selectedFieldId?: string;
16
+ selectionTick?: number;
17
+ autoScrollToSelectedField?: boolean;
18
+ signingParties?: IFormSigningParty[];
19
+ currentSigningPartyId?: string;
20
+ showOwnership?: boolean;
21
+ fieldVisibility?: DefaultFieldVisibility;
22
+ defaultFieldVisibility?: DefaultFieldVisibility;
23
+ fieldErrors?: Record<string, string>;
24
+ prefillMode?: PreviewPrefillMode;
25
+ prefillUser?: Record<string, unknown> | null;
26
+ squareFrame?: boolean;
27
+ registerScrollContainer?: (el: HTMLElement | null) => void;
28
+ onScaleChange?: (scale: number) => void;
29
+ }
30
+ export declare const FormFillPdfViewer: ({ documentUrl, values, fields, blocks, headerLeft, scale: initialScale, showToolbar, onFieldClick, selectedFieldId, selectionTick, autoScrollToSelectedField, signingParties, currentSigningPartyId, showOwnership, fieldVisibility, defaultFieldVisibility, fieldErrors, prefillMode, prefillUser, squareFrame, registerScrollContainer, onScaleChange, }: FormFillPdfViewerProps) => import("react").JSX.Element;
31
+ export {};
@@ -0,0 +1,107 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useRef, useState } from "react";
4
+ import { Loader } from "./loader.js";
5
+ import { createPreviewDisplayValueResolver, groupFieldsByPage, isFieldRequired, normalizePreviewFieldKey, normalizePreviewFields, resolveOwnerMeta, } from "./form-previewer-model.js";
6
+ import { ensurePreviewFontsLoaded, } from "./form-previewer-rendering.js";
7
+ import { usePdfDocumentFromUrl } from "./use-pdf-document.js";
8
+ import { BasePdfViewer } from "./BasePdfViewer.js";
9
+ import { PdfPageOverlay } from "./PdfPageOverlay.js";
10
+ const getPreviewRawValue = (values, fieldKey) => {
11
+ const normalizedFieldName = normalizePreviewFieldKey(fieldKey);
12
+ return (values[fieldKey] ?? values[`${normalizedFieldName}:default`] ?? values[normalizedFieldName]);
13
+ };
14
+ const getFieldStatus = (fieldType, value) => {
15
+ if (!value.trim())
16
+ return "empty";
17
+ if (fieldType === "signature")
18
+ return "signed";
19
+ return "filled";
20
+ };
21
+ export const FormFillPdfViewer = ({ documentUrl, values, fields, blocks, headerLeft, scale: initialScale = 1.0, showToolbar = true, onFieldClick, selectedFieldId, selectionTick = 0, autoScrollToSelectedField = true, signingParties = [], currentSigningPartyId, showOwnership = false, fieldVisibility, defaultFieldVisibility = "mine", fieldErrors = {}, prefillMode = "live", prefillUser = null, squareFrame = false, registerScrollContainer, onScaleChange, }) => {
22
+ const { pdfDoc, pageCount, isLoading: isLoadingDoc, error } = usePdfDocumentFromUrl(documentUrl);
23
+ const [scale, setScale] = useState(initialScale);
24
+ const [visiblePage, setVisiblePage] = useState(1);
25
+ const [animatingFieldId, setAnimatingFieldId] = useState(null);
26
+ const pageRefs = useRef(new Map());
27
+ const didAutoFocusOwnedTaskRef = useRef(false);
28
+ const normalizedFields = useMemo(() => normalizePreviewFields(fields?.length ? fields : (blocks ?? [])), [fields, blocks]);
29
+ const resolveDisplayValue = useMemo(() => createPreviewDisplayValueResolver({
30
+ user: prefillUser,
31
+ prefillMode,
32
+ }), [prefillMode, prefillUser]);
33
+ const effectiveFieldVisibility = fieldVisibility ?? defaultFieldVisibility;
34
+ const ownerMetaByFieldId = useMemo(() => {
35
+ const ownerMetaMap = new Map();
36
+ normalizedFields.forEach((field) => {
37
+ ownerMetaMap.set(field.id, resolveOwnerMeta(field, signingParties, currentSigningPartyId));
38
+ });
39
+ return ownerMetaMap;
40
+ }, [normalizedFields, signingParties, currentSigningPartyId]);
41
+ const ownedFields = useMemo(() => normalizedFields.filter((field) => ownerMetaByFieldId.get(field.id)?.isMine), [normalizedFields, ownerMetaByFieldId]);
42
+ const visibleFields = useMemo(() => {
43
+ if (effectiveFieldVisibility !== "mine")
44
+ return normalizedFields;
45
+ if (!currentSigningPartyId)
46
+ return normalizedFields;
47
+ return normalizedFields.filter((field) => ownerMetaByFieldId.get(field.id)?.isMine);
48
+ }, [normalizedFields, effectiveFieldVisibility, currentSigningPartyId, ownerMetaByFieldId]);
49
+ const fieldsByPage = useMemo(() => groupFieldsByPage(visibleFields), [visibleFields]);
50
+ useEffect(() => {
51
+ setScale(initialScale);
52
+ }, [initialScale]);
53
+ useEffect(() => {
54
+ onScaleChange?.(scale);
55
+ }, [scale, onScaleChange]);
56
+ useEffect(() => {
57
+ didAutoFocusOwnedTaskRef.current = false;
58
+ }, [documentUrl]);
59
+ useEffect(() => {
60
+ if (!showOwnership)
61
+ return;
62
+ if (ownedFields.length === 0)
63
+ return;
64
+ if (didAutoFocusOwnedTaskRef.current)
65
+ return;
66
+ const firstEmptyRequiredOwnedField = ownedFields.find((field) => {
67
+ if (!isFieldRequired(field))
68
+ return false;
69
+ const rawValue = getPreviewRawValue(values, field.field);
70
+ const value = resolveDisplayValue(field, rawValue);
71
+ return getFieldStatus(field.type, value) === "empty";
72
+ });
73
+ if (firstEmptyRequiredOwnedField) {
74
+ const pageNode = pageRefs.current.get(firstEmptyRequiredOwnedField.page);
75
+ pageNode?.scrollIntoView({ behavior: "smooth", block: "center" });
76
+ setAnimatingFieldId(firstEmptyRequiredOwnedField.field);
77
+ setTimeout(() => setAnimatingFieldId(null), 700);
78
+ }
79
+ didAutoFocusOwnedTaskRef.current = true;
80
+ }, [showOwnership, ownedFields, resolveDisplayValue, values]);
81
+ useEffect(() => {
82
+ if (!selectedFieldId)
83
+ return;
84
+ if (autoScrollToSelectedField) {
85
+ const selectedField = normalizedFields.find((field) => field.field === selectedFieldId);
86
+ if (selectedField && selectedField.page) {
87
+ const fieldPage = selectedField.page;
88
+ const pageNode = pageRefs.current.get(fieldPage);
89
+ pageNode?.scrollIntoView({ behavior: "smooth", block: "center" });
90
+ }
91
+ }
92
+ setAnimatingFieldId(selectedFieldId);
93
+ const timeout = setTimeout(() => setAnimatingFieldId(null), 600);
94
+ return () => clearTimeout(timeout);
95
+ }, [selectedFieldId, selectionTick, normalizedFields, autoScrollToSelectedField]);
96
+ useEffect(() => {
97
+ ensurePreviewFontsLoaded();
98
+ }, []);
99
+ if (error) {
100
+ return (_jsx("div", { className: "flex h-full w-full items-center justify-center bg-slate-100", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-sm text-red-500", children: "Failed to load PDF" }), _jsx("p", { className: "mt-1 text-xs text-slate-400", children: error })] }) }));
101
+ }
102
+ if (isLoadingDoc || !pdfDoc) {
103
+ return (_jsx("div", { className: "flex h-full w-full items-center justify-center bg-slate-100", children: _jsx(Loader, {}) }));
104
+ }
105
+ return (_jsx(BasePdfViewer, { pdfDoc: pdfDoc, pageCount: pageCount, scale: scale, visiblePage: visiblePage, onVisiblePageChange: setVisiblePage, onScaleChange: (s) => { setScale(s); onScaleChange?.(s); }, showToolbar: showToolbar, squareFrame: squareFrame, registerScrollContainer: registerScrollContainer, pageRefs: pageRefs, renderPage: (pageNumber) => (_jsx(PdfPageOverlay, { pdf: pdfDoc, pageNumber: pageNumber, scale: scale, fields: fieldsByPage.get(pageNumber) || [], values: values, onFieldClick: onFieldClick, animatingFieldId: animatingFieldId, selectedFieldId: selectedFieldId, ownerMetaByFieldId: ownerMetaByFieldId, showOwnership: showOwnership, fieldVisibility: effectiveFieldVisibility, fieldErrors: fieldErrors, resolveDisplayValue: resolveDisplayValue }, pageNumber)), children: headerLeft }));
106
+ };
107
+ //# sourceMappingURL=FormFillPdfViewer.js.map