@mtna/web-form-angular 1.0.6-SNAPSHOT.20 → 1.0.6-SNAPSHOT.23

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 (138) hide show
  1. package/bundles/mtna-web-form-angular.umd.js +1466 -644
  2. package/bundles/mtna-web-form-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/form-item-impl/date/date.component.js +6 -29
  4. package/esm2015/lib/components/form-item-impl/date/date.module.js +2 -5
  5. package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +1 -1
  6. package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +43 -2
  7. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +105 -12
  8. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +11 -2
  9. package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +3 -27
  10. package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +2 -5
  11. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +4 -4
  12. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +15 -8
  13. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +25 -4
  14. package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +7 -3
  15. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +49 -4
  16. package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +1 -1
  17. package/esm2015/lib/models/design/design-constants/index.js +2 -0
  18. package/esm2015/lib/models/design/design-constants/template-design-constants.model.js +54 -0
  19. package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +2 -2
  20. package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +10 -18
  21. package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +1 -12
  22. package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +4 -8
  23. package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +2 -2
  24. package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +35 -26
  25. package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +23 -5
  26. package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +1 -11
  27. package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +2 -2
  28. package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +2 -2
  29. package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +11 -9
  30. package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +27 -10
  31. package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +4 -3
  32. package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +17 -5
  33. package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +2 -2
  34. package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +48 -13
  35. package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +47 -33
  36. package/esm2015/lib/models/design/design-mapper/template-mapper.js +7 -5
  37. package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +14 -12
  38. package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +2 -2
  39. package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +2 -2
  40. package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +2 -2
  41. package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +18 -9
  42. package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +27 -7
  43. package/esm2015/lib/models/design/design-properties/engagement-property-type.model.js +2 -0
  44. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/date-format.js +29 -0
  45. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/index.js +4 -0
  46. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/layout.js +14 -0
  47. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/quarter-range.js +20 -0
  48. package/esm2015/lib/models/design/design-properties/enumerations/date-display-format-enumeration.model.js +38 -0
  49. package/esm2015/lib/models/design/design-properties/enumerations/index.js +4 -0
  50. package/esm2015/lib/models/design/design-properties/enumerations/layout-enumeration.model.js +11 -0
  51. package/esm2015/lib/models/design/design-properties/enumerations/quarter-range-enumeration.model.js +24 -0
  52. package/esm2015/lib/models/design/design-properties/properties/date-format.model.js +14 -0
  53. package/esm2015/lib/models/design/design-properties/properties/index.js +4 -0
  54. package/esm2015/lib/models/design/design-properties/properties/layout.model.js +14 -0
  55. package/esm2015/lib/models/design/design-properties/properties/quarter-range.model.js +23 -0
  56. package/esm2015/lib/models/design/index.js +4 -3
  57. package/esm2015/lib/models/design/potential-designs.model.js +24 -2
  58. package/esm2015/lib/models/design/unavailable-template-item-name-map.model.js +27 -0
  59. package/esm2015/lib/models/i18n-constants.model.js +58 -12
  60. package/esm2015/lib/pipes/get-form-control-error.pipe.js +1 -1
  61. package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +2 -2
  62. package/esm2015/lib/pipes/instance-of-template-item.pipe.js +3 -3
  63. package/esm2015/lib/services/api.service.js +58 -28
  64. package/esm2015/lib/services/ui.service.js +2 -2
  65. package/esm2015/lib/state/design/template-design.facade.js +124 -45
  66. package/esm2015/lib/state/form/template-form.effects.js +30 -18
  67. package/esm2015/lib/utilities/enum-property-handlers-util.js +14 -0
  68. package/esm2015/lib/utilities/form-option-design-util.js +5 -5
  69. package/esm2015/lib/utilities/get-design-properties.util.js +8 -0
  70. package/esm2015/lib/utilities/index.js +7 -1
  71. package/esm2015/lib/utilities/is-template-util.js +68 -0
  72. package/esm2015/lib/utilities/item-to-design-base.util.js +25 -0
  73. package/esm2015/lib/utilities/merge-template-util.js +1 -2
  74. package/esm2015/lib/utilities/model-map-util.js +27 -0
  75. package/esm2015/lib/utilities/new-base-designs.util.js +5 -4
  76. package/esm2015/lib/utilities/serializer-util.js +2 -50
  77. package/esm2015/lib/utilities/template-design-core-util.js +8 -7
  78. package/esm2015/lib/utilities/template-design-util.js +7 -74
  79. package/esm2015/lib/utilities/to-design-util.js +24 -0
  80. package/esm2015/lib/utilities/validator-functions-util.js +59 -0
  81. package/fesm2015/mtna-web-form-angular.js +1169 -476
  82. package/fesm2015/mtna-web-form-angular.js.map +1 -1
  83. package/lib/components/form-item-impl/date/date.component.d.ts +2 -8
  84. package/lib/components/form-item-injector/form-item-injector.component.d.ts +1 -0
  85. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +20 -2
  86. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +4 -0
  87. package/lib/components/template-item-impl/date-item/date-item.component.d.ts +1 -8
  88. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +7 -5
  89. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +4 -2
  90. package/lib/components/template-item-impl/template-item/template-item.component.d.ts +1 -0
  91. package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +1 -0
  92. package/lib/components/template-item-impl/template-section/template-section.component.d.ts +1 -1
  93. package/lib/models/design/design-constants/index.d.ts +1 -0
  94. package/lib/models/design/{template-design-constants.model.d.ts → design-constants/template-design-constants.model.d.ts} +8 -2
  95. package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +0 -1
  96. package/lib/models/design/design-mapper/mapping-logic-core.d.ts +23 -4
  97. package/lib/models/design/design-mapper/option-selector-mapper.d.ts +1 -0
  98. package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +1 -0
  99. package/lib/models/design/design-mapper/template-item-mapper.d.ts +2 -2
  100. package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +1 -0
  101. package/lib/models/design/design-properties/engagement-property-type.model.d.ts +14 -0
  102. package/lib/models/design/design-properties/enumeration-value-functions/date-format.d.ts +2 -0
  103. package/lib/models/design/design-properties/enumeration-value-functions/index.d.ts +3 -0
  104. package/lib/models/design/design-properties/enumeration-value-functions/layout.d.ts +3 -0
  105. package/lib/models/design/design-properties/enumeration-value-functions/quarter-range.d.ts +2 -0
  106. package/lib/models/design/{enumerations/date-enumeration.model.d.ts → design-properties/enumerations/date-display-format-enumeration.model.d.ts} +2 -1
  107. package/lib/models/design/design-properties/enumerations/index.d.ts +3 -0
  108. package/lib/models/design/design-properties/enumerations/layout-enumeration.model.d.ts +4 -0
  109. package/lib/models/design/design-properties/enumerations/quarter-range-enumeration.model.d.ts +6 -0
  110. package/lib/models/design/design-properties/properties/date-format.model.d.ts +2 -0
  111. package/lib/models/design/design-properties/properties/index.d.ts +3 -0
  112. package/lib/models/design/design-properties/properties/layout.model.d.ts +2 -0
  113. package/lib/models/design/design-properties/properties/quarter-range.model.d.ts +3 -0
  114. package/lib/models/design/index.d.ts +3 -2
  115. package/lib/models/design/unavailable-template-item-name-map.model.d.ts +1 -0
  116. package/lib/models/i18n-constants.model.d.ts +56 -10
  117. package/lib/pipes/get-form-control-error.pipe.d.ts +2 -2
  118. package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +1 -1
  119. package/lib/services/api.service.d.ts +52 -18
  120. package/lib/services/ui.service.d.ts +2 -2
  121. package/lib/state/design/template-design.facade.d.ts +26 -0
  122. package/lib/state/form/template-form.effects.d.ts +0 -6
  123. package/lib/utilities/enum-property-handlers-util.d.ts +4 -0
  124. package/lib/utilities/form-option-design-util.d.ts +2 -2
  125. package/lib/utilities/get-design-properties.util.d.ts +3 -0
  126. package/lib/utilities/index.d.ts +6 -0
  127. package/lib/utilities/is-template-util.d.ts +5 -0
  128. package/lib/utilities/item-to-design-base.util.d.ts +5 -0
  129. package/lib/utilities/model-map-util.d.ts +2 -0
  130. package/lib/utilities/template-design-core-util.d.ts +4 -4
  131. package/lib/utilities/template-design-util.d.ts +4 -7
  132. package/lib/utilities/to-design-util.d.ts +4 -0
  133. package/lib/utilities/validator-functions-util.d.ts +12 -0
  134. package/package.json +2 -2
  135. package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +0 -33
  136. package/esm2015/lib/models/design/enumerations/index.js +0 -2
  137. package/esm2015/lib/models/design/template-design-constants.model.js +0 -48
  138. package/lib/models/design/enumerations/index.d.ts +0 -1
@@ -559,177 +559,225 @@
559
559
  var i18n_checkboxConfiguration = $localize(templateObject_22 || (templateObject_22 = __makeTemplateObject(["Checkbox Configuration"], ["Checkbox Configuration"])));
560
560
  var i18n_codeOption = $localize(templateObject_23 || (templateObject_23 = __makeTemplateObject(["Code Option"], ["Code Option"])));
561
561
  var i18n_codeOptionInstructions = $localize(templateObject_24 || (templateObject_24 = __makeTemplateObject(["The code option that should be presented to the user."], ["The code option that should be presented to the user."])));
