udp-stencil-component-library 25.18.2-beta.4 → 25.18.2-beta.6

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 (536) hide show
  1. package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +12 -12
  2. package/dist/cjs/advanced-search_12.cjs.entry.js +1 -1
  3. package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
  4. package/dist/cjs/ag-grid-base_6.cjs.entry.js +27 -11
  5. package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
  6. package/dist/cjs/app-bar.cjs.entry.js +1 -1
  7. package/dist/cjs/check-box.cjs.entry.js +2 -2
  8. package/dist/cjs/chip-section.cjs.entry.js +2 -2
  9. package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
  10. package/dist/cjs/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.cjs.js.map +1 -1
  11. package/dist/cjs/date-time-renderer_7.cjs.entry.js +13 -13
  12. package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
  13. package/dist/cjs/{enums-DVbZnzL8.js → enums-CgcTuQjC.js} +8 -2
  14. package/dist/cjs/enums-CgcTuQjC.js.map +1 -0
  15. package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
  16. package/dist/cjs/filter-conditions_7.cjs.entry.js +2 -2
  17. package/dist/cjs/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.cjs.js.map +1 -1
  18. package/dist/cjs/form-metadata-display_8.cjs.entry.js +15 -15
  19. package/dist/cjs/index-CGCOXUJE.js +10 -10
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/map-component_2.cjs.entry.js +2 -2
  22. package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
  23. package/dist/cjs/primary-action-header.udp-tabs.entry.cjs.js.map +1 -0
  24. package/dist/cjs/{primary-action-header_3.cjs.entry.js → primary-action-header_2.cjs.entry.js} +4 -266
  25. package/dist/cjs/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.cjs.js.map +1 -1
  26. package/dist/cjs/question-configs-renderer_4.cjs.entry.js +7 -7
  27. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  28. package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
  29. package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
  30. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  31. package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
  32. package/dist/cjs/stencil-library.cjs.js +1 -1
  33. package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
  34. package/dist/cjs/text-field_2.cjs.entry.js +7 -7
  35. package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
  36. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  37. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  38. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  39. package/dist/cjs/udp-container.cjs.entry.js +35 -0
  40. package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
  41. package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
  42. package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
  43. package/dist/cjs/{udp-forms-builder-question-template-CNONS2l5.js → udp-forms-builder-question-template-BMMpObLX.js} +3 -3
  44. package/dist/cjs/udp-forms-builder-question-template-BMMpObLX.js.map +1 -0
  45. package/dist/cjs/udp-forms-builder.cjs.entry.js +2 -2
  46. package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -1
  47. package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +3 -3
  48. package/dist/cjs/udp-forms-follow-up-list-card.entry.cjs.js.map +1 -1
  49. package/dist/cjs/udp-forms-list-card.cjs.entry.js +6 -6
  50. package/dist/cjs/udp-forms-list-card.entry.cjs.js.map +1 -1
  51. package/dist/cjs/udp-forms-list.cjs.entry.js +2 -2
  52. package/dist/cjs/udp-forms-list.entry.cjs.js.map +1 -1
  53. package/dist/cjs/udp-forms-renderer.cjs.entry.js +270 -202
  54. package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
  55. package/dist/cjs/udp-forms-ui.cjs.entry.js +6 -6
  56. package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
  57. package/dist/cjs/udp-linear-loader.udp-side-sheet.entry.cjs.js.map +1 -0
  58. package/dist/cjs/udp-linear-loader_2.cjs.entry.js +289 -0
  59. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  60. package/dist/cjs/udp-menu-item.udp-pop-over.entry.cjs.js.map +1 -0
  61. package/dist/cjs/{udp-pop-over.cjs.entry.js → udp-menu-item_2.cjs.entry.js} +23 -1
  62. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  63. package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
  64. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  65. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  66. package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
  67. package/dist/cjs/udp-tab.cjs.entry.js +1 -1
  68. package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
  69. package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
  70. package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
  71. package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
  72. package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
  73. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  74. package/dist/cjs/{utils-DZ_OMtAy.js → utils-Bp02BX38.js} +8 -8
  75. package/dist/cjs/utils-Bp02BX38.js.map +1 -0
  76. package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js +1 -1
  77. package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js.map +1 -1
  78. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js +3 -3
  79. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js.map +1 -1
  80. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js +4 -4
  81. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js.map +1 -1
  82. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js +5 -5
  83. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js.map +1 -1
  84. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +5 -5
  85. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js.map +1 -1
  86. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +6 -6
  87. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js.map +1 -1
  88. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js +1 -1
  89. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js.map +1 -1
  90. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +3 -3
  91. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js.map +1 -1
  92. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +4 -4
  93. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js.map +1 -1
  94. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js +1 -1
  95. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js.map +1 -1
  96. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +3 -3
  97. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -1
  98. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +7 -7
  99. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js.map +1 -1
  100. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js +2 -2
  101. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js.map +1 -1
  102. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +3 -3
  103. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js.map +1 -1
  104. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js +13 -13
  105. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js.map +1 -1
  106. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js +195 -0
  107. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js.map +1 -0
  108. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +86 -238
  109. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -1
  110. package/dist/collection/components/forms/udp-forms/udp-forms-utils/classes/UdpForm.js.map +1 -0
  111. package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.js +4 -12
  112. package/dist/collection/components/forms/udp-forms/udp-forms-utils/classes/UdpFormSubmission.js.map +1 -0
  113. package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/enums.js +6 -0
  114. package/dist/collection/components/forms/udp-forms/udp-forms-utils/enums.js.map +1 -0
  115. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/IFormHandler.js.map +1 -0
  116. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.js.map +1 -0
  117. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +1 -0
  118. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/IFormSubmissionHandler.js.map +1 -0
  119. package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.js +6 -4
  120. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +1 -0
  121. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.js.map +1 -0
  122. package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/formUtils.js.map +1 -0
  123. package/dist/collection/components/forms/udp-forms/udp-forms-utils/types.js.map +1 -0
  124. package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/utils.js +5 -5
  125. package/dist/collection/components/forms/udp-forms/udp-forms-utils/utils.js.map +1 -0
  126. package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js +10 -10
  127. package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js.map +1 -1
  128. package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js +13 -13
  129. package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js.map +1 -1
  130. package/dist/collection/components/grid/new-grid/ag-grid-base.js +2 -1
  131. package/dist/collection/components/grid/new-grid/ag-grid-base.js.map +1 -1
  132. package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
  133. package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
  134. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js +1 -0
  135. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js.map +1 -1
  136. package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
  137. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js +24 -9
  138. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js.map +1 -1
  139. package/dist/collection/components/grid/new-grid/interfaces/grid.js.map +1 -1
  140. package/dist/collection/components/grid/new-grid/search-method-grid.js +1 -1
  141. package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
  142. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  143. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
  144. package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
  145. package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
  146. package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
  147. package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  148. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +2 -2
  149. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js.map +1 -1
  150. package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
  151. package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
  152. package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
  153. package/dist/collection/components/inputs/tally/tally.js +2 -2
  154. package/dist/collection/components/inputs/text-area/text-area.js +3 -3
  155. package/dist/collection/components/inputs/text-field/text-field.js +3 -3
  156. package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
  157. package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
  158. package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
  159. package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
  160. package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
  161. package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  162. package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  163. package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
  164. package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
  165. package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
  166. package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  167. package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  168. package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
  169. package/dist/collection/components/map/udp-map/map-component.js +1 -1
  170. package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
  171. package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  172. package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
  173. package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
  174. package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
  175. package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
  176. package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
  177. package/dist/collection/components/map/udp-map/udp-map.js +3 -3
  178. package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
  179. package/dist/collection/components/menu/udp-menu.js +1 -1
  180. package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
  181. package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
  182. package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
  183. package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
  184. package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
  185. package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
  186. package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
  187. package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
  188. package/dist/collection/components/timeline/udp-timeline.js +1 -1
  189. package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
  190. package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
  191. package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
  192. package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
  193. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  194. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  195. package/dist/components/add-map-feature-popup2.js +3 -3
  196. package/dist/components/ag-grid-base2.js +78 -38
  197. package/dist/components/ag-grid-base2.js.map +1 -1
  198. package/dist/components/api-method-instance-grid.js +59 -35
  199. package/dist/components/api-method-instance-grid.js.map +1 -1
  200. package/dist/components/app-bar.js +1 -1
  201. package/dist/components/check-box.js +2 -2
  202. package/dist/components/chip-section.js +2 -2
  203. package/dist/components/client-side-grid2.js +55 -31
  204. package/dist/components/client-side-grid2.js.map +1 -1
  205. package/dist/components/date-time-renderer2.js.map +1 -1
  206. package/dist/components/entity-maintenance-grid.js +1 -1
  207. package/dist/components/enums.js +7 -1
  208. package/dist/components/enums.js.map +1 -1
  209. package/dist/components/feature-details-card2.js +4 -4
  210. package/dist/components/feature-details-popup2.js +1 -1
  211. package/dist/components/file-upload-renderer2.js +2 -2
  212. package/dist/components/file-upload-renderer2.js.map +1 -1
  213. package/dist/components/form-metadata-display-renderer2.js +3 -3
  214. package/dist/components/form-metadata-display-renderer2.js.map +1 -1
  215. package/dist/components/form-metadata-display2.js +1 -1
  216. package/dist/components/form-metadata-display2.js.map +1 -1
  217. package/dist/components/forms-builder-utils.js.map +1 -1
  218. package/dist/components/ghost-render2.js +1 -1
  219. package/dist/components/image-upload2.js +1 -1
  220. package/dist/components/list-options-renderer2.js +3 -3
  221. package/dist/components/list-options-renderer2.js.map +1 -1
  222. package/dist/components/map-component2.js +1 -1
  223. package/dist/components/map-toolbar2.js +6 -6
  224. package/dist/components/numeric-field2.js +3 -3
  225. package/dist/components/question-configs-renderer2.js +5 -5
  226. package/dist/components/question-configs-renderer2.js.map +1 -1
  227. package/dist/components/question-specific-configs-renderer2.js.map +1 -1
  228. package/dist/components/resource-timeline-calendar.js +59 -35
  229. package/dist/components/resource-timeline-calendar.js.map +1 -1
  230. package/dist/components/resource-timeline-primary-bar2.js +2 -2
  231. package/dist/components/search-method-grid2.js +58 -33
  232. package/dist/components/search-method-grid2.js.map +1 -1
  233. package/dist/components/select-layer-popup2.js +2 -2
  234. package/dist/components/server-side-grid2.js +55 -31
  235. package/dist/components/server-side-grid2.js.map +1 -1
  236. package/dist/components/side-sheet-container2.js +1 -1
  237. package/dist/components/side-sheet2.js +1 -1
  238. package/dist/components/signature-input2.js +2 -2
  239. package/dist/components/signature-renderer2.js +1 -1
  240. package/dist/components/signature-renderer2.js.map +1 -1
  241. package/dist/components/split-line-popup2.js +1 -1
  242. package/dist/components/stencil-toggle2.js +4 -4
  243. package/dist/components/tally.js +2 -2
  244. package/dist/components/text-area2.js +3 -3
  245. package/dist/components/text-field2.js +3 -3
  246. package/dist/components/text-input-renderer2.js +2 -2
  247. package/dist/components/text-input-renderer2.js.map +1 -1
  248. package/dist/components/udp-container-query-grid-item.js +1 -1
  249. package/dist/components/udp-container-query-grid.js +1 -1
  250. package/dist/components/udp-container-query2.js +2 -2
  251. package/dist/components/udp-container2.js +2 -2
  252. package/dist/components/udp-date-range-selector.js +1 -1
  253. package/dist/components/udp-date-selector2.js +3 -3
  254. package/dist/components/udp-datetime-selector2.js +3 -3
  255. package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
  256. package/dist/components/udp-forms-builder.js.map +1 -1
  257. package/dist/components/udp-forms-follow-up-list-card.js +2 -2
  258. package/dist/components/udp-forms-follow-up-list-card.js.map +1 -1
  259. package/dist/components/udp-forms-list-card2.js +4 -4
  260. package/dist/components/udp-forms-list-card2.js.map +1 -1
  261. package/dist/components/udp-forms-list.js +1 -1
  262. package/dist/components/udp-forms-list.js.map +1 -1
  263. package/dist/components/udp-forms-renderer.js +273 -207
  264. package/dist/components/udp-forms-renderer.js.map +1 -1
  265. package/dist/components/udp-forms-ui2.js +6 -6
  266. package/dist/components/udp-forms-ui2.js.map +1 -1
  267. package/dist/components/udp-grid-loader2.js +2 -2
  268. package/dist/components/udp-linear-loader2.js +1 -1
  269. package/dist/components/udp-map-toolbar2.js +1 -1
  270. package/dist/components/udp-map.js +3 -3
  271. package/dist/components/udp-menu-item2.js +1 -1
  272. package/dist/components/udp-menu2.js +1 -1
  273. package/dist/components/udp-page.js +1 -1
  274. package/dist/components/udp-question-comments2.js +5 -5
  275. package/dist/components/udp-question-comments2.js.map +1 -1
  276. package/dist/components/udp-question2.js +4 -4
  277. package/dist/components/udp-question2.js.map +1 -1
  278. package/dist/components/udp-selector2.js +4 -4
  279. package/dist/components/udp-skeleton-loading2.js +1 -1
  280. package/dist/components/udp-split-screen.js +1 -1
  281. package/dist/components/udp-stepper-demo.js +1 -1
  282. package/dist/components/udp-tab-panel.js +2 -2
  283. package/dist/components/udp-tab.js +1 -1
  284. package/dist/components/udp-tabs2.js +2 -2
  285. package/dist/components/udp-time-selector2.js +3 -3
  286. package/dist/components/udp-timeline-connector.js +1 -1
  287. package/dist/components/udp-timeline-dot.js +1 -1
  288. package/dist/components/udp-timeline-item.js +2 -2
  289. package/dist/components/udp-timeline-separator.js +1 -1
  290. package/dist/components/udp-timeline.js +1 -1
  291. package/dist/components/udp-vertical-spacer.js +1 -1
  292. package/dist/components/utils.js +6 -6
  293. package/dist/components/utils.js.map +1 -1
  294. package/dist/docs.json +258 -205
  295. package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
  296. package/dist/esm/advanced-search_12.entry.js +1 -1
  297. package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
  298. package/dist/esm/ag-grid-base_6.entry.js +27 -11
  299. package/dist/esm/api-method-instance-grid.entry.js +1 -1
  300. package/dist/esm/app-bar.entry.js +1 -1
  301. package/dist/esm/check-box.entry.js +2 -2
  302. package/dist/esm/chip-section.entry.js +2 -2
  303. package/dist/esm/client-side-grid_2.entry.js +3 -3
  304. package/dist/esm/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.js.map +1 -1
  305. package/dist/esm/date-time-renderer_7.entry.js +13 -13
  306. package/dist/esm/entity-maintenance-grid.entry.js +1 -1
  307. package/dist/esm/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +9 -3
  308. package/dist/esm/enums-DHT5wSnX.js.map +1 -0
  309. package/dist/esm/feature-details-card_2.entry.js +5 -5
  310. package/dist/esm/filter-conditions_7.entry.js +2 -2
  311. package/dist/esm/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.js.map +1 -1
  312. package/dist/esm/form-metadata-display_8.entry.js +15 -15
  313. package/dist/esm/index-CaZq3YdB.js +10 -10
  314. package/dist/esm/loader.js +1 -1
  315. package/dist/esm/map-component_2.entry.js +2 -2
  316. package/dist/esm/numeric-field_5.entry.js +15 -15
  317. package/dist/esm/primary-action-header.udp-tabs.entry.js.map +1 -0
  318. package/dist/esm/{primary-action-header_3.entry.js → primary-action-header_2.entry.js} +5 -262
  319. package/dist/esm/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.js.map +1 -1
  320. package/dist/esm/question-configs-renderer_4.entry.js +7 -7
  321. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  322. package/dist/esm/search-method-grid.entry.js +2 -1
  323. package/dist/esm/search-method-grid.entry.js.map +1 -1
  324. package/dist/esm/server-side-grid.entry.js +1 -1
  325. package/dist/esm/side-sheet-container.entry.js +1 -1
  326. package/dist/esm/stencil-library.js +1 -1
  327. package/dist/esm/stencil-toggle.entry.js +4 -4
  328. package/dist/esm/text-field_2.entry.js +7 -7
  329. package/dist/esm/udp-chip_3.entry.js +1 -1
  330. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  331. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  332. package/dist/esm/udp-container-query.entry.js +2 -2
  333. package/dist/esm/udp-container.entry.js +33 -0
  334. package/dist/esm/udp-container.entry.js.map +1 -0
  335. package/dist/esm/udp-date-range-selector.entry.js +1 -1
  336. package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
  337. package/dist/esm/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +3 -3
  338. package/dist/esm/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
  339. package/dist/esm/udp-forms-builder.entry.js +2 -2
  340. package/dist/esm/udp-forms-builder.entry.js.map +1 -1
  341. package/dist/esm/udp-forms-follow-up-list-card.entry.js +3 -3
  342. package/dist/esm/udp-forms-follow-up-list-card.entry.js.map +1 -1
  343. package/dist/esm/udp-forms-list-card.entry.js +6 -6
  344. package/dist/esm/udp-forms-list-card.entry.js.map +1 -1
  345. package/dist/esm/udp-forms-list.entry.js +2 -2
  346. package/dist/esm/udp-forms-list.entry.js.map +1 -1
  347. package/dist/esm/udp-forms-renderer.entry.js +270 -202
  348. package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
  349. package/dist/esm/udp-forms-ui.entry.js +6 -6
  350. package/dist/esm/udp-forms-ui.entry.js.map +1 -1
  351. package/dist/esm/udp-linear-loader.udp-side-sheet.entry.js.map +1 -0
  352. package/dist/esm/udp-linear-loader_2.entry.js +282 -0
  353. package/dist/esm/udp-map.entry.js +3 -3
  354. package/dist/esm/udp-menu-item.udp-pop-over.entry.js.map +1 -0
  355. package/dist/esm/{udp-pop-over.entry.js → udp-menu-item_2.entry.js} +24 -3
  356. package/dist/esm/udp-page.entry.js +1 -1
  357. package/dist/esm/udp-skeleton-loading.entry.js +1 -1
  358. package/dist/esm/udp-split-screen.entry.js +1 -1
  359. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  360. package/dist/esm/udp-tab-panel.entry.js +2 -2
  361. package/dist/esm/udp-tab.entry.js +1 -1
  362. package/dist/esm/udp-timeline-connector.entry.js +1 -1
  363. package/dist/esm/udp-timeline-dot.entry.js +1 -1
  364. package/dist/esm/udp-timeline-item.entry.js +2 -2
  365. package/dist/esm/udp-timeline-separator.entry.js +1 -1
  366. package/dist/esm/udp-timeline.entry.js +1 -1
  367. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  368. package/dist/esm/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +8 -8
  369. package/dist/esm/utils-kwLwITIE.js.map +1 -0
  370. package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
  371. package/dist/stencil-library/advanced-search_12.entry.js +1 -1
  372. package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
  373. package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
  374. package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
  375. package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
  376. package/dist/stencil-library/app-bar.entry.js +1 -1
  377. package/dist/stencil-library/check-box.entry.js +1 -1
  378. package/dist/stencil-library/chip-section.entry.js +1 -1
  379. package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
  380. package/dist/stencil-library/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.esm.js.map +1 -1
  381. package/dist/stencil-library/date-time-renderer_7.entry.js +1 -1
  382. package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
  383. package/dist/stencil-library/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +2 -2
  384. package/dist/stencil-library/enums-DHT5wSnX.js.map +1 -0
  385. package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
  386. package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
  387. package/dist/stencil-library/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.esm.js.map +1 -1
  388. package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
  389. package/dist/stencil-library/form-metadata-display_8.entry.js.map +1 -1
  390. package/dist/stencil-library/map-component_2.entry.js +1 -1
  391. package/dist/stencil-library/numeric-field_5.entry.js +1 -1
  392. package/dist/stencil-library/primary-action-header.udp-tabs.entry.esm.js.map +1 -0
  393. package/dist/stencil-library/primary-action-header_2.entry.js +2 -0
  394. package/dist/stencil-library/primary-action-header_2.entry.js.map +1 -0
  395. package/dist/stencil-library/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.esm.js.map +1 -1
  396. package/dist/stencil-library/question-configs-renderer_4.entry.js +1 -1
  397. package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
  398. package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
  399. package/dist/stencil-library/search-method-grid.entry.js +1 -1
  400. package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
  401. package/dist/stencil-library/server-side-grid.entry.js +1 -1
  402. package/dist/stencil-library/side-sheet-container.entry.js +1 -1
  403. package/dist/stencil-library/stencil-library.esm.js +1 -1
  404. package/dist/stencil-library/stencil-toggle.entry.js +1 -1
  405. package/dist/stencil-library/text-field_2.entry.js +1 -1
  406. package/dist/stencil-library/udp-chip_3.entry.js +1 -1
  407. package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
  408. package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
  409. package/dist/stencil-library/udp-container-query.entry.js +1 -1
  410. package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
  411. package/dist/stencil-library/udp-container.entry.js +2 -0
  412. package/dist/stencil-library/udp-container.entry.js.map +1 -0
  413. package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
  414. package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
  415. package/dist/stencil-library/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +2 -2
  416. package/dist/stencil-library/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
  417. package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -1
  418. package/dist/stencil-library/udp-forms-builder.entry.js +1 -1
  419. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.esm.js.map +1 -1
  420. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
  421. package/dist/stencil-library/udp-forms-list-card.entry.esm.js.map +1 -1
  422. package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
  423. package/dist/stencil-library/udp-forms-list-card.entry.js.map +1 -1
  424. package/dist/stencil-library/udp-forms-list.entry.esm.js.map +1 -1
  425. package/dist/stencil-library/udp-forms-list.entry.js +1 -1
  426. package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -1
  427. package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
  428. package/dist/stencil-library/udp-forms-renderer.entry.js.map +1 -1
  429. package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -1
  430. package/dist/stencil-library/udp-forms-ui.entry.js +1 -1
  431. package/dist/stencil-library/udp-forms-ui.entry.js.map +1 -1
  432. package/dist/stencil-library/udp-linear-loader.udp-side-sheet.entry.esm.js.map +1 -0
  433. package/dist/stencil-library/udp-linear-loader_2.entry.js +2 -0
  434. package/dist/stencil-library/udp-linear-loader_2.entry.js.map +1 -0
  435. package/dist/stencil-library/udp-map.entry.js +1 -1
  436. package/dist/stencil-library/udp-menu-item.udp-pop-over.entry.esm.js.map +1 -0
  437. package/dist/stencil-library/udp-menu-item_2.entry.js +2 -0
  438. package/dist/stencil-library/udp-menu-item_2.entry.js.map +1 -0
  439. package/dist/stencil-library/udp-page.entry.js +1 -1
  440. package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
  441. package/dist/stencil-library/udp-split-screen.entry.js +1 -1
  442. package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
  443. package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
  444. package/dist/stencil-library/udp-tab.entry.js +1 -1
  445. package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
  446. package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
  447. package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
  448. package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
  449. package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
  450. package/dist/stencil-library/udp-timeline.entry.js +1 -1
  451. package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
  452. package/dist/stencil-library/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +1 -1
  453. package/dist/stencil-library/utils-kwLwITIE.js.map +1 -0
  454. package/dist/types/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.d.ts +2 -2
  455. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.d.ts +1 -1
  456. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.d.ts +1 -1
  457. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.d.ts +1 -1
  458. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.d.ts +1 -1
  459. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.d.ts +1 -1
  460. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.d.ts +1 -1
  461. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.d.ts +1 -1
  462. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.d.ts +2 -2
  463. package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.d.ts +4 -4
  464. package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.d.ts +12 -0
  465. package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +4 -9
  466. package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.d.ts +4 -5
  467. package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/enums.d.ts +5 -0
  468. package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/types.d.ts +0 -1
  469. package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/utils.d.ts +1 -1
  470. package/dist/types/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.d.ts +2 -2
  471. package/dist/types/components/forms/udp-forms/udp-question/udp-question.d.ts +4 -4
  472. package/dist/types/components/grid/new-grid/gridFunctions/bulkActions.d.ts +4 -2
  473. package/dist/types/components/grid/new-grid/interfaces/grid.d.ts +1 -0
  474. package/dist/types/components.d.ts +32 -30
  475. package/package.json +1 -1
  476. package/dist/cjs/enums-DVbZnzL8.js.map +0 -1
  477. package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +0 -1
  478. package/dist/cjs/udp-container.udp-linear-loader.entry.cjs.js.map +0 -1
  479. package/dist/cjs/udp-container_2.cjs.entry.js +0 -56
  480. package/dist/cjs/udp-forms-builder-question-template-CNONS2l5.js.map +0 -1
  481. package/dist/cjs/udp-menu-item.cjs.entry.js +0 -27
  482. package/dist/cjs/udp-menu-item.entry.cjs.js.map +0 -1
  483. package/dist/cjs/udp-pop-over.entry.cjs.js.map +0 -1
  484. package/dist/cjs/utils-DZ_OMtAy.js.map +0 -1
  485. package/dist/collection/components/forms/udp-forms/utils/classes/UdpForm.js.map +0 -1
  486. package/dist/collection/components/forms/udp-forms/utils/classes/UdpFormSubmission.js.map +0 -1
  487. package/dist/collection/components/forms/udp-forms/utils/enums.js.map +0 -1
  488. package/dist/collection/components/forms/udp-forms/utils/form-handler/IFormHandler.js.map +0 -1
  489. package/dist/collection/components/forms/udp-forms/utils/form-handler/UdpFormHandler.js.map +0 -1
  490. package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +0 -1
  491. package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/IFormSubmissionHandler.js.map +0 -1
  492. package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +0 -1
  493. package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.js.map +0 -1
  494. package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/formUtils.js.map +0 -1
  495. package/dist/collection/components/forms/udp-forms/utils/types.js.map +0 -1
  496. package/dist/collection/components/forms/udp-forms/utils/utils.js.map +0 -1
  497. package/dist/esm/enums-CHxgVY-B.js.map +0 -1
  498. package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +0 -1
  499. package/dist/esm/udp-container.udp-linear-loader.entry.js.map +0 -1
  500. package/dist/esm/udp-container_2.entry.js +0 -53
  501. package/dist/esm/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
  502. package/dist/esm/udp-menu-item.entry.js +0 -25
  503. package/dist/esm/udp-menu-item.entry.js.map +0 -1
  504. package/dist/esm/udp-pop-over.entry.js.map +0 -1
  505. package/dist/esm/utils-CiUp9KGZ.js.map +0 -1
  506. package/dist/stencil-library/enums-CHxgVY-B.js.map +0 -1
  507. package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +0 -1
  508. package/dist/stencil-library/primary-action-header_3.entry.js +0 -2
  509. package/dist/stencil-library/primary-action-header_3.entry.js.map +0 -1
  510. package/dist/stencil-library/udp-container.udp-linear-loader.entry.esm.js.map +0 -1
  511. package/dist/stencil-library/udp-container_2.entry.js +0 -2
  512. package/dist/stencil-library/udp-container_2.entry.js.map +0 -1
  513. package/dist/stencil-library/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
  514. package/dist/stencil-library/udp-menu-item.entry.esm.js.map +0 -1
  515. package/dist/stencil-library/udp-menu-item.entry.js +0 -2
  516. package/dist/stencil-library/udp-menu-item.entry.js.map +0 -1
  517. package/dist/stencil-library/udp-pop-over.entry.esm.js.map +0 -1
  518. package/dist/stencil-library/udp-pop-over.entry.js +0 -2
  519. package/dist/stencil-library/udp-pop-over.entry.js.map +0 -1
  520. package/dist/stencil-library/utils-CiUp9KGZ.js.map +0 -1
  521. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.js +0 -0
  522. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.js +0 -0
  523. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.js +0 -0
  524. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.js +0 -0
  525. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.js +0 -0
  526. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.js +0 -0
  527. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.js +0 -0
  528. /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/types.js +0 -0
  529. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.d.ts +0 -0
  530. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.d.ts +0 -0
  531. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.d.ts +0 -0
  532. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.d.ts +0 -0
  533. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.d.ts +0 -0
  534. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.d.ts +0 -0
  535. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.d.ts +0 -0
  536. /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  import { h, Fragment } from "@stencil/core";
