@defra/forms-model 3.0.687 → 3.0.689

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 (54) hide show
  1. package/dist/module/__stubs__/examples.js +185 -0
  2. package/dist/module/__stubs__/examples.js.map +1 -0
  3. package/dist/module/components/helpers.js +4 -0
  4. package/dist/module/components/helpers.js.map +1 -1
  5. package/dist/module/components/types.js.map +1 -1
  6. package/dist/module/form/form-editor/translations/translations-config.js +168 -0
  7. package/dist/module/form/form-editor/translations/translations-config.js.map +1 -0
  8. package/dist/module/form/form-editor/translations/translations-overview.js +93 -0
  9. package/dist/module/form/form-editor/translations/translations-overview.js.map +1 -0
  10. package/dist/module/form/form-editor/translations/translations.js +214 -0
  11. package/dist/module/form/form-editor/translations/translations.js.map +1 -0
  12. package/dist/module/form/form-submission/index.js +3 -0
  13. package/dist/module/form/form-submission/index.js.map +1 -1
  14. package/dist/module/form/form-submission/types.js.map +1 -1
  15. package/dist/module/form/utils/list.js +23 -0
  16. package/dist/module/form/utils/list.js.map +1 -1
  17. package/dist/module/form/utils/numbering.js +43 -0
  18. package/dist/module/form/utils/numbering.js.map +1 -0
  19. package/dist/module/index.js +2 -0
  20. package/dist/module/index.js.map +1 -1
  21. package/dist/types/__stubs__/examples.d.ts +9 -0
  22. package/dist/types/__stubs__/examples.d.ts.map +1 -0
  23. package/dist/types/components/helpers.d.ts +2 -1
  24. package/dist/types/components/helpers.d.ts.map +1 -1
  25. package/dist/types/components/types.d.ts +1 -0
  26. package/dist/types/components/types.d.ts.map +1 -1
  27. package/dist/types/form/form-editor/translations/translations-config.d.ts +95 -0
  28. package/dist/types/form/form-editor/translations/translations-config.d.ts.map +1 -0
  29. package/dist/types/form/form-editor/translations/translations-overview.d.ts +14 -0
  30. package/dist/types/form/form-editor/translations/translations-overview.d.ts.map +1 -0
  31. package/dist/types/form/form-editor/translations/translations.d.ts +16 -0
  32. package/dist/types/form/form-editor/translations/translations.d.ts.map +1 -0
  33. package/dist/types/form/form-submission/index.d.ts.map +1 -1
  34. package/dist/types/form/form-submission/types.d.ts +4 -0
  35. package/dist/types/form/form-submission/types.d.ts.map +1 -1
  36. package/dist/types/form/utils/list.d.ts +8 -1
  37. package/dist/types/form/utils/list.d.ts.map +1 -1
  38. package/dist/types/form/utils/numbering.d.ts +18 -0
  39. package/dist/types/form/utils/numbering.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +2 -0
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/schemas/form-submit-payload-schema.json +5 -0
  44. package/src/__stubs__/examples.js +231 -0
  45. package/src/components/helpers.ts +14 -0
  46. package/src/components/types.ts +7 -0
  47. package/src/form/form-editor/translations/translations-config.js +186 -0
  48. package/src/form/form-editor/translations/translations-overview.js +137 -0
  49. package/src/form/form-editor/translations/translations.js +297 -0
  50. package/src/form/form-submission/index.ts +7 -0
  51. package/src/form/form-submission/types.ts +5 -0
  52. package/src/form/utils/list.ts +34 -1
  53. package/src/form/utils/numbering.js +47 -0
  54. package/src/index.ts +2 -0
@@ -0,0 +1,47 @@
1
+ import { isFormType } from '~/src/components/helpers.js'
2
+ import {
3
+ getPageFromDefinition,
4
+ hasComponents,
5
+ isSummaryPage
6
+ } from '~/src/pages/helpers.js'
7
+
8
+ /**
9
+ * @param {FormDefinition} definition
10
+ * @param {string} pageId
11
+ */
12
+ export function getPageNum(definition, pageId) {
13
+ if (pageId === 'new') {
14
+ return definition.pages.filter((x) => !isSummaryPage(x)).length + 1
15
+ }
16
+ const pageIdx = definition.pages.findIndex((x) => x.id === pageId)
17
+ return pageIdx + 1
18
+ }
19
+
20
+ /**
21
+ * @param {FormDefinition} definition
22
+ * @param {string} pageId
23
+ */
24
+ export function getQuestionsOnPage(definition, pageId) {
25
+ const page = getPageFromDefinition(definition, pageId)
26
+ return hasComponents(page) ? page.components : []
27
+ }
28
+
29
+ /**
30
+ * @param {FormDefinition} definition
31
+ * @param {string} pageId
32
+ * @param {string} questionId
33
+ */
34
+ export function getQuestionNum(definition, pageId, questionId) {
35
+ const questions = getQuestionsOnPage(definition, pageId).filter(
36
+ (q) => isFormType(q.type) // Exclude non-form components such as Markdown
37
+ )
38
+ if (questionId === 'new') {
39
+ return questions.length + 1
40
+ }
41
+ const questionIdx = questions.findIndex((x) => x.id === questionId)
42
+ return questionIdx === -1 ? questions.length + 1 : questionIdx + 1
43
+ }
44
+
45
+ /**
46
+ * @import { FormDefinition } from '~/src/form/form-definition/types.js'
47
+ */
package/src/index.ts CHANGED
@@ -19,6 +19,8 @@ export * from '~/src/form/utils/index.js'
19
19
  export * from '~/src/form/form-editor/enums.js'
20
20
  export * from '~/src/form/form-editor/index.js'
21
21
  export * from '~/src/form/form-editor/preview/index.js'
22
+ export * from '~/src/form/form-editor/translations/translations-config.js'
23
+ export * from '~/src/form/form-editor/translations/translations.js'
22
24
  export * from '~/src/form/form-manager/types.js'
23
25
  export * from '~/src/form/form-manager/errors.js'
24
26
  export * from '~/src/manage/dead-letter-queues.js'