@defra/forms-model 3.0.608 → 3.0.612

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 (71) hide show
  1. package/dist/module/__stubs__/components.js +17 -0
  2. package/dist/module/__stubs__/components.js.map +1 -1
  3. package/dist/module/components/component-types.js +4 -1
  4. package/dist/module/components/component-types.js.map +1 -1
  5. package/dist/module/components/types.js.map +1 -1
  6. package/dist/module/form/form-editor/__stubs__/preview.js +30 -1
  7. package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -1
  8. package/dist/module/form/form-editor/index.js +7 -3
  9. package/dist/module/form/form-editor/index.js.map +1 -1
  10. package/dist/module/form/form-editor/macros/types.js.map +1 -1
  11. package/dist/module/form/form-editor/preview/controller/page-controller.js +5 -1
  12. package/dist/module/form/form-editor/preview/controller/page-controller.js.map +1 -1
  13. package/dist/module/form/form-editor/preview/controller/summary-page-controller.js +14 -1
  14. package/dist/module/form/form-editor/preview/controller/summary-page-controller.js.map +1 -1
  15. package/dist/module/form/form-editor/preview/helpers.js +8 -2
  16. package/dist/module/form/form-editor/preview/helpers.js.map +1 -1
  17. package/dist/module/form/form-editor/preview/index.js +1 -0
  18. package/dist/module/form/form-editor/preview/index.js.map +1 -1
  19. package/dist/module/form/form-editor/preview/payment.js +117 -0
  20. package/dist/module/form/form-editor/preview/payment.js.map +1 -0
  21. package/dist/module/form/form-editor/preview/types.js.map +1 -1
  22. package/dist/module/form/form-editor/types.js.map +1 -1
  23. package/dist/module/pages/helpers.js +27 -0
  24. package/dist/module/pages/helpers.js.map +1 -1
  25. package/dist/module/pages/index.js +1 -1
  26. package/dist/module/pages/index.js.map +1 -1
  27. package/dist/types/__stubs__/components.d.ts +6 -1
  28. package/dist/types/__stubs__/components.d.ts.map +1 -1
  29. package/dist/types/components/component-types.d.ts.map +1 -1
  30. package/dist/types/components/types.d.ts +2 -2
  31. package/dist/types/components/types.d.ts.map +1 -1
  32. package/dist/types/form/form-editor/__stubs__/preview.d.ts +20 -0
  33. package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -1
  34. package/dist/types/form/form-editor/index.d.ts +4 -0
  35. package/dist/types/form/form-editor/index.d.ts.map +1 -1
  36. package/dist/types/form/form-editor/macros/types.d.ts +5 -0
  37. package/dist/types/form/form-editor/macros/types.d.ts.map +1 -1
  38. package/dist/types/form/form-editor/preview/controller/page-controller.d.ts.map +1 -1
  39. package/dist/types/form/form-editor/preview/controller/summary-page-controller.d.ts +10 -0
  40. package/dist/types/form/form-editor/preview/controller/summary-page-controller.d.ts.map +1 -1
  41. package/dist/types/form/form-editor/preview/helpers.d.ts.map +1 -1
  42. package/dist/types/form/form-editor/preview/index.d.ts +1 -0
  43. package/dist/types/form/form-editor/preview/payment.d.ts +63 -0
  44. package/dist/types/form/form-editor/preview/payment.d.ts.map +1 -0
  45. package/dist/types/form/form-editor/preview/types.d.ts +14 -0
  46. package/dist/types/form/form-editor/preview/types.d.ts.map +1 -1
  47. package/dist/types/form/form-editor/types.d.ts +14 -1
  48. package/dist/types/form/form-editor/types.d.ts.map +1 -1
  49. package/dist/types/pages/helpers.d.ts +13 -0
  50. package/dist/types/pages/helpers.d.ts.map +1 -1
  51. package/dist/types/pages/index.d.ts +1 -1
  52. package/dist/types/pages/index.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/schemas/form-editor-input-page-schema.json +2 -1
  55. package/schemas/question-type-full-schema.json +2 -1
  56. package/schemas/question-type-schema.json +2 -1
  57. package/src/__stubs__/components.ts +20 -0
  58. package/src/components/component-types.ts +9 -3
  59. package/src/components/types.ts +2 -2
  60. package/src/form/form-editor/__stubs__/preview.js +26 -1
  61. package/src/form/form-editor/index.ts +21 -3
  62. package/src/form/form-editor/macros/types.ts +6 -0
  63. package/src/form/form-editor/preview/controller/page-controller.js +7 -1
  64. package/src/form/form-editor/preview/controller/summary-page-controller.js +14 -1
  65. package/src/form/form-editor/preview/helpers.js +11 -2
  66. package/src/form/form-editor/preview/index.js +1 -0
  67. package/src/form/form-editor/preview/payment.js +126 -0
  68. package/src/form/form-editor/preview/types.ts +17 -0
  69. package/src/form/form-editor/types.ts +17 -0
  70. package/src/pages/helpers.ts +32 -0
  71. package/src/pages/index.ts +3 -0
@@ -216,6 +216,23 @@ export function buildCheckboxComponent(partialListComponent = {}) {
216
216
  };
217
217
  }
218
218
 
