@defra/forms-model 3.0.385 → 3.0.386
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.
| @@ -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  type: FormComponentsDef['type']\n  name: string\n  title: string\n  hint?: string\n  options: {\n    required?: boolean\n    optionalText?: boolean\n    classes?: string\n    customValidationMessages?: LanguageMessages\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  type:\n    | ComponentType.Details\n    | ComponentType.Html\n    | ComponentType.InsetText\n    | ComponentType.List\n  name: string\n  title: string\n}\n\ninterface DateFieldBase {\n  type: ComponentType.DatePartsField | ComponentType.MonthYearField\n  name: string\n  title: string\n  hint?: string\n  options:  | 
| 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  type: FormComponentsDef['type']\n  name: string\n  title: string\n  hint?: string\n  options: {\n    required?: boolean\n    optionalText?: boolean\n    classes?: string\n    customValidationMessages?: LanguageMessages\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  type:\n    | ComponentType.Details\n    | ComponentType.Html\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  }\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 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  }\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 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\n// Components that render content\nexport type ContentComponentsDef =\n  | DetailsComponent\n  | HtmlComponent\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":[]}
         | 
| @@ -28,16 +28,17 @@ interface ContentFieldBase { | |
| 28 28 | 
             
                type: ComponentType.Details | ComponentType.Html | ComponentType.InsetText | ComponentType.List;
         | 
| 29 29 | 
             
                name: string;
         | 
| 30 30 | 
             
                title: string;
         | 
| 31 | 
            +
                options?: {
         | 
| 32 | 
            +
                    required?: undefined;
         | 
| 33 | 
            +
                    optionalText?: undefined;
         | 
| 34 | 
            +
                };
         | 
| 31 35 | 
             
            }
         | 
