@defra/forms-model 3.0.435 → 3.0.437
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.
@@ -17,6 +17,7 @@ export const questionSchema = Joi.string().trim().required().description('The qu
|
|
17
17
|
export const hintTextSchema = Joi.string().trim().optional().allow('').description('Optional guidance text displayed below the question');
|
18
18
|
export const questionOptionalSchema = Joi.string().trim().optional().valid('', 'true').description('Indicates whether a question is optional. Empty string or "true" values are accepted.');
|
19
19
|
export const listForQuestionSchema = Joi.string().trim().optional().allow('').description('Unique identifier for the list used by the field');
|
20
|
+
export const listItemCountSchema = Joi.number().optional().description('Number of list items in the list used by the field');
|
20
21
|
export const exactFilesSchema = Joi.number().empty('').integer().min(1).max(25).description('Specifies the exact number of files required for upload. Must be between 1 and 25.');
|
21
22
|
export const minFilesSchema = Joi.number().empty('').integer().min(0).max(25).description('Minimum number of files required for upload. Must be between 0 and 25.');
|
22
23
|
export const maxFilesSchema = Joi.number().empty('').integer().min(1).max(25).description('Maximum number of files allowed for upload. Must be between 1 and 25.');
|
@@ -152,7 +153,9 @@ export const customValidator = Joi.extend(joi => {
|
|
152
153
|
export const autoCompleteOptionsSchema = customValidator.dsv().row(/\r?\n/).col(':').keys(['text', 'value']).items(customValidator.object({
|
153
154
|
text: customValidator.string().min(1).disallow('').required(),
|
154
155
|
value: customValidator.string().default(parent => parent.text).min(1).disallow('')
|
155
|
-
})).min(1).
|
156
|
+
})).min(1).unique('text').unique('value', {
|
157
|
+
ignoreUndefined: true
|
158
|
+
}).required();
|
156
159
|
export const questionDetailsFullSchema = {
|
157
160
|
autoCompleteOptionsSchema,
|
158
161
|
classesSchema,
|
@@ -163,6 +166,7 @@ export const questionDetailsFullSchema = {
|
|
163
166
|
hintTextSchema,
|
164
167
|
imageTypesSchema,
|
165
168
|
listForQuestionSchema,
|
169
|
+
listItemCountSchema,
|
166
170
|
maxFilesSchema,
|
167
171
|
maxFutureSchema,
|
168
172
|
maxLengthSchema,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":["Joi","ComponentType","QuestionTypeSubGroup","pageTypeSchema","string","required","valid","description","questionTypeSchema","WrittenAnswerSubGroup","DateSubGroup","UkAddressField","TelephoneNumberField","FileUploadField","EmailAddressField","ListSubGroup","YesNoField","CheckboxesField","RadiosField","AutocompleteField","questionTypeFullSchema","TextField","MultilineTextField","NumberField","DatePartsField","MonthYearField","writtenAnswerSubSchema","dateSubSchema","listSubSchema","nameSchema","trim","questionSchema","hintTextSchema","optional","allow","questionOptionalSchema","listForQuestionSchema","exactFilesSchema","number","empty","integer","min","max","minFilesSchema","maxFilesSchema","fileTypesSchema","array","items","single","default","documentTypesSchema","imageTypesSchema","tabularDataTypesSchema","enhancedActionSchema","radioIdSchema","radioTextSchema","radioHintSchema","radioValueSchema","shortDescriptionSchema","pageHeadingAndGuidanceSchema","pageHeadingSchema","guidanceTextSchema","needDeclarationSchema","declarationTextSchema","minSchema","maxSchema","minLengthSchema","maxLengthSchema","maxFutureSchema","maxPastSchema","precisionSchema","prefixSchema","regexSchema","rowsSchema","suffixSchema","classesSchema","customValidator","extend","joi","type","base","messages","coerce","from","method","value","helpers","rowSeparatorRule","schema","$_getRule","colSeparatorRule","keysRule","rowSeparator","args","rows","split","map","v","filter","Boolean","colSeparator","keys","coercedValue","row","reduce","acc","col","idx","_err","console","error","errors","rules","convert","alias","$_addRule","name","ref","assert","RegExp","message","Array","isArray","every","k","autoCompleteOptionsSchema","dsv","object","text","disallow","parent","questionDetailsFullSchema","formEditorInputPageKeys","pageType","questionType","formEditorInputPageSchema","formEditorInputheckAnswersSettingsKeys","declarationText","formEditorInputCheckAnswersSettingSchema","formEditorInputQuestionKeys","question","shortDescription","hintText","questionOptional","formEditorInputQuestionSchema","formEditorInputPageSettingsKeys","pageHeadingAndGuidance","pageHeading","guidanceText","formEditorInputPageSettingsSchema"],"sources":["../../../../src/form/form-editor/index.ts"],"sourcesContent":["import Joi, { type ArraySchema, type GetRuleOptions } from 'joi'\n\nimport { ComponentType } from '~/src/components/enums.js'\nimport {\n type FormEditorInputCheckAnswersSettings,\n type FormEditorInputPage,\n type FormEditorInputPageSettings,\n type FormEditorInputQuestion\n} from '~/src/form/form-editor/types.js'\n\nexport enum QuestionTypeSubGroup {\n WrittenAnswerSubGroup = 'writtenAnswerSub',\n DateSubGroup = 'dateSub',\n ListSubGroup = 'listSub'\n}\n\nexport const pageTypeSchema = Joi.string()\n .required()\n .valid('question', 'guidance')\n .description('Type of page - either a question page or guidance page')\n\nexport const questionTypeSchema = Joi.string()\n .required()\n .valid(\n QuestionTypeSubGroup.WrittenAnswerSubGroup,\n QuestionTypeSubGroup.DateSubGroup,\n ComponentType.UkAddressField,\n ComponentType.TelephoneNumberField,\n ComponentType.FileUploadField,\n ComponentType.EmailAddressField,\n QuestionTypeSubGroup.ListSubGroup,\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('The high-level type of question, including grouped types')\n\nexport const questionTypeFullSchema = Joi.string()\n .required()\n .valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField,\n ComponentType.NumberField,\n ComponentType.DatePartsField,\n ComponentType.MonthYearField,\n ComponentType.UkAddressField,\n ComponentType.TelephoneNumberField,\n ComponentType.FileUploadField,\n ComponentType.EmailAddressField,\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('The specific component type to use for this question')\n\nexport const writtenAnswerSubSchema = Joi.string()\n .required()\n .valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField,\n ComponentType.NumberField\n )\n .description('Subtype for written answer questions')\n\nexport const dateSubSchema = Joi.string()\n .required()\n .valid(ComponentType.DatePartsField, ComponentType.MonthYearField)\nexport const listSubSchema = Joi.string()\n .required()\n .valid(\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('Subtype for date-related questions')\n\nexport const nameSchema = Joi.string()\n .trim()\n .required()\n .description('Unique identifier for the field')\n\nexport const questionSchema = Joi.string()\n .trim()\n .required()\n .description('The question text displayed to the user')\n\nexport const hintTextSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Optional guidance text displayed below the question')\n\nexport const questionOptionalSchema = Joi.string()\n .trim()\n .optional()\n .valid('', 'true')\n .description(\n 'Indicates whether a question is optional. Empty string or \"true\" values are accepted.'\n )\n\nexport const listForQuestionSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Unique identifier for the list used by the field')\n\nexport const exactFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .max(25)\n .description(\n 'Specifies the exact number of files required for upload. Must be between 1 and 25.'\n )\n\nexport const minFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(0)\n .max(25)\n .description(\n 'Minimum number of files required for upload. Must be between 0 and 25.'\n )\n\nexport const maxFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .max(25)\n .description(\n 'Maximum number of files allowed for upload. Must be between 1 and 25.'\n )\n\nexport const fileTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed file types. Can be provided as a single value or an array.'\n )\n\nexport const documentTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed document types. Can be provided as a single value or an array.'\n )\n\nexport const imageTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed image types. Can be provided as a single value or an array.'\n )\n\nexport const tabularDataTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\nexport const enhancedActionSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Action field that can include enhanced functionality')\n\nexport const radioIdSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Unique identifier for radio options')\n\nexport const radioTextSchema = Joi.string()\n .trim()\n .required()\n .description('The visible text shown next to radio options')\n\nexport const radioHintSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'Optional hint text displayed with radio buttons to provide additional guidance'\n )\n\nexport const radioValueSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'Array of allowed tabular data types. Can be provided as a single value or an array.'\n )\n\nexport const shortDescriptionSchema = Joi.string()\n .trim()\n .required()\n .description('Brief description of the question for internal use')\n\nexport const pageHeadingAndGuidanceSchema = Joi.string()\n .trim()\n .optional()\n .description('Combined heading and guidance for the page')\n\nexport const pageHeadingSchema = Joi.string()\n .trim()\n .required()\n .description('Main heading displayed at the top of the page')\n\nexport const guidanceTextSchema = Joi.string()\n .trim()\n .description('Guidance text to assist users in completing the page')\n\nexport const needDeclarationSchema = Joi.string()\n .trim()\n .required()\n .description('Whether a declaration is needed')\n\nexport const declarationTextSchema = Joi.string()\n .trim()\n .required()\n .description('Text of the declaration that users must agree to')\n\nexport const minSchema = Joi.number()\n .empty('')\n .integer()\n .description('Minimum value for numeric inputs')\n\nexport const maxSchema = Joi.number()\n .empty('')\n .integer()\n .description('Maximum value for numeric inputs')\n\nexport const minLengthSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Minimum character length for text inputs')\n\nexport const maxLengthSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum character length for text inputs')\n\nexport const maxFutureSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum days in the future allowed for date inputs')\n\nexport const maxPastSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum days in the past allowed for date inputs')\n\nexport const precisionSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Decimal precision for numeric inputs')\n\nexport const prefixSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Text to display before the input (e.g., £)')\n\nexport const regexSchema = Joi.string()\n .optional()\n .allow('')\n .description('Regular expression pattern for validation')\n\nexport const rowsSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Number of rows for multiline text fields')\n\nexport const suffixSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Text to display after the input (e.g., kg)')\n\nexport const classesSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Custom CSS classes to apply to the component')\n\ntype GenericRuleOptions<K extends string, T> = Omit<GetRuleOptions, 'args'> & {\n args: Record<K, T>\n}\n\ninterface DSLSchema<TSchema = Record<string, unknown>[]>\n extends ArraySchema<TSchema> {\n rowSeparator: (rowSep: string | RegExp) => DSLSchema<TSchema>\n row: (rowSep: string | RegExp) => DSLSchema<TSchema>\n colSeparator: (colSep: string | RegExp) => DSLSchema<TSchema>\n col: (colSep: string | RegExp) => DSLSchema<TSchema>\n keys: (keys: string[]) => DSLSchema<TSchema>\n}\n\ninterface CustomValidator extends Joi.Root {\n dsv<TSchema>(): DSLSchema<TSchema>\n}\n\nexport const customValidator = Joi.extend((joi: Joi.Root) => {\n return {\n type: 'dsv',\n base: joi.array(),\n messages: {\n 'dsv.invalid': 'Invalid parse string'\n },\n coerce: {\n from: 'string',\n method(value: string, helpers) {\n try {\n // Only called when prefs.convert is true\n // Rules\n const rowSeparatorRule = helpers.schema.$_getRule('rowSeparator') as\n | undefined\n | GenericRuleOptions<'rowSeparator', string | RegExp>\n const colSeparatorRule = helpers.schema.$_getRule('colSeparator') as\n | undefined\n | GenericRuleOptions<'colSeparator', string | RegExp>\n const keysRule = helpers.schema.$_getRule('keys') as\n | undefined\n | GenericRuleOptions<'keys', string[]>\n\n // Rows\n const rowSeparator = rowSeparatorRule?.args.rowSeparator ?? /\\r?\\n/\n const rows = value\n .split(rowSeparator)\n .map((v) => v.trim())\n .filter(Boolean)\n\n // Columns\n const colSeparator = colSeparatorRule?.args.colSeparator ?? ','\n const keys = keysRule?.args.keys ?? ['key', 'value']\n\n const coercedValue = rows.map((row) => {\n return row\n .split(colSeparator)\n .reduce<Record<string, string>>((acc, col, idx) => {\n return {\n ...acc,\n [keys[idx]]: col.trim()\n }\n }, {})\n })\n return { value: coercedValue }\n } catch (_err) {\n // eslint-disable-next-line no-console\n console.error(_err)\n return { value, errors: [helpers.error('dsv.invalid')] }\n }\n }\n },\n rules: {\n rowSeparator: {\n convert: true,\n alias: 'row',\n method(rowSeparator: string) {\n return this.$_addRule({\n name: 'rowSeparator',\n args: { rowSeparator }\n })\n },\n args: [\n {\n name: 'rowSeparator',\n ref: true,\n assert: (value) =>\n typeof value === 'string' || value instanceof RegExp,\n message: 'must be a string or regex'\n }\n ]\n },\n colSeparator: {\n convert: true,\n alias: 'col',\n method(colSeparator: string) {\n return this.$_addRule({\n name: 'colSeparator',\n args: { colSeparator }\n })\n },\n args: [\n {\n name: 'colSeparator',\n ref: true,\n assert: (value) =>\n typeof value === 'string' || value instanceof RegExp,\n message: 'must be a string or regex'\n }\n ]\n },\n keys: {\n convert: true,\n method(keys: string[]) {\n return this.$_addRule({ name: 'keys', args: { keys } })\n },\n args: [\n {\n name: 'keys',\n ref: true,\n assert: (value) =>\n Array.isArray(value) && value.every((k) => typeof k === 'string'),\n message: 'must be an array of strings'\n }\n ]\n }\n }\n }\n}) as CustomValidator\n\nexport const autoCompleteOptionsSchema = customValidator\n .dsv<{ text: string; value: string }>()\n .row(/\\r?\\n/)\n .col(':')\n .keys(['text', 'value'])\n .items(\n customValidator.object({\n text: customValidator.string().min(1).disallow('').required(),\n value: customValidator\n .string()\n .default((parent: { text: string; value?: string }) => parent.text)\n .min(1)\n .disallow('')\n })\n )\n .min(1)\n .required()\n\nexport const questionDetailsFullSchema = {\n autoCompleteOptionsSchema,\n classesSchema,\n documentTypesSchema,\n enhancedActionSchema,\n exactFilesSchema,\n fileTypesSchema,\n hintTextSchema,\n imageTypesSchema,\n listForQuestionSchema,\n maxFilesSchema,\n maxFutureSchema,\n maxLengthSchema,\n maxPastSchema,\n maxSchema,\n minFilesSchema,\n minLengthSchema,\n minSchema,\n nameSchema,\n precisionSchema,\n prefixSchema,\n questionOptionalSchema,\n questionSchema,\n questionTypeFullSchema,\n radioHintSchema,\n radioIdSchema,\n radioTextSchema,\n radioValueSchema,\n regexSchema,\n rowsSchema,\n shortDescriptionSchema,\n suffixSchema,\n tabularDataTypesSchema\n}\n\nexport const formEditorInputPageKeys = {\n pageType: pageTypeSchema,\n questionType: questionTypeSchema\n}\n\n/**\n * Joi schema for `FormEditorInputPage` interface\n * @see {@link FormEditorInputPage}\n */\nexport const formEditorInputPageSchema = Joi.object<FormEditorInputPage>()\n .keys(formEditorInputPageKeys)\n .required()\n .description('Input schema for creating a new page in the form editor')\n\nexport const formEditorInputheckAnswersSettingsKeys = {\n declarationText: shortDescriptionSchema\n}\n\n/**\n * Joi schema for `FormEditorInputCheckAnswersSettings` interface\n * @see {@link FormEditorInputCheckAnswersSettings}\n */\nexport const formEditorInputCheckAnswersSettingSchema =\n Joi.object<FormEditorInputCheckAnswersSettings>()\n .keys(formEditorInputheckAnswersSettingsKeys)\n .required()\n .description('Configuration for the check-answers page')\n\nexport const formEditorInputQuestionKeys = {\n question: questionSchema,\n shortDescription: shortDescriptionSchema,\n hintText: hintTextSchema,\n questionOptional: questionOptionalSchema\n}\n\n/**\n * Joi schema for `FormEditorInputQuestion` interface\n * @see {@link FormEditorInputQuestion}\n */\nexport const formEditorInputQuestionSchema =\n Joi.object<FormEditorInputQuestion>()\n .keys(formEditorInputQuestionKeys)\n .required()\n .description(\n 'Input schema for creating or updating a question in the form editor'\n )\n\nexport const formEditorInputPageSettingsKeys = {\n pageHeadingAndGuidance: pageHeadingAndGuidanceSchema,\n pageHeading: pageHeadingSchema,\n guidanceText: guidanceTextSchema\n}\n\n/**\n * Joi schema for `FormEditorInputPageSettings` interface\n * @see {@link FormEditorInputPageSettings}\n */\nexport const formEditorInputPageSettingsSchema =\n Joi.object<FormEditorInputPageSettings>()\n .keys(formEditorInputPageSettingsKeys)\n .required()\n .description('Settings for page content and display in the form editor')\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"index.js","names":["Joi","ComponentType","QuestionTypeSubGroup","pageTypeSchema","string","required","valid","description","questionTypeSchema","WrittenAnswerSubGroup","DateSubGroup","UkAddressField","TelephoneNumberField","FileUploadField","EmailAddressField","ListSubGroup","YesNoField","CheckboxesField","RadiosField","AutocompleteField","questionTypeFullSchema","TextField","MultilineTextField","NumberField","DatePartsField","MonthYearField","writtenAnswerSubSchema","dateSubSchema","listSubSchema","nameSchema","trim","questionSchema","hintTextSchema","optional","allow","questionOptionalSchema","listForQuestionSchema","listItemCountSchema","number","exactFilesSchema","empty","integer","min","max","minFilesSchema","maxFilesSchema","fileTypesSchema","array","items","single","default","documentTypesSchema","imageTypesSchema","tabularDataTypesSchema","enhancedActionSchema","radioIdSchema","radioTextSchema","radioHintSchema","radioValueSchema","shortDescriptionSchema","pageHeadingAndGuidanceSchema","pageHeadingSchema","guidanceTextSchema","needDeclarationSchema","declarationTextSchema","minSchema","maxSchema","minLengthSchema","maxLengthSchema","maxFutureSchema","maxPastSchema","precisionSchema","prefixSchema","regexSchema","rowsSchema","suffixSchema","classesSchema","customValidator","extend","joi","type","base","messages","coerce","from","method","value","helpers","rowSeparatorRule","schema","$_getRule","colSeparatorRule","keysRule","rowSeparator","args","rows","split","map","v","filter","Boolean","colSeparator","keys","coercedValue","row","reduce","acc","col","idx","_err","console","error","errors","rules","convert","alias","$_addRule","name","ref","assert","RegExp","message","Array","isArray","every","k","autoCompleteOptionsSchema","dsv","object","text","disallow","parent","unique","ignoreUndefined","questionDetailsFullSchema","formEditorInputPageKeys","pageType","questionType","formEditorInputPageSchema","formEditorInputheckAnswersSettingsKeys","declarationText","formEditorInputCheckAnswersSettingSchema","formEditorInputQuestionKeys","question","shortDescription","hintText","questionOptional","formEditorInputQuestionSchema","formEditorInputPageSettingsKeys","pageHeadingAndGuidance","pageHeading","guidanceText","formEditorInputPageSettingsSchema"],"sources":["../../../../src/form/form-editor/index.ts"],"sourcesContent":["import Joi, { type ArraySchema, type GetRuleOptions } from 'joi'\n\nimport { ComponentType } from '~/src/components/enums.js'\nimport {\n type FormEditorInputCheckAnswersSettings,\n type FormEditorInputPage,\n type FormEditorInputPageSettings,\n type FormEditorInputQuestion\n} from '~/src/form/form-editor/types.js'\n\nexport enum QuestionTypeSubGroup {\n WrittenAnswerSubGroup = 'writtenAnswerSub',\n DateSubGroup = 'dateSub',\n ListSubGroup = 'listSub'\n}\n\nexport const pageTypeSchema = Joi.string()\n .required()\n .valid('question', 'guidance')\n .description('Type of page - either a question page or guidance page')\n\nexport const questionTypeSchema = Joi.string()\n .required()\n .valid(\n QuestionTypeSubGroup.WrittenAnswerSubGroup,\n QuestionTypeSubGroup.DateSubGroup,\n ComponentType.UkAddressField,\n ComponentType.TelephoneNumberField,\n ComponentType.FileUploadField,\n ComponentType.EmailAddressField,\n QuestionTypeSubGroup.ListSubGroup,\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('The high-level type of question, including grouped types')\n\nexport const questionTypeFullSchema = Joi.string()\n .required()\n .valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField,\n ComponentType.NumberField,\n ComponentType.DatePartsField,\n ComponentType.MonthYearField,\n ComponentType.UkAddressField,\n ComponentType.TelephoneNumberField,\n ComponentType.FileUploadField,\n ComponentType.EmailAddressField,\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('The specific component type to use for this question')\n\nexport const writtenAnswerSubSchema = Joi.string()\n .required()\n .valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField,\n ComponentType.NumberField\n )\n .description('Subtype for written answer questions')\n\nexport const dateSubSchema = Joi.string()\n .required()\n .valid(ComponentType.DatePartsField, ComponentType.MonthYearField)\nexport const listSubSchema = Joi.string()\n .required()\n .valid(\n ComponentType.YesNoField,\n ComponentType.CheckboxesField,\n ComponentType.RadiosField,\n ComponentType.AutocompleteField\n )\n .description('Subtype for date-related questions')\n\nexport const nameSchema = Joi.string()\n .trim()\n .required()\n .description('Unique identifier for the field')\n\nexport const questionSchema = Joi.string()\n .trim()\n .required()\n .description('The question text displayed to the user')\n\nexport const hintTextSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Optional guidance text displayed below the question')\n\nexport const questionOptionalSchema = Joi.string()\n .trim()\n .optional()\n .valid('', 'true')\n .description(\n 'Indicates whether a question is optional. Empty string or \"true\" values are accepted.'\n )\n\nexport const listForQuestionSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Unique identifier for the list used by the field')\n\nexport const listItemCountSchema = Joi.number()\n .optional()\n .description('Number of list items in the list used by the field')\n\nexport const exactFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .max(25)\n .description(\n 'Specifies the exact number of files required for upload. Must be between 1 and 25.'\n )\n\nexport const minFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(0)\n .max(25)\n .description(\n 'Minimum number of files required for upload. Must be between 0 and 25.'\n )\n\nexport const maxFilesSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .max(25)\n .description(\n 'Maximum number of files allowed for upload. Must be between 1 and 25.'\n )\n\nexport const fileTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed file types. Can be provided as a single value or an array.'\n )\n\nexport const documentTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed document types. Can be provided as a single value or an array.'\n )\n\nexport const imageTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\n .description(\n 'Array of allowed image types. Can be provided as a single value or an array.'\n )\n\nexport const tabularDataTypesSchema = Joi.array()\n .items(Joi.string())\n .single()\n .empty(null)\n .default([])\nexport const enhancedActionSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Action field that can include enhanced functionality')\n\nexport const radioIdSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Unique identifier for radio options')\n\nexport const radioTextSchema = Joi.string()\n .trim()\n .required()\n .description('The visible text shown next to radio options')\n\nexport const radioHintSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'Optional hint text displayed with radio buttons to provide additional guidance'\n )\n\nexport const radioValueSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'Array of allowed tabular data types. Can be provided as a single value or an array.'\n )\n\nexport const shortDescriptionSchema = Joi.string()\n .trim()\n .required()\n .description('Brief description of the question for internal use')\n\nexport const pageHeadingAndGuidanceSchema = Joi.string()\n .trim()\n .optional()\n .description('Combined heading and guidance for the page')\n\nexport const pageHeadingSchema = Joi.string()\n .trim()\n .required()\n .description('Main heading displayed at the top of the page')\n\nexport const guidanceTextSchema = Joi.string()\n .trim()\n .description('Guidance text to assist users in completing the page')\n\nexport const needDeclarationSchema = Joi.string()\n .trim()\n .required()\n .description('Whether a declaration is needed')\n\nexport const declarationTextSchema = Joi.string()\n .trim()\n .required()\n .description('Text of the declaration that users must agree to')\n\nexport const minSchema = Joi.number()\n .empty('')\n .integer()\n .description('Minimum value for numeric inputs')\n\nexport const maxSchema = Joi.number()\n .empty('')\n .integer()\n .description('Maximum value for numeric inputs')\n\nexport const minLengthSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Minimum character length for text inputs')\n\nexport const maxLengthSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum character length for text inputs')\n\nexport const maxFutureSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum days in the future allowed for date inputs')\n\nexport const maxPastSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Maximum days in the past allowed for date inputs')\n\nexport const precisionSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Decimal precision for numeric inputs')\n\nexport const prefixSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Text to display before the input (e.g., £)')\n\nexport const regexSchema = Joi.string()\n .optional()\n .allow('')\n .description('Regular expression pattern for validation')\n\nexport const rowsSchema = Joi.number()\n .empty('')\n .integer()\n .min(1)\n .description('Number of rows for multiline text fields')\n\nexport const suffixSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Text to display after the input (e.g., kg)')\n\nexport const classesSchema = Joi.string()\n .trim()\n .optional()\n .allow('')\n .description('Custom CSS classes to apply to the component')\n\ntype GenericRuleOptions<K extends string, T> = Omit<GetRuleOptions, 'args'> & {\n args: Record<K, T>\n}\n\ninterface DSLSchema<TSchema = Record<string, unknown>[]>\n extends ArraySchema<TSchema> {\n rowSeparator: (rowSep: string | RegExp) => DSLSchema<TSchema>\n row: (rowSep: string | RegExp) => DSLSchema<TSchema>\n colSeparator: (colSep: string | RegExp) => DSLSchema<TSchema>\n col: (colSep: string | RegExp) => DSLSchema<TSchema>\n keys: (keys: string[]) => DSLSchema<TSchema>\n}\n\ninterface CustomValidator extends Joi.Root {\n dsv<TSchema>(): DSLSchema<TSchema>\n}\n\nexport const customValidator = Joi.extend((joi: Joi.Root) => {\n return {\n type: 'dsv',\n base: joi.array(),\n messages: {\n 'dsv.invalid': 'Invalid parse string'\n },\n coerce: {\n from: 'string',\n method(value: string, helpers) {\n try {\n // Only called when prefs.convert is true\n // Rules\n const rowSeparatorRule = helpers.schema.$_getRule('rowSeparator') as\n | undefined\n | GenericRuleOptions<'rowSeparator', string | RegExp>\n const colSeparatorRule = helpers.schema.$_getRule('colSeparator') as\n | undefined\n | GenericRuleOptions<'colSeparator', string | RegExp>\n const keysRule = helpers.schema.$_getRule('keys') as\n | undefined\n | GenericRuleOptions<'keys', string[]>\n\n // Rows\n const rowSeparator = rowSeparatorRule?.args.rowSeparator ?? /\\r?\\n/\n const rows = value\n .split(rowSeparator)\n .map((v) => v.trim())\n .filter(Boolean)\n\n // Columns\n const colSeparator = colSeparatorRule?.args.colSeparator ?? ','\n const keys = keysRule?.args.keys ?? ['key', 'value']\n\n const coercedValue = rows.map((row) => {\n return row\n .split(colSeparator)\n .reduce<Record<string, string>>((acc, col, idx) => {\n return {\n ...acc,\n [keys[idx]]: col.trim()\n }\n }, {})\n })\n return { value: coercedValue }\n } catch (_err) {\n // eslint-disable-next-line no-console\n console.error(_err)\n return { value, errors: [helpers.error('dsv.invalid')] }\n }\n }\n },\n rules: {\n rowSeparator: {\n convert: true,\n alias: 'row',\n method(rowSeparator: string) {\n return this.$_addRule({\n name: 'rowSeparator',\n args: { rowSeparator }\n })\n },\n args: [\n {\n name: 'rowSeparator',\n ref: true,\n assert: (value) =>\n typeof value === 'string' || value instanceof RegExp,\n message: 'must be a string or regex'\n }\n ]\n },\n colSeparator: {\n convert: true,\n alias: 'col',\n method(colSeparator: string) {\n return this.$_addRule({\n name: 'colSeparator',\n args: { colSeparator }\n })\n },\n args: [\n {\n name: 'colSeparator',\n ref: true,\n assert: (value) =>\n typeof value === 'string' || value instanceof RegExp,\n message: 'must be a string or regex'\n }\n ]\n },\n keys: {\n convert: true,\n method(keys: string[]) {\n return this.$_addRule({ name: 'keys', args: { keys } })\n },\n args: [\n {\n name: 'keys',\n ref: true,\n assert: (value) =>\n Array.isArray(value) && value.every((k) => typeof k === 'string'),\n message: 'must be an array of strings'\n }\n ]\n }\n }\n }\n}) as CustomValidator\n\nexport const autoCompleteOptionsSchema = customValidator\n .dsv<{ text: string; value: string }>()\n .row(/\\r?\\n/)\n .col(':')\n .keys(['text', 'value'])\n .items(\n customValidator.object({\n text: customValidator.string().min(1).disallow('').required(),\n value: customValidator\n .string()\n .default((parent: { text: string; value?: string }) => parent.text)\n .min(1)\n .disallow('')\n })\n )\n .min(1)\n .unique('text')\n .unique('value', { ignoreUndefined: true })\n .required()\n\nexport const questionDetailsFullSchema = {\n autoCompleteOptionsSchema,\n classesSchema,\n documentTypesSchema,\n enhancedActionSchema,\n exactFilesSchema,\n fileTypesSchema,\n hintTextSchema,\n imageTypesSchema,\n listForQuestionSchema,\n listItemCountSchema,\n maxFilesSchema,\n maxFutureSchema,\n maxLengthSchema,\n maxPastSchema,\n maxSchema,\n minFilesSchema,\n minLengthSchema,\n minSchema,\n nameSchema,\n precisionSchema,\n prefixSchema,\n questionOptionalSchema,\n questionSchema,\n questionTypeFullSchema,\n radioHintSchema,\n radioIdSchema,\n radioTextSchema,\n radioValueSchema,\n regexSchema,\n rowsSchema,\n shortDescriptionSchema,\n suffixSchema,\n tabularDataTypesSchema\n}\n\nexport const formEditorInputPageKeys = {\n pageType: pageTypeSchema,\n questionType: questionTypeSchema\n}\n\n/**\n * Joi schema for `FormEditorInputPage` interface\n * @see {@link FormEditorInputPage}\n */\nexport const formEditorInputPageSchema = Joi.object<FormEditorInputPage>()\n .keys(formEditorInputPageKeys)\n .required()\n .description('Input schema for creating a new page in the form editor')\n\nexport const formEditorInputheckAnswersSettingsKeys = {\n declarationText: shortDescriptionSchema\n}\n\n/**\n * Joi schema for `FormEditorInputCheckAnswersSettings` interface\n * @see {@link FormEditorInputCheckAnswersSettings}\n */\nexport const formEditorInputCheckAnswersSettingSchema =\n Joi.object<FormEditorInputCheckAnswersSettings>()\n .keys(formEditorInputheckAnswersSettingsKeys)\n .required()\n .description('Configuration for the check-answers page')\n\nexport const formEditorInputQuestionKeys = {\n question: questionSchema,\n shortDescription: shortDescriptionSchema,\n hintText: hintTextSchema,\n questionOptional: questionOptionalSchema\n}\n\n/**\n * Joi schema for `FormEditorInputQuestion` interface\n * @see {@link FormEditorInputQuestion}\n */\nexport const formEditorInputQuestionSchema =\n Joi.object<FormEditorInputQuestion>()\n .keys(formEditorInputQuestionKeys)\n .required()\n .description(\n 'Input schema for creating or updating a question in the form editor'\n )\n\nexport const formEditorInputPageSettingsKeys = {\n pageHeadingAndGuidance: pageHeadingAndGuidanceSchema,\n pageHeading: pageHeadingSchema,\n guidanceText: guidanceTextSchema\n}\n\n/**\n * Joi schema for `FormEditorInputPageSettings` interface\n * @see {@link FormEditorInputPageSettings}\n */\nexport const formEditorInputPageSettingsSchema =\n Joi.object<FormEditorInputPageSettings>()\n .keys(formEditorInputPageSettingsKeys)\n .required()\n .description('Settings for page content and display in the form editor')\n"],"mappings":"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","ignoreList":[]}
|
@@ -16,6 +16,7 @@ export declare const questionSchema: Joi.StringSchema<string>;
|
|
16
16
|
export declare const hintTextSchema: Joi.StringSchema<string>;
|
17
17
|
export declare const questionOptionalSchema: Joi.StringSchema<string>;
|
18
18
|
export declare const listForQuestionSchema: Joi.StringSchema<string>;
|
19
|
+
export declare const listItemCountSchema: Joi.NumberSchema<number>;
|
19
20
|
export declare const exactFilesSchema: Joi.NumberSchema<number>;
|
20
21
|
export declare const minFilesSchema: Joi.NumberSchema<number>;
|
21
22
|
export declare const maxFilesSchema: Joi.NumberSchema<number>;
|
@@ -74,6 +75,7 @@ export declare const questionDetailsFullSchema: {
|
|
74
75
|
hintTextSchema: Joi.StringSchema<string>;
|
75
76
|
imageTypesSchema: Joi.ArraySchema<any[]>;
|
76
77
|
listForQuestionSchema: Joi.StringSchema<string>;
|
78
|
+
listItemCountSchema: Joi.NumberSchema<number>;
|
77
79
|
maxFilesSchema: Joi.NumberSchema<number>;
|
78
80
|
maxFutureSchema: Joi.NumberSchema<number>;
|
79
81
|
maxLengthSchema: Joi.NumberSchema<number>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-editor/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-editor/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -107,6 +107,10 @@ export const listForQuestionSchema = Joi.string()
|
|
107
107
|
.allow('')
|
108
108
|
.description('Unique identifier for the list used by the field')
|
109
109
|
|
110
|
+
export const listItemCountSchema = Joi.number()
|
111
|
+
.optional()
|
112
|
+
.description('Number of list items in the list used by the field')
|
113
|
+
|
110
114
|
export const exactFilesSchema = Joi.number()
|
111
115
|
.empty('')
|
112
116
|
.integer()
|
@@ -440,6 +444,8 @@ export const autoCompleteOptionsSchema = customValidator
|
|
440
444
|
})
|
441
445
|
)
|
442
446
|
.min(1)
|
447
|
+
.unique('text')
|
448
|
+
.unique('value', { ignoreUndefined: true })
|
443
449
|
.required()
|
444
450
|
|
445
451
|
export const questionDetailsFullSchema = {
|
@@ -452,6 +458,7 @@ export const questionDetailsFullSchema = {
|
|
452
458
|
hintTextSchema,
|
453
459
|
imageTypesSchema,
|
454
460
|
listForQuestionSchema,
|
461
|
+
listItemCountSchema,
|
455
462
|
maxFilesSchema,
|
456
463
|
maxFutureSchema,
|
457
464
|
maxLengthSchema,
|