@defra/forms-model 3.0.581 → 3.0.583

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 (45) hide show
  1. package/dist/module/components/component-types.js +7 -0
  2. package/dist/module/components/component-types.js.map +1 -1
  3. package/dist/module/components/enums.js +1 -0
  4. package/dist/module/components/enums.js.map +1 -1
  5. package/dist/module/components/types.js.map +1 -1
  6. package/dist/module/conditions/condition-operators.js +2 -1
  7. package/dist/module/conditions/condition-operators.js.map +1 -1
  8. package/dist/module/form/form-definition/helpers.js +19 -0
  9. package/dist/module/form/form-definition/helpers.js.map +1 -1
  10. package/dist/module/form/form-editor/preview/helpers.js +3 -1
  11. package/dist/module/form/form-editor/preview/helpers.js.map +1 -1
  12. package/dist/module/form/form-editor/preview/hidden.js +9 -0
  13. package/dist/module/form/form-editor/preview/hidden.js.map +1 -0
  14. package/dist/module/form/form-editor/preview/index.js +1 -0
  15. package/dist/module/form/form-editor/preview/index.js.map +1 -1
  16. package/dist/module/form/form-editor/preview/markdown.js +6 -2
  17. package/dist/module/form/form-editor/preview/markdown.js.map +1 -1
  18. package/dist/module/utils/markdown.js +16 -2
  19. package/dist/module/utils/markdown.js.map +1 -1
  20. package/dist/types/components/component-types.d.ts.map +1 -1
  21. package/dist/types/components/enums.d.ts +2 -1
  22. package/dist/types/components/enums.d.ts.map +1 -1
  23. package/dist/types/components/types.d.ts +7 -1
  24. package/dist/types/components/types.d.ts.map +1 -1
  25. package/dist/types/conditions/condition-operators.d.ts +1 -0
  26. package/dist/types/conditions/condition-operators.d.ts.map +1 -1
  27. package/dist/types/form/form-definition/helpers.d.ts +6 -0
  28. package/dist/types/form/form-definition/helpers.d.ts.map +1 -1
  29. package/dist/types/form/form-editor/preview/helpers.d.ts.map +1 -1
  30. package/dist/types/form/form-editor/preview/hidden.d.ts +4 -0
  31. package/dist/types/form/form-editor/preview/hidden.d.ts.map +1 -0
  32. package/dist/types/form/form-editor/preview/index.d.ts +1 -0
  33. package/dist/types/utils/markdown.d.ts +4 -1
  34. package/dist/types/utils/markdown.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/components/component-types.ts +8 -0
  37. package/src/components/enums.ts +2 -1
  38. package/src/components/types.ts +8 -0
  39. package/src/conditions/condition-operators.ts +2 -1
  40. package/src/form/form-definition/helpers.ts +23 -0
  41. package/src/form/form-editor/preview/helpers.js +3 -1
  42. package/src/form/form-editor/preview/hidden.js +9 -0
  43. package/src/form/form-editor/preview/index.js +1 -0
  44. package/src/form/form-editor/preview/markdown.js +2 -2
  45. package/src/utils/markdown.ts +21 -3
@@ -153,5 +153,12 @@ export const ComponentTypes = Object.freeze([{
153
153
  type: ComponentType.LatLongField,
154
154
  hint: 'For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767',
155
155
  options: {}
156
+ }, {
157
+ name: 'HiddenField',
158
+ title: 'Hidden field',
159
+ type: ComponentType.HiddenField,
160
+ hint: '',
161
+ options: {},
162
+ schema: {}
156
163
  }]);
157
164
  //# sourceMappingURL=component-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-types.js","names":["ComponentType","ComponentTypes","Object","freeze","name","title","type","TextField","hint","options","schema","MultilineTextField","YesNoField","DatePartsField","MonthYearField","SelectField","list","AutocompleteField","RadiosField","CheckboxesField","NumberField","UkAddressField","TelephoneNumberField","EmailAddressField","FileUploadField","Html","content","InsetText","Markdown","Details","List","DeclarationField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField"],"sources":["../../../src/components/component-types.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { type ComponentDef } from '~/src/components/types.js'\n\n/**\n * Defaults for creating new components\n */\nexport const ComponentTypes: readonly ComponentDef[] = Object.freeze([\n {\n name: 'TextField',\n title: 'Text field',\n type: ComponentType.TextField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'MultilineTextField',\n title: 'Multiline text field',\n type: ComponentType.MultilineTextField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'YesNoField',\n title: 'Yes/No field',\n type: ComponentType.YesNoField,\n hint: '',\n options: {}\n },\n {\n name: 'DatePartsField',\n title: 'Date field',\n type: ComponentType.DatePartsField,\n hint: '',\n options: {}\n },\n {\n name: 'MonthYearField',\n title: 'Month & year field',\n type: ComponentType.MonthYearField,\n hint: '',\n options: {}\n },\n {\n name: 'SelectField',\n title: 'Select field',\n type: ComponentType.SelectField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'AutocompleteField',\n title: 'Autocomplete field',\n type: ComponentType.AutocompleteField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'RadiosField',\n title: 'Radios field',\n type: ComponentType.RadiosField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'CheckboxesField',\n title: 'Checkboxes field',\n type: ComponentType.CheckboxesField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'NumberField',\n title: 'Number field',\n type: ComponentType.NumberField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'UkAddressField',\n title: 'UK address field',\n type: ComponentType.UkAddressField,\n hint: '',\n options: {}\n },\n {\n name: 'TelephoneNumberField',\n title: 'Telephone number field',\n type: ComponentType.TelephoneNumberField,\n hint: '',\n options: {}\n },\n {\n name: 'EmailAddressField',\n title: 'Email address field',\n type: ComponentType.EmailAddressField,\n hint: 'For example, ‘name@example.com’',\n options: {}\n },\n {\n name: 'FileUploadField',\n title: 'File upload field',\n type: ComponentType.FileUploadField,\n options: {},\n schema: {}\n },\n {\n name: 'Html',\n title: 'Html',\n type: ComponentType.Html,\n content: '',\n options: {}\n },\n {\n name: 'InsetText',\n title: 'Inset text',\n type: ComponentType.InsetText,\n content: ''\n },\n {\n name: 'Markdown',\n title: 'Markdown',\n type: ComponentType.Markdown,\n content: '',\n options: {}\n },\n {\n name: 'Details',\n title: 'Details',\n type: ComponentType.Details,\n content: '',\n options: {}\n },\n {\n name: 'List',\n title: 'List',\n type: ComponentType.List,\n list: '',\n options: {}\n },\n {\n name: 'DeclarationField',\n title: 'Declaration',\n type: ComponentType.DeclarationField,\n hint: '',\n content: '',\n options: {}\n },\n {\n name: 'EastingNorthingField',\n title: 'Easting and northing',\n type: ComponentType.EastingNorthingField,\n hint: 'For example, Easting: 248741, Northing: 63688',\n options: {}\n },\n {\n name: 'OsGridRefField',\n title: 'Ordnance Survey (OS) grid reference',\n type: ComponentType.OsGridRefField,\n hint: 'An OS grid reference number is made up of 2 letters followed by 6 numbers, for example, TQ123456',\n options: {}\n },\n {\n name: 'NationalGridFieldNumberField',\n title: 'National Grid field number',\n type: ComponentType.NationalGridFieldNumberField,\n hint: 'A National Grid field number is made up of 2 letters and 8 numbers, for example, SO04188589',\n options: {}\n },\n {\n name: 'LatLongField',\n title: 'Latitude and longitude',\n type: ComponentType.LatLongField,\n hint: 'For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767',\n options: {}\n }\n])\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"component-types.js","names":["ComponentType","ComponentTypes","Object","freeze","name","title","type","TextField","hint","options","schema","MultilineTextField","YesNoField","DatePartsField","MonthYearField","SelectField","list","AutocompleteField","RadiosField","CheckboxesField","NumberField","UkAddressField","TelephoneNumberField","EmailAddressField","FileUploadField","Html","content","InsetText","Markdown","Details","List","DeclarationField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField","HiddenField"],"sources":["../../../src/components/component-types.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { type ComponentDef } from '~/src/components/types.js'\n\n/**\n * Defaults for creating new components\n */\nexport const ComponentTypes: readonly ComponentDef[] = Object.freeze([\n {\n name: 'TextField',\n title: 'Text field',\n type: ComponentType.TextField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'MultilineTextField',\n title: 'Multiline text field',\n type: ComponentType.MultilineTextField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'YesNoField',\n title: 'Yes/No field',\n type: ComponentType.YesNoField,\n hint: '',\n options: {}\n },\n {\n name: 'DatePartsField',\n title: 'Date field',\n type: ComponentType.DatePartsField,\n hint: '',\n options: {}\n },\n {\n name: 'MonthYearField',\n title: 'Month & year field',\n type: ComponentType.MonthYearField,\n hint: '',\n options: {}\n },\n {\n name: 'SelectField',\n title: 'Select field',\n type: ComponentType.SelectField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'AutocompleteField',\n title: 'Autocomplete field',\n type: ComponentType.AutocompleteField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'RadiosField',\n title: 'Radios field',\n type: ComponentType.RadiosField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'CheckboxesField',\n title: 'Checkboxes field',\n type: ComponentType.CheckboxesField,\n hint: '',\n list: '',\n options: {}\n },\n {\n name: 'NumberField',\n title: 'Number field',\n type: ComponentType.NumberField,\n hint: '',\n options: {},\n schema: {}\n },\n {\n name: 'UkAddressField',\n title: 'UK address field',\n type: ComponentType.UkAddressField,\n hint: '',\n options: {}\n },\n {\n name: 'TelephoneNumberField',\n title: 'Telephone number field',\n type: ComponentType.TelephoneNumberField,\n hint: '',\n options: {}\n },\n {\n name: 'EmailAddressField',\n title: 'Email address field',\n type: ComponentType.EmailAddressField,\n hint: 'For example, ‘name@example.com’',\n options: {}\n },\n {\n name: 'FileUploadField',\n title: 'File upload field',\n type: ComponentType.FileUploadField,\n options: {},\n schema: {}\n },\n {\n name: 'Html',\n title: 'Html',\n type: ComponentType.Html,\n content: '',\n options: {}\n },\n {\n name: 'InsetText',\n title: 'Inset text',\n type: ComponentType.InsetText,\n content: ''\n },\n {\n name: 'Markdown',\n title: 'Markdown',\n type: ComponentType.Markdown,\n content: '',\n options: {}\n },\n {\n name: 'Details',\n title: 'Details',\n type: ComponentType.Details,\n content: '',\n options: {}\n },\n {\n name: 'List',\n title: 'List',\n type: ComponentType.List,\n list: '',\n options: {}\n },\n {\n name: 'DeclarationField',\n title: 'Declaration',\n type: ComponentType.DeclarationField,\n hint: '',\n content: '',\n options: {}\n },\n {\n name: 'EastingNorthingField',\n title: 'Easting and northing',\n type: ComponentType.EastingNorthingField,\n hint: 'For example, Easting: 248741, Northing: 63688',\n options: {}\n },\n {\n name: 'OsGridRefField',\n title: 'Ordnance Survey (OS) grid reference',\n type: ComponentType.OsGridRefField,\n hint: 'An OS grid reference number is made up of 2 letters followed by 6 numbers, for example, TQ123456',\n options: {}\n },\n {\n name: 'NationalGridFieldNumberField',\n title: 'National Grid field number',\n type: ComponentType.NationalGridFieldNumberField,\n hint: 'A National Grid field number is made up of 2 letters and 8 numbers, for example, SO04188589',\n options: {}\n },\n {\n name: 'LatLongField',\n title: 'Latitude and longitude',\n type: ComponentType.LatLongField,\n hint: 'For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767',\n options: {}\n },\n {\n name: 'HiddenField',\n title: 'Hidden field',\n type: ComponentType.HiddenField,\n hint: '',\n options: {},\n schema: {}\n }\n])\n"],"mappings":"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","ignoreList":[]}
@@ -23,6 +23,7 @@ export let ComponentType = /*#__PURE__*/function (ComponentType) {
23
23
  ComponentType["OsGridRefField"] = "OsGridRefField";
24
24
  ComponentType["NationalGridFieldNumberField"] = "NationalGridFieldNumberField";
25
25
  ComponentType["LatLongField"] = "LatLongField";
26
+ ComponentType["HiddenField"] = "HiddenField";
26
27
  return ComponentType;
27
28
  }({});