219
+ /**
220
+ * @param {Partial<PaymentFieldComponent>} partialComponent
221
+ * @returns {PaymentFieldComponent}
222
+ */
223
+ export function buildPaymentComponent(partialComponent = {}) {
224
+ return {
225
+ name: 'Payment',
226
+ title: 'Some payment',
227
+ options: {
228
+ amount: 125,
229
+ description: 'Payment description'
230
+ },
231
+ ...partialComponent,
232
+ type: ComponentType.PaymentField
233
+ };
234
+ }
235
+
219
236
  /**
220
237
  * Builder to create a stub List item
221
238
  * @param {Partial<Item>} partialListItem
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","names":["ComponentType","buildTextFieldComponent","partialTextField","id","name","title","hint","options","schema","type","TextField","buildMultilineTextFieldComponent","partialMultilineTextField","MultilineTextField","buildYesNoFieldComponent","partialYesNoField","YesNoField","buildDeclarationFieldComponent","partialDeclarationField","content","DeclarationField","buildMonthYearFieldComponent","partialMonthYearField","MonthYearField","buildSelectFieldComponent","partialSelectField","list","SelectField","buildUkAddressFieldComponent","partialUkAddressField","UkAddressField","buildTelephoneNumberFieldComponent","partialTelephoneNumberField","TelephoneNumberField","buildEmailAddressFieldComponent","partialEmailAddressField","EmailAddressField","buildHtmlComponent","partialHtml","Html","buildInsetTextComponent","partialInsetText","InsetText","buildDetailsComponent","partialDetails","Details","buildListComponent","partialList","List","buildMarkdownComponent","partialMarkdown","Markdown","buildFileUploadComponent","partialFileUploadField","FileUploadField","buildAutoCompleteComponent","partialAutoCompleteField","AutocompleteField","buildRadioComponent","partialListComponent","RadiosField","buildCheckboxComponent","CheckboxesField","buildListItem","partialListItem","text","value","buildList","items","buildNumberFieldComponent","partialComponent","NumberField","buildDateComponent","DatePartsField","buildRadiosComponent","buildEastingNorthingFieldComponent","EastingNorthingField","buildLatLongFieldComponent","LatLongField","buildNationalGridFieldNumberFieldComponent","NationalGridFieldNumberField","buildOsGridRefFieldComponent","OsGridRefField"],"sources":["../../../src/__stubs__/components.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport {\n type AutocompleteFieldComponent,\n type CheckboxesFieldComponent,\n type DatePartsFieldComponent,\n type DeclarationFieldComponent,\n type DetailsComponent,\n type EastingNorthingFieldComponent,\n type EmailAddressFieldComponent,\n type FileUploadFieldComponent,\n type HtmlComponent,\n type InsetTextComponent,\n type LatLongFieldComponent,\n type ListComponent,\n type MarkdownComponent,\n type MonthYearFieldComponent,\n type MultilineTextFieldComponent,\n type NationalGridFieldNumberFieldComponent,\n type NumberFieldComponent,\n type OsGridRefFieldComponent,\n type RadiosFieldComponent,\n type SelectFieldComponent,\n type TelephoneNumberFieldComponent,\n type TextFieldComponent,\n type UkAddressFieldComponent,\n type YesNoFieldComponent\n} from '~/src/components/types.js'\nimport { type Item, type List } from '~/src/form/form-definition/types.js'\n\n/**\n * @param {Partial<TextFieldComponent>} partialTextField\n * @returns {TextFieldComponent}\n */\nexport function buildTextFieldComponent(\n partialTextField: Partial<TextFieldComponent> = {}\n): TextFieldComponent {\n return {\n id: '407dd0d7-cce9-4f43-8e1f-7d89cb698875',\n name: 'TextField',\n title: 'Text field',\n hint: '',\n options: {},\n schema: {},\n ...partialTextField,\n type: ComponentType.TextField\n }\n}\n\nexport function buildMultilineTextFieldComponent(\n partialMultilineTextField: Partial<MultilineTextFieldComponent> = {}\n): MultilineTextFieldComponent {\n return {\n id: '72671f23-552e-4504-a06a-693e240880d5',\n name: 'MuTeCo',\n options: {},\n schema: {},\n title: 'Multiline TextField Component',\n ...partialMultilineTextField,\n type: ComponentType.MultilineTextField\n }\n}\n\nexport function buildYesNoFieldComponent(\n partialYesNoField: Partial<YesNoFieldComponent> = {}\n): YesNoFieldComponent {\n return {\n title: 'YesNo Field Component',\n id: 'be7f849c-47d8-4f1f-ba15-ab939dc70914',\n name: 'YesNoFieldComponent',\n options: {},\n ...partialYesNoField,\n type: ComponentType.YesNoField\n }\n}\n\nexport function buildDeclarationFieldComponent(\n partialDeclarationField: Partial<DeclarationFieldComponent> = {}\n): DeclarationFieldComponent {\n return {\n title: 'Declaration',\n id: 'f2a8c9e1-3d4f-4b5a-8c6d-1e2f3a4b5c6d',\n name: 'DeclarationFieldComponent',\n content: '',\n options: {},\n ...partialDeclarationField,\n type: ComponentType.DeclarationField\n }\n}\nexport function buildMonthYearFieldComponent(\n partialMonthYearField: Partial<MonthYearFieldComponent> = {}\n): MonthYearFieldComponent {\n return {\n id: 'd4e99aca-6d13-4c1a-a623-9e9e5b27d46d',\n title: 'MonthYearFieldComponent',\n name: 'MonthYearFieldComponent',\n options: {},\n ...partialMonthYearField,\n type: ComponentType.MonthYearField\n }\n}\nexport function buildSelectFieldComponent(\n partialSelectField: Partial<SelectFieldComponent> = {}\n): SelectFieldComponent {\n return {\n id: '7f219cf6-3e16-4549-b8df-789506682147',\n list: '',\n name: '',\n options: {},\n title: '',\n ...partialSelectField,\n type: ComponentType.SelectField\n }\n}\nexport function buildUkAddressFieldComponent(\n partialUkAddressField: Partial<UkAddressFieldComponent> = {}\n): UkAddressFieldComponent {\n return {\n id: 'a7cb7440-9095-44cd-9136-2914232722c8',\n title: 'UkAddressFieldComponent',\n name: 'UkAddressFieldComponent',\n options: {},\n ...partialUkAddressField,\n type: ComponentType.UkAddressField\n }\n}\nexport function buildTelephoneNumberFieldComponent(\n partialTelephoneNumberField: Partial<TelephoneNumberFieldComponent> = {}\n): TelephoneNumberFieldComponent {\n return {\n id: '69907916-beac-4faa-b469-656dad5edced',\n title: 'TelephoneNumberFieldComponent',\n name: 'TelephoneNumberFieldComponent',\n options: {},\n ...partialTelephoneNumberField,\n type: ComponentType.TelephoneNumberField\n }\n}\nexport function buildEmailAddressFieldComponent(\n partialEmailAddressField: Partial<EmailAddressFieldComponent> = {}\n): EmailAddressFieldComponent {\n return {\n id: '9dcf0781-bf34-48c8-b13b-d13050dc34d9',\n title: 'EmailAddressFieldComponent',\n name: 'EmailAddressFieldComponent',\n options: {},\n ...partialEmailAddressField,\n type: ComponentType.EmailAddressField\n }\n}\n\nexport function buildHtmlComponent(\n partialHtml: Partial<HtmlComponent> = {}\n): HtmlComponent {\n return {\n id: 'bac683ce-149e-4740-95aa-8289b35bc327',\n title: 'HtmlComponent',\n name: 'HtmlComponent',\n options: {},\n content: '',\n ...partialHtml,\n type: ComponentType.Html\n }\n}\nexport function buildInsetTextComponent(\n partialInsetText: Partial<InsetTextComponent> = {}\n): InsetTextComponent {\n return {\n id: '6b717151-1e86-42b2-97a9-2201b0676e47',\n title: 'InsetText Component',\n name: 'InsetTextComponent',\n content: '',\n options: {},\n ...partialInsetText,\n type: ComponentType.InsetText\n }\n}\nexport function buildDetailsComponent(\n partialDetails: Partial<DetailsComponent> = {}\n): DetailsComponent {\n return {\n id: '245d54df-bb1e-488e-82f6-8f1e42c197e6',\n title: 'Details Component',\n name: 'DetailsComponent',\n content: '',\n options: {},\n ...partialDetails,\n type: ComponentType.Details\n }\n}\nexport function buildListComponent(\n partialList: Partial<ListComponent> = {}\n): ListComponent {\n return {\n id: '62f17168-c2ef-4978-bd42-bdaa5704e25f',\n title: 'List Component',\n name: 'ListComponent',\n list: '',\n options: {},\n ...partialList,\n type: ComponentType.List\n }\n}\nexport function buildMarkdownComponent(\n partialMarkdown: Partial<MarkdownComponent> = {}\n): MarkdownComponent {\n return {\n id: '4a2dc88c-be1a-4277-aff8-04220de2e778',\n title: 'Markdown Component',\n name: 'MarkdownComponent',\n options: {},\n content: '',\n ...partialMarkdown,\n type: ComponentType.Markdown\n }\n}\n\n/**\n * @param {Partial<FileUploadFieldComponent>} partialFileUploadField\n * @returns {FileUploadFieldComponent}\n */\nexport function buildFileUploadComponent(\n partialFileUploadField: Partial<FileUploadFieldComponent> = {}\n): FileUploadFieldComponent {\n return {\n name: 'FileUploadField',\n title: 'File Upload Field',\n options: {},\n schema: {},\n ...partialFileUploadField,\n type: ComponentType.FileUploadField\n }\n}\n\n/**\n *\n * @param {Partial<AutocompleteFieldComponent>} partialAutoCompleteField\n * @returns {AutocompleteFieldComponent}\n */\nexport function buildAutoCompleteComponent(\n partialAutoCompleteField: Partial<AutocompleteFieldComponent> = {}\n): AutocompleteFieldComponent {\n return {\n name: 'AutoCompleteField',\n title: 'What languages do you speak?',\n list: 'AutoCompleteList',\n options: {},\n ...partialAutoCompleteField,\n type: ComponentType.AutocompleteField\n }\n}\n\n/**\n * @param {Partial<RadiosFieldComponent>} partialListComponent\n * @returns {RadiosFieldComponent}\n */\nexport function buildRadioComponent(\n partialListComponent: Partial<RadiosFieldComponent> = {}\n): RadiosFieldComponent {\n return {\n id: '34455d57-df37-4b69-a64f-6c3af0317ebe',\n name: 'RadioField',\n title: 'Which country do you live in?',\n list: 'RadioList',\n options: {},\n ...partialListComponent,\n type: ComponentType.RadiosField\n }\n}\n\n/**\n * @param {Partial<CheckboxesFieldComponent>} partialListComponent\n * @returns {CheckboxesFieldComponent}\n */\nexport function buildCheckboxComponent(\n partialListComponent: Partial<CheckboxesFieldComponent> = {}\n): CheckboxesFieldComponent {\n return {\n name: 'FellowshipOfTheRing',\n title: 'Which are your favourite characters from the fellowship?',\n list: 'CheckboxList',\n options: {},\n ...partialListComponent,\n type: ComponentType.CheckboxesField\n }\n}\n\n/**\n * Builder to create a stub List item\n * @param {Partial<Item>} partialListItem\n * @returns {Item}\n */\nexport function buildListItem(partialListItem: Partial<Item> = {}): Item {\n return {\n text: 'Javascript',\n value: 'javascript',\n ...partialListItem\n }\n}\n\n/**\n * @param {Partial<List>} partialList\n * @returns {List}\n */\nexport function buildList(partialList: Partial<List> = {}): List {\n return {\n title: 'Development language2',\n name: 'YhmNDD',\n type: 'string',\n items: [\n buildListItem({\n text: 'Javascript',\n value: 'javascript'\n }),\n buildListItem({\n text: 'TypeScript',\n value: 'typescript'\n }),\n buildListItem({\n text: 'Python',\n value: 'python'\n }),\n buildListItem({\n text: 'Haskell',\n value: 'haskell'\n }),\n buildListItem({\n text: 'Erlang',\n value: 'erlang'\n }),\n buildListItem({\n text: 'Java',\n value: 'java'\n })\n ],\n ...partialList\n }\n}\n\nexport function buildNumberFieldComponent(\n partialComponent: Partial<NumberFieldComponent> = {}\n): NumberFieldComponent {\n return {\n name: 'year',\n title: 'Year',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.NumberField\n }\n}\n\nexport function buildDateComponent(\n partialComponent: Partial<DatePartsFieldComponent> = {}\n): DatePartsFieldComponent {\n return {\n name: 'bcdefg',\n title: 'Default title',\n options: {},\n ...partialComponent,\n type: ComponentType.DatePartsField\n }\n}\n\nexport function buildRadiosComponent(\n partialComponent: Partial<RadiosFieldComponent> = {}\n): RadiosFieldComponent {\n return {\n name: 'cdefgh',\n title: 'Default title',\n options: {},\n list: 'Default list Id ref',\n ...partialComponent,\n type: ComponentType.RadiosField\n }\n}\n\nexport function buildEastingNorthingFieldComponent(\n partialComponent: Partial<EastingNorthingFieldComponent> = {}\n): EastingNorthingFieldComponent {\n return {\n id: '1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p',\n name: 'EastingNorthingField',\n title: 'Easting and northing',\n hint: 'For example, Easting: 248741, Northing: 63688',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.EastingNorthingField\n }\n}\n\nexport function buildLatLongFieldComponent(\n partialComponent: Partial<LatLongFieldComponent> = {}\n): LatLongFieldComponent {\n return {\n id: '2b3c4d5e-6f7g-8h9i-0j1k-2l3m4n5o6p7q',\n name: 'LatLongField',\n title: 'Latitude and longitude',\n hint: 'For example, Latitude: 51.5074, Longitude: -0.1278',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.LatLongField\n }\n}\n\nexport function buildNationalGridFieldNumberFieldComponent(\n partialComponent: Partial<NationalGridFieldNumberFieldComponent> = {}\n): NationalGridFieldNumberFieldComponent {\n return {\n id: '3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r',\n name: 'NationalGridFieldNumberField',\n title: 'National Grid field number',\n hint: 'A National Grid field number is made up of 2 letters and 8 numbers, for example, NG 1234 5678',\n options: {},\n ...partialComponent,\n type: ComponentType.NationalGridFieldNumberField\n }\n}\n\nexport function buildOsGridRefFieldComponent(\n partialComponent: Partial<OsGridRefFieldComponent> = {}\n): OsGridRefFieldComponent {\n return {\n id: '4d5e6f7g-8h9i-0j1k-2l3m-4n5o6p7q8r9s',\n name: 'OsGridRefField',\n title: 'Ordnance Survey (OS) grid reference',\n hint: 'An OS grid reference number is made up of 2 letters followed by either 6, 8 or 10 numbers, for example, TQ123456',\n options: {},\n ...partialComponent,\n type: ComponentType.OsGridRefField\n }\n}\n"],"mappings":"AAAA,SAASA,aAAa;AA6BtB;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CACrCC,gBAA6C,GAAG,CAAC,CAAC,EAC9B;EACpB,OAAO;IACLC,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,YAAY;IACnBC,IAAI,EAAE,EAAE;IACRC,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACV,GAAGN,gBAAgB;IACnBO,IAAI,EAAET,aAAa,CAACU;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,gCAAgCA,CAC9CC,yBAA+D,GAAG,CAAC,CAAC,EACvC;EAC7B,OAAO;IACLT,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,QAAQ;IACdG,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACVH,KAAK,EAAE,+BAA+B;IACtC,GAAGO,yBAAyB;IAC5BH,IAAI,EAAET,aAAa,CAACa;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,wBAAwBA,CACtCC,iBAA+C,GAAG,CAAC,CAAC,EAC/B;EACrB,OAAO;IACLV,KAAK,EAAE,uBAAuB;IAC9BF,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,qBAAqB;IAC3BG,OAAO,EAAE,CAAC,CAAC;IACX,GAAGQ,iBAAiB;IACpBN,IAAI,EAAET,aAAa,CAACgB;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,8BAA8BA,CAC5CC,uBAA2D,GAAG,CAAC,CAAC,EACrC;EAC3B,OAAO;IACLb,KAAK,EAAE,aAAa;IACpBF,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,2BAA2B;IACjCe,OAAO,EAAE,EAAE;IACXZ,OAAO,EAAE,CAAC,CAAC;IACX,GAAGW,uBAAuB;IAC1BT,IAAI,EAAET,aAAa,CAACoB;EACtB,CAAC;AACH;AACA,OAAO,SAASC,4BAA4BA,CAC1CC,qBAAuD,GAAG,CAAC,CAAC,EACnC;EACzB,OAAO;IACLnB,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,yBAAyB;IAChCD,IAAI,EAAE,yBAAyB;IAC/BG,OAAO,EAAE,CAAC,CAAC;IACX,GAAGe,qBAAqB;IACxBb,IAAI,EAAET,aAAa,CAACuB;EACtB,CAAC;AACH;AACA,OAAO,SAASC,yBAAyBA,CACvCC,kBAAiD,GAAG,CAAC,CAAC,EAChC;EACtB,OAAO;IACLtB,EAAE,EAAE,sCAAsC;IAC1CuB,IAAI,EAAE,EAAE;IACRtB,IAAI,EAAE,EAAE;IACRG,OAAO,EAAE,CAAC,CAAC;IACXF,KAAK,EAAE,EAAE;IACT,GAAGoB,kBAAkB;IACrBhB,IAAI,EAAET,aAAa,CAAC2B;EACtB,CAAC;AACH;AACA,OAAO,SAASC,4BAA4BA,CAC1CC,qBAAuD,GAAG,CAAC,CAAC,EACnC;EACzB,OAAO;IACL1B,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,yBAAyB;IAChCD,IAAI,EAAE,yBAAyB;IAC/BG,OAAO,EAAE,CAAC,CAAC;IACX,GAAGsB,qBAAqB;IACxBpB,IAAI,EAAET,aAAa,CAAC8B;EACtB,CAAC;AACH;AACA,OAAO,SAASC,kCAAkCA,CAChDC,2BAAmE,GAAG,CAAC,CAAC,EACzC;EAC/B,OAAO;IACL7B,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,+BAA+B;IACtCD,IAAI,EAAE,+BAA+B;IACrCG,OAAO,EAAE,CAAC,CAAC;IACX,GAAGyB,2BAA2B;IAC9BvB,IAAI,EAAET,aAAa,CAACiC;EACtB,CAAC;AACH;AACA,OAAO,SAASC,+BAA+BA,CAC7CC,wBAA6D,GAAG,CAAC,CAAC,EACtC;EAC5B,OAAO;IACLhC,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,4BAA4B;IACnCD,IAAI,EAAE,4BAA4B;IAClCG,OAAO,EAAE,CAAC,CAAC;IACX,GAAG4B,wBAAwB;IAC3B1B,IAAI,EAAET,aAAa,CAACoC;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,kBAAkBA,CAChCC,WAAmC,GAAG,CAAC,CAAC,EACzB;EACf,OAAO;IACLnC,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,eAAe;IACtBD,IAAI,EAAE,eAAe;IACrBG,OAAO,EAAE,CAAC,CAAC;IACXY,OAAO,EAAE,EAAE;IACX,GAAGmB,WAAW;IACd7B,IAAI,EAAET,aAAa,CAACuC;EACtB,CAAC;AACH;AACA,OAAO,SAASC,uBAAuBA,CACrCC,gBAA6C,GAAG,CAAC,CAAC,EAC9B;EACpB,OAAO;IACLtC,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,qBAAqB;IAC5BD,IAAI,EAAE,oBAAoB;IAC1Be,OAAO,EAAE,EAAE;IACXZ,OAAO,EAAE,CAAC,CAAC;IACX,GAAGkC,gBAAgB;IACnBhC,IAAI,EAAET,aAAa,CAAC0C;EACtB,CAAC;AACH;AACA,OAAO,SAASC,qBAAqBA,CACnCC,cAAyC,GAAG,CAAC,CAAC,EAC5B;EAClB,OAAO;IACLzC,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,mBAAmB;IAC1BD,IAAI,EAAE,kBAAkB;IACxBe,OAAO,EAAE,EAAE;IACXZ,OAAO,EAAE,CAAC,CAAC;IACX,GAAGqC,cAAc;IACjBnC,IAAI,EAAET,aAAa,CAAC6C;EACtB,CAAC;AACH;AACA,OAAO,SAASC,kBAAkBA,CAChCC,WAAmC,GAAG,CAAC,CAAC,EACzB;EACf,OAAO;IACL5C,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,gBAAgB;IACvBD,IAAI,EAAE,eAAe;IACrBsB,IAAI,EAAE,EAAE;IACRnB,OAAO,EAAE,CAAC,CAAC;IACX,GAAGwC,WAAW;IACdtC,IAAI,EAAET,aAAa,CAACgD;EACtB,CAAC;AACH;AACA,OAAO,SAASC,sBAAsBA,CACpCC,eAA2C,GAAG,CAAC,CAAC,EAC7B;EACnB,OAAO;IACL/C,EAAE,EAAE,sCAAsC;IAC1CE,KAAK,EAAE,oBAAoB;IAC3BD,IAAI,EAAE,mBAAmB;IACzBG,OAAO,EAAE,CAAC,CAAC;IACXY,OAAO,EAAE,EAAE;IACX,GAAG+B,eAAe;IAClBzC,IAAI,EAAET,aAAa,CAACmD;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CACtCC,sBAAyD,GAAG,CAAC,CAAC,EACpC;EAC1B,OAAO;IACLjD,IAAI,EAAE,iBAAiB;IACvBC,KAAK,EAAE,mBAAmB;IAC1BE,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACV,GAAG6C,sBAAsB;IACzB5C,IAAI,EAAET,aAAa,CAACsD;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CACxCC,wBAA6D,GAAG,CAAC,CAAC,EACtC;EAC5B,OAAO;IACLpD,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,8BAA8B;IACrCqB,IAAI,EAAE,kBAAkB;IACxBnB,OAAO,EAAE,CAAC,CAAC;IACX,GAAGiD,wBAAwB;IAC3B/C,IAAI,EAAET,aAAa,CAACyD;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,oBAAmD,GAAG,CAAC,CAAC,EAClC;EACtB,OAAO;IACLxD,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,+BAA+B;IACtCqB,IAAI,EAAE,WAAW;IACjBnB,OAAO,EAAE,CAAC,CAAC;IACX,GAAGoD,oBAAoB;IACvBlD,IAAI,EAAET,aAAa,CAAC4D;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCF,oBAAuD,GAAG,CAAC,CAAC,EAClC;EAC1B,OAAO;IACLvD,IAAI,EAAE,qBAAqB;IAC3BC,KAAK,EAAE,0DAA0D;IACjEqB,IAAI,EAAE,cAAc;IACpBnB,OAAO,EAAE,CAAC,CAAC;IACX,GAAGoD,oBAAoB;IACvBlD,IAAI,EAAET,aAAa,CAAC8D;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,eAA8B,GAAG,CAAC,CAAC,EAAQ;EACvE,OAAO;IACLC,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,YAAY;IACnB,GAAGF;EACL,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,SAASA,CAACpB,WAA0B,GAAG,CAAC,CAAC,EAAQ;EAC/D,OAAO;IACL1C,KAAK,EAAE,uBAAuB;IAC9BD,IAAI,EAAE,QAAQ;IACdK,IAAI,EAAE,QAAQ;IACd2D,KAAK,EAAE,CACLL,aAAa,CAAC;MACZE,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACT,CAAC,CAAC,EACFH,aAAa,CAAC;MACZE,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACT,CAAC,CAAC,EACFH,aAAa,CAAC;MACZE,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE;IACT,CAAC,CAAC,EACFH,aAAa,CAAC;MACZE,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE;IACT,CAAC,CAAC,EACFH,aAAa,CAAC;MACZE,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE;IACT,CAAC,CAAC,EACFH,aAAa,CAAC;MACZE,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE;IACT,CAAC,CAAC,CACH;IACD,GAAGnB;EACL,CAAC;AACH;AAEA,OAAO,SAASsB,yBAAyBA,CACvCC,gBAA+C,GAAG,CAAC,CAAC,EAC9B;EACtB,OAAO;IACLlE,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbE,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACV,GAAG8D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAACuE;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,kBAAkBA,CAChCF,gBAAkD,GAAG,CAAC,CAAC,EAC9B;EACzB,OAAO;IACLlE,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,eAAe;IACtBE,OAAO,EAAE,CAAC,CAAC;IACX,GAAG+D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAACyE;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,oBAAoBA,CAClCJ,gBAA+C,GAAG,CAAC,CAAC,EAC9B;EACtB,OAAO;IACLlE,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,eAAe;IACtBE,OAAO,EAAE,CAAC,CAAC;IACXmB,IAAI,EAAE,qBAAqB;IAC3B,GAAG4C,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAAC4D;EACtB,CAAC;AACH;AAEA,OAAO,SAASe,kCAAkCA,CAChDL,gBAAwD,GAAG,CAAC,CAAC,EAC9B;EAC/B,OAAO;IACLnE,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,sBAAsB;IAC5BC,KAAK,EAAE,sBAAsB;IAC7BC,IAAI,EAAE,+CAA+C;IACrDC,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACV,GAAG8D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAAC4E;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,0BAA0BA,CACxCP,gBAAgD,GAAG,CAAC,CAAC,EAC9B;EACvB,OAAO;IACLnE,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,cAAc;IACpBC,KAAK,EAAE,wBAAwB;IAC/BC,IAAI,EAAE,oDAAoD;IAC1DC,OAAO,EAAE,CAAC,CAAC;IACXC,MAAM,EAAE,CAAC,CAAC;IACV,GAAG8D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAAC8E;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,0CAA0CA,CACxDT,gBAAgE,GAAG,CAAC,CAAC,EAC9B;EACvC,OAAO;IACLnE,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,8BAA8B;IACpCC,KAAK,EAAE,4BAA4B;IACnCC,IAAI,EAAE,+FAA+F;IACrGC,OAAO,EAAE,CAAC,CAAC;IACX,GAAG+D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAACgF;EACtB,CAAC;AACH;AAEA,OAAO,SAASC,4BAA4BA,CAC1CX,gBAAkD,GAAG,CAAC,CAAC,EAC9B;EACzB,OAAO;IACLnE,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,gBAAgB;IACtBC,KAAK,EAAE,qCAAqC;IAC5CC,IAAI,EAAE,kHAAkH;IACxHC,OAAO,EAAE,CAAC,CAAC;IACX,GAAG+D,gBAAgB;IACnB7D,IAAI,EAAET,aAAa,CAACkF;EACtB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"components.js","names":["ComponentType","buildTextFieldComponent","partialTextField","id","name","title","hint","options","schema","type","TextField","buildMultilineTextFieldComponent","partialMultilineTextField","MultilineTextField","buildYesNoFieldComponent","partialYesNoField","YesNoField","buildDeclarationFieldComponent","partialDeclarationField","content","DeclarationField","buildMonthYearFieldComponent","partialMonthYearField","MonthYearField","buildSelectFieldComponent","partialSelectField","list","SelectField","buildUkAddressFieldComponent","partialUkAddressField","UkAddressField","buildTelephoneNumberFieldComponent","partialTelephoneNumberField","TelephoneNumberField","buildEmailAddressFieldComponent","partialEmailAddressField","EmailAddressField","buildHtmlComponent","partialHtml","Html","buildInsetTextComponent","partialInsetText","InsetText","buildDetailsComponent","partialDetails","Details","buildListComponent","partialList","List","buildMarkdownComponent","partialMarkdown","Markdown","buildFileUploadComponent","partialFileUploadField","FileUploadField","buildAutoCompleteComponent","partialAutoCompleteField","AutocompleteField","buildRadioComponent","partialListComponent","RadiosField","buildCheckboxComponent","CheckboxesField","buildPaymentComponent","partialComponent","amount","description","PaymentField","buildListItem","partialListItem","text","value","buildList","items","buildNumberFieldComponent","NumberField","buildDateComponent","DatePartsField","buildRadiosComponent","buildEastingNorthingFieldComponent","EastingNorthingField","buildLatLongFieldComponent","LatLongField","buildNationalGridFieldNumberFieldComponent","NationalGridFieldNumberField","buildOsGridRefFieldComponent","OsGridRefField"],"sources":["../../../src/__stubs__/components.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport {\n type AutocompleteFieldComponent,\n type CheckboxesFieldComponent,\n type DatePartsFieldComponent,\n type DeclarationFieldComponent,\n type DetailsComponent,\n type EastingNorthingFieldComponent,\n type EmailAddressFieldComponent,\n type FileUploadFieldComponent,\n type HtmlComponent,\n type InsetTextComponent,\n type LatLongFieldComponent,\n type ListComponent,\n type MarkdownComponent,\n type MonthYearFieldComponent,\n type MultilineTextFieldComponent,\n type NationalGridFieldNumberFieldComponent,\n type NumberFieldComponent,\n type OsGridRefFieldComponent,\n type PaymentFieldComponent,\n type RadiosFieldComponent,\n type SelectFieldComponent,\n type TelephoneNumberFieldComponent,\n type TextFieldComponent,\n type UkAddressFieldComponent,\n type YesNoFieldComponent\n} from '~/src/components/types.js'\nimport { type Item, type List } from '~/src/form/form-definition/types.js'\n\n/**\n * @param {Partial<TextFieldComponent>} partialTextField\n * @returns {TextFieldComponent}\n */\nexport function buildTextFieldComponent(\n partialTextField: Partial<TextFieldComponent> = {}\n): TextFieldComponent {\n return {\n id: '407dd0d7-cce9-4f43-8e1f-7d89cb698875',\n name: 'TextField',\n title: 'Text field',\n hint: '',\n options: {},\n schema: {},\n ...partialTextField,\n type: ComponentType.TextField\n }\n}\n\nexport function buildMultilineTextFieldComponent(\n partialMultilineTextField: Partial<MultilineTextFieldComponent> = {}\n): MultilineTextFieldComponent {\n return {\n id: '72671f23-552e-4504-a06a-693e240880d5',\n name: 'MuTeCo',\n options: {},\n schema: {},\n title: 'Multiline TextField Component',\n ...partialMultilineTextField,\n type: ComponentType.MultilineTextField\n }\n}\n\nexport function buildYesNoFieldComponent(\n partialYesNoField: Partial<YesNoFieldComponent> = {}\n): YesNoFieldComponent {\n return {\n title: 'YesNo Field Component',\n id: 'be7f849c-47d8-4f1f-ba15-ab939dc70914',\n name: 'YesNoFieldComponent',\n options: {},\n ...partialYesNoField,\n type: ComponentType.YesNoField\n }\n}\n\nexport function buildDeclarationFieldComponent(\n partialDeclarationField: Partial<DeclarationFieldComponent> = {}\n): DeclarationFieldComponent {\n return {\n title: 'Declaration',\n id: 'f2a8c9e1-3d4f-4b5a-8c6d-1e2f3a4b5c6d',\n name: 'DeclarationFieldComponent',\n content: '',\n options: {},\n ...partialDeclarationField,\n type: ComponentType.DeclarationField\n }\n}\nexport function buildMonthYearFieldComponent(\n partialMonthYearField: Partial<MonthYearFieldComponent> = {}\n): MonthYearFieldComponent {\n return {\n id: 'd4e99aca-6d13-4c1a-a623-9e9e5b27d46d',\n title: 'MonthYearFieldComponent',\n name: 'MonthYearFieldComponent',\n options: {},\n ...partialMonthYearField,\n type: ComponentType.MonthYearField\n }\n}\nexport function buildSelectFieldComponent(\n partialSelectField: Partial<SelectFieldComponent> = {}\n): SelectFieldComponent {\n return {\n id: '7f219cf6-3e16-4549-b8df-789506682147',\n list: '',\n name: '',\n options: {},\n title: '',\n ...partialSelectField,\n type: ComponentType.SelectField\n }\n}\nexport function buildUkAddressFieldComponent(\n partialUkAddressField: Partial<UkAddressFieldComponent> = {}\n): UkAddressFieldComponent {\n return {\n id: 'a7cb7440-9095-44cd-9136-2914232722c8',\n title: 'UkAddressFieldComponent',\n name: 'UkAddressFieldComponent',\n options: {},\n ...partialUkAddressField,\n type: ComponentType.UkAddressField\n }\n}\nexport function buildTelephoneNumberFieldComponent(\n partialTelephoneNumberField: Partial<TelephoneNumberFieldComponent> = {}\n): TelephoneNumberFieldComponent {\n return {\n id: '69907916-beac-4faa-b469-656dad5edced',\n title: 'TelephoneNumberFieldComponent',\n name: 'TelephoneNumberFieldComponent',\n options: {},\n ...partialTelephoneNumberField,\n type: ComponentType.TelephoneNumberField\n }\n}\nexport function buildEmailAddressFieldComponent(\n partialEmailAddressField: Partial<EmailAddressFieldComponent> = {}\n): EmailAddressFieldComponent {\n return {\n id: '9dcf0781-bf34-48c8-b13b-d13050dc34d9',\n title: 'EmailAddressFieldComponent',\n name: 'EmailAddressFieldComponent',\n options: {},\n ...partialEmailAddressField,\n type: ComponentType.EmailAddressField\n }\n}\n\nexport function buildHtmlComponent(\n partialHtml: Partial<HtmlComponent> = {}\n): HtmlComponent {\n return {\n id: 'bac683ce-149e-4740-95aa-8289b35bc327',\n title: 'HtmlComponent',\n name: 'HtmlComponent',\n options: {},\n content: '',\n ...partialHtml,\n type: ComponentType.Html\n }\n}\nexport function buildInsetTextComponent(\n partialInsetText: Partial<InsetTextComponent> = {}\n): InsetTextComponent {\n return {\n id: '6b717151-1e86-42b2-97a9-2201b0676e47',\n title: 'InsetText Component',\n name: 'InsetTextComponent',\n content: '',\n options: {},\n ...partialInsetText,\n type: ComponentType.InsetText\n }\n}\nexport function buildDetailsComponent(\n partialDetails: Partial<DetailsComponent> = {}\n): DetailsComponent {\n return {\n id: '245d54df-bb1e-488e-82f6-8f1e42c197e6',\n title: 'Details Component',\n name: 'DetailsComponent',\n content: '',\n options: {},\n ...partialDetails,\n type: ComponentType.Details\n }\n}\nexport function buildListComponent(\n partialList: Partial<ListComponent> = {}\n): ListComponent {\n return {\n id: '62f17168-c2ef-4978-bd42-bdaa5704e25f',\n title: 'List Component',\n name: 'ListComponent',\n list: '',\n options: {},\n ...partialList,\n type: ComponentType.List\n }\n}\nexport function buildMarkdownComponent(\n partialMarkdown: Partial<MarkdownComponent> = {}\n): MarkdownComponent {\n return {\n id: '4a2dc88c-be1a-4277-aff8-04220de2e778',\n title: 'Markdown Component',\n name: 'MarkdownComponent',\n options: {},\n content: '',\n ...partialMarkdown,\n type: ComponentType.Markdown\n }\n}\n\n/**\n * @param {Partial<FileUploadFieldComponent>} partialFileUploadField\n * @returns {FileUploadFieldComponent}\n */\nexport function buildFileUploadComponent(\n partialFileUploadField: Partial<FileUploadFieldComponent> = {}\n): FileUploadFieldComponent {\n return {\n name: 'FileUploadField',\n title: 'File Upload Field',\n options: {},\n schema: {},\n ...partialFileUploadField,\n type: ComponentType.FileUploadField\n }\n}\n\n/**\n *\n * @param {Partial<AutocompleteFieldComponent>} partialAutoCompleteField\n * @returns {AutocompleteFieldComponent}\n */\nexport function buildAutoCompleteComponent(\n partialAutoCompleteField: Partial<AutocompleteFieldComponent> = {}\n): AutocompleteFieldComponent {\n return {\n name: 'AutoCompleteField',\n title: 'What languages do you speak?',\n list: 'AutoCompleteList',\n options: {},\n ...partialAutoCompleteField,\n type: ComponentType.AutocompleteField\n }\n}\n\n/**\n * @param {Partial<RadiosFieldComponent>} partialListComponent\n * @returns {RadiosFieldComponent}\n */\nexport function buildRadioComponent(\n partialListComponent: Partial<RadiosFieldComponent> = {}\n): RadiosFieldComponent {\n return {\n id: '34455d57-df37-4b69-a64f-6c3af0317ebe',\n name: 'RadioField',\n title: 'Which country do you live in?',\n list: 'RadioList',\n options: {},\n ...partialListComponent,\n type: ComponentType.RadiosField\n }\n}\n\n/**\n * @param {Partial<CheckboxesFieldComponent>} partialListComponent\n * @returns {CheckboxesFieldComponent}\n */\nexport function buildCheckboxComponent(\n partialListComponent: Partial<CheckboxesFieldComponent> = {}\n): CheckboxesFieldComponent {\n return {\n name: 'FellowshipOfTheRing',\n title: 'Which are your favourite characters from the fellowship?',\n list: 'CheckboxList',\n options: {},\n ...partialListComponent,\n type: ComponentType.CheckboxesField\n }\n}\n\n/**\n * @param {Partial<PaymentFieldComponent>} partialComponent\n * @returns {PaymentFieldComponent}\n */\nexport function buildPaymentComponent(\n partialComponent: Partial<PaymentFieldComponent> = {}\n): PaymentFieldComponent {\n return {\n name: 'Payment',\n title: 'Some payment',\n options: {\n amount: 125,\n description: 'Payment description'\n },\n ...partialComponent,\n type: ComponentType.PaymentField\n }\n}\n\n/**\n * Builder to create a stub List item\n * @param {Partial<Item>} partialListItem\n * @returns {Item}\n */\nexport function buildListItem(partialListItem: Partial<Item> = {}): Item {\n return {\n text: 'Javascript',\n value: 'javascript',\n ...partialListItem\n }\n}\n\n/**\n * @param {Partial<List>} partialList\n * @returns {List}\n */\nexport function buildList(partialList: Partial<List> = {}): List {\n return {\n title: 'Development language2',\n name: 'YhmNDD',\n type: 'string',\n items: [\n buildListItem({\n text: 'Javascript',\n value: 'javascript'\n }),\n buildListItem({\n text: 'TypeScript',\n value: 'typescript'\n }),\n buildListItem({\n text: 'Python',\n value: 'python'\n }),\n buildListItem({\n text: 'Haskell',\n value: 'haskell'\n }),\n buildListItem({\n text: 'Erlang',\n value: 'erlang'\n }),\n buildListItem({\n text: 'Java',\n value: 'java'\n })\n ],\n ...partialList\n }\n}\n\nexport function buildNumberFieldComponent(\n partialComponent: Partial<NumberFieldComponent> = {}\n): NumberFieldComponent {\n return {\n name: 'year',\n title: 'Year',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.NumberField\n }\n}\n\nexport function buildDateComponent(\n partialComponent: Partial<DatePartsFieldComponent> = {}\n): DatePartsFieldComponent {\n return {\n name: 'bcdefg',\n title: 'Default title',\n options: {},\n ...partialComponent,\n type: ComponentType.DatePartsField\n }\n}\n\nexport function buildRadiosComponent(\n partialComponent: Partial<RadiosFieldComponent> = {}\n): RadiosFieldComponent {\n return {\n name: 'cdefgh',\n title: 'Default title',\n options: {},\n list: 'Default list Id ref',\n ...partialComponent,\n type: ComponentType.RadiosField\n }\n}\n\nexport function buildEastingNorthingFieldComponent(\n partialComponent: Partial<EastingNorthingFieldComponent> = {}\n): EastingNorthingFieldComponent {\n return {\n id: '1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p',\n name: 'EastingNorthingField',\n title: 'Easting and northing',\n hint: 'For example, Easting: 248741, Northing: 63688',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.EastingNorthingField\n }\n}\n\nexport function buildLatLongFieldComponent(\n partialComponent: Partial<LatLongFieldComponent> = {}\n): LatLongFieldComponent {\n return {\n id: '2b3c4d5e-6f7g-8h9i-0j1k-2l3m4n5o6p7q',\n name: 'LatLongField',\n title: 'Latitude and longitude',\n hint: 'For example, Latitude: 51.5074, Longitude: -0.1278',\n options: {},\n schema: {},\n ...partialComponent,\n type: ComponentType.LatLongField\n }\n}\n\nexport function buildNationalGridFieldNumberFieldComponent(\n partialComponent: Partial<NationalGridFieldNumberFieldComponent> = {}\n): NationalGridFieldNumberFieldComponent {\n return {\n id: '3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r',\n name: 'NationalGridFieldNumberField',\n title: 'National Grid field number',\n hint: 'A National Grid field number is made up of 2 letters and 8 numbers, for example, NG 1234 5678',\n options: {},\n ...partialComponent,\n type: ComponentType.NationalGridFieldNumberField\n }\n}\n\nexport function buildOsGridRefFieldComponent(\n partialComponent: Partial<OsGridRefFieldComponent> = {}\n): OsGridRefFieldComponent {\n return {\n id: '4d5e6f7g-8h9i-0j1k-2l3m-4n5o6p7q8r9s',\n name: 'OsGridRefField',\n title: 'Ordnance Survey (OS) grid reference',\n hint: 'An OS grid reference number is made up of 2 letters followed by either 6, 8 or 10 numbers, for example, TQ123456',\n options: {},\n ...partialComponent,\n type: ComponentType.OsGridRefField\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -165,6 +165,9 @@ export const ComponentTypes = Object.freeze([{
165
165
  title: 'Payment field',
166
166
  type: ComponentType.PaymentField,
167
167
  hint: '',
168
- options: {}
168
+ options: {
169
+ amount: 1,
170
+ description: 'payment desc'
171
+ }
169
172
  }]);