| 32 | 
            -
            interface DateFieldBase {
         | 
| 36 | 
            +
            interface DateFieldBase extends FormFieldBase {
         | 
| 33 37 | 
             
                type: ComponentType.DatePartsField | ComponentType.MonthYearField;
         | 
| 34 38 | 
             
                name: string;
         | 
| 35 39 | 
             
                title: string;
         | 
| 36 40 | 
             
                hint?: string;
         | 
| 37 | 
            -
                options: {
         | 
| 38 | 
            -
                    required?: boolean;
         | 
| 39 | 
            -
                    optionalText?: boolean;
         | 
| 40 | 
            -
                    classes?: string;
         | 
| 41 | 
            +
                options: FormFieldBase['options'] & {
         | 
| 41 42 | 
             
                    maxDaysInPast?: number;
         | 
| 42 43 | 
             
                    maxDaysInFuture?: number;
         | 
| 43 44 | 
             
                };
         | 
| @@ -85,15 +86,12 @@ export interface TelephoneNumberFieldComponent extends FormFieldBase { | |
| 85 86 | 
             
                    customValidationMessage?: string;
         | 
| 86 87 | 
             
                };
         | 
| 87 88 | 
             
            }
         | 
| 88 | 
            -
            export interface FileUploadFieldComponent {
         | 
| 89 | 
            +
            export interface FileUploadFieldComponent extends FormFieldBase {
         | 
| 89 90 | 
             
                type: ComponentType.FileUploadField;
         | 
| 90 91 | 
             
                name: string;
         | 
| 91 92 | 
             
                title: string;
         | 
| 92 93 | 
             
                hint?: string;
         | 
| 93 | 
            -
                options: {
         | 
| 94 | 
            -
                    required?: boolean;
         | 
| 95 | 
            -
                    classes?: string;
         | 
| 96 | 
            -
                    optionalText?: boolean;
         | 
| 94 | 
            +
                options: FormFieldBase['options'] & {
         | 
| 97 95 | 
             
                    accept?: string;
         | 
| 98 96 | 
             
                };
         | 
| 99 97 | 
             
                schema: {
         | 
| @@ -145,14 +143,14 @@ export interface MonthYearFieldComponent extends DateFieldBase { | |
| 145 143 | 
             
            export interface DetailsComponent extends ContentFieldBase {
         | 
| 146 144 | 
             
                type: ComponentType.Details;
         | 
| 147 145 | 
             
                content: string;
         | 
| 148 | 
            -
                options: {
         | 
| 146 | 
            +
                options: ContentFieldBase['options'] & {
         | 
| 149 147 | 
             
                    condition?: string;
         | 
| 150 148 | 
             
                };
         | 
| 151 149 | 
             
            }
         | 
| 152 150 | 
             
            export interface HtmlComponent extends ContentFieldBase {
         | 
| 153 151 | 
             
                type: ComponentType.Html;
         | 
| 154 152 | 
             
                content: string;
         | 
| 155 | 
            -
                options: {
         | 
| 153 | 
            +
                options: ContentFieldBase['options'] & {
         | 
| 156 154 | 
             
                    condition?: string;
         | 
| 157 155 | 
             
                };
         | 
| 158 156 | 
             
            }
         | 
| @@ -164,7 +162,7 @@ export interface ListComponent extends ContentFieldBase { | |
| 164 162 | 
             
                type: ComponentType.List;
         | 
| 165 163 | 
             
                hint?: string;
         | 
| 166 164 | 
             
                list: string;
         | 
| 167 | 
            -
                options: {
         | 
| 165 | 
            +
                options: ContentFieldBase['options'] & {
         | 
| 168 166 | 
             
                    type?: ListTypeOption;
         | 
| 169 167 | 
             
                    classes?: string;
         | 
| 170 168 | 
             
                    hideTitle?: boolean;
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAE3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,wBAAwB,CAAC,MAAM,CAAC,EAChC,oBAAoB,CACrB,CAAA;AAED;;GAEG;AAEH,UAAU,aAAa;IACrB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,wBAAwB,CAAC,EAAE,gBAAgB,CAAA;KAC5C,CAAA;CACF;AAED,UAAU,aAAc,SAAQ,aAAa;IAC3C,IAAI,EACA,aAAa,CAAC,iBAAiB,GAC/B,aAAa,CAAC,eAAe,GAC7B,aAAa,CAAC,WAAW,GACzB,aAAa,CAAC,WAAW,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG;QAClC,IAAI,CAAC,EAAE,eAAe,CAAA;KACvB,CAAA;CACF;AAED,UAAU,gBAAgB;IACxB,IAAI,EACA,aAAa,CAAC,OAAO,GACrB,aAAa,CAAC,IAAI,GAClB,aAAa,CAAC,SAAS,GACvB,aAAa,CAAC,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA; | 
| 1 | 
            +
            {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
         | 
    
        package/package.json
    CHANGED
    
    
    
        package/src/components/types.ts
    CHANGED
    
    | @@ -48,17 +48,18 @@ interface ContentFieldBase { | |
| 48 48 | 
             
                | ComponentType.List
         | 
| 49 49 | 
             
              name: string
         | 
| 50 50 | 
             
              title: string
         | 
| 51 | 
            +
              options?: {
         | 
| 52 | 
            +
                required?: undefined
         | 
| 53 | 
            +
                optionalText?: undefined
         | 
| 54 | 
            +
              }
         | 
| 51 55 | 
             
            }
         | 
| 52 56 |  | 
| 53 | 
            -
            interface DateFieldBase {
         | 
| 57 | 
            +
            interface DateFieldBase extends FormFieldBase {
         | 
| 54 58 | 
             
              type: ComponentType.DatePartsField | ComponentType.MonthYearField
         | 
| 55 59 | 
             
              name: string
         | 
| 56 60 | 
             
              title: string
         | 
| 57 61 | 
             
              hint?: string
         | 
| 58 | 
            -
              options: {
         | 
| 59 | 
            -
                required?: boolean
         | 
| 60 | 
            -
                optionalText?: boolean
         | 
| 61 | 
            -
                classes?: string
         | 
| 62 | 
            +
              options: FormFieldBase['options'] & {
         | 
| 62 63 | 
             
                maxDaysInPast?: number
         | 
| 63 64 | 
             
                maxDaysInFuture?: number
         | 
| 64 65 | 
             
              }
         | 
| @@ -112,15 +113,12 @@ export interface TelephoneNumberFieldComponent extends FormFieldBase { | |
| 112 113 | 
             
              }
         | 
| 113 114 | 
             
            }
         | 
| 114 115 |  | 
| 115 | 
            -
            export interface FileUploadFieldComponent {
         | 
| 116 | 
            +
            export interface FileUploadFieldComponent extends FormFieldBase {
         | 
| 116 117 | 
             
              type: ComponentType.FileUploadField
         | 
| 117 118 | 
             
              name: string
         | 
| 118 119 | 
             
              title: string
         | 
| 119 120 | 
             
              hint?: string
         | 
| 120 | 
            -
              options: {
         | 
| 121 | 
            -
                required?: boolean
         | 
| 122 | 
            -
                classes?: string
         | 
| 123 | 
            -
                optionalText?: boolean
         | 
| 121 | 
            +
              options: FormFieldBase['options'] & {
         | 
| 124 122 | 
             
                accept?: string
         | 
| 125 123 | 
             
              }
         | 
| 126 124 | 
             
              schema: {
         | 
| @@ -180,7 +178,7 @@ export interface MonthYearFieldComponent extends DateFieldBase { | |
| 180 178 | 
             
            export interface DetailsComponent extends ContentFieldBase {
         | 
| 181 179 | 
             
              type: ComponentType.Details
         | 
| 182 180 | 
             
              content: string
         | 
| 183 | 
            -
              options: {
         | 
| 181 | 
            +
              options: ContentFieldBase['options'] & {
         | 
| 184 182 | 
             
                condition?: string
         | 
| 185 183 | 
             
              }
         | 
| 186 184 | 
             
            }
         | 
| @@ -188,7 +186,7 @@ export interface DetailsComponent extends ContentFieldBase { | |
| 188 186 | 
             
            export interface HtmlComponent extends ContentFieldBase {
         | 
| 189 187 | 
             
              type: ComponentType.Html
         | 
| 190 188 | 
             
              content: string
         | 
| 191 | 
            -
              options: {
         | 
| 189 | 
            +
              options: ContentFieldBase['options'] & {
         | 
| 192 190 | 
             
                condition?: string
         | 
| 193 191 | 
             
              }
         | 
| 194 192 | 
             
            }
         | 
| @@ -202,7 +200,7 @@ export interface ListComponent extends ContentFieldBase { | |
| 202 200 | 
             
              type: ComponentType.List
         | 
| 203 201 | 
             
              hint?: string
         | 
| 204 202 | 
             
              list: string
         | 
| 205 | 
            -
              options: {
         | 
| 203 | 
            +
              options: ContentFieldBase['options'] & {
         | 
| 206 204 | 
             
                type?: ListTypeOption
         | 
| 207 205 | 
             
                classes?: string
         | 
| 208 206 | 
             
                hideTitle?: boolean
         |