562
- var i18n_core = $localize(templateObject_25 || (templateObject_25 = __makeTemplateObject(["Core"], ["Core"])));
563
- var i18n_childItems = $localize(templateObject_26 || (templateObject_26 = __makeTemplateObject(["Child Items"], ["Child Items"])));
564
- var i18n_dateConfiguration = $localize(templateObject_27 || (templateObject_27 = __makeTemplateObject(["Date Configuration"], ["Date Configuration"])));
565
- var i18n_description = $localize(templateObject_28 || (templateObject_28 = __makeTemplateObject(["Description"], ["Description"])));
566
- var i18n_descriptionInstructions = $localize(templateObject_29 || (templateObject_29 = __makeTemplateObject(["The description is a short representation of what the value for the input should be."], ["The description is a short representation of what the value for the input should be."])));
567
- var i18n_descriptive = $localize(templateObject_30 || (templateObject_30 = __makeTemplateObject(["Descriptive Information"], ["Descriptive Information"])));
568
- var i18n_descriptiveText = $localize(templateObject_31 || (templateObject_31 = __makeTemplateObject(["Descriptive Text"], ["Descriptive Text"])));
569
- var i18n_descriptiveTextInstructionsItem = $localize(templateObject_32 || (templateObject_32 = __makeTemplateObject(["Descriptive text provides additional explanation / context to the item. Typically the question text is used to present the question that information is being gathered about and the descriptive text expounds on that to ensure the user filling out the form understands what is being asked of them."], ["Descriptive text provides additional explanation / context to the item. Typically the question text is used to present the question that information is being gathered about and the descriptive text expounds on that to ensure the user filling out the form understands what is being asked of them."])));
570
- var i18n_descriptiveTextInstructionsTemplate = $localize(templateObject_33 || (templateObject_33 = __makeTemplateObject(["Describes the purpose and use cases for this Template or Template Item."], ["Describes the purpose and use cases for this Template or Template Item."])));
571
- var i18n_disabledItems = $localize(templateObject_34 || (templateObject_34 = __makeTemplateObject(["Disabled Items"], ["Disabled Items"])));
572
- var i18n_disabledItemsInstructions = $localize(templateObject_35 || (templateObject_35 = __makeTemplateObject(["The items that should be disabled in the form upon selection of this option."], ["The items that should be disabled in the form upon selection of this option."])));
573
- var i18n_downloadAllowed = $localize(templateObject_36 || (templateObject_36 = __makeTemplateObject(["Download Allowed"], ["Download Allowed"])));
574
- var i18n_downloadAllowedInstructions = $localize(templateObject_37 || (templateObject_37 = __makeTemplateObject(["Indicates if the file should be allowed to be downloaded once it has been uploaded, or if it should only be available for processing on the backend."], ["Indicates if the file should be allowed to be downloaded once it has been uploaded, or if it should only be available for processing on the backend."])));
575
- var i18n_dropdownConfiguration = $localize(templateObject_38 || (templateObject_38 = __makeTemplateObject(["Dropdown Configuration"], ["Dropdown Configuration"])));
576
- var i18n_dropdownProperties = $localize(templateObject_39 || (templateObject_39 = __makeTemplateObject(["Dropdown Properties"], ["Dropdown Properties"])));
577
- var i18n_enabledAndDisabledItems = $localize(templateObject_40 || (templateObject_40 = __makeTemplateObject(["Enabled and Disabled Items"], ["Enabled and Disabled Items"])));
578
- var i18n_enabledItems = $localize(templateObject_41 || (templateObject_41 = __makeTemplateObject(["Enabled Items"], ["Enabled Items"])));
579
- var i18n_enabledItemsInstructions = $localize(templateObject_42 || (templateObject_42 = __makeTemplateObject(["The items that should be enabled in the form upon selection of this option."], ["The items that should be enabled in the form upon selection of this option."])));
580
- var i18n_fileTypeId = $localize(templateObject_43 || (templateObject_43 = __makeTemplateObject(["File Type Id"], ["File Type Id"])));
581
- var i18n_fileTypeIdInstructions = $localize(templateObject_44 || (templateObject_44 = __makeTemplateObject(["The file type id that this file upload item should be associated with. This is used to determine what type of file is being uploaded and how it should be processed."], ["The file type id that this file upload item should be associated with. This is used to determine what type of file is being uploaded and how it should be processed."])));
582
- var i18n_fileUploadConfiguration = $localize(templateObject_45 || (templateObject_45 = __makeTemplateObject(["File Upload Configuration"], ["File Upload Configuration"])));
583
- var i18n_form = $localize(templateObject_46 || (templateObject_46 = __makeTemplateObject(["Form"], ["Form"])));
584
- var i18n_format = $localize(templateObject_47 || (templateObject_47 = __makeTemplateObject(["Format"], ["Format"])));
585
- var i18n_formatInstructions = $localize(templateObject_48 || (templateObject_48 = __makeTemplateObject(["The format the date should be presented in."], ["The format the date should be presented in."])));
586
- var i18n_formatTimeInstructions = $localize(templateObject_49 || (templateObject_49 = __makeTemplateObject(["The format the time should be presented in."], ["The format the time should be presented in."])));
587
- var i18n_fullWidth = $localize(templateObject_50 || (templateObject_50 = __makeTemplateObject(["Full Width"], ["Full Width"])));
588
- var i18n_fullWidthInstructions = $localize(templateObject_51 || (templateObject_51 = __makeTemplateObject(["Indicates if the item should be presented in a full width format."], ["Indicates if the item should be presented in a full width format."])));
589
- var i18n_help = $localize(templateObject_52 || (templateObject_52 = __makeTemplateObject(["Help"], ["Help"])));
590
- var i18n_helpInstructions = $localize(templateObject_53 || (templateObject_53 = __makeTemplateObject(["The help text provides additional context to the user about what is being asked of them."], ["The help text provides additional context to the user about what is being asked of them."])));
591
- var i18n_item = $localize(templateObject_54 || (templateObject_54 = __makeTemplateObject(["Item"], ["Item"])));
592
- var i18n_items = $localize(templateObject_55 || (templateObject_55 = __makeTemplateObject(["Items"], ["Items"])));
593
- var i18n_itemsInstructions = $localize(templateObject_56 || (templateObject_56 = __makeTemplateObject(["The items that make up this template."], ["The items that make up this template."])));
594
- var i18n_label = $localize(templateObject_57 || (templateObject_57 = __makeTemplateObject(["Label"], ["Label"])));
595
- var i18n_labelInstructions = $localize(templateObject_58 || (templateObject_58 = __makeTemplateObject(["The label is a short representation of what the value for the input should be. This will be presented as a greyed out value in the input and shift to the input title once the user provides an input of their own."], ["The label is a short representation of what the value for the input should be. This will be presented as a greyed out value in the input and shift to the input title once the user provides an input of their own."])));
596
- var i18n_layout = $localize(templateObject_59 || (templateObject_59 = __makeTemplateObject(["Layout"], ["Layout"])));
597
- var i18n_layoutInstructions = $localize(templateObject_60 || (templateObject_60 = __makeTemplateObject(["Indicates how the child items of this item should be presented, ROW indicates that multiple items should be put on a single row (to save space), COLUMN indicates the items should be placed in a vertical way."], ["Indicates how the child items of this item should be presented, ROW indicates that multiple items should be put on a single row (to save space), COLUMN indicates the items should be placed in a vertical way."])));
598
- var i18n_maxCharCount = $localize(templateObject_61 || (templateObject_61 = __makeTemplateObject(["Maximum Character Count"], ["Maximum Character Count"])));
599
- var i18n_maxCharCountInstructions = $localize(templateObject_62 || (templateObject_62 = __makeTemplateObject(["The maximum character count of the values that are input to be considered valid, this is optional."], ["The maximum character count of the values that are input to be considered valid, this is optional."])));
600
- var i18n_minCharCount = $localize(templateObject_63 || (templateObject_63 = __makeTemplateObject(["Minimum Character Count"], ["Minimum Character Count"])));
601
- var i18n_minCharCountInstructions = $localize(templateObject_64 || (templateObject_64 = __makeTemplateObject(["The minimum character count of the values that are input to be considered valid, this is optional."], ["The minimum character count of the values that are input to be considered valid, this is optional."])));
602
- var i18n_maxOccurrances = $localize(templateObject_65 || (templateObject_65 = __makeTemplateObject(["Maximum Occurrences"], ["Maximum Occurrences"])));
603
- var i18n_maxOccurrancesInstructions = $localize(templateObject_66 || (templateObject_66 = __makeTemplateObject(["The maximum number of times this item should be presented to the user."], ["The maximum number of times this item should be presented to the user."])));
604
- var i18n_minOccurrances = $localize(templateObject_67 || (templateObject_67 = __makeTemplateObject(["Minimum Occurrences"], ["Minimum Occurrences"])));
605
- var i18n_minOccurrancesInstructions = $localize(templateObject_68 || (templateObject_68 = __makeTemplateObject(["The minimum number of times this item should be presented to the user."], ["The minimum number of times this item should be presented to the user."])));
606
- var i18n_minSelections = $localize(templateObject_69 || (templateObject_69 = __makeTemplateObject(["Minimum Selections"], ["Minimum Selections"])));
607
- var i18n_minSelectionsInstructions = $localize(templateObject_70 || (templateObject_70 = __makeTemplateObject(["The minimum number of selections that should be required to be considered valid."], ["The minimum number of selections that should be required to be considered valid."])));
608
- var i18n_maxSelections = $localize(templateObject_71 || (templateObject_71 = __makeTemplateObject(["Maximum Selections"], ["Maximum Selections"])));
609
- var i18n_maxSelectionsInstructions = $localize(templateObject_72 || (templateObject_72 = __makeTemplateObject(["The maximum number of selections that should be required to be considered valid."], ["The maximum number of selections that should be required to be considered valid."])));
610
- var i18n_maxValue = $localize(templateObject_73 || (templateObject_73 = __makeTemplateObject(["Maximum Value"], ["Maximum Value"])));
611
- var i18n_maxValueInstructions = $localize(templateObject_74 || (templateObject_74 = __makeTemplateObject(["The maximum numeric value input to be considered valid, this is optional."], ["The maximum numeric value input to be considered valid, this is optional."])));
612
- var i18n_minValue = $localize(templateObject_75 || (templateObject_75 = __makeTemplateObject(["Minimum Value"], ["Minimum Value"])));
613
- var i18n_minValueInstructions = $localize(templateObject_76 || (templateObject_76 = __makeTemplateObject(["The minimum numeric value input to be considered valid, this is optional."], ["The minimum numeric value input to be considered valid, this is optional."])));
614
- var i18n_multipleChoiceConfiguration = $localize(templateObject_77 || (templateObject_77 = __makeTemplateObject(["Multiple Choice Configuration"], ["Multiple Choice Configuration"])));
615
- var i18n_name = $localize(templateObject_78 || (templateObject_78 = __makeTemplateObject(["Name"], ["Name"])));
616
- var i18n_nameInstructions = $localize(templateObject_79 || (templateObject_79 = __makeTemplateObject(["This serves as an identifier for the item in the form and can be used to retrieve it during processing, indexing, or other operations."], ["This serves as an identifier for the item in the form and can be used to retrieve it during processing, indexing, or other operations."])));
617
- var i18n_new = $localize(templateObject_80 || (templateObject_80 = __makeTemplateObject(["New"], ["New"])));
618
- var i18n_newOption = $localize(templateObject_81 || (templateObject_81 = __makeTemplateObject(["New Option"], ["New Option"])));
619
- var i18n_newOptionTemplate = $localize(templateObject_82 || (templateObject_82 = __makeTemplateObject(["New Option Template"], ["New Option Template"])));
620
- var i18n_newTemplate = $localize(templateObject_83 || (templateObject_83 = __makeTemplateObject(["New Template"], ["New Template"])));
621
- var i18n_newTemplateItem = $localize(templateObject_84 || (templateObject_84 = __makeTemplateObject(["New Template Item"], ["New Template Item"])));
622
- var i18n_numericConfiguration = $localize(templateObject_85 || (templateObject_85 = __makeTemplateObject(["Numeric Configuration"], ["Numeric Configuration"])));
623
- var i18n_numberedListConfiguration = $localize(templateObject_86 || (templateObject_86 = __makeTemplateObject(["Numbered List Configuration"], ["Numbered List Configuration"])));
624
- var i18n_numberedListItemInstructions = $localize(templateObject_87 || (templateObject_87 = __makeTemplateObject(["The items that make up this numbered list. This is typically a list of text items that will be presented in a numbered list format."], ["The items that make up this numbered list. This is typically a list of text items that will be presented in a numbered list format."])));
625
- var i18n_offsetDateRangeConfiguration = $localize(templateObject_88 || (templateObject_88 = __makeTemplateObject(["Offset Date Range Configuration"], ["Offset Date Range Configuration"])));
626
- var i18n_option = $localize(templateObject_89 || (templateObject_89 = __makeTemplateObject(["Option"], ["Option"])));
627
- var i18n_optionInstructions = $localize(templateObject_90 || (templateObject_90 = __makeTemplateObject(["The option that should be presented to the user."], ["The option that should be presented to the user."])));
628
- var i18n_optionProperties = $localize(templateObject_91 || (templateObject_91 = __makeTemplateObject(["Option Properties"], ["Option Properties"])));
629
- var i18n_options = $localize(templateObject_92 || (templateObject_92 = __makeTemplateObject(["Options"], ["Options"])));
630
- var i18n_optionsInstructions = $localize(templateObject_93 || (templateObject_93 = __makeTemplateObject(["The options that should be presented to the user."], ["The options that should be presented to the user."])));
631
- var i18n_optionSubsets = $localize(templateObject_94 || (templateObject_94 = __makeTemplateObject(["Option Subsets"], ["Option Subsets"])));
632
- var i18n_optionSubsetInstructions = $localize(templateObject_95 || (templateObject_95 = __makeTemplateObject(["The option subsets that should be presented to the user."], ["The option subsets that should be presented to the user."])));
633
- var i18n_optionTemplate = $localize(templateObject_96 || (templateObject_96 = __makeTemplateObject(["Option Template"], ["Option Template"])));
634
- var i18n_optionTemplates = $localize(templateObject_97 || (templateObject_97 = __makeTemplateObject(["Option Templates"], ["Option Templates"])));
635
- var i18n_optionTemplateInstructions = $localize(templateObject_98 || (templateObject_98 = __makeTemplateObject(["The template that should be used to provide additional context to the user about the selected option. This is typically used to provide more information about the option that is being selected, such as a description or additional details."], ["The template that should be used to provide additional context to the user about the selected option. This is typically used to provide more information about the option that is being selected, such as a description or additional details."])));
636
- var i18n_optionTemplateMap = $localize(templateObject_99 || (templateObject_99 = __makeTemplateObject(["Option Template Map"], ["Option Template Map"])));
637
- var i18n_optionTemplateMapInstructions = $localize(templateObject_100 || (templateObject_100 = __makeTemplateObject(["The option template map that should be presented to the user."], ["The option template map that should be presented to the user."])));
638
- var i18n_positiveOnly = $localize(templateObject_101 || (templateObject_101 = __makeTemplateObject(["Positive Values Only"], ["Positive Values Only"])));
639
- var i18n_positiveOnlyInstructions = $localize(templateObject_102 || (templateObject_102 = __makeTemplateObject(["Indicates that values input must be positive (non-negative, non-0) to be considered valid."], ["Indicates that values input must be positive (non-negative, non-0) to be considered valid."])));
640
- var i18n_presetValue = $localize(templateObject_103 || (templateObject_103 = __makeTemplateObject(["Initial Value"], ["Initial Value"])));
641
- var i18n_presetValueInstructions = $localize(templateObject_104 || (templateObject_104 = __makeTemplateObject(["The initial date value that should be set when a new instance of this is created."], ["The initial date value that should be set when a new instance of this is created."])));
642
- var i18n_questionText = $localize(templateObject_105 || (templateObject_105 = __makeTemplateObject(["Question Text"], ["Question Text"])));
643
- var i18n_questionTextInstructions = $localize(templateObject_106 || (templateObject_106 = __makeTemplateObject(["This is the question posed to the user about the input, for which a response is expected."], ["This is the question posed to the user about the input, for which a response is expected."])));
644
- var i18n_rangeLimits = $localize(templateObject_107 || (templateObject_107 = __makeTemplateObject(["Range Limits"], ["Range Limits"])));
645
- var i18n_rangeLimitsInstructions = $localize(templateObject_108 || (templateObject_108 = __makeTemplateObject(["The limits that should be applied to constrain the date time range that can be selected."], ["The limits that should be applied to constrain the date time range that can be selected."])));
646
- var i18n_repeatableItemConfiguration = $localize(templateObject_109 || (templateObject_109 = __makeTemplateObject(["Repeatable Item Configuration"], ["Repeatable Item Configuration"])));
647
- var i18n_repeatableItemTemplateId = $localize(templateObject_110 || (templateObject_110 = __makeTemplateObject(["Repeatable Item Template Id"], ["Repeatable Item Template Id"])));
648
- var i18n_repeatableItemTemplateIdInstructions = $localize(templateObject_111 || (templateObject_111 = __makeTemplateObject(["The id of the template that should be used to create a new instance of this item."], ["The id of the template that should be used to create a new instance of this item."])));
649
- var i18n_required = $localize(templateObject_112 || (templateObject_112 = __makeTemplateObject(["Required"], ["Required"])));
650
- var i18n_requiredInstructions = $localize(templateObject_113 || (templateObject_113 = __makeTemplateObject(["Indicates that this item requires a value to be considered complete / valid."], ["Indicates that this item requires a value to be considered complete / valid."])));
651
- var i18n_selectAReference = $localize(templateObject_114 || (templateObject_114 = __makeTemplateObject(["Select a Reference"], ["Select a Reference"])));
652
- var i18n_selectAReferenceDialogTitle = $localize(templateObject_115 || (templateObject_115 = __makeTemplateObject(["Select a Reference Dialog"], ["Select a Reference Dialog"])));
653
- var i18n_settings = $localize(templateObject_116 || (templateObject_116 = __makeTemplateObject(["Settings"], ["Settings"])));
654
- var i18n_startingInstances = $localize(templateObject_117 || (templateObject_117 = __makeTemplateObject(["Starting Instances"], ["Starting Instances"])));
655
- var i18n_startingInstancesInstructions = $localize(templateObject_118 || (templateObject_118 = __makeTemplateObject(["The number of instances of this item that should be created when the form is first presented to the user."], ["The number of instances of this item that should be created when the form is first presented to the user."])));
656
- var i18n_timeInputConfiguration = $localize(templateObject_119 || (templateObject_119 = __makeTemplateObject(["Time Input Configuration"], ["Time Input Configuration"])));
657
- var i18n_template = $localize(templateObject_120 || (templateObject_120 = __makeTemplateObject(["Template"], ["Template"])));
658
- var i18n_templateItem = $localize(templateObject_121 || (templateObject_121 = __makeTemplateObject(["Template Item"], ["Template Item"])));
659
- var i18n_templateItemInstructions = $localize(templateObject_122 || (templateObject_122 = __makeTemplateObject(["The item that makes up this template."], ["The item that makes up this template."])));
660
- var i18n_templateItems = $localize(templateObject_123 || (templateObject_123 = __makeTemplateObject(["Template Items"], ["Template Items"])));
661
- var i18n_templateItemsInstructions = $localize(templateObject_124 || (templateObject_124 = __makeTemplateObject(["The items at the root level of the template / form."], ["The items at the root level of the template / form."])));
662
- var i18n_templateItemsInstructionsGroup = $localize(templateObject_125 || (templateObject_125 = __makeTemplateObject(["The items that make up this group / section."], ["The items that make up this group / section."])));
663
- var i18n_textConfiguration = $localize(templateObject_126 || (templateObject_126 = __makeTemplateObject(["Text Configuration"], ["Text Configuration"])));
664
- var i18n_textInputConfiguration = $localize(templateObject_127 || (templateObject_127 = __makeTemplateObject(["Text Input Configuration"], ["Text Input Configuration"])));
665
- var i18n_textValue = $localize(templateObject_128 || (templateObject_128 = __makeTemplateObject(["Text Value"], ["Text Value"])));
666
- var i18n_textValueInstructions = $localize(templateObject_129 || (templateObject_129 = __makeTemplateObject(["This text will be displayed as HTML text in the form and is meant to be used to provide users with more in depth information about the form."], ["This text will be displayed as HTML text in the form and is meant to be used to provide users with more in depth information about the form."])));
667
- var i18n_titleInstructions = $localize(templateObject_130 || (templateObject_130 = __makeTemplateObject(["The title of the Template."], ["The title of the Template."])));
668
- var i18n_titleInstructionsSection = $localize(templateObject_131 || (templateObject_131 = __makeTemplateObject(["The title of the Section, this will be presented at the top of the card that represents the section."], ["The title of the Section, this will be presented at the top of the card that represents the section."])));
669
- var i18n_value = $localize(templateObject_132 || (templateObject_132 = __makeTemplateObject(["Value"], ["Value"])));
670
- var i18n_valueInstructions = $localize(templateObject_133 || (templateObject_133 = __makeTemplateObject(["The value that should be presented to the user."], ["The value that should be presented to the user."])));
671
- var i18n_values = $localize(templateObject_134 || (templateObject_134 = __makeTemplateObject(["Values"], ["Values"])));
672
- var i18n_valuesInstructions = $localize(templateObject_135 || (templateObject_135 = __makeTemplateObject(["The values that should be presented to the user."], ["The values that should be presented to the user."])));
673
- var i18n_verifyAcknowledgementDialogTitle = $localize(templateObject_136 || (templateObject_136 = __makeTemplateObject(["Verify Acknowledgement Dialog"], ["Verify Acknowledgement Dialog"])));
674
- var i18n_yearQuarterRangeConfiguration = $localize(templateObject_137 || (templateObject_137 = __makeTemplateObject(["Year Quarter Range Configuration"], ["Year Quarter Range Configuration"])));
675
- var i18n_listValue = $localize(templateObject_138 || (templateObject_138 = __makeTemplateObject(["List Value"], ["List Value"])));
676
- var i18n_newListValue = $localize(templateObject_139 || (templateObject_139 = __makeTemplateObject(["New List Value"], ["New List Value"])));
677
- var i18n_newItem = $localize(templateObject_140 || (templateObject_140 = __makeTemplateObject(["New Item"], ["New Item"])));
678
- var i18n_exampleText = $localize(templateObject_141 || (templateObject_141 = __makeTemplateObject(["Example Text"], ["Example Text"])));
679
- var i18n_boolean = $localize(templateObject_142 || (templateObject_142 = __makeTemplateObject(["Boolean"], ["Boolean"])));
680
- var i18n_booleanItem = $localize(templateObject_143 || (templateObject_143 = __makeTemplateObject(["Boolean Item"], ["Boolean Item"])));
681
- var i18n_bulletedListItem = $localize(templateObject_144 || (templateObject_144 = __makeTemplateObject(["Bulleted List Item"], ["Bulleted List Item"])));
682
- var i18n_checkbox = $localize(templateObject_145 || (templateObject_145 = __makeTemplateObject(["Checkbox"], ["Checkbox"])));
683
- var i18n_checkboxItem = $localize(templateObject_146 || (templateObject_146 = __makeTemplateObject(["Checkbox Item"], ["Checkbox Item"])));
684
- var i18n_offsetDateRange = $localize(templateObject_147 || (templateObject_147 = __makeTemplateObject(["Offset Date Range"], ["Offset Date Range"])));
685
- var i18n_offsetDateRangeItem = $localize(templateObject_148 || (templateObject_148 = __makeTemplateObject(["Offset Date Range Item"], ["Offset Date Range Item"])));
686
- var i18n_yearQuarterRange = $localize(templateObject_149 || (templateObject_149 = __makeTemplateObject(["Year Quarter Range"], ["Year Quarter Range"])));
687
- var i18n_yearQuarterRangeItem = $localize(templateObject_150 || (templateObject_150 = __makeTemplateObject(["Year Quarter Range Item"], ["Year Quarter Range Item"])));
688
- var i18n_date = $localize(templateObject_151 || (templateObject_151 = __makeTemplateObject(["Date"], ["Date"])));
689
- var i18n_dateItem = $localize(templateObject_152 || (templateObject_152 = __makeTemplateObject(["Date Item"], ["Date Item"])));
690
- var i18n_decimalAnswer = $localize(templateObject_153 || (templateObject_153 = __makeTemplateObject(["Decimal Answer"], ["Decimal Answer"])));
691
- var i18n_decimalValue = $localize(templateObject_154 || (templateObject_154 = __makeTemplateObject(["Decimal Value"], ["Decimal Value"])));
692
- var i18n_decimalAnswerItem = $localize(templateObject_155 || (templateObject_155 = __makeTemplateObject(["Decimal Answer Item"], ["Decimal Answer Item"])));
693
- var i18n_dropdown = $localize(templateObject_156 || (templateObject_156 = __makeTemplateObject(["Dropdown"], ["Dropdown"])));
694
- var i18n_dropdownItem = $localize(templateObject_157 || (templateObject_157 = __makeTemplateObject(["Dropdown Item"], ["Dropdown Item"])));
695
- var i18n_fileUpload = $localize(templateObject_158 || (templateObject_158 = __makeTemplateObject(["File Upload"], ["File Upload"])));
696
- var i18n_fileUploadItem = $localize(templateObject_159 || (templateObject_159 = __makeTemplateObject(["File Upload Item"], ["File Upload Item"])));
697
- var i18n_internationalizedParagraphAnswer = $localize(templateObject_160 || (templateObject_160 = __makeTemplateObject(["Internationalized Paragraph Answer"], ["Internationalized Paragraph Answer"])));
698
- var i18n_internationalizedParagraphAnswerItem = $localize(templateObject_161 || (templateObject_161 = __makeTemplateObject(["Internationalized Paragraph Answer Item"], ["Internationalized Paragraph Answer Item"])));
699
- var i18n_internationalizedShortAnswer = $localize(templateObject_162 || (templateObject_162 = __makeTemplateObject(["Internationalized Short Answer"], ["Internationalized Short Answer"])));
700
- var i18n_internationalizedShortAnswerItem = $localize(templateObject_163 || (templateObject_163 = __makeTemplateObject(["Internationalized Short Answer Item"], ["Internationalized Short Answer Item"])));
701
- var i18n_multipleChoice = $localize(templateObject_164 || (templateObject_164 = __makeTemplateObject(["Multiple Choice"], ["Multiple Choice"])));
702
- var i18n_multipleChoiceItem = $localize(templateObject_165 || (templateObject_165 = __makeTemplateObject(["Multiple Choice Item"], ["Multiple Choice Item"])));
703
- var i18n_numberedListItem = $localize(templateObject_166 || (templateObject_166 = __makeTemplateObject(["Numbered List Item"], ["Numbered List Item"])));
704
- var i18n_orderedList = $localize(templateObject_167 || (templateObject_167 = __makeTemplateObject(["Ordered List"], ["Ordered List"])));
705
- var i18n_orderedListItem = $localize(templateObject_168 || (templateObject_168 = __makeTemplateObject(["Ordered List Item"], ["Ordered List Item"])));
706
- var i18n_paragraphAnswer = $localize(templateObject_169 || (templateObject_169 = __makeTemplateObject(["Paragraph Answer"], ["Paragraph Answer"])));
707
- var i18n_paragraphAnswerItem = $localize(templateObject_170 || (templateObject_170 = __makeTemplateObject(["Paragraph Answer Item"], ["Paragraph Answer Item"])));
708
- var i18n_repeatable = $localize(templateObject_171 || (templateObject_171 = __makeTemplateObject(["Repeatable"], ["Repeatable"])));
709
- var i18n_repeatableItem = $localize(templateObject_172 || (templateObject_172 = __makeTemplateObject(["Repeatable Item"], ["Repeatable Item"])));
710
- var i18n_shortAnswer = $localize(templateObject_173 || (templateObject_173 = __makeTemplateObject(["Short Answer"], ["Short Answer"])));
711
- var i18n_shortAnswerItem = $localize(templateObject_174 || (templateObject_174 = __makeTemplateObject(["Short Answer Item"], ["Short Answer Item"])));
712
- var i18n_group = $localize(templateObject_175 || (templateObject_175 = __makeTemplateObject(["Group"], ["Group"])));
713
- var i18n_groupItem = $localize(templateObject_176 || (templateObject_176 = __makeTemplateObject(["Group Item"], ["Group Item"])));
714
- var i18n_section = $localize(templateObject_177 || (templateObject_177 = __makeTemplateObject(["Section"], ["Section"])));
715
- var i18n_sectionItem = $localize(templateObject_178 || (templateObject_178 = __makeTemplateObject(["Section Item"], ["Section Item"])));
716
- var i18n_text = $localize(templateObject_179 || (templateObject_179 = __makeTemplateObject(["Text"], ["Text"])));
717
- var i18n_textItem = $localize(templateObject_180 || (templateObject_180 = __makeTemplateObject(["Text Item"], ["Text Item"])));
718
- var i18n_time = $localize(templateObject_181 || (templateObject_181 = __makeTemplateObject(["Time"], ["Time"])));
719
- var i18n_timeItem = $localize(templateObject_182 || (templateObject_182 = __makeTemplateObject(["Time Item"], ["Time Item"])));
720
- var i18n_title = $localize(templateObject_183 || (templateObject_183 = __makeTemplateObject(["Title"], ["Title"])));
721
- var i18n_titleItem = $localize(templateObject_184 || (templateObject_184 = __makeTemplateObject(["Title Item"], ["Title Item"])));
722
- var i18n_unorderedList = $localize(templateObject_185 || (templateObject_185 = __makeTemplateObject(["Unordered List"], ["Unordered List"])));
723
- var i18n_unorderedListItem = $localize(templateObject_186 || (templateObject_186 = __makeTemplateObject(["Unordered List Item"], ["Unordered List Item"])));
724
- var i18n_wholeNumberAnswer = $localize(templateObject_187 || (templateObject_187 = __makeTemplateObject(["Whole Number Answer"], ["Whole Number Answer"])));
725
- var i18n_wholeNumberAnswerItem = $localize(templateObject_188 || (templateObject_188 = __makeTemplateObject(["Whole Number Answer Item"], ["Whole Number Answer Item"])));
726
- var i18n_wholeNumberValue = $localize(templateObject_189 || (templateObject_189 = __makeTemplateObject(["Whole Number Value"], ["Whole Number Value"])));
727
- var templateObject_1$q, templateObject_2$6, templateObject_3$4, templateObject_4$3, templateObject_5$3, templateObject_6$3, templateObject_7$3, templateObject_8$3, templateObject_9$3, templateObject_10$3, templateObject_11$3, templateObject_12$3, templateObject_13$2, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49, templateObject_50, templateObject_51, templateObject_52, templateObject_53, templateObject_54, templateObject_55, templateObject_56, templateObject_57, templateObject_58, templateObject_59, templateObject_60, templateObject_61, templateObject_62, templateObject_63, templateObject_64, templateObject_65, templateObject_66, templateObject_67, templateObject_68, templateObject_69, templateObject_70, templateObject_71, templateObject_72, templateObject_73, templateObject_74, templateObject_75, templateObject_76, templateObject_77, templateObject_78, templateObject_79, templateObject_80, templateObject_81, templateObject_82, templateObject_83, templateObject_84, templateObject_85, templateObject_86, templateObject_87, templateObject_88, templateObject_89, templateObject_90, templateObject_91, templateObject_92, templateObject_93, templateObject_94, templateObject_95, templateObject_96, templateObject_97, templateObject_98, templateObject_99, templateObject_100, templateObject_101, templateObject_102, templateObject_103, templateObject_104, templateObject_105, templateObject_106, templateObject_107, templateObject_108, templateObject_109, templateObject_110, templateObject_111, templateObject_112, templateObject_113, templateObject_114, templateObject_115, templateObject_116, templateObject_117, templateObject_118, templateObject_119, templateObject_120, templateObject_121, templateObject_122, templateObject_123, templateObject_124, templateObject_125, templateObject_126, templateObject_127, templateObject_128, templateObject_129, templateObject_130, templateObject_131, templateObject_132, templateObject_133, templateObject_134, templateObject_135, templateObject_136, templateObject_137, templateObject_138, templateObject_139, templateObject_140, templateObject_141, templateObject_142, templateObject_143, templateObject_144, templateObject_145, templateObject_146, templateObject_147, templateObject_148, templateObject_149, templateObject_150, templateObject_151, templateObject_152, templateObject_153, templateObject_154, templateObject_155, templateObject_156, templateObject_157, templateObject_158, templateObject_159, templateObject_160, templateObject_161, templateObject_162, templateObject_163, templateObject_164, templateObject_165, templateObject_166, templateObject_167, templateObject_168, templateObject_169, templateObject_170, templateObject_171, templateObject_172, templateObject_173, templateObject_174, templateObject_175, templateObject_176, templateObject_177, templateObject_178, templateObject_179, templateObject_180, templateObject_181, templateObject_182, templateObject_183, templateObject_184, templateObject_185, templateObject_186, templateObject_187, templateObject_188, templateObject_189;
562
+ var i18n_column = $localize(templateObject_25 || (templateObject_25 = __makeTemplateObject(["Column"], ["Column"])));
563
+ var i18n_conditions = $localize(templateObject_26 || (templateObject_26 = __makeTemplateObject(["Conditions"], ["Conditions"])));
564
+ var i18n_conditionAllRequired = $localize(templateObject_27 || (templateObject_27 = __makeTemplateObject(["All Required"], ["All Required"])));
565
+ var i18n_conditionAllRequiredInstructions = $localize(templateObject_28 || (templateObject_28 = __makeTemplateObject(["Set to true if all item references must have the specified value for the condition to be met. Setting this as false means one to all of the values must match for the condition to be met."], ["Set to true if all item references must have the specified value for the condition to be met. Setting this as false means one to all of the values must match for the condition to be met."])));
566
+ var i18n_conditionItemIds = $localize(templateObject_29 || (templateObject_29 = __makeTemplateObject(["Item References"], ["Item References"])));
567
+ var i18n_conditionItemIdsInstructions = $localize(templateObject_30 || (templateObject_30 = __makeTemplateObject(["The item references that determine when the condition is met. These are references to other items in the form that affect the state of this item."], ["The item references that determine when the condition is met. These are references to other items in the form that affect the state of this item."])));
568
+ var i18n_core = $localize(templateObject_31 || (templateObject_31 = __makeTemplateObject(["Core"], ["Core"])));
569
+ var i18n_childItems = $localize(templateObject_32 || (templateObject_32 = __makeTemplateObject(["Child Items"], ["Child Items"])));
570
+ var i18n_dateConfiguration = $localize(templateObject_33 || (templateObject_33 = __makeTemplateObject(["Date Configuration"], ["Date Configuration"])));
571
+ var i18n_dateFormat = $localize(templateObject_34 || (templateObject_34 = __makeTemplateObject(["Date Format"], ["Date Format"])));
572
+ var i18n_dateFormatInstructions = $localize(templateObject_35 || (templateObject_35 = __makeTemplateObject(["The format that the date should be displayed in the form. This is typically used to ensure that the date is presented in a way that is consistent with the user's expectations."], ["The format that the date should be displayed in the form. This is typically used to ensure that the date is presented in a way that is consistent with the user's expectations."])));
573
+ var i18n_description = $localize(templateObject_36 || (templateObject_36 = __makeTemplateObject(["Description"], ["Description"])));
574
+ var i18n_descriptionInstructions = $localize(templateObject_37 || (templateObject_37 = __makeTemplateObject(["The description is a short representation of what the value for the input should be."], ["The description is a short representation of what the value for the input should be."])));
575
+ var i18n_descriptive = $localize(templateObject_38 || (templateObject_38 = __makeTemplateObject(["Descriptive Information"], ["Descriptive Information"])));
576
+ var i18n_descriptiveText = $localize(templateObject_39 || (templateObject_39 = __makeTemplateObject(["Descriptive Text"], ["Descriptive Text"])));
577
+ var i18n_descriptiveTextInstructionsItem = $localize(templateObject_40 || (templateObject_40 = __makeTemplateObject(["Descriptive text provides additional explanation / context to the item. Typically the question text is used to present the question that information is being gathered about and the descriptive text expounds on that to ensure the user filling out the form understands what is being asked of them."], ["Descriptive text provides additional explanation / context to the item. Typically the question text is used to present the question that information is being gathered about and the descriptive text expounds on that to ensure the user filling out the form understands what is being asked of them."])));
578
+ var i18n_descriptiveTextInstructionsTemplate = $localize(templateObject_41 || (templateObject_41 = __makeTemplateObject(["Describes the purpose and use cases for this Template or Template Item."], ["Describes the purpose and use cases for this Template or Template Item."])));
579
+ var i18n_disabledItems = $localize(templateObject_42 || (templateObject_42 = __makeTemplateObject(["Disabled Items"], ["Disabled Items"])));
580
+ var i18n_disabledItemsInstructions = $localize(templateObject_43 || (templateObject_43 = __makeTemplateObject(["The items that should be disabled in the form upon selection of this option."], ["The items that should be disabled in the form upon selection of this option."])));
581
+ var i18n_downloadAllowed = $localize(templateObject_44 || (templateObject_44 = __makeTemplateObject(["Download Allowed"], ["Download Allowed"])));
582
+ var i18n_downloadAllowedInstructions = $localize(templateObject_45 || (templateObject_45 = __makeTemplateObject(["Indicates if the file should be allowed to be downloaded once it has been uploaded, or if it should only be available for processing on the backend."], ["Indicates if the file should be allowed to be downloaded once it has been uploaded, or if it should only be available for processing on the backend."])));
583
+ var i18n_dropdownConfiguration = $localize(templateObject_46 || (templateObject_46 = __makeTemplateObject(["Dropdown Configuration"], ["Dropdown Configuration"])));
584
+ var i18n_dropdownProperties = $localize(templateObject_47 || (templateObject_47 = __makeTemplateObject(["Dropdown Properties"], ["Dropdown Properties"])));
585
+ var i18n_enabledAndDisabledItems = $localize(templateObject_48 || (templateObject_48 = __makeTemplateObject(["Enabled and Disabled Items"], ["Enabled and Disabled Items"])));
586
+ var i18n_enabledItems = $localize(templateObject_49 || (templateObject_49 = __makeTemplateObject(["Enabled Items"], ["Enabled Items"])));
587
+ var i18n_enabledItemsInstructions = $localize(templateObject_50 || (templateObject_50 = __makeTemplateObject(["The items that should be enabled in the form upon selection of this option."], ["The items that should be enabled in the form upon selection of this option."])));
588
+ var i18n_fileTypeId = $localize(templateObject_51 || (templateObject_51 = __makeTemplateObject(["File Type Id"], ["File Type Id"])));
589
+ var i18n_fileTypeIdInstructions = $localize(templateObject_52 || (templateObject_52 = __makeTemplateObject(["The file type id that this file upload item should be associated with. This is used to determine what type of file is being uploaded and how it should be processed."], ["The file type id that this file upload item should be associated with. This is used to determine what type of file is being uploaded and how it should be processed."])));
590
+ var i18n_fileUploadConfiguration = $localize(templateObject_53 || (templateObject_53 = __makeTemplateObject(["File Upload Configuration"], ["File Upload Configuration"])));
591
+ var i18n_form = $localize(templateObject_54 || (templateObject_54 = __makeTemplateObject(["Form"], ["Form"])));
592
+ var i18n_format = $localize(templateObject_55 || (templateObject_55 = __makeTemplateObject(["Format"], ["Format"])));
593
+ var i18n_formatInstructions = $localize(templateObject_56 || (templateObject_56 = __makeTemplateObject(["The format the date should be presented in."], ["The format the date should be presented in."])));
594
+ var i18n_formatTimeInstructions = $localize(templateObject_57 || (templateObject_57 = __makeTemplateObject(["The format the time should be presented in."], ["The format the time should be presented in."])));
595
+ var i18n_fullWidth = $localize(templateObject_58 || (templateObject_58 = __makeTemplateObject(["Full Width"], ["Full Width"])));
596
+ var i18n_fullWidthInstructions = $localize(templateObject_59 || (templateObject_59 = __makeTemplateObject(["Indicates if the item should be presented in a full width format."], ["Indicates if the item should be presented in a full width format."])));
597
+ var i18n_help = $localize(templateObject_60 || (templateObject_60 = __makeTemplateObject(["Help"], ["Help"])));
598
+ var i18n_helpInstructions = $localize(templateObject_61 || (templateObject_61 = __makeTemplateObject(["The help text provides additional context to the user about what is being asked of them."], ["The help text provides additional context to the user about what is being asked of them."])));
599
+ var i18n_item = $localize(templateObject_62 || (templateObject_62 = __makeTemplateObject(["Item"], ["Item"])));
600
+ var i18n_items = $localize(templateObject_63 || (templateObject_63 = __makeTemplateObject(["Items"], ["Items"])));
601
+ var i18n_itemsInstructions = $localize(templateObject_64 || (templateObject_64 = __makeTemplateObject(["The items that make up this template."], ["The items that make up this template."])));
602
+ var i18n_label = $localize(templateObject_65 || (templateObject_65 = __makeTemplateObject(["Label"], ["Label"])));
603
+ var i18n_labelInstructions = $localize(templateObject_66 || (templateObject_66 = __makeTemplateObject(["The label is a short representation of what the value for the input should be. This will be presented as a greyed out value in the input and shift to the input title once the user provides an input of their own."], ["The label is a short representation of what the value for the input should be. This will be presented as a greyed out value in the input and shift to the input title once the user provides an input of their own."])));
604
+ var i18n_layout = $localize(templateObject_67 || (templateObject_67 = __makeTemplateObject(["Layout"], ["Layout"])));
605
+ var i18n_layoutInstructions = $localize(templateObject_68 || (templateObject_68 = __makeTemplateObject(["Indicates how the child items of this item should be presented. \"Row\" indicates that multiple items should be put on a single row (to save space), while \"Column\" indicates the items should be placed in a vertical way."], ["Indicates how the child items of this item should be presented. \"Row\" indicates that multiple items should be put on a single row (to save space), while \"Column\" indicates the items should be placed in a vertical way."])));
606
+ var i18n_maxCharCount = $localize(templateObject_69 || (templateObject_69 = __makeTemplateObject(["Maximum Character Count"], ["Maximum Character Count"])));
607
+ var i18n_maxCharCountInstructions = $localize(templateObject_70 || (templateObject_70 = __makeTemplateObject(["The maximum character count of the values that are input to be considered valid, this is optional."], ["The maximum character count of the values that are input to be considered valid, this is optional."])));
608
+ var i18n_minCharCount = $localize(templateObject_71 || (templateObject_71 = __makeTemplateObject(["Minimum Character Count"], ["Minimum Character Count"])));
609
+ var i18n_minCharCountInstructions = $localize(templateObject_72 || (templateObject_72 = __makeTemplateObject(["The minimum character count of the values that are input to be considered valid, this is optional."], ["The minimum character count of the values that are input to be considered valid, this is optional."])));
610
+ var i18n_maxOccurrances = $localize(templateObject_73 || (templateObject_73 = __makeTemplateObject(["Maximum Occurrences"], ["Maximum Occurrences"])));
611
+ var i18n_maxOccurrancesInstructions = $localize(templateObject_74 || (templateObject_74 = __makeTemplateObject(["The maximum number of times this item should be presented to the user."], ["The maximum number of times this item should be presented to the user."])));
612
+ var i18n_minOccurrances = $localize(templateObject_75 || (templateObject_75 = __makeTemplateObject(["Minimum Occurrences"], ["Minimum Occurrences"])));
613
+ var i18n_minOccurrancesInstructions = $localize(templateObject_76 || (templateObject_76 = __makeTemplateObject(["The minimum number of times this item should be presented to the user."], ["The minimum number of times this item should be presented to the user."])));
614
+ var i18n_minSelections = $localize(templateObject_77 || (templateObject_77 = __makeTemplateObject(["Minimum Selections"], ["Minimum Selections"])));
615
+ var i18n_minSelectionsInstructions = $localize(templateObject_78 || (templateObject_78 = __makeTemplateObject(["The minimum number of selections that should be required to be considered valid."], ["The minimum number of selections that should be required to be considered valid."])));
616
+ var i18n_maxSelections = $localize(templateObject_79 || (templateObject_79 = __makeTemplateObject(["Maximum Selections"], ["Maximum Selections"])));
617
+ var i18n_maxSelectionsInstructions = $localize(templateObject_80 || (templateObject_80 = __makeTemplateObject(["The maximum number of selections that should be required to be considered valid."], ["The maximum number of selections that should be required to be considered valid."])));
618
+ var i18n_maxValue = $localize(templateObject_81 || (templateObject_81 = __makeTemplateObject(["Maximum Value"], ["Maximum Value"])));
619
+ var i18n_maxValueInstructions = $localize(templateObject_82 || (templateObject_82 = __makeTemplateObject(["The maximum numeric value input to be considered valid, this is optional."], ["The maximum numeric value input to be considered valid, this is optional."])));
620
+ var i18n_minValue = $localize(templateObject_83 || (templateObject_83 = __makeTemplateObject(["Minimum Value"], ["Minimum Value"])));
621
+ var i18n_minValueInstructions = $localize(templateObject_84 || (templateObject_84 = __makeTemplateObject(["The minimum numeric value input to be considered valid, this is optional."], ["The minimum numeric value input to be considered valid, this is optional."])));
622
+ var i18n_multipleChoiceConfiguration = $localize(templateObject_85 || (templateObject_85 = __makeTemplateObject(["Multiple Choice Configuration"], ["Multiple Choice Configuration"])));
623
+ var i18n_name = $localize(templateObject_86 || (templateObject_86 = __makeTemplateObject(["Name"], ["Name"])));
624
+ var i18n_nameInstructions = $localize(templateObject_87 || (templateObject_87 = __makeTemplateObject(["This serves as an identifier for the item in the form and can be used to retrieve it during processing, indexing, or other operations."], ["This serves as an identifier for the item in the form and can be used to retrieve it during processing, indexing, or other operations."])));
625
+ var i18n_new = $localize(templateObject_88 || (templateObject_88 = __makeTemplateObject(["New"], ["New"])));
626
+ var i18n_newOption = $localize(templateObject_89 || (templateObject_89 = __makeTemplateObject(["New Option"], ["New Option"])));
627
+ var i18n_newOptionTemplate = $localize(templateObject_90 || (templateObject_90 = __makeTemplateObject(["New Option Template"], ["New Option Template"])));
628
+ var i18n_newTemplate = $localize(templateObject_91 || (templateObject_91 = __makeTemplateObject(["New Template"], ["New Template"])));
629
+ var i18n_newTemplateItem = $localize(templateObject_92 || (templateObject_92 = __makeTemplateObject(["New Template Item"], ["New Template Item"])));
630
+ var i18n_numericConfiguration = $localize(templateObject_93 || (templateObject_93 = __makeTemplateObject(["Numeric Configuration"], ["Numeric Configuration"])));
631
+ var i18n_numberedListConfiguration = $localize(templateObject_94 || (templateObject_94 = __makeTemplateObject(["Numbered List Configuration"], ["Numbered List Configuration"])));
632
+ var i18n_numberedListItemInstructions = $localize(templateObject_95 || (templateObject_95 = __makeTemplateObject(["The items that make up this numbered list. This is typically a list of text items that will be presented in a numbered list format."], ["The items that make up this numbered list. This is typically a list of text items that will be presented in a numbered list format."])));
633
+ var i18n_offsetDateRangeConfiguration = $localize(templateObject_96 || (templateObject_96 = __makeTemplateObject(["Offset Date Range Configuration"], ["Offset Date Range Configuration"])));
634
+ var i18n_option = $localize(templateObject_97 || (templateObject_97 = __makeTemplateObject(["Option"], ["Option"])));
635
+ var i18n_optionInstructions = $localize(templateObject_98 || (templateObject_98 = __makeTemplateObject(["The option that should be presented to the user."], ["The option that should be presented to the user."])));
636
+ var i18n_optionProperties = $localize(templateObject_99 || (templateObject_99 = __makeTemplateObject(["Option Properties"], ["Option Properties"])));
637
+ var i18n_options = $localize(templateObject_100 || (templateObject_100 = __makeTemplateObject(["Options"], ["Options"])));
638
+ var i18n_optionsInstructions = $localize(templateObject_101 || (templateObject_101 = __makeTemplateObject(["The options that should be presented to the user."], ["The options that should be presented to the user."])));
639
+ var i18n_optionSubsets = $localize(templateObject_102 || (templateObject_102 = __makeTemplateObject(["Option Subsets"], ["Option Subsets"])));
640
+ var i18n_optionSubsetInstructions = $localize(templateObject_103 || (templateObject_103 = __makeTemplateObject(["The option subsets that should be presented to the user."], ["The option subsets that should be presented to the user."])));
641
+ var i18n_optionTemplate = $localize(templateObject_104 || (templateObject_104 = __makeTemplateObject(["Option Template"], ["Option Template"])));
642
+ var i18n_optionTemplates = $localize(templateObject_105 || (templateObject_105 = __makeTemplateObject(["Option Templates"], ["Option Templates"])));
643
+ var i18n_optionTemplateInstructions = $localize(templateObject_106 || (templateObject_106 = __makeTemplateObject(["The template that should be used to provide additional context to the user about the selected option. This is typically used to provide more information about the option that is being selected, such as a description or additional details."], ["The template that should be used to provide additional context to the user about the selected option. This is typically used to provide more information about the option that is being selected, such as a description or additional details."])));
644
+ var i18n_optionTemplateMap = $localize(templateObject_107 || (templateObject_107 = __makeTemplateObject(["Option Template Map"], ["Option Template Map"])));
645
+ var i18n_optionTemplateMapInstructions = $localize(templateObject_108 || (templateObject_108 = __makeTemplateObject(["The option template map that should be presented to the user."], ["The option template map that should be presented to the user."])));
646
+ var i18n_positiveOnly = $localize(templateObject_109 || (templateObject_109 = __makeTemplateObject(["Positive Values Only"], ["Positive Values Only"])));
647
+ var i18n_positiveOnlyInstructions = $localize(templateObject_110 || (templateObject_110 = __makeTemplateObject(["Indicates that values input must be positive (non-negative, non-0) to be considered valid."], ["Indicates that values input must be positive (non-negative, non-0) to be considered valid."])));
648
+ var i18n_presetValue = $localize(templateObject_111 || (templateObject_111 = __makeTemplateObject(["Initial Value"], ["Initial Value"])));
649
+ var i18n_presetValueInstructions = $localize(templateObject_112 || (templateObject_112 = __makeTemplateObject(["The initial date value that should be set when a new instance of this is created."], ["The initial date value that should be set when a new instance of this is created."])));
650
+ var i18n_questionText = $localize(templateObject_113 || (templateObject_113 = __makeTemplateObject(["Question Text"], ["Question Text"])));
651
+ var i18n_questionTextInstructions = $localize(templateObject_114 || (templateObject_114 = __makeTemplateObject(["This is the question posed to the user about the input, for which a response is expected."], ["This is the question posed to the user about the input, for which a response is expected."])));
652
+ var i18n_rangeLimits = $localize(templateObject_115 || (templateObject_115 = __makeTemplateObject(["Range Limits"], ["Range Limits"])));
653
+ var i18n_rangeLimitsInstructions = $localize(templateObject_116 || (templateObject_116 = __makeTemplateObject(["The limits that should be applied to constrain the date time range that can be selected."], ["The limits that should be applied to constrain the date time range that can be selected."])));
654
+ var i18n_repeatableItemConfiguration = $localize(templateObject_117 || (templateObject_117 = __makeTemplateObject(["Repeatable Item Configuration"], ["Repeatable Item Configuration"])));
655
+ var i18n_repeatableItemTemplateId = $localize(templateObject_118 || (templateObject_118 = __makeTemplateObject(["Repeatable Item Template Id"], ["Repeatable Item Template Id"])));
656
+ var i18n_repeatableItemTemplateIdInstructions = $localize(templateObject_119 || (templateObject_119 = __makeTemplateObject(["The id of the template that should be used to create a new instance of this item."], ["The id of the template that should be used to create a new instance of this item."])));
657
+ var i18n_required = $localize(templateObject_120 || (templateObject_120 = __makeTemplateObject(["Required"], ["Required"])));
658
+ var i18n_requiredInstructions = $localize(templateObject_121 || (templateObject_121 = __makeTemplateObject(["Indicates that this item requires a value to be considered complete / valid."], ["Indicates that this item requires a value to be considered complete / valid."])));
659
+ var i18n_row = $localize(templateObject_122 || (templateObject_122 = __makeTemplateObject(["Row"], ["Row"])));
660
+ var i18n_selectAReference = $localize(templateObject_123 || (templateObject_123 = __makeTemplateObject(["Select a Reference"], ["Select a Reference"])));
661
+ var i18n_selectAReferenceDialogTitle = $localize(templateObject_124 || (templateObject_124 = __makeTemplateObject(["Select a Reference Dialog"], ["Select a Reference Dialog"])));
662
+ var i18n_settings = $localize(templateObject_125 || (templateObject_125 = __makeTemplateObject(["Settings"], ["Settings"])));
663
+ var i18n_startingInstances = $localize(templateObject_126 || (templateObject_126 = __makeTemplateObject(["Starting Instances"], ["Starting Instances"])));
664
+ var i18n_startingInstancesInstructions = $localize(templateObject_127 || (templateObject_127 = __makeTemplateObject(["The number of instances of this item that should be created when the form is first presented to the user."], ["The number of instances of this item that should be created when the form is first presented to the user."])));
665
+ var i18n_timeInputConfiguration = $localize(templateObject_128 || (templateObject_128 = __makeTemplateObject(["Time Input Configuration"], ["Time Input Configuration"])));
666
+ var i18n_template = $localize(templateObject_129 || (templateObject_129 = __makeTemplateObject(["Template"], ["Template"])));
667
+ var i18n_templateItem = $localize(templateObject_130 || (templateObject_130 = __makeTemplateObject(["Template Item"], ["Template Item"])));
668
+ var i18n_templateItemInstructions = $localize(templateObject_131 || (templateObject_131 = __makeTemplateObject(["The item that makes up this template."], ["The item that makes up this template."])));
669
+ var i18n_templateItems = $localize(templateObject_132 || (templateObject_132 = __makeTemplateObject(["Template Items"], ["Template Items"])));
670
+ var i18n_templateItemsInstructions = $localize(templateObject_133 || (templateObject_133 = __makeTemplateObject(["The items at the root level of the template / form."], ["The items at the root level of the template / form."])));
671
+ var i18n_templateItemsInstructionsGroup = $localize(templateObject_134 || (templateObject_134 = __makeTemplateObject(["The items that make up this group / section."], ["The items that make up this group / section."])));
672
+ var i18n_textConfiguration = $localize(templateObject_135 || (templateObject_135 = __makeTemplateObject(["Text Configuration"], ["Text Configuration"])));
673
+ var i18n_textInputConfiguration = $localize(templateObject_136 || (templateObject_136 = __makeTemplateObject(["Text Input Configuration"], ["Text Input Configuration"])));
674
+ var i18n_textValue = $localize(templateObject_137 || (templateObject_137 = __makeTemplateObject(["Text Value"], ["Text Value"])));
675
+ var i18n_textValueInstructions = $localize(templateObject_138 || (templateObject_138 = __makeTemplateObject(["This text will be displayed as HTML text in the form and is meant to be used to provide users with more in depth information about the form."], ["This text will be displayed as HTML text in the form and is meant to be used to provide users with more in depth information about the form."])));
676
+ var i18n_titleInstructions = $localize(templateObject_139 || (templateObject_139 = __makeTemplateObject(["The title of the Template."], ["The title of the Template."])));
677
+ var i18n_titleInstructionsSection = $localize(templateObject_140 || (templateObject_140 = __makeTemplateObject(["The title of the Section, this will be presented at the top of the card that represents the section."], ["The title of the Section, this will be presented at the top of the card that represents the section."])));
678
+ var i18n_value = $localize(templateObject_141 || (templateObject_141 = __makeTemplateObject(["Value"], ["Value"])));
679
+ var i18n_valueInstructions = $localize(templateObject_142 || (templateObject_142 = __makeTemplateObject(["The value that should be presented to the user."], ["The value that should be presented to the user."])));
680
+ var i18n_values = $localize(templateObject_143 || (templateObject_143 = __makeTemplateObject(["Values"], ["Values"])));
681
+ var i18n_valuesInstructions = $localize(templateObject_144 || (templateObject_144 = __makeTemplateObject(["The values that should be presented to the user."], ["The values that should be presented to the user."])));
682
+ var i18n_verifyAcknowledgementDialogTitle = $localize(templateObject_145 || (templateObject_145 = __makeTemplateObject(["Verify Acknowledgement Dialog"], ["Verify Acknowledgement Dialog"])));
683
+ var i18n_yearQuarterRangeConfiguration = $localize(templateObject_146 || (templateObject_146 = __makeTemplateObject(["Year Quarter Range Configuration"], ["Year Quarter Range Configuration"])));
684
+ var i18n_listValue = $localize(templateObject_147 || (templateObject_147 = __makeTemplateObject(["List Value"], ["List Value"])));
685
+ var i18n_newListValue = $localize(templateObject_148 || (templateObject_148 = __makeTemplateObject(["New List Value"], ["New List Value"])));
686
+ var i18n_newItem = $localize(templateObject_149 || (templateObject_149 = __makeTemplateObject(["New Item"], ["New Item"])));
687
+ var i18n_startYear = $localize(templateObject_150 || (templateObject_150 = __makeTemplateObject(["Start Year"], ["Start Year"])));
688
+ var i18n_startYearInstructions = $localize(templateObject_151 || (templateObject_151 = __makeTemplateObject(["The starting year for the year quarter range."], ["The starting year for the year quarter range."])));
689
+ var i18n_startQuarter = $localize(templateObject_152 || (templateObject_152 = __makeTemplateObject(["Start Quarter"], ["Start Quarter"])));
690
+ var i18n_startQuarterInstructions = $localize(templateObject_153 || (templateObject_153 = __makeTemplateObject(["The starting quarter for the year quarter range."], ["The starting quarter for the year quarter range."])));
691
+ var i18n_endYear = $localize(templateObject_154 || (templateObject_154 = __makeTemplateObject(["End Year"], ["End Year"])));
692
+ var i18n_endYearInstructions = $localize(templateObject_155 || (templateObject_155 = __makeTemplateObject(["The ending year for the year quarter range."], ["The ending year for the year quarter range."])));
693
+ var i18n_endQuarter = $localize(templateObject_156 || (templateObject_156 = __makeTemplateObject(["End Quarter"], ["End Quarter"])));
694
+ var i18n_endQuarterInstructions = $localize(templateObject_157 || (templateObject_157 = __makeTemplateObject(["The ending quarter for the year quarter range."], ["The ending quarter for the year quarter range."])));
695
+ var i18n_quarterOne = $localize(templateObject_158 || (templateObject_158 = __makeTemplateObject(["Q1"], ["Q1"])));
696
+ var i18n_quarterTwo = $localize(templateObject_159 || (templateObject_159 = __makeTemplateObject(["Q2"], ["Q2"])));
697
+ var i18n_quarterThree = $localize(templateObject_160 || (templateObject_160 = __makeTemplateObject(["Q3"], ["Q3"])));
698
+ var i18n_quarterFour = $localize(templateObject_161 || (templateObject_161 = __makeTemplateObject(["Q4"], ["Q4"])));
699
+ var i18n_boolean = $localize(templateObject_162 || (templateObject_162 = __makeTemplateObject(["Boolean"], ["Boolean"])));
700
+ var i18n_booleanItem = $localize(templateObject_163 || (templateObject_163 = __makeTemplateObject(["Boolean Item"], ["Boolean Item"])));
701
+ var i18n_booleanItemDescription = $localize(templateObject_164 || (templateObject_164 = __makeTemplateObject(["A simple yes/no or true/false question."], ["A simple yes/no or true/false question."])));
702
+ var i18n_bulletedListItem = $localize(templateObject_165 || (templateObject_165 = __makeTemplateObject(["Bulleted List Item"], ["Bulleted List Item"])));
703
+ var i18n_bulletedListItemDescription = $localize(templateObject_166 || (templateObject_166 = __makeTemplateObject(["Displays a list of items using bullet points."], ["Displays a list of items using bullet points."])));
704
+ var i18n_checkbox = $localize(templateObject_167 || (templateObject_167 = __makeTemplateObject(["Checkbox"], ["Checkbox"])));
705
+ var i18n_checkboxItem = $localize(templateObject_168 || (templateObject_168 = __makeTemplateObject(["Checkbox Item"], ["Checkbox Item"])));
706
+ var i18n_checkboxItemDescription = $localize(templateObject_169 || (templateObject_169 = __makeTemplateObject(["Allows users to select one or more options from a list."], ["Allows users to select one or more options from a list."])));
707
+ var i18n_date = $localize(templateObject_170 || (templateObject_170 = __makeTemplateObject(["Date"], ["Date"])));
708
+ var i18n_dateItem = $localize(templateObject_171 || (templateObject_171 = __makeTemplateObject(["Date Item"], ["Date Item"])));
709
+ var i18n_dateItemDescription = $localize(templateObject_172 || (templateObject_172 = __makeTemplateObject(["Allows users to select a specific calendar date."], ["Allows users to select a specific calendar date."])));
710
+ var i18n_decimalAnswer = $localize(templateObject_173 || (templateObject_173 = __makeTemplateObject(["Decimal Answer"], ["Decimal Answer"])));
711
+ var i18n_decimalAnswerItem = $localize(templateObject_174 || (templateObject_174 = __makeTemplateObject(["Decimal Answer Item"], ["Decimal Answer Item"])));
712
+ var i18n_decimalAnswerItemDescription = $localize(templateObject_175 || (templateObject_175 = __makeTemplateObject(["A field for entering numbers that may include decimals."], ["A field for entering numbers that may include decimals."])));
713
+ var i18n_decimalValue = $localize(templateObject_176 || (templateObject_176 = __makeTemplateObject(["Decimal Value"], ["Decimal Value"])));
714
+ var i18n_dropdown = $localize(templateObject_177 || (templateObject_177 = __makeTemplateObject(["Dropdown"], ["Dropdown"])));
715
+ var i18n_dropdownItem = $localize(templateObject_178 || (templateObject_178 = __makeTemplateObject(["Dropdown Item"], ["Dropdown Item"])));
716
+ var i18n_dropdownItemDescription = $localize(templateObject_179 || (templateObject_179 = __makeTemplateObject(["A compact list of options where users select one item from a dropdown menu."], ["A compact list of options where users select one item from a dropdown menu."])));
717
+ var i18n_exampleText = $localize(templateObject_180 || (templateObject_180 = __makeTemplateObject(["Example Text"], ["Example Text"])));
718
+ var i18n_fileUpload = $localize(templateObject_181 || (templateObject_181 = __makeTemplateObject(["File Upload"], ["File Upload"])));
719
+ var i18n_fileUploadItem = $localize(templateObject_182 || (templateObject_182 = __makeTemplateObject(["File Upload Item"], ["File Upload Item"])));
720
+ var i18n_fileUploadItemDescription = $localize(templateObject_183 || (templateObject_183 = __makeTemplateObject(["Allows users to upload one or more files."], ["Allows users to upload one or more files."])));
721
+ var i18n_group = $localize(templateObject_184 || (templateObject_184 = __makeTemplateObject(["Group"], ["Group"])));
722
+ var i18n_groupItem = $localize(templateObject_185 || (templateObject_185 = __makeTemplateObject(["Group Item"], ["Group Item"])));
723
+ var i18n_groupItemDescription = $localize(templateObject_186 || (templateObject_186 = __makeTemplateObject(["Groups related fields together within a section."], ["Groups related fields together within a section."])));
724
+ var i18n_internationalizedParagraphAnswer = $localize(templateObject_187 || (templateObject_187 = __makeTemplateObject(["Internationalized Paragraph Answer"], ["Internationalized Paragraph Answer"])));
725
+ var i18n_internationalizedParagraphAnswerItem = $localize(templateObject_188 || (templateObject_188 = __makeTemplateObject(["Internationalized Paragraph Answer Item"], ["Internationalized Paragraph Answer Item"])));
726
+ var i18n_internationalizedParagraphAnswerItemDescription = $localize(templateObject_189 || (templateObject_189 = __makeTemplateObject(["A long text response that supports multiple languages."], ["A long text response that supports multiple languages."])));
727
+ var i18n_internationalizedShortAnswer = $localize(templateObject_190 || (templateObject_190 = __makeTemplateObject(["Internationalized Short Answer"], ["Internationalized Short Answer"])));
728
+ var i18n_internationalizedShortAnswerItem = $localize(templateObject_191 || (templateObject_191 = __makeTemplateObject(["Internationalized Short Answer Item"], ["Internationalized Short Answer Item"])));
729
+ var i18n_internationalizedShortAnswerItemDescription = $localize(templateObject_192 || (templateObject_192 = __makeTemplateObject(["A short text response that supports multiple languages."], ["A short text response that supports multiple languages."])));
730
+ var i18n_multipleChoice = $localize(templateObject_193 || (templateObject_193 = __makeTemplateObject(["Multiple Choice"], ["Multiple Choice"])));
731
+ var i18n_multipleChoiceItem = $localize(templateObject_194 || (templateObject_194 = __makeTemplateObject(["Multiple Choice Item"], ["Multiple Choice Item"])));
732
+ var i18n_multipleChoiceItemDescription = $localize(templateObject_195 || (templateObject_195 = __makeTemplateObject(["Allows users to select a single option from a list."], ["Allows users to select a single option from a list."])));
733
+ var i18n_newOptionDescription = $localize(templateObject_196 || (templateObject_196 = __makeTemplateObject(["Adds a new selectable option to a list of choices."], ["Adds a new selectable option to a list of choices."])));
734
+ var i18n_numberedListItem = $localize(templateObject_197 || (templateObject_197 = __makeTemplateObject(["Numbered List Item"], ["Numbered List Item"])));
735
+ var i18n_numberedListItemDescription = $localize(templateObject_198 || (templateObject_198 = __makeTemplateObject(["Displays a list of items in a numbered format."], ["Displays a list of items in a numbered format."])));
736
+ var i18n_offsetDateRange = $localize(templateObject_199 || (templateObject_199 = __makeTemplateObject(["Offset Date Range"], ["Offset Date Range"])));
737
+ var i18n_offsetDateRangeItem = $localize(templateObject_200 || (templateObject_200 = __makeTemplateObject(["Offset Date Range Item"], ["Offset Date Range Item"])));
738
+ var i18n_offsetDateRangeItemDescription = $localize(templateObject_201 || (templateObject_201 = __makeTemplateObject(["Defines a date range relative to another date."], ["Defines a date range relative to another date."])));
739
+ var i18n_orderedList = $localize(templateObject_202 || (templateObject_202 = __makeTemplateObject(["Ordered List"], ["Ordered List"])));
740
+ var i18n_orderedListItem = $localize(templateObject_203 || (templateObject_203 = __makeTemplateObject(["Ordered List Item"], ["Ordered List Item"])));
741
+ var i18n_paragraphAnswer = $localize(templateObject_204 || (templateObject_204 = __makeTemplateObject(["Paragraph Answer"], ["Paragraph Answer"])));
742
+ var i18n_paragraphAnswerItem = $localize(templateObject_205 || (templateObject_205 = __makeTemplateObject(["Paragraph Answer Item"], ["Paragraph Answer Item"])));
743
+ var i18n_paragraphAnswerItemDescription = $localize(templateObject_206 || (templateObject_206 = __makeTemplateObject(["A multi-line text field for longer, detailed responses."], ["A multi-line text field for longer, detailed responses."])));
744
+ var i18n_repeatable = $localize(templateObject_207 || (templateObject_207 = __makeTemplateObject(["Repeatable"], ["Repeatable"])));
745
+ var i18n_repeatableItem = $localize(templateObject_208 || (templateObject_208 = __makeTemplateObject(["Repeatable Item"], ["Repeatable Item"])));
746
+ var i18n_repeatableItemDescription = $localize(templateObject_209 || (templateObject_209 = __makeTemplateObject(["Allows a set of fields to be repeated multiple times by the user."], ["Allows a set of fields to be repeated multiple times by the user."])));
747
+ var i18n_section = $localize(templateObject_210 || (templateObject_210 = __makeTemplateObject(["Section"], ["Section"])));
748
+ var i18n_sectionDescription = $localize(templateObject_211 || (templateObject_211 = __makeTemplateObject(["A container used to organize content into distinct sections."], ["A container used to organize content into distinct sections."])));
749
+ var i18n_sectionItem = $localize(templateObject_212 || (templateObject_212 = __makeTemplateObject(["Section Item"], ["Section Item"])));
750
+ var i18n_sectionStepName = $localize(templateObject_213 || (templateObject_213 = __makeTemplateObject(["Section Step Name"], ["Section Step Name"])));
751
+ var i18n_sectionStepNameInstructions = $localize(templateObject_214 || (templateObject_214 = __makeTemplateObject(["The name of the step that this section represents. This is used to group sections together into a single step in the form."], ["The name of the step that this section represents. This is used to group sections together into a single step in the form."])));
752
+ var i18n_sectionTitleItem = $localize(templateObject_215 || (templateObject_215 = __makeTemplateObject(["Section Title Item"], ["Section Title Item"])));
753
+ var i18n_shortAnswer = $localize(templateObject_216 || (templateObject_216 = __makeTemplateObject(["Short Answer"], ["Short Answer"])));
754
+ var i18n_shortAnswerItem = $localize(templateObject_217 || (templateObject_217 = __makeTemplateObject(["Short Answer Item"], ["Short Answer Item"])));
755
+ var i18n_shortAnswerItemDescription = $localize(templateObject_218 || (templateObject_218 = __makeTemplateObject(["A single-line text field for brief responses."], ["A single-line text field for brief responses."])));
756
+ var i18n_text = $localize(templateObject_219 || (templateObject_219 = __makeTemplateObject(["Text"], ["Text"])));
757
+ var i18n_textItem = $localize(templateObject_220 || (templateObject_220 = __makeTemplateObject(["Text Item"], ["Text Item"])));
758
+ var i18n_textItemDescription = $localize(templateObject_221 || (templateObject_221 = __makeTemplateObject(["Displays static informational text to guide users."], ["Displays static informational text to guide users."])));
759
+ var i18n_time = $localize(templateObject_222 || (templateObject_222 = __makeTemplateObject(["Time"], ["Time"])));
760
+ var i18n_timeItem = $localize(templateObject_223 || (templateObject_223 = __makeTemplateObject(["Time Item"], ["Time Item"])));
761
+ var i18n_title = $localize(templateObject_224 || (templateObject_224 = __makeTemplateObject(["Title"], ["Title"])));
762
+ var i18n_titleItem = $localize(templateObject_225 || (templateObject_225 = __makeTemplateObject(["Title Item"], ["Title Item"])));
763
+ var i18n_titleItemDescription = $localize(templateObject_226 || (templateObject_226 = __makeTemplateObject(["Displays a heading or title for a section or group."], ["Displays a heading or title for a section or group."])));
764
+ var i18n_unorderedList = $localize(templateObject_227 || (templateObject_227 = __makeTemplateObject(["Unordered List"], ["Unordered List"])));
765
+ var i18n_unorderedListItem = $localize(templateObject_228 || (templateObject_228 = __makeTemplateObject(["Unordered List Item"], ["Unordered List Item"])));
766
+ var i18n_wholeNumberAnswer = $localize(templateObject_229 || (templateObject_229 = __makeTemplateObject(["Whole Number Answer"], ["Whole Number Answer"])));
767
+ var i18n_wholeNumberAnswerItem = $localize(templateObject_230 || (templateObject_230 = __makeTemplateObject(["Whole Number Answer Item"], ["Whole Number Answer Item"])));
768
+ var i18n_wholeNumberAnswerItemDescription = $localize(templateObject_231 || (templateObject_231 = __makeTemplateObject(["A field for entering whole numbers only (no decimals)."], ["A field for entering whole numbers only (no decimals)."])));
769
+ var i18n_wholeNumberValue = $localize(templateObject_232 || (templateObject_232 = __makeTemplateObject(["Whole Number Value"], ["Whole Number Value"])));
770
+ var i18n_yearQuarterRange = $localize(templateObject_233 || (templateObject_233 = __makeTemplateObject(["Year Quarter Range"], ["Year Quarter Range"])));
771
+ var i18n_yearQuarterRangeItem = $localize(templateObject_234 || (templateObject_234 = __makeTemplateObject(["Year Quarter Range Item"], ["Year Quarter Range Item"])));
772
+ var i18n_yearQuarterRangeItemDescription = $localize(templateObject_235 || (templateObject_235 = __makeTemplateObject(["Allows users to select a range based on year and quarter."], ["Allows users to select a range based on year and quarter."])));
773
+ var templateObject_1$q, templateObject_2$6, templateObject_3$4, templateObject_4$3, templateObject_5$3, templateObject_6$3, templateObject_7$3, templateObject_8$3, templateObject_9$3, templateObject_10$3, templateObject_11$3, templateObject_12$3, templateObject_13$2, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49, templateObject_50, templateObject_51, templateObject_52, templateObject_53, templateObject_54, templateObject_55, templateObject_56, templateObject_57, templateObject_58, templateObject_59, templateObject_60, templateObject_61, templateObject_62, templateObject_63, templateObject_64, templateObject_65, templateObject_66, templateObject_67, templateObject_68, templateObject_69, templateObject_70, templateObject_71, templateObject_72, templateObject_73, templateObject_74, templateObject_75, templateObject_76, templateObject_77, templateObject_78, templateObject_79, templateObject_80, templateObject_81, templateObject_82, templateObject_83, templateObject_84, templateObject_85, templateObject_86, templateObject_87, templateObject_88, templateObject_89, templateObject_90, templateObject_91, templateObject_92, templateObject_93, templateObject_94, templateObject_95, templateObject_96, templateObject_97, templateObject_98, templateObject_99, templateObject_100, templateObject_101, templateObject_102, templateObject_103, templateObject_104, templateObject_105, templateObject_106, templateObject_107, templateObject_108, templateObject_109, templateObject_110, templateObject_111, templateObject_112, templateObject_113, templateObject_114, templateObject_115, templateObject_116, templateObject_117, templateObject_118, templateObject_119, templateObject_120, templateObject_121, templateObject_122, templateObject_123, templateObject_124, templateObject_125, templateObject_126, templateObject_127, templateObject_128, templateObject_129, templateObject_130, templateObject_131, templateObject_132, templateObject_133, templateObject_134, templateObject_135, templateObject_136, templateObject_137, templateObject_138, templateObject_139, templateObject_140, templateObject_141, templateObject_142, templateObject_143, templateObject_144, templateObject_145, templateObject_146, templateObject_147, templateObject_148, templateObject_149, templateObject_150, templateObject_151, templateObject_152, templateObject_153, templateObject_154, templateObject_155, templateObject_156, templateObject_157, templateObject_158, templateObject_159, templateObject_160, templateObject_161, templateObject_162, templateObject_163, templateObject_164, templateObject_165, templateObject_166, templateObject_167, templateObject_168, templateObject_169, templateObject_170, templateObject_171, templateObject_172, templateObject_173, templateObject_174, templateObject_175, templateObject_176, templateObject_177, templateObject_178, templateObject_179, templateObject_180, templateObject_181, templateObject_182, templateObject_183, templateObject_184, templateObject_185, templateObject_186, templateObject_187, templateObject_188, templateObject_189, templateObject_190, templateObject_191, templateObject_192, templateObject_193, templateObject_194, templateObject_195, templateObject_196, templateObject_197, templateObject_198, templateObject_199, templateObject_200, templateObject_201, templateObject_202, templateObject_203, templateObject_204, templateObject_205, templateObject_206, templateObject_207, templateObject_208, templateObject_209, templateObject_210, templateObject_211, templateObject_212, templateObject_213, templateObject_214, templateObject_215, templateObject_216, templateObject_217, templateObject_218, templateObject_219, templateObject_220, templateObject_221, templateObject_222, templateObject_223, templateObject_224, templateObject_225, templateObject_226, templateObject_227, templateObject_228, templateObject_229, templateObject_230, templateObject_231, templateObject_232, templateObject_233, templateObject_234, templateObject_235;
728
774
 