170
173
  //# 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","HiddenField","PaymentField"],"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 either 6, 8 or 10 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, NG 1234 5678',\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 name: 'PaymentField',\n title: 'Payment field',\n type: ComponentType.PaymentField,\n hint: '',\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","PaymentField","amount","description"],"sources":["../../../src/components/component-types.ts"],"sourcesContent":["import { ComponentType } from '~/src/components/enums.js'\nimport {\n type ComponentDef,\n type PaymentFieldComponent\n} 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 either 6, 8 or 10 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, NG 1234 5678',\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 name: 'PaymentField',\n title: 'Payment field',\n type: ComponentType.PaymentField,\n hint: '',\n options: {\n amount: 1,\n description: 'payment desc'\n }\n } as PaymentFieldComponent\n])\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import { type LanguageMessages } from 'joi'\n\nimport {\n type ComponentType,\n type PreviewTypeEnum\n} 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\nexport interface PaymentFieldComponent extends FormFieldBase {\n type: ComponentType.PaymentField\n options: FormFieldBase['options'] & {\n amount?: number\n description?: 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 | PaymentFieldComponent\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 | PaymentFieldComponent\n>\n\nexport type PreviewType = keyof typeof PreviewTypeEnum\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import { type LanguageMessages } from 'joi'\n\nimport {\n type ComponentType,\n type PreviewTypeEnum\n} 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\nexport interface PaymentFieldComponent extends FormFieldBase {\n type: ComponentType.PaymentField\n options: FormFieldBase['options'] & {\n amount: number\n description: 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 | PaymentFieldComponent\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 | PaymentFieldComponent\n>\n\nexport type PreviewType = keyof typeof PreviewTypeEnum\n"],"mappings":"","ignoreList":[]}