28
29
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["ComponentType"],"sources":["../../../src/components/enums.ts"],"sourcesContent":["export enum ComponentType {\n TextField = 'TextField',\n MultilineTextField = 'MultilineTextField',\n YesNoField = 'YesNoField',\n DatePartsField = 'DatePartsField',\n MonthYearField = 'MonthYearField',\n SelectField = 'SelectField',\n AutocompleteField = 'AutocompleteField',\n RadiosField = 'RadiosField',\n CheckboxesField = 'CheckboxesField',\n NumberField = 'NumberField',\n UkAddressField = 'UkAddressField',\n TelephoneNumberField = 'TelephoneNumberField',\n EmailAddressField = 'EmailAddressField',\n Html = 'Html',\n InsetText = 'InsetText',\n Details = 'Details',\n List = 'List',\n Markdown = 'Markdown',\n FileUploadField = 'FileUploadField',\n DeclarationField = 'DeclarationField',\n EastingNorthingField = 'EastingNorthingField',\n OsGridRefField = 'OsGridRefField',\n NationalGridFieldNumberField = 'NationalGridFieldNumberField',\n LatLongField = 'LatLongField'\n}\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["ComponentType"],"sources":["../../../src/components/enums.ts"],"sourcesContent":["export enum ComponentType {\n TextField = 'TextField',\n MultilineTextField = 'MultilineTextField',\n YesNoField = 'YesNoField',\n DatePartsField = 'DatePartsField',\n MonthYearField = 'MonthYearField',\n SelectField = 'SelectField',\n AutocompleteField = 'AutocompleteField',\n RadiosField = 'RadiosField',\n CheckboxesField = 'CheckboxesField',\n NumberField = 'NumberField',\n UkAddressField = 'UkAddressField',\n TelephoneNumberField = 'TelephoneNumberField',\n EmailAddressField = 'EmailAddressField',\n Html = 'Html',\n InsetText = 'InsetText',\n Details = 'Details',\n List = 'List',\n Markdown = 'Markdown',\n FileUploadField = 'FileUploadField',\n DeclarationField = 'DeclarationField',\n EastingNorthingField = 'EastingNorthingField',\n OsGridRefField = 'OsGridRefField',\n NationalGridFieldNumberField = 'NationalGridFieldNumberField',\n LatLongField = 'LatLongField',\n HiddenField = 'HiddenField'\n}\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import { type LanguageMessages } from 'joi'\n\nimport { type ComponentType } from '~/src/components/enums.js'\nimport {\n type ListTypeContent,\n type ListTypeOption\n} from '~/src/form/form-definition/types.js'\n\nexport type ConditionalComponentType = Exclude<\n ConditionalComponentsDef['type'],\n ContentComponentsDef\n>\n\n/**\n * Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists\n */\n\ninterface FormFieldBase {\n id?: string\n type: FormComponentsDef['type']\n shortDescription?: string\n name: string\n title: string\n hint?: string\n options: {\n required?: boolean\n optionalText?: boolean\n classes?: string\n customValidationMessages?: LanguageMessages\n instructionText?: string\n }\n}\n\ninterface ListFieldBase extends FormFieldBase {\n type:\n | ComponentType.AutocompleteField\n | ComponentType.CheckboxesField\n | ComponentType.RadiosField\n | ComponentType.SelectField\n list: string\n options: FormFieldBase['options'] & {\n type?: ListTypeContent\n }\n}\n\ninterface ContentFieldBase {\n id?: string\n type:\n | ComponentType.Details\n | ComponentType.Html\n | ComponentType.Markdown\n | ComponentType.InsetText\n | ComponentType.List\n name: string\n title: string\n options?: {\n required?: undefined\n optionalText?: undefined\n }\n}\n\ninterface DateFieldBase extends FormFieldBase {\n type: ComponentType.DatePartsField | ComponentType.MonthYearField\n name: string\n title: string\n hint?: string\n options: FormFieldBase['options'] & {\n maxDaysInPast?: number\n maxDaysInFuture?: number\n }\n}\n\n// Text Fields\nexport interface TextFieldComponent extends FormFieldBase {\n type: ComponentType.TextField\n options: FormFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n }\n schema: {\n max?: number\n min?: number\n length?: number\n regex?: string\n }\n}\n\nexport interface EmailAddressFieldComponent extends FormFieldBase {\n type: ComponentType.EmailAddressField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface NumberFieldComponent extends FormFieldBase {\n type: ComponentType.NumberField\n options: FormFieldBase['options'] & {\n prefix?: string\n suffix?: string\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n }\n schema: {\n max?: number\n min?: number\n precision?: number\n minPrecision?: number\n minLength?: number\n maxLength?: number\n }\n}\n\nexport interface TelephoneNumberFieldComponent extends FormFieldBase {\n type: ComponentType.TelephoneNumberField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface FileUploadFieldComponent extends FormFieldBase {\n type: ComponentType.FileUploadField\n name: string\n title: string\n hint?: string\n options: FormFieldBase['options'] & {\n accept?: string\n }\n schema: {\n max?: number\n min?: number\n length?: number\n }\n}\n\nexport interface YesNoFieldComponent extends FormFieldBase {\n type: ComponentType.YesNoField\n options: FormFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface DeclarationFieldComponent extends FormFieldBase {\n type: ComponentType.DeclarationField\n content: string\n options: FormFieldBase['options'] & {\n condition?: string\n declarationConfirmationLabel?: string\n }\n}\n\nexport interface MultilineTextFieldComponent extends FormFieldBase {\n type: ComponentType.MultilineTextField\n options: FormFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n rows?: number\n maxWords?: number\n }\n schema: {\n max?: number\n min?: number\n length?: number\n regex?: string\n }\n}\n\nexport interface UkAddressFieldComponent extends FormFieldBase {\n type: ComponentType.UkAddressField\n options: FormFieldBase['options'] & {\n hideTitle?: boolean\n usePostcodeLookup?: boolean\n }\n}\n\n// Precise Location Fields\nexport interface EastingNorthingFieldComponent extends FormFieldBase {\n type: ComponentType.EastingNorthingField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n schema?: {\n easting?: {\n min?: number\n max?: number\n }\n northing?: {\n min?: number\n max?: number\n }\n }\n}\n\nexport interface OsGridRefFieldComponent extends FormFieldBase {\n type: ComponentType.OsGridRefField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface NationalGridFieldNumberFieldComponent extends FormFieldBase {\n type: ComponentType.NationalGridFieldNumberField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface LatLongFieldComponent extends FormFieldBase {\n type: ComponentType.LatLongField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n schema?: {\n latitude?: {\n min?: number\n max?: number\n }\n longitude?: {\n min?: number\n max?: number\n }\n }\n}\n\n// Date Fields\nexport interface DatePartsFieldComponent extends DateFieldBase {\n type: ComponentType.DatePartsField\n options: DateFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MonthYearFieldComponent extends DateFieldBase {\n type: ComponentType.MonthYearField\n options: DateFieldBase['options'] & {\n customValidationMessage?: string\n }\n}\n\n// Content Fields\nexport interface DetailsComponent extends ContentFieldBase {\n type: ComponentType.Details\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface HtmlComponent extends ContentFieldBase {\n type: ComponentType.Html\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MarkdownComponent extends ContentFieldBase {\n type: ComponentType.Markdown\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface InsetTextComponent extends ContentFieldBase {\n type: ComponentType.InsetText\n content: string\n}\n\nexport interface ListComponent extends ContentFieldBase {\n type: ComponentType.List\n hint?: string\n list: string\n options: ContentFieldBase['options'] & {\n type?: ListTypeOption\n classes?: string\n hideTitle?: boolean\n bold?: boolean\n }\n}\n\nexport interface AutocompleteFieldComponent extends ListFieldBase {\n type: ComponentType.AutocompleteField\n options: ListFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface CheckboxesFieldComponent extends ListFieldBase {\n type: ComponentType.CheckboxesField\n options: ListFieldBase['options'] & {\n bold?: boolean\n condition?: string\n }\n}\n\nexport interface RadiosFieldComponent extends ListFieldBase {\n type: ComponentType.RadiosField\n options: ListFieldBase['options'] & {\n bold?: boolean\n condition?: string\n }\n}\n\nexport interface SelectFieldComponent extends ListFieldBase {\n type: ComponentType.SelectField\n options: ListFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n }\n}\n\nexport type ComponentDef = FormComponentsDef | ContentComponentsDef\n\n// Components that render form fields\nexport type FormComponentsDef =\n | InputFieldsComponentsDef\n | SelectionComponentsDef\n\n// Components that render inputs\nexport type InputFieldsComponentsDef =\n | TextFieldComponent\n | EmailAddressFieldComponent\n | NumberFieldComponent\n | MultilineTextFieldComponent\n | TelephoneNumberFieldComponent\n | MonthYearFieldComponent\n | DatePartsFieldComponent\n | UkAddressFieldComponent\n | FileUploadFieldComponent\n | DeclarationFieldComponent\n | EastingNorthingFieldComponent\n | OsGridRefFieldComponent\n | NationalGridFieldNumberFieldComponent\n | LatLongFieldComponent\n\n// Components that render content\nexport type ContentComponentsDef =\n | DetailsComponent\n | HtmlComponent\n | MarkdownComponent\n | InsetTextComponent\n | ListComponent\n\n// Components that render lists\nexport type ListComponentsDef =\n | Exclude<SelectionComponentsDef, YesNoFieldComponent>\n | ListComponent\n\n// Components that have selection fields\nexport type SelectionComponentsDef =\n | AutocompleteFieldComponent\n | CheckboxesFieldComponent\n | RadiosFieldComponent\n | SelectFieldComponent\n | YesNoFieldComponent\n\n// Components that have condition support\nexport type ConditionalComponentsDef = Exclude<\n ComponentDef,\n | InsetTextComponent\n | ListComponent\n | MonthYearFieldComponent\n | UkAddressFieldComponent\n | FileUploadFieldComponent\n>\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import { type LanguageMessages } from 'joi'\n\nimport { type ComponentType } from '~/src/components/enums.js'\nimport {\n type ListTypeContent,\n type ListTypeOption\n} from '~/src/form/form-definition/types.js'\n\nexport type ConditionalComponentType = Exclude<\n ConditionalComponentsDef['type'],\n ContentComponentsDef\n>\n\n/**\n * Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists\n */\n\ninterface FormFieldBase {\n id?: string\n type: FormComponentsDef['type']\n shortDescription?: string\n name: string\n title: string\n hint?: string\n options: {\n required?: boolean\n optionalText?: boolean\n classes?: string\n customValidationMessages?: LanguageMessages\n instructionText?: string\n }\n}\n\ninterface ListFieldBase extends FormFieldBase {\n type:\n | ComponentType.AutocompleteField\n | ComponentType.CheckboxesField\n | ComponentType.RadiosField\n | ComponentType.SelectField\n list: string\n options: FormFieldBase['options'] & {\n type?: ListTypeContent\n }\n}\n\ninterface ContentFieldBase {\n id?: string\n type:\n | ComponentType.Details\n | ComponentType.Html\n | ComponentType.Markdown\n | ComponentType.InsetText\n | ComponentType.List\n name: string\n title: string\n options?: {\n required?: undefined\n optionalText?: undefined\n }\n}\n\ninterface DateFieldBase extends FormFieldBase {\n type: ComponentType.DatePartsField | ComponentType.MonthYearField\n name: string\n title: string\n hint?: string\n options: FormFieldBase['options'] & {\n maxDaysInPast?: number\n maxDaysInFuture?: number\n }\n}\n\n// Text Fields\nexport interface TextFieldComponent extends FormFieldBase {\n type: ComponentType.TextField\n options: FormFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n }\n schema: {\n max?: number\n min?: number\n length?: number\n regex?: string\n }\n}\n\nexport interface EmailAddressFieldComponent extends FormFieldBase {\n type: ComponentType.EmailAddressField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface NumberFieldComponent extends FormFieldBase {\n type: ComponentType.NumberField\n options: FormFieldBase['options'] & {\n prefix?: string\n suffix?: string\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n }\n schema: {\n max?: number\n min?: number\n precision?: number\n minPrecision?: number\n minLength?: number\n maxLength?: number\n }\n}\n\nexport interface TelephoneNumberFieldComponent extends FormFieldBase {\n type: ComponentType.TelephoneNumberField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface FileUploadFieldComponent extends FormFieldBase {\n type: ComponentType.FileUploadField\n name: string\n title: string\n hint?: string\n options: FormFieldBase['options'] & {\n accept?: string\n }\n schema: {\n max?: number\n min?: number\n length?: number\n }\n}\n\nexport interface YesNoFieldComponent extends FormFieldBase {\n type: ComponentType.YesNoField\n options: FormFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface DeclarationFieldComponent extends FormFieldBase {\n type: ComponentType.DeclarationField\n content: string\n options: FormFieldBase['options'] & {\n condition?: string\n declarationConfirmationLabel?: string\n }\n}\n\nexport interface MultilineTextFieldComponent extends FormFieldBase {\n type: ComponentType.MultilineTextField\n options: FormFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n customValidationMessage?: string\n rows?: number\n maxWords?: number\n }\n schema: {\n max?: number\n min?: number\n length?: number\n regex?: string\n }\n}\n\nexport interface UkAddressFieldComponent extends FormFieldBase {\n type: ComponentType.UkAddressField\n options: FormFieldBase['options'] & {\n hideTitle?: boolean\n usePostcodeLookup?: boolean\n }\n}\n\n// Precise Location Fields\nexport interface EastingNorthingFieldComponent extends FormFieldBase {\n type: ComponentType.EastingNorthingField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n schema?: {\n easting?: {\n min?: number\n max?: number\n }\n northing?: {\n min?: number\n max?: number\n }\n }\n}\n\nexport interface OsGridRefFieldComponent extends FormFieldBase {\n type: ComponentType.OsGridRefField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface NationalGridFieldNumberFieldComponent extends FormFieldBase {\n type: ComponentType.NationalGridFieldNumberField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface LatLongFieldComponent extends FormFieldBase {\n type: ComponentType.LatLongField\n options: FormFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n schema?: {\n latitude?: {\n min?: number\n max?: number\n }\n longitude?: {\n min?: number\n max?: number\n }\n }\n}\n\nexport interface HiddenFieldComponent extends FormFieldBase {\n type: ComponentType.HiddenField\n options: FormFieldBase['options'] & {\n condition?: string\n }\n}\n\n// Date Fields\nexport interface DatePartsFieldComponent extends DateFieldBase {\n type: ComponentType.DatePartsField\n options: DateFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MonthYearFieldComponent extends DateFieldBase {\n type: ComponentType.MonthYearField\n options: DateFieldBase['options'] & {\n customValidationMessage?: string\n }\n}\n\n// Content Fields\nexport interface DetailsComponent extends ContentFieldBase {\n type: ComponentType.Details\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface HtmlComponent extends ContentFieldBase {\n type: ComponentType.Html\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MarkdownComponent extends ContentFieldBase {\n type: ComponentType.Markdown\n content: string\n options: ContentFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface InsetTextComponent extends ContentFieldBase {\n type: ComponentType.InsetText\n content: string\n}\n\nexport interface ListComponent extends ContentFieldBase {\n type: ComponentType.List\n hint?: string\n list: string\n options: ContentFieldBase['options'] & {\n type?: ListTypeOption\n classes?: string\n hideTitle?: boolean\n bold?: boolean\n }\n}\n\nexport interface AutocompleteFieldComponent extends ListFieldBase {\n type: ComponentType.AutocompleteField\n options: ListFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface CheckboxesFieldComponent extends ListFieldBase {\n type: ComponentType.CheckboxesField\n options: ListFieldBase['options'] & {\n bold?: boolean\n condition?: string\n }\n}\n\nexport interface RadiosFieldComponent extends ListFieldBase {\n type: ComponentType.RadiosField\n options: ListFieldBase['options'] & {\n bold?: boolean\n condition?: string\n }\n}\n\nexport interface SelectFieldComponent extends ListFieldBase {\n type: ComponentType.SelectField\n options: ListFieldBase['options'] & {\n autocomplete?: string\n condition?: string\n }\n}\n\nexport type ComponentDef = FormComponentsDef | ContentComponentsDef\n\n// Components that render form fields\nexport type FormComponentsDef =\n | InputFieldsComponentsDef\n | SelectionComponentsDef\n\n// Components that render inputs\nexport type InputFieldsComponentsDef =\n | TextFieldComponent\n | EmailAddressFieldComponent\n | NumberFieldComponent\n | MultilineTextFieldComponent\n | TelephoneNumberFieldComponent\n | MonthYearFieldComponent\n | DatePartsFieldComponent\n | UkAddressFieldComponent\n | FileUploadFieldComponent\n | DeclarationFieldComponent\n | EastingNorthingFieldComponent\n | OsGridRefFieldComponent\n | NationalGridFieldNumberFieldComponent\n | LatLongFieldComponent\n | HiddenFieldComponent\n\n// Components that render content\nexport type ContentComponentsDef =\n | DetailsComponent\n | HtmlComponent\n | MarkdownComponent\n | InsetTextComponent\n | ListComponent\n\n// Components that render lists\nexport type ListComponentsDef =\n | Exclude<SelectionComponentsDef, YesNoFieldComponent>\n | ListComponent\n\n// Components that have selection fields\nexport type SelectionComponentsDef =\n | AutocompleteFieldComponent\n | CheckboxesFieldComponent\n | RadiosFieldComponent\n | SelectFieldComponent\n | YesNoFieldComponent\n\n// Components that have condition support\nexport type ConditionalComponentsDef = Exclude<\n ComponentDef,\n | InsetTextComponent\n | ListComponent\n | MonthYearFieldComponent\n | UkAddressFieldComponent\n | FileUploadFieldComponent\n>\n"],"mappings":"","ignoreList":[]}
@@ -59,7 +59,8 @@ export const customOperators = {
59
59
  [ComponentType.EastingNorthingField]: defaultOperators,
60
60
  [ComponentType.OsGridRefField]: defaultOperators,
61
61
  [ComponentType.NationalGridFieldNumberField]: defaultOperators,
62
- [ComponentType.LatLongField]: defaultOperators
62
+ [ComponentType.LatLongField]: defaultOperators,
63
+ [ComponentType.HiddenField]: undefined
63
64
  };
64
65
  export function getOperatorNames(fieldType) {
65
66
  const conditionals = getConditionals(fieldType);
@@ -1 +1 @@
1
- {"version":3,"file":"condition-operators.js","names":["ComponentType","isConditionalType","isContentType","ConditionValue","RelativeDateValue","ConditionType","DateDirections","Operator","OperatorName","defaultOperators","Is","inline","IsNot","withDefaults","operators","textFieldOperators","IsLongerThan","lengthIs","IsMoreThan","IsShorterThan","IsLessThan","HasLength","absoluteDateOperators","absoluteDate","IsBefore","IsAfter","relativeDateOperators","IsAtLeast","relativeDate","IsAtMost","customOperators","AutocompleteField","RadiosField","CheckboxesField","Contains","reverseInline","DoesNotContain","not","NumberField","DatePartsField","TextField","MultilineTextField","EmailAddressField","TelephoneNumberField","SelectField","YesNoField","DeclarationField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField","getOperatorNames","fieldType","conditionals","getConditionals","Object","keys","getExpression","fieldName","operator","value","expression","type","name","field","formatValue","operatorDefinition","RelativeDate","toValue","replace","absoluteDateOperatorNames","relativeDateOperatorNames","Error","pastOperator","futureOperator","isPast","direction","PAST"],"sources":["../../../src/conditions/condition-operators.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { isConditionalType, isContentType } from '~/src/components/helpers.js'\nimport {\n type ComponentDef,\n type ConditionalComponentType\n} from '~/src/components/types.js'\nimport {\n ConditionValue,\n RelativeDateValue\n} from '~/src/conditions/condition-values.js'\nimport { type Condition } from '~/src/conditions/condition.js'\nimport {\n ConditionType,\n DateDirections,\n Operator,\n OperatorName\n} from '~/src/conditions/enums.js'\nimport {\n type Conditionals,\n type OperatorDefinition\n} from '~/src/conditions/types.js'\n\nconst defaultOperators = {\n [OperatorName.Is]: inline(Operator.Is),\n [OperatorName.IsNot]: inline(Operator.IsNot)\n}\n\nfunction withDefaults<T>(operators: T) {\n return { ...defaultOperators, ...operators }\n}\n\nconst textFieldOperators = {\n [OperatorName.IsLongerThan]: lengthIs(Operator.IsMoreThan),\n [OperatorName.IsShorterThan]: lengthIs(Operator.IsLessThan),\n [OperatorName.HasLength]: lengthIs(Operator.Is)\n}\n\nconst absoluteDateOperators = {\n [OperatorName.Is]: absoluteDate(Operator.Is),\n [OperatorName.IsNot]: absoluteDate(Operator.IsNot),\n [OperatorName.IsBefore]: absoluteDate(Operator.IsLessThan),\n [OperatorName.IsAfter]: absoluteDate(Operator.IsMoreThan)\n}\n\nconst relativeDateOperators = {\n [OperatorName.IsAtLeast]: relativeDate(Operator.IsAtMost, Operator.IsAtLeast),\n [OperatorName.IsAtMost]: relativeDate(Operator.IsAtLeast, Operator.IsAtMost),\n [OperatorName.IsLessThan]: relativeDate(\n Operator.IsMoreThan,\n Operator.IsLessThan\n ),\n [OperatorName.IsMoreThan]: relativeDate(\n Operator.IsLessThan,\n Operator.IsMoreThan\n )\n}\n\nexport const customOperators = {\n [ComponentType.AutocompleteField]: defaultOperators,\n [ComponentType.RadiosField]: defaultOperators,\n [ComponentType.CheckboxesField]: {\n [OperatorName.Contains]: reverseInline(Operator.Contains),\n [OperatorName.DoesNotContain]: not(reverseInline(Operator.Contains))\n },\n [ComponentType.NumberField]: withDefaults({\n [OperatorName.IsAtLeast]: inline(Operator.IsAtLeast),\n [OperatorName.IsAtMost]: inline(Operator.IsAtMost),\n [OperatorName.IsLessThan]: inline(Operator.IsLessThan),\n [OperatorName.IsMoreThan]: inline(Operator.IsMoreThan)\n }),\n [ComponentType.DatePartsField]: {\n ...absoluteDateOperators,\n ...relativeDateOperators\n },\n [ComponentType.TextField]: withDefaults(textFieldOperators),\n [ComponentType.MultilineTextField]: {\n [OperatorName.IsLongerThan]: lengthIs(Operator.IsMoreThan),\n [OperatorName.IsShorterThan]: lengthIs(Operator.IsLessThan)\n },\n [ComponentType.EmailAddressField]: withDefaults(textFieldOperators),\n [ComponentType.TelephoneNumberField]: defaultOperators,\n [ComponentType.SelectField]: defaultOperators,\n [ComponentType.YesNoField]: defaultOperators,\n [ComponentType.DeclarationField]: defaultOperators,\n [ComponentType.EastingNorthingField]: defaultOperators,\n [ComponentType.OsGridRefField]: defaultOperators,\n [ComponentType.NationalGridFieldNumberField]: defaultOperators,\n [ComponentType.LatLongField]: defaultOperators\n}\n\nexport function getOperatorNames(fieldType?: ConditionalComponentType) {\n const conditionals = getConditionals(fieldType)\n if (!conditionals) {\n return []\n }\n\n return Object.keys(conditionals) as OperatorName[]\n}\n\nexport function getExpression(\n fieldType: ConditionalComponentType,\n fieldName: string,\n operator: OperatorName,\n value: Condition['value']\n) {\n const conditionals = getConditionals(fieldType)\n if (!conditionals) {\n return\n }\n\n return conditionals[operator]?.expression(\n { type: fieldType, name: fieldName },\n value\n )\n}\n\nfunction getConditionals(\n fieldType?: ConditionalComponentType\n): Partial<Conditionals> | undefined {\n if (!fieldType || !isConditionalType(fieldType) || isContentType(fieldType)) {\n return\n }\n\n return fieldType in customOperators\n ? customOperators[fieldType]\n : defaultOperators\n}\n\nfunction inline(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n return `${field.name} ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction lengthIs(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n return `length(${field.name}) ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction reverseInline(operator: Operator.Contains): OperatorDefinition {\n return {\n expression(field, value) {\n return `${formatValue(field, value)} ${operator} ${field.name}`\n }\n }\n}\n\nfunction not(operatorDefinition: OperatorDefinition): OperatorDefinition {\n return {\n expression(field, value) {\n return `not (${operatorDefinition.expression(field, value)})`\n }\n }\n}\n\nfunction formatValue(\n field: Pick<ComponentDef, 'type'>,\n value: Condition['value']\n) {\n if (\n (field.type === ComponentType.DatePartsField &&\n value.type === ConditionType.RelativeDate) ||\n field.type === ComponentType.NumberField ||\n field.type === ComponentType.YesNoField ||\n field.type === ComponentType.DeclarationField\n ) {\n return value.toValue()\n }\n\n return `'${value.toValue().replace(/'/g, \"\\\\'\")}'`\n}\n\nexport const absoluteDateOperatorNames = Object.keys(\n absoluteDateOperators\n) as OperatorName[]\n\nexport const relativeDateOperatorNames = Object.keys(\n relativeDateOperators\n) as OperatorName[]\n\nfunction absoluteDate(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n if (!(value instanceof ConditionValue)) {\n throw new Error(\n \"Expression param 'value' must be ConditionValue instance\"\n )\n }\n\n return `${field.name} ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction relativeDate(\n pastOperator: Operator,\n futureOperator: Operator\n): OperatorDefinition {\n return {\n expression(field, value) {\n if (!(value instanceof RelativeDateValue)) {\n throw new Error(\n \"Expression param 'value' must be RelativeDateValue instance\"\n )\n }\n\n const isPast = value.direction === DateDirections.PAST\n return `${field.name} ${isPast ? pastOperator : futureOperator} ${formatValue(field, value)}`\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"condition-operators.js","names":["ComponentType","isConditionalType","isContentType","ConditionValue","RelativeDateValue","ConditionType","DateDirections","Operator","OperatorName","defaultOperators","Is","inline","IsNot","withDefaults","operators","textFieldOperators","IsLongerThan","lengthIs","IsMoreThan","IsShorterThan","IsLessThan","HasLength","absoluteDateOperators","absoluteDate","IsBefore","IsAfter","relativeDateOperators","IsAtLeast","relativeDate","IsAtMost","customOperators","AutocompleteField","RadiosField","CheckboxesField","Contains","reverseInline","DoesNotContain","not","NumberField","DatePartsField","TextField","MultilineTextField","EmailAddressField","TelephoneNumberField","SelectField","YesNoField","DeclarationField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField","HiddenField","undefined","getOperatorNames","fieldType","conditionals","getConditionals","Object","keys","getExpression","fieldName","operator","value","expression","type","name","field","formatValue","operatorDefinition","RelativeDate","toValue","replace","absoluteDateOperatorNames","relativeDateOperatorNames","Error","pastOperator","futureOperator","isPast","direction","PAST"],"sources":["../../../src/conditions/condition-operators.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { isConditionalType, isContentType } from '~/src/components/helpers.js'\nimport {\n type ComponentDef,\n type ConditionalComponentType\n} from '~/src/components/types.js'\nimport {\n ConditionValue,\n RelativeDateValue\n} from '~/src/conditions/condition-values.js'\nimport { type Condition } from '~/src/conditions/condition.js'\nimport {\n ConditionType,\n DateDirections,\n Operator,\n OperatorName\n} from '~/src/conditions/enums.js'\nimport {\n type Conditionals,\n type OperatorDefinition\n} from '~/src/conditions/types.js'\n\nconst defaultOperators = {\n [OperatorName.Is]: inline(Operator.Is),\n [OperatorName.IsNot]: inline(Operator.IsNot)\n}\n\nfunction withDefaults<T>(operators: T) {\n return { ...defaultOperators, ...operators }\n}\n\nconst textFieldOperators = {\n [OperatorName.IsLongerThan]: lengthIs(Operator.IsMoreThan),\n [OperatorName.IsShorterThan]: lengthIs(Operator.IsLessThan),\n [OperatorName.HasLength]: lengthIs(Operator.Is)\n}\n\nconst absoluteDateOperators = {\n [OperatorName.Is]: absoluteDate(Operator.Is),\n [OperatorName.IsNot]: absoluteDate(Operator.IsNot),\n [OperatorName.IsBefore]: absoluteDate(Operator.IsLessThan),\n [OperatorName.IsAfter]: absoluteDate(Operator.IsMoreThan)\n}\n\nconst relativeDateOperators = {\n [OperatorName.IsAtLeast]: relativeDate(Operator.IsAtMost, Operator.IsAtLeast),\n [OperatorName.IsAtMost]: relativeDate(Operator.IsAtLeast, Operator.IsAtMost),\n [OperatorName.IsLessThan]: relativeDate(\n Operator.IsMoreThan,\n Operator.IsLessThan\n ),\n [OperatorName.IsMoreThan]: relativeDate(\n Operator.IsLessThan,\n Operator.IsMoreThan\n )\n}\n\nexport const customOperators = {\n [ComponentType.AutocompleteField]: defaultOperators,\n [ComponentType.RadiosField]: defaultOperators,\n [ComponentType.CheckboxesField]: {\n [OperatorName.Contains]: reverseInline(Operator.Contains),\n [OperatorName.DoesNotContain]: not(reverseInline(Operator.Contains))\n },\n [ComponentType.NumberField]: withDefaults({\n [OperatorName.IsAtLeast]: inline(Operator.IsAtLeast),\n [OperatorName.IsAtMost]: inline(Operator.IsAtMost),\n [OperatorName.IsLessThan]: inline(Operator.IsLessThan),\n [OperatorName.IsMoreThan]: inline(Operator.IsMoreThan)\n }),\n [ComponentType.DatePartsField]: {\n ...absoluteDateOperators,\n ...relativeDateOperators\n },\n [ComponentType.TextField]: withDefaults(textFieldOperators),\n [ComponentType.MultilineTextField]: {\n [OperatorName.IsLongerThan]: lengthIs(Operator.IsMoreThan),\n [OperatorName.IsShorterThan]: lengthIs(Operator.IsLessThan)\n },\n [ComponentType.EmailAddressField]: withDefaults(textFieldOperators),\n [ComponentType.TelephoneNumberField]: defaultOperators,\n [ComponentType.SelectField]: defaultOperators,\n [ComponentType.YesNoField]: defaultOperators,\n [ComponentType.DeclarationField]: defaultOperators,\n [ComponentType.EastingNorthingField]: defaultOperators,\n [ComponentType.OsGridRefField]: defaultOperators,\n [ComponentType.NationalGridFieldNumberField]: defaultOperators,\n [ComponentType.LatLongField]: defaultOperators,\n [ComponentType.HiddenField]: undefined\n}\n\nexport function getOperatorNames(fieldType?: ConditionalComponentType) {\n const conditionals = getConditionals(fieldType)\n if (!conditionals) {\n return []\n }\n\n return Object.keys(conditionals) as OperatorName[]\n}\n\nexport function getExpression(\n fieldType: ConditionalComponentType,\n fieldName: string,\n operator: OperatorName,\n value: Condition['value']\n) {\n const conditionals = getConditionals(fieldType)\n if (!conditionals) {\n return\n }\n\n return conditionals[operator]?.expression(\n { type: fieldType, name: fieldName },\n value\n )\n}\n\nfunction getConditionals(\n fieldType?: ConditionalComponentType\n): Partial<Conditionals> | undefined {\n if (!fieldType || !isConditionalType(fieldType) || isContentType(fieldType)) {\n return\n }\n\n return fieldType in customOperators\n ? customOperators[fieldType]\n : defaultOperators\n}\n\nfunction inline(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n return `${field.name} ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction lengthIs(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n return `length(${field.name}) ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction reverseInline(operator: Operator.Contains): OperatorDefinition {\n return {\n expression(field, value) {\n return `${formatValue(field, value)} ${operator} ${field.name}`\n }\n }\n}\n\nfunction not(operatorDefinition: OperatorDefinition): OperatorDefinition {\n return {\n expression(field, value) {\n return `not (${operatorDefinition.expression(field, value)})`\n }\n }\n}\n\nfunction formatValue(\n field: Pick<ComponentDef, 'type'>,\n value: Condition['value']\n) {\n if (\n (field.type === ComponentType.DatePartsField &&\n value.type === ConditionType.RelativeDate) ||\n field.type === ComponentType.NumberField ||\n field.type === ComponentType.YesNoField ||\n field.type === ComponentType.DeclarationField\n ) {\n return value.toValue()\n }\n\n return `'${value.toValue().replace(/'/g, \"\\\\'\")}'`\n}\n\nexport const absoluteDateOperatorNames = Object.keys(\n absoluteDateOperators\n) as OperatorName[]\n\nexport const relativeDateOperatorNames = Object.keys(\n relativeDateOperators\n) as OperatorName[]\n\nfunction absoluteDate(operator: Operator): OperatorDefinition {\n return {\n expression(field, value) {\n if (!(value instanceof ConditionValue)) {\n throw new Error(\n \"Expression param 'value' must be ConditionValue instance\"\n )\n }\n\n return `${field.name} ${operator} ${formatValue(field, value)}`\n }\n }\n}\n\nfunction relativeDate(\n pastOperator: Operator,\n futureOperator: Operator\n): OperatorDefinition {\n return {\n expression(field, value) {\n if (!(value instanceof RelativeDateValue)) {\n throw new Error(\n \"Expression param 'value' must be RelativeDateValue instance\"\n )\n }\n\n const isPast = value.direction === DateDirections.PAST\n return `${field.name} ${isPast ? pastOperator : futureOperator} ${formatValue(field, value)}`\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,6 @@
1
+ import { ComponentType } from "../../components/enums.js";
2
+ import { hasComponents } from "../../pages/helpers.js";
3
+
1
4
  /**
2
5
  * TypeGuard to check if something is a FormDefinition
3
6
  * @param { unknown } definition
@@ -21,4 +24,20 @@ export function isConditionListItemRefValueData(conditionValueData) {
21
24
  }
22
25
  return typeof conditionValueData === 'object' && 'listId' in conditionValueData && 'itemId' in conditionValueData;
23
26
  }
27
+
28
+ /**
29
+ * Returns an array of all hidden fields in a form
30
+ * @param definition - form definition
31
+ */
32
+ export function getHiddenFields(definition) {
33
+ if (definition.pages.length === 0) {
34
+ return [];
35
+ }
36
+ const totalHiddenFields = [];
37
+ for (const page of definition.pages) {
38
+ const hiddenFields = hasComponents(page) ? page.components.filter(comp => comp.type === ComponentType.HiddenField) : [];
39
+ totalHiddenFields.push(...hiddenFields);
40
+ }
41
+ return totalHiddenFields;
42
+ }
24
43
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["isFormDefinition","definition","isConditionListItemRefValueData","conditionValueData"],"sources":["../../../../src/form/form-definition/helpers.ts"],"sourcesContent":["import { type ConditionListItemRefValueDataV2 } from '~/src/conditions/types.js'\nimport { type FormDefinition } from '~/src/form/form-definition/types.js'\n\n/**\n * TypeGuard to check if something is a FormDefinition\n * @param { unknown } definition\n * @returns { definition is FormDefinition }\n */\nexport function isFormDefinition(\n definition: unknown\n): definition is FormDefinition {\n if (!definition) {\n return false\n }\n\n return (\n typeof definition === 'object' &&\n 'name' in definition &&\n 'pages' in definition &&\n 'conditions' in definition\n )\n}\n\n/**\n * TypeGuard to check if something is a ConditionListItemRefValueDataV2\n * @param { unknown } conditionValueData\n * @returns { definition is ConditionListItemRefValueDataV2 }\n */\nexport function isConditionListItemRefValueData(\n conditionValueData: unknown\n): conditionValueData is ConditionListItemRefValueDataV2 {\n if (!conditionValueData) {\n return false\n }\n\n return (\n typeof conditionValueData === 'object' &&\n 'listId' in conditionValueData &&\n 'itemId' in conditionValueData\n )\n}\n"],"mappings":"AAGA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAC9BC,UAAmB,EACW;EAC9B,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,KAAK;EACd;EAEA,OACE,OAAOA,UAAU,KAAK,QAAQ,IAC9B,MAAM,IAAIA,UAAU,IACpB,OAAO,IAAIA,UAAU,IACrB,YAAY,IAAIA,UAAU;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAC7CC,kBAA2B,EAC4B;EACvD,IAAI,CAACA,kBAAkB,EAAE;IACvB,OAAO,KAAK;EACd;EAEA,OACE,OAAOA,kBAAkB,KAAK,QAAQ,IACtC,QAAQ,IAAIA,kBAAkB,IAC9B,QAAQ,IAAIA,kBAAkB;AAElC","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["ComponentType","hasComponents","isFormDefinition","definition","isConditionListItemRefValueData","conditionValueData","getHiddenFields","pages","length","totalHiddenFields","page","hiddenFields","components","filter","comp","type","HiddenField","push"],"sources":["../../../../src/form/form-definition/helpers.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { type ComponentDef } from '~/src/components/types.js'\nimport { type ConditionListItemRefValueDataV2 } from '~/src/conditions/types.js'\nimport { type FormDefinition } from '~/src/form/form-definition/types.js'\nimport { hasComponents } from '~/src/pages/helpers.js'\n\n/**\n * TypeGuard to check if something is a FormDefinition\n * @param { unknown } definition\n * @returns { definition is FormDefinition }\n */\nexport function isFormDefinition(\n definition: unknown\n): definition is FormDefinition {\n if (!definition) {\n return false\n }\n\n return (\n typeof definition === 'object' &&\n 'name' in definition &&\n 'pages' in definition &&\n 'conditions' in definition\n )\n}\n\n/**\n * TypeGuard to check if something is a ConditionListItemRefValueDataV2\n * @param { unknown } conditionValueData\n * @returns { definition is ConditionListItemRefValueDataV2 }\n */\nexport function isConditionListItemRefValueData(\n conditionValueData: unknown\n): conditionValueData is ConditionListItemRefValueDataV2 {\n if (!conditionValueData) {\n return false\n }\n\n return (\n typeof conditionValueData === 'object' &&\n 'listId' in conditionValueData &&\n 'itemId' in conditionValueData\n )\n}\n\n/**\n * Returns an array of all hidden fields in a form\n * @param definition - form definition\n */\nexport function getHiddenFields(definition: FormDefinition) {\n if (definition.pages.length === 0) {\n return []\n }\n const totalHiddenFields = [] as ComponentDef[]\n for (const page of definition.pages) {\n const hiddenFields = hasComponents(page)\n ? page.components.filter(\n (comp) => comp.type === ComponentType.HiddenField\n )\n : []\n totalHiddenFields.push(...hiddenFields)\n }\n return totalHiddenFields\n}\n"],"mappings":"AAAA,SAASA,aAAa;AAItB,SAASC,aAAa;;AAEtB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,UAAmB,EACW;EAC9B,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,KAAK;EACd;EAEA,OACE,OAAOA,UAAU,KAAK,QAAQ,IAC9B,MAAM,IAAIA,UAAU,IACpB,OAAO,IAAIA,UAAU,IACrB,YAAY,IAAIA,UAAU;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAC7CC,kBAA2B,EAC4B;EACvD,IAAI,CAACA,kBAAkB,EAAE;IACvB,OAAO,KAAK;EACd;EAEA,OACE,OAAOA,kBAAkB,KAAK,QAAQ,IACtC,QAAQ,IAAIA,kBAAkB,IAC9B,QAAQ,IAAIA,kBAAkB;AAElC;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACH,UAA0B,EAAE;EAC1D,IAAIA,UAAU,CAACI,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IACjC,OAAO,EAAE;EACX;EACA,MAAMC,iBAAiB,GAAG,EAAoB;EAC9C,KAAK,MAAMC,IAAI,IAAIP,UAAU,CAACI,KAAK,EAAE;IACnC,MAAMI,YAAY,GAAGV,aAAa,CAACS,IAAI,CAAC,GACpCA,IAAI,CAACE,UAAU,CAACC,MAAM,CACnBC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAKf,aAAa,CAACgB,WACxC,CAAC,GACD,EAAE;IACNP,iBAAiB,CAACQ,IAAI,CAAC,GAAGN,YAAY,CAAC;EACzC;EACA,OAAOF,iBAAiB;AAC1B","ignoreList":[]}
@@ -8,6 +8,7 @@ import { DateInputQuestion } from "./date-input.js";
8
8
  import { DeclarationComponentPreviewElements, DeclarationQuestion } from "./declaration.js";
9
9
  import { EastingNorthingComponentPreviewElements, EastingNorthingQuestion } from "./easting-northing.js";
10
10
  import { EmailAddressQuestion } from "./email-address.js";
11
+ import { HiddenQuestion } from "./hidden.js";
11
12
  import { LatLongComponentPreviewElements, LatLongQuestion } from "./lat-long.js";
12
13
  import { ListComponentElements, ListQuestion, SelectComponentElements } from "./list.js";
13
14
  import { LongAnswerQuestion } from "./long-answer.js";
@@ -52,7 +53,8 @@ const InputFieldComponentDictionary = {
52
53
  [ComponentType.EastingNorthingField]: EastingNorthingQuestion,
53
54
  [ComponentType.OsGridRefField]: OsGridRefQuestion,
54
55
  [ComponentType.NationalGridFieldNumberField]: NationalGridQuestion,
55
- [ComponentType.LatLongField]: LatLongQuestion
56
+ [ComponentType.LatLongField]: LatLongQuestion,
57
+ [ComponentType.HiddenField]: HiddenQuestion
56
58
  };
57
59
 
58
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["ComponentType","hasContentField","hasInputField","hasListField","hasSelectionFields","AutocompleteListQuestion","CheckboxQuestion","ComponentElements","ContentElements","DateInputQuestion","DeclarationComponentPreviewElements","DeclarationQuestion","EastingNorthingComponentPreviewElements","EastingNorthingQuestion","EmailAddressQuestion","LatLongComponentPreviewElements","LatLongQuestion","ListComponentElements","ListQuestion","SelectComponentElements","LongAnswerQuestion","Markdown","MonthYearQuestion","NationalGridComponentPreviewElements","NationalGridQuestion","NumberComponentPreviewElements","NumberOnlyQuestion","OsGridRefComponentPreviewElements","OsGridRefQuestion","PhoneNumberQuestion","QuestionComponentElements","RadioQuestion","SelectQuestion","ShortAnswerQuestion","SupportingEvidenceQuestion","UkAddressComponentPreviewElements","UkAddressQuestion","YesNoQuestion","findDefinitionListFromComponent","InputFieldComponentDictionary","TextField","Details","InsetText","Html","List","EmailAddressField","NumberField","MultilineTextField","TelephoneNumberField","MonthYearField","DatePartsField","UkAddressField","AutocompleteField","RadiosField","CheckboxesField","SelectField","YesNoField","DeclarationField","FileUploadField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField","ComponentToPreviewQuestion","component","definition","componentCoerced","list","_definition","mapComponentToPreviewQuestion","questionRenderer","questionElements","getQuestionElementsFunc","type","QuestionConstructor","previewComponent","id"],"sources":["../../../../../src/form/form-editor/preview/helpers.js"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport {\n hasContentField,\n hasInputField,\n hasListField,\n hasSelectionFields\n} from '~/src/components/helpers.js'\nimport { AutocompleteListQuestion } from '~/src/form/form-editor/preview/autocomplete.js'\nimport { CheckboxQuestion } from '~/src/form/form-editor/preview/checkbox.js'\nimport { ComponentElements } from '~/src/form/form-editor/preview/component-elements.js'\nimport { ContentElements } from '~/src/form/form-editor/preview/content.js'\nimport { DateInputQuestion } from '~/src/form/form-editor/preview/date-input.js'\nimport {\n DeclarationComponentPreviewElements,\n DeclarationQuestion\n} from '~/src/form/form-editor/preview/declaration.js'\nimport {\n EastingNorthingComponentPreviewElements,\n EastingNorthingQuestion\n} from '~/src/form/form-editor/preview/easting-northing.js'\nimport { EmailAddressQuestion } from '~/src/form/form-editor/preview/email-address.js'\nimport {\n LatLongComponentPreviewElements,\n LatLongQuestion\n} from '~/src/form/form-editor/preview/lat-long.js'\nimport {\n ListComponentElements,\n ListQuestion,\n SelectComponentElements\n} from '~/src/form/form-editor/preview/list.js'\nimport { LongAnswerQuestion } from '~/src/form/form-editor/preview/long-answer.js'\nimport { Markdown } from '~/src/form/form-editor/preview/markdown.js'\nimport { MonthYearQuestion } from '~/src/form/form-editor/preview/month-year.js'\nimport {\n NationalGridComponentPreviewElements,\n NationalGridQuestion\n} from '~/src/form/form-editor/preview/national-grid.js'\nimport {\n NumberComponentPreviewElements,\n NumberOnlyQuestion\n} from '~/src/form/form-editor/preview/number-only.js'\nimport {\n OsGridRefComponentPreviewElements,\n OsGridRefQuestion\n} from '~/src/form/form-editor/preview/os-grid-ref.js'\nimport { PhoneNumberQuestion } from '~/src/form/form-editor/preview/phone-number.js'\nimport { QuestionComponentElements } from '~/src/form/form-editor/preview/question.js'\nimport { RadioQuestion } from '~/src/form/form-editor/preview/radio.js'\nimport { SelectQuestion } from '~/src/form/form-editor/preview/select.js'\nimport { ShortAnswerQuestion } from '~/src/form/form-editor/preview/short-answer.js'\nimport { SupportingEvidenceQuestion } from '~/src/form/form-editor/preview/supporting-evidence.js'\nimport {\n UkAddressComponentPreviewElements,\n UkAddressQuestion\n} from '~/src/form/form-editor/preview/uk-address.js'\nimport { YesNoQuestion } from '~/src/form/form-editor/preview/yes-no.js'\nimport { findDefinitionListFromComponent } from '~/src/form/utils/list.js'\n/**\n * @type {Record<ComponentType, typeof PreviewComponent>}\n */\nconst InputFieldComponentDictionary = {\n [ComponentType.TextField]: ShortAnswerQuestion,\n [ComponentType.Details]: ShortAnswerQuestion,\n [ComponentType.InsetText]: ShortAnswerQuestion,\n [ComponentType.Html]: ShortAnswerQuestion,\n [ComponentType.Markdown]: Markdown,\n [ComponentType.List]: ListQuestion,\n [ComponentType.EmailAddressField]: EmailAddressQuestion,\n [ComponentType.NumberField]: NumberOnlyQuestion,\n [ComponentType.MultilineTextField]: LongAnswerQuestion,\n [ComponentType.TelephoneNumberField]: PhoneNumberQuestion,\n [ComponentType.MonthYearField]: MonthYearQuestion,\n [ComponentType.DatePartsField]: DateInputQuestion,\n [ComponentType.UkAddressField]: UkAddressQuestion,\n [ComponentType.AutocompleteField]: AutocompleteListQuestion,\n [ComponentType.RadiosField]: RadioQuestion,\n [ComponentType.CheckboxesField]: CheckboxQuestion,\n [ComponentType.SelectField]: SelectQuestion,\n [ComponentType.YesNoField]: YesNoQuestion,\n [ComponentType.DeclarationField]: DeclarationQuestion,\n [ComponentType.FileUploadField]: SupportingEvidenceQuestion,\n [ComponentType.EastingNorthingField]: EastingNorthingQuestion,\n [ComponentType.OsGridRefField]: OsGridRefQuestion,\n [ComponentType.NationalGridFieldNumberField]: NationalGridQuestion,\n [ComponentType.LatLongField]: LatLongQuestion\n}\n\n/**\n * @type {Partial<Record<ComponentType, (component: ComponentDef, definition: FormDefinition ) => QuestionElements>>}\n */\nconst ComponentToPreviewQuestion = {\n [ComponentType.AutocompleteField]: (component, definition) => {\n const componentCoerced = /** @type {AutocompleteFieldComponent} */ (\n component\n )\n const list = findDefinitionListFromComponent(componentCoerced, definition)\n return new SelectComponentElements(componentCoerced, list)\n },\n [ComponentType.SelectField]: (component, definition) => {\n const componentCoerced = /** @type {SelectFieldComponent} */ (component)\n const list = findDefinitionListFromComponent(componentCoerced, definition)\n return new SelectComponentElements(componentCoerced, list)\n },\n [ComponentType.UkAddressField]: (component, _definition) => {\n const componentCoerced = /** @type {UkAddressFieldComponent} */ (component)\n return new UkAddressComponentPreviewElements(componentCoerced)\n },\n [ComponentType.NumberField]: (component, _definition) => {\n const componentCoerced = /** @type {NumberFieldComponent} */ (component)\n return new NumberComponentPreviewElements(componentCoerced)\n },\n [ComponentType.DeclarationField]: (component, _definition) => {\n const componentCoerced = /** @type {DeclarationFieldComponent} */ (\n component\n )\n return new DeclarationComponentPreviewElements(componentCoerced)\n },\n [ComponentType.YesNoField]: (component, _definition) => {\n const componentCoerced = /** @type {YesNoFieldComponent} */ (component)\n return new QuestionComponentElements(componentCoerced)\n },\n [ComponentType.EastingNorthingField]: (component, _definition) => {\n const componentCoerced = /** @type {EastingNorthingFieldComponent} */ (\n component\n )\n return new EastingNorthingComponentPreviewElements(componentCoerced)\n },\n [ComponentType.OsGridRefField]: (component, _definition) => {\n const componentCoerced = /** @type {OsGridRefFieldComponent} */ (component)\n return new OsGridRefComponentPreviewElements(componentCoerced)\n },\n [ComponentType.NationalGridFieldNumberField]: (component, _definition) => {\n const componentCoerced =\n /** @type {NationalGridFieldNumberFieldComponent} */ (component)\n return new NationalGridComponentPreviewElements(componentCoerced)\n },\n [ComponentType.LatLongField]: (component, _definition) => {\n const componentCoerced = /** @type {LatLongFieldComponent} */ (component)\n return new LatLongComponentPreviewElements(componentCoerced)\n }\n}\n\n/**\n * @param {QuestionRenderer} questionRenderer\n * @param {FormDefinition} definition\n * @returns {(component: ComponentDef) => Question}\n */\nexport function mapComponentToPreviewQuestion(questionRenderer, definition) {\n return /** @type {(component: ComponentDef) => Question} */ (\n (component) => {\n /**\n * @type {QuestionElements}\n */\n let questionElements\n\n // Look for one-to-one mapping first, then fallback if not found\n const getQuestionElementsFunc = ComponentToPreviewQuestion[component.type]\n if (getQuestionElementsFunc) {\n questionElements = getQuestionElementsFunc(component, definition)\n } else if (hasSelectionFields(component) && hasListField(component)) {\n const list = findDefinitionListFromComponent(component, definition)\n questionElements = new ListComponentElements(component, list)\n } else if (hasInputField(component)) {\n questionElements = new QuestionComponentElements(component)\n } else if (hasContentField(component)) {\n questionElements = new ContentElements(component)\n } else {\n questionElements = new ComponentElements(component)\n }\n\n const QuestionConstructor = InputFieldComponentDictionary[component.type]\n\n const previewComponent = new QuestionConstructor(\n questionElements,\n questionRenderer\n )\n previewComponent.id = component.id\n return previewComponent\n }\n )\n}\n\n/**\n * @import { QuestionElements, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'\n * @import { Question } from '~/src/form/form-editor/preview/question.js'\n * @import { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'\n * @import { FormDefinition } from '~/src/form/form-definition/types.js'\n * @import { AutocompleteFieldComponent, ComponentDef, DeclarationFieldComponent, EastingNorthingFieldComponent, LatLongFieldComponent, NationalGridFieldNumberFieldComponent, NumberFieldComponent, OsGridRefFieldComponent, SelectFieldComponent, UkAddressFieldComponent, YesNoFieldComponent } from '~/src/components/types.js'\n */\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["ComponentType","hasContentField","hasInputField","hasListField","hasSelectionFields","AutocompleteListQuestion","CheckboxQuestion","ComponentElements","ContentElements","DateInputQuestion","DeclarationComponentPreviewElements","DeclarationQuestion","EastingNorthingComponentPreviewElements","EastingNorthingQuestion","EmailAddressQuestion","HiddenQuestion","LatLongComponentPreviewElements","LatLongQuestion","ListComponentElements","ListQuestion","SelectComponentElements","LongAnswerQuestion","Markdown","MonthYearQuestion","NationalGridComponentPreviewElements","NationalGridQuestion","NumberComponentPreviewElements","NumberOnlyQuestion","OsGridRefComponentPreviewElements","OsGridRefQuestion","PhoneNumberQuestion","QuestionComponentElements","RadioQuestion","SelectQuestion","ShortAnswerQuestion","SupportingEvidenceQuestion","UkAddressComponentPreviewElements","UkAddressQuestion","YesNoQuestion","findDefinitionListFromComponent","InputFieldComponentDictionary","TextField","Details","InsetText","Html","List","EmailAddressField","NumberField","MultilineTextField","TelephoneNumberField","MonthYearField","DatePartsField","UkAddressField","AutocompleteField","RadiosField","CheckboxesField","SelectField","YesNoField","DeclarationField","FileUploadField","EastingNorthingField","OsGridRefField","NationalGridFieldNumberField","LatLongField","HiddenField","ComponentToPreviewQuestion","component","definition","componentCoerced","list","_definition","mapComponentToPreviewQuestion","questionRenderer","questionElements","getQuestionElementsFunc","type","QuestionConstructor","previewComponent","id"],"sources":["../../../../../src/form/form-editor/preview/helpers.js"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport {\n hasContentField,\n hasInputField,\n hasListField,\n hasSelectionFields\n} from '~/src/components/helpers.js'\nimport { AutocompleteListQuestion } from '~/src/form/form-editor/preview/autocomplete.js'\nimport { CheckboxQuestion } from '~/src/form/form-editor/preview/checkbox.js'\nimport { ComponentElements } from '~/src/form/form-editor/preview/component-elements.js'\nimport { ContentElements } from '~/src/form/form-editor/preview/content.js'\nimport { DateInputQuestion } from '~/src/form/form-editor/preview/date-input.js'\nimport {\n DeclarationComponentPreviewElements,\n DeclarationQuestion\n} from '~/src/form/form-editor/preview/declaration.js'\nimport {\n EastingNorthingComponentPreviewElements,\n EastingNorthingQuestion\n} from '~/src/form/form-editor/preview/easting-northing.js'\nimport { EmailAddressQuestion } from '~/src/form/form-editor/preview/email-address.js'\nimport { HiddenQuestion } from '~/src/form/form-editor/preview/hidden.js'\nimport {\n LatLongComponentPreviewElements,\n LatLongQuestion\n} from '~/src/form/form-editor/preview/lat-long.js'\nimport {\n ListComponentElements,\n ListQuestion,\n SelectComponentElements\n} from '~/src/form/form-editor/preview/list.js'\nimport { LongAnswerQuestion } from '~/src/form/form-editor/preview/long-answer.js'\nimport { Markdown } from '~/src/form/form-editor/preview/markdown.js'\nimport { MonthYearQuestion } from '~/src/form/form-editor/preview/month-year.js'\nimport {\n NationalGridComponentPreviewElements,\n NationalGridQuestion\n} from '~/src/form/form-editor/preview/national-grid.js'\nimport {\n NumberComponentPreviewElements,\n NumberOnlyQuestion\n} from '~/src/form/form-editor/preview/number-only.js'\nimport {\n OsGridRefComponentPreviewElements,\n OsGridRefQuestion\n} from '~/src/form/form-editor/preview/os-grid-ref.js'\nimport { PhoneNumberQuestion } from '~/src/form/form-editor/preview/phone-number.js'\nimport { QuestionComponentElements } from '~/src/form/form-editor/preview/question.js'\nimport { RadioQuestion } from '~/src/form/form-editor/preview/radio.js'\nimport { SelectQuestion } from '~/src/form/form-editor/preview/select.js'\nimport { ShortAnswerQuestion } from '~/src/form/form-editor/preview/short-answer.js'\nimport { SupportingEvidenceQuestion } from '~/src/form/form-editor/preview/supporting-evidence.js'\nimport {\n UkAddressComponentPreviewElements,\n UkAddressQuestion\n} from '~/src/form/form-editor/preview/uk-address.js'\nimport { YesNoQuestion } from '~/src/form/form-editor/preview/yes-no.js'\nimport { findDefinitionListFromComponent } from '~/src/form/utils/list.js'\n/**\n * @type {Record<ComponentType, typeof PreviewComponent>}\n */\nconst InputFieldComponentDictionary = {\n [ComponentType.TextField]: ShortAnswerQuestion,\n [ComponentType.Details]: ShortAnswerQuestion,\n [ComponentType.InsetText]: ShortAnswerQuestion,\n [ComponentType.Html]: ShortAnswerQuestion,\n [ComponentType.Markdown]: Markdown,\n [ComponentType.List]: ListQuestion,\n [ComponentType.EmailAddressField]: EmailAddressQuestion,\n [ComponentType.NumberField]: NumberOnlyQuestion,\n [ComponentType.MultilineTextField]: LongAnswerQuestion,\n [ComponentType.TelephoneNumberField]: PhoneNumberQuestion,\n [ComponentType.MonthYearField]: MonthYearQuestion,\n [ComponentType.DatePartsField]: DateInputQuestion,\n [ComponentType.UkAddressField]: UkAddressQuestion,\n [ComponentType.AutocompleteField]: AutocompleteListQuestion,\n [ComponentType.RadiosField]: RadioQuestion,\n [ComponentType.CheckboxesField]: CheckboxQuestion,\n [ComponentType.SelectField]: SelectQuestion,\n [ComponentType.YesNoField]: YesNoQuestion,\n [ComponentType.DeclarationField]: DeclarationQuestion,\n [ComponentType.FileUploadField]: SupportingEvidenceQuestion,\n [ComponentType.EastingNorthingField]: EastingNorthingQuestion,\n [ComponentType.OsGridRefField]: OsGridRefQuestion,\n [ComponentType.NationalGridFieldNumberField]: NationalGridQuestion,\n [ComponentType.LatLongField]: LatLongQuestion,\n [ComponentType.HiddenField]: HiddenQuestion\n}\n\n/**\n * @type {Partial<Record<ComponentType, (component: ComponentDef, definition: FormDefinition ) => QuestionElements>>}\n */\nconst ComponentToPreviewQuestion = {\n [ComponentType.AutocompleteField]: (component, definition) => {\n const componentCoerced = /** @type {AutocompleteFieldComponent} */ (\n component\n )\n const list = findDefinitionListFromComponent(componentCoerced, definition)\n return new SelectComponentElements(componentCoerced, list)\n },\n [ComponentType.SelectField]: (component, definition) => {\n const componentCoerced = /** @type {SelectFieldComponent} */ (component)\n const list = findDefinitionListFromComponent(componentCoerced, definition)\n return new SelectComponentElements(componentCoerced, list)\n },\n [ComponentType.UkAddressField]: (component, _definition) => {\n const componentCoerced = /** @type {UkAddressFieldComponent} */ (component)\n return new UkAddressComponentPreviewElements(componentCoerced)\n },\n [ComponentType.NumberField]: (component, _definition) => {\n const componentCoerced = /** @type {NumberFieldComponent} */ (component)\n return new NumberComponentPreviewElements(componentCoerced)\n },\n [ComponentType.DeclarationField]: (component, _definition) => {\n const componentCoerced = /** @type {DeclarationFieldComponent} */ (\n component\n )\n return new DeclarationComponentPreviewElements(componentCoerced)\n },\n [ComponentType.YesNoField]: (component, _definition) => {\n const componentCoerced = /** @type {YesNoFieldComponent} */ (component)\n return new QuestionComponentElements(componentCoerced)\n },\n [ComponentType.EastingNorthingField]: (component, _definition) => {\n const componentCoerced = /** @type {EastingNorthingFieldComponent} */ (\n component\n )\n return new EastingNorthingComponentPreviewElements(componentCoerced)\n },\n [ComponentType.OsGridRefField]: (component, _definition) => {\n const componentCoerced = /** @type {OsGridRefFieldComponent} */ (component)\n return new OsGridRefComponentPreviewElements(componentCoerced)\n },\n [ComponentType.NationalGridFieldNumberField]: (component, _definition) => {\n const componentCoerced =\n /** @type {NationalGridFieldNumberFieldComponent} */ (component)\n return new NationalGridComponentPreviewElements(componentCoerced)\n },\n [ComponentType.LatLongField]: (component, _definition) => {\n const componentCoerced = /** @type {LatLongFieldComponent} */ (component)\n return new LatLongComponentPreviewElements(componentCoerced)\n }\n}\n\n/**\n * @param {QuestionRenderer} questionRenderer\n * @param {FormDefinition} definition\n * @returns {(component: ComponentDef) => Question}\n */\nexport function mapComponentToPreviewQuestion(questionRenderer, definition) {\n return /** @type {(component: ComponentDef) => Question} */ (\n (component) => {\n /**\n * @type {QuestionElements}\n */\n let questionElements\n\n // Look for one-to-one mapping first, then fallback if not found\n const getQuestionElementsFunc = ComponentToPreviewQuestion[component.type]\n if (getQuestionElementsFunc) {\n questionElements = getQuestionElementsFunc(component, definition)\n } else if (hasSelectionFields(component) && hasListField(component)) {\n const list = findDefinitionListFromComponent(component, definition)\n questionElements = new ListComponentElements(component, list)\n } else if (hasInputField(component)) {\n questionElements = new QuestionComponentElements(component)\n } else if (hasContentField(component)) {\n questionElements = new ContentElements(component)\n } else {\n questionElements = new ComponentElements(component)\n }\n\n const QuestionConstructor = InputFieldComponentDictionary[component.type]\n\n const previewComponent = new QuestionConstructor(\n questionElements,\n questionRenderer\n )\n previewComponent.id = component.id\n return previewComponent\n }\n )\n}\n\n/**\n * @import { QuestionElements, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'\n * @import { Question } from '~/src/form/form-editor/preview/question.js'\n * @import { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'\n * @import { FormDefinition } from '~/src/form/form-definition/types.js'\n * @import { AutocompleteFieldComponent, ComponentDef, DeclarationFieldComponent, EastingNorthingFieldComponent, LatLongFieldComponent, NationalGridFieldNumberFieldComponent, NumberFieldComponent, OsGridRefFieldComponent, SelectFieldComponent, UkAddressFieldComponent, YesNoFieldComponent } from '~/src/components/types.js'\n */\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { ComponentType } from "../../../components/enums.js";
2
+ import { Question } from "./question.js";
3
+ export class HiddenQuestion extends Question {
4
+ /**
5
+ * @type {ComponentType}
6
+ */
7
+ componentType = ComponentType.HiddenField;
8
+ }
9
+ //# sourceMappingURL=hidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden.js","names":["ComponentType","Question","HiddenQuestion","componentType","HiddenField"],"sources":["../../../../../src/form/form-editor/preview/hidden.js"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { Question } from '~/src/form/form-editor/preview/question.js'\n\nexport class HiddenQuestion extends Question {\n /**\n * @type {ComponentType}\n */\n componentType = ComponentType.HiddenField\n}\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,QAAQ;AAEjB,OAAO,MAAMC,cAAc,SAASD,QAAQ,CAAC;EAC3C;AACF;AACA;EACEE,aAAa,GAAGH,aAAa,CAACI,WAAW;AAC3C","ignoreList":[]}
@@ -25,6 +25,7 @@ export * from "./supporting-evidence.js";
25
25
  export * from "./long-answer.js";
26
26
  export * from "./uk-address.js";
27
27
  export * from "./yes-no.js";
28
+ export * from "./hidden.js";
28
29
  export * from "./controller/page-controller-base.js";
29
30
  export * from "./controller/page-controller.js";
30
31
  export * from "./controller/guidance-page-controller.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/form/form-editor/preview/index.js"],"sourcesContent":["export * from '~/src/form/form-editor/preview/autocomplete.js'\nexport * from '~/src/form/form-editor/preview/checkbox.js'\nexport * from '~/src/form/form-editor/preview/checkbox-sortable.js'\nexport * from '~/src/form/form-editor/preview/date-input.js'\nexport * from '~/src/form/form-editor/preview/declaration.js'\nexport * from '~/src/form/form-editor/preview/easting-northing.js'\nexport * from '~/src/form/form-editor/preview/email-address.js'\nexport * from '~/src/form/form-editor/preview/lat-long.js'\nexport * from '~/src/form/form-editor/preview/list.js'\nexport * from '~/src/form/form-editor/preview/list-sortable.js'\nexport * from '~/src/form/form-editor/preview/markdown.js'\nexport * from '~/src/form/form-editor/preview/month-year.js'\nexport * from '~/src/form/form-editor/preview/national-grid.js'\nexport * from '~/src/form/form-editor/preview/number-only.js'\nexport * from '~/src/form/form-editor/preview/os-grid-ref.js'\nexport * from '~/src/form/form-editor/preview/phone-number.js'\nexport * from '~/src/form/form-editor/preview/question.js'\nexport * from '~/src/form/form-editor/preview/radio.js'\nexport * from '~/src/form/form-editor/preview/radio-sortable.js'\nexport * from '~/src/form/form-editor/preview/select-sortable.js'\nexport * from '~/src/form/form-editor/preview/short-answer.js'\nexport * from '~/src/form/form-editor/preview/select.js'\nexport * from '~/src/form/form-editor/preview/select-sortable.js'\nexport * from '~/src/form/form-editor/preview/supporting-evidence.js'\nexport * from '~/src/form/form-editor/preview/long-answer.js'\nexport * from '~/src/form/form-editor/preview/uk-address.js'\nexport * from '~/src/form/form-editor/preview/yes-no.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller-base.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/guidance-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/summary-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/reorder-questions-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller-base.js'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/form/form-editor/preview/index.js"],"sourcesContent":["export * from '~/src/form/form-editor/preview/autocomplete.js'\nexport * from '~/src/form/form-editor/preview/checkbox.js'\nexport * from '~/src/form/form-editor/preview/checkbox-sortable.js'\nexport * from '~/src/form/form-editor/preview/date-input.js'\nexport * from '~/src/form/form-editor/preview/declaration.js'\nexport * from '~/src/form/form-editor/preview/easting-northing.js'\nexport * from '~/src/form/form-editor/preview/email-address.js'\nexport * from '~/src/form/form-editor/preview/lat-long.js'\nexport * from '~/src/form/form-editor/preview/list.js'\nexport * from '~/src/form/form-editor/preview/list-sortable.js'\nexport * from '~/src/form/form-editor/preview/markdown.js'\nexport * from '~/src/form/form-editor/preview/month-year.js'\nexport * from '~/src/form/form-editor/preview/national-grid.js'\nexport * from '~/src/form/form-editor/preview/number-only.js'\nexport * from '~/src/form/form-editor/preview/os-grid-ref.js'\nexport * from '~/src/form/form-editor/preview/phone-number.js'\nexport * from '~/src/form/form-editor/preview/question.js'\nexport * from '~/src/form/form-editor/preview/radio.js'\nexport * from '~/src/form/form-editor/preview/radio-sortable.js'\nexport * from '~/src/form/form-editor/preview/select-sortable.js'\nexport * from '~/src/form/form-editor/preview/short-answer.js'\nexport * from '~/src/form/form-editor/preview/select.js'\nexport * from '~/src/form/form-editor/preview/select-sortable.js'\nexport * from '~/src/form/form-editor/preview/supporting-evidence.js'\nexport * from '~/src/form/form-editor/preview/long-answer.js'\nexport * from '~/src/form/form-editor/preview/uk-address.js'\nexport * from '~/src/form/form-editor/preview/yes-no.js'\nexport * from '~/src/form/form-editor/preview/hidden.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller-base.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/guidance-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/summary-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/reorder-questions-page-controller.js'\nexport * from '~/src/form/form-editor/preview/controller/page-controller-base.js'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -33,7 +33,9 @@ export class Markdown extends Content {
33
33
  const {
34
34
  content
35
35
  } = htmlElements.values;
36
- this._content = markdownToHtml(content);
36
+ this._content = markdownToHtml(content, {
37
+ startingHeaderLevel: 2
38
+ });
37
39
  }
38
40
 
39
41
  /**
@@ -41,7 +43,9 @@ export class Markdown extends Content {
41
43
  * @protected
42
44
  */
43
45
  _setContent(value) {
44
- super._setContent(markdownToHtml(value));
46
+ super._setContent(markdownToHtml(value, {
47
+ startingHeaderLevel: 2
48
+ }));
45
49
  }
46
50
  }
47
51
 
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","names":["ComponentType","Content","PreviewComponent","markdownToHtml","Markdown","_fieldName","componentType","_questionTemplate","PATH","constructor","htmlElements","questionRenderer","content","values","_content","_setContent","value"],"sources":["../../../../../src/form/form-editor/preview/markdown.js"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { Content } from '~/src/form/form-editor/preview/content.js'\nimport { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'\nimport { markdownToHtml } from '~/src/utils/markdown.js'\n\n/**\n * @class Markdown\n * @classdesc\n * Base of Content preview classes\n */\nexport class Markdown extends Content {\n /**\n * @type {string}\n * @protected\n */\n _fieldName = 'markdown'\n /**\n * @type {ComponentType}\n */\n componentType = ComponentType.Markdown\n\n /**\n * @type {string}\n * @protected\n */\n _questionTemplate = PreviewComponent.PATH + 'markdown.njk'\n /**\n * @param {QuestionElements} htmlElements\n * @param {QuestionRenderer} questionRenderer\n */\n constructor(htmlElements, questionRenderer) {\n super(htmlElements, questionRenderer)\n const { content } = htmlElements.values\n this._content = markdownToHtml(content)\n }\n\n /**\n * @param {string} value\n * @protected\n */\n _setContent(value) {\n super._setContent(markdownToHtml(value))\n }\n}\n\n/**\n * @import { ListenerRow, BaseSettings, QuestionElements, QuestionBaseModel, GovukFieldset, DefaultComponent, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'\n * @import { FormComponentsDef, ContentComponentsDef, ComponentDef } from '~/src/components/types.js'\n * @import { ListElement, ListItemReadonly } from '~/src/form/form-editor/types.js'\n */\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,OAAO;AAChB,SAASC,gBAAgB;AACzB,SAASC,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,SAASH,OAAO,CAAC;EACpC;AACF;AACA;AACA;EACEI,UAAU,GAAG,UAAU;EACvB;AACF;AACA;EACEC,aAAa,GAAGN,aAAa,CAACI,QAAQ;;EAEtC;AACF;AACA;AACA;EACEG,iBAAiB,GAAGL,gBAAgB,CAACM,IAAI,GAAG,cAAc;EAC1D;AACF;AACA;AACA;EACEC,WAAWA,CAACC,YAAY,EAAEC,gBAAgB,EAAE;IAC1C,KAAK,CAACD,YAAY,EAAEC,gBAAgB,CAAC;IACrC,MAAM;MAAEC;IAAQ,CAAC,GAAGF,YAAY,CAACG,MAAM;IACvC,IAAI,CAACC,QAAQ,GAAGX,cAAc,CAACS,OAAO,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEG,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACD,WAAW,CAACZ,cAAc,CAACa,KAAK,CAAC,CAAC;EAC1C;AACF;;AAEA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"markdown.js","names":["ComponentType","Content","PreviewComponent","markdownToHtml","Markdown","_fieldName","componentType","_questionTemplate","PATH","constructor","htmlElements","questionRenderer","content","values","_content","startingHeaderLevel","_setContent","value"],"sources":["../../../../../src/form/form-editor/preview/markdown.js"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport { Content } from '~/src/form/form-editor/preview/content.js'\nimport { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'\nimport { markdownToHtml } from '~/src/utils/markdown.js'\n\n/**\n * @class Markdown\n * @classdesc\n * Base of Content preview classes\n */\nexport class Markdown extends Content {\n /**\n * @type {string}\n * @protected\n */\n _fieldName = 'markdown'\n /**\n * @type {ComponentType}\n */\n componentType = ComponentType.Markdown\n\n /**\n * @type {string}\n * @protected\n */\n _questionTemplate = PreviewComponent.PATH + 'markdown.njk'\n /**\n * @param {QuestionElements} htmlElements\n * @param {QuestionRenderer} questionRenderer\n */\n constructor(htmlElements, questionRenderer) {\n super(htmlElements, questionRenderer)\n const { content } = htmlElements.values\n this._content = markdownToHtml(content, { startingHeaderLevel: 2 })\n }\n\n /**\n * @param {string} value\n * @protected\n */\n _setContent(value) {\n super._setContent(markdownToHtml(value, { startingHeaderLevel: 2 }))\n }\n}\n\n/**\n * @import { ListenerRow, BaseSettings, QuestionElements, QuestionBaseModel, GovukFieldset, DefaultComponent, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'\n * @import { FormComponentsDef, ContentComponentsDef, ComponentDef } from '~/src/components/types.js'\n * @import { ListElement, ListItemReadonly } from '~/src/form/form-editor/types.js'\n */\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,OAAO;AAChB,SAASC,gBAAgB;AACzB,SAASC,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,SAASH,OAAO,CAAC;EACpC;AACF;AACA;AACA;EACEI,UAAU,GAAG,UAAU;EACvB;AACF;AACA;EACEC,aAAa,GAAGN,aAAa,CAACI,QAAQ;;EAEtC;AACF;AACA;AACA;EACEG,iBAAiB,GAAGL,gBAAgB,CAACM,IAAI,GAAG,cAAc;EAC1D;AACF;AACA;AACA;EACEC,WAAWA,CAACC,YAAY,EAAEC,gBAAgB,EAAE;IAC1C,KAAK,CAACD,YAAY,EAAEC,gBAAgB,CAAC;IACrC,MAAM;MAAEC;IAAQ,CAAC,GAAGF,YAAY,CAACG,MAAM;IACvC,IAAI,CAACC,QAAQ,GAAGX,cAAc,CAACS,OAAO,EAAE;MAAEG,mBAAmB,EAAE;IAAE,CAAC,CAAC;EACrE;;EAEA;AACF;AACA;AACA;EACEC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACD,WAAW,CAACb,cAAc,CAACc,KAAK,EAAE;MAAEF,mBAAmB,EAAE;IAAE,CAAC,CAAC,CAAC;EACtE;AACF;;AAEA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -19,11 +19,17 @@ function renderLink(href, text, baseUrl) {
19
19
  const label = !isLocalLink ? `${text} (opens in new tab)` : text;
20
20
  return `<a ${attrs.join(' ')}>${label}</a>`;
21
21
  }
22
+ function demoteHeading(text, depth, startingHeaderLevel) {
23
+ // Max heading is h6 so don't demote further than that
24
+ depth = Math.min(depth + startingHeaderLevel - 1, 6);
25
+ return `<h${depth}>${text}</h${depth}>
26
+ `;
27
+ }
22
28
 
23
29
  /**
24
30
  * Convert markdown to HTML, escaping any HTML tags first
25
31
  */
26
- export function markdownToHtml(markdown, baseUrl) {
32
+ export function markdownToHtml(markdown, options) {
27
33
  if (markdown === undefined || markdown === null) {
28
34
  return '';
29
35
  }
@@ -33,8 +39,16 @@ export function markdownToHtml(markdown, baseUrl) {
33
39
  href,
34
40
  text
35
41
  }) => {
36
- return renderLink(href, text, baseUrl);
42
+ return renderLink(href, text, options?.baseUrl);
37
43
  };
44
+ if (options?.startingHeaderLevel) {
45
+ renderer.heading = ({
46
+ text,
47
+ depth
48
+ }) => {
49
+ return demoteHeading(text, depth, options.startingHeaderLevel ?? 1);
50
+ };
51
+ }
38
52
  return marked.parse(escaped, {
39
53
  async: false,
40
54
  renderer
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","names":["Marked","Renderer","marked","breaks","gfm","renderLink","href","text","baseUrl","isLocalLink","startsWith","attrs","push","label","join","markdownToHtml","markdown","undefined","escaped","replace","renderer","link","parse","async"],"sources":["../../../src/utils/markdown.ts"],"sourcesContent":["import { Marked, Renderer, type Tokens } from 'marked'\n\n/**\n * Marked instance (avoids global option/extension scope)\n */\nexport const marked = new Marked({\n breaks: true,\n gfm: true\n})\n\nfunction renderLink(href: string, text: string, baseUrl?: string) {\n let isLocalLink = true\n\n if (baseUrl) {\n isLocalLink = href.startsWith(baseUrl) || href.startsWith('mailto:')\n }\n\n const attrs = [`class=\"govuk-link\"`, `href=\"${href}\"`]\n\n if (!isLocalLink) {\n attrs.push(`target=\"_blank\" rel=\"noreferrer noopener\"`)\n }\n\n const label = !isLocalLink ? `${text} (opens in new tab)` : text\n\n return `<a ${attrs.join(' ')}>${label}</a>`\n}\n\n/**\n * Convert markdown to HTML, escaping any HTML tags first\n */\nexport function markdownToHtml(\n markdown: string | null | undefined,\n baseUrl?: string // optional in some contexts, e.g. from the designer where it might not make sense\n) {\n if (markdown === undefined || markdown === null) {\n return ''\n }\n\n const escaped = markdown\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;')\n\n const renderer = new Renderer()\n renderer.link = ({ href, text }: Tokens.Link): string => {\n return renderLink(href, text, baseUrl)\n }\n\n return marked.parse(escaped, { async: false, renderer })\n}\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,QAAQ,QAAqB,QAAQ;;AAEtD;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAG,IAAIF,MAAM,CAAC;EAC/BG,MAAM,EAAE,IAAI;EACZC,GAAG,EAAE;AACP,CAAC,CAAC;AAEF,SAASC,UAAUA,CAACC,IAAY,EAAEC,IAAY,EAAEC,OAAgB,EAAE;EAChE,IAAIC,WAAW,GAAG,IAAI;EAEtB,IAAID,OAAO,EAAE;IACXC,WAAW,GAAGH,IAAI,CAACI,UAAU,CAACF,OAAO,CAAC,IAAIF,IAAI,CAACI,UAAU,CAAC,SAAS,CAAC;EACtE;EAEA,MAAMC,KAAK,GAAG,CAAC,oBAAoB,EAAE,SAASL,IAAI,GAAG,CAAC;EAEtD,IAAI,CAACG,WAAW,EAAE;IAChBE,KAAK,CAACC,IAAI,CAAC,2CAA2C,CAAC;EACzD;EAEA,MAAMC,KAAK,GAAG,CAACJ,WAAW,GAAG,GAAGF,IAAI,qBAAqB,GAAGA,IAAI;EAEhE,OAAO,MAAMI,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,IAAID,KAAK,MAAM;AAC7C;;AAEA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,QAAmC,EACnCR,OAAgB,EAChB;EACA,IAAIQ,QAAQ,KAAKC,SAAS,IAAID,QAAQ,KAAK,IAAI,EAAE;IAC/C,OAAO,EAAE;EACX;EAEA,MAAME,OAAO,GAAGF,QAAQ,CACrBG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CACtBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvBA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;EAEzB,MAAMC,QAAQ,GAAG,IAAInB,QAAQ,CAAC,CAAC;EAC/BmB,QAAQ,CAACC,IAAI,GAAG,CAAC;IAAEf,IAAI;IAAEC;EAAkB,CAAC,KAAa;IACvD,OAAOF,UAAU,CAACC,IAAI,EAAEC,IAAI,EAAEC,OAAO,CAAC;EACxC,CAAC;EAED,OAAON,MAAM,CAACoB,KAAK,CAACJ,OAAO,EAAE;IAAEK,KAAK,EAAE,KAAK;IAAEH;EAAS,CAAC,CAAC;AAC1D","ignoreList":[]}
1
+ {"version":3,"file":"markdown.js","names":["Marked","Renderer","marked","breaks","gfm","renderLink","href","text","baseUrl","isLocalLink","startsWith","attrs","push","label","join","demoteHeading","depth","startingHeaderLevel","Math","min","markdownToHtml","markdown","options","undefined","escaped","replace","renderer","link","heading","parse","async"],"sources":["../../../src/utils/markdown.ts"],"sourcesContent":["import { Marked, Renderer, type Tokens } from 'marked'\n\n/**\n * Marked instance (avoids global option/extension scope)\n */\nexport const marked = new Marked({\n breaks: true,\n gfm: true\n})\n\nfunction renderLink(href: string, text: string, baseUrl?: string) {\n let isLocalLink = true\n\n if (baseUrl) {\n isLocalLink = href.startsWith(baseUrl) || href.startsWith('mailto:')\n }\n\n const attrs = [`class=\"govuk-link\"`, `href=\"${href}\"`]\n\n if (!isLocalLink) {\n attrs.push(`target=\"_blank\" rel=\"noreferrer noopener\"`)\n }\n\n const label = !isLocalLink ? `${text} (opens in new tab)` : text\n\n return `<a ${attrs.join(' ')}>${label}</a>`\n}\n\nfunction demoteHeading(\n text: string,\n depth: number,\n startingHeaderLevel: number\n) {\n // Max heading is h6 so don't demote further than that\n depth = Math.min(depth + startingHeaderLevel - 1, 6)\n return `<h${depth}>${text}</h${depth}>\n`\n}\n\n/**\n * Convert markdown to HTML, escaping any HTML tags first\n */\nexport function markdownToHtml(\n markdown: string | null | undefined,\n options?: {\n baseUrl?: string // optional in some contexts, e.g. from the designer where it might not make sense,\n startingHeaderLevel?: number\n }\n) {\n if (markdown === undefined || markdown === null) {\n return ''\n }\n\n const escaped = markdown\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;')\n\n const renderer = new Renderer()\n renderer.link = ({ href, text }: Tokens.Link): string => {\n return renderLink(href, text, options?.baseUrl)\n }\n if (options?.startingHeaderLevel) {\n renderer.heading = ({ text, depth }: Tokens.Heading): string => {\n return demoteHeading(text, depth, options.startingHeaderLevel ?? 1)\n }\n }\n return marked.parse(escaped, { async: false, renderer })\n}\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,QAAQ,QAAqB,QAAQ;;AAEtD;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAG,IAAIF,MAAM,CAAC;EAC/BG,MAAM,EAAE,IAAI;EACZC,GAAG,EAAE;AACP,CAAC,CAAC;AAEF,SAASC,UAAUA,CAACC,IAAY,EAAEC,IAAY,EAAEC,OAAgB,EAAE;EAChE,IAAIC,WAAW,GAAG,IAAI;EAEtB,IAAID,OAAO,EAAE;IACXC,WAAW,GAAGH,IAAI,CAACI,UAAU,CAACF,OAAO,CAAC,IAAIF,IAAI,CAACI,UAAU,CAAC,SAAS,CAAC;EACtE;EAEA,MAAMC,KAAK,GAAG,CAAC,oBAAoB,EAAE,SAASL,IAAI,GAAG,CAAC;EAEtD,IAAI,CAACG,WAAW,EAAE;IAChBE,KAAK,CAACC,IAAI,CAAC,2CAA2C,CAAC;EACzD;EAEA,MAAMC,KAAK,GAAG,CAACJ,WAAW,GAAG,GAAGF,IAAI,qBAAqB,GAAGA,IAAI;EAEhE,OAAO,MAAMI,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,IAAID,KAAK,MAAM;AAC7C;AAEA,SAASE,aAAaA,CACpBR,IAAY,EACZS,KAAa,EACbC,mBAA2B,EAC3B;EACA;EACAD,KAAK,GAAGE,IAAI,CAACC,GAAG,CAACH,KAAK,GAAGC,mBAAmB,GAAG,CAAC,EAAE,CAAC,CAAC;EACpD,OAAO,KAAKD,KAAK,IAAIT,IAAI,MAAMS,KAAK;AACtC,CAAC;AACD;;AAEA;AACA;AACA;AACA,OAAO,SAASI,cAAcA,CAC5BC,QAAmC,EACnCC,OAGC,EACD;EACA,IAAID,QAAQ,KAAKE,SAAS,IAAIF,QAAQ,KAAK,IAAI,EAAE;IAC/C,OAAO,EAAE;EACX;EAEA,MAAMG,OAAO,GAAGH,QAAQ,CACrBI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CACtBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvBA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;EAEzB,MAAMC,QAAQ,GAAG,IAAIzB,QAAQ,CAAC,CAAC;EAC/ByB,QAAQ,CAACC,IAAI,GAAG,CAAC;IAAErB,IAAI;IAAEC;EAAkB,CAAC,KAAa;IACvD,OAAOF,UAAU,CAACC,IAAI,EAAEC,IAAI,EAAEe,OAAO,EAAEd,OAAO,CAAC;EACjD,CAAC;EACD,IAAIc,OAAO,EAAEL,mBAAmB,EAAE;IAChCS,QAAQ,CAACE,OAAO,GAAG,CAAC;MAAErB,IAAI;MAAES;IAAsB,CAAC,KAAa;MAC9D,OAAOD,aAAa,CAACR,IAAI,EAAES,KAAK,EAAEM,OAAO,CAACL,mBAAmB,IAAI,CAAC,CAAC;IACrE,CAAC;EACH;EACA,OAAOf,MAAM,CAAC2B,KAAK,CAACL,OAAO,EAAE;IAAEM,KAAK,EAAE,KAAK;IAAEJ;EAAS,CAAC,CAAC;AAC1D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAgLhD,CAAA"}
1
+ {"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAwLhD,CAAA"}
@@ -22,6 +22,7 @@ export declare enum ComponentType {
22
22
  EastingNorthingField = "EastingNorthingField",
23
23
  OsGridRefField = "OsGridRefField",
24
24
  NationalGridFieldNumberField = "NationalGridFieldNumberField",
25
- LatLongField = "LatLongField"
25
+ LatLongField = "LatLongField",
26
+ HiddenField = "HiddenField"
26
27
  }
27
28
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/components/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,4BAA4B,iCAAiC;IAC7D,YAAY,iBAAiB;CAC9B"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/components/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,4BAA4B,iCAAiC;IAC7D,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC5B"}
@@ -192,6 +192,12 @@ export interface LatLongFieldComponent extends FormFieldBase {
192
192
  };
193
193
  };
194
194
  }
195
+ export interface HiddenFieldComponent extends FormFieldBase {
196
+ type: ComponentType.HiddenField;
197
+ options: FormFieldBase['options'] & {
198
+ condition?: string;
199
+ };
200
+ }
195
201
  export interface DatePartsFieldComponent extends DateFieldBase {
196
202
  type: ComponentType.DatePartsField;
197
203
  options: DateFieldBase['options'] & {
@@ -269,7 +275,7 @@ export interface SelectFieldComponent extends ListFieldBase {
269
275
  }
270
276
  export type ComponentDef = FormComponentsDef | ContentComponentsDef;
271
277
  export type FormComponentsDef = InputFieldsComponentsDef | SelectionComponentsDef;
272
- export type InputFieldsComponentsDef = TextFieldComponent | EmailAddressFieldComponent | NumberFieldComponent | MultilineTextFieldComponent | TelephoneNumberFieldComponent | MonthYearFieldComponent | DatePartsFieldComponent | UkAddressFieldComponent | FileUploadFieldComponent | DeclarationFieldComponent | EastingNorthingFieldComponent | OsGridRefFieldComponent | NationalGridFieldNumberFieldComponent | LatLongFieldComponent;
278
+ export type InputFieldsComponentsDef = TextFieldComponent | EmailAddressFieldComponent | NumberFieldComponent | MultilineTextFieldComponent | TelephoneNumberFieldComponent | MonthYearFieldComponent | DatePartsFieldComponent | UkAddressFieldComponent | FileUploadFieldComponent | DeclarationFieldComponent | EastingNorthingFieldComponent | OsGridRefFieldComponent | NationalGridFieldNumberFieldComponent | LatLongFieldComponent | HiddenFieldComponent;
273
279
  export type ContentComponentsDef = DetailsComponent | HtmlComponent | MarkdownComponent | InsetTextComponent | ListComponent;
274
280
  export type ListComponentsDef = Exclude<SelectionComponentsDef, YesNoFieldComponent> | ListComponent;
275
281
  export type SelectionComponentsDef = AutocompleteFieldComponent | CheckboxesFieldComponent | RadiosFieldComponent | SelectFieldComponent | YesNoFieldComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ export declare const customOperators: {
86
86
  is: OperatorDefinition;
87
87
  "is not": OperatorDefinition;
88
88
  };
89
+ HiddenField: undefined;
89
90
  };
90
91
  export declare function getOperatorNames(fieldType?: ConditionalComponentType): OperatorName[];
91
92
  export declare function getExpression(fieldType: ConditionalComponentType, fieldName: string, operator: OperatorName, value: Condition['value']): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"condition-operators.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition-operators.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAIL,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAA;AAqClC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3B,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,wBAAwB,kBAOpE;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,wBAAwB,EACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,sBAW1B;AA+DD,eAAO,MAAM,yBAAyB,EAEjC,YAAY,EAAE,CAAA;AAEnB,eAAO,MAAM,yBAAyB,EAEjC,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"condition-operators.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition-operators.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAIL,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAA;AAqClC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC3B,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,wBAAwB,kBAOpE;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,wBAAwB,EACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,sBAW1B;AA+DD,eAAO,MAAM,yBAAyB,EAEjC,YAAY,EAAE,CAAA;AAEnB,eAAO,MAAM,yBAAyB,EAEjC,YAAY,EAAE,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { type ComponentDef } from '../../components/types.js';
1
2
  import { type ConditionListItemRefValueDataV2 } from '../../conditions/types.js';
2
3
  import { type FormDefinition } from '../../form/form-definition/types.js';
3
4
  /**
@@ -12,4 +13,9 @@ export declare function isFormDefinition(definition: unknown): definition is For
12
13
  * @returns { definition is ConditionListItemRefValueDataV2 }
13
14
  */
14
15
  export declare function isConditionListItemRefValueData(conditionValueData: unknown): conditionValueData is ConditionListItemRefValueDataV2;
16
+ /**
17
+ * Returns an array of all hidden fields in a form
18
+ * @param definition - form definition
19
+ */
20
+ export declare function getHiddenFields(definition: FormDefinition): ComponentDef[];
15
21
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,cAAc,CAW9B;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE,OAAO,GAC1B,kBAAkB,IAAI,+BAA+B,CAUvD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGzE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,cAAc,CAW9B;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE,OAAO,GAC1B,kBAAkB,IAAI,+BAA+B,CAUvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,kBAczD"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/helpers.js"],"names":[],"mappings":"AA8IA;;;;GAIG;AACH,gEAJW,gBAAgB,cAChB,cAAc,GACZ,CAAC,SAAS,EAAE,YAAY,KAAK,QAAQ,CAmCjD;sCAGsD,yCAAyC;oCAG7D,qCAAqC;kCACgO,2BAA2B;8BAHtS,4CAA4C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/helpers.js"],"names":[],"mappings":"AAgJA;;;;GAIG;AACH,gEAJW,gBAAgB,cAChB,cAAc,GACZ,CAAC,SAAS,EAAE,YAAY,KAAK,QAAQ,CAmCjD;sCAGsD,yCAAyC;oCAG7D,qCAAqC;kCACgO,2BAA2B;8BAHtS,4CAA4C"}
@@ -0,0 +1,4 @@
1
+ export class HiddenQuestion extends Question {
2
+ }
3
+ import { Question } from '../../../form/form-editor/preview/question.js';
4
+ //# sourceMappingURL=hidden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/hidden.js"],"names":[],"mappings":"AAGA;CAKC;yBAPwB,4CAA4C"}
@@ -25,6 +25,7 @@ export * from "../../../form/form-editor/preview/supporting-evidence.js";
25
25
  export * from "../../../form/form-editor/preview/long-answer.js";
26
26
  export * from "../../../form/form-editor/preview/uk-address.js";
27
27
  export * from "../../../form/form-editor/preview/yes-no.js";
28
+ export * from "../../../form/form-editor/preview/hidden.js";
28
29
  export * from "../../../form/form-editor/preview/controller/page-controller-base.js";
29
30
  export * from "../../../form/form-editor/preview/controller/page-controller.js";
30
31
  export * from "../../../form/form-editor/preview/controller/guidance-page-controller.js";
@@ -6,5 +6,8 @@ export declare const marked: Marked;
6
6
  /**
7
7
  * Convert markdown to HTML, escaping any HTML tags first
8
8
  */
9
- export declare function markdownToHtml(markdown: string | null | undefined, baseUrl?: string): string;
9
+ export declare function markdownToHtml(markdown: string | null | undefined, options?: {
10
+ baseUrl?: string;
11
+ startingHeaderLevel?: number;
12
+ }): string;
10
13
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAyB,MAAM,QAAQ,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,MAAM,QAGjB,CAAA;AAoBF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,MAAM,UAmBjB"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAyB,MAAM,QAAQ,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,MAAM,QAGjB,CAAA;AA+BF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,UAuBF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.581",
3
+ "version": "3.0.583",
4
4
  "description": "A hapi plugin providing the model for Defra forms",
5
5
  "homepage": "https://github.com/DEFRA/forms-designer/tree/main/model#readme",
6
6
  "types": "dist/types/index.d.ts",
@@ -179,5 +179,13 @@ export const ComponentTypes: readonly ComponentDef[] = Object.freeze([
179
179
  type: ComponentType.LatLongField,
180
180
  hint: 'For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767',
181
181
  options: {}
182
+ },
183
+ {
184
+ name: 'HiddenField',
185
+ title: 'Hidden field',
186
+ type: ComponentType.HiddenField,
187
+ hint: '',
188
+ options: {},
189
+ schema: {}
182
190
  }
183
191
  ])
@@ -22,5 +22,6 @@ export enum ComponentType {
22
22
  EastingNorthingField = 'EastingNorthingField',
23
23
  OsGridRefField = 'OsGridRefField',
24
24
  NationalGridFieldNumberField = 'NationalGridFieldNumberField',
25
- LatLongField = 'LatLongField'
25
+ LatLongField = 'LatLongField',
26
+ HiddenField = 'HiddenField'
26
27
  }
@@ -230,6 +230,13 @@ export interface LatLongFieldComponent extends FormFieldBase {
230
230
  }
231
231
  }
232
232
 
233
+ export interface HiddenFieldComponent extends FormFieldBase {
234
+ type: ComponentType.HiddenField
235
+ options: FormFieldBase['options'] & {
236
+ condition?: string
237
+ }
238
+ }
239
+
233
240
  // Date Fields
234
241
  export interface DatePartsFieldComponent extends DateFieldBase {
235
242
  type: ComponentType.DatePartsField
@@ -341,6 +348,7 @@ export type InputFieldsComponentsDef =
341
348
  | OsGridRefFieldComponent
342
349
  | NationalGridFieldNumberFieldComponent
343
350
  | LatLongFieldComponent
351
+ | HiddenFieldComponent
344
352
 
345
353
  // Components that render content
346
354
  export type ContentComponentsDef =
@@ -85,7 +85,8 @@ export const customOperators = {
85
85
  [ComponentType.EastingNorthingField]: defaultOperators,
86
86
  [ComponentType.OsGridRefField]: defaultOperators,
87
87
  [ComponentType.NationalGridFieldNumberField]: defaultOperators,
88
- [ComponentType.LatLongField]: defaultOperators
88
+ [ComponentType.LatLongField]: defaultOperators,
89
+ [ComponentType.HiddenField]: undefined
89
90
  }
90
91
 
91
92
  export function getOperatorNames(fieldType?: ConditionalComponentType) {
@@ -1,5 +1,8 @@
1
+ import { ComponentType } from '~/src/components/enums.js'
2
+ import { type ComponentDef } from '~/src/components/types.js'
1
3
  import { type ConditionListItemRefValueDataV2 } from '~/src/conditions/types.js'
2
4
  import { type FormDefinition } from '~/src/form/form-definition/types.js'
5
+ import { hasComponents } from '~/src/pages/helpers.js'
3
6
 
4
7
  /**
5
8
  * TypeGuard to check if something is a FormDefinition
@@ -39,3 +42,23 @@ export function isConditionListItemRefValueData(
39
42
  'itemId' in conditionValueData
40
43
  )
41
44
  }
45
+
46
+ /**
47
+ * Returns an array of all hidden fields in a form
48
+ * @param definition - form definition
49
+ */
50
+ export function getHiddenFields(definition: FormDefinition) {
51
+ if (definition.pages.length === 0) {
52
+ return []
53
+ }
54
+ const totalHiddenFields = [] as ComponentDef[]
55
+ for (const page of definition.pages) {
56
+ const hiddenFields = hasComponents(page)
57
+ ? page.components.filter(
58
+ (comp) => comp.type === ComponentType.HiddenField
59
+ )
60
+ : []
61
+ totalHiddenFields.push(...hiddenFields)
62
+ }
63
+ return totalHiddenFields
64
+ }
@@ -19,6 +19,7 @@ import {
19
19
  EastingNorthingQuestion
20
20
  } from '~/src/form/form-editor/preview/easting-northing.js'
21
21
  import { EmailAddressQuestion } from '~/src/form/form-editor/preview/email-address.js'
22
+ import { HiddenQuestion } from '~/src/form/form-editor/preview/hidden.js'
22
23
  import {
23
24
  LatLongComponentPreviewElements,
24
25
  LatLongQuestion
@@ -82,7 +83,8 @@ const InputFieldComponentDictionary = {
82
83
  [ComponentType.EastingNorthingField]: EastingNorthingQuestion,
83
84
  [ComponentType.OsGridRefField]: OsGridRefQuestion,
84
85
  [ComponentType.NationalGridFieldNumberField]: NationalGridQuestion,
85
- [ComponentType.LatLongField]: LatLongQuestion
86
+ [ComponentType.LatLongField]: LatLongQuestion,
87
+ [ComponentType.HiddenField]: HiddenQuestion
86
88
  }
87
89
 
88
90
  /**
@@ -0,0 +1,9 @@
1
+ import { ComponentType } from '~/src/components/enums.js'
2
+ import { Question } from '~/src/form/form-editor/preview/question.js'
3
+
4
+ export class HiddenQuestion extends Question {
5
+ /**
6
+ * @type {ComponentType}
7
+ */
8
+ componentType = ComponentType.HiddenField
9
+ }
@@ -25,6 +25,7 @@ export * from '~/src/form/form-editor/preview/supporting-evidence.js'
25
25
  export * from '~/src/form/form-editor/preview/long-answer.js'
26
26
  export * from '~/src/form/form-editor/preview/uk-address.js'
27
27
  export * from '~/src/form/form-editor/preview/yes-no.js'
28
+ export * from '~/src/form/form-editor/preview/hidden.js'
28
29
  export * from '~/src/form/form-editor/preview/controller/page-controller-base.js'
29
30
  export * from '~/src/form/form-editor/preview/controller/page-controller.js'
30
31
  export * from '~/src/form/form-editor/preview/controller/guidance-page-controller.js'
@@ -31,7 +31,7 @@ export class Markdown extends Content {
31
31
  constructor(htmlElements, questionRenderer) {
32
32
  super(htmlElements, questionRenderer)
33
33
  const { content } = htmlElements.values
34
- this._content = markdownToHtml(content)
34
+ this._content = markdownToHtml(content, { startingHeaderLevel: 2 })
35
35
  }
36
36
 
37
37
  /**
@@ -39,7 +39,7 @@ export class Markdown extends Content {
39
39
  * @protected
40
40
  */
41
41
  _setContent(value) {
42
- super._setContent(markdownToHtml(value))
42
+ super._setContent(markdownToHtml(value, { startingHeaderLevel: 2 }))
43
43
  }
44
44
  }
45
45
 
@@ -26,12 +26,26 @@ function renderLink(href: string, text: string, baseUrl?: string) {
26
26
  return `<a ${attrs.join(' ')}>${label}</a>`
27
27
  }
28
28
 
29
+ function demoteHeading(
30
+ text: string,
31
+ depth: number,
32
+ startingHeaderLevel: number
33
+ ) {
34
+ // Max heading is h6 so don't demote further than that
35
+ depth = Math.min(depth + startingHeaderLevel - 1, 6)
36
+ return `<h${depth}>${text}</h${depth}>
37
+ `
38
+ }
39
+
29
40
  /**
30
41
  * Convert markdown to HTML, escaping any HTML tags first
31
42
  */
32
43
  export function markdownToHtml(
33
44
  markdown: string | null | undefined,
34
- baseUrl?: string // optional in some contexts, e.g. from the designer where it might not make sense
45
+ options?: {
46
+ baseUrl?: string // optional in some contexts, e.g. from the designer where it might not make sense,
47
+ startingHeaderLevel?: number
48
+ }
35
49
  ) {
36
50
  if (markdown === undefined || markdown === null) {
37
51
  return ''
@@ -46,8 +60,12 @@ export function markdownToHtml(
46
60
 
47
61
  const renderer = new Renderer()
48
62
  renderer.link = ({ href, text }: Tokens.Link): string => {
49
- return renderLink(href, text, baseUrl)
63
+ return renderLink(href, text, options?.baseUrl)
64
+ }
65
+ if (options?.startingHeaderLevel) {
66
+ renderer.heading = ({ text, depth }: Tokens.Heading): string => {
67
+ return demoteHeading(text, depth, options.startingHeaderLevel ?? 1)
68
+ }
50
69
  }
51
-
52
70
  return marked.parse(escaped, { async: false, renderer })
53
71
  }