729
775
  var prop_option_enabled_items = 'enabledItems';
730
776
  var prop_option_disabled_items = 'disabledItems';
731
777
  var prop_option_template = 'optionTemplate';
732
- var prop_item_acknowledgement = 'acknowledgement'; // maps to FormOptionSelector.acknowledgement property
778
+ var prop_item_condition_allRequired = 'allRequired';
779
+ var prop_item_condition_itemIds = 'itemIds';
780
+ var prop_item_acknowledgementTemplate = 'acknowledgementTemplate'; // maps to FormOptionSelector.acknowledgement property
733
781
  var prop_item_additional_text = 'additionalText'; // maps to RepeatableItemTemplate.additionalText property
734
782
  var prop_item_annotation_enabled = 'annotationEnabled';
735
783
  var prop_item_code_option = 'codeOption'; // maps to TemplateOptionItem.codeOption property
@@ -761,6 +809,8 @@
761
809
  var prop_item_option_template_map = 'optionTemplateMap'; // maps to CheckboxItemTemplate.optionTemplateMap
762
810
  var prop_item_preset_value = 'presetValue'; // maps to DateItemTemplate.presetValue
763
811
  var prop_item_positive_only = 'positiveOnly'; // maps to wholeNumber/decimal AnswerItem.positiveOnly
812
+ var prop_item_startQuarter = 'quarter'; // maps to QuarterRangeTemplate.rangeLimits.start/end.quarter
813
+ var prop_item_endQuarter = 'endQuarter';
764
814
  var prop_item_question_text = 'questionText'; // maps to templateItem.questionText
765
815
  var prop_item_range_limits = 'rangeLimits'; // maps to OffsetDateRangeTemplate.rangeLimits
766
816
  var prop_item_repeatable_item_template_id = 'repeatableItemTemplateId'; // maps to RepeatableItemTemplate.repeatableItemTemplateId
@@ -770,139 +820,163 @@
770
820
  var prop_item_title = 'title'; // maps to templateSection.title
771
821
  var prop_item_value = 'value'; // maps to TitleItem.value
772
822
  var prop_item_values = 'values'; // maps to BulletedListItemTemplate.values
773
- var prop_template_descriptive_text = 'template-descriptive-text'; // maps to template.descriptiveText property
823
+ var prop_item_startYear = 'startYear'; // maps to YearQuarterRangeTemplate.rangeLimits.start/end.year
824
+ var prop_item_endYear = 'endYear'; // maps to YearQuarterRangeTemplate.rangeLimits.start/end.year
825
+ var prop_template_descriptive_text = 'descriptiveText'; // maps to template.descriptiveText property
774
826
  var prop_template_items = 'items'; // maps to template.items property
775
827
  var prop_template_title = 'title'; // maps to template.title property
776
828
 
777
829
  var BOOLEAN_POTENTIAL_DESIGN = {
778
830
  id: uuid.v4(),
779
831
  display: i18n_booleanItem,
832
+ description: i18n_booleanItemDescription,
780
833
  type: webFormTs.BOOLEAN_ITEM_TEMPLATE_ID,
781
834
  focusType: 'SET_FOCUS',
782
835
  };
783
836
  var CHECKBOX_POTENTIAL_DESIGN = {
784
837
  id: uuid.v4(),
785
838
  display: i18n_checkboxItem,
839
+ description: i18n_checkboxItemDescription,
786
840
  type: webFormTs.CHECKBOX_ITEM_TEMPLATE_ID,
787
841
  focusType: 'SET_FOCUS',
788
842
  };
789
843
  var OFFSET_DATE_RANGE_POTENTIAL_DESIGN = {
790
844
  id: uuid.v4(),
791
845
  display: i18n_offsetDateRangeItem,
846
+ description: i18n_offsetDateRangeItemDescription,
792
847
  type: webFormTs.OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,
793
848
  focusType: 'SET_FOCUS',
794
849
  };
795
850
  var YEAR_QUARTER_RANGE_POTENTIAL_DESIGN = {
796
851
  id: uuid.v4(),
797
852
  display: i18n_yearQuarterRangeItem,
853
+ description: i18n_yearQuarterRangeItemDescription,
798
854
  type: webFormTs.YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,
799
855
  focusType: 'SET_FOCUS',
800
856
  };
801
857
  var DATE_POTENTIAL_DESIGN = {
802
858
  id: uuid.v4(),
803
859
  display: i18n_dateItem,
860
+ description: i18n_dateItemDescription,
804
861
  type: webFormTs.DATE_ITEM_TEMPLATE_ID,
805
862
  focusType: 'SET_FOCUS',
806
863
  };
807
864
  var DECIMAL_ANSWER_POTENTIAL_DESIGN = {
808
865
  id: uuid.v4(),
809
866
  display: i18n_decimalAnswerItem,
867
+ description: i18n_decimalAnswerItemDescription,
810
868
  type: webFormTs.DECIMAL_ANSWER_ITEM_TEMPLATE_ID,
811
869
  focusType: 'SET_FOCUS',
812
870
  };
813
871
  var DROPDOWN_POTENTIAL_DESIGN = {
814
872
  id: uuid.v4(),
815
873
  display: i18n_dropdownItem,
874
+ description: i18n_dropdownItemDescription,
816
875
  type: webFormTs.DROPDOWN_ITEM_TEMPLATE_ID,
817
876
  focusType: 'SET_FOCUS',
818
877
  };
819
878
  var FILE_UPLOAD_POTENTIAL_DESIGN = {
820
879
  id: uuid.v4(),
821
880
  display: i18n_fileUploadItem,
881
+ description: i18n_fileUploadItemDescription,
822
882
  type: webFormTs.FILE_UPLOAD_ITEM_TEMPLATE_ID,
823
883
  focusType: 'SET_FOCUS',
824
884
  };
825
885
  var I18N_PARAGRAPH_ANSWER_POTENTIAL_DESIGN = {
826
886
  id: uuid.v4(),
827
887
  display: i18n_internationalizedParagraphAnswerItem,
888
+ description: i18n_internationalizedParagraphAnswerItemDescription,
828
889
  type: webFormTs.INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,
829
890
  focusType: 'SET_FOCUS',
830
891
  };
831
892
  var I18N_SHORT_ANSWER_POTENTIAL_DESIGN = {
832
893
  id: uuid.v4(),
833
894
  display: i18n_internationalizedShortAnswerItem,
895
+ description: i18n_internationalizedShortAnswerItemDescription,
834
896
  type: webFormTs.INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,
835
897
  focusType: 'SET_FOCUS',
836
898
  };
837
899
  var MULTIPLE_CHOICE_POTENTIAL_DESIGN = {
838
900
  id: uuid.v4(),
839
901
  display: i18n_multipleChoiceItem,
902
+ description: i18n_multipleChoiceItemDescription,
840
903
  type: webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,
841
904
  focusType: 'SET_FOCUS',
842
905
  };
843
906
  var NUMBERED_LIST_POTENTIAL_DESIGN = {
844
907
  id: uuid.v4(),
845
908
  display: i18n_numberedListItem,
909
+ description: i18n_numberedListItemDescription,
846
910
  type: webFormTs.NUMBERED_LIST_ITEM_TEMPLATE_ID,
847
911
  focusType: 'SET_FOCUS',
848
912
  };
849
913
  var PARAGRAPH_ANSWER_POTENTIAL_DESIGN = {
850
914
  id: uuid.v4(),
851
915
  display: i18n_paragraphAnswerItem,
916
+ description: i18n_paragraphAnswerItemDescription,
852
917
  type: webFormTs.PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,
853
918
  focusType: 'SET_FOCUS',
854
919
  };
855
920
  var REPEATABLE_POTENTIAL_DESIGN = {
856
921
  id: uuid.v4(),
857
922
  display: i18n_repeatableItem,
923
+ description: i18n_repeatableItemDescription,
858
924
  type: webFormTs.REPEATABLE_ITEM_TEMPLATE_IMPL_ID,
859
925
  focusType: 'SET_FOCUS',
860
926
  };
861
927
  var SECTION_POTENTIAL_DESIGN = {
862
928
  id: uuid.v4(),
863
929
  display: i18n_section,
930
+ description: i18n_sectionDescription,
864
931
  type: webFormTs.TEMPLATE_SECTION_IMPL_ID,
865
932
  focusType: 'SET_FOCUS',
866
933
  };
867
934
  var SHORT_ANSWER_POTENTIAL_DESIGN = {
868
935
  id: uuid.v4(),
869
936
  display: i18n_shortAnswerItem,
937
+ description: i18n_shortAnswerItemDescription,
870
938
  type: webFormTs.SHORT_ANSWER_ITEM_TEMPLATE_ID,
871
939
  focusType: 'SET_FOCUS',
872
940
  };
873
941
  var GROUP_POTENTIAL_DESIGN = {
874
942
  id: uuid.v4(),
875
943
  display: i18n_groupItem,
944
+ description: i18n_groupItemDescription,
876
945
  type: webFormTs.TEMPLATE_ITEM_GROUP_IMPL_ID,
877
946
  focusType: 'SET_FOCUS',
878
947
  };
879
948
  var TEXT_POTENTIAL_DESIGN = {
880
949
  id: uuid.v4(),
881
950
  display: i18n_textItem,
951
+ description: i18n_textItemDescription,
882
952
  type: webFormTs.TEXT_ITEM_TEMPLATE_ID,
883
953
  focusType: 'SET_FOCUS',
884
954
  };
885
955
  var TITLE_POTENTIAL_DESIGN = {
886
956
  id: uuid.v4(),
887
957
  display: i18n_titleItem,
958
+ description: i18n_titleItemDescription,
888
959
  type: webFormTs.TITLE_ITEM_TEMPLATE_ID,
889
960
  focusType: 'SET_FOCUS',
890
961
  };
891
962
  var BULLETED_LIST_POTENTIAL_DESIGN = {
892
963
  id: uuid.v4(),
893
964
  display: i18n_bulletedListItem,
965
+ description: i18n_bulletedListItemDescription,
894
966
  type: webFormTs.BULLETED_LIST_ITEM_TEMPLATE_ID,
895
967
  focusType: 'SET_FOCUS',
896
968
  };
897
969
  var WHOLE_NUMBER_ANSWER_POTENTIAL_DESIGN = {
898
970
  id: uuid.v4(),
899
971
  display: i18n_wholeNumberAnswerItem,
972
+ description: i18n_wholeNumberAnswerItemDescription,
900
973
  type: webFormTs.WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,
901
974
  focusType: 'SET_FOCUS',
902
975
  };
903
976
  var FORM_OPTION_SELECTOR_POTENTIAL_DESIGN = {
904
977
  id: uuid.v4(),
905
978
  display: i18n_newOption,
979
+ description: i18n_newOptionDescription,
906
980
  type: 'OPTION',
907
981
  focusType: 'MAINTAIN_FOCUS',
908
982
  };
@@ -931,22 +1005,40 @@
931
1005
  var TEMPLATE_POTENTIAL_DESIGN_LIST = __spreadArray([SECTION_POTENTIAL_DESIGN], __read(SECTION_POTENTIAL_DESIGN_LIST));
932
1006
  var OPTION_SELECTOR_POTENTIAL_DESIGN_LIST = __spreadArray([], __read(SECTION_POTENTIAL_DESIGN_LIST));
933
1007
 
1008
+ var templateMapperRegistry = {};
1009
+ var templateMapperToDesignRegistry = {};
1010
+ function registerTemplateMapper(id, ctor, toDesignFn) {
1011
+ templateMapperRegistry[id] = ctor;
1012
+ templateMapperToDesignRegistry[id] = toDesignFn;
1013
+ }
1014
+ function getTemplateMapperFromDesign$1(design, context, customParams) {
1015
+ var MapperClass = templateMapperRegistry[design.type];
1016
+ if (!MapperClass) {
1017
+ throw new Error("No mapper registered for design type: \"" + design.type + "\". Did you forget to import mapper-classes.model.ts?");
1018
+ }
1019
+ return new MapperClass({ design: design, context: context, customParams: customParams });
1020
+ }
1021
+ function mapperTemplateToDesign(model, languageId, context, customParams) {
1022
+ var fn = templateMapperToDesignRegistry[model.itemId];
1023
+ var design = fn({ model: model, languageId: languageId, context: context, customParams: customParams });
1024
+ return Object.assign({}, design);
1025
+ }
934
1026
  var mapperRegistry = {};
935
1027
  var mapperToDesignRegistry = {};
936
1028
  function registerMapper(id, ctor, toDesignFn) {
937
1029
  mapperRegistry[id] = ctor;
938
1030
  mapperToDesignRegistry[id] = toDesignFn;
939
1031
  }
