;
@@ -95,7 +93,6 @@ export type RadioGroupProps = PatternProps<{
type: 'radio-group';
groupId: string;
legend: string;
- idSuffix?: string;
options: {
id: string;
name: string;
diff --git a/packages/forms/src/documents/document.ts b/packages/forms/src/documents/document.ts
index d1fd1abe..2338834b 100644
--- a/packages/forms/src/documents/document.ts
+++ b/packages/forms/src/documents/document.ts
@@ -167,11 +167,7 @@ export const addDocumentFieldsToForm = (
maxLength: 128,
},
} satisfies InputPattern);
- } else if (
- field.type === 'Paragraph' ||
- field.type === 'RichText' ||
- field.type === 'Repeater'
- ) {
+ } else if (field.type === 'Paragraph' || field.type === 'RichText') {
// skip purely presentational fields
} else if (field.type === 'not-supported') {
console.error(`Skipping field: ${field.error}`);
diff --git a/packages/forms/src/documents/pdf/generate.ts b/packages/forms/src/documents/pdf/generate.ts
index 73c04868..63aade0e 100644
--- a/packages/forms/src/documents/pdf/generate.ts
+++ b/packages/forms/src/documents/pdf/generate.ts
@@ -132,11 +132,7 @@ const setFormFieldData = (
field.uncheck();
}
}
- } else if (
- fieldType === 'Paragraph' ||
- fieldType === 'RichText' ||
- fieldType === 'Repeater'
- ) {
+ } else if (fieldType === 'Paragraph' || fieldType === 'RichText') {
// do nothing
} else {
const exhaustiveCheck: never = fieldType;
diff --git a/packages/forms/src/documents/pdf/index.ts b/packages/forms/src/documents/pdf/index.ts
index 60b3e06f..edafb097 100644
--- a/packages/forms/src/documents/pdf/index.ts
+++ b/packages/forms/src/documents/pdf/index.ts
@@ -27,7 +27,6 @@ export type PDFFieldType =
| 'OptionList'
| 'RadioGroup'
| 'Paragraph'
- | 'Repeater'
| 'RichText';
export type ParsePdf = (
diff --git a/packages/forms/src/documents/pdf/parsing-api.ts b/packages/forms/src/documents/pdf/parsing-api.ts
index 750a3e09..d24b9a86 100644
--- a/packages/forms/src/documents/pdf/parsing-api.ts
+++ b/packages/forms/src/documents/pdf/parsing-api.ts
@@ -8,7 +8,6 @@ import { type ParagraphPattern } from '../../patterns/paragraph.js';
import { type CheckboxPattern } from '../../patterns/checkbox.js';
import { type RadioGroupPattern } from '../../patterns/radio-group.js';
import { RichTextPattern } from '../../patterns/rich-text.js';
-import { type RepeaterPattern } from '../../patterns/repeater/index.js';
import { uint8ArrayToBase64 } from '../../util/base64.js';
import { type DocumentFieldMap } from '../types.js';
@@ -80,26 +79,11 @@ const Fieldset = z.object({
page: z.union([z.number(), z.string()]),
});
-const Repeater = z.object({
- component_type: z.literal('repeater'),
- legend: z.string(),
- fields: z.union([TxInput, Checkbox]).array(),
- page: z.union([z.number(), z.string()]),
-});
-
const ExtractedObject = z.object({
raw_text: z.string(),
form_summary: FormSummary,
elements: z
- .union([
- TxInput,
- Checkbox,
- RadioGroup,
- Paragraph,
- Fieldset,
- RichText,
- Repeater,
- ])
+ .union([TxInput, Checkbox, RadioGroup, Paragraph, Fieldset, RichText])
.array(),
});
@@ -173,7 +157,6 @@ export const processApiResponse = async (json: any): Promise
=> {
for (const element of extracted.elements) {
const fieldsetPatterns: PatternId[] = [];
-
// Add paragraph elements
if (element.component_type === 'paragraph') {
const paragraph = processPatternData(
diff --git a/packages/forms/src/documents/types.ts b/packages/forms/src/documents/types.ts
index 329f7f72..a94d4d2a 100644
--- a/packages/forms/src/documents/types.ts
+++ b/packages/forms/src/documents/types.ts
@@ -44,14 +44,6 @@ export type DocumentFieldValue =
value: string;
required: boolean;
}
- | {
- type: 'Repeater';
- name: string;
- options: string[];
- label: string;
- value: string;
- required: boolean;
- }
| {
type: 'RichText';
name: string;
diff --git a/packages/forms/src/pattern.ts b/packages/forms/src/pattern.ts
index b41f25d4..c560ec98 100644
--- a/packages/forms/src/pattern.ts
+++ b/packages/forms/src/pattern.ts
@@ -173,7 +173,7 @@ const setNestedValue = (
}, obj);
};
-const aggregateValuesByPrefix = (
+export const aggregateValuesByPrefix = (
values: Record
): Record => {
const aggregatedValues: Record = {};
@@ -204,7 +204,7 @@ export const aggregatePatternSessionValues = (
if (patternConfig.parseUserInput) {
const isRepeaterType = pattern.type === 'repeater';
const patternValues = aggregatedValues[pattern.id];
- let parseResult: any = patternConfig.parseUserInput(
+ const parseResult: any = patternConfig.parseUserInput(
pattern,
patternValues,
config,
diff --git a/packages/forms/src/patterns/input/prompt.ts b/packages/forms/src/patterns/input/prompt.ts
index e9dd710d..dad73435 100644
--- a/packages/forms/src/patterns/input/prompt.ts
+++ b/packages/forms/src/patterns/input/prompt.ts
@@ -20,12 +20,6 @@ export const createPrompt: CreatePrompt = (
}
}
- console.group('input/createprompt');
- console.log(session);
- console.log(options);
- console.log(pattern);
- console.groupEnd();
-
return {
props: {
_patternId: pattern.id,
diff --git a/packages/forms/src/patterns/input/response.ts b/packages/forms/src/patterns/input/response.ts
index 068bedce..c2ff986e 100644
--- a/packages/forms/src/patterns/input/response.ts
+++ b/packages/forms/src/patterns/input/response.ts
@@ -27,9 +27,5 @@ export const parseUserInput: ParseUserInput<
InputPattern,
InputPatternOutput
> = (pattern, obj) => {
- console.group('parseUserInput');
- console.log(pattern);
- console.log(obj);
- console.groupEnd();
return safeZodParseToFormError(createSchema(pattern['data']), obj);
};
diff --git a/packages/forms/src/session.ts b/packages/forms/src/session.ts
index d5c793b8..2800096d 100644
--- a/packages/forms/src/session.ts
+++ b/packages/forms/src/session.ts
@@ -6,6 +6,8 @@ import {
type PatternId,
type PatternValue,
type PatternValueMap,
+ aggregatePatternSessionValues,
+ aggregateValuesByPrefix,
getPatternConfig,
validatePattern,
} from './pattern.js';