2
- import { UdpFormsTypeEnum } from "../../utils/enums";
2
+ import { UdpFormsTypeEnum } from "../../udp-forms-utils/enums";
3
3
  export class UdpFormsFollowUpListCard {
4
4
  render() {
5
- const contentJsx = (h(Fragment, { key: 'af4d232501675041c5634dec614cb7e1d85306e8' }, h("unity-typography", { key: 'dcbe122b7125db4985ef56e2b3dfdc43aa8d3dff', variant: "body1", color: "textSecondary" }, "Version: ", this.listItemData.version), h("unity-typography", { key: '3e979696dceff562c3877fb4301a80e7e8284018', variant: "body1", color: "textSecondary" }, "Form Type: ", UdpFormsTypeEnum[this.listItemData.type])));
6
- return (h("udp-card", { key: '5a232f80f8e4ad9b1bc2953d14c894c4ceff0c1f', cardTitle: this.listItemData.name, subheader: this.listItemData.description, onTitleClick: () => this.handleLaunchFollowUpForm(), disableContentPadding: true, adornmentStatus: 'info' }, contentJsx));
5
+ const contentJsx = (h(Fragment, { key: '0148fa047cd997bc9cff28cd98833074e8dc8f64' }, h("unity-typography", { key: 'e6d1704c0d97d94253cfda377818114234bd46c9', variant: "body1", color: "textSecondary" }, "Version: ", this.listItemData.version), h("unity-typography", { key: 'f6e98358257ddf8596abfdb100f5a633c063752a', variant: "body1", color: "textSecondary" }, "Form Type: ", UdpFormsTypeEnum[this.listItemData.type])));
6
+ return (h("udp-card", { key: '6a5285ec5d718bb09965e61621544e81b900e9eb', cardTitle: this.listItemData.name, subheader: this.listItemData.description, onTitleClick: () => this.handleLaunchFollowUpForm(), disableContentPadding: true, adornmentStatus: 'info' }, contentJsx));
7
7
  }
8
8
  static get is() { return "udp-forms-follow-up-list-card"; }
9
9
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"udp-forms-follow-up-list-card.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrD,MAAM,OAAO,wBAAwB;IAKnC,MAAM;QACJ,MAAM,UAAU,GAAG,CACjB,EAAC,QAAQ;YACP,yEAAkB,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;gBAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAClB;YACnB,yEAAkB,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;gBACzC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CACV,CACZ,CAAC;QAEF,OAAO,CACL,iEACE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EACjC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EACxC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EACnD,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,MAAM,IAEtB,UAAU,CACF,CACZ,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Fragment } from '@stencil/core';\nimport { UdpFormsTypeEnum } from '../../utils/enums';\n\n@Component({\n tag: 'udp-forms-follow-up-list-card',\n shadow: true,\n})\nexport class UdpFormsFollowUpListCard {\n @Prop() listItemData: any;\n @Prop() isSideSheetList: boolean;\n @Prop() handleLaunchFollowUpForm: Function;\n\n render() {\n const contentJsx = (\n <Fragment>\n <unity-typography variant=\"body1\" color=\"textSecondary\">\n Version: {this.listItemData.version}\n </unity-typography>\n <unity-typography variant=\"body1\" color=\"textSecondary\">\n Form Type: {UdpFormsTypeEnum[this.listItemData.type]}\n </unity-typography>\n </Fragment>\n );\n\n return (\n <udp-card\n cardTitle={this.listItemData.name}\n subheader={this.listItemData.description}\n onTitleClick={() => this.handleLaunchFollowUpForm()}\n disableContentPadding={true}\n adornmentStatus={'info'}\n >\n {contentJsx}\n </udp-card>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"udp-forms-follow-up-list-card.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAM/D,MAAM,OAAO,wBAAwB;IAKnC,MAAM;QACJ,MAAM,UAAU,GAAG,CACjB,EAAC,QAAQ;YACP,yEAAkB,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;gBAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAClB;YACnB,yEAAkB,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;gBACzC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CACV,CACZ,CAAC;QAEF,OAAO,CACL,iEACE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EACjC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EACxC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EACnD,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,MAAM,IAEtB,UAAU,CACF,CACZ,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Fragment } from '@stencil/core';\nimport { UdpFormsTypeEnum } from '../../udp-forms-utils/enums';\n\n@Component({\n tag: 'udp-forms-follow-up-list-card',\n shadow: true,\n})\nexport class UdpFormsFollowUpListCard {\n @Prop() listItemData: any;\n @Prop() isSideSheetList: boolean;\n @Prop() handleLaunchFollowUpForm: Function;\n\n render() {\n const contentJsx = (\n <Fragment>\n <unity-typography variant=\"body1\" color=\"textSecondary\">\n Version: {this.listItemData.version}\n </unity-typography>\n <unity-typography variant=\"body1\" color=\"textSecondary\">\n Form Type: {UdpFormsTypeEnum[this.listItemData.type]}\n </unity-typography>\n </Fragment>\n );\n\n return (\n <udp-card\n cardTitle={this.listItemData.name}\n subheader={this.listItemData.description}\n onTitleClick={() => this.handleLaunchFollowUpForm()}\n disableContentPadding={true}\n adornmentStatus={'info'}\n >\n {contentJsx}\n </udp-card>\n );\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import { h } from "@stencil/core";
2
- import { UdpFormsFieldTypeEnum } from "../../utils/enums";
3
- import { fontOverrideMapping, overrideFont } from "../../utils/utils";
2
+ import { UdpFormsFieldTypeEnum, UdpFormsSubmissionStatusEnum } from "../../udp-forms-utils/enums";
3
+ import { fontOverrideMapping, overrideFont } from "../../udp-forms-utils/utils";
4
4
  import { getIconFromName } from "../../../../data-display/icons/iconUtils";
5
5
  export class UdpFormsUi {
6
6
  constructor() {
7
- this.initialValues = {};
7
+ this.currentValues = {};
8
8
  this.submitSuccessful = false;
9
9
  this.isLoading = false;
10
10
  this.isSaving = false;
@@ -99,7 +99,7 @@ export class UdpFormsUi {
99
99
  else if ((_f = (_e = (_d = this.udpForm) === null || _d === void 0 ? void 0 : _d.styleOverrides) === null || _e === void 0 ? void 0 : _e.background) === null || _f === void 0 ? void 0 : _f.backgroundColor) {
100
100
  backgroundOverrides.backgroundColor = (_j = (_h = (_g = this.udpForm) === null || _g === void 0 ? void 0 : _g.styleOverrides) === null || _h === void 0 ? void 0 : _h.background) === null || _j === void 0 ? void 0 : _j.backgroundColor;
101
101
  }
102
- return (h("div", { class: 'background', style: backgroundOverrides }, h("udp-container", { maxWidth: "md" }, h("div", { class: "form-container" }, !this.submitSuccessful ? (h("stencil-form", { handleSubmit: this.handleSubmit, initialValues: this.initialValues, handleChange: this.handleChange, onDirtyChange: event => this.formDirtyChange.emit(event.detail) }, this.readonly &&
102
+ return (h("div", { class: 'background', style: backgroundOverrides }, h("udp-container", { maxWidth: "md" }, h("div", { class: "form-container" }, !this.submitSuccessful ? (h("stencil-form", { handleSubmit: this.handleSubmit, initialValues: this.currentValues, handleChange: this.handleChange, onDirtyChange: event => this.formDirtyChange.emit(event.detail) }, this.readonly &&
103
103
  (h("div", { class: "error-banner" }, h("unity-typography", { variant: "body2" }, "View Only Mode. The contents of this form cannot be changed."))), h("fluent-dialog", { open: this.isDialogOpen, message: this.dialogMessage, labelOne: 'Confirm', labelTwo: 'Cancel', actionOne: () => this.dialogAction(), actionTwo: () => (this.isDialogOpen = false) }), h("div", null, h("div", { class: "form-section-block" }, h("div", { class: "form-renderer-header", style: Object.assign({}, (((_l = (_k = this.udpForm) === null || _k === void 0 ? void 0 : _k.styleOverrides) === null || _l === void 0 ? void 0 : _l.headerBackgroundColor) && {
104
104
  backgroundColor: this.udpForm.styleOverrides.headerBackgroundColor,
105
105
  })) }, h("unity-typography", { id: this.titleId, variant: 'h6', color: "inherit" }, this.udpForm.name), this.showAutoSaveStatus && (h("div", { class: "auto-save-status" }, this.saveErrorMessage && (h("unity-typography", { variant: "body", color: "secondary" }, this.saveErrorMessage)))), this.isShowManualSaveIcon && (h("udp-save-draft-button", { isVisible: this.isShowManualSaveIcon, isSaving: this.isSaving,
@@ -129,9 +129,9 @@ export class UdpFormsUi {
129
129
  helperText: (_a = this.udpForm.styleOverrides) === null || _a === void 0 ? void 0 : _a.helperText,
130
130
  paragraphText: (_b = this.udpForm.styleOverrides) === null || _b === void 0 ? void 0 : _b.paragraphText,
131
131
  questionText: (_c = this.udpForm.styleOverrides) === null || _c === void 0 ? void 0 : _c.questionText,
132
- }, question: question, questionNumber: num, value: (_g = (_f = (_e = (_d = this.initialValues) === null || _d === void 0 ? void 0 : _d[sectionKey]) === null || _e === void 0 ? void 0 : _e[question.name]) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : '', disabled: this.disabled, readonly: this.readonly, key: question.questionIdentifierKey, initialValues: this.initialValues, clientUserInfo: this.clientUserInfo, udpFormSubmission: this.udpFormSubmission })));
132
+ }, question: question, questionNumber: num, value: (_g = (_f = (_e = (_d = this.currentValues) === null || _d === void 0 ? void 0 : _d[sectionKey]) === null || _e === void 0 ? void 0 : _e[question.name]) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : '', disabled: this.disabled, readonly: this.readonly, key: question.questionIdentifierKey, currentValues: this.currentValues, clientUserInfo: this.clientUserInfo, udpFormSubmission: this.udpFormSubmission })));
133
133
  }))))));
134
- }), ((_r = this.udpFormSubmission) === null || _r === void 0 ? void 0 : _r.status) != 2 && (h("div", { class: "footer" }, h("input", { disabled: this.isLoading || this.disabled || this.readonly, type: "submit", value: "Submit", class: "submit", id: "udpRecord-udp-forms-renderer-Submit", onClick: () => {
134
+ }), ((_r = this.udpFormSubmission) === null || _r === void 0 ? void 0 : _r.status) != UdpFormsSubmissionStatusEnum.Submitted && (h("div", { class: "footer" }, h("input", { disabled: this.isLoading || this.disabled || this.readonly, type: "submit", value: "Submit", class: "submit", id: "udpRecord-udp-forms-renderer-Submit", onClick: () => {
135
135
  console.log('Submit button clicked');
136
136
  // Let the form handle the submit naturally
137
137
  } })))))) : (
@@ -161,8 +161,8 @@ export class UdpFormsUi {
161
161
  "references": {
162
162
  "UdpForm": {
163
163
  "location": "import",
164
- "path": "../../utils/classes/UdpForm",
165
- "id": "src/components/forms/udp-forms/utils/classes/UdpForm.ts::UdpForm"
164
+ "path": "../../udp-forms-utils/classes/UdpForm",
165
+ "id": "src/components/forms/udp-forms/udp-forms-utils/classes/UdpForm.ts::UdpForm"
166
166
  }
167
167
  }
168
168
  },
@@ -175,7 +175,7 @@ export class UdpFormsUi {
175
175
  "getter": false,
176
176
  "setter": false
177
177
  },
178
- "initialValues": {
178
+ "currentValues": {
179
179
  "type": "unknown",
180
180
  "mutable": false,
181
181
  "complexType": {
@@ -202,8 +202,8 @@ export class UdpFormsUi {
202
202
  "references": {
203
203
  "UdpFormSubmission": {
204
204
  "location": "import",
205
- "path": "../../utils/classes/UdpFormSubmission",
206
- "id": "src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts::UdpFormSubmission"
205
+ "path": "../../udp-forms-utils/classes/UdpFormSubmission",
206
+ "id": "src/components/forms/udp-forms/udp-forms-utils/classes/UdpFormSubmission.ts::UdpFormSubmission"
207
207
  }
208
208
  }
209
209
  },
@@ -426,8 +426,8 @@ export class UdpFormsUi {
426
426
  "references": {
427
427
  "Guid": {
428
428
  "location": "import",
429
- "path": "../../utils/types",
430
- "id": "src/components/forms/udp-forms/utils/types.ts::Guid"
429
+ "path": "../../udp-forms-utils/types",
430
+ "id": "src/components/forms/udp-forms/udp-forms-utils/types.ts::Guid"
431
431
  },
432
432
  "Object": {
433
433
  "location": "global",
@@ -1 +1 @@
1
- {"version":3,"file":"udp-forms-ui.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Guid, UdpFormQuestion } from '../../utils/types';\nimport { UdpFormsFieldTypeEnum } from '../../utils/enums';\nimport { fontOverrideMapping, overrideFont } from '../../utils/utils';\nimport { getIconFromName } from '../../../../data-display/icons/iconUtils';\nimport { UdpFormSubmission } from '../../utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../../utils/classes/UdpForm';\n\n\n@Component({\n tag: 'udp-forms-ui',\n styleUrl: 'udp-forms-ui.css',\n shadow: true,\n})\nexport class UdpFormsUi {\n @Prop() udpForm: UdpForm;\n @Prop() initialValues: { [name: string]: any } = {};\n @Prop() udpFormSubmission: UdpFormSubmission\n @Prop() submitSuccessful: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isSaving: boolean = false;\n @Prop() saveErrorMessage: string | null = null;\n @Prop() showAutoSaveStatus: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() handleSubmit: (values: any) => Promise<void>;\n @Prop() handleChange: (values: { [name: string]: any }) => void;\n @Prop() handleSave: (values: { [name: string]: any }) => Promise<void>;\n @Prop() handleAction: (actionId: Guid, params: Object) => void;\n @Prop() handleFinish: () => void;\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }; \n @Prop() isSubmitted: boolean = false;\n @Prop() dynamicSections: any[];\n @Prop() duplicateRepeatableSection: any;\n @Prop() deleteRepeatableSection: any;\n @Prop() isShowManualSaveIcon: boolean = false;\n @Prop() performBackgroundSaveAndUpdateLocalSubmissionState: (values: { [name: string]: any }) => Promise<void>;\n\n @State() showSavedMessage: boolean = false;\n\n @Event() formDirtyChange: EventEmitter<boolean>;\n\n @Element() el: HTMLElement;\n\n\n @State() isDialogOpen: boolean = false;\n @State() dialogAction: () => void;\n @State() dialogMessage: string = 'Are you sure you want to delete this section? This section contains links to follow-up forms. Deleting it will remove those links.';\n \n\n private savedMessageTimeoutId: any;\n\n private titleId: string = 'udp-forms-title';\n private descriptionId: string = 'udp-forms-description';\n\n componentDidLoad() {\n this.overrideStyles();\n }\n\n componentDidUpdate() {\n this.overrideStyles();\n }\n\n disconnectedCallback() {\n // Clean up timeout when component is destroyed\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n }\n\n @Watch('isSaving')\n watchIsSaving(newValue: boolean, oldValue: boolean) {\n console.log('isSaving watcher triggered:', { oldValue, newValue, saveErrorMessage: this.saveErrorMessage });\n\n // When isSaving changes from true to false (save completed successfully)\n if (oldValue === true && newValue === false && !this.saveErrorMessage) {\n console.log('Setting showSavedMessage to true');\n this.showSavedMessage = true;\n\n // Clear any existing timeout\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n\n // Hide the \"Saved\" message after 5 seconds\n this.savedMessageTimeoutId = setTimeout(() => {\n console.log('Hiding saved message after 5 seconds');\n this.showSavedMessage = false;\n }, 5000);\n }\n }\n\n overrideStyles() {\n const shadowRoot = (this as any).el?.shadowRoot;\n shadowRoot?.querySelectorAll('unity-typography').forEach(element => {\n const styleOverride =\n element.id === this.titleId ? this.udpForm?.styleOverrides?.titleText : element.id === this.descriptionId ? this.udpForm?.styleOverrides?.paragraphText : ({} as any);\n\n if (styleOverride?.fontFamily && fontOverrideMapping[styleOverride.fontFamily]) {\n overrideFont(element, fontOverrideMapping[styleOverride.fontFamily]);\n }\n if (styleOverride?.variant) {\n element.setAttribute('variant', styleOverride.variant);\n }\n });\n }\n\n private isSectionContainsFollowUpFormLink(sectionKey: string): boolean {\n const sectionObject = this.udpFormSubmission.data.submissionResponseData[sectionKey]\n\n for (const [_key, questionObject] of Object.entries(sectionObject) as any) {\n if (questionObject?.metadata && questionObject.metadata?.followUpFormSubmissionId) {\n return true;\n }\n }\n\n return false;\n }\n\n render() {\n if (this.isLoading) {\n return (\n <udp-linear-loader />\n );\n }\n\n if (!this.udpForm) {\n return (\n <div class=\"error-banner\">\n <unity-typography variant=\"body2\">Error Loading Form</unity-typography>\n </div>\n );\n }\n\n let questionNumber = 1;\n\n const sectionSet = new Set();\n this.udpForm.formQuestions.forEach(fq => sectionSet.add(fq.section));\n // const orderedSectionNumbers = [...sectionSet].sort((a: number, b: number) => a - b);\n\n const hiddenQuestionTypes = [UdpFormsFieldTypeEnum.Hidden, UdpFormsFieldTypeEnum.Paragraph];\n\n const backgroundOverrides: { backgroundImage?: string | null; backgroundColor?: string | null } = {};\n if (this.udpForm?.styleOverrides?.background?.backgroundImage) {\n // uncomment when we want to allow background images\n //backgroundOverrides.backgroundImage = `url(${this.udpForm?.styleOverrides?.background?.backgroundImage})`;\n } else if (this.udpForm?.styleOverrides?.background?.backgroundColor) {\n backgroundOverrides.backgroundColor = this.udpForm?.styleOverrides?.background?.backgroundColor;\n }\n return (\n <div class={'background'} style={backgroundOverrides}>\n <udp-container maxWidth=\"md\">\n <div class=\"form-container\">\n {!this.submitSuccessful ? (\n \n <stencil-form\n handleSubmit={this.handleSubmit}\n initialValues={this.initialValues}\n handleChange={this.handleChange}\n onDirtyChange={event => this.formDirtyChange.emit(event.detail)}\n >\n {this.readonly && \n (<div class=\"error-banner\">\n <unity-typography variant=\"body2\">View Only Mode. The contents of this form cannot be changed.</unity-typography>\n </div>)}\n <fluent-dialog\n open={this.isDialogOpen}\n message={this.dialogMessage}\n labelOne={'Confirm'}\n labelTwo={'Cancel'}\n actionOne={() => this.dialogAction()}\n actionTwo={() => (this.isDialogOpen = false)}\n />\n {/********** QUESTIONS *********/}\n <div>\n {/* <div class=\"header\" style={this.udpForm?.styleOverrides?.headerBackgroundColor ? { backgroundColor: this.udpForm?.styleOverrides?.headerBackgroundColor } : ''}> */}\n <div class=\"form-section-block\">\n <div\n class=\"form-renderer-header\"\n style={{\n ...(this.udpForm?.styleOverrides?.headerBackgroundColor && {\n backgroundColor: this.udpForm.styleOverrides.headerBackgroundColor,\n }),\n }}\n >\n <unity-typography id={this.titleId} variant={'h6'} color=\"inherit\">\n {this.udpForm.name}\n </unity-typography>\n\n {/* Auto-save status indicator for authenticated users */}\n {this.showAutoSaveStatus && (\n <div class=\"auto-save-status\">\n {/* {this.isSaving && (\n <unity-typography variant=\"body\" color=\"primary\">\n Saving...\n </unity-typography>\n )} */}\n {this.saveErrorMessage && (\n <unity-typography variant=\"body\" color=\"secondary\">\n {this.saveErrorMessage}\n </unity-typography>\n )}\n </div>\n )}\n {this.isShowManualSaveIcon && (\n <udp-save-draft-button\n isVisible={this.isShowManualSaveIcon}\n isSaving={this.isSaving}\n // saveErrorMessage={this.saveErrorMessage}\n showSavedMessage={this.showSavedMessage}\n handleSave={this.handleSave}\n />\n )}\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography id={this.descriptionId} variant={this.udpForm?.styleOverrides?.paragraphText?.variant ?? 'body'} color=\"inherit\">\n {this.udpForm.description}\n </unity-typography>\n </div>\n </div>\n </div>\n </div>\n {/* Save Button - moves between header and floating based on space */}\n {this.dynamicSections.map((section, sIndex) => {\n return (\n <div class=\"form-section-block\">\n <div class=\"form-section-header\">\n <div class=\"form-section-header-title\">\n <unity-typography variant=\"h6\" color=\"inherit\">\n {`${section.title}${section.sectionPositionSuffix > 1 ? ` (${section.sectionPositionSuffix})` : ''}`}\n </unity-typography>\n </div>\n <div class=\"form-section-header-actions\">\n {/* // Only show the add button if the section is repeatable and is the last in the repeat group */}\n {section.sectionProperties.isRepeatable && this.dynamicSections.filter(s => s.id === section.id).length === section.sectionPositionSuffix && !this.readonly && (\n <stencil-icon-button icon={getIconFromName('add')} tooltip=\"Repeat This Section\" onClick={() => this.duplicateRepeatableSection(sIndex)} />\n )}\n {/* // show the delete button if the section is repeatable and not the original section */}\n {!section.isOriginalSection && !this.readonly && (\n <stencil-icon-button \n icon={getIconFromName('subtract')} \n tooltip=\"Delete This Repeated Section\" \n onClick={\n () => {\n // e.stopPropagation();\n if (this.isSectionContainsFollowUpFormLink(`${section.name}_${section.sectionPositionSuffix}`)) {\n this.dialogAction = async () => {\n this.deleteRepeatableSection(sIndex)\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.isDialogOpen = false;\n }; \n } else {\n this.deleteRepeatableSection(sIndex)\n }\n \n this.isDialogOpen = true;\n }} />\n )}\n </div>\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography variant=\"body\" color=\"inherit\">\n {section.sectionText}\n </unity-typography>\n </div>\n\n <div>\n {section.formQuestions.map((question: UdpFormQuestion) => {\n const isHidden = hiddenQuestionTypes.includes(question.fieldTypeId);\n const num: number = questionNumber;\n if (!isHidden) questionNumber++;\n\n const sectionKey = section.sectionPositionSuffix > 1 ? `${section.name}_${section.sectionPositionSuffix}` : `${section.name}`\n\n return (\n <div class=\"item\">\n <udp-question\n styleOverrides={{\n helperText: this.udpForm.styleOverrides?.helperText,\n paragraphText: this.udpForm.styleOverrides?.paragraphText,\n questionText: this.udpForm.styleOverrides?.questionText,\n }}\n question={question}\n questionNumber={num}\n value={this.initialValues?.[sectionKey]?.[question.name]?.value ?? ''}\n disabled={this.disabled}\n readonly={this.readonly}\n key={question.questionIdentifierKey}\n initialValues={this.initialValues}\n clientUserInfo={this.clientUserInfo}\n udpFormSubmission={this.udpFormSubmission}\n />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n );\n })}\n {this.udpFormSubmission?.status != 2 && ( \n <div class=\"footer\">\n <input\n disabled={this.isLoading || this.disabled || this.readonly}\n type=\"submit\"\n value=\"Submit\"\n class=\"submit\"\n id=\"udpRecord-udp-forms-renderer-Submit\"\n onClick={() => {\n console.log('Submit button clicked');\n // Let the form handle the submit naturally\n }}\n />\n </div>\n )}\n </div>\n </stencil-form>\n ) : (\n //if the form has been submit, display success message with a button to trigger the action associated to the form\n <div class=\"center-div\">\n <udp-ambient-card>\n <div class=\"submit-card\">\n <unity-typography>Thank you for your submission.</unity-typography>\n {/* // No action configured for now. */}\n {/* <div class=\"finish-button\">\n <custom-button onClick={this.handleFinish}>Back</custom-button>\n </div> */}\n </div>\n </udp-ambient-card>\n </div>\n )}\n </div>\n </udp-container>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"udp-forms-ui.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Guid, UdpFormQuestion } from '../../udp-forms-utils/types';\nimport { UdpFormsFieldTypeEnum, UdpFormsSubmissionStatusEnum } from '../../udp-forms-utils/enums';\nimport { fontOverrideMapping, overrideFont } from '../../udp-forms-utils/utils';\nimport { getIconFromName } from '../../../../data-display/icons/iconUtils';\nimport { UdpFormSubmission } from '../../udp-forms-utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../../udp-forms-utils/classes/UdpForm';\n\n\n@Component({\n tag: 'udp-forms-ui',\n styleUrl: 'udp-forms-ui.css',\n shadow: true,\n})\nexport class UdpFormsUi {\n @Prop() udpForm: UdpForm;\n @Prop() currentValues: { [name: string]: any } = {};\n @Prop() udpFormSubmission: UdpFormSubmission\n @Prop() submitSuccessful: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isSaving: boolean = false;\n @Prop() saveErrorMessage: string | null = null;\n @Prop() showAutoSaveStatus: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() handleSubmit: (values: any) => Promise<void>;\n @Prop() handleChange: (values: { [name: string]: any }) => void;\n @Prop() handleSave: (values: { [name: string]: any }) => Promise<void>;\n @Prop() handleAction: (actionId: Guid, params: Object) => void;\n @Prop() handleFinish: () => void;\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }; \n @Prop() isSubmitted: boolean = false;\n @Prop() dynamicSections: any[];\n @Prop() duplicateRepeatableSection: any;\n @Prop() deleteRepeatableSection: any;\n @Prop() isShowManualSaveIcon: boolean = false;\n @Prop() performBackgroundSaveAndUpdateLocalSubmissionState: (values: { [name: string]: any }) => Promise<void>;\n\n @State() showSavedMessage: boolean = false;\n\n @Event() formDirtyChange: EventEmitter<boolean>;\n\n @Element() el: HTMLElement;\n\n\n @State() isDialogOpen: boolean = false;\n @State() dialogAction: () => void;\n @State() dialogMessage: string = 'Are you sure you want to delete this section? This section contains links to follow-up forms. Deleting it will remove those links.';\n \n\n private savedMessageTimeoutId: any;\n\n private titleId: string = 'udp-forms-title';\n private descriptionId: string = 'udp-forms-description';\n\n componentDidLoad() {\n this.overrideStyles();\n }\n\n componentDidUpdate() {\n this.overrideStyles();\n }\n\n disconnectedCallback() {\n // Clean up timeout when component is destroyed\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n }\n\n @Watch('isSaving')\n watchIsSaving(newValue: boolean, oldValue: boolean) {\n console.log('isSaving watcher triggered:', { oldValue, newValue, saveErrorMessage: this.saveErrorMessage });\n\n // When isSaving changes from true to false (save completed successfully)\n if (oldValue === true && newValue === false && !this.saveErrorMessage) {\n console.log('Setting showSavedMessage to true');\n this.showSavedMessage = true;\n\n // Clear any existing timeout\n if (this.savedMessageTimeoutId) {\n clearTimeout(this.savedMessageTimeoutId);\n }\n\n // Hide the \"Saved\" message after 5 seconds\n this.savedMessageTimeoutId = setTimeout(() => {\n console.log('Hiding saved message after 5 seconds');\n this.showSavedMessage = false;\n }, 5000);\n }\n }\n\n overrideStyles() {\n const shadowRoot = (this as any).el?.shadowRoot;\n shadowRoot?.querySelectorAll('unity-typography').forEach(element => {\n const styleOverride =\n element.id === this.titleId ? this.udpForm?.styleOverrides?.titleText : element.id === this.descriptionId ? this.udpForm?.styleOverrides?.paragraphText : ({} as any);\n\n if (styleOverride?.fontFamily && fontOverrideMapping[styleOverride.fontFamily]) {\n overrideFont(element, fontOverrideMapping[styleOverride.fontFamily]);\n }\n if (styleOverride?.variant) {\n element.setAttribute('variant', styleOverride.variant);\n }\n });\n }\n\n private isSectionContainsFollowUpFormLink(sectionKey: string): boolean {\n const sectionObject = this.udpFormSubmission.data.submissionResponseData[sectionKey]\n\n for (const [_key, questionObject] of Object.entries(sectionObject) as any) {\n if (questionObject?.metadata && questionObject.metadata?.followUpFormSubmissionId) {\n return true;\n }\n }\n\n return false;\n }\n\n render() {\n if (this.isLoading) {\n return (\n <udp-linear-loader />\n );\n }\n\n if (!this.udpForm) {\n return (\n <div class=\"error-banner\">\n <unity-typography variant=\"body2\">Error Loading Form</unity-typography>\n </div>\n );\n }\n\n let questionNumber = 1;\n\n const sectionSet = new Set();\n this.udpForm.formQuestions.forEach(fq => sectionSet.add(fq.section));\n // const orderedSectionNumbers = [...sectionSet].sort((a: number, b: number) => a - b);\n\n const hiddenQuestionTypes = [UdpFormsFieldTypeEnum.Hidden, UdpFormsFieldTypeEnum.Paragraph];\n\n const backgroundOverrides: { backgroundImage?: string | null; backgroundColor?: string | null } = {};\n if (this.udpForm?.styleOverrides?.background?.backgroundImage) {\n // uncomment when we want to allow background images\n //backgroundOverrides.backgroundImage = `url(${this.udpForm?.styleOverrides?.background?.backgroundImage})`;\n } else if (this.udpForm?.styleOverrides?.background?.backgroundColor) {\n backgroundOverrides.backgroundColor = this.udpForm?.styleOverrides?.background?.backgroundColor;\n }\n return (\n <div class={'background'} style={backgroundOverrides}>\n <udp-container maxWidth=\"md\">\n <div class=\"form-container\">\n {!this.submitSuccessful ? (\n \n <stencil-form\n handleSubmit={this.handleSubmit}\n initialValues={this.currentValues}\n handleChange={this.handleChange}\n onDirtyChange={event => this.formDirtyChange.emit(event.detail)}\n >\n {this.readonly && \n (<div class=\"error-banner\">\n <unity-typography variant=\"body2\">View Only Mode. The contents of this form cannot be changed.</unity-typography>\n </div>)}\n <fluent-dialog\n open={this.isDialogOpen}\n message={this.dialogMessage}\n labelOne={'Confirm'}\n labelTwo={'Cancel'}\n actionOne={() => this.dialogAction()}\n actionTwo={() => (this.isDialogOpen = false)}\n />\n {/********** QUESTIONS *********/}\n <div>\n {/* <div class=\"header\" style={this.udpForm?.styleOverrides?.headerBackgroundColor ? { backgroundColor: this.udpForm?.styleOverrides?.headerBackgroundColor } : ''}> */}\n <div class=\"form-section-block\">\n <div\n class=\"form-renderer-header\"\n style={{\n ...(this.udpForm?.styleOverrides?.headerBackgroundColor && {\n backgroundColor: this.udpForm.styleOverrides.headerBackgroundColor,\n }),\n }}\n >\n <unity-typography id={this.titleId} variant={'h6'} color=\"inherit\">\n {this.udpForm.name}\n </unity-typography>\n\n {/* Auto-save status indicator for authenticated users */}\n {this.showAutoSaveStatus && (\n <div class=\"auto-save-status\">\n {/* {this.isSaving && (\n <unity-typography variant=\"body\" color=\"primary\">\n Saving...\n </unity-typography>\n )} */}\n {this.saveErrorMessage && (\n <unity-typography variant=\"body\" color=\"secondary\">\n {this.saveErrorMessage}\n </unity-typography>\n )}\n </div>\n )}\n {this.isShowManualSaveIcon && (\n <udp-save-draft-button\n isVisible={this.isShowManualSaveIcon}\n isSaving={this.isSaving}\n // saveErrorMessage={this.saveErrorMessage}\n showSavedMessage={this.showSavedMessage}\n handleSave={this.handleSave}\n />\n )}\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography id={this.descriptionId} variant={this.udpForm?.styleOverrides?.paragraphText?.variant ?? 'body'} color=\"inherit\">\n {this.udpForm.description}\n </unity-typography>\n </div>\n </div>\n </div>\n </div>\n {/* Save Button - moves between header and floating based on space */}\n {this.dynamicSections.map((section, sIndex) => {\n return (\n <div class=\"form-section-block\">\n <div class=\"form-section-header\">\n <div class=\"form-section-header-title\">\n <unity-typography variant=\"h6\" color=\"inherit\">\n {`${section.title}${section.sectionPositionSuffix > 1 ? ` (${section.sectionPositionSuffix})` : ''}`}\n </unity-typography>\n </div>\n <div class=\"form-section-header-actions\">\n {/* // Only show the add button if the section is repeatable and is the last in the repeat group */}\n {section.sectionProperties.isRepeatable && this.dynamicSections.filter(s => s.id === section.id).length === section.sectionPositionSuffix && !this.readonly && (\n <stencil-icon-button icon={getIconFromName('add')} tooltip=\"Repeat This Section\" onClick={() => this.duplicateRepeatableSection(sIndex)} />\n )}\n {/* // show the delete button if the section is repeatable and not the original section */}\n {!section.isOriginalSection && !this.readonly && (\n <stencil-icon-button \n icon={getIconFromName('subtract')} \n tooltip=\"Delete This Repeated Section\" \n onClick={\n () => {\n // e.stopPropagation();\n if (this.isSectionContainsFollowUpFormLink(`${section.name}_${section.sectionPositionSuffix}`)) {\n this.dialogAction = async () => {\n this.deleteRepeatableSection(sIndex)\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.isDialogOpen = false;\n }; \n } else {\n this.deleteRepeatableSection(sIndex)\n }\n \n this.isDialogOpen = true;\n }} />\n )}\n </div>\n </div>\n\n <div class=\"form-section-content\">\n <div class=\"items\">\n <div class=\"form-section-text\">\n <unity-typography variant=\"body\" color=\"inherit\">\n {section.sectionText}\n </unity-typography>\n </div>\n\n <div>\n {section.formQuestions.map((question: UdpFormQuestion) => {\n const isHidden = hiddenQuestionTypes.includes(question.fieldTypeId);\n const num: number = questionNumber;\n if (!isHidden) questionNumber++;\n\n const sectionKey = section.sectionPositionSuffix > 1 ? `${section.name}_${section.sectionPositionSuffix}` : `${section.name}`\n\n return (\n <div class=\"item\">\n <udp-question\n styleOverrides={{\n helperText: this.udpForm.styleOverrides?.helperText,\n paragraphText: this.udpForm.styleOverrides?.paragraphText,\n questionText: this.udpForm.styleOverrides?.questionText,\n }}\n question={question}\n questionNumber={num}\n value={this.currentValues?.[sectionKey]?.[question.name]?.value ?? ''}\n disabled={this.disabled}\n readonly={this.readonly}\n key={question.questionIdentifierKey}\n currentValues={this.currentValues}\n clientUserInfo={this.clientUserInfo}\n udpFormSubmission={this.udpFormSubmission}\n />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n );\n })}\n {this.udpFormSubmission?.status != UdpFormsSubmissionStatusEnum.Submitted && ( \n <div class=\"footer\">\n <input\n disabled={this.isLoading || this.disabled || this.readonly}\n type=\"submit\"\n value=\"Submit\"\n class=\"submit\"\n id=\"udpRecord-udp-forms-renderer-Submit\"\n onClick={() => {\n console.log('Submit button clicked');\n // Let the form handle the submit naturally\n }}\n />\n </div>\n )}\n </div>\n </stencil-form>\n ) : (\n //if the form has been submit, display success message with a button to trigger the action associated to the form\n <div class=\"center-div\">\n <udp-ambient-card>\n <div class=\"submit-card\">\n <unity-typography>Thank you for your submission.</unity-typography>\n {/* // No action configured for now. */}\n {/* <div class=\"finish-button\">\n <custom-button onClick={this.handleFinish}>Back</custom-button>\n </div> */}\n </div>\n </udp-ambient-card>\n </div>\n )}\n </div>\n </udp-container>\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,195 @@
1
+ import { UdpFormsFieldTypeEnum } from "../udp-forms-utils/enums";
2
+ // utility to find repeat group keys from current values
3
+ export const findRepeatGroupKeys = (sectionName, values) => {
4
+ const keys = Object.keys(values);
5
+ const repeatGroupSet = new Set();
6
+ // Match: sectionName_2
7
+ const regex = new RegExp(`^${sectionName}_(\\d+)`);
8
+ keys.forEach(key => {
9
+ const match = key.match(regex);
10
+ if (match && match[1]) {
11
+ repeatGroupSet.add(Number(match[1]));
12
+ }
13
+ });
14
+ return Array.from(repeatGroupSet).sort((a, b) => a - b);
15
+ };
16
+ // build dynamic sections based on the master form
17
+ export const initializeDynamicSections = (udpForm, currentValues) => {
18
+ var _a;
19
+ const dynamicSections = [];
20
+ const sortedSections = structuredClone(udpForm.udpFormUdpFormSection).sort((a, b) => a.order - b.order);
21
+ for (const section of sortedSections) {
22
+ section.sectionProperties = JSON.parse(section.sectionProperties || {});
23
+ const repeatGroupKeys = findRepeatGroupKeys(section.name, currentValues);
24
+ section.isOriginalSection = true;
25
+ section.sectionPositionSuffix = 1; // default position
26
+ // always add the original section into dynamic sections
27
+ dynamicSections.push(Object.assign(Object.assign({}, structuredClone(section)), {
28
+ // dynamicSectionName: section.name,
29
+ formQuestions: structuredClone(udpForm.formQuestions)
30
+ .filter(q => q.formSectionId === section.id)
31
+ .sort((a, b) => a.questionOrder - b.questionOrder)
32
+ .map(q => (Object.assign(Object.assign({}, q), { questionIdentifierKey: `${section.name}.${q.name}`, isShowCommentInput: true })))
33
+ }));
34
+ // create then add additional sections if there are repeated sections
35
+ if (((_a = section.sectionProperties) === null || _a === void 0 ? void 0 : _a.isRepeatable) && repeatGroupKeys.length > 0) {
36
+ const maxRepeatedSectionSuffix = Math.max(...repeatGroupKeys); // create a new section for the max value of repeat group keys, even if there are no saved answers
37
+ // for (const repeatKey of repeatGroupKeys) { // create a section only for the suffix saved
38
+ for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {
39
+ const clonedSection = Object.assign(Object.assign({}, structuredClone(section)), { formQuestions: structuredClone(udpForm.formQuestions)
40
+ .filter(q => q.formSectionId === section.id)
41
+ .sort((a, b) => a.questionOrder - b.questionOrder)
42
+ .map(q => (Object.assign(Object.assign({}, q), { questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}`, isShowCommentInput: true }))), isOriginalSection: false, sectionPositionSuffix: repeatKey });
43
+ dynamicSections.push(clonedSection);
44
+ }
45
+ }
46
+ }
47
+ return dynamicSections;
48
+ };
49
+ // urlContext is derived from query params that start with `udpf_` (see useUdpFormParameters).
50
+ // Keys are stored without the prefix, e.g. `udpf_section1_3.question1=val` -> urlContext['section1_3.question1'] = 'val'
51
+ // This helper finds the maximum repeat suffix requested by urlContext for a given section base name.
52
+ // Example: { 'sectionA_3.q1': 'x', 'sectionA_2.q2': 'y' } -> { sectionA: 3 }
53
+ export const getMaxRepeatSuffixBySectionFromUrlContext = (urlContext) => {
54
+ const context = (urlContext && typeof urlContext === 'object') ? urlContext : {};
55
+ const maxBySection = {};
56
+ Object.keys(context).forEach(key => {
57
+ var _a;
58
+ // Expect keys like: sectionName_3.questionName
59
+ // Only treat it as a repeat hint if it has a dot after the suffix.
60
+ const match = key.match(/^([^._?&#]+)_(\d+)\./);
61
+ if (!match)
62
+ return;
63
+ const baseSectionName = match[1];
64
+ const suffix = Number(match[2]);
65
+ if (!Number.isFinite(suffix) || suffix < 2)
66
+ return;
67
+ const existing = (_a = maxBySection[baseSectionName]) !== null && _a !== void 0 ? _a : 1;
68
+ if (suffix > existing)
69
+ maxBySection[baseSectionName] = suffix;
70
+ });
71
+ return maxBySection;
72
+ };
73
+ // build dynamic sections based on the master form plus optional repeat hints from URL context
74
+ export const initializeDynamicSectionsWithUrlContext = (udpForm, currentValues, urlContext) => {
75
+ var _a, _b;
76
+ const maxRepeatFromUrl = getMaxRepeatSuffixBySectionFromUrlContext(urlContext);
77
+ const dynamicSections = [];
78
+ const sortedSections = structuredClone(udpForm.udpFormUdpFormSection).sort((a, b) => a.order - b.order);
79
+ for (const section of sortedSections) {
80
+ section.sectionProperties = JSON.parse(section.sectionProperties || {});
81
+ const repeatGroupKeys = findRepeatGroupKeys(section.name, currentValues);
82
+ const maxRepeatedFromValues = repeatGroupKeys.length > 0 ? Math.max(...repeatGroupKeys) : 1;
83
+ const maxRepeatedFromUrl = (_a = maxRepeatFromUrl === null || maxRepeatFromUrl === void 0 ? void 0 : maxRepeatFromUrl[section.name]) !== null && _a !== void 0 ? _a : 1;
84
+ const maxRepeatedSectionSuffix = Math.max(maxRepeatedFromValues, maxRepeatedFromUrl);
85
+ section.isOriginalSection = true;
86
+ section.sectionPositionSuffix = 1; // default position
87
+ // always add the original section into dynamic sections
88
+ dynamicSections.push(Object.assign(Object.assign({}, structuredClone(section)), { formQuestions: structuredClone(udpForm.formQuestions)
89
+ .filter(q => q.formSectionId === section.id)
90
+ .sort((a, b) => a.questionOrder - b.questionOrder)
91
+ .map(q => (Object.assign(Object.assign({}, q), { questionIdentifierKey: `${section.name}.${q.name}`, isShowCommentInput: true }))) }));
92
+ // create then add additional sections if repeatable and suffix requested by saved values or url
93
+ if (((_b = section.sectionProperties) === null || _b === void 0 ? void 0 : _b.isRepeatable) && maxRepeatedSectionSuffix >= 2) {
94
+ for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {
95
+ const clonedSection = Object.assign(Object.assign({}, structuredClone(section)), { formQuestions: structuredClone(udpForm.formQuestions)
96
+ .filter(q => q.formSectionId === section.id)
97
+ .sort((a, b) => a.questionOrder - b.questionOrder)
98
+ .map(q => (Object.assign(Object.assign({}, q), { questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}`, isShowCommentInput: true }))), isOriginalSection: false, sectionPositionSuffix: repeatKey });
99
+ dynamicSections.push(clonedSection);
100
+ }
101
+ }
102
+ }
103
+ return dynamicSections;
104
+ };
105
+ export const applyUrlSeedValuesForAll = (dynamicSections, urlContext) => {
106
+ if (!Array.isArray(dynamicSections))
107
+ return;
108
+ // urlContext is derived from query params that start with `udpf_` (see useUdpFormParameters).
109
+ // Keys are stored without the prefix, e.g. `udpf_section1.question1=val` -> urlContext['section1.question1'] = 'val'
110
+ const context = (urlContext && typeof urlContext === 'object') ? urlContext : {};
111
+ // Build a case-insensitive view of urlContext so callers can use udpf_ keys without worrying about case.
112
+ // If duplicate keys exist with different casing, the last one encountered wins.
113
+ const contextCI = {};
114
+ Object.keys(context).forEach(k => {
115
+ contextCI[String(k).toLowerCase()] = context[k];
116
+ });
117
+ // 1) Collect URL values into nested structure: { [sectionKey]: { [questionName]: { value, comments: [] } } }
118
+ const urlValuesNested = {};
119
+ dynamicSections.forEach(section => {
120
+ const sectionKey = section.isOriginalSection
121
+ ? section.name
122
+ : `${section.name}_${section.sectionPositionSuffix}`;
123
+ (section.formQuestions || []).forEach(q => {
124
+ if (!q)
125
+ return;
126
+ const candidates = [q.processedSubmissionName, q.questionIdentifierKey, q.name].filter(Boolean);
127
+ let urlVal = undefined;
128
+ for (const c of candidates) {
129
+ const key = String(c).toLowerCase();
130
+ if (Object.prototype.hasOwnProperty.call(contextCI, key)) {
131
+ urlVal = contextCI[key];
132
+ break;
133
+ }
134
+ }
135
+ if (urlVal !== undefined && urlVal !== null) {
136
+ if (!urlValuesNested[sectionKey])
137
+ urlValuesNested[sectionKey] = {};
138
+ urlValuesNested[sectionKey][q.name] = { value: urlVal, comments: [] };
139
+ }
140
+ });
141
+ });
142
+ // Caller is responsible for merging with saved submissionResponseData.
143
+ // Here we only return the url-derived seed values + paragraph defaults.
144
+ const merged = {};
145
+ Object.entries(urlValuesNested).forEach(([sectionKey, qMap]) => {
146
+ if (!merged[sectionKey])
147
+ merged[sectionKey] = {};
148
+ Object.entries(qMap).forEach(([qName, valObj]) => {
149
+ const existing = merged[sectionKey][qName];
150
+ // Only set from URL if no saved value exists (null/undefined/empty-string)
151
+ const isMissing = existing == null ||
152
+ existing.value == null ||
153
+ (typeof existing.value === 'string' && existing.value.trim() === '');
154
+ if (isMissing) {
155
+ merged[sectionKey][qName] = valObj;
156
+ }
157
+ });
158
+ });
159
+ // 3) Paragraph defaults: if still undefined/null, use fieldProperties.paragraphText
160
+ dynamicSections.forEach(section => {
161
+ const sectionKey = section.isOriginalSection
162
+ ? section.name
163
+ : `${section.name}_${section.sectionPositionSuffix}`;
164
+ if (!merged[sectionKey])
165
+ merged[sectionKey] = {};
166
+ (section.formQuestions || []).forEach(q => {
167
+ var _a;
168
+ if (!q)
169
+ return;
170
+ if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {
171
+ const existing = merged[sectionKey][q.name];
172
+ const isMissing = existing == null ||
173
+ existing.value == null ||
174
+ (typeof existing.value === 'string' && existing.value.trim() === '');
175
+ if (isMissing) {
176
+ let fieldProps = q === null || q === void 0 ? void 0 : q.fieldProperties;
177
+ if (typeof fieldProps === 'string') {
178
+ try {
179
+ fieldProps = JSON.parse(fieldProps || '{}');
180
+ }
181
+ catch (_b) {
182
+ fieldProps = {};
183
+ }
184
+ }
185
+ merged[sectionKey][q.name] = {
186
+ value: (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.paragraphText) !== null && _a !== void 0 ? _a : '',
187
+ comments: [],
188
+ };
189
+ }
190
+ }
191
+ });
192
+ });
193
+ return merged;
194
+ };
195
+ //# sourceMappingURL=udp-forms-renderer-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udp-forms-renderer-utils.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { UdpFormsFieldTypeEnum } from '../udp-forms-utils/enums';\n\n// utility to find repeat group keys from current values\nexport const findRepeatGroupKeys = (sectionName: string, values: Object): number[] => {\n const keys = Object.keys(values);\n const repeatGroupSet = new Set<number>();\n\n // Match: sectionName_2\n const regex = new RegExp(`^${sectionName}_(\\\\d+)`);\n\n keys.forEach(key => {\n const match = key.match(regex);\n if (match && match[1]) {\n repeatGroupSet.add(Number(match[1]));\n }\n });\n\n return Array.from(repeatGroupSet).sort((a, b) => a - b);\n};\n\n\n// build dynamic sections based on the master form\nexport const initializeDynamicSections = (udpForm, currentValues) => {\n const dynamicSections: any[] = [];\n const sortedSections = structuredClone(udpForm.udpFormUdpFormSection).sort(\n (a, b) => a.order - b.order,\n );\n\n for (const section of sortedSections) {\n section.sectionProperties = JSON.parse(section.sectionProperties || {});\n const repeatGroupKeys = findRepeatGroupKeys(section.name, currentValues);\n section.isOriginalSection = true;\n section.sectionPositionSuffix = 1; // default position\n\n // always add the original section into dynamic sections\n dynamicSections.push({\n ...structuredClone(section),\n // dynamicSectionName: section.name,\n formQuestions: structuredClone(udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({\n ...q,\n questionIdentifierKey: `${section.name}.${q.name}`,\n isShowCommentInput: true,\n })),\n });\n\n // create then add additional sections if there are repeated sections\n if (section.sectionProperties?.isRepeatable && repeatGroupKeys.length > 0) {\n const maxRepeatedSectionSuffix = Math.max(...repeatGroupKeys); // create a new section for the max value of repeat group keys, even if there are no saved answers\n\n // for (const repeatKey of repeatGroupKeys) { // create a section only for the suffix saved\n for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {\n const clonedSection = {\n ...structuredClone(section),\n formQuestions: structuredClone(udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({\n ...q,\n questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}`,\n isShowCommentInput: true,\n })),\n isOriginalSection: false,\n sectionPositionSuffix: repeatKey,\n };\n dynamicSections.push(clonedSection);\n }\n }\n }\n\n return dynamicSections;\n};\n\n// urlContext is derived from query params that start with `udpf_` (see useUdpFormParameters).\n// Keys are stored without the prefix, e.g. `udpf_section1_3.question1=val` -> urlContext['section1_3.question1'] = 'val'\n// This helper finds the maximum repeat suffix requested by urlContext for a given section base name.\n// Example: { 'sectionA_3.q1': 'x', 'sectionA_2.q2': 'y' } -> { sectionA: 3 }\nexport const getMaxRepeatSuffixBySectionFromUrlContext = (urlContext: Record<string, any> | undefined | null) => {\n const context = (urlContext && typeof urlContext === 'object') ? urlContext : {};\n const maxBySection: Record<string, number> = {};\n\n Object.keys(context).forEach(key => {\n // Expect keys like: sectionName_3.questionName\n // Only treat it as a repeat hint if it has a dot after the suffix.\n const match = key.match(/^([^._?&#]+)_(\\d+)\\./);\n if (!match) return;\n const baseSectionName = match[1];\n const suffix = Number(match[2]);\n if (!Number.isFinite(suffix) || suffix < 2) return;\n\n const existing = maxBySection[baseSectionName] ?? 1;\n if (suffix > existing) maxBySection[baseSectionName] = suffix;\n });\n\n return maxBySection;\n};\n\n// build dynamic sections based on the master form plus optional repeat hints from URL context\nexport const initializeDynamicSectionsWithUrlContext = (udpForm, currentValues, urlContext) => {\n const maxRepeatFromUrl = getMaxRepeatSuffixBySectionFromUrlContext(urlContext);\n\n const dynamicSections: any[] = [];\n const sortedSections = structuredClone(udpForm.udpFormUdpFormSection).sort(\n (a, b) => a.order - b.order,\n );\n\n for (const section of sortedSections) {\n section.sectionProperties = JSON.parse(section.sectionProperties || {});\n\n const repeatGroupKeys = findRepeatGroupKeys(section.name, currentValues);\n const maxRepeatedFromValues = repeatGroupKeys.length > 0 ? Math.max(...repeatGroupKeys) : 1;\n const maxRepeatedFromUrl = maxRepeatFromUrl?.[section.name] ?? 1;\n const maxRepeatedSectionSuffix = Math.max(maxRepeatedFromValues, maxRepeatedFromUrl);\n\n section.isOriginalSection = true;\n section.sectionPositionSuffix = 1; // default position\n\n // always add the original section into dynamic sections\n dynamicSections.push({\n ...structuredClone(section),\n formQuestions: structuredClone(udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({\n ...q,\n questionIdentifierKey: `${section.name}.${q.name}`,\n isShowCommentInput: true,\n })),\n });\n\n // create then add additional sections if repeatable and suffix requested by saved values or url\n if (section.sectionProperties?.isRepeatable && maxRepeatedSectionSuffix >= 2) {\n for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {\n const clonedSection = {\n ...structuredClone(section),\n formQuestions: structuredClone(udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({\n ...q,\n questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}`,\n isShowCommentInput: true,\n })),\n isOriginalSection: false,\n sectionPositionSuffix: repeatKey,\n };\n dynamicSections.push(clonedSection);\n }\n }\n }\n\n return dynamicSections;\n};\n\n\nexport const applyUrlSeedValuesForAll = (dynamicSections, urlContext) => {\n if (!Array.isArray(dynamicSections)) return;\n\n // urlContext is derived from query params that start with `udpf_` (see useUdpFormParameters).\n // Keys are stored without the prefix, e.g. `udpf_section1.question1=val` -> urlContext['section1.question1'] = 'val'\n const context = (urlContext && typeof urlContext === 'object') ? urlContext : {};\n // Build a case-insensitive view of urlContext so callers can use udpf_ keys without worrying about case.\n // If duplicate keys exist with different casing, the last one encountered wins.\n const contextCI: Record<string, any> = {};\n Object.keys(context).forEach(k => {\n contextCI[String(k).toLowerCase()] = (context as any)[k];\n });\n\n // 1) Collect URL values into nested structure: { [sectionKey]: { [questionName]: { value, comments: [] } } }\n const urlValuesNested: {\n [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } };\n } = {};\n dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n const candidates = [q.processedSubmissionName, q.questionIdentifierKey, q.name].filter(\n Boolean,\n ) as string[];\n let urlVal: any = undefined;\n for (const c of candidates) {\n const key = String(c).toLowerCase();\n if (Object.prototype.hasOwnProperty.call(contextCI, key)) {\n urlVal = contextCI[key];\n break;\n }\n }\n if (urlVal !== undefined && urlVal !== null) {\n if (!urlValuesNested[sectionKey]) urlValuesNested[sectionKey] = {};\n urlValuesNested[sectionKey][q.name] = { value: urlVal, comments: [] };\n }\n });\n });\n\n // Caller is responsible for merging with saved submissionResponseData.\n // Here we only return the url-derived seed values + paragraph defaults.\n const merged: { [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } } } = {};\n Object.entries(urlValuesNested).forEach(([sectionKey, qMap]) => {\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n Object.entries(qMap).forEach(([qName, valObj]) => {\n const existing = merged[sectionKey][qName];\n // Only set from URL if no saved value exists (null/undefined/empty-string)\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n merged[sectionKey][qName] = valObj;\n }\n });\n });\n\n // 3) Paragraph defaults: if still undefined/null, use fieldProperties.paragraphText\n dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {\n const existing = merged[sectionKey][q.name];\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n let fieldProps: any = q?.fieldProperties;\n if (typeof fieldProps === 'string') {\n try {\n fieldProps = JSON.parse(fieldProps || '{}');\n } catch {\n fieldProps = {};\n }\n }\n merged[sectionKey][q.name] = {\n value: fieldProps?.paragraphText ?? '',\n comments: [],\n };\n }\n }\n });\n });\n\n return merged;\n};\n"]}