940
- function getItemMapperFromDesign(design, context) {
1032
+ function getItemMapperFromDesign(design, context, customParams) {
941
1033
  var MapperClass = mapperRegistry[design.type];
942
1034
  if (!MapperClass) {
943
1035
  throw new Error("No mapper registered for design type: \"" + design.type + "\". Did you forget to import mapper-classes.model.ts?");
944
1036
  }
945
- return new MapperClass({ design: design, context: context });
1037
+ return new MapperClass({ design: design, context: context, customParams: customParams });
946
1038
  }
947
- function mapperItemToDesign(item, languageId, parent, context) {
1039
+ function mapperItemToDesign(item, languageId, parent, context, customParams) {
948
1040
  var fn = mapperToDesignRegistry[item.itemId];
949
- var design = fn({ model: item, languageId: languageId, context: context });
1041
+ var design = fn({ model: item, languageId: languageId, context: context, customParams: customParams });
950
1042
  return Object.assign(Object.assign({}, design), { parent: parent });
951
1043
  }
952
1044
 
@@ -1014,7 +1106,7 @@
1014
1106
  var newFormOptionSelectorStringOption = {
1015
1107
  containerDescription: '',
1016
1108
  codeValue: '',
1017
- acknowledgement: undefined,
1109
+ acknowledgementTemplate: undefined,
1018
1110
  disabledItems: [],
1019
1111
  enabledItems: [],
1020
1112
  multiSelect: false,
@@ -1026,7 +1118,7 @@
1026
1118
  var newFormOptionSelectorBooleanOption = {
1027
1119
  containerDescription: '',
1028
1120
  codeValue: '',
1029
- acknowledgement: undefined,
1121
+ acknowledgementTemplate: undefined,
1030
1122
  disabledItems: [],
1031
1123
  enabledItems: [],
1032
1124
  multiSelect: false,
@@ -1104,7 +1196,7 @@
1104
1196
  return Object.assign(Object.assign({}, baseTemplateItem(designBase, languageId)), { items: [], layout: 'COLUMN' });
1105
1197
  };
1106
1198
  var getNewTemplateSection = function (designBase, languageId) {
1107
- return Object.assign(Object.assign({}, getNewTemplateItemGroup(designBase, languageId)), { title: getNewTitleItemTemplate(designBase, languageId) });
1199
+ return Object.assign(Object.assign({}, getNewTemplateItemGroup(designBase, languageId)), { title: getNewTitleItemTemplate(TITLE_POTENTIAL_DESIGN, languageId) });
1108
1200
  };
1109
1201
  var standardFactories = (_c = {},
1110
1202
  _c[webFormTs.BOOLEAN_ITEM_TEMPLATE_ID] = getNewBooleanItemTemplate,
@@ -1143,21 +1235,22 @@
1143
1235
  return baseTemplateItem(designBase, languageId);
1144
1236
  }
1145
1237
 
1238
+ // TEMPLATE ITEM UTILS
1146
1239
  function getNewTemplateItem(designBase, languageId, languageIds) {
1147
1240
  return getNewInitTemplateItem(designBase, languageId, languageIds);
1148
1241
  }
1149
- function toTemplateItem(design, context) {
1150
- var model = getItemMapperFromDesign(design, context).getModel();
1242
+ function toTemplateItem(design, context, customParams) {
1243
+ var model = getItemMapperFromDesign(design, context, customParams).getModel();
1151
1244
  return model;
1152
1245
  }
1153
1246
  function getTemplateItemPotentialDesigns(design, property) {
1154
1247
  return getItemMapperFromDesign(design).getPotentialDesigns(property);
1155
1248
  }
1156
- function itemToDesign(item, languageId, parent, context) {
1157
- var design = mapperItemToDesign(item, languageId, parent, context);
1249
+ function itemToDesign(item, languageId, parent, context, customParams) {
1250
+ var design = mapperItemToDesign(item, languageId, parent, context, customParams);
1158
1251
  return Object.assign(Object.assign({}, design), { parent: parent });
1159
1252
  }
1160
- function getTemplateItems(design, sectionId, propertyIds, context) {
1253
+ function getTemplateItems(design, sectionId, propertyIds, context, customParams) {
1161
1254
  var e_1, _a;
1162
1255
  var values = {};
1163
1256
  var section = design.sections.find(function (designSection) { return designSection.display === sectionId; });
@@ -1170,7 +1263,7 @@
1170
1263
  try {
1171
1264
  for (var _c = (e_2 = void 0, __values(property.values)), _d = _c.next(); !_d.done; _d = _c.next()) {
1172
1265
  var value = _d.value;
1173
- values[propertyId].push(toTemplateItem(value, context));
1266
+ values[propertyId].push(toTemplateItem(value, context, customParams));
1174
1267
  }
1175
1268
  }
1176
1269
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -1215,7 +1308,7 @@
1215
1308
  }
1216
1309
  TemplateMapper.prototype.getPotentialDesigns = function (property) {
1217
1310
  if (property.property === prop_template_items) {
1218
- return GROUP_POTENTIAL_DESIGN_LIST;
1311
+ return TEMPLATE_POTENTIAL_DESIGN_LIST;
1219
1312
  }
1220
1313
  else {
1221
1314
  return [];
@@ -1249,7 +1342,9 @@
1249
1342
  TemplateMapper.prototype.getSectionTemplateItems = function (template, languageId, parent) {
1250
1343
  var _this = this;
1251
1344
  var properties = [];
1252
- properties.push(designerTs.getModelDesignProperty(i18n_templateItems, i18n_templateItemsInstructions, prop_template_items, true, template.items ? template.items.map(function (item) { return itemToDesign(item, languageId, parent, _this.context); }) : []));
1345
+ properties.push(designerTs.getModelDesignProperty(i18n_templateItems, i18n_templateItemsInstructions, prop_template_items, true, template.items
1346
+ ? template.items.map(function (item) { return itemToDesign(item, languageId, parent, _this.context, _this.customParams); })
1347
+ : []));
1253
1348
  return { display: i18n_templateItems, properties: properties };
1254
1349
  };
1255
1350
  TemplateMapper.prototype.templateToDesignBase = function (model, languageId) {
@@ -1278,83 +1373,17 @@
1278
1373
  function initializeDesign(designBase) {
1279
1374
  return Object.assign(Object.assign({}, designBase), { sections: [] });
1280
1375
  }
1281
- function isTemplateDesign(design) {
1282
- return design.type === webFormTs.TEMPLATE_IMPL_ID;
1283
- }
1284
- function isTemplateItemDesign(design) {
1285
- switch (design.type) {
1286
- case webFormTs.BOOLEAN_ITEM_TEMPLATE_ID:
1287
- case webFormTs.BULLETED_LIST_ITEM_TEMPLATE_ID:
1288
- case webFormTs.CHECKBOX_GRID_TEMPLATE_ID:
1289
- case webFormTs.CHECKBOX_ITEM_TEMPLATE_ID:
1290
- case webFormTs.DATE_ITEM_TEMPLATE_ID:
1291
- case webFormTs.DECIMAL_ANSWER_ITEM_TEMPLATE_ID:
1292
- case webFormTs.DROPDOWN_ITEM_TEMPLATE_ID:
1293
- case webFormTs.FILE_UPLOAD_ITEM_TEMPLATE_ID:
1294
- case webFormTs.HIDDEN_REFERENCE_ITEM_TEMPLATE_ID:
1295
- case webFormTs.INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
1296
- case webFormTs.INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID:
1297
- case webFormTs.LINEAR_SCALE_ITEM_TEMPLATE_ID:
1298
- case webFormTs.MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID:
1299
- case webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID:
1300
- case webFormTs.NUMBERED_LIST_ITEM_TEMPLATE_ID:
1301
- case webFormTs.OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID:
1302
- case webFormTs.PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
1303
- case webFormTs.REPEATABLE_ITEM_TEMPLATE_IMPL_ID:
1304
- case webFormTs.REQUEST_ID_ITEM_TEMPLATE_ID:
1305
- case webFormTs.SHORT_ANSWER_ITEM_TEMPLATE_ID:
1306
- case webFormTs.TEMPLATE_ITEM_GROUP_IMPL_ID:
1307
- case webFormTs.TEMPLATE_SECTION_IMPL_ID:
1308
- case webFormTs.TEXT_ITEM_TEMPLATE_ID:
1309
- case webFormTs.TIME_ITEM_TEMPLATE_ID:
1310
- case webFormTs.TITLE_ITEM_TEMPLATE_ID:
1311
- case webFormTs.WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID:
1312
- case webFormTs.YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID:
1313
- return true;
1314
- default:
1315
- return false;
1316
- }
1317
- }
1318
- function isTemplateItem(something) {
1319
- return (webFormTs.instanceOfBooleanItemTemplate(something) ||
1320
- webFormTs.instanceOfBulletedListItemTemplate(something) ||
1321
- webFormTs.instanceOfCheckboxGridTemplate(something) ||
1322
- webFormTs.instanceOfCheckboxItemTemplate(something) ||
1323
- webFormTs.instanceOfDateItemTemplate(something) ||
1324
- webFormTs.instanceOfDecimalAnswerItemTemplate(something) ||
1325
- webFormTs.instanceOfDropdownItemTemplate(something) ||
1326
- webFormTs.instanceOfFileUploadItemTemplate(something) ||
1327
- webFormTs.instanceOfHiddenReferenceItemTemplate(something) ||
1328
- webFormTs.instanceOfInternationalizedParagraphAnswerItemTemplate(something) ||
1329
- webFormTs.instanceOfInternationalizedShortAnswerItemTemplate(something) ||
1330
- webFormTs.instanceOfLinearScaleItemTemplate(something) ||
1331
- webFormTs.instanceOfMultipleChoiceGridItemTemplate(something) ||
1332
- webFormTs.instanceOfMultipleChoiceItemTemplate(something) ||
1333
- webFormTs.instanceOfNumberedListItemTemplate(something) ||
1334
- webFormTs.instanceOfOffsetDateRangeTemplate(something) ||
1335
- webFormTs.instanceOfParagraphAnswerItemTemplate(something) ||
1336
- webFormTs.instanceOfRepeatableItemTemplate(something) ||
1337
- webFormTs.instanceOfRequestIdItemTemplate(something) ||
1338
- webFormTs.instanceOfShortAnswerItemTemplate(something) ||
1339
- webFormTs.instanceOfTemplateItemGroupImpl(something) ||
1340
- webFormTs.instanceOfTemplateSectionImpl(something) ||
1341
- webFormTs.instanceOfTextItemTemplate(something) ||
1342
- webFormTs.instanceOfTimeItemTemplate(something) ||
1343
- webFormTs.instanceOfTitleItemTemplate(something) ||
1344
- webFormTs.instanceOfWholeNumberAnswerItemTemplate(something) ||
1345
- webFormTs.instanceOfYearQuarterRangeTemplate(something));
1346
- }
1347
1376
  function getTemplatePotentialDesigns(design, property) {
1348
1377
  return getTemplateMapperFromDesign(design).getPotentialDesigns(property);
1349
1378
  }
1350
- function templateToDesign(template, languageId, context) {
1351
- return new TemplateMapper({ model: template, languageId: languageId, context: context }).getDesign();
1379
+ function templateToDesign(template, languageId, context, customParams) {
1380
+ return new TemplateMapper({ model: template, languageId: languageId, context: context, customParams: customParams }).getDesign();
1352
1381
  }
1353
- function toTemplate(design, context) {
1354
- return new TemplateMapper({ design: design, context: context }).getModel();
1382
+ function toTemplate(design, context, customParams) {
1383
+ return new TemplateMapper({ design: design, context: context, customParams: customParams }).getModel();
1355
1384
  }
1356
- function getTemplateMapperFromDesign(design) {
1357
- return new TemplateMapper({ design: design });
1385
+ function getTemplateMapperFromDesign(design, customParams) {
1386
+ return new TemplateMapper({ design: design, customParams: customParams });
1358
1387
  }
1359
1388
  function getText(properties, key, i18n, languageId, fallback) {
1360
1389
  if (fallback === void 0) { fallback = ''; }
@@ -1376,9 +1405,6 @@
1376
1405
  __proto__: null,
1377
1406
  getNewTemplate: getNewTemplate,
1378
1407
  initializeDesign: initializeDesign,
1379
- isTemplateDesign: isTemplateDesign,
1380
- isTemplateItemDesign: isTemplateItemDesign,
1381
- isTemplateItem: isTemplateItem,
1382
1408
  getTemplatePotentialDesigns: getTemplatePotentialDesigns,
1383
1409
  templateToDesign: templateToDesign,
1384
1410
  toTemplate: toTemplate,
@@ -1427,6 +1453,64 @@
1427
1453
  args: [{ providedIn: 'root' }]
1428
1454
  }] });
1429
1455
 
1456
+ /** RegEx to validate number items contain only negative, digits, or decimals */
1457
+ var numOnlyWithoutComma$1 = /^-?\d+(\.\d*)?$/;
1458
+ /** RegEx to validate number items contain only negative, digits, or decimals in comma format */
1459
+ var numOnlyWithComma$1 = /^-?\d{1,3}(,\d{3})*(\.\d*)?$/;
1460
+ /** RegEx to validate 'positive only' item conains non-negative characters */
1461
+ var posOnly$1 = /^[^-]*$/;
1462
+ /** RegEx to validate 'whole number' item contains only negative, digits, or comma format */
1463
+ var wholeNumber$1 = /^-?\d+(,\d{3})*$/;
1464
+ function wholeNumberPattern() {
1465
+ return function (control) {
1466
+ if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1467
+ return null;
1468
+ }
1469
+ return wholeNumber$1.test(control.value) ? null : { wholeNumber: true };
1470
+ };
1471
+ }
1472
+ function numericalValueCheck() {
1473
+ return function (control) {
1474
+ if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1475
+ return null;
1476
+ }
1477
+ return numOnlyWithoutComma$1.test(control.value) || numOnlyWithComma$1.test(control.value) ? null : { nonDigit: true };
1478
+ };
1479
+ }
1480
+ function positiveNumberPattern() {
1481
+ return function (control) {
1482
+ if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1483
+ return null;
1484
+ }
1485
+ return posOnly$1.test(control.value) ? null : { positive: true };
1486
+ };
1487
+ }
1488
+ /**
1489
+ * This works as a combination of the angular 'min'/'max' Validators. Using the built-in validators
1490
+ * appears to take precedence over custom validators, regardless of order in the array. Using this function
1491
+ * ensures validators set before this one maintain priority. For instance, the input value failing numerical validation
1492
+ * is more important than the value being within min-max range.
1493
+ */
1494
+ function numValueLimit(type, limit) {
1495
+ return function (control) {
1496
+ var _a, _b;
1497
+ if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1498
+ return null;
1499
+ }
1500
+ var value = parseFloat(control.value);
1501
+ return !isNaN(value) && (type === 'min' ? value < limit : value > limit)
1502
+ ? (_a = {},
1503
+ _a[type] = (_b = {},
1504
+ _b[type] = limit,
1505
+ _b.actual = control.value,
1506
+ _b),
1507
+ _a) : null;
1508
+ };
1509
+ }
1510
+ function isEmptyString(value) {
1511
+ return typeof value === 'string' && !value.length;
1512
+ }
1513
+
1430
1514
  /** RegEx to validate number items contain only negative, digits, or decimals */
1431
1515
  var numOnlyWithoutComma = /^-?\d+(\.\d*)?$/;
1432
1516
  /** RegEx to validate number items contain only negative, digits, or decimals in comma format */
@@ -1856,55 +1940,6 @@
1856
1940
  var disabled = disabledState[item.instanceId];
1857
1941
  return coreTs.isNullOrUndefined(disabled) ? item.disabled : disabled;
1858
1942
  }
1859
- function wholeNumberPattern() {
1860
- return function (control) {
1861
- if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1862
- return null;
1863
- }
1864
- return wholeNumber.test(control.value) ? null : { wholeNumber: true };
1865
- };
1866
- }
1867
- function numericalValueCheck() {
1868
- return function (control) {
1869
- if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1870
- return null;
1871
- }
1872
- return numOnlyWithoutComma.test(control.value) || numOnlyWithComma.test(control.value) ? null : { nonDigit: true };
1873
- };
1874
- }
1875
- function positiveNumberPattern() {
1876
- return function (control) {
1877
- if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1878
- return null;
1879
- }
1880
- return posOnly.test(control.value) ? null : { positive: true };
1881
- };
1882
- }
1883
- /**
1884
- * This works as a combination of the angular 'min'/'max' Validators. Using the built-in validators
1885
- * appears to take precedence over custom validators, regardless of order in the array. Using this function
1886
- * ensures validators set before this one maintain priority. For instance, the input value failing numerical validation
1887
- * is more important than the value being within min-max range.
1888
- */
1889
- function numValueLimit(type, limit) {
1890
- return function (control) {
1891
- var _a, _b;
1892
- if (coreTs.isNullOrUndefined(control.value) || isEmptyString(control.value)) {
1893
- return null;
1894
- }
1895
- var value = parseFloat(control.value);
1896
- return !isNaN(value) && (type === 'min' ? value < limit : value > limit)
1897
- ? (_a = {},
1898
- _a[type] = (_b = {},
1899
- _b[type] = limit,
1900
- _b.actual = control.value,
1901
- _b),
1902
- _a) : null;
1903
- };
1904
- }
1905
- function isEmptyString(value) {
1906
- return typeof value === 'string' && !value.length;
1907
- }
1908
1943
  var templateObject_1$p, templateObject_2$5;
1909
1944
 
1910
1945
  var serializerUtil = /*#__PURE__*/Object.freeze({
@@ -2163,6 +2198,29 @@
2163
2198
 
2164
2199
  var MTNA_WF_DEFAULT_YEAR_RANGE = new i0.InjectionToken('mtna.wf.default.year.range');
2165
2200
 
2201
+ function getTypeDisplay(itemId) {
2202
+ // FIXME this will work for now, but needs to be i18n
2203
+ // Get the part after the last "."
2204
+ var lastSegment = itemId.split('.').pop() || '';
2205
+ // Remove "Item" and "Template"
2206
+ var cleaned = lastSegment.replace(/(Item|Template)/g, '');
2207
+ // Insert spaces between lowercase and uppercase letters
2208
+ var spaced = cleaned.replace(/([a-z])([A-Z])/g, '$1 $2');
2209
+ return spaced.trim();
2210
+ }
2211
+ function itemToDesignBase(model, languageId) {
2212
+ var id = model.instanceId;
2213
+ // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;
2214
+ var display = coreTs.isPresent(model.name) && model.name !== '' ? model.name : undefined;
2215
+ if (!coreTs.isPresent(display)) {
2216
+ display = i18n_newTemplateItem;
2217
+ }
2218
+ var type = model.itemId;
2219
+ var typeDisplay = getTypeDisplay(model.itemId);
2220
+ var focusType = 'SET_FOCUS';
2221
+ return { id: id, display: display, type: type, typeDisplay: typeDisplay, focusType: focusType };
2222
+ }
2223
+
2166
2224
  var TemplateItemMapper = /** @class */ (function (_super) {
2167
2225
  __extends(TemplateItemMapper, _super);
2168
2226
  function TemplateItemMapper(params) {
@@ -2172,11 +2230,13 @@
2172
2230
  return [];
2173
2231
  };
2174
2232
  TemplateItemMapper.prototype.toDesign = function (model, languageId, parent) {
2175
- var sections = [
2176
- this.getSectionItemCore(model),
2177
- // this.getSectionItemConditions(model, languageId)
2178
- ];
2179
- return Object.assign(Object.assign({}, this.itemToDesignBase(model, languageId)), { sections: sections, parent: parent });
2233
+ var sectionItemCore = this.getSectionItemCore(model);
2234
+ var sections = [sectionItemCore];
2235
+ if (webFormTs.isConditionalItem(model)) {
2236
+ var sectionItemConditions = this.getSectionItemConditions(model);
2237
+ sections.push(sectionItemConditions);
2238
+ }
2239
+ return Object.assign(Object.assign({}, itemToDesignBase(model, languageId)), { sections: sections, parent: parent });
2180
2240
  };
2181
2241
  TemplateItemMapper.prototype.toModel = function (design) {
2182
2242
  var templateItem = {
@@ -2199,7 +2259,12 @@
2199
2259
  prop_item_name,
2200
2260
  prop_item_annotation_enabled,
2201
2261
  ]);
2202
- templateItem = Object.assign(Object.assign({}, templateItem), coreProperties);
2262
+ var conditionalItemIds = this.getConditionalItemIdsFromDesign(design);
2263
+ var conditionalProperties = designerTs.getLiteralProperties(design, i18n_conditions, [prop_item_condition_allRequired]);
2264
+ var condition = {
2265
+ condition: Object.assign(Object.assign({}, conditionalItemIds), conditionalProperties),
2266
+ };
2267
+ templateItem = Object.assign(Object.assign(Object.assign({}, templateItem), coreProperties), condition);
2203
2268
  return templateItem;
2204
2269
  };
2205
2270
  TemplateItemMapper.prototype.getSectionItemCore = function (item) {
@@ -2211,30 +2276,46 @@
2211
2276
  properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemAnnotation, i18n_templateItemAnnotationInstructions, prop_item_annotation_enabled, 'BOOLEAN', item.annotationEnabled));
2212
2277
  return { display: i18n_templateItemBasicSettings, properties: properties };
2213
2278
  };
2214
- // private getSectionItemConditions(item: TemplateItem, languageId: MtnaLanguageId): DesignSection {
2215
- // return { display: i18n_conditions, properties };
2216
- // }
2217
- TemplateItemMapper.prototype.getTypeDisplay = function (itemId) {
2218
- // FIXME this will work for now, but needs to be i18n
2219
- // Get the part after the last "."
2220
- var lastSegment = itemId.split('.').pop() || '';
2221
- // Remove "Item" and "Template"
2222
- var cleaned = lastSegment.replace(/(Item|Template)/g, '');
2223
- // Insert spaces between lowercase and uppercase letters
2224
- var spaced = cleaned.replace(/([a-z])([A-Z])/g, '$1 $2');
2225
- return spaced.trim();
2226
- };
2227
- TemplateItemMapper.prototype.itemToDesignBase = function (model, languageId) {
2228
- var id = model.instanceId;
2229
- // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;
2230
- var display = coreTs.isPresent(model.name) && model.name !== '' ? model.name : undefined;
2231
- if (!coreTs.isPresent(display)) {
2232
- display = i18n_newTemplateItem;
2279
+ TemplateItemMapper.prototype.getSectionItemConditions = function (item) {
2280
+ var _a, _b;
2281
+ var properties = [];
2282
+ properties.push(designerTs.getLiteralDesignProperty(i18n_conditionAllRequired, i18n_conditionAllRequiredInstructions, prop_item_condition_allRequired, 'BOOLEAN', (_b = (_a = item.condition) === null || _a === void 0 ? void 0 : _a.allRequired) !== null && _b !== void 0 ? _b : false));
2283
+ var itemIdReferenceDesignValues = [];
2284
+ if (this.customParams && this.customParams.references) {
2285
+ var references_1 = this.customParams.references;
2286
+ if (item.condition) {
2287
+ item.condition.itemIds.forEach(function (itemId) {
2288
+ if (coreTs.isPresent(references_1[itemId])) {
2289
+ itemIdReferenceDesignValues.push(references_1[itemId]);
2290
+ }
2291
+ });
2292
+ }
2233
2293
  }
2234
- var type = model.itemId;
2235
- var typeDisplay = this.getTypeDisplay(model.itemId);
2236
- var focusType = 'SET_FOCUS';
2237
- return { id: id, display: display, type: type, typeDisplay: typeDisplay, focusType: focusType };
2294
+ properties.push(designerTs.getReferenceDesignProperty(i18n_conditionItemIds, i18n_conditionItemIdsInstructions, prop_item_condition_itemIds, itemIdReferenceDesignValues, false));
2295
+ return { display: i18n_conditions, properties: properties };
2296
+ };
2297
+ TemplateItemMapper.prototype.getConditionalItemIdsFromDesign = function (design) {
2298
+ var e_1, _c;
2299
+ var itemIds = [];
2300
+ var referenceProperties = designerTs.getReferenceProperties(design, i18n_conditions, [prop_item_condition_itemIds]);
2301
+ if (referenceProperties[prop_item_condition_itemIds]) {
2302
+ try {
2303
+ for (var _d = __values(referenceProperties[prop_item_condition_itemIds]), _e = _d.next(); !_e.done; _e = _d.next()) {
2304
+ var referenceDesignProperty = _e.value;
2305
+ if (coreTs.isPresent(referenceDesignProperty)) {
2306
+ itemIds.push(referenceDesignProperty.id);
2307
+ }
2308
+ }
2309
+ }
2310
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2311
+ finally {
2312
+ try {
2313
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
2314
+ }
2315
+ finally { if (e_1) throw e_1.error; }
2316
+ }
2317
+ }
2318
+ return { itemIds: itemIds };
2238
2319
  };
2239
2320
  return TemplateItemMapper;
2240
2321
  }(i1.DesignMapper));
@@ -2296,14 +2377,19 @@
2296
2377
  if (optionTemplateProperties.length > 0) {
2297
2378
  properties.push.apply(properties, __spreadArray([], __read(optionTemplateProperties)));
2298
2379
  }
2299
- // const optionAcknowledgementProperties: DesignProperty[] = this.getOptionAcknowledgementProperties(model, languageId, parent);
2380
+ var optionAcknowledgementProperties = this.getOptionAcknowledgementProperties(model, languageId, parent);
2381
+ if (optionAcknowledgementProperties.length > 0) {
2382
+ properties.push.apply(properties, __spreadArray([], __read(optionAcknowledgementProperties)));
2383
+ }
2300
2384
  return { display: i18n_optionProperties, properties: properties };
2301
2385
  };
2302
2386
  OptionSelectorMapper.prototype.getOptionTemplateProperties = function (model, languageId, parent) {
2303
2387
  var properties = [];
2304
2388
  if (this.customParams && this.customParams.optionTemplateMap) {
2305
2389
  var templateItem = this.customParams.optionTemplateMap[model.option.id];
2306
- properties.push(designerTs.getModelDesignProperty(i18n_optionTemplate, i18n_optionTemplateInstructions, prop_option_template, false, coreTs.isPresent(templateItem) ? [itemToDesign(templateItem, languageId, parent, this.context)] : []));
2390
+ properties.push(designerTs.getModelDesignProperty(i18n_optionTemplate, i18n_optionTemplateInstructions, prop_option_template, false, coreTs.isPresent(templateItem)
2391
+ ? [itemToDesign(templateItem, languageId, parent, this.context, this.customParams)]
2392
+ : []));
2307
2393
  }
2308
2394
  return properties;
2309
2395
  };
@@ -2369,21 +2455,28 @@
2369
2455
  }
2370
2456
  return { enabledItems: enabledItems, disabledItems: disabledItems };
2371
2457
  };
2458
+ OptionSelectorMapper.prototype.getOptionAcknowledgementProperties = function (model, languageId, parent) {
2459
+ var properties = [];
2460
+ properties.push(designerTs.getModelDesignProperty(i18n_acknowledgement, i18n_acknowledgementInstructions, prop_item_acknowledgementTemplate, false, coreTs.isPresent(model.acknowledgementTemplate)
2461
+ ? [itemToDesign(model.acknowledgementTemplate, languageId, parent, this.context, this.customParams)]
2462
+ : []));
2463
+ return properties;
2464
+ };
2372
2465
  return OptionSelectorMapper;
2373
2466
  }(i1.DesignMapper));
2374
2467
 
2468
+ var _a$2;
2469
+ var optionGroupItemSectionDisplayNameMap = (_a$2 = {},
2470
+ _a$2[webFormTs.CHECKBOX_ITEM_TEMPLATE_ID] = i18n_checkboxConfiguration,
2471
+ _a$2[webFormTs.DROPDOWN_ITEM_TEMPLATE_ID] = i18n_dropdownConfiguration,
2472
+ _a$2[webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID] = i18n_multipleChoiceConfiguration,
2473
+ _a$2);
2474
+
2375
2475
  var _a$1;
2376
- var optionGroupItemSectionDisplayNameMap = (_a$1 = {},
2377
- _a$1[webFormTs.CHECKBOX_ITEM_TEMPLATE_ID] = i18n_checkboxConfiguration,
2378
- _a$1[webFormTs.DROPDOWN_ITEM_TEMPLATE_ID] = i18n_dropdownConfiguration,
2379
- _a$1[webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID] = i18n_multipleChoiceConfiguration,
2476
+ var optionItemSectionDisplayNameMap = (_a$1 = {},
2477
+ _a$1[webFormTs.BOOLEAN_ITEM_TEMPLATE_ID] = i18n_booleanConfiguration,
2380
2478
  _a$1);
2381
2479
 
2382
- var _a;
2383
- var optionItemSectionDisplayNameMap = (_a = {},
2384
- _a[webFormTs.BOOLEAN_ITEM_TEMPLATE_ID] = i18n_booleanConfiguration,
2385
- _a);
2386
-
2387
2480
  function getNewFormOptionSelector(designBase) {
2388
2481
  return {
2389
2482
  acknowledgement: {},
@@ -2449,7 +2542,7 @@
2449
2542
  var designs = getDesignsBySectionAndProperty(optionDesign, i18n_optionProperties, prop_option_template);
2450
2543
  return coreTs.isPresent(designs[0]) ? designs[0] : undefined;
2451
2544
  }
2452
- function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, context) {
2545
+ function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, context, customParams) {
2453
2546
  var e_1, _a;
2454
2547
  var options = [];
2455
2548
  var optionTemplateMap = {};
@@ -2461,7 +2554,7 @@
2461
2554
  options.push(optionSelector);
2462
2555
  var optionTemplateDesign = getOptionTemplateDesign(optionDesign);
2463
2556
  if (coreTs.isPresent(optionTemplateDesign)) {
2464
- var optionTemplate = toTemplateItemFn(optionTemplateDesign, context);
2557
+ var optionTemplate = toTemplateItemFn(optionTemplateDesign, context, customParams);
2465
2558
  optionTemplateMap[optionSelector.option.id] = optionTemplate;
2466
2559
  }
2467
2560
  }
@@ -2509,7 +2602,7 @@
2509
2602
  display = i18n_newTemplateItem;
2510
2603
  }
2511
2604
  var type = model.itemId;
2512
- var typeDisplay = this.getTypeDisplay(model.itemId);
2605
+ var typeDisplay = getTypeDisplay(model.itemId);
2513
2606
  var focusType = 'MAINTAIN_FOCUS';
2514
2607
  return { id: id, display: display, type: type, typeDisplay: typeDisplay, focusType: focusType };
2515
2608
  };
@@ -2579,10 +2672,18 @@
2579
2672
  };
2580
2673
  OptionGroupItemMapper.prototype.toModel = function (design) {
2581
2674
  var model = _super.prototype.toModel.call(this, design);
2582
- var groupProperties = designerTs.getLiteralProperties(design, optionGroupItemSectionDisplayNameMap[design.type], [
2583
- prop_item_min_selections,
2584
- prop_item_max_selections,
2585
- ]);
2675
+ var sectionId = optionGroupItemSectionDisplayNameMap[design.type];
2676
+ var propertyIds = [prop_item_min_selections, prop_item_max_selections];
2677
+ if (webFormTs.instanceOfDropdownItemTemplate(model)) {
2678
+ propertyIds.push(prop_item_label);
2679
+ }
2680
+ var groupProperties = designerTs.getLiteralProperties(design, sectionId, propertyIds);
2681
+ // Check here if the model is a CheckboxItemTemplate to ensure that min and max selections are set correctly. Use the required property
2682
+ // to determine if min selections should be 1 or 0, and set max selections to 1 for checkbox items.
2683
+ if (webFormTs.instanceOfMultipleChoiceItemTemplate(model)) {
2684
+ groupProperties[prop_item_max_selections] = 1;
2685
+ groupProperties[prop_item_min_selections] = model.required ? 1 : 0;
2686
+ }
2586
2687
  var _a = getOptionsAndTemplateMap(design, 'optionGroupItem', toTemplateItem, this.context), options = _a.options, optionTemplateMap = _a.optionTemplateMap;
2587
2688
  model = Object.assign(Object.assign(Object.assign({}, model), groupProperties), { optionTemplateMap: optionTemplateMap, options: options });
2588
2689
  return model;
@@ -2595,7 +2696,7 @@
2595
2696
  display = i18n_newTemplateItem;
2596
2697
  }
2597
2698
  var type = model.itemId;
2598
- var typeDisplay = this.getTypeDisplay(model.itemId);
2699
+ var typeDisplay = getTypeDisplay(model.itemId);
2599
2700
  var focusType = 'MAINTAIN_FOCUS';
2600
2701
  return { id: id, display: display, type: type, typeDisplay: typeDisplay, focusType: focusType };
2601
2702
  };
@@ -2603,8 +2704,15 @@
2603
2704
  var e_1, _a;
2604
2705
  var properties = [];
2605
2706
  var designOptions = [];