@@ -248,6 +248,35 @@ export class LocationPreviewElements extends QuestionPreviewElements {
248
248
  }
249
249
  }
250
250
 
251
+ /**
252
+ * @implements {PaymentElements}
253
+ */
254
+ export class PaymentPreviewElements extends QuestionPreviewElements {
255
+ /**
256
+ * @param {BaseSettings & {paymentAmount: number, paymentDescription: string}} elements
257
+ */
258
+ constructor({
259
+ paymentAmount,
260
+ paymentDescription,
261
+ ...elements
262
+ }) {
263
+ super(elements);
264
+ this._paymentAmount = paymentAmount;
265
+ this._paymentDescription = paymentDescription;
266
+ }
267
+
268
+ /**
269
+ * @returns {PaymentSettings}
270
+ */
271
+ get values() {
272
+ return {
273
+ ...super.values,
274
+ paymentAmount: this._paymentAmount,
275
+ paymentDescription: this._paymentDescription
276
+ };
277
+ }
278
+ }
279
+
251
280
  /**
252
281
  * @implements {PageOverviewElements}
253
282
  */
@@ -452,6 +481,6 @@ export class NumberPreviewElements {
452
481
  /**
453
482
  * @import { ListElement } from '~/src/form/form-editor/types.js'
454
483
  * @import { PagePreviewPanelMacro } from '~/src/form/form-editor/macros/types.js'
455
- * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer, UkAddressElements, UkAddressSettings, DeclarationElements, DeclarationSettings, LocationElements, LocationSettings } from '~/src/form/form-editor/preview/types.js'
484
+ * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer, UkAddressElements, UkAddressSettings, DeclarationElements, DeclarationSettings, LocationElements, LocationSettings, PaymentElements, PaymentSettings } from '~/src/form/form-editor/preview/types.js'
456
485
  */
457
486
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","names":["Question","QuestionRendererStub","renderMock","constructor","render","questionTemplate","questionBaseModel","buildHTML","_questionTemplate","_renderContext","PageRendererStub","pageTemplate","pagePreviewPanelMacro","QuestionPreviewElements","_question","_hintText","_optional","_shortDesc","_userClasses","_content","_items","afterInputsHTML","question","hintText","optional","shortDesc","userClasses","items","content","values","setPreviewHTML","_value","setPreviewDOM","AutocompletePreviewElements","autocompleteOptions","elements","UkAddressPreviewElements","usePostcodeLookup","_usePostcodeLookup","DeclarationPreviewElements","declarationText","_declarationText","LocationPreviewElements","instructionText","_instructionText","PagePreviewElements","guidance","heading","addHeading","repeatQuestion","hasRepeater","undefined","length","baseElements","largeTitle","numberElements","prefix","suffix","list1Id","list2Id","list3Id","list4Id","listElementsBase","label","text","value","id","listElementsStub","buildPreviewShortAnswer","partialBaseElements","NumberPreviewElements","_prefix","_suffix"],"sources":["../../../../../src/form/form-editor/__stubs__/preview.js"],"sourcesContent":["import { Question } from '~/src/form/form-editor/preview/question.js'\n\n/**\n * @implements {QuestionRenderer}\n */\nexport class QuestionRendererStub {\n /**\n * @type {jest.Mock<void, [string, QuestionBaseModel]>}\n */\n renderMock\n\n /**\n * @param {jest.Mock<void, [string, QuestionBaseModel]>} renderMock\n */\n constructor(renderMock) {\n this.renderMock = renderMock\n }\n\n /**\n * @param {string} questionTemplate\n * @param {QuestionBaseModel} questionBaseModel\n */\n render(questionTemplate, questionBaseModel) {\n this.renderMock(questionTemplate, questionBaseModel)\n }\n\n /**\n * @returns {string}\n * @param {string} _questionTemplate\n * @param {RenderContext} _renderContext\n */\n static buildHTML(_questionTemplate, _renderContext) {\n return '**** BUILT HTML ****'\n }\n}\n\n/**\n * @implements {PageRenderer}\n */\nexport class PageRendererStub {\n /**\n * @type {jest.Mock<void, [string, PagePreviewPanelMacro]>}\n */\n renderMock\n\n /**\n * @param {jest.Mock<void, [string, PagePreviewPanelMacro]>} renderMock\n */\n constructor(renderMock) {\n this.renderMock = renderMock\n }\n\n /**\n * @param {string} pageTemplate\n * @param {PagePreviewPanelMacro} pagePreviewPanelMacro\n */\n render(pageTemplate, pagePreviewPanelMacro) {\n this.renderMock(pageTemplate, pagePreviewPanelMacro)\n }\n\n /**\n * @returns {string}\n * @param {string} _questionTemplate\n * @param {RenderContext} _renderContext\n */\n static buildHTML(_questionTemplate, _renderContext) {\n return '**** BUILT HTML ****'\n }\n}\n\n/**\n * @implements {ListElements}\n */\nexport class QuestionPreviewElements {\n /**\n * @protected\n */\n _question = ''\n /** @protected */\n _hintText = ''\n /** @protected */\n _optional = false\n /**\n * @type {string}\n * @protected\n */\n _shortDesc = ''\n /**\n * @type {string}\n * @protected\n */\n _userClasses = ''\n /**\n * @type {string}\n * @protected\n */\n _content = ''\n /**\n *\n * @type {ListElement[]}\n * @private\n */\n _items = []\n afterInputsHTML = '<div class=\"govuk-inset-text\">No items added yet.</div>'\n\n /**\n * @param {BaseSettings} baseSettings\n */\n constructor({\n question,\n hintText,\n optional,\n shortDesc,\n userClasses,\n items,\n content\n }) {\n this._question = question\n this._hintText = hintText\n this._optional = optional\n this._shortDesc = shortDesc\n this._userClasses = userClasses\n this._items = items\n this._content = content\n }\n\n /**\n * @returns {BaseSettings}\n */\n get values() {\n return {\n question: this._question,\n hintText: this._hintText,\n optional: this._optional,\n shortDesc: this._shortDesc,\n userClasses: this._userClasses,\n items: this._items,\n content: this._content\n }\n }\n\n /**\n * @param {string} _value\n */\n setPreviewHTML(_value) {\n // Not implemented for server side render\n }\n\n /**\n * @param {HTMLElement} _value\n */\n setPreviewDOM(_value) {\n // Not implemented for server side render\n }\n}\n\n/**\n * @implements {AutocompleteElements}\n */\nexport class AutocompletePreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {autocompleteOptions: string}} elements\n */\n constructor({ autocompleteOptions, ...elements }) {\n super(elements)\n this.autocompleteOptions = autocompleteOptions\n }\n}\n\n/**\n * @implements {UkAddressElements}\n */\nexport class UkAddressPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {usePostcodeLookup?: boolean}} elements\n */\n constructor({ usePostcodeLookup, ...elements }) {\n super(elements)\n this._usePostcodeLookup = usePostcodeLookup ?? false\n }\n\n /**\n * @returns {UkAddressSettings}\n */\n get values() {\n return {\n ...super.values,\n usePostcodeLookup: this._usePostcodeLookup\n }\n }\n}\n\n/**\n * @implements {DeclarationElements}\n */\nexport class DeclarationPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {declarationText: string}} elements\n */\n constructor({ declarationText, ...elements }) {\n super(elements)\n this._declarationText = declarationText\n }\n\n /**\n * @returns {DeclarationSettings}\n */\n get values() {\n return {\n ...super.values,\n declarationText: this._declarationText\n }\n }\n}\n\n/**\n * @implements {LocationElements}\n */\nexport class LocationPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {instructionText?: string}} elements\n */\n constructor({ instructionText, ...elements }) {\n super(elements)\n this._instructionText = instructionText ?? ''\n }\n\n /**\n * @returns {LocationSettings}\n */\n get values() {\n return {\n ...super.values,\n instructionText: this._instructionText\n }\n }\n}\n\n/**\n * @implements {PageOverviewElements}\n */\nexport class PagePreviewElements {\n guidance\n heading\n addHeading\n repeatQuestion\n hasRepeater\n\n /**\n * @param {string} heading\n * @param {string} guidance\n * @param {boolean} [addHeading]\n * @param {string} repeatQuestion\n * @param {boolean} hasRepeater\n */\n constructor(\n heading,\n guidance = '',\n addHeading = undefined,\n repeatQuestion = '',\n hasRepeater = false\n ) {\n this.heading = heading\n this.guidance = guidance\n this.addHeading = addHeading ?? heading.length > 0\n this.repeatQuestion = repeatQuestion\n this.hasRepeater = hasRepeater\n }\n}\n\nexport const baseElements = /** @type {BaseSettings} */ ({\n items: [],\n optional: false,\n question: 'Which quest would you like to pick?',\n hintText: 'Choose one adventure that best suits you.',\n userClasses: '',\n shortDesc: '',\n content: '',\n largeTitle: true\n})\n\nexport const numberElements = /** @type {NumberSettings} */ ({\n items: [],\n optional: false,\n question: 'Which quest would you like to pick?',\n hintText: 'Choose one adventure that best suits you.',\n userClasses: '',\n shortDesc: '',\n content: '',\n largeTitle: true,\n prefix: '',\n suffix: ''\n})\n\nconst list1Id = '414d82a3-4cab-416a-bd54-6b86fbd51120'\nconst list2Id = '801385a4-81e6-4171-96c3-6c6727d97f22'\nconst list3Id = 'e6e3f621-b875-4ca3-a054-cca9149149dd'\nconst list4Id = 'd71b3909-582f-4e90-b6f5-490b89a6eb8f'\n\nconst listElementsBase = /** @type {BaseSettings} */ ({\n ...baseElements,\n items: [\n {\n label: { text: 'Treasure Hunting' },\n text: 'Treasure Hunting',\n value: 'Treasure Hunting',\n id: list1Id\n },\n {\n label: { text: 'Rescuing the princess' },\n text: 'Rescuing the princess',\n value: 'Rescuing the princess',\n id: list2Id\n },\n {\n label: { text: 'Saving a city' },\n text: 'Saving a city',\n value: 'Saving a city',\n id: list3Id\n },\n {\n label: { text: 'Defeating the baron' },\n text: 'Defeating the baron',\n value: 'Defeating the baron',\n id: list4Id\n }\n ]\n})\n\nexport const listElementsStub = {\n list1Id,\n list2Id,\n list3Id,\n list4Id,\n baseElements: listElementsBase\n}\n\n/**\n * @param {Partial<BaseSettings>} partialBaseElements\n * @param {jest.Mock<void, [string, QuestionBaseModel]>} renderMock\n * @returns {Question}\n */\nexport function buildPreviewShortAnswer(partialBaseElements, renderMock) {\n return new Question(\n new QuestionPreviewElements({\n ...baseElements,\n ...partialBaseElements\n }),\n new QuestionRendererStub(renderMock)\n )\n}\n\nexport class NumberPreviewElements {\n /**\n * @protected\n */\n _question = ''\n /** @protected */\n _hintText = ''\n /** @protected */\n _optional = false\n /**\n * @type {string}\n * @protected\n */\n _shortDesc = ''\n /**\n * @type {string}\n * @protected\n */\n _userClasses = ''\n /**\n * @type {string}\n * @protected\n */\n _prefix = ''\n /**\n * @type {string}\n * @protected\n */\n _suffix = ''\n /**\n * @type {string}\n * @protected\n */\n _content = ''\n /**\n *\n * @type {ListElement[]}\n * @private\n */\n _items = []\n afterInputsHTML = '<div class=\"govuk-inset-text\">No items added yet.</div>'\n\n /**\n * @param {NumberSettings} baseSettings\n */\n constructor({\n question,\n hintText,\n optional,\n shortDesc,\n userClasses,\n prefix,\n suffix,\n items,\n content\n }) {\n this._question = question\n this._hintText = hintText\n this._optional = optional\n this._shortDesc = shortDesc\n this._userClasses = userClasses\n this._prefix = prefix\n this._suffix = suffix\n this._items = items\n this._content = content\n }\n\n /**\n * @returns {NumberSettings}\n */\n get values() {\n return {\n question: this._question,\n hintText: this._hintText,\n optional: this._optional,\n shortDesc: this._shortDesc,\n userClasses: this._userClasses,\n prefix: this._prefix,\n suffix: this._suffix,\n items: this._items,\n content: this._content\n }\n }\n\n /**\n * @param {string} _value\n */\n setPreviewHTML(_value) {\n // Not implemented for server side render\n }\n\n /**\n * @param {HTMLElement} _value\n */\n setPreviewDOM(_value) {\n // Not implemented for server side render\n }\n}\n\n/**\n * @import { ListElement } from '~/src/form/form-editor/types.js'\n * @import { PagePreviewPanelMacro } from '~/src/form/form-editor/macros/types.js'\n * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer, UkAddressElements, UkAddressSettings, DeclarationElements, DeclarationSettings, LocationElements, LocationSettings } from '~/src/form/form-editor/preview/types.js'\n */\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"preview.js","names":["Question","QuestionRendererStub","renderMock","constructor","render","questionTemplate","questionBaseModel","buildHTML","_questionTemplate","_renderContext","PageRendererStub","pageTemplate","pagePreviewPanelMacro","QuestionPreviewElements","_question","_hintText","_optional","_shortDesc","_userClasses","_content","_items","afterInputsHTML","question","hintText","optional","shortDesc","userClasses","items","content","values","setPreviewHTML","_value","setPreviewDOM","AutocompletePreviewElements","autocompleteOptions","elements","UkAddressPreviewElements","usePostcodeLookup","_usePostcodeLookup","DeclarationPreviewElements","declarationText","_declarationText","LocationPreviewElements","instructionText","_instructionText","PaymentPreviewElements","paymentAmount","paymentDescription","_paymentAmount","_paymentDescription","PagePreviewElements","guidance","heading","addHeading","repeatQuestion","hasRepeater","undefined","length","baseElements","largeTitle","numberElements","prefix","suffix","list1Id","list2Id","list3Id","list4Id","listElementsBase","label","text","value","id","listElementsStub","buildPreviewShortAnswer","partialBaseElements","NumberPreviewElements","_prefix","_suffix"],"sources":["../../../../../src/form/form-editor/__stubs__/preview.js"],"sourcesContent":["import { Question } from '~/src/form/form-editor/preview/question.js'\n\n/**\n * @implements {QuestionRenderer}\n */\nexport class QuestionRendererStub {\n /**\n * @type {jest.Mock<void, [string, QuestionBaseModel]>}\n */\n renderMock\n\n /**\n * @param {jest.Mock<void, [string, QuestionBaseModel]>} renderMock\n */\n constructor(renderMock) {\n this.renderMock = renderMock\n }\n\n /**\n * @param {string} questionTemplate\n * @param {QuestionBaseModel} questionBaseModel\n */\n render(questionTemplate, questionBaseModel) {\n this.renderMock(questionTemplate, questionBaseModel)\n }\n\n /**\n * @returns {string}\n * @param {string} _questionTemplate\n * @param {RenderContext} _renderContext\n */\n static buildHTML(_questionTemplate, _renderContext) {\n return '**** BUILT HTML ****'\n }\n}\n\n/**\n * @implements {PageRenderer}\n */\nexport class PageRendererStub {\n /**\n * @type {jest.Mock<void, [string, PagePreviewPanelMacro]>}\n */\n renderMock\n\n /**\n * @param {jest.Mock<void, [string, PagePreviewPanelMacro]>} renderMock\n */\n constructor(renderMock) {\n this.renderMock = renderMock\n }\n\n /**\n * @param {string} pageTemplate\n * @param {PagePreviewPanelMacro} pagePreviewPanelMacro\n */\n render(pageTemplate, pagePreviewPanelMacro) {\n this.renderMock(pageTemplate, pagePreviewPanelMacro)\n }\n\n /**\n * @returns {string}\n * @param {string} _questionTemplate\n * @param {RenderContext} _renderContext\n */\n static buildHTML(_questionTemplate, _renderContext) {\n return '**** BUILT HTML ****'\n }\n}\n\n/**\n * @implements {ListElements}\n */\nexport class QuestionPreviewElements {\n /**\n * @protected\n */\n _question = ''\n /** @protected */\n _hintText = ''\n /** @protected */\n _optional = false\n /**\n * @type {string}\n * @protected\n */\n _shortDesc = ''\n /**\n * @type {string}\n * @protected\n */\n _userClasses = ''\n /**\n * @type {string}\n * @protected\n */\n _content = ''\n /**\n *\n * @type {ListElement[]}\n * @private\n */\n _items = []\n afterInputsHTML = '<div class=\"govuk-inset-text\">No items added yet.</div>'\n\n /**\n * @param {BaseSettings} baseSettings\n */\n constructor({\n question,\n hintText,\n optional,\n shortDesc,\n userClasses,\n items,\n content\n }) {\n this._question = question\n this._hintText = hintText\n this._optional = optional\n this._shortDesc = shortDesc\n this._userClasses = userClasses\n this._items = items\n this._content = content\n }\n\n /**\n * @returns {BaseSettings}\n */\n get values() {\n return {\n question: this._question,\n hintText: this._hintText,\n optional: this._optional,\n shortDesc: this._shortDesc,\n userClasses: this._userClasses,\n items: this._items,\n content: this._content\n }\n }\n\n /**\n * @param {string} _value\n */\n setPreviewHTML(_value) {\n // Not implemented for server side render\n }\n\n /**\n * @param {HTMLElement} _value\n */\n setPreviewDOM(_value) {\n // Not implemented for server side render\n }\n}\n\n/**\n * @implements {AutocompleteElements}\n */\nexport class AutocompletePreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {autocompleteOptions: string}} elements\n */\n constructor({ autocompleteOptions, ...elements }) {\n super(elements)\n this.autocompleteOptions = autocompleteOptions\n }\n}\n\n/**\n * @implements {UkAddressElements}\n */\nexport class UkAddressPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {usePostcodeLookup?: boolean}} elements\n */\n constructor({ usePostcodeLookup, ...elements }) {\n super(elements)\n this._usePostcodeLookup = usePostcodeLookup ?? false\n }\n\n /**\n * @returns {UkAddressSettings}\n */\n get values() {\n return {\n ...super.values,\n usePostcodeLookup: this._usePostcodeLookup\n }\n }\n}\n\n/**\n * @implements {DeclarationElements}\n */\nexport class DeclarationPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {declarationText: string}} elements\n */\n constructor({ declarationText, ...elements }) {\n super(elements)\n this._declarationText = declarationText\n }\n\n /**\n * @returns {DeclarationSettings}\n */\n get values() {\n return {\n ...super.values,\n declarationText: this._declarationText\n }\n }\n}\n\n/**\n * @implements {LocationElements}\n */\nexport class LocationPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {instructionText?: string}} elements\n */\n constructor({ instructionText, ...elements }) {\n super(elements)\n this._instructionText = instructionText ?? ''\n }\n\n /**\n * @returns {LocationSettings}\n */\n get values() {\n return {\n ...super.values,\n instructionText: this._instructionText\n }\n }\n}\n\n/**\n * @implements {PaymentElements}\n */\nexport class PaymentPreviewElements extends QuestionPreviewElements {\n /**\n * @param {BaseSettings & {paymentAmount: number, paymentDescription: string}} elements\n */\n constructor({ paymentAmount, paymentDescription, ...elements }) {\n super(elements)\n this._paymentAmount = paymentAmount\n this._paymentDescription = paymentDescription\n }\n\n /**\n * @returns {PaymentSettings}\n */\n get values() {\n return {\n ...super.values,\n paymentAmount: this._paymentAmount,\n paymentDescription: this._paymentDescription\n }\n }\n}\n\n/**\n * @implements {PageOverviewElements}\n */\nexport class PagePreviewElements {\n guidance\n heading\n addHeading\n repeatQuestion\n hasRepeater\n\n /**\n * @param {string} heading\n * @param {string} guidance\n * @param {boolean} [addHeading]\n * @param {string} repeatQuestion\n * @param {boolean} hasRepeater\n */\n constructor(\n heading,\n guidance = '',\n addHeading = undefined,\n repeatQuestion = '',\n hasRepeater = false\n ) {\n this.heading = heading\n this.guidance = guidance\n this.addHeading = addHeading ?? heading.length > 0\n this.repeatQuestion = repeatQuestion\n this.hasRepeater = hasRepeater\n }\n}\n\nexport const baseElements = /** @type {BaseSettings} */ ({\n items: [],\n optional: false,\n question: 'Which quest would you like to pick?',\n hintText: 'Choose one adventure that best suits you.',\n userClasses: '',\n shortDesc: '',\n content: '',\n largeTitle: true\n})\n\nexport const numberElements = /** @type {NumberSettings} */ ({\n items: [],\n optional: false,\n question: 'Which quest would you like to pick?',\n hintText: 'Choose one adventure that best suits you.',\n userClasses: '',\n shortDesc: '',\n content: '',\n largeTitle: true,\n prefix: '',\n suffix: ''\n})\n\nconst list1Id = '414d82a3-4cab-416a-bd54-6b86fbd51120'\nconst list2Id = '801385a4-81e6-4171-96c3-6c6727d97f22'\nconst list3Id = 'e6e3f621-b875-4ca3-a054-cca9149149dd'\nconst list4Id = 'd71b3909-582f-4e90-b6f5-490b89a6eb8f'\n\nconst listElementsBase = /** @type {BaseSettings} */ ({\n ...baseElements,\n items: [\n {\n label: { text: 'Treasure Hunting' },\n text: 'Treasure Hunting',\n value: 'Treasure Hunting',\n id: list1Id\n },\n {\n label: { text: 'Rescuing the princess' },\n text: 'Rescuing the princess',\n value: 'Rescuing the princess',\n id: list2Id\n },\n {\n label: { text: 'Saving a city' },\n text: 'Saving a city',\n value: 'Saving a city',\n id: list3Id\n },\n {\n label: { text: 'Defeating the baron' },\n text: 'Defeating the baron',\n value: 'Defeating the baron',\n id: list4Id\n }\n ]\n})\n\nexport const listElementsStub = {\n list1Id,\n list2Id,\n list3Id,\n list4Id,\n baseElements: listElementsBase\n}\n\n/**\n * @param {Partial<BaseSettings>} partialBaseElements\n * @param {jest.Mock<void, [string, QuestionBaseModel]>} renderMock\n * @returns {Question}\n */\nexport function buildPreviewShortAnswer(partialBaseElements, renderMock) {\n return new Question(\n new QuestionPreviewElements({\n ...baseElements,\n ...partialBaseElements\n }),\n new QuestionRendererStub(renderMock)\n )\n}\n\nexport class NumberPreviewElements {\n /**\n * @protected\n */\n _question = ''\n /** @protected */\n _hintText = ''\n /** @protected */\n _optional = false\n /**\n * @type {string}\n * @protected\n */\n _shortDesc = ''\n /**\n * @type {string}\n * @protected\n */\n _userClasses = ''\n /**\n * @type {string}\n * @protected\n */\n _prefix = ''\n /**\n * @type {string}\n * @protected\n */\n _suffix = ''\n /**\n * @type {string}\n * @protected\n */\n _content = ''\n /**\n *\n * @type {ListElement[]}\n * @private\n */\n _items = []\n afterInputsHTML = '<div class=\"govuk-inset-text\">No items added yet.</div>'\n\n /**\n * @param {NumberSettings} baseSettings\n */\n constructor({\n question,\n hintText,\n optional,\n shortDesc,\n userClasses,\n prefix,\n suffix,\n items,\n content\n }) {\n this._question = question\n this._hintText = hintText\n this._optional = optional\n this._shortDesc = shortDesc\n this._userClasses = userClasses\n this._prefix = prefix\n this._suffix = suffix\n this._items = items\n this._content = content\n }\n\n /**\n * @returns {NumberSettings}\n */\n get values() {\n return {\n question: this._question,\n hintText: this._hintText,\n optional: this._optional,\n shortDesc: this._shortDesc,\n userClasses: this._userClasses,\n prefix: this._prefix,\n suffix: this._suffix,\n items: this._items,\n content: this._content\n }\n }\n\n /**\n * @param {string} _value\n */\n setPreviewHTML(_value) {\n // Not implemented for server side render\n }\n\n /**\n * @param {HTMLElement} _value\n */\n setPreviewDOM(_value) {\n // Not implemented for server side render\n }\n}\n\n/**\n * @import { ListElement } from '~/src/form/form-editor/types.js'\n * @import { PagePreviewPanelMacro } from '~/src/form/form-editor/macros/types.js'\n * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer, UkAddressElements, UkAddressSettings, DeclarationElements, DeclarationSettings, LocationElements, LocationSettings, PaymentElements, PaymentSettings } from '~/src/form/form-editor/preview/types.js'\n */\n"],"mappings":"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","ignoreList":[]}
@@ -9,8 +9,8 @@ export let QuestionTypeSubGroup = /*#__PURE__*/function (QuestionTypeSubGroup) {
9
9
  return QuestionTypeSubGroup;
10
10
  }({});
11
11
  export const pageTypeSchema = Joi.string().required().valid('question', 'guidance').description('Type of page - either a question page or guidance page');
12
- export const questionTypeSchema = Joi.string().required().valid(QuestionTypeSubGroup.WrittenAnswerSubGroup, QuestionTypeSubGroup.DateSubGroup, QuestionTypeSubGroup.LocationSubGroup, ComponentType.UkAddressField, ComponentType.TelephoneNumberField, ComponentType.FileUploadField, ComponentType.EmailAddressField, ComponentType.DeclarationField, QuestionTypeSubGroup.ListSubGroup, ComponentType.YesNoField, ComponentType.CheckboxesField, ComponentType.RadiosField, ComponentType.AutocompleteField).description('The high-level type of question, including grouped types');
13
- export const questionTypeFullSchema = Joi.string().required().valid(ComponentType.TextField, ComponentType.MultilineTextField, ComponentType.NumberField, ComponentType.DatePartsField, ComponentType.MonthYearField, ComponentType.UkAddressField, ComponentType.TelephoneNumberField, ComponentType.FileUploadField, ComponentType.EmailAddressField, ComponentType.DeclarationField, ComponentType.YesNoField, ComponentType.CheckboxesField, ComponentType.RadiosField, ComponentType.AutocompleteField, ComponentType.SelectField, ComponentType.EastingNorthingField, ComponentType.OsGridRefField, ComponentType.NationalGridFieldNumberField, ComponentType.LatLongField).description('The specific component type to use for this question');
12
+ export const questionTypeSchema = Joi.string().required().valid(QuestionTypeSubGroup.WrittenAnswerSubGroup, QuestionTypeSubGroup.DateSubGroup, QuestionTypeSubGroup.LocationSubGroup, ComponentType.UkAddressField, ComponentType.TelephoneNumberField, ComponentType.FileUploadField, ComponentType.EmailAddressField, ComponentType.DeclarationField, QuestionTypeSubGroup.ListSubGroup, ComponentType.YesNoField, ComponentType.CheckboxesField, ComponentType.RadiosField, ComponentType.AutocompleteField, ComponentType.PaymentField).description('The high-level type of question, including grouped types');
13
+ export const questionTypeFullSchema = Joi.string().required().valid(ComponentType.TextField, ComponentType.MultilineTextField, ComponentType.NumberField, ComponentType.DatePartsField, ComponentType.MonthYearField, ComponentType.UkAddressField, ComponentType.TelephoneNumberField, ComponentType.FileUploadField, ComponentType.EmailAddressField, ComponentType.DeclarationField, ComponentType.YesNoField, ComponentType.CheckboxesField, ComponentType.RadiosField, ComponentType.AutocompleteField, ComponentType.SelectField, ComponentType.EastingNorthingField, ComponentType.OsGridRefField, ComponentType.NationalGridFieldNumberField, ComponentType.LatLongField, ComponentType.PaymentField).description('The specific component type to use for this question');
14
14
  export const writtenAnswerSubSchema = Joi.string().required().valid(ComponentType.TextField, ComponentType.MultilineTextField, ComponentType.NumberField).description('Subtype for written answer questions');
15
15
  export const dateSubSchema = Joi.string().required().valid(ComponentType.DatePartsField, ComponentType.MonthYearField).description('Subtype for date-related questions');
16
16
  export const listSubSchema = Joi.string().required().valid(ComponentType.YesNoField, ComponentType.CheckboxesField, ComponentType.RadiosField, ComponentType.AutocompleteField, ComponentType.SelectField).description('Subtype for list-related questions');
@@ -62,6 +62,8 @@ export const suffixSchema = Joi.string().trim().optional().allow('').description
62
62
  export const classesSchema = Joi.string().trim().optional().allow('').description('Custom CSS classes to apply to the component');
63
63
  export const jsEnabledSchema = Joi.string().trim().optional().allow('false', 'true').description('Flag to show if Javascript is enabled or not');
64
64
  export const usePostcodeLookupSchema = Joi.string().trim().optional().valid('', 'true').description('Indicates whether a UK address component supports postcode lookup. Empty string or "true" values are accepted.');
65
+ export const paymentDescriptionSchema = Joi.string().trim().max(230).required().description('Description of payment - appears in payment providers pages');
66
+ export const paymentAmountSchema = Joi.number().empty('').min(0.3).max(100000).description('Amount of payment in pounds');
65
67
  export const customValidator = Joi.extend(joi => {
66
68
  return {
67
69
  type: 'dsv',
@@ -194,6 +196,8 @@ export const questionDetailsFullSchema = {
194
196
  minLengthSchema,
195
197
  minSchema,
196
198
  nameSchema,
199
+ paymentAmountSchema,
200
+ paymentDescriptionSchema,
197
201
  precisionSchema,
198
202
  prefixSchema,
199
203
  questionOptionalSchema,
@@ -253,7 +257,7 @@ export const formEditorInputPageSettingsKeys = {
253
257
  */
254
258
  export const formEditorInputPageSettingsSchema = Joi.object().keys(formEditorInputPageSettingsKeys).required().description('Settings for page content and display in the form editor');
255
259
  export function govukFieldValueIsString(govukField) {
256
- return ['question', 'hintText', 'shortDescription', 'autoCompleteOptions', 'classes', 'prefix', 'suffix'].includes(`${govukField.name}`);
260
+ return ['question', 'hintText', 'shortDescription', 'autoCompleteOptions', 'classes', 'prefix', 'suffix', 'paymentAmount', 'paymentDescription'].includes(`${govukField.name}`);
257
261
  }
258
262
  export function govukFieldIsChecked(govukField) {
259
263
  if (govukField.name !== 'questionOptional' && govukField.name !== 'usePostcodeLookup') {