2606
- properties.push(designerTs.getLiteralDesignProperty(i18n_minSelections, i18n_minSelectionsInstructions, prop_item_min_selections, 'INTEGER', model.minSelections));
2607
- properties.push(designerTs.getLiteralDesignProperty(i18n_maxSelections, i18n_maxSelectionsInstructions, prop_item_max_selections, 'INTEGER', model.maxSelections));
2707
+ if (webFormTs.instanceOfDropdownItemTemplate(model)) {
2708
+ properties.push(designerTs.getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', model.label));
2709
+ }
2710
+ // Don't include the min and max selections properties for checkbox items, as they are determined by the required property and should not
2711
+ // be editable by the user. Instead, set them automatically in the toModel method based on the required property.
2712
+ if (!webFormTs.instanceOfMultipleChoiceItemTemplate(model)) {
2713
+ properties.push(designerTs.getLiteralDesignProperty(i18n_minSelections, i18n_minSelectionsInstructions, prop_item_min_selections, 'INTEGER', model.minSelections));
2714
+ properties.push(designerTs.getLiteralDesignProperty(i18n_maxSelections, i18n_maxSelectionsInstructions, prop_item_max_selections, 'INTEGER', model.maxSelections));
2715
+ }
2608
2716
  var parentForFormOptionSelector = this.getParentForFormOptionSelector(model, languageId);
2609
2717
  try {
2610
2718
  for (var _b = __values(model.options), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -2642,6 +2750,196 @@
2642
2750
  return CheckboxItemTemplateMapper;
2643
2751
  }(OptionGroupItemMapper));
2644
2752
 
2753
+ function getEnumDesignProperty(propertyType, model) {
2754
+ var enumFunction = propertyType.enumFunction;
2755
+ var displayValue = model === null || model === void 0 ? void 0 : model[propertyType.propName];
2756
+ var value = enumFunction(displayValue, propertyType.defaultValue);
2757
+ return designerTs.getEnumerationLiteralDesignProperty(propertyType.title, propertyType.instructions, propertyType.propName, value, propertyType.enumValues);
2758
+ }
2759
+
2760
+ var SLASHED_DATE_DISPLAY_VALUE = {
2761
+ value: 'MM/DD/YYYY',
2762
+ display: 'MM/DD/YYYY',
2763
+ };
2764
+ var DASHED_DATE_DISPLAY_VALUE = {
2765
+ value: 'MM-DD-YYYY',
2766
+ display: 'MM-DD-YYYY',
2767
+ };
2768
+ var LONG_DATE_DISPLAY_VALUE = {
2769
+ value: 'MMMM D, YYYY',
2770
+ display: 'MMMM D, YYYY',
2771
+ };
2772
+ var EURO_LONG_DATE_DISPLAY_VALUE = {
2773
+ value: 'D MMMM YYYY',
2774
+ display: 'D MMMM YYYY',
2775
+ };
2776
+ var DOTTED_DATE_DISPLAY_VALUE = {
2777
+ value: 'DD.MM.YYYY',
2778
+ display: 'DD.MM.YYYY',
2779
+ };
2780
+ var ISO_8601_DATE_DISPLAY_VALUE = {
2781
+ value: 'YYYY-MM-DD',
2782
+ display: 'YYYY-MM-DD',
2783
+ };
2784
+ var MTNA_DEFAULT_USE_DISPLAY_VALUE = {
2785
+ value: 'YYYY/MM/dd',
2786
+ display: 'YYYY/MM/dd',
2787
+ };
2788
+ var DATE_DISPLAY_ENUM_VALUES = [
2789
+ MTNA_DEFAULT_USE_DISPLAY_VALUE,
2790
+ ISO_8601_DATE_DISPLAY_VALUE,
2791
+ LONG_DATE_DISPLAY_VALUE,
2792
+ EURO_LONG_DATE_DISPLAY_VALUE,
2793
+ SLASHED_DATE_DISPLAY_VALUE,
2794
+ DASHED_DATE_DISPLAY_VALUE,
2795
+ DOTTED_DATE_DISPLAY_VALUE,
2796
+ ];
2797
+
2798
+ var LAYOUT_ROW_DISPLAY_VALUE = {
2799
+ value: 'ROW',
2800
+ display: i18n_row,
2801
+ };
2802
+ var LAYOUT_COLUMN_DISPLAY_VALUE = {
2803
+ value: 'COLUMN',
2804
+ display: i18n_column,
2805
+ };
2806
+ var LAYOUT_ENUM_VALUES = [LAYOUT_ROW_DISPLAY_VALUE, LAYOUT_COLUMN_DISPLAY_VALUE];
2807
+
2808
+ var QUARTER_ONE_DISPLAY_VALUE = {
2809
+ value: 0,
2810
+ display: i18n_quarterOne,
2811
+ };
2812
+ var QUARTER_TWO_DISPLAY_VALUE = {
2813
+ value: 1,
2814
+ display: i18n_quarterTwo,
2815
+ };
2816
+ var QUARTER_THREE_DISPLAY_VALUE = {
2817
+ value: 2,
2818
+ display: i18n_quarterThree,
2819
+ };
2820
+ var QUARTER_FOUR_DISPLAY_VALUE = {
2821
+ value: 3,
2822
+ display: i18n_quarterFour,
2823
+ };
2824
+ var QUARTER_RANGE_ENUM_VALUES = [
2825
+ QUARTER_ONE_DISPLAY_VALUE,
2826
+ QUARTER_TWO_DISPLAY_VALUE,
2827
+ QUARTER_THREE_DISPLAY_VALUE,
2828
+ QUARTER_FOUR_DISPLAY_VALUE,
2829
+ ];
2830
+
2831
+ function getDateFormatValue(displayValue, defaultValue) {
2832
+ var enumValue = defaultValue;
2833
+ if (displayValue) {
2834
+ if (displayValue === 'MM/DD/YYYY') {
2835
+ enumValue = SLASHED_DATE_DISPLAY_VALUE;
2836
+ }
2837
+ else if (displayValue === 'MM-DD-YYYY') {
2838
+ enumValue = DASHED_DATE_DISPLAY_VALUE;
2839
+ }
2840
+ else if (displayValue === 'MMMM D, YYYY') {
2841
+ enumValue = LONG_DATE_DISPLAY_VALUE;
2842
+ }
2843
+ else if (displayValue === 'D MMMM YYYY') {
2844
+ enumValue = EURO_LONG_DATE_DISPLAY_VALUE;
2845
+ }
2846
+ else if (displayValue === 'DD.MM.YYYY') {
2847
+ enumValue = DOTTED_DATE_DISPLAY_VALUE;
2848
+ }
2849
+ else if (displayValue === 'YYYY-MM-DD') {
2850
+ enumValue = ISO_8601_DATE_DISPLAY_VALUE;
2851
+ }
2852
+ else if (displayValue === 'YYYY/MM/dd') {
2853
+ enumValue = MTNA_DEFAULT_USE_DISPLAY_VALUE;
2854
+ }
2855
+ }
2856
+ return enumValue;
2857
+ }
2858
+
2859
+ function getLayoutValue(displayValue, defaultValue) {
2860
+ var enumValue = defaultValue;
2861
+ if (displayValue) {
2862
+ if (displayValue === 'ROW') {
2863
+ enumValue = LAYOUT_ROW_DISPLAY_VALUE;
2864
+ }
2865
+ else if (displayValue === 'COLUMN') {
2866
+ enumValue = LAYOUT_COLUMN_DISPLAY_VALUE;
2867
+ }
2868
+ }
2869
+ return enumValue;
2870
+ }
2871
+
2872
+ function getQuarterRangeValue(displayValue, defaultValue) {
2873
+ var enumValue = defaultValue;
2874
+ if (displayValue) {
2875
+ if (displayValue === 0) {
2876
+ enumValue = QUARTER_ONE_DISPLAY_VALUE;
2877
+ }
2878
+ else if (displayValue === 1) {
2879
+ enumValue = QUARTER_TWO_DISPLAY_VALUE;
2880
+ }
2881
+ else if (displayValue === 2) {
2882
+ enumValue = QUARTER_THREE_DISPLAY_VALUE;
2883
+ }
2884
+ else if (displayValue === 3) {
2885
+ enumValue = QUARTER_FOUR_DISPLAY_VALUE;
2886
+ }
2887
+ }
2888
+ return enumValue;
2889
+ }
2890
+
2891
+ var PROP_DATE_FORMAT = {
2892
+ defaultValue: MTNA_DEFAULT_USE_DISPLAY_VALUE,
2893
+ enumFunction: getDateFormatValue,
2894
+ enumValues: DATE_DISPLAY_ENUM_VALUES,
2895
+ instructions: i18n_dateFormatInstructions,
2896
+ propName: prop_item_format,
2897
+ title: i18n_dateFormat,
2898
+ type: 'ENUMERATION',
2899
+ };
2900
+
2901
+ var PROP_LAYOUT = {
2902
+ defaultValue: LAYOUT_COLUMN_DISPLAY_VALUE,
2903
+ enumFunction: getLayoutValue,
2904
+ enumValues: LAYOUT_ENUM_VALUES,
2905
+ instructions: i18n_layoutInstructions,
2906
+ propName: prop_item_layout,
2907
+ title: i18n_layout,
2908
+ type: 'ENUMERATION',
2909
+ };
2910
+
2911
+ var PROP_QUARTER_RANGE_START = {
2912
+ defaultValue: QUARTER_ONE_DISPLAY_VALUE,
2913
+ enumFunction: getQuarterRangeValue,
2914
+ enumValues: QUARTER_RANGE_ENUM_VALUES,
2915
+ instructions: i18n_startQuarterInstructions,
2916
+ propName: prop_item_startQuarter,
2917
+ title: i18n_startQuarter,
2918
+ type: 'ENUMERATION',
2919
+ };
2920
+ var PROP_QUARTER_RANGE_END = {
2921
+ defaultValue: QUARTER_ONE_DISPLAY_VALUE,
2922
+ enumFunction: getQuarterRangeValue,
2923
+ enumValues: QUARTER_RANGE_ENUM_VALUES,
2924
+ instructions: i18n_endQuarterInstructions,
2925
+ propName: prop_item_endQuarter,
2926
+ title: i18n_endQuarter,
2927
+ type: 'ENUMERATION',
2928
+ };
2929
+
2930
+ function setEnumValue(design, sectionId, enumPropertyId) {
2931
+ var _a;
2932
+ var enumerationLiteralProperties = designerTs.getEnumerationLiteralProperties(design, sectionId, [enumPropertyId]);
2933
+ if (coreTs.isPresent(enumerationLiteralProperties[enumPropertyId])) {
2934
+ return _a = {},
2935
+ _a[enumPropertyId] = enumerationLiteralProperties[enumPropertyId].value,
2936
+ _a;
2937
+ }
2938
+ else {
2939
+ return {};
2940
+ }
2941
+ }
2942
+
2645
2943
  var DateItemTemplateMapper = /** @class */ (function (_super) {
2646
2944
  __extends(DateItemTemplateMapper, _super);
2647
2945
  function DateItemTemplateMapper(params) {
@@ -2654,26 +2952,15 @@
2654
2952
  };
2655
2953
  DateItemTemplateMapper.prototype.toModel = function (design) {
2656
2954
  var model = _super.prototype.toModel.call(this, design);
2657
- var dateProperties = designerTs.getLiteralProperties(design, i18n_dateConfiguration, [
2658
- prop_item_label,
2659
- // TODO: See the comment in getSectionItemDate method
2660
- // prop_item_format,
2661
- prop_item_preset_value,
2662
- ]);
2663
- model = Object.assign(Object.assign({}, model), dateProperties);
2955
+ var dateProperties = designerTs.getLiteralProperties(design, i18n_dateConfiguration, [prop_item_label]);
2956
+ var dateFormatEnumProperty = setEnumValue(design, i18n_dateConfiguration, prop_item_format);
2957
+ model = Object.assign(Object.assign(Object.assign({}, model), dateProperties), dateFormatEnumProperty);
2664
2958
  return model;
2665
2959
  };
2666
2960
  DateItemTemplateMapper.prototype.getSectionItemDate = function (item) {
2667
2961
  var properties = [];
2668
2962
  properties.push(designerTs.getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));
2669
- /*
2670
- * TODO: Needs to be looked into further. This would mean that we would need to have a service (or similar) that could use the provided
2671
- * format and provide a custom MAT_DATE_FORMATS provider with the format attached to it. We do this because the 'display' prop of MatDateFormats
2672
- * is an object, so only one type of display is available at a time, and it should match the provided format given in the model. This should
2673
- * be an enumeration or have a way of constraining the values (available formats in the enumerations folder inside models/design/enumerations).
2674
- */
2675
- // properties.push(getLiteralDesignProperty(i18n_format, i18n_formatInstructions, prop_item_format, 'STRING', item.format));
2676
- properties.push(designerTs.getLiteralDesignProperty(i18n_presetValue, i18n_presetValueInstructions, prop_item_preset_value, 'DATE', item.presetValue));
2963
+ properties.push(getEnumDesignProperty(PROP_DATE_FORMAT, item));
2677
2964
  return { display: i18n_dateConfiguration, properties: properties };
2678
2965
  };
2679
2966
  return DateItemTemplateMapper;
@@ -2686,20 +2973,12 @@
2686
2973
  }
2687
2974
  DropdownItemTemplateMapper.prototype.toDesign = function (model, languageId, parent) {
2688
2975
  var design = _super.prototype.toDesign.call(this, model, languageId, parent);
2689
- design.sections = [design.sections[0], this.getSectionItemDropdown(model), design.sections[1]];
2690
2976
  return design;
2691
2977
  };
2692
2978
  DropdownItemTemplateMapper.prototype.toModel = function (design) {
2693
2979
  var model = _super.prototype.toModel.call(this, design);
2694
- var dropdownProperties = designerTs.getLiteralProperties(design, i18n_dropdownProperties, [prop_item_label]);
2695
- model = Object.assign(Object.assign({}, model), dropdownProperties);
2696
2980
  return model;
2697
2981
  };
2698
- DropdownItemTemplateMapper.prototype.getSectionItemDropdown = function (item) {
2699
- var properties = [];
2700
- properties.push(designerTs.getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));
2701
- return { display: i18n_dropdownProperties, properties: properties };
2702
- };
2703
2982
  return DropdownItemTemplateMapper;
2704
2983
  }(OptionGroupItemMapper));
2705
2984
 
@@ -2715,17 +2994,13 @@
2715
2994
  };
2716
2995
  FileUploadItemTemplateMapper.prototype.toModel = function (design) {
2717
2996
  var model = _super.prototype.toModel.call(this, design);
2718
- var fileUploadProperties = designerTs.getLiteralProperties(design, i18n_fileUploadConfiguration, [
2719
- prop_item_download_allowed,
2720
- prop_item_file_type_id,
2721
- ]);
2997
+ var fileUploadProperties = designerTs.getLiteralProperties(design, i18n_fileUploadConfiguration, [prop_item_download_allowed]);
2722
2998
  model = Object.assign(Object.assign({}, model), fileUploadProperties);
2723
2999
  return model;
2724
3000
  };
2725
3001
  FileUploadItemTemplateMapper.prototype.getSectionItemFileUpload = function (item) {
2726
3002
  var properties = [];
2727
3003
  properties.push(designerTs.getLiteralDesignProperty(i18n_downloadAllowed, i18n_downloadAllowedInstructions, prop_item_download_allowed, 'BOOLEAN', coreTs.isPresent(item.downloadAllowed) ? item.downloadAllowed : true));
2728
- properties.push(designerTs.getLiteralDesignProperty(i18n_fileTypeId, i18n_fileTypeIdInstructions, prop_item_file_type_id, 'STRING', item.fileTypeId));
2729
3004
  return { display: i18n_fileUploadConfiguration, properties: properties };
2730
3005
  };
2731
3006
  return FileUploadItemTemplateMapper;
@@ -2763,18 +3038,10 @@
2763
3038
  }
2764
3039
  MultipleChoiceItemTemplateMapper.prototype.toDesign = function (model, languageId, parent) {
2765
3040
  var design = _super.prototype.toDesign.call(this, model, languageId, parent);
2766
- var checkboxConfigSection = design.sections.find(function (section) { return section.display === i18n_checkboxConfiguration; });
2767
- if (checkboxConfigSection) {
2768
- checkboxConfigSection.properties.filter(function (property) { return property.property !== prop_item_min_selections && property.property !== prop_item_max_selections; });
2769
- }
2770
3041
  return design;
2771
3042
  };
2772
3043
  MultipleChoiceItemTemplateMapper.prototype.toModel = function (design) {
2773
3044
  var model = _super.prototype.toModel.call(this, design);
2774
- // TODO - Since we no longer provide this in the 'toDesign' method above, we still need to make sure the model is correctly set.
2775
- // This is a temporary fix until we can merge the models in the 'setModifiedModel' method of the TemplateDesignFacade.
2776
- model.minSelections = 0;
2777
- model.maxSelections = 1;
2778
3045
  return model;
2779
3046
  };
2780
3047
  return MultipleChoiceItemTemplateMapper;
@@ -2851,18 +3118,17 @@
2851
3118
  OffsetDateRangeTemplateMapper.prototype.toModel = function (design) {
2852
3119
  var model = _super.prototype.toModel.call(this, design);
2853
3120
  var offsetDateRangeProperties = designerTs.getLiteralProperties(design, i18n_offsetDateRangeConfiguration, [
2854
- prop_item_format,
2855
- // prop_item_range_limits
3121
+ // prop_item_range_limits
2856
3122
  ]);
2857
- model = Object.assign(Object.assign({}, model), offsetDateRangeProperties);
3123
+ var offsetDateRangeFormatEnumProperty = setEnumValue(design, i18n_offsetDateRangeConfiguration, prop_item_format);
3124
+ model = Object.assign(Object.assign({}, model), offsetDateRangeFormatEnumProperty);
2858
3125
  return model;
2859
3126
  };
2860
3127
  OffsetDateRangeTemplateMapper.prototype.getSectionItemOffsetDateRange = function (item) {
2861
3128
  var properties = [];
2862
3129
  // TODO need to handle for the range limits input
2863
3130
  // properties.push(getLiteralDesignProperty(i18n_rangeLimits, i18n_rangeLimitsInstructions, prop_item_range_limits, '', item.rangeLimits));
2864
- // TODO need a way to constrain the values that the format can take instead of just a string
2865
- properties.push(designerTs.getLiteralDesignProperty(i18n_format, i18n_formatInstructions, prop_item_format, 'STRING', item.format));
3131
+ properties.push(getEnumDesignProperty(PROP_DATE_FORMAT, item));
2866
3132
  return { display: i18n_offsetDateRangeConfiguration, properties: properties };
2867
3133
  };
2868
3134
  return OffsetDateRangeTemplateMapper;
@@ -3001,20 +3267,28 @@
3001
3267
  return _super.call(this, params) || this;
3002
3268
  }
3003
3269
  TitleItemTemplateMapper.prototype.toDesign = function (model, languageId, parent) {
3004
- var design = _super.prototype.toDesign.call(this, model, languageId, parent);
3005
- design.sections = __spreadArray(__spreadArray([], __read(design.sections)), [this.getSectionItemTitle(model)]);
3006
- return design;
3270
+ var sectionTitleItemCore = this.getSectionTitleItemCore(model);
3271
+ var sectionItemTitle = this.getSectionItemTitle(model);
3272
+ var sections = [sectionTitleItemCore, sectionItemTitle];
3273
+ return Object.assign(Object.assign({}, itemToDesignBase(model, languageId)), { sections: sections, parent: parent });
3007
3274
  };
3008
3275
  TitleItemTemplateMapper.prototype.toModel = function (design) {
3009
3276
  var model = _super.prototype.toModel.call(this, design);
3010
- var titleProperties = designerTs.getLiteralProperties(design, i18n_childItems, [prop_item_value]);
3011
- model = Object.assign(Object.assign({}, model), titleProperties);
3277
+ var coreProperties = designerTs.getLiteralProperties(design, i18n_templateItemBasicSettings, [prop_item_name, prop_item_annotation_enabled]);
3278
+ var titleProperties = designerTs.getLiteralProperties(design, i18n_title, [prop_item_value]);
3279
+ model = Object.assign(Object.assign(Object.assign({}, model), coreProperties), titleProperties);
3012
3280
  return model;
3013
3281
  };
3014
3282
  TitleItemTemplateMapper.prototype.getSectionItemTitle = function (item) {
3015
3283
  var properties = [];
3016
3284
  properties.push(designerTs.getLiteralDesignProperty(i18n_title, i18n_titleInstructionsSection, prop_item_value, 'STRING_I18N', item.value));
3017
- return { display: i18n_childItems, properties: properties };
3285
+ return { display: i18n_title, properties: properties };
3286
+ };
3287
+ TitleItemTemplateMapper.prototype.getSectionTitleItemCore = function (item) {
3288
+ var properties = [];
3289
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemLabel, i18n_templateItemLabelInstructions, prop_item_name, 'STRING', item.name));
3290
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemAnnotation, i18n_templateItemAnnotationInstructions, prop_item_annotation_enabled, 'BOOLEAN', item.annotationEnabled));
3291
+ return { display: i18n_templateItemBasicSettings, properties: properties };
3018
3292
  };
3019
3293
  return TitleItemTemplateMapper;
3020
3294
  }(TemplateItemMapper));
@@ -3031,14 +3305,30 @@
3031
3305
  };
3032
3306
  YearQuarterRangeItemTemplateMapper.prototype.toModel = function (design) {
3033
3307
  var model = _super.prototype.toModel.call(this, design);
3034
- var yearQuarterRangeProperties = designerTs.getLiteralProperties(design, i18n_yearQuarterRangeConfiguration, [
3035
- // prop_item_range_limits,
3036
- ]);
3037
- model = Object.assign(Object.assign({}, model), yearQuarterRangeProperties);
3308
+ var startQuarterRangeYearProperties = designerTs.getLiteralProperties(design, i18n_yearQuarterRangeConfiguration, [prop_item_startYear]);
3309
+ var endQuarterRangeYearProperties = designerTs.getLiteralProperties(design, i18n_yearQuarterRangeConfiguration, [prop_item_endYear]);
3310
+ var startQuarterRangeQuarterProperties = setEnumValue(design, i18n_yearQuarterRangeConfiguration, prop_item_startQuarter);
3311
+ var endQuarterRangeQuarterProperties = setEnumValue(design, i18n_yearQuarterRangeConfiguration, prop_item_endQuarter);
3312
+ var startYearQuarter = {
3313
+ year: startQuarterRangeYearProperties[prop_item_startYear],
3314
+ quarter: startQuarterRangeQuarterProperties[prop_item_startQuarter],
3315
+ };
3316
+ var endYearQuarter = {
3317
+ year: endQuarterRangeYearProperties[prop_item_endYear],
3318
+ quarter: endQuarterRangeQuarterProperties[prop_item_endQuarter],
3319
+ };
3320
+ model = Object.assign(Object.assign({}, model), { rangeLimits: {
3321
+ start: startYearQuarter,
3322
+ end: endYearQuarter,
3323
+ } });
3038
3324
  return model;
3039
3325
  };
3040
3326
  YearQuarterRangeItemTemplateMapper.prototype.getSectionItemYearQuarterRange = function (item) {
3041
3327
  var properties = [];
3328
+ properties.push(designerTs.getLiteralDesignProperty(i18n_startYear, i18n_startYearInstructions, prop_item_startYear, 'INTEGER', item.rangeLimits.start.year));
3329
+ properties.push(getEnumDesignProperty(PROP_QUARTER_RANGE_START, item.rangeLimits.start));
3330
+ properties.push(designerTs.getLiteralDesignProperty(i18n_endYear, i18n_endYearInstructions, prop_item_endYear, 'INTEGER', item.rangeLimits.end.year));
3331
+ properties.push(getEnumDesignProperty(PROP_QUARTER_RANGE_END, item.rangeLimits.end));
3042
3332
  // TODO need to handle for the range limits input
3043
3333
  // properties.push(getLiteralDesignProperty(i18n_rangeLimits, i18n_rangeLimitsInstructions, prop_item_range_limits, '', item.rangeLimits));
3044
3334
  return { display: i18n_yearQuarterRangeConfiguration, properties: properties };
@@ -3055,23 +3345,54 @@
3055
3345
  return GROUP_POTENTIAL_DESIGN_LIST;
3056
3346
  };
3057
3347
  TemplateItemGroupMapper.prototype.toDesign = function (model, languageId, parent) {
3058
- var design = _super.prototype.toDesign.call(this, model, languageId, parent);
3059
- design.sections = __spreadArray(__spreadArray([], __read(design.sections)), [this.getSectionItemGroup(model, languageId, parent)]);
3060
- return design;
3348
+ var designBase = Object.assign({}, itemToDesignBase(model, languageId));
3349
+ var designSections = [
3350
+ this.getGroupItemCore(model),
3351
+ // Use the current design as the parent for the template item group, in that it only needs to see the actual template item group design base.
3352
+ this.getSectionItemGroup(model, languageId, designBase),
3353
+ ];
3354
+ return Object.assign(Object.assign({}, designBase), { sections: designSections, parent: parent });
3061
3355
  };
3062
3356
  TemplateItemGroupMapper.prototype.toModel = function (design) {
3063
- var model = _super.prototype.toModel.call(this, design);
3064
- var itemGroupProperties = designerTs.getLiteralProperties(design, i18n_childItems, [prop_item_layout]);
3357
+ var templateItem = {
3358
+ itemId: design.type,
3359
+ instanceId: design.id,
3360
+ annotatableId: design.id,
3361
+ descriptiveText: [],
3362
+ name: '',
3363
+ questionText: [],
3364
+ annotationEnabled: false,
3365
+ excludeFromPrint: false,
3366
+ required: false,
3367
+ ignoreConditionalInstructions: false,
3368
+ printAlternative: '',
3369
+ };
3370
+ var coreProperties = designerTs.getLiteralProperties(design, i18n_templateItemBasicSettings, [
3371
+ prop_item_name,
3372
+ prop_item_descriptive_text,
3373
+ prop_item_required,
3374
+ prop_item_annotation_enabled,
3375
+ ]);
3376
+ var itemGroupProperties = setEnumValue(design, i18n_childItems, prop_item_layout);
3065
3377
  var itemGroupModelProperties = getTemplateItems(design, i18n_childItems, [prop_item_items]);
3066
- model = Object.assign(Object.assign(Object.assign({}, model), itemGroupProperties), itemGroupModelProperties);
3067
- return model;
3378
+ templateItem = Object.assign(Object.assign(Object.assign(Object.assign({}, templateItem), coreProperties), itemGroupProperties), itemGroupModelProperties);
3379
+ return templateItem;
3380
+ };
3381
+ TemplateItemGroupMapper.prototype.getGroupItemCore = function (item) {
3382
+ var properties = [];
3383
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemLabel, i18n_templateItemLabelInstructions, prop_item_name, 'STRING', item.name));
3384
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemHelp, i18n_templateItemHelpInstructions, prop_item_descriptive_text, 'RICH_TEXT_I18N', item.descriptiveText));
3385
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemRequired, i18n_templateItemRequiredInstructions, prop_item_required, 'BOOLEAN', item.required));
3386
+ properties.push(designerTs.getLiteralDesignProperty(i18n_templateItemAnnotation, i18n_templateItemAnnotationInstructions, prop_item_annotation_enabled, 'BOOLEAN', item.annotationEnabled));
3387
+ return { display: i18n_templateItemBasicSettings, properties: properties };
3068
3388
  };
3069
3389
  TemplateItemGroupMapper.prototype.getSectionItemGroup = function (item, languageId, parent) {
3070
3390
  var _this = this;
3071
3391
  var properties = [];
3072
- // TODO there needs a way to set possible values on enumerations, not just the actual value
3073
- properties.push(designerTs.getLiteralDesignProperty(i18n_layout, i18n_layoutInstructions, prop_item_layout, 'ENUMERATION', item.layout));
3074
- properties.push(designerTs.getModelDesignProperty(i18n_templateItems, i18n_templateItemsInstructionsGroup, prop_item_items, true, item.items ? item.items.map(function (item) { return itemToDesign(item, languageId, parent, _this.context); }) : []));
3392
+ properties.push(getEnumDesignProperty(PROP_LAYOUT, item));
3393
+ properties.push(designerTs.getModelDesignProperty(i18n_templateItems, i18n_templateItemsInstructionsGroup, prop_item_items, true, item.items
3394
+ ? item.items.map(function (tempItem) { return itemToDesign(tempItem, languageId, parent, _this.context, _this.customParams); })
3395
+ : []));
3075
3396
  return { display: i18n_childItems, properties: properties };
3076
3397
  };
3077
3398
  return TemplateItemGroupMapper;
@@ -3084,7 +3405,7 @@
3084
3405
  }
3085
3406
  TemplateSectionMapper.prototype.getPotentialDesigns = function (property) {
3086
3407
  if (property.property === prop_item_title) {
3087
- return SECTION_POTENTIAL_DESIGN_LIST;
3408
+ return [TITLE_POTENTIAL_DESIGN];
3088
3409
  }
3089
3410
  else if (property.property === prop_item_items) {
3090
3411
  return GROUP_POTENTIAL_DESIGN_LIST;
@@ -3094,124 +3415,100 @@
3094
3415
  }
3095
3416
  };
3096
3417
  TemplateSectionMapper.prototype.toDesign = function (model, languageId, parent) {
3097
- // TODO: add way to handle parent sections
3098
3418
  var design = _super.prototype.toDesign.call(this, model, languageId, parent);
3099
- design.sections = __spreadArray(__spreadArray([], __read(design.sections)), [this.getSectionItemSection(model, languageId, parent)]);
3419
+ // Use the current design as the parent for the section item section, in that it only needs to see the actual section design base.
3420
+ var currentTemplateSectionAsParent = itemToDesignBase(model, languageId);
3421
+ design.sections = __spreadArray(__spreadArray([], __read(design.sections)), [this.getSectionItemSection(model, languageId, currentTemplateSectionAsParent)]);
3100
3422
  return design;
3101
3423
  };
3102
3424
  TemplateSectionMapper.prototype.toModel = function (design) {
3103
3425
  var model = _super.prototype.toModel.call(this, design);
3104
- var sectionProperties = designerTs.getLiteralProperties(design, i18n_childItems, [prop_item_title]);
3105
- model = Object.assign(Object.assign({}, model), sectionProperties);
3426
+ var sectionTitleProperties = getTemplateItems(design, i18n_sectionTitleItem, [prop_item_title]);
3427
+ model = Object.assign(Object.assign({}, model), sectionTitleProperties);
3106
3428
  return model;
3107
3429
  };
3108
3430
  TemplateSectionMapper.prototype.getSectionItemSection = function (item, languageId, parent) {
3109
3431
  var properties = [];
3110
- properties.push(designerTs.getModelDesignProperty(i18n_title, i18n_titleInstructionsSection, prop_item_title, false, item.title ? [itemToDesign(item, languageId, parent, this.context)] : []));
3111
- return { display: i18n_childItems, properties: properties };
3432
+ properties.push(designerTs.getModelDesignProperty(i18n_title, i18n_titleInstructionsSection, prop_item_title, false, item.title ? [itemToDesign(item.title, languageId, parent, this.context, this.customParams)] : [], false));
3433
+ return { display: i18n_sectionTitleItem, properties: properties };
3112
3434
  };
3113
3435
  return TemplateSectionMapper;
3114
3436
  }(TemplateItemGroupMapper));
3115
3437
 
3116
3438
  registerMapper(webFormTs.BOOLEAN_ITEM_TEMPLATE_ID, BooleanItemTemplateMapper, function (params) { return webFormTs.instanceOfBooleanItemTemplate(params.model)
3117
- ? new BooleanItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3439
+ ? new BooleanItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3118
3440
  : new TemplateItemMapper(params).getDesign(); });
3119
3441
  registerMapper(webFormTs.BULLETED_LIST_ITEM_TEMPLATE_ID, BulletedListItemTemplateMapper, function (params) { return webFormTs.instanceOfBulletedListItemTemplate(params.model)
3120
- ? new BulletedListItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3442
+ ? new BulletedListItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3121
3443
  : new TemplateItemMapper(params).getDesign(); });
3122
3444
  registerMapper(webFormTs.CHECKBOX_ITEM_TEMPLATE_ID, CheckboxItemTemplateMapper, function (params) { return webFormTs.instanceOfCheckboxItemTemplate(params.model)
3123
- ? new CheckboxItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3445
+ ? new CheckboxItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3124
3446
  : new TemplateItemMapper(params).getDesign(); });
3125
3447
  registerMapper(webFormTs.DATE_ITEM_TEMPLATE_ID, DateItemTemplateMapper, function (params) { return webFormTs.instanceOfDateItemTemplate(params.model)
3126
- ? new DateItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3448
+ ? new DateItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3127
3449
  : new TemplateItemMapper(params).getDesign(); });
3128
3450
  registerMapper(webFormTs.DECIMAL_ANSWER_ITEM_TEMPLATE_ID, NumericResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfDecimalAnswerItemTemplate(params.model)
3129
- ? new NumericResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3451
+ ? new NumericResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3130
3452
  : new TemplateItemMapper(params).getDesign(); });
3131
3453
  registerMapper(webFormTs.DROPDOWN_ITEM_TEMPLATE_ID, DropdownItemTemplateMapper, function (params) { return webFormTs.instanceOfDropdownItemTemplate(params.model)
3132
- ? new DropdownItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3454
+ ? new DropdownItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3133
3455
  : new TemplateItemMapper(params).getDesign(); });
3134
3456
  registerMapper(webFormTs.FILE_UPLOAD_ITEM_TEMPLATE_ID, FileUploadItemTemplateMapper, function (params) { return webFormTs.instanceOfFileUploadItemTemplate(params.model)
3135
- ? new FileUploadItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3457
+ ? new FileUploadItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3136
3458
  : new TemplateItemMapper(params).getDesign(); });
3137
3459
  registerMapper(webFormTs.INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, I18nTextResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfInternationalizedParagraphAnswerItemTemplate(params.model)
3138
- ? new I18nTextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3460
+ ? new I18nTextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3139
3461
  : new TemplateItemMapper(params).getDesign(); });
3140
3462
  registerMapper(webFormTs.INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID, I18nTextResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfInternationalizedShortAnswerItemTemplate(params.model)
3141
- ? new I18nTextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3463
+ ? new I18nTextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3142
3464
  : new TemplateItemMapper(params).getDesign(); });
3143
3465
  registerMapper(webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID, MultipleChoiceItemTemplateMapper, function (params) { return webFormTs.instanceOfMultipleChoiceItemTemplate(params.model)
3144
- ? new MultipleChoiceItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3466
+ ? new MultipleChoiceItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3145
3467
  : new TemplateItemMapper(params).getDesign(); });
3146
3468
  registerMapper(webFormTs.NUMBERED_LIST_ITEM_TEMPLATE_ID, NumberedListItemTemplateMapper, function (params) { return webFormTs.instanceOfNumberedListItemTemplate(params.model)
3147
- ? new NumberedListItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3469
+ ? new NumberedListItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3148
3470
  : new TemplateItemMapper(params).getDesign(); });
3149
3471
  registerMapper(webFormTs.OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID, OffsetDateRangeTemplateMapper, function (params) { return webFormTs.instanceOfOffsetDateRangeTemplate(params.model)
3150
- ? new OffsetDateRangeTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3472
+ ? new OffsetDateRangeTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3151
3473
  : new TemplateItemMapper(params).getDesign(); });
3152
3474
  registerMapper(webFormTs.PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, TextResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfParagraphAnswerItemTemplate(params.model)
3153
- ? new TextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3475
+ ? new TextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3154
3476
  : new TemplateItemMapper(params).getDesign(); });
3155
3477
  registerMapper(webFormTs.REPEATABLE_ITEM_TEMPLATE_IMPL_ID, RepeatableItemTemplateMapper, function (params) { return webFormTs.instanceOfRepeatableItemTemplate(params.model)
3156
- ? new RepeatableItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3478
+ ? new RepeatableItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3157
3479
  : new TemplateItemMapper(params).getDesign(); });
3158
3480
  registerMapper(webFormTs.SHORT_ANSWER_ITEM_TEMPLATE_ID, TextResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfShortAnswerItemTemplate(params.model)
3159
- ? new TextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3481
+ ? new TextResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3160
3482
  : new TemplateItemMapper(params).getDesign(); });
3161
3483
  registerMapper(webFormTs.TEMPLATE_ITEM_GROUP_IMPL_ID, TemplateItemGroupMapper, function (params) { return webFormTs.instanceOfTemplateItemGroupImpl(params.model)
3162
- ? new TemplateItemGroupMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3484
+ ? new TemplateItemGroupMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3163
3485
  : new TemplateItemMapper(params).getDesign(); });
3164
3486
  registerMapper(webFormTs.TEMPLATE_SECTION_IMPL_ID, TemplateSectionMapper, function (params) { return webFormTs.instanceOfTemplateSectionImpl(params.model)
3165
- ? new TemplateSectionMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3487
+ ? new TemplateSectionMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3166
3488
  : new TemplateItemMapper(params).getDesign(); });
3167
3489
  registerMapper(webFormTs.TEXT_ITEM_TEMPLATE_ID, TextItemTemplateMapper, function (params) { return webFormTs.instanceOfTextItemTemplate(params.model)
3168
- ? new TextItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3490
+ ? new TextItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3169
3491
  : new TemplateItemMapper(params).getDesign(); });
3170
3492
  registerMapper(webFormTs.TIME_ITEM_TEMPLATE_ID, TimeItemTemplateMapper, function (params) { return webFormTs.instanceOfTimeItemTemplate(params.model)
3171
- ? new TimeItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3493
+ ? new TimeItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3172
3494
  : new TemplateItemMapper(params).getDesign(); });
3173
3495
  registerMapper(webFormTs.TITLE_ITEM_TEMPLATE_ID, TitleItemTemplateMapper, function (params) { return webFormTs.instanceOfTitleItemTemplate(params.model)
3174
- ? new TitleItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3496
+ ? new TitleItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3175
3497
  : new TemplateItemMapper(params).getDesign(); });
3176
3498
  registerMapper(webFormTs.WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID, NumericResponseItemTemplateMapper, function (params) { return webFormTs.instanceOfWholeNumberAnswerItemTemplate(params.model)
3177
- ? new NumericResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3499
+ ? new NumericResponseItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3178
3500
  : new TemplateItemMapper(params).getDesign(); });
3179
3501
  registerMapper(webFormTs.YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID, YearQuarterRangeItemTemplateMapper, function (params) { return webFormTs.instanceOfYearQuarterRangeTemplate(params.model)
3180
- ? new YearQuarterRangeItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign()
3502
+ ? new YearQuarterRangeItemTemplateMapper(Object.assign(Object.assign({}, params), { model: params.model, customParams: params.customParams })).getDesign()
3181
3503
  : new TemplateItemMapper(params).getDesign(); });
3182
-
3183
- var SLASHED_DATE_DISPLAY_VALUE = {
3184
- value: 'MM/DD/YYYY',
3185
- display: 'MM/DD/YYYY',
3186
- };
3187
- var DASHED_DATE_DISPLAY_VALUE = {
3188
- value: 'MM-DD-YYYY',
3189
- display: 'MM-DD-YYYY',
3190
- };
3191
- var LONG_DATE_DISPLAY_VALUE = {
3192
- value: 'MMMM D, YYYY',
3193
- display: 'MMMM D, YYYY',
3194
- };
3195
- var EURO_LONG_DATE_DISPLAY_VALUE = {
3196
- value: 'D MMMM YYYY',
3197
- display: 'D MMMM YYYY',
3198
- };
3199
- var DOTTED_DATE_DISPLAY_VALUE = {
3200
- value: 'DD.MM.YYYY',
3201
- display: 'DD.MM.YYYY',
3202
- };
3203
- var ISO_8601_DATE_DISPLAY_VALUE = {
3204
- value: 'YYYY-MM-DD',
3205
- display: 'YYYY-MM-DD',
3206
- };
3207
- var DATE_ENUM_VALUES = [
3208
- ISO_8601_DATE_DISPLAY_VALUE,
3209
- LONG_DATE_DISPLAY_VALUE,
3210
- EURO_LONG_DATE_DISPLAY_VALUE,
3211
- SLASHED_DATE_DISPLAY_VALUE,
3212
- DASHED_DATE_DISPLAY_VALUE,
3213
- DOTTED_DATE_DISPLAY_VALUE,
3214
- ];
3504
+ registerTemplateMapper(webFormTs.TEMPLATE_IMPL_ID, TemplateMapper, function (params) {
3505
+ if (webFormTs.instanceOfTemplateImpl(params.model)) {
3506
+ return new TemplateMapper(Object.assign(Object.assign({}, params), { model: params.model })).getDesign();
3507
+ }
3508
+ else {
3509
+ throw new Error("The model provided is not an instance of TemplateImpl. We do not support mapping it to a design. Model: " + JSON.stringify(params.model));
3510
+ }
3511
+ });
3215
3512
 
3216
3513
  var template = {
3217
3514
  id: 'template',
@@ -3222,6 +3519,32 @@
3222
3519
  display: i18n_form,
3223
3520
  };
3224
3521
 
3522
+ var _a;
3523
+ var UnavailableTemplateItemNameMap = (_a = {},
3524
+ _a[webFormTs.BOOLEAN_ITEM_TEMPLATE_ID] = i18n_booleanItem,
3525
+ _a[webFormTs.BULLETED_LIST_ITEM_TEMPLATE_ID] = i18n_bulletedListItem,
3526
+ _a[webFormTs.CHECKBOX_ITEM_TEMPLATE_ID] = i18n_checkboxItem,
3527
+ _a[webFormTs.DATE_ITEM_TEMPLATE_ID] = i18n_dateItem,
3528
+ _a[webFormTs.DECIMAL_ANSWER_ITEM_TEMPLATE_ID] = i18n_decimalAnswerItem,
3529
+ _a[webFormTs.DROPDOWN_ITEM_TEMPLATE_ID] = i18n_dropdownItem,
3530
+ _a[webFormTs.FILE_UPLOAD_ITEM_TEMPLATE_ID] = i18n_fileUploadItem,
3531
+ _a[webFormTs.I18N_PARAGRAPH_ANSWER_ITEM_ID] = i18n_internationalizedParagraphAnswerItem,
3532
+ _a[webFormTs.I18N_SHORT_ANSWER_ITEM_ID] = i18n_internationalizedShortAnswerItem,
3533
+ _a[webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID] = i18n_multipleChoiceItem,
3534
+ _a[webFormTs.NUMBERED_LIST_ITEM_TEMPLATE_ID] = i18n_numberedListItem,
3535
+ _a[webFormTs.OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID] = i18n_offsetDateRangeItem,
3536
+ _a[webFormTs.PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID] = i18n_paragraphAnswerItem,
3537
+ _a[webFormTs.REPEATABLE_ITEM_TEMPLATE_IMPL_ID] = i18n_repeatableItem,
3538
+ _a[webFormTs.SHORT_ANSWER_ITEM_TEMPLATE_ID] = i18n_shortAnswerItem,
3539
+ _a[webFormTs.TEMPLATE_ITEM_GROUP_IMPL_ID] = i18n_groupItem,
3540
+ _a[webFormTs.TEMPLATE_SECTION_IMPL_ID] = i18n_sectionItem,
3541
+ _a[webFormTs.TEXT_ITEM_TEMPLATE_ID] = i18n_textItem,
3542
+ _a[webFormTs.TIME_ITEM_TEMPLATE_ID] = i18n_timeItem,
3543
+ _a[webFormTs.TITLE_ITEM_TEMPLATE_ID] = i18n_titleItem,
3544
+ _a[webFormTs.WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID] = i18n_wholeNumberAnswerItem,
3545
+ _a[webFormTs.YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID] = i18n_yearQuarterRangeItem,
3546
+ _a);
3547
+
3225
3548
  var BaseFormStep = /** @class */ (function () {
3226
3549
  function BaseFormStep(instanceId) {
3227
3550
  this.instanceId = instanceId;
@@ -3419,6 +3742,73 @@
3419
3742
  return coreTs.isObject(something) && coreTs.isType(something, 'value') && typeof something.value === 'string';
3420
3743
  }
3421
3744
 
3745
+ function isTemplateDesign(design) {
3746
+ return design.type === webFormTs.TEMPLATE_IMPL_ID;
3747
+ }
3748
+ function isTemplateItemDesign(design) {
3749
+ switch (design.type) {
3750
+ case webFormTs.BOOLEAN_ITEM_TEMPLATE_ID:
3751
+ case webFormTs.BULLETED_LIST_ITEM_TEMPLATE_ID:
3752
+ case webFormTs.CHECKBOX_GRID_TEMPLATE_ID:
3753
+ case webFormTs.CHECKBOX_ITEM_TEMPLATE_ID:
3754
+ case webFormTs.DATE_ITEM_TEMPLATE_ID:
3755
+ case webFormTs.DECIMAL_ANSWER_ITEM_TEMPLATE_ID:
3756
+ case webFormTs.DROPDOWN_ITEM_TEMPLATE_ID:
3757
+ case webFormTs.FILE_UPLOAD_ITEM_TEMPLATE_ID:
3758
+ case webFormTs.HIDDEN_REFERENCE_ITEM_TEMPLATE_ID:
3759
+ case webFormTs.INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
3760
+ case webFormTs.INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID:
3761
+ case webFormTs.LINEAR_SCALE_ITEM_TEMPLATE_ID:
3762
+ case webFormTs.MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID:
3763
+ case webFormTs.MULTIPLE_CHOICE_ITEM_TEMPLATE_ID:
3764
+ case webFormTs.NUMBERED_LIST_ITEM_TEMPLATE_ID:
3765
+ case webFormTs.OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID:
3766
+ case webFormTs.PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
3767
+ case webFormTs.REPEATABLE_ITEM_TEMPLATE_IMPL_ID:
3768
+ case webFormTs.REQUEST_ID_ITEM_TEMPLATE_ID:
3769
+ case webFormTs.SHORT_ANSWER_ITEM_TEMPLATE_ID:
3770
+ case webFormTs.TEMPLATE_ITEM_GROUP_IMPL_ID:
3771
+ case webFormTs.TEMPLATE_SECTION_IMPL_ID:
3772
+ case webFormTs.TEXT_ITEM_TEMPLATE_ID:
3773
+ case webFormTs.TIME_ITEM_TEMPLATE_ID:
3774
+ case webFormTs.TITLE_ITEM_TEMPLATE_ID:
3775
+ case webFormTs.WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID:
3776
+ case webFormTs.YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID:
3777
+ return true;
3778
+ default:
3779
+ return false;
3780
+ }
3781
+ }
3782
+ function isTemplateItem(something) {
3783
+ return (webFormTs.instanceOfBooleanItemTemplate(something) ||
3784
+ webFormTs.instanceOfBulletedListItemTemplate(something) ||
3785
+ webFormTs.instanceOfCheckboxGridTemplate(something) ||
3786
+ webFormTs.instanceOfCheckboxItemTemplate(something) ||
3787
+ webFormTs.instanceOfDateItemTemplate(something) ||
3788
+ webFormTs.instanceOfDecimalAnswerItemTemplate(something) ||
3789
+ webFormTs.instanceOfDropdownItemTemplate(something) ||
3790
+ webFormTs.instanceOfFileUploadItemTemplate(something) ||
3791
+ webFormTs.instanceOfHiddenReferenceItemTemplate(something) ||
3792
+ webFormTs.instanceOfInternationalizedParagraphAnswerItemTemplate(something) ||
3793
+ webFormTs.instanceOfInternationalizedShortAnswerItemTemplate(something) ||
3794
+ webFormTs.instanceOfLinearScaleItemTemplate(something) ||
3795
+ webFormTs.instanceOfMultipleChoiceGridItemTemplate(something) ||
3796
+ webFormTs.instanceOfMultipleChoiceItemTemplate(something) ||
3797
+ webFormTs.instanceOfNumberedListItemTemplate(something) ||
3798
+ webFormTs.instanceOfOffsetDateRangeTemplate(something) ||
3799
+ webFormTs.instanceOfParagraphAnswerItemTemplate(something) ||
3800
+ webFormTs.instanceOfRepeatableItemTemplate(something) ||
3801
+ webFormTs.instanceOfRequestIdItemTemplate(something) ||
3802
+ webFormTs.instanceOfShortAnswerItemTemplate(something) ||
3803
+ webFormTs.instanceOfTemplateItemGroupImpl(something) ||
3804
+ webFormTs.instanceOfTemplateSectionImpl(something) ||
3805
+ webFormTs.instanceOfTextItemTemplate(something) ||
3806
+ webFormTs.instanceOfTimeItemTemplate(something) ||
3807
+ webFormTs.instanceOfTitleItemTemplate(something) ||
3808
+ webFormTs.instanceOfWholeNumberAnswerItemTemplate(something) ||
3809
+ webFormTs.instanceOfYearQuarterRangeTemplate(something));
3810
+ }
3811
+
3422
3812
  function mergeFormOptionSelector(source, target) {
3423
3813
  var mergedFormOptionSelector = Object.assign(Object.assign(Object.assign({}, target), source), { disabledItems: source.disabledItems, enabledItems: source.enabledItems, option: Object.assign(Object.assign({}, target.option), source.option) });
3424
3814
  return mergedFormOptionSelector;
@@ -3447,7 +3837,6 @@
3447
3837
  return mergedOptionTemplateMap;
3448
3838
  }
3449
3839
  function mergeBooleanItemTemplate(source, target) {
3450
- // const conditional: Conditional = mergeConditional(source.conditional, target.conditional);
3451
3840
  var option = mergeFormOptionSelector(source.option, target.option);
3452
3841
  var optionTemplateMap = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);
3453
3842
  var mergedBooleanItemTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { codeOption: target.codeOption || source.codeOption, option: option, optionTemplateMap: optionTemplateMap });
@@ -3595,8 +3984,62 @@
3595
3984
  }
3596
3985
  finally { if (e_5) throw e_5.error; }
3597
3986
  }
3598
- var mergedTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { items: mergedItems });
3599
- return mergedTemplate;
3987
+ var mergedTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { items: mergedItems });
3988
+ return mergedTemplate;
3989
+ }
3990
+
3991
+ function getModelMap(items, itemIdExclusions) {
3992
+ var modelMap = new Map();
3993
+ traverseItems(items, modelMap, itemIdExclusions);
3994
+ return modelMap;
3995
+ }
3996
+ function traverseItems(items, modelMap, itemIdExclusions) {
3997
+ var e_1, _a;
3998
+ try {
3999
+ for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
4000
+ var item = items_1_1.value;
4001
+ var propertyNameNotExcluded = coreTs.isPresent(itemIdExclusions) && !itemIdExclusions.includes(item.itemId);
4002
+ if (propertyNameNotExcluded) {
4003
+ if (webFormTs.instanceOfTemplateItemGroupImpl(item)) {
4004
+ modelMap.set(item.instanceId, item);
4005
+ traverseItems(item.items, modelMap, itemIdExclusions);
4006
+ }
4007
+ else if (webFormTs.instanceOfTemplateSectionImpl(item)) {
4008
+ modelMap.set(item.instanceId, item);
4009
+ traverseItems(item.items, modelMap, itemIdExclusions);
4010
+ }
4011
+ else if (isTemplateItem(item)) {
4012
+ modelMap.set(item.instanceId, item);
4013
+ }
4014
+ }
4015
+ }
4016
+ }
4017
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
4018
+ finally {
4019
+ try {
4020
+ if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
4021
+ }
4022
+ finally { if (e_1) throw e_1.error; }
4023
+ }
4024
+ }
4025
+
4026
+ function getModelToDesign(model, languageId, contextSelected, references) {
4027
+ if (webFormTs.instanceOfTemplateImpl(model)) {
4028
+ return templateToDesign(model, languageId, contextSelected, {
4029
+ references: references,
4030
+ });
4031
+ }
4032
+ else if (isTemplateItem(model)) {
4033
+ return itemToDesign(model, languageId, undefined, contextSelected, {
4034
+ references: references,
4035
+ });
4036
+ }
4037
+ else if (instanceOfFormOptionSelector(model)) {
4038
+ return optionSelectorToDesign(model, languageId, {}, references, undefined, contextSelected);
4039
+ }
4040
+ else {
4041
+ throw new Error("Cannot convert model to design. Model is not recognized. Supported types are instances of TEMPLATE, TEMPLATE_ITEM, and OPTION.");
4042
+ }
3600
4043
  }
3601
4044
 
3602
4045
  /**
@@ -4547,6 +4990,45 @@
4547
4990
  }
4548
4991
  }
4549
4992
  };
4993
+ MtnaWfItemInjector.prototype.configureInjectedComponent = function () {
4994
+ if (webFormTs.isDateItem(this.item) || webFormTs.isOffsetDateRangeItem(this.item)) {
4995
+ var itemWithDateFormat = this.item;
4996
+ var key = this.getInjectedComponentKey();
4997
+ if (key && this.injectionService) {
4998
+ var injectedComponent = this.injectionService.getInjectedComponent(key);
4999
+ if (injectedComponent) {
5000
+ var componentFactory = this.componentFactoryResolver.resolveComponentFactory(injectedComponent.component);
5001
+ var compModule = componentFactory.ngModule;
5002
+ // TODO:
5003
+ var providers = [];
5004
+ var updatedMatDateFormats = {
5005
+ parse: {
5006
+ dateInput: itemWithDateFormat.format,
5007
+ },
5008
+ display: {
5009
+ dateInput: itemWithDateFormat.format,
5010
+ monthLabel: 'MMM',
5011
+ monthYearLabel: 'YYYY MMM',
5012
+ dateA11yLabel: 'LL',
5013
+ monthYearA11yLabel: 'MMMM YYYY', // Accessible month-year, e.g., "July 2025"
5014
+ },
5015
+ };
5016
+ providers.push({ provide: i3.MAT_DATE_FORMATS, useValue: updatedMatDateFormats });
5017
+ var componentRef = this.viewContainerRef.createComponent(componentFactory, undefined, providers.length > 0 ? i0.Injector.create({ providers: providers }) : this.injector, undefined, compModule);
5018
+ this.configureComponent(componentRef);
5019
+ }
5020
+ else {
5021
+ console.error('No injection component found for key [' + key + ']');
5022
+ }
5023
+ }
5024
+ else {
5025
+ console.warn('No key provided for injection');
5026
+ }
5027
+ }
5028
+ else {
5029
+ _super.prototype.configureInjectedComponent.call(this);
5030
+ }
5031
+ };
4550
5032
  MtnaWfItemInjector.prototype.getInjectedComponentKey = function () {
4551
5033
  if (this.item) {
4552
5034
  return this.item.itemId;
@@ -5865,7 +6347,7 @@
5865
6347
  }
5866
6348
  GetI18nStringValueFromLocalePipe.prototype.transform = function (displayLocale, i18nStrings) {
5867
6349
  var stringValue = '';
5868
- if (i18nStrings.length > 0 && coreTs.isPresent(displayLocale)) {
6350
+ if (coreTs.isPresent(i18nStrings) && i18nStrings.length > 0 && coreTs.isPresent(displayLocale)) {
5869
6351
  var i18nString = i18nStrings.find(function (i18nSt) { return i18nSt.facetId === displayLocale; });
5870
6352
  if (i18nString) {
5871
6353
  stringValue = i18nString.value ? i18nString.value : '';
@@ -6018,13 +6500,6 @@
6018
6500
  _this.API_URL = "" + _this.BASE_URL;
6019
6501
  _this.FORM_URL = _this.API_URL + "/form";
6020
6502
  _this.TEMPLATE_URL = _this.API_URL + "/template";
6021
- _this.NEW_TEMPLATE_URL = _this.TEMPLATE_URL + "/new";
6022
- _this.NEW_SECTION_URL = _this.TEMPLATE_URL + "/section";
6023
- _this.ITEMS_URL = _this.TEMPLATE_URL + "/items";
6024
- _this.ITEM_INSTANCE_URL = _this.TEMPLATE_URL + "/item";
6025
- _this.TEMPLATE_SAVE_URL = _this.TEMPLATE_URL + "/save";
6026
- _this.TEMPLATE_DELETE_URL = _this.TEMPLATE_URL + "/delete";
6027
- _this.ALL_TEMPLATES_URL = _this.API_URL + "/templates";
6028
6503
  return _this;
6029
6504
  }
6030
6505
  /**
@@ -6043,32 +6518,69 @@
6043
6518
  MtnaWfApiService.prototype.getRepeatableItem = function (templateId, itemTemplateId) {
6044
6519
  return this.http.get(this.FORM_URL + "/" + templateId + "/item/" + itemTemplateId);
6045
6520
  };
6046
- MtnaWfApiService.prototype.getNewTemplate = function () {
6047
- return this.http.get(this.NEW_TEMPLATE_URL);
6048
- };
6049
- MtnaWfApiService.prototype.getAllTemplates = function () {
6050
- return this.http.get(this.ALL_TEMPLATES_URL);
6051
- };
6052
- MtnaWfApiService.prototype.getNewSection = function () {
6053
- return this.http.get(this.NEW_SECTION_URL);
6521
+ /**
6522
+ * Get all of the user's currently defined {@link Template}s.
6523
+ *
6524
+ * @return the {@link Template}s that the user has access to.
6525
+ */
6526
+ MtnaWfApiService.prototype.getTemplates = function () {
6527
+ return this.http.get(this.TEMPLATE_URL + "/list");
6054
6528
  };
6055
- MtnaWfApiService.prototype.getItems = function () {
6056
- return this.http.get(this.ITEMS_URL);
6529
+ /**
6530
+ * Creates a new Template
6531
+ *
6532
+ * @return the newly created template
6533
+ */
6534
+ MtnaWfApiService.prototype.createTemplate = function () {
6535
+ return this.http.post("" + this.TEMPLATE_URL, undefined);
6057
6536
  };
6058
- MtnaWfApiService.prototype.getTemplateItem = function (id) {
6059
- return this.http.get(this.ITEM_INSTANCE_URL + "?id=" + id);
6537
+ /**
6538
+ * Get the specified {@link Template}.
6539
+ *
6540
+ * @param id the ID of the {@link Template} to retrieve
6541
+ * @return the specified template.
6542
+ */
6543
+ MtnaWfApiService.prototype.getTemplate = function (id) {
6544
+ return this.http.get(this.TEMPLATE_URL + "/" + id);
6060
6545
  };
6061
- MtnaWfApiService.prototype.saveTemplate = function () {
6062
- return this.http.get(this.TEMPLATE_SAVE_URL);
6546
+ /**
6547
+ * Updates the specified {@link Template} with the values provided in the
6548
+ * {@link Template} POJO. This will not update child items, only the properties
6549
+ * at the template level.
6550
+ *
6551
+ * @param id the ID of the {@link Template} to update
6552
+ * @param template the {@link Template} POJO to use to update the persisted
6553
+ * resource
6554
+ * @return the updated {@link Template}
6555
+ */
6556
+ MtnaWfApiService.prototype.updateTemplate = function (id, template) {
6557
+ return this.http.post(this.TEMPLATE_URL + "/" + id, template);
6063
6558
  };
6064
- MtnaWfApiService.prototype.getDeleteTemplate = function () {
6065
- return this.http.get(this.TEMPLATE_DELETE_URL);
6559
+ /**
6560
+ * Deletes the specified {@link Template}
6561
+ *
6562
+ * @param id the ID of the {@link Template} to delete
6563
+ */
6564
+ MtnaWfApiService.prototype.deleteTemplate = function (id) {
6565
+ return this.http.delete(this.TEMPLATE_URL + "/" + id);
6066
6566
  };
6067
- MtnaWfApiService.prototype.getTemplateInstance = function (template) {
6068
- return this.http.post(this.TEMPLATE_URL + "/convert", template);
6567
+ /**
6568
+ * Creates a new {@link Template} by copying an existing {@link Template}.
6569
+ *
6570
+ * @param id the ID of the {@link Template} to clone
6571
+ * @return the newly cloned {@link Template}
6572
+ */
6573
+ MtnaWfApiService.prototype.copyTemplate = function (id) {
6574
+ return this.http.post(this.TEMPLATE_URL + "/" + id + "/copy", undefined);
6069
6575
  };
6070
- MtnaWfApiService.prototype.getTemplateItemInstance = function (templateItem) {
6071
- return this.http.post(this.ITEM_INSTANCE_URL + "/convert", templateItem);
6576
+ /**
6577
+ * Gets a {@link Form} instance of the specified {@link Template}.
6578
+ *
6579
+ * @param id the ID of the {@link Template} to preview
6580
+ * @return a form created from the template
6581
+ */
6582
+ MtnaWfApiService.prototype.previewTemplate = function (id) {
6583
+ return this.http.get(this.TEMPLATE_URL + "/" + id + "/preview");
6072
6584
  };
6073
6585
  return MtnaWfApiService;
6074
6586
  }(i1$2.BaseUrlService));
@@ -8009,37 +8521,13 @@
8009
8521
  },
8010
8522
  set: function (value) {
8011
8523
  _super.prototype.item = value;
8012
- if (this.item.format) {
8013
- this.configureDatePickerFormatter();
8014
- }
8524
+ // if (this.item.format) {
8525
+ // this.configureDatePickerFormatter();
8526
+ // }
8015
8527
  },
8016
8528
  enumerable: false,
8017
8529
  configurable: true
8018
8530
  });
8019
- MtnaWfDateComponent.prototype.ngAfterViewInit = function () {
8020
- this.configureDatePickerFormatter();
8021
- };
8022
- /**
8023
- * Manually change the parse and display formats of the date picker.
8024
- * @see https://github.com/angular/components/issues/8355#issuecomment-376783293
8025
- */
8026
- MtnaWfDateComponent.prototype.configureDatePickerFormatter = function () {
8027
- if (this.picker) {
8028
- var datepickerInput = this.picker.datepickerInput;
8029
- // @ts-ignore: access the private date formats on the date picker
8030
- var d = JSON.parse(JSON.stringify(datepickerInput._dateFormats));
8031
- // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser
8032
- var momentFormatString = moment().toMomentFormatString(this.item.format);
8033
- // Use the converted format for the date picker display
8034
- d.display.dateInput = momentFormatString;
8035
- // Use the converted format for the date picker parser (user input)
8036
- d.parse.dateInput = momentFormatString;
8037
- // @ts-ignore: set the updated date formats
8038
- datepickerInput._dateFormats = d;
8039
- // @ts-ignore: manually format the current value in the date picker
8040
- datepickerInput._formatValue(datepickerInput.value);
8041
- }
8042
- };
8043
8531
  return MtnaWfDateComponent;
8044
8532
  }(MtnaWfBaseValueItem));
8045
8533
  MtnaWfDateComponent.dateFormItemComponentInstances = 0;
@@ -8080,7 +8568,7 @@
8080
8568
  i1$2.MtnaHighlightModule,
8081
8569
  i6.ReactiveFormsModule,
8082
8570
  MtnaWfGetFormControlErrorPipeModule], exports: [MtnaWfDateComponent] });
8083
- MtnaWfDateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDateModule, providers: [{ provide: i3.MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }], imports: [[
8571
+ MtnaWfDateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDateModule, imports: [[
8084
8572
  i3$1.CommonModule,
8085
8573
  i6.FormsModule,
8086
8574
  i1$8.MatFormFieldModule,
@@ -8107,7 +8595,6 @@
8107
8595
  ],
8108
8596
  declarations: [MtnaWfDateComponent],
8109
8597
  exports: [MtnaWfDateComponent],
8110
- providers: [{ provide: i3.MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }],
8111
8598
  }]
8112
8599
  }] });
8113
8600
 
@@ -9260,7 +9747,7 @@
9260
9747
  return MtnaWfYearQuarterComponent;
9261
9748
  }(MtnaWfBaseValueItem));
9262
9749
  MtnaWfYearQuarterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: MTNA_WF_DEFAULT_YEAR_RANGE, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
9263
- MtnaWfYearQuarterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item", host: { properties: { "class.mtna-wf-year-quarter-item": "this.yearQuarterItemClass" } }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i1__namespace$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$5.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "keyvalue": i3__namespace.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
9750
+ MtnaWfYearQuarterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item", host: { properties: { "class.mtna-wf-year-quarter-item": "this.yearQuarterItemClass" } }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}mtna-wf-year-quarter-item .mat-select{min-width:60px}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i1__namespace$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$5.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "keyvalue": i3__namespace.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
9264
9751
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterComponent, decorators: [{
9265
9752
  type: i0.Component,
9266
9753
  args: [{
@@ -10090,10 +10577,6 @@
10090
10577
  type: i0.Input
10091
10578
  }] } });
10092
10579
 
10093
- function instanceOfStepAware(something) {
10094
- return (coreTs.isType(something, 'step') && (something.step === null || something.step === undefined || instanceOfFormStep(something.step)));
10095
- }
10096
-
10097
10580
  var MtnaWfTemplateItemInjector = /** @class */ (function (_super) {
10098
10581
  __extends(MtnaWfTemplateItemInjector, _super);
10099
10582
  function MtnaWfTemplateItemInjector(injector, cfr, vcr, injectionService) {
@@ -10186,10 +10669,54 @@
10186
10669
  if (this.wfTemplateItemComponent instanceof MtnaWfBaseTemplateItemWithListComponent) {
10187
10670
  this.wfTemplateItemComponent.inList = this.inList;
10188
10671
  }
10189
- if (instanceOfStepAware(this.wfTemplateItemComponent)) {
10672
+ // Cannot use the instanceOfStepAware type guard here because:
10673
+ // - At the time "const instance = componentRef.instance" runs angular has just created the component but the @Input step has not been set yet.
10674
+ // - The isType part of the instanceOfStepAware check relies on the component already having a step property, which is not the case at this point, so it always returns false.
10675
+ // - This is a timing issue in Angular's component lifecycle, where the component instance exists but its inputs have not been initialized yet.
10676
+ // As a workaround, we can check for the presence of the 'step' property directly on the component instance, which is a more reliable way to determine if it is StepAware at this point in the lifecycle.
10677
+ if ('step' in this.wfTemplateItemComponent) {
10190
10678
  this.wfTemplateItemComponent.step = this.step;
10191
10679
  }
10192
10680
  };
10681
+ MtnaWfTemplateItemInjector.prototype.configureInjectedComponent = function () {
10682
+ if (webFormTs.instanceOfDateItemTemplate(this.template) || webFormTs.instanceOfOffsetDateRangeTemplate(this.template)) {
10683
+ var templateWithDateFormat = this.template;
10684
+ var key = this.getInjectedComponentKey();
10685
+ if (key && this.injectionService) {
10686
+ var injectedComponent = this.injectionService.getInjectedComponent(key);
10687
+ if (injectedComponent) {
10688
+ var componentFactory = this.componentFactoryResolver.resolveComponentFactory(injectedComponent.component);
10689
+ var compModule = componentFactory.ngModule;
10690
+ // TODO:
10691
+ var providers = [];
10692
+ var updatedMatDateFormats = {
10693
+ parse: {
10694
+ dateInput: templateWithDateFormat.format,
10695
+ },
10696
+ display: {
10697
+ dateInput: templateWithDateFormat.format,
10698
+ monthLabel: 'MMM',
10699
+ monthYearLabel: 'YYYY MMM',
10700
+ dateA11yLabel: 'LL',
10701
+ monthYearA11yLabel: 'MMMM YYYY', // Accessible month-year, e.g., "July 2025"
10702
+ },
10703
+ };
10704
+ providers.push({ provide: i3.MAT_DATE_FORMATS, useValue: updatedMatDateFormats });
10705
+ var componentRef = this.viewContainerRef.createComponent(componentFactory, undefined, providers.length > 0 ? i0.Injector.create({ providers: providers }) : this.injector, undefined, compModule);
10706
+ this.configureComponent(componentRef);
10707
+ }
10708
+ else {
10709
+ console.error('No injection component found for key [' + key + ']');
10710
+ }
10711
+ }
10712
+ else {
10713
+ console.warn('No key provided for injection');
10714
+ }
10715
+ }
10716
+ else {
10717
+ _super.prototype.configureInjectedComponent.call(this);
10718
+ }
10719
+ };
10193
10720
  MtnaWfTemplateItemInjector.prototype.getInjectedComponentKey = function () {
10194
10721
  if (this.template) {
10195
10722
  return this.template.itemId;
@@ -10235,6 +10762,7 @@
10235
10762
  this._displayLocale = 'en';
10236
10763
  this._inList = false;
10237
10764
  this._isCompact = false;
10765
+ this.isTemplateSection = false;
10238
10766
  }
10239
10767
  Object.defineProperty(MtnaWfTemplateItemComponent.prototype, "displayLocale", {
10240
10768
  get: function () {
@@ -10293,6 +10821,9 @@
10293
10821
  if (webFormTs.isConditionalItem(template)) {
10294
10822
  this.condition = template.condition;
10295
10823
  }
10824
+ if (webFormTs.instanceOfTemplateSectionImpl(template)) {
10825
+ this.isTemplateSection = true;
10826
+ }
10296
10827
  },
10297
10828
  enumerable: false,
10298
10829
  configurable: true
@@ -10300,7 +10831,7 @@
10300
10831
  return MtnaWfTemplateItemComponent;
10301
10832
  }());
10302
10833
  MtnaWfTemplateItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfTemplateItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
10303
- MtnaWfTemplateItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTemplateItemComponent, selector: "mtna-wf-template-item", inputs: { displayLocale: "displayLocale", inList: "inList", isCompact: "isCompact", step: "step", template: "template", color: "color" }, ngImport: i0__namespace, template: "<mtna-annotations-indicator\n *ngIf=\"template.annotationEnabled\"\n [annotatableId]=\"template.annotatableId\"\n color=\"primary\"\n></mtna-annotations-indicator>\n\n<mtna-wf-template-item-header\n *ngIf=\"template.questionText.length > 0 || template.descriptiveText.length > 0\"\n [descriptiveText]=\"template.descriptiveText\"\n [displayLocale]=\"displayLocale\"\n [questionText]=\"template.questionText\"\n [required]=\"template.required\"\n></mtna-wf-template-item-header>\n\n<mtna-wf-template-item-injector\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [inList]=\"inList\"\n [isCompact]=\"isCompact\"\n [template]=\"template\"\n [step]=\"step\"\n></mtna-wf-template-item-injector>\n\n<ng-container *ngIf=\"condition\"> </ng-container>\n", styles: ["mtna-wf-template-item{display:block;position:relative}mtna-wf-template-item mtna-annotations-indicator{position:absolute;top:0;right:0;z-index:2}mtna-wf-template-item mtna-wf-template-item-header+.template-item-group-container{padding:.35em .75em .625em}mtna-wf-template-item mtna-wf-template-item-header+.template-item-group-container>mtna-wf-template-item{margin-top:0}mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-boolean-template-item,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-template-item-group,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-ordered-list-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-text-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-title-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-unordered-list-item-template{padding-right:24px}\n"], components: [{ type: i2__namespace.MtnaAnnotationsIndicatorComponent, selector: "mtna-annotations-indicator", inputs: ["color", "annotatableId", "annotatableItemName", "count"], outputs: ["status"] }, { type: MtnaWfTemplateItemHeaderComponent, selector: "mtna-wf-template-item-header", inputs: ["descriptiveText", "disabled", "displayLocale", "required", "questionText"] }, { type: MtnaWfTemplateItemInjector, selector: "mtna-wf-template-item-injector", inputs: ["displayLocale", "inList", "isCompact", "readonly", "step", "template", "color"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
10834
+ MtnaWfTemplateItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTemplateItemComponent, selector: "mtna-wf-template-item", inputs: { displayLocale: "displayLocale", inList: "inList", isCompact: "isCompact", step: "step", template: "template", color: "color" }, ngImport: i0__namespace, template: "<mtna-annotations-indicator\n *ngIf=\"template.annotationEnabled\"\n [annotatableId]=\"template.annotatableId\"\n color=\"primary\"\n></mtna-annotations-indicator>\n\n<mtna-wf-template-item-header\n *ngIf=\"\n !isTemplateSection &&\n ((template.questionText && template.questionText.length > 0) || (template.descriptiveText && template.descriptiveText.length > 0))\n \"\n [descriptiveText]=\"template.descriptiveText ?? []\"\n [displayLocale]=\"displayLocale\"\n [questionText]=\"template.questionText ?? []\"\n [required]=\"template.required\"\n></mtna-wf-template-item-header>\n\n<mtna-wf-template-item-injector\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [inList]=\"inList\"\n [isCompact]=\"isCompact\"\n [template]=\"template\"\n [step]=\"step\"\n></mtna-wf-template-item-injector>\n\n<ng-container *ngIf=\"condition\"> </ng-container>\n", styles: ["mtna-wf-template-item{display:block;position:relative}mtna-wf-template-item mtna-annotations-indicator{position:absolute;top:0;right:0;z-index:2}mtna-wf-template-item mtna-wf-template-item-header+.template-item-group-container{padding:.35em .75em .625em}mtna-wf-template-item mtna-wf-template-item-header+.template-item-group-container>mtna-wf-template-item{margin-top:0}mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-boolean-template-item,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-template-item-group,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-ordered-list-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-text-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-title-item-template,mtna-wf-template-item mtna-annotations-indicator+mtna-wf-template-item-header+mtna-wf-template-item+mtna-wf-unordered-list-item-template{padding-right:24px}\n"], components: [{ type: i2__namespace.MtnaAnnotationsIndicatorComponent, selector: "mtna-annotations-indicator", inputs: ["color", "annotatableId", "annotatableItemName", "count"], outputs: ["status"] }, { type: MtnaWfTemplateItemHeaderComponent, selector: "mtna-wf-template-item-header", inputs: ["descriptiveText", "disabled", "displayLocale", "required", "questionText"] }, { type: MtnaWfTemplateItemInjector, selector: "mtna-wf-template-item-injector", inputs: ["displayLocale", "inList", "isCompact", "readonly", "step", "template", "color"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
10304
10835
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfTemplateItemComponent, decorators: [{
10305
10836
  type: i0.Component,
10306
10837
  args: [{
@@ -10505,31 +11036,6 @@
10505
11036
  }
10506
11037
  return _this;
10507
11038
  }
10508
- MtnaWfDateItemTemplateComponent.prototype.ngAfterViewInit = function () {
10509
- this.configureDatePickerFormatter();
10510
- };
10511
- /**
10512
- * Manually change the parse and display formats of the date picker.
10513
- * @see https://github.com/angular/components/issues/8355#issuecomment-376783293
10514
- */
10515
- MtnaWfDateItemTemplateComponent.prototype.configureDatePickerFormatter = function () {
10516
- var _a;
10517
- if (this.picker) {
10518
- var datepickerInput = this.picker.datepickerInput;
10519
- // @ts-ignore: access the private date formats on the date picker
10520
- var d = JSON.parse(JSON.stringify(datepickerInput._dateFormats));
10521
- // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser
10522
- var momentFormatString = moment().toMomentFormatString((_a = this.template) === null || _a === void 0 ? void 0 : _a.format);
10523
- // Use the converted format for the date picker display
10524
- d.display.dateInput = momentFormatString;
10525
- // Use the converted format for the date picker parser (user input)
10526
- d.parse.dateInput = momentFormatString;
10527
- // @ts-ignore: set the updated date formats
10528
- datepickerInput._dateFormats = d;
10529
- // @ts-ignore: manually format the current value in the date picker
10530
- datepickerInput._formatValue(datepickerInput.value);
10531
- }
10532
- };
10533
11039
  return MtnaWfDateItemTemplateComponent;
10534
11040
  }(MtnaWfBaseTemplateItemComponent));
10535
11041
  MtnaWfDateItemTemplateComponent.dateFormItemTemplateComponentInstances = 0;
@@ -10615,7 +11121,7 @@
10615
11121
  materialMomentAdapter.MatMomentDateModule,
10616
11122
  i6.ReactiveFormsModule,
10617
11123
  GetI18nStringValueFromLocalePipeModule], exports: [MtnaWfDateItemTemplateComponent] });
10618
- MtnaWfDateItemTemplateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDateItemTemplateModule, providers: [{ provide: i3.MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }], imports: [[
11124
+ MtnaWfDateItemTemplateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDateItemTemplateModule, imports: [[
10619
11125
  i3$1.CommonModule,
10620
11126
  i6.FormsModule,
10621
11127
  i1$8.MatFormFieldModule,
@@ -10640,7 +11146,6 @@
10640
11146
  ],
10641
11147
  declarations: [MtnaWfDateItemTemplateComponent],
10642
11148
  exports: [MtnaWfDateItemTemplateComponent],
10643
- providers: [{ provide: i3.MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }],
10644
11149
  }]
10645
11150
  }] });
10646
11151
 
@@ -10670,35 +11175,130 @@
10670
11175
  __extends(MtnaWfYearQuarterItemTemplateComponent, _super);
10671
11176
  function MtnaWfYearQuarterItemTemplateComponent(defaultYearRange) {
10672
11177
  var _this = _super.call(this) || this;
11178
+ _this._readonly = false;
11179
+ _this._containingControl = new i6.FormControl();
10673
11180
  _this._quarterControl = new i6.FormControl();
10674
11181
  _this._yearControl = new i6.FormControl();
10675
11182
  _this._yearSelection = new Array();
11183
+ _this.destroyObs = new rxjs.Subject();
10676
11184
  _this.defaultYearRange = { numFutureYears: 25, numPastYears: 25 };
11185
+ /**
11186
+ * Sets the quarter value to `null` if the year & quarter is out of bounds of the range limits.
11187
+ * Otherwise, returns original value
11188
+ *
11189
+ * @param value `[number, number]` The selected [year, quarter] value
11190
+ * @returns `[number, number]` The original [year, quarter] value OR [year, null]
11191
+ */
11192
+ _this.withinRangeLimits = function (_e) {
11193
+ var _f = __read(_e, 2), year = _f[0], quarter = _f[1];
11194
+ var _a, _b;
11195
+ var beyondUpperLimit =
11196
+ // year matches end year range limit
11197
+ year === ((_a = _this.componentRangeLimits) === null || _a === void 0 ? void 0 : _a.end.year) &&
11198
+ // quarter limit was provided
11199
+ coreTs.isPresent(_this.componentRangeLimits.end.quarter) &&
11200
+ // selected quarter is beyond quarter limit
11201
+ quarter > _this.componentRangeLimits.end.quarter;
11202
+ var beyondLowerLimit =
11203
+ // year matches start year range limit
11204
+ year === ((_b = _this.componentRangeLimits) === null || _b === void 0 ? void 0 : _b.start.year) &&
11205
+ // quarter limit was provided
11206
+ coreTs.isPresent(_this.componentRangeLimits.start.quarter) &&
11207
+ // selected quarter is beyond quarter limit
11208
+ quarter < _this.componentRangeLimits.start.quarter;
11209
+ if (beyondLowerLimit || beyondUpperLimit) {
11210
+ _this._quarterControl.setValue(null, { emitEvent: false });
11211
+ return [year, null];
11212
+ }
11213
+ return [year, quarter];
11214
+ };
10677
11215
  _this.defaultYearRange = defaultYearRange || _this.defaultYearRange;
10678
11216
  return _this;
10679
11217
  }
11218
+ Object.defineProperty(MtnaWfYearQuarterItemTemplateComponent.prototype, "readonly", {
11219
+ get: function () {
11220
+ return this._readonly;
11221
+ },
11222
+ set: function (value) {
11223
+ this._readonly = value;
11224
+ },
11225
+ enumerable: false,
11226
+ configurable: true
11227
+ });
10680
11228
  Object.defineProperty(MtnaWfYearQuarterItemTemplateComponent.prototype, "yearQuarterRange", {
10681
- // @Input()
10682
- // get readonly(): boolean {
10683
- // return this._readonly;
10684
- // }
10685
- // set readonly(value: boolean) {
10686
- // this._readonly = value;
10687
- // }
10688
- // private _readonly = false;
10689
11229
  get: function () {
10690
11230
  return this._yearQuarterRange;
10691
11231
  },
10692
11232
  set: function (value) {
10693
11233
  this._yearQuarterRange = value;
11234
+ this.componentRangeLimits = value;
11235
+ },
11236
+ enumerable: false,
11237
+ configurable: true
11238
+ });
11239
+ Object.defineProperty(MtnaWfYearQuarterItemTemplateComponent.prototype, "isReadOnly", {
11240
+ get: function () {
11241
+ return this._readonly;
10694
11242
  },
10695
11243
  enumerable: false,
10696
11244
  configurable: true
10697
11245
  });
11246
+ MtnaWfYearQuarterItemTemplateComponent.prototype.ngAfterViewInit = function () {
11247
+ var _this = this;
11248
+ if (!this.readonly) {
11249
+ // Observe Year & Quarter value changes && set them on the item's control
11250
+ rxjs.merge(this._yearControl.valueChanges, this._quarterControl.valueChanges)
11251
+ .pipe(operators.takeUntil(this.destroyObs))
11252
+ .subscribe(function () {
11253
+ var _a, _b, _c, _d;
11254
+ if (!((_a = _this._containingControl) === null || _a === void 0 ? void 0 : _a.dirty) && (_this._yearControl.dirty || _this._quarterControl.dirty)) {
11255
+ (_b = _this._containingControl) === null || _b === void 0 ? void 0 : _b.markAsDirty();
11256
+ (_c = _this._containingControl) === null || _c === void 0 ? void 0 : _c.markAsTouched();
11257
+ }
11258
+ if (coreTs.isPresent(_this._yearControl.value)) {
11259
+ var _e = __read(_this.withinRangeLimits([_this._yearControl.value, _this._quarterControl.value]), 2), year = _e[0], quarter = _e[1];
11260
+ (_d = _this._containingControl) === null || _d === void 0 ? void 0 : _d.setValue({ year: year, quarter: quarter });
11261
+ }
11262
+ });
11263
+ }
11264
+ };
11265
+ MtnaWfYearQuarterItemTemplateComponent.prototype.ngOnDestroy = function () {
11266
+ this.destroyObs.next();
11267
+ this.destroyObs.complete();
11268
+ };
11269
+ MtnaWfYearQuarterItemTemplateComponent.prototype.ngOnInit = function () {
11270
+ var _a, _b, _c;
11271
+ // Set any initial value onto the Year & Quarter controls
11272
+ this._yearControl.setValue(((_a = this._containingControl) === null || _a === void 0 ? void 0 : _a.value) ? this._containingControl.value.year : null);
11273
+ this._quarterControl.setValue(((_b = this._containingControl) === null || _b === void 0 ? void 0 : _b.value) ? this._containingControl.value.quarter : null);
11274
+ // Create range limits if none exist
11275
+ if (!this.componentRangeLimits) {
11276
+ var thisYear = new Date().getFullYear();
11277
+ this.componentRangeLimits = {
11278
+ start: {
11279
+ year: thisYear - this.defaultYearRange.numPastYears,
11280
+ quarter: null,
11281
+ },
11282
+ end: {
11283
+ year: thisYear + this.defaultYearRange.numFutureYears,
11284
+ quarter: null,
11285
+ },
11286
+ };
11287
+ }
11288
+ // Populate the year selection
11289
+ for (var i = this.componentRangeLimits.start.year || 0; i <= (this.componentRangeLimits.end.year || 0); i++) {
11290
+ this._yearSelection.push(i);
11291
+ }
11292
+ if (this.readonly) {
11293
+ (_c = this._containingControl) === null || _c === void 0 ? void 0 : _c.disable();
11294
+ this._quarterControl.disable();
11295
+ this._yearControl.disable();
11296
+ }
11297
+ };
10698
11298
  return MtnaWfYearQuarterItemTemplateComponent;
10699
11299
  }(_BaseMtnaWfYearQuarterItemTemplate));
10700
11300
  MtnaWfYearQuarterItemTemplateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterItemTemplateComponent, deps: [{ token: MTNA_WF_DEFAULT_YEAR_RANGE, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
10701
- MtnaWfYearQuarterItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterItemTemplateComponent, selector: "mtna-wf-year-quarter-item-template", inputs: { yearQuarterRange: "yearQuarterRange" }, usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"year-quarter-container\" fxLayout=\"row\" fxLayoutGap=\"8px\">\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item-template.mtna-wf-template-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item .template-control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector){padding-left:.75em}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item-template .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item-template .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
11301
+ MtnaWfYearQuarterItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterItemTemplateComponent, selector: "mtna-wf-year-quarter-item-template", inputs: { readonly: "readonly", yearQuarterRange: "yearQuarterRange" }, host: { properties: { "class.read-only": "this.isReadOnly" } }, usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"year-quarter-container\" fxLayout=\"row\" fxLayoutGap=\"8px\">\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item-template.mtna-wf-template-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item .template-control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector){padding-left:.75em}mtna-wf-year-quarter-item-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item-template .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item-template .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}mtna-wf-year-quarter-item-template .mat-select{min-width:60px}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
10702
11302
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterItemTemplateComponent, decorators: [{
10703
11303
  type: i0.Component,
10704
11304
  args: [{
@@ -10715,8 +11315,13 @@
10715
11315
  type: i0.Inject,
10716
11316
  args: [MTNA_WF_DEFAULT_YEAR_RANGE]
10717
11317
  }] }];
10718
- }, propDecorators: { yearQuarterRange: [{
11318
+ }, propDecorators: { readonly: [{
10719
11319
  type: i0.Input
11320
+ }], yearQuarterRange: [{
11321
+ type: i0.Input
11322
+ }], isReadOnly: [{
11323
+ type: i0.HostBinding,
11324
+ args: ['class.read-only']
10720
11325
  }] } });
10721
11326
 
10722
11327
  var MtnaWfYearQuarterItemTemplateModule = /** @class */ (function () {
@@ -10766,10 +11371,23 @@
10766
11371
  function MtnaWfYearQuarterRangeItemTemplateComponent() {
10767
11372
  return _super !== null && _super.apply(this, arguments) || this;
10768
11373
  }
11374
+ Object.defineProperty(MtnaWfYearQuarterRangeItemTemplateComponent.prototype, "template", {
11375
+ get: function () {
11376
+ return _super.prototype.template;
11377
+ },
11378
+ set: function (template) {
11379
+ _super.prototype.template = template;
11380
+ // Create fake items for the underlying date-item component
11381
+ this._startItem = Object.assign(Object.assign({}, template), { value: undefined });
11382
+ this._endItem = Object.assign(Object.assign({}, template), { value: undefined });
11383
+ },
11384
+ enumerable: false,
11385
+ configurable: true
11386
+ });
10769
11387
  return MtnaWfYearQuarterRangeItemTemplateComponent;
10770
11388
  }(MtnaWfBaseTemplateItemComponent));
10771
11389
  MtnaWfYearQuarterRangeItemTemplateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterRangeItemTemplateComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
10772
- MtnaWfYearQuarterRangeItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterRangeItemTemplateComponent, selector: "mtna-wf-year-quarter-range-template", usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"template\" class=\"range-item-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"template.rangeLimits\"></mtna-wf-year-quarter-item-template>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"template.rangeLimits\"></mtna-wf-year-quarter-item-template>\n</div>\n", styles: ["mtna-wf-year-quarter-range-template.mtna-wf-template-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item .template-control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector){padding-left:.75em}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: MtnaWfYearQuarterItemTemplateComponent, selector: "mtna-wf-year-quarter-item-template", inputs: ["yearQuarterRange"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i3__namespace$2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
11390
+ MtnaWfYearQuarterRangeItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterRangeItemTemplateComponent, selector: "mtna-wf-year-quarter-range-template", usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"template\" class=\"range-item-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"_startItem.rangeLimits\"></mtna-wf-year-quarter-item-template>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"_endItem.rangeLimits\"></mtna-wf-year-quarter-item-template>\n</div>\n", styles: ["mtna-wf-year-quarter-range-template.mtna-wf-template-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item .template-control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector){padding-left:.75em}mtna-wf-year-quarter-range-template.mtna-wf-template-control-item mtna-wf-template-item-header~.mtna-wf-template-control-item:not(.mat-list):not(mtna-wf-template-item-injector).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: MtnaWfYearQuarterItemTemplateComponent, selector: "mtna-wf-year-quarter-item-template", inputs: ["readonly", "yearQuarterRange"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3__namespace$2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i3__namespace$2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
10773
11391
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfYearQuarterRangeItemTemplateComponent, decorators: [{
10774
11392
  type: i0.Component,
10775
11393
  args: [{
@@ -10808,7 +11426,7 @@
10808
11426
  return MtnaWfDecimalAnswerItemTemplateComponent;
10809
11427
  }(MtnaWfBaseTemplateOptionItemComponent));
10810
11428
  MtnaWfDecimalAnswerItemTemplateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
10811
- MtnaWfDecimalAnswerItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDecimalAnswerItemTemplateComponent, selector: "mtna-wf-decimal-answer-item-template", usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"template\">\n <mat-form-field>\n <input\n matInput\n [autocomplete]=\"(displayLocale | getI18nStringValueFromLocale : template.label) || template.name | mtnaWfGetAutoComplete\"\n [required]=\"template.required\"\n />\n </mat-form-field>\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: ["mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item,mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-2-line,mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$5.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i2__namespace$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe, "getI18nStringValueFromLocale": GetI18nStringValueFromLocalePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
11429
+ MtnaWfDecimalAnswerItemTemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDecimalAnswerItemTemplateComponent, selector: "mtna-wf-decimal-answer-item-template", usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"template\">\n <mat-form-field>\n <mat-label>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</mat-label>\n <input\n matInput\n [autocomplete]=\"(displayLocale | getI18nStringValueFromLocale : template.label) || template.name | mtnaWfGetAutoComplete\"\n [required]=\"template.required\"\n />\n </mat-form-field>\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: ["mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item,mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-2-line,mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-decimal-answer-item-template .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1__namespace$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$5.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i2__namespace$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$5.MatLabel, selector: "mat-label" }, { type: i5__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "getI18nStringValueFromLocale": GetI18nStringValueFromLocalePipe, "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
10812
11430
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateComponent, decorators: [{
10813
11431
  type: i0.Component,
10814
11432
  args: [{
@@ -10828,29 +11446,35 @@
10828
11446
  }());
10829
11447
  MtnaWfDecimalAnswerItemTemplateModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
10830
11448
  MtnaWfDecimalAnswerItemTemplateModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateModule, declarations: [MtnaWfDecimalAnswerItemTemplateComponent], imports: [i3$1.CommonModule,
11449
+ GetI18nStringValueFromLocalePipeModule,
10831
11450
  i1$8.MatFormFieldModule,
10832
- i2$6.MatListModule,
10833
11451
  i5.MatInputModule,
11452
+ i2$6.MatListModule,
10834
11453
  MtnaWfGetAutoCompletePipeModule,
10835
- GetI18nStringValueFromLocalePipeModule], exports: [MtnaWfDecimalAnswerItemTemplateComponent] });
11454
+ MtnaWfGetFormControlErrorPipeModule,
11455
+ i6.ReactiveFormsModule], exports: [MtnaWfDecimalAnswerItemTemplateComponent] });
10836
11456
  MtnaWfDecimalAnswerItemTemplateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateModule, imports: [[
10837
11457
  i3$1.CommonModule,
11458
+ GetI18nStringValueFromLocalePipeModule,
10838
11459
  i1$8.MatFormFieldModule,
10839
- i2$6.MatListModule,
10840
11460
  i5.MatInputModule,
11461
+ i2$6.MatListModule,
10841
11462
  MtnaWfGetAutoCompletePipeModule,
10842
- GetI18nStringValueFromLocalePipeModule,
11463
+ MtnaWfGetFormControlErrorPipeModule,
11464
+ i6.ReactiveFormsModule,
10843
11465
  ]] });
10844
11466
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfDecimalAnswerItemTemplateModule, decorators: [{
10845
11467
  type: i0.NgModule,
10846
11468
  args: [{
10847
11469
  imports: [
10848
11470
  i3$1.CommonModule,
11471
+ GetI18nStringValueFromLocalePipeModule,
10849
11472
  i1$8.MatFormFieldModule,
10850
- i2$6.MatListModule,
10851
11473
  i5.MatInputModule,
11474
+ i2$6.MatListModule,
10852
11475
  MtnaWfGetAutoCompletePipeModule,
10853
- GetI18nStringValueFromLocalePipeModule,
11476
+ MtnaWfGetFormControlErrorPipeModule,
11477
+ i6.ReactiveFormsModule,
10854
11478
  ],
10855
11479
  declarations: [MtnaWfDecimalAnswerItemTemplateComponent],
10856
11480
  exports: [MtnaWfDecimalAnswerItemTemplateComponent],
@@ -11694,27 +12318,41 @@
11694
12318
  }], ctorParameters: function () { return [{ type: i1__namespace$a.Store }]; } });
11695
12319
 
11696
12320
  var TemplateFormEffects = /** @class */ (function () {
12321
+ // getTemplateInstance$ = createEffect(() =>
12322
+ // this.actions$.pipe(
12323
+ // ofType(TemplateFormActions.getTemplateInstance),
12324
+ // switchMap(({ template }) => {
12325
+ // return this.mtnaWfApiService.getTemplateInstance(template).pipe(
12326
+ // map((form) => TemplateFormApiActions.getTemplateInstanceSuccess({ form })),
12327
+ // catchError((error) => {
12328
+ // this.errorService.showError(error);
12329
+ // return of(TemplateFormApiActions.getTemplateInstanceFailure());
12330
+ // })
12331
+ // );
12332
+ // })
12333
+ // )
12334
+ // );
12335
+ //
12336
+ // getTemplateItemInstance$ = createEffect(() =>
12337
+ // this.actions$.pipe(
12338
+ // ofType(TemplateFormActions.getTemplateItemInstance),
12339
+ // switchMap(({ templateItem }) => {
12340
+ // return this.mtnaWfApiService.getTemplateItemInstance(templateItem).pipe(
12341
+ // map((formItem) => TemplateFormApiActions.getTemplateItemInstanceSuccess({ formItem })),
12342
+ // catchError((error) => {
12343
+ // this.errorService.showError(error);
12344
+ // return of(TemplateFormApiActions.getTemplateItemInstanceFailure());
12345
+ // })
12346
+ // );
12347
+ // })
12348
+ // )
12349
+ // );
11697
12350
  function TemplateFormEffects(actions$, mtnaWfApiService, errorService, store, router) {
11698
- var _this = this;
11699
12351
  this.actions$ = actions$;
11700
12352
  this.mtnaWfApiService = mtnaWfApiService;
11701
12353
  this.errorService = errorService;
11702
12354
  this.store = store;
11703
12355
  this.router = router;
11704
- this.getTemplateInstance$ = i1$c.createEffect(function () { return _this.actions$.pipe(i1$c.ofType(getTemplateInstance), operators.switchMap(function (_a) {
11705
- var template = _a.template;
11706
- return _this.mtnaWfApiService.getTemplateInstance(template).pipe(operators.map(function (form) { return getTemplateInstanceSuccess({ form: form }); }), operators.catchError(function (error) {
11707
- _this.errorService.showError(error);
11708
- return rxjs.of(getTemplateInstanceFailure());
11709
- }));
11710
- })); });
11711
- this.getTemplateItemInstance$ = i1$c.createEffect(function () { return _this.actions$.pipe(i1$c.ofType(getTemplateItemInstance), operators.switchMap(function (_a) {
11712
- var templateItem = _a.templateItem;
11713
- return _this.mtnaWfApiService.getTemplateItemInstance(templateItem).pipe(operators.map(function (formItem) { return getTemplateItemInstanceSuccess({ formItem: formItem }); }), operators.catchError(function (error) {
11714
- _this.errorService.showError(error);
11715
- return rxjs.of(getTemplateItemInstanceFailure());
11716
- }));
11717
- })); });
11718
12356
  }
11719
12357
  return TemplateFormEffects;
11720
12358
  }());
@@ -11732,6 +12370,35 @@
11732
12370
  _this.templateFormFacade = templateFormFacade;
11733
12371
  _this.i18nFacade = i18nFacade;
11734
12372
  _this.languageIds$ = new rxjs.BehaviorSubject([]);
12373
+ /**
12374
+ * The property names in the design updates that should trigger a design update on transition to ensure that the references and design
12375
+ * are updated to reflect any changes to these properties.
12376
+ */
12377
+ _this.transitionUpdatePropNames = [
12378
+ prop_item_name,
12379
+ prop_item_question_text,
12380
+ prop_item_descriptive_text,
12381
+ prop_option_enabled_items,
12382
+ prop_option_disabled_items,
12383
+ ];
12384
+ /**
12385
+ * The section names in the design updates that should trigger a design update on transition to ensure that the references and design
12386
+ * are updated to reflect any changes to properties.
12387
+ */
12388
+ _this.transitionUpdateSectionNames = [i18n_templateItemBasicSettings, i18n_enabledAndDisabledItems];
12389
+ /**
12390
+ * Need to remove the following modelDesignProperties from the designMap when indexing the designs for the references
12391
+ * because they are used for the display and description of the template and template items, so they should not be
12392
+ * included as potential reference designs for the conditionals section or the option item sections.
12393
+ */
12394
+ _this.referencePropertyNameExclusions = [prop_item_title, prop_item_acknowledgementTemplate, prop_option_template];
12395
+ /**
12396
+ * Need to remove the following itemIds from the modelMap when indexing the models for the references because they are used
12397
+ * for the title and should not be included as potential reference designs for the conditionals section. We don't need to include
12398
+ * the acknowledgement template here because the getModelMap function does not index the TemplateSection attached to the
12399
+ * acknowledgementTemplate property.
12400
+ */
12401
+ _this.itemIdExclusionsForReferences = [];
11735
12402
  _this.modifiedModelSubscription = _this.modifiedModel$.pipe().subscribe(function (modifiedModel) {
11736
12403
  // This is to ensure that a FormOptionSelector can not be passed as a modified model when trying to get the Form context.
11737
12404
  // This should eliminate that possibility.
@@ -11760,6 +12427,17 @@
11760
12427
  });
11761
12428
  return _this;
11762
12429
  }
12430
+ TemplateDesignFacade.prototype.initialize = function (model) {
12431
+ // reset to the first context in the available, assumes the contexts have already been set.
12432
+ var contexts = this.contextAvailable$.value;
12433
+ this.setContextSelected(coreTs.isPresent(contexts) && contexts.length > 0 ? contexts[0] : undefined);
12434
+ this.updateModelReferences(model);
12435
+ var design = this.toDesign(model); // Convert the model to a design again to ensure that the design reflects the indexed references.
12436
+ this.indexModelDesignProperties(design);
12437
+ this.modifiedModel$.next(model);
12438
+ this.design$.next(design);
12439
+ this.setFocusedDesignId(design.id, design.focusType);
12440
+ };
11763
12441
  TemplateDesignFacade.prototype.close = function () {
11764
12442
  if (this.contextSubscription) {
11765
12443
  this.contextSubscription.unsubscribe();
@@ -11779,10 +12457,10 @@
11779
12457
  };
11780
12458
  TemplateDesignFacade.prototype.fromDesign = function (design) {
11781
12459
  if (isTemplateDesign(design)) {
11782
- return toTemplate(design, this.contextSelected$.value);
12460
+ return toTemplate(design, this.contextSelected$.value, { references: this.references$.value });
11783
12461
  }
11784
12462
  else if (isTemplateItemDesign(design)) {
11785
- return toTemplateItem(design, this.contextSelected$.value);
12463
+ return toTemplateItem(design, this.contextSelected$.value, { references: this.references$.value });
11786
12464
  }
11787
12465
  else if (design.type === 'OPTION') {
11788
12466
  return designToOptionSelector(design, this.contextSelected$.value);
@@ -11792,18 +12470,7 @@
11792
12470
  }
11793
12471
  };
11794
12472
  TemplateDesignFacade.prototype.toDesign = function (model) {
11795
- if (webFormTs.instanceOfTemplateImpl(model)) {
11796
- return templateToDesign(model, this.languageId, this.contextSelected$.value);
11797
- }
11798
- else if (isTemplateItem(model)) {
11799
- return itemToDesign(model, this.languageId, undefined, this.contextSelected$.value);
11800
- }
11801
- else if (instanceOfFormOptionSelector(model)) {
11802
- return optionSelectorToDesign(model, this.languageId, {}, this.references$.value, undefined, this.contextSelected$.value);
11803
- }
11804
- else {
11805
- throw new Error("Cannot convert model to design. Model is not recognized. Supported types are instances of TEMPLATE, TEMPLATE_ITEM, and OPTION.");
11806
- }
12473
+ return getModelToDesign(model, this.languageId, this.contextSelected$.value, this.references$.value);
11807
12474
  };
11808
12475
  TemplateDesignFacade.prototype.getPotentialDesigns = function (design, property, index) {
11809
12476
  this.placementIndex$.next(index); // Used to indicate where a new item should be placed when adding a new repeatable value (modelDesignProperty)
@@ -11823,11 +12490,15 @@
11823
12490
  TemplateDesignFacade.prototype.createNewInstance = function (designBase, parent) {
11824
12491
  if (isTemplateDesign(designBase)) {
11825
12492
  var template_1 = getNewTemplate(designBase);
11826
- return templateToDesign(template_1, this.languageId, this.contextSelected$.value);
12493
+ return templateToDesign(template_1, this.languageId, this.contextSelected$.value, {
12494
+ references: this.references$.value,
12495
+ });
11827
12496
  }
11828
12497
  else if (isTemplateItemDesign(designBase)) {
11829
12498
  var templateItem = getNewTemplateItem(designBase, this.languageId, this.languageIds$.value);
11830
- return itemToDesign(templateItem, this.languageId, parent, this.contextSelected$.value);
12499
+ return itemToDesign(templateItem, this.languageId, parent, this.contextSelected$.value, {
12500
+ references: this.references$.value,
12501
+ });
11831
12502
  }
11832
12503
  else if (designBase.type === 'OPTION') {
11833
12504
  var formOptionSelector = getNewFormOptionSelector(designBase);
@@ -11838,6 +12509,14 @@
11838
12509
  }
11839
12510
  };
11840
12511
  TemplateDesignFacade.prototype.setModifiedModel = function (designUpdate) {
12512
+ if (designUpdate) {
12513
+ var partialDesignUpdate = {
12514
+ designId: designUpdate.designId,
12515
+ section: designUpdate.section,
12516
+ property: designUpdate.property,
12517
+ };
12518
+ this.designUpdates$.next(__spreadArray(__spreadArray([], __read(this.designUpdates$.value)), [partialDesignUpdate]));
12519
+ }
11841
12520
  var modifiedModel = designUpdate ? this.fromDesign(designUpdate.design) : undefined;
11842
12521
  if (coreTs.isPresent(modifiedModel)) {
11843
12522
  // Merge the new modified model with the existing modified model.
@@ -11863,7 +12542,10 @@
11863
12542
  TemplateDesignFacade.prototype.getDesignDisplay = function (design) {
11864
12543
  if (isTemplateDesign(design)) {
11865
12544
  var props = designerTs.getLiteralProperties(design, i18n_descriptive, [prop_item_title]);
11866
- return coreTs.isPresent(props[prop_item_title]) && props[prop_item_title] !== '' ? props[prop_item_title] : i18n_template;
12545
+ // The prop_item_title is an InternationalizedString[], so we need to use the getI18nString function to retrieve the correct
12546
+ // string value based on the current languageId and fallback to an empty language if not present.
12547
+ var propTitleString = i2.getI18nString(props[prop_item_title], this.languageId, true);
12548
+ return coreTs.isPresent(props[prop_item_title]) && propTitleString && propTitleString !== '' ? propTitleString : i18n_template;
11867
12549
  }
11868
12550
  else if (isTemplateItemDesign(design)) {
11869
12551
  var props = designerTs.getLiteralProperties(design, i18n_templateItemBasicSettings, [prop_item_name]);
@@ -11878,22 +12560,13 @@
11878
12560
  }
11879
12561
  };
11880
12562
  TemplateDesignFacade.prototype.indexModelDesignProperties = function (design) {
11881
- var e_1, _a;
12563
+ var e_1, _d;
11882
12564
  var references = {};
11883
- var designMap = i1.getDesignMap(design, true);
12565
+ var designMap = i1.getDesignMap(design, true, this.referencePropertyNameExclusions, this.itemIdExclusionsForReferences);
11884
12566
  try {
11885
- for (var _b = __values(designMap.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
11886
- var _d = __read(_c.value, 2), _ = _d[0], value = _d[1];
11887
- if (isTemplateDesign(value.design)) {
11888
- var properties = designerTs.getLiteralProperties(value.design, i18n_descriptive, [prop_template_title, prop_template_descriptive_text]);
11889
- var referenceDesignValue = {
11890
- id: value.design.id,
11891
- display: getText(properties, prop_template_title, true, this.languageId),
11892
- description: getText(properties, prop_template_descriptive_text, true, this.languageId),
11893
- };
11894
- references[value.design.id] = referenceDesignValue;
11895
- }
11896
- else if (isTemplateItemDesign(value.design)) {
12567
+ for (var _e = __values(designMap.entries()), _f = _e.next(); !_f.done; _f = _e.next()) {
12568
+ var _g = __read(_f.value, 2), _ = _g[0], value = _g[1];
12569
+ if (isTemplateItemDesign(value.design)) {
11897
12570
  var properties = designerTs.getLiteralProperties(value.design, i18n_templateItemBasicSettings, [
11898
12571
  prop_item_name,
11899
12572
  prop_item_question_text,
@@ -11911,12 +12584,53 @@
11911
12584
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
11912
12585
  finally {
11913
12586
  try {
11914
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
12587
+ if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
11915
12588
  }
11916
12589
  finally { if (e_1) throw e_1.error; }
11917
12590
  }
11918
12591
  this.references$.next(references);
11919
12592
  };
12593
+ TemplateDesignFacade.prototype.updateModelReferences = function (model) {
12594
+ var e_2, _d;
12595
+ var _a, _b, _c;
12596
+ var references = {};
12597
+ var templateItems = [];
12598
+ if (webFormTs.instanceOfTemplateImpl(model)) {
12599
+ templateItems.push.apply(templateItems, __spreadArray([], __read(model.items)));
12600
+ // Because this is a template
12601
+ }
12602
+ else if (isTemplateItem(model)) {
12603
+ templateItems.push(model);
12604
+ }
12605
+ var modelMap = getModelMap(templateItems, this.itemIdExclusionsForReferences);
12606
+ try {
12607
+ for (var _e = __values(modelMap.entries()), _f = _e.next(); !_f.done; _f = _e.next()) {
12608
+ var _g = __read(_f.value, 2), _ = _g[0], templateItem = _g[1];
12609
+ var description = '';
12610
+ if (coreTs.isPresent(templateItem.questionText) && templateItem.questionText.length > 0) {
12611
+ description = (_a = i2.getI18nString(templateItem.questionText, this.languageId, true)) !== null && _a !== void 0 ? _a : '';
12612
+ }
12613
+ else if (coreTs.isPresent(templateItem.descriptiveText) && templateItem.descriptiveText.length > 0) {
12614
+ description = (_b = i2.getI18nString(templateItem.descriptiveText, this.languageId, true)) !== null && _b !== void 0 ? _b : '';
12615
+ }
12616
+ var unavailableTemplateItemName = UnavailableTemplateItemNameMap[templateItem.itemId];
12617
+ var referenceDesignValue = {
12618
+ id: templateItem.instanceId,
12619
+ display: (_c = templateItem.name) !== null && _c !== void 0 ? _c : unavailableTemplateItemName,
12620
+ description: description,
12621
+ };
12622
+ references[templateItem.instanceId] = referenceDesignValue;
12623
+ }
12624
+ }
12625
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
12626
+ finally {
12627
+ try {
12628
+ if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
12629
+ }
12630
+ finally { if (e_2) throw e_2.error; }
12631
+ }
12632
+ this.references$.next(references);
12633
+ };
11920
12634
  TemplateDesignFacade.prototype.setDesignDisabled = function (disabled) {
11921
12635
  // check to see if the disabled state has changed before updating the designDisabled$ observable
11922
12636
  if (this.designDisabled$.value !== disabled) {
@@ -11949,6 +12663,18 @@
11949
12663
  } // otherwise maintain the current focus. This means we do not change the focusedDesignId$ value.
11950
12664
  }
11951
12665
  };
12666
+ TemplateDesignFacade.prototype.transitionDesign = function () {
12667
+ var _this = this;
12668
+ if (this.design$.value) {
12669
+ var affectsReferences = this.designUpdates$.value.some(function (designUpdate) { return _this.transitionUpdateSectionNames.includes(designUpdate.section) && _this.transitionUpdatePropNames.includes(designUpdate.property); });
12670
+ if (coreTs.isPresent(this.modifiedModel$.value) && affectsReferences) {
12671
+ this.updateModelReferences(this.modifiedModel$.value);
12672
+ var updatedDesign = this.toDesign(this.modifiedModel$.value);
12673
+ this.design$.next(updatedDesign);
12674
+ }
12675
+ }
12676
+ _super.prototype.transitionDesign.call(this); // This will reset the design updates to an empty array.
12677
+ };
11952
12678
  return TemplateDesignFacade;
11953
12679
  }(i1.DesignFacade));
11954
12680
  TemplateDesignFacade.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateDesignFacade, deps: [{ token: i0.LOCALE_ID }, { token: TemplateFormFacade }, { token: i2__namespace$6.MtnaI18nFacade }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
@@ -11964,17 +12690,33 @@
11964
12690
 
11965
12691
  var MtnaWfTemplateDisplayViewerComponent = /** @class */ (function () {
11966
12692
  function MtnaWfTemplateDisplayViewerComponent(designFacade, templateFormFacade) {
12693
+ var _this = this;
11967
12694
  this.designFacade = designFacade;
11968
12695
  this.templateFormFacade = templateFormFacade;
12696
+ this.formSteps$ = new rxjs.BehaviorSubject(undefined);
12697
+ this.designSteps$ = new rxjs.BehaviorSubject([]);
12698
+ this.singleTemplateDesignSectionStep$ = new rxjs.BehaviorSubject(undefined);
11969
12699
  this.contextSelected$ = this.designFacade.contextSelected$;
11970
12700
  this.focusedDesignId$ = this.designFacade.focusedDesignId$;
11971
- this.modifiedModel$ = this.designFacade.modifiedModel$;
12701
+ this.modifiedModel$ = this.designFacade.modifiedModel$.pipe(operators.tap(function (modifiedModel) {
12702
+ if (coreTs.isPresent(modifiedModel)) {
12703
+ if (webFormTs.instanceOfTemplateImpl(modifiedModel)) {
12704
+ var generatedFormSteps = generateFormSteps(modifiedModel.items, true);
12705
+ var flattenedSteps = flattenSteps(generatedFormSteps);
12706
+ _this.designSteps$.next(flattenedSteps);
12707
+ }
12708
+ else if (isTemplateItem(modifiedModel) && webFormTs.instanceOfTemplateSectionImpl(modifiedModel)) {
12709
+ var generatedFormSteps = generateFormSteps(modifiedModel.items, true);
12710
+ var flattenedSteps = flattenSteps(generatedFormSteps);
12711
+ _this.singleTemplateDesignSectionStep$.next(flattenedSteps[0]);
12712
+ }
12713
+ }
12714
+ }));
11972
12715
  this.previewLanguage$ = this.designFacade.previewLanguage$;
11973
12716
  this.loading$ = this.templateFormFacade.loading$;
11974
12717
  this.templateForm$ = this.templateFormFacade.templateForm$;
11975
12718
  this.templateFormItem$ = this.templateFormFacade.templateFormItem$;
11976
12719
  this.typeLoaded$ = this.templateFormFacade.typeLoaded$;
11977
- this.formSteps$ = new rxjs.BehaviorSubject(undefined);
11978
12720
  this.retryTrigger$ = new rxjs.BehaviorSubject(undefined);
11979
12721
  this.context_template = template;
11980
12722
  this.context_form = form;
@@ -11982,7 +12724,7 @@
11982
12724
  return MtnaWfTemplateDisplayViewerComponent;
11983
12725
  }());
11984
12726
  MtnaWfTemplateDisplayViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfTemplateDisplayViewerComponent, deps: [{ token: i1__namespace$c.DesignFacade }, { token: TemplateFormFacade }], target: i0__namespace.ɵɵFactoryTarget.Component });
11985
- MtnaWfTemplateDisplayViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTemplateDisplayViewerComponent, selector: "mtna-wf-template-display-viewer", ngImport: i0__namespace, template: "<ng-container *ngIf=\"modifiedModel$ | async as templateOrTemplateItem\">\n <section class=\"content-preview\">\n <ng-container *ngIf=\"contextSelected$ | async as context\" [ngSwitch]=\"context.id\">\n <ng-container *ngSwitchCase=\"context_template.id\">\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateImpl as template; else templateItemTemplate\">\n <mtna-wf-template\n [template]=\"template\"\n [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"\n [highlightId]=\"focusedDesignId$ | async\"\n ></mtna-wf-template>\n </ng-container>\n <ng-template #templateItemTemplate>\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateItem as templateItem\">\n <mtna-wf-template-item [template]=\"templateItem\" [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"></mtna-wf-template-item>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!-- Placeholder for form context -->\n <div *ngSwitchCase=\"context_form.id\" class=\"form-preview\">\n <div *ngIf=\"loading$ | async; else formDisplay\">\n <mat-progress-spinner aria-label=\"Loading Form\" i18n-aria-label [mode]=\"'indeterminate'\"></mat-progress-spinner>\n </div>\n <ng-template #formDisplay></ng-template>\n <!-- <div *ngIf=\"formState$ | async as state\">-->\n <!-- &lt;!&ndash; <span>{{ state | json }}</span>&ndash;&gt;-->\n <!-- <mat-progress-spinner-->\n <!-- *ngIf=\"state.loading\"-->\n <!-- aria-label=\"Loading Form\"-->\n <!-- i18n-aria-label-->\n <!-- [mode]=\"'indeterminate'\"-->\n <!-- ></mat-progress-spinner>-->\n <!-- <div *ngIf=\"!state.loading && state.error\" class=\"form-preview-error mat-elevation-z4\" fxLayout=\"column\">-->\n <!-- <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"error-message\">-->\n <!-- <mat-icon color=\"warn\">error</mat-icon><span>{{ state.error.message }}</span>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"state.error.retry\" fxLayout=\"row\" fxLayoutAlign=\"end center\" class=\"retry-container\">-->\n <!-- <button mat-flat-button color=\"accent\" (click)=\"retryFormLoad()\">RETRY</button>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"!state.loading && state.form\">-->\n <!-- <mtna-form [mtnaForm]=\"state.form\" [readonly]=\"false\" [steps]=\"formSteps$ | async\"></mtna-form>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- When the context switches this can make the call to the form service and show a loader. Once it is returned you will pass it into the MtnaForm -->\n </div>\n\n <div *ngSwitchDefault></div>\n </ng-container>\n </section>\n</ng-container>\n", styles: ["mtna-wf-template-display-viewer{display:block;height:100%;overflow:auto}mtna-wf-template-display-viewer .content-preview{margin:80px}mtna-wf-template-display-viewer .form-preview{display:flex;justify-content:center}mtna-wf-template-display-viewer .form-preview .form-preview-error{border-style:solid;border-width:1px;border-radius:4px;padding:16px}mtna-wf-template-display-viewer .form-preview .form-preview-error .error-message{margin-bottom:8px}mtna-wf-template-display-viewer .form-preview .form-preview-error .error-message .mat-icon{margin-right:4px;margin-bottom:auto}\n"], components: [{ type: MtnaWfTemplateComponent, selector: "mtna-wf-template", inputs: ["displayLocale", "isCompact", "highlightId", "steps", "template"] }, { type: MtnaWfTemplateItemComponent, selector: "mtna-wf-template-item", inputs: ["displayLocale", "inList", "isCompact", "step", "template", "color"] }, { type: i5__namespace$1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i3__namespace.AsyncPipe, "instanceOfTemplateImpl": MtnaWfInstanceOfTemplateImplPipe, "instanceOfTemplateItem": MtnaWfInstanceOfTemplateItemPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
12727
+ MtnaWfTemplateDisplayViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTemplateDisplayViewerComponent, selector: "mtna-wf-template-display-viewer", ngImport: i0__namespace, template: "<ng-container *ngIf=\"modifiedModel$ | async as templateOrTemplateItem\">\n <section class=\"content-preview\">\n <ng-container *ngIf=\"contextSelected$ | async as context\" [ngSwitch]=\"context.id\">\n <ng-container *ngSwitchCase=\"context_template.id\">\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateImpl as template; else templateItemTemplate\">\n <mtna-wf-template\n [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"\n [highlightId]=\"focusedDesignId$ | async\"\n [steps]=\"designSteps$ | async\"\n [template]=\"template\"\n ></mtna-wf-template>\n </ng-container>\n <ng-template #templateItemTemplate>\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateItem as templateItem\">\n <mtna-wf-template-item\n [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"\n [step]=\"singleTemplateDesignSectionStep$ | async\"\n [template]=\"templateItem\"\n ></mtna-wf-template-item>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!-- Placeholder for form context -->\n <div *ngSwitchCase=\"context_form.id\" class=\"form-preview\">\n <div *ngIf=\"loading$ | async; else formDisplay\">\n <mat-progress-spinner aria-label=\"Loading Form\" i18n-aria-label [mode]=\"'indeterminate'\"></mat-progress-spinner>\n </div>\n <ng-template #formDisplay></ng-template>\n <!-- <div *ngIf=\"formState$ | async as state\">-->\n <!-- &lt;!&ndash; <span>{{ state | json }}</span>&ndash;&gt;-->\n <!-- <mat-progress-spinner-->\n <!-- *ngIf=\"state.loading\"-->\n <!-- aria-label=\"Loading Form\"-->\n <!-- i18n-aria-label-->\n <!-- [mode]=\"'indeterminate'\"-->\n <!-- ></mat-progress-spinner>-->\n <!-- <div *ngIf=\"!state.loading && state.error\" class=\"form-preview-error mat-elevation-z4\" fxLayout=\"column\">-->\n <!-- <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"error-message\">-->\n <!-- <mat-icon color=\"warn\">error</mat-icon><span>{{ state.error.message }}</span>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"state.error.retry\" fxLayout=\"row\" fxLayoutAlign=\"end center\" class=\"retry-container\">-->\n <!-- <button mat-flat-button color=\"accent\" (click)=\"retryFormLoad()\">RETRY</button>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"!state.loading && state.form\">-->\n <!-- <mtna-form [mtnaForm]=\"state.form\" [readonly]=\"false\" [steps]=\"formSteps$ | async\"></mtna-form>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- When the context switches this can make the call to the form service and show a loader. Once it is returned you will pass it into the MtnaForm -->\n </div>\n\n <div *ngSwitchDefault></div>\n </ng-container>\n </section>\n</ng-container>\n", styles: ["mtna-wf-template-display-viewer{display:block;height:100%;overflow:auto}mtna-wf-template-display-viewer .content-preview{margin:80px}mtna-wf-template-display-viewer .form-preview{display:flex;justify-content:center}mtna-wf-template-display-viewer .form-preview .form-preview-error{border-style:solid;border-width:1px;border-radius:4px;padding:16px}mtna-wf-template-display-viewer .form-preview .form-preview-error .error-message{margin-bottom:8px}mtna-wf-template-display-viewer .form-preview .form-preview-error .error-message .mat-icon{margin-right:4px;margin-bottom:auto}\n"], components: [{ type: MtnaWfTemplateComponent, selector: "mtna-wf-template", inputs: ["displayLocale", "isCompact", "highlightId", "steps", "template"] }, { type: MtnaWfTemplateItemComponent, selector: "mtna-wf-template-item", inputs: ["displayLocale", "inList", "isCompact", "step", "template", "color"] }, { type: i5__namespace$1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i3__namespace.AsyncPipe, "instanceOfTemplateImpl": MtnaWfInstanceOfTemplateImplPipe, "instanceOfTemplateItem": MtnaWfInstanceOfTemplateItemPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
11986
12728
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MtnaWfTemplateDisplayViewerComponent, decorators: [{
11987
12729
  type: i0.Component,
11988
12730
  args: [{
@@ -12470,7 +13212,7 @@
12470
13212
  exports.CoerceFormStepPipe = CoerceFormStepPipe;
12471
13213
  exports.CoerceFormStepPipeModule = CoerceFormStepPipeModule;
12472
13214
  exports.DASHED_DATE_DISPLAY_VALUE = DASHED_DATE_DISPLAY_VALUE;
12473
- exports.DATE_ENUM_VALUES = DATE_ENUM_VALUES;
13215
+ exports.DATE_DISPLAY_ENUM_VALUES = DATE_DISPLAY_ENUM_VALUES;
12474
13216
  exports.DATE_POTENTIAL_DESIGN = DATE_POTENTIAL_DESIGN;
12475
13217
  exports.DECIMAL_ANSWER_POTENTIAL_DESIGN = DECIMAL_ANSWER_POTENTIAL_DESIGN;
12476
13218
  exports.DEFAULT_ERROR_MESSAGES = DEFAULT_ERROR_MESSAGES;
@@ -12500,7 +13242,11 @@
12500
13242
  exports.I18N_SHORT_ANSWER_POTENTIAL_DESIGN = I18N_SHORT_ANSWER_POTENTIAL_DESIGN;
12501
13243
  exports.I18nTextResponseItemTemplateMapper = I18nTextResponseItemTemplateMapper;
12502
13244
  exports.ISO_8601_DATE_DISPLAY_VALUE = ISO_8601_DATE_DISPLAY_VALUE;
13245
+ exports.LAYOUT_COLUMN_DISPLAY_VALUE = LAYOUT_COLUMN_DISPLAY_VALUE;
13246
+ exports.LAYOUT_ENUM_VALUES = LAYOUT_ENUM_VALUES;
13247
+ exports.LAYOUT_ROW_DISPLAY_VALUE = LAYOUT_ROW_DISPLAY_VALUE;
12503
13248
  exports.LONG_DATE_DISPLAY_VALUE = LONG_DATE_DISPLAY_VALUE;
13249
+ exports.MTNA_DEFAULT_USE_DISPLAY_VALUE = MTNA_DEFAULT_USE_DISPLAY_VALUE;
12504
13250
  exports.MTNA_WF_DEFAULT_YEAR_RANGE = MTNA_WF_DEFAULT_YEAR_RANGE;
12505
13251
  exports.MTNA_WF_EXPAND_COLLAPSE = MTNA_WF_EXPAND_COLLAPSE;
12506
13252
  exports.MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME = MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME;
@@ -12696,6 +13442,11 @@
12696
13442
  exports.OptionItemMapper = OptionItemMapper;
12697
13443
  exports.OptionSelectorMapper = OptionSelectorMapper;
12698
13444
  exports.PARAGRAPH_ANSWER_POTENTIAL_DESIGN = PARAGRAPH_ANSWER_POTENTIAL_DESIGN;
13445
+ exports.QUARTER_FOUR_DISPLAY_VALUE = QUARTER_FOUR_DISPLAY_VALUE;
13446
+ exports.QUARTER_ONE_DISPLAY_VALUE = QUARTER_ONE_DISPLAY_VALUE;
13447
+ exports.QUARTER_RANGE_ENUM_VALUES = QUARTER_RANGE_ENUM_VALUES;
13448
+ exports.QUARTER_THREE_DISPLAY_VALUE = QUARTER_THREE_DISPLAY_VALUE;
13449
+ exports.QUARTER_TWO_DISPLAY_VALUE = QUARTER_TWO_DISPLAY_VALUE;
12699
13450
  exports.REPEATABLE_POTENTIAL_DESIGN = REPEATABLE_POTENTIAL_DESIGN;
12700
13451
  exports.RepeatableItemTemplateMapper = RepeatableItemTemplateMapper;
12701
13452
  exports.SECTION_POTENTIAL_DESIGN = SECTION_POTENTIAL_DESIGN;
@@ -12720,6 +13471,7 @@
12720
13471
  exports.TextResponseItemTemplateMapper = TextResponseItemTemplateMapper;
12721
13472
  exports.TimeItemTemplateMapper = TimeItemTemplateMapper;
12722
13473
  exports.TitleItemTemplateMapper = TitleItemTemplateMapper;
13474
+ exports.UnavailableTemplateItemNameMap = UnavailableTemplateItemNameMap;
12723
13475
  exports.WEB_FORM_CUSTOM_ERRORS = WEB_FORM_CUSTOM_ERRORS;
12724
13476
  exports.WHOLE_NUMBER_ANSWER_POTENTIAL_DESIGN = WHOLE_NUMBER_ANSWER_POTENTIAL_DESIGN;
12725
13477
  exports.YEAR_QUARTER_RANGE_POTENTIAL_DESIGN = YEAR_QUARTER_RANGE_POTENTIAL_DESIGN;
@@ -12734,8 +13486,13 @@
12734
13486
  exports.generateFormSteps = generateFormSteps;
12735
13487
  exports.generateFormStepsFromOutline = generateFormStepsFromOutline;
12736
13488
  exports.getConditionalProcessingResources = getConditionalProcessingResources;
13489
+ exports.getEnumDesignProperty = getEnumDesignProperty;
12737
13490
  exports.getItemClassSuffix = getItemClassSuffix;
12738
13491
  exports.getItemMapperFromDesign = getItemMapperFromDesign;
13492
+ exports.getModelMap = getModelMap;
13493
+ exports.getModelToDesign = getModelToDesign;
13494
+ exports.getTemplateMapperFromDesign = getTemplateMapperFromDesign$1;
13495
+ exports.getTypeDisplay = getTypeDisplay;
12739
13496
  exports.hasCondition = hasCondition;
12740
13497
  exports.i18n_acknowledgement = i18n_acknowledgement;
12741
13498
  exports.i18n_acknowledgementDialogTitle = i18n_acknowledgementDialogTitle;
@@ -12747,21 +13504,34 @@
12747
13504
  exports.i18n_boolean = i18n_boolean;
12748
13505
  exports.i18n_booleanConfiguration = i18n_booleanConfiguration;
12749
13506
  exports.i18n_booleanItem = i18n_booleanItem;
13507
+ exports.i18n_booleanItemDescription = i18n_booleanItemDescription;
12750
13508
  exports.i18n_bulletedListConfiguration = i18n_bulletedListConfiguration;
12751
13509
  exports.i18n_bulletedListItem = i18n_bulletedListItem;
13510
+ exports.i18n_bulletedListItemDescription = i18n_bulletedListItemDescription;
12752
13511
  exports.i18n_bulletedListItemInstructions = i18n_bulletedListItemInstructions;
12753
13512
  exports.i18n_checkbox = i18n_checkbox;
12754
13513
  exports.i18n_checkboxConfiguration = i18n_checkboxConfiguration;
12755
13514
  exports.i18n_checkboxItem = i18n_checkboxItem;
13515
+ exports.i18n_checkboxItemDescription = i18n_checkboxItemDescription;
12756
13516
  exports.i18n_childItems = i18n_childItems;
12757
13517
  exports.i18n_codeOption = i18n_codeOption;
12758
13518
  exports.i18n_codeOptionInstructions = i18n_codeOptionInstructions;
13519
+ exports.i18n_column = i18n_column;
13520
+ exports.i18n_conditionAllRequired = i18n_conditionAllRequired;
13521
+ exports.i18n_conditionAllRequiredInstructions = i18n_conditionAllRequiredInstructions;
13522
+ exports.i18n_conditionItemIds = i18n_conditionItemIds;
13523
+ exports.i18n_conditionItemIdsInstructions = i18n_conditionItemIdsInstructions;
13524
+ exports.i18n_conditions = i18n_conditions;
12759
13525
  exports.i18n_core = i18n_core;
12760
13526
  exports.i18n_date = i18n_date;
12761
13527
  exports.i18n_dateConfiguration = i18n_dateConfiguration;
13528
+ exports.i18n_dateFormat = i18n_dateFormat;
13529
+ exports.i18n_dateFormatInstructions = i18n_dateFormatInstructions;
12762
13530
  exports.i18n_dateItem = i18n_dateItem;
13531
+ exports.i18n_dateItemDescription = i18n_dateItemDescription;
12763
13532
  exports.i18n_decimalAnswer = i18n_decimalAnswer;
12764
13533
  exports.i18n_decimalAnswerItem = i18n_decimalAnswerItem;
13534
+ exports.i18n_decimalAnswerItemDescription = i18n_decimalAnswerItemDescription;
12765
13535
  exports.i18n_decimalValue = i18n_decimalValue;
12766
13536
  exports.i18n_description = i18n_description;
12767
13537
  exports.i18n_descriptionInstructions = i18n_descriptionInstructions;
@@ -12776,16 +13546,22 @@
12776
13546
  exports.i18n_dropdown = i18n_dropdown;
12777
13547
  exports.i18n_dropdownConfiguration = i18n_dropdownConfiguration;
12778
13548
  exports.i18n_dropdownItem = i18n_dropdownItem;
13549
+ exports.i18n_dropdownItemDescription = i18n_dropdownItemDescription;
12779
13550
  exports.i18n_dropdownProperties = i18n_dropdownProperties;
12780
13551
  exports.i18n_enabledAndDisabledItems = i18n_enabledAndDisabledItems;
12781
13552
  exports.i18n_enabledItems = i18n_enabledItems;
12782
13553
  exports.i18n_enabledItemsInstructions = i18n_enabledItemsInstructions;
13554
+ exports.i18n_endQuarter = i18n_endQuarter;
13555
+ exports.i18n_endQuarterInstructions = i18n_endQuarterInstructions;
13556
+ exports.i18n_endYear = i18n_endYear;
13557
+ exports.i18n_endYearInstructions = i18n_endYearInstructions;
12783
13558
  exports.i18n_exampleText = i18n_exampleText;
12784
13559
  exports.i18n_fileTypeId = i18n_fileTypeId;
12785
13560
  exports.i18n_fileTypeIdInstructions = i18n_fileTypeIdInstructions;
12786
13561
  exports.i18n_fileUpload = i18n_fileUpload;
12787
13562
  exports.i18n_fileUploadConfiguration = i18n_fileUploadConfiguration;
12788
13563
  exports.i18n_fileUploadItem = i18n_fileUploadItem;
13564
+ exports.i18n_fileUploadItemDescription = i18n_fileUploadItemDescription;
12789
13565
  exports.i18n_form = i18n_form;
12790
13566
  exports.i18n_format = i18n_format;
12791
13567
  exports.i18n_formatInstructions = i18n_formatInstructions;
@@ -12794,12 +13570,15 @@
12794
13570
  exports.i18n_fullWidthInstructions = i18n_fullWidthInstructions;
12795
13571
  exports.i18n_group = i18n_group;
12796
13572
  exports.i18n_groupItem = i18n_groupItem;
13573
+ exports.i18n_groupItemDescription = i18n_groupItemDescription;
12797
13574
  exports.i18n_help = i18n_help;
12798
13575
  exports.i18n_helpInstructions = i18n_helpInstructions;
12799
13576
  exports.i18n_internationalizedParagraphAnswer = i18n_internationalizedParagraphAnswer;
12800
13577
  exports.i18n_internationalizedParagraphAnswerItem = i18n_internationalizedParagraphAnswerItem;
13578
+ exports.i18n_internationalizedParagraphAnswerItemDescription = i18n_internationalizedParagraphAnswerItemDescription;
12801
13579
  exports.i18n_internationalizedShortAnswer = i18n_internationalizedShortAnswer;
12802
13580
  exports.i18n_internationalizedShortAnswerItem = i18n_internationalizedShortAnswerItem;
13581
+ exports.i18n_internationalizedShortAnswerItemDescription = i18n_internationalizedShortAnswerItemDescription;
12803
13582
  exports.i18n_item = i18n_item;
12804
13583
  exports.i18n_items = i18n_items;
12805
13584
  exports.i18n_itemsInstructions = i18n_itemsInstructions;
@@ -12827,22 +13606,26 @@
12827
13606
  exports.i18n_multipleChoice = i18n_multipleChoice;
12828
13607
  exports.i18n_multipleChoiceConfiguration = i18n_multipleChoiceConfiguration;
12829
13608
  exports.i18n_multipleChoiceItem = i18n_multipleChoiceItem;
13609
+ exports.i18n_multipleChoiceItemDescription = i18n_multipleChoiceItemDescription;
12830
13610
  exports.i18n_name = i18n_name;
12831
13611
  exports.i18n_nameInstructions = i18n_nameInstructions;
12832
13612
  exports.i18n_new = i18n_new;
12833
13613
  exports.i18n_newItem = i18n_newItem;
12834
13614
  exports.i18n_newListValue = i18n_newListValue;
12835
13615
  exports.i18n_newOption = i18n_newOption;
13616
+ exports.i18n_newOptionDescription = i18n_newOptionDescription;
12836
13617
  exports.i18n_newOptionTemplate = i18n_newOptionTemplate;
12837
13618
  exports.i18n_newTemplate = i18n_newTemplate;
12838
13619
  exports.i18n_newTemplateItem = i18n_newTemplateItem;
12839
13620
  exports.i18n_numberedListConfiguration = i18n_numberedListConfiguration;
12840
13621
  exports.i18n_numberedListItem = i18n_numberedListItem;
13622
+ exports.i18n_numberedListItemDescription = i18n_numberedListItemDescription;
12841
13623
  exports.i18n_numberedListItemInstructions = i18n_numberedListItemInstructions;
12842
13624
  exports.i18n_numericConfiguration = i18n_numericConfiguration;
12843
13625
  exports.i18n_offsetDateRange = i18n_offsetDateRange;
12844
13626
  exports.i18n_offsetDateRangeConfiguration = i18n_offsetDateRangeConfiguration;
12845
13627
  exports.i18n_offsetDateRangeItem = i18n_offsetDateRangeItem;
13628
+ exports.i18n_offsetDateRangeItemDescription = i18n_offsetDateRangeItemDescription;
12846
13629
  exports.i18n_option = i18n_option;
12847
13630
  exports.i18n_optionInstructions = i18n_optionInstructions;
12848
13631
  exports.i18n_optionProperties = i18n_optionProperties;
@@ -12859,10 +13642,15 @@
12859
13642
  exports.i18n_orderedListItem = i18n_orderedListItem;
12860
13643
  exports.i18n_paragraphAnswer = i18n_paragraphAnswer;
12861
13644
  exports.i18n_paragraphAnswerItem = i18n_paragraphAnswerItem;
13645
+ exports.i18n_paragraphAnswerItemDescription = i18n_paragraphAnswerItemDescription;
12862
13646
  exports.i18n_positiveOnly = i18n_positiveOnly;
12863
13647
  exports.i18n_positiveOnlyInstructions = i18n_positiveOnlyInstructions;
12864
13648
  exports.i18n_presetValue = i18n_presetValue;
12865
13649
  exports.i18n_presetValueInstructions = i18n_presetValueInstructions;
13650
+ exports.i18n_quarterFour = i18n_quarterFour;
13651
+ exports.i18n_quarterOne = i18n_quarterOne;
13652
+ exports.i18n_quarterThree = i18n_quarterThree;
13653
+ exports.i18n_quarterTwo = i18n_quarterTwo;
12866
13654
  exports.i18n_questionText = i18n_questionText;
12867
13655
  exports.i18n_questionTextInstructions = i18n_questionTextInstructions;
12868
13656
  exports.i18n_rangeLimits = i18n_rangeLimits;
@@ -12870,17 +13658,28 @@
12870
13658
  exports.i18n_repeatable = i18n_repeatable;
12871
13659
  exports.i18n_repeatableItem = i18n_repeatableItem;
12872
13660
  exports.i18n_repeatableItemConfiguration = i18n_repeatableItemConfiguration;
13661
+ exports.i18n_repeatableItemDescription = i18n_repeatableItemDescription;
12873
13662
  exports.i18n_repeatableItemTemplateId = i18n_repeatableItemTemplateId;
12874
13663
  exports.i18n_repeatableItemTemplateIdInstructions = i18n_repeatableItemTemplateIdInstructions;
12875
13664
  exports.i18n_required = i18n_required;
12876
13665
  exports.i18n_requiredInstructions = i18n_requiredInstructions;
13666
+ exports.i18n_row = i18n_row;
12877
13667
  exports.i18n_section = i18n_section;
13668
+ exports.i18n_sectionDescription = i18n_sectionDescription;
12878
13669
  exports.i18n_sectionItem = i18n_sectionItem;
13670
+ exports.i18n_sectionStepName = i18n_sectionStepName;
13671
+ exports.i18n_sectionStepNameInstructions = i18n_sectionStepNameInstructions;
13672
+ exports.i18n_sectionTitleItem = i18n_sectionTitleItem;
12879
13673
  exports.i18n_selectAReference = i18n_selectAReference;
12880
13674
  exports.i18n_selectAReferenceDialogTitle = i18n_selectAReferenceDialogTitle;
12881
13675
  exports.i18n_settings = i18n_settings;
12882
13676
  exports.i18n_shortAnswer = i18n_shortAnswer;
12883
13677
  exports.i18n_shortAnswerItem = i18n_shortAnswerItem;
13678
+ exports.i18n_shortAnswerItemDescription = i18n_shortAnswerItemDescription;
13679
+ exports.i18n_startQuarter = i18n_startQuarter;
13680
+ exports.i18n_startQuarterInstructions = i18n_startQuarterInstructions;
13681
+ exports.i18n_startYear = i18n_startYear;
13682
+ exports.i18n_startYearInstructions = i18n_startYearInstructions;
12884
13683
  exports.i18n_startingInstances = i18n_startingInstances;
12885
13684
  exports.i18n_startingInstancesInstructions = i18n_startingInstancesInstructions;
12886
13685
  exports.i18n_template = i18n_template;
@@ -12904,6 +13703,7 @@
12904
13703
  exports.i18n_textConfiguration = i18n_textConfiguration;
12905
13704
  exports.i18n_textInputConfiguration = i18n_textInputConfiguration;
12906
13705
  exports.i18n_textItem = i18n_textItem;
13706
+ exports.i18n_textItemDescription = i18n_textItemDescription;
12907
13707
  exports.i18n_textValue = i18n_textValue;
12908
13708
  exports.i18n_textValueInstructions = i18n_textValueInstructions;
12909
13709
  exports.i18n_time = i18n_time;
@@ -12913,6 +13713,7 @@
12913
13713
  exports.i18n_titleInstructions = i18n_titleInstructions;
12914
13714
  exports.i18n_titleInstructionsSection = i18n_titleInstructionsSection;
12915
13715
  exports.i18n_titleItem = i18n_titleItem;
13716
+ exports.i18n_titleItemDescription = i18n_titleItemDescription;
12916
13717
  exports.i18n_unorderedList = i18n_unorderedList;
12917
13718
  exports.i18n_unorderedListItem = i18n_unorderedListItem;
12918
13719
  exports.i18n_value = i18n_value;
@@ -12922,18 +13723,26 @@
12922
13723
  exports.i18n_verifyAcknowledgementDialogTitle = i18n_verifyAcknowledgementDialogTitle;
12923
13724
  exports.i18n_wholeNumberAnswer = i18n_wholeNumberAnswer;
12924
13725
  exports.i18n_wholeNumberAnswerItem = i18n_wholeNumberAnswerItem;
13726
+ exports.i18n_wholeNumberAnswerItemDescription = i18n_wholeNumberAnswerItemDescription;
12925
13727
  exports.i18n_wholeNumberValue = i18n_wholeNumberValue;
12926
13728
  exports.i18n_yearQuarterRange = i18n_yearQuarterRange;
12927
13729
  exports.i18n_yearQuarterRangeConfiguration = i18n_yearQuarterRangeConfiguration;
12928
13730
  exports.i18n_yearQuarterRangeItem = i18n_yearQuarterRangeItem;
13731
+ exports.i18n_yearQuarterRangeItemDescription = i18n_yearQuarterRangeItemDescription;
12929
13732
  exports.initialTemplateFormState = initialTemplateFormState;
12930
13733
  exports.instanceOfFormStep = instanceOfFormStep;
12931
13734
  exports.instanceOfFormStepGroup = instanceOfFormStepGroup;
13735
+ exports.isEmptyString = isEmptyString;
12932
13736
  exports.isFormControl = isFormControl;
12933
13737
  exports.isFormGroup = isFormGroup;
12934
13738
  exports.isFormStepGroup = isFormStepGroup;
13739
+ exports.isTemplateDesign = isTemplateDesign;
13740
+ exports.isTemplateItem = isTemplateItem;
13741
+ exports.isTemplateItemDesign = isTemplateItemDesign;
13742
+ exports.itemToDesignBase = itemToDesignBase;
12935
13743
  exports.mapperItemToDesign = mapperItemToDesign;
12936
13744
  exports.mapperRegistry = mapperRegistry;
13745
+ exports.mapperTemplateToDesign = mapperTemplateToDesign;
12937
13746
  exports.mapperToDesignRegistry = mapperToDesignRegistry;
12938
13747
  exports.mergeBooleanItemTemplate = mergeBooleanItemTemplate;
12939
13748
  exports.mergeExtendedTemplateOptionGroupItem = mergeExtendedTemplateOptionGroupItem;
@@ -12945,16 +13754,23 @@
12945
13754
  exports.mergeTemplateItemBase = mergeTemplateItemBase;
12946
13755
  exports.mergeTemplateItemGroup = mergeTemplateItemGroup;
12947
13756
  exports.mergeTemplateSection = mergeTemplateSection;
13757
+ exports.numValueLimit = numValueLimit;
13758
+ exports.numericalValueCheck = numericalValueCheck;
12948
13759
  exports.optionGroupItemSectionDisplayNameMap = optionGroupItemSectionDisplayNameMap;
12949
13760
  exports.optionItemSectionDisplayNameMap = optionItemSectionDisplayNameMap;
13761
+ exports.positiveNumberPattern = positiveNumberPattern;
12950
13762
  exports.processConditionals = processConditionals;
12951
- exports.prop_item_acknowledgement = prop_item_acknowledgement;
13763
+ exports.prop_item_acknowledgementTemplate = prop_item_acknowledgementTemplate;
12952
13764
  exports.prop_item_additional_text = prop_item_additional_text;
12953
13765
  exports.prop_item_annotation_enabled = prop_item_annotation_enabled;
12954
13766
  exports.prop_item_code_option = prop_item_code_option;
13767
+ exports.prop_item_condition_allRequired = prop_item_condition_allRequired;
13768
+ exports.prop_item_condition_itemIds = prop_item_condition_itemIds;
12955
13769
  exports.prop_item_description = prop_item_description;
12956
13770
  exports.prop_item_descriptive_text = prop_item_descriptive_text;
12957
13771
  exports.prop_item_download_allowed = prop_item_download_allowed;
13772
+ exports.prop_item_endQuarter = prop_item_endQuarter;
13773
+ exports.prop_item_endYear = prop_item_endYear;
12958
13774
  exports.prop_item_exclude_print = prop_item_exclude_print;
12959
13775
  exports.prop_item_file_type_id = prop_item_file_type_id;
12960
13776
  exports.prop_item_format = prop_item_format;
@@ -12984,6 +13800,8 @@
12984
13800
  exports.prop_item_range_limits = prop_item_range_limits;
12985
13801
  exports.prop_item_repeatable_item_template_id = prop_item_repeatable_item_template_id;
12986
13802
  exports.prop_item_required = prop_item_required;
13803
+ exports.prop_item_startQuarter = prop_item_startQuarter;
13804
+ exports.prop_item_startYear = prop_item_startYear;
12987
13805
  exports.prop_item_starting_instances = prop_item_starting_instances;
12988
13806
  exports.prop_item_text = prop_item_text;
12989
13807
  exports.prop_item_title = prop_item_title;
@@ -12996,12 +13814,16 @@
12996
13814
  exports.prop_template_items = prop_template_items;
12997
13815
  exports.prop_template_title = prop_template_title;
12998
13816
  exports.registerMapper = registerMapper;
13817
+ exports.registerTemplateMapper = registerTemplateMapper;
12999
13818
  exports.removeFromCondition = removeFromCondition;
13000
13819
  exports.template = template;
13820
+ exports.templateMapperRegistry = templateMapperRegistry;
13821
+ exports.templateMapperToDesignRegistry = templateMapperToDesignRegistry;
13001
13822
  exports.updateConditional = updateConditional;
13002
13823
  exports.updateStepStatus = updateStepStatus;
13003
13824
  exports.validationResultValidator = validationResultValidator;
13004
13825
  exports.wfTemplateFormReducer = wfTemplateFormReducer;
13826
+ exports.wholeNumberPattern = wholeNumberPattern;
13005
13827
 
13006
13828
  Object.defineProperty(exports, '__esModule', { value: true });
13007
13829