udp-stencil-component-library 25.18.1 → 25.18.2-beta.2

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 (416) 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 +5 -5
  3. package/dist/cjs/ag-grid-base_6.cjs.entry.js +2 -2
  4. package/dist/cjs/ambient-template-grid.cjs.entry.js +16 -16
  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 -0
  11. package/dist/cjs/{date-time-renderer_6.cjs.entry.js → date-time-renderer_7.cjs.entry.js} +43 -9
  12. package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
  13. package/dist/cjs/{enums-ibNZ4cZ4.js → enums-DVbZnzL8.js} +3 -2
  14. package/dist/cjs/enums-DVbZnzL8.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 -0
  18. package/dist/cjs/{image-upload_7.cjs.entry.js → form-metadata-display_8.cjs.entry.js} +70 -12
  19. package/dist/cjs/index-CGCOXUJE.js +4 -4
  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_3.cjs.entry.js +2 -2
  24. package/dist/cjs/question-configs-renderer_4.cjs.entry.js +12 -12
  25. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  26. package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
  27. package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
  28. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  29. package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
  30. package/dist/cjs/stencil-library.cjs.js +1 -1
  31. package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
  32. package/dist/cjs/text-field_2.cjs.entry.js +7 -7
  33. package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
  34. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  35. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  36. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  37. package/dist/cjs/udp-container_2.cjs.entry.js +3 -3
  38. package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
  39. package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
  40. package/dist/cjs/{udp-forms-builder-question-template-BlgDh7P5.js → udp-forms-builder-question-template-CNONS2l5.js} +10 -3
  41. package/dist/cjs/{udp-forms-builder-question-template-BlgDh7P5.js.map → udp-forms-builder-question-template-CNONS2l5.js.map} +1 -1
  42. package/dist/cjs/udp-forms-builder-style-override.cjs.entry.js +1 -1
  43. package/dist/cjs/udp-forms-builder.cjs.entry.js +3 -3
  44. package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -1
  45. package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +3 -3
  46. package/dist/cjs/udp-forms-list-card.cjs.entry.js +5 -5
  47. package/dist/cjs/udp-forms-list.cjs.entry.js +2 -2
  48. package/dist/cjs/udp-forms-renderer.cjs.entry.js +21 -18
  49. package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
  50. package/dist/cjs/udp-forms-ui.cjs.entry.js +7 -4
  51. package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
  52. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  53. package/dist/cjs/udp-menu-item.cjs.entry.js +1 -1
  54. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  55. package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
  56. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  57. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  58. package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
  59. package/dist/cjs/udp-tab.cjs.entry.js +1 -1
  60. package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
  61. package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
  62. package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
  63. package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
  64. package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
  65. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  66. package/dist/collection/collection-manifest.json +2 -0
  67. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.css +8 -0
  68. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js +173 -0
  69. 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 -0
  70. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +3 -3
  71. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +5 -5
  72. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js +2 -0
  73. 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
  74. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/section-configs-renderer/section-configs-renderer.js +3 -3
  75. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +1 -1
  76. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +2 -2
  77. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu/udp-forms-builder-menu.js +2 -2
  78. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js +7 -0
  79. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js.map +1 -1
  80. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override/udp-forms-builder-style-override.js +1 -1
  81. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +2 -2
  82. package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -1
  83. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +4 -4
  84. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js +1 -1
  85. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +2 -2
  86. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js +12 -37
  87. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js.map +1 -1
  88. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +19 -17
  89. package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -1
  90. package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js +40 -26
  91. package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js.map +1 -1
  92. package/dist/collection/components/forms/udp-forms/utils/classes/UdpFormSubmission.js +1 -0
  93. package/dist/collection/components/forms/udp-forms/utils/classes/UdpFormSubmission.js.map +1 -1
  94. package/dist/collection/components/forms/udp-forms/utils/enums.js +1 -0
  95. package/dist/collection/components/forms/udp-forms/utils/enums.js.map +1 -1
  96. package/dist/collection/components/grid/ag-table/ag-table.js +1 -1
  97. package/dist/collection/components/grid/ambient-template-grid/ambient-template-grid.js +16 -16
  98. package/dist/collection/components/grid/grid-primary-bar/grid-primary-bar.js +2 -2
  99. package/dist/collection/components/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js +1 -1
  100. package/dist/collection/components/grid/new-grid/ag-grid-base.js +1 -1
  101. package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
  102. package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
  103. package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
  104. package/dist/collection/components/grid/new-grid/search-method-grid.js +2 -1
  105. package/dist/collection/components/grid/new-grid/search-method-grid.js.map +1 -1
  106. package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
  107. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  108. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
  109. package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
  110. package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
  111. package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
  112. package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  113. package/dist/collection/components/inputs/form metadata display/form-metadata-display.css +37 -0
  114. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +191 -0
  115. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js.map +1 -0
  116. package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
  117. package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
  118. package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
  119. package/dist/collection/components/inputs/tally/tally.js +2 -2
  120. package/dist/collection/components/inputs/text-area/text-area.js +3 -3
  121. package/dist/collection/components/inputs/text-field/text-field.js +3 -3
  122. package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
  123. package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
  124. package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
  125. package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
  126. package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
  127. package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  128. package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  129. package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
  130. package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
  131. package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
  132. package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  133. package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  134. package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
  135. package/dist/collection/components/map/udp-map/map-component.js +1 -1
  136. package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
  137. package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  138. package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
  139. package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
  140. package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
  141. package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
  142. package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
  143. package/dist/collection/components/map/udp-map/udp-map.js +3 -3
  144. package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
  145. package/dist/collection/components/menu/udp-menu.js +1 -1
  146. package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
  147. package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
  148. package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
  149. package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
  150. package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
  151. package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
  152. package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
  153. package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
  154. package/dist/collection/components/timeline/udp-timeline.js +1 -1
  155. package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
  156. package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
  157. package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
  158. package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
  159. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  160. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  161. package/dist/components/add-map-feature-popup2.js +3 -3
  162. package/dist/components/ag-grid-base2.js +1 -1
  163. package/dist/components/ag-table2.js +1 -1
  164. package/dist/components/ambient-template-grid.js +16 -16
  165. package/dist/components/api-method-instance-grid.js +1 -1
  166. package/dist/components/app-bar.js +1 -1
  167. package/dist/components/check-box.js +2 -2
  168. package/dist/components/chip-section.js +2 -2
  169. package/dist/components/client-side-grid2.js +1 -1
  170. package/dist/components/entity-maintenance-grid.js +1 -1
  171. package/dist/components/enums.js +1 -0
  172. package/dist/components/enums.js.map +1 -1
  173. package/dist/components/feature-details-card2.js +4 -4
  174. package/dist/components/feature-details-popup2.js +1 -1
  175. package/dist/components/form-metadata-display-renderer.d.ts +11 -0
  176. package/dist/components/form-metadata-display-renderer.js +9 -0
  177. package/dist/components/form-metadata-display-renderer.js.map +1 -0
  178. package/dist/components/form-metadata-display-renderer2.js +74 -0
  179. package/dist/components/form-metadata-display-renderer2.js.map +1 -0
  180. package/dist/components/form-metadata-display.d.ts +11 -0
  181. package/dist/components/form-metadata-display.js +9 -0
  182. package/dist/components/form-metadata-display.js.map +1 -0
  183. package/dist/components/form-metadata-display2.js +77 -0
  184. package/dist/components/form-metadata-display2.js.map +1 -0
  185. package/dist/components/ghost-render2.js +1 -1
  186. package/dist/components/grid-primary-bar2.js +2 -2
  187. package/dist/components/image-upload2.js +1 -1
  188. package/dist/components/list-options-renderer2.js +3 -3
  189. package/dist/components/map-component2.js +1 -1
  190. package/dist/components/map-toolbar2.js +6 -6
  191. package/dist/components/numeric-field2.js +3 -3
  192. package/dist/components/question-configs-renderer2.js +15 -9
  193. package/dist/components/question-configs-renderer2.js.map +1 -1
  194. package/dist/components/question-specific-configs-renderer2.js +19 -4
  195. package/dist/components/question-specific-configs-renderer2.js.map +1 -1
  196. package/dist/components/resource-timeline-calendar.js +1 -1
  197. package/dist/components/resource-timeline-primary-bar2.js +2 -2
  198. package/dist/components/search-method-grid2.js +2 -1
  199. package/dist/components/search-method-grid2.js.map +1 -1
  200. package/dist/components/section-configs-renderer2.js +3 -3
  201. package/dist/components/select-layer-popup2.js +2 -2
  202. package/dist/components/server-side-grid2.js +1 -1
  203. package/dist/components/side-sheet-container2.js +1 -1
  204. package/dist/components/side-sheet2.js +1 -1
  205. package/dist/components/signature-input2.js +2 -2
  206. package/dist/components/signature-renderer2.js +1 -1
  207. package/dist/components/split-line-popup2.js +1 -1
  208. package/dist/components/stencil-toggle2.js +4 -4
  209. package/dist/components/tally.js +2 -2
  210. package/dist/components/text-area2.js +3 -3
  211. package/dist/components/text-field2.js +3 -3
  212. package/dist/components/text-input-renderer2.js +2 -2
  213. package/dist/components/udp-container-query-grid-item.js +1 -1
  214. package/dist/components/udp-container-query-grid.js +1 -1
  215. package/dist/components/udp-container-query2.js +2 -2
  216. package/dist/components/udp-container2.js +2 -2
  217. package/dist/components/udp-date-range-selector.js +1 -1
  218. package/dist/components/udp-date-selector2.js +3 -3
  219. package/dist/components/udp-datetime-selector2.js +3 -3
  220. package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
  221. package/dist/components/udp-forms-builder-menu2.js +2 -2
  222. package/dist/components/udp-forms-builder-style-override.js +1 -1
  223. package/dist/components/udp-forms-builder.js +15 -9
  224. package/dist/components/udp-forms-builder.js.map +1 -1
  225. package/dist/components/udp-forms-follow-up-list-card.js +2 -2
  226. package/dist/components/udp-forms-list-card2.js +4 -4
  227. package/dist/components/udp-forms-list.js +1 -1
  228. package/dist/components/udp-forms-renderer.js +32 -23
  229. package/dist/components/udp-forms-renderer.js.map +1 -1
  230. package/dist/components/udp-forms-ui2.js +19 -11
  231. package/dist/components/udp-forms-ui2.js.map +1 -1
  232. package/dist/components/udp-grid-loader2.js +2 -2
  233. package/dist/components/udp-hotlist-form2.js +1 -1
  234. package/dist/components/udp-linear-loader2.js +1 -1
  235. package/dist/components/udp-map-toolbar2.js +1 -1
  236. package/dist/components/udp-map.js +3 -3
  237. package/dist/components/udp-menu-item2.js +1 -1
  238. package/dist/components/udp-menu2.js +1 -1
  239. package/dist/components/udp-page.js +1 -1
  240. package/dist/components/udp-question2.js +33 -10
  241. package/dist/components/udp-question2.js.map +1 -1
  242. package/dist/components/udp-selector2.js +4 -4
  243. package/dist/components/udp-skeleton-loading2.js +1 -1
  244. package/dist/components/udp-split-screen.js +1 -1
  245. package/dist/components/udp-stepper-demo.js +1 -1
  246. package/dist/components/udp-tab-panel.js +2 -2
  247. package/dist/components/udp-tab.js +1 -1
  248. package/dist/components/udp-tabs2.js +2 -2
  249. package/dist/components/udp-time-selector2.js +3 -3
  250. package/dist/components/udp-timeline-connector.js +1 -1
  251. package/dist/components/udp-timeline-dot.js +1 -1
  252. package/dist/components/udp-timeline-item.js +2 -2
  253. package/dist/components/udp-timeline-separator.js +1 -1
  254. package/dist/components/udp-timeline.js +1 -1
  255. package/dist/components/udp-vertical-spacer.js +1 -1
  256. package/dist/docs.json +487 -103
  257. package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
  258. package/dist/esm/advanced-search_12.entry.js +5 -5
  259. package/dist/esm/ag-grid-base_6.entry.js +2 -2
  260. package/dist/esm/ambient-template-grid.entry.js +16 -16
  261. package/dist/esm/api-method-instance-grid.entry.js +1 -1
  262. package/dist/esm/app-bar.entry.js +1 -1
  263. package/dist/esm/check-box.entry.js +2 -2
  264. package/dist/esm/chip-section.entry.js +2 -2
  265. package/dist/esm/client-side-grid_2.entry.js +3 -3
  266. 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 -0
  267. package/dist/esm/{date-time-renderer_6.entry.js → date-time-renderer_7.entry.js} +43 -10
  268. package/dist/esm/entity-maintenance-grid.entry.js +1 -1
  269. package/dist/esm/{enums-BnKmfKJT.js → enums-CHxgVY-B.js} +3 -2
  270. package/dist/esm/enums-CHxgVY-B.js.map +1 -0
  271. package/dist/esm/feature-details-card_2.entry.js +5 -5
  272. package/dist/esm/filter-conditions_7.entry.js +2 -2
  273. 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 -0
  274. package/dist/esm/{image-upload_7.entry.js → form-metadata-display_8.entry.js} +71 -14
  275. package/dist/esm/index-CaZq3YdB.js +4 -4
  276. package/dist/esm/loader.js +1 -1
  277. package/dist/esm/map-component_2.entry.js +2 -2
  278. package/dist/esm/numeric-field_5.entry.js +15 -15
  279. package/dist/esm/primary-action-header_3.entry.js +2 -2
  280. package/dist/esm/question-configs-renderer_4.entry.js +12 -12
  281. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  282. package/dist/esm/search-method-grid.entry.js +2 -1
  283. package/dist/esm/search-method-grid.entry.js.map +1 -1
  284. package/dist/esm/server-side-grid.entry.js +1 -1
  285. package/dist/esm/side-sheet-container.entry.js +1 -1
  286. package/dist/esm/stencil-library.js +1 -1
  287. package/dist/esm/stencil-toggle.entry.js +4 -4
  288. package/dist/esm/text-field_2.entry.js +7 -7
  289. package/dist/esm/udp-chip_3.entry.js +1 -1
  290. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  291. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  292. package/dist/esm/udp-container-query.entry.js +2 -2
  293. package/dist/esm/udp-container_2.entry.js +3 -3
  294. package/dist/esm/udp-date-range-selector.entry.js +1 -1
  295. package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
  296. package/dist/esm/{udp-forms-builder-question-template-C60LMUS4.js → udp-forms-builder-question-template-DQJb7f4Y.js} +10 -3
  297. package/dist/{stencil-library/udp-forms-builder-question-template-C60LMUS4.js.map → esm/udp-forms-builder-question-template-DQJb7f4Y.js.map} +1 -1
  298. package/dist/esm/udp-forms-builder-style-override.entry.js +1 -1
  299. package/dist/esm/udp-forms-builder.entry.js +3 -3
  300. package/dist/esm/udp-forms-builder.entry.js.map +1 -1
  301. package/dist/esm/udp-forms-follow-up-list-card.entry.js +3 -3
  302. package/dist/esm/udp-forms-list-card.entry.js +5 -5
  303. package/dist/esm/udp-forms-list.entry.js +2 -2
  304. package/dist/esm/udp-forms-renderer.entry.js +21 -18
  305. package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
  306. package/dist/esm/udp-forms-ui.entry.js +7 -4
  307. package/dist/esm/udp-forms-ui.entry.js.map +1 -1
  308. package/dist/esm/udp-map.entry.js +3 -3
  309. package/dist/esm/udp-menu-item.entry.js +1 -1
  310. package/dist/esm/udp-page.entry.js +1 -1
  311. package/dist/esm/udp-skeleton-loading.entry.js +1 -1
  312. package/dist/esm/udp-split-screen.entry.js +1 -1
  313. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  314. package/dist/esm/udp-tab-panel.entry.js +2 -2
  315. package/dist/esm/udp-tab.entry.js +1 -1
  316. package/dist/esm/udp-timeline-connector.entry.js +1 -1
  317. package/dist/esm/udp-timeline-dot.entry.js +1 -1
  318. package/dist/esm/udp-timeline-item.entry.js +2 -2
  319. package/dist/esm/udp-timeline-separator.entry.js +1 -1
  320. package/dist/esm/udp-timeline.entry.js +1 -1
  321. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  322. package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
  323. package/dist/stencil-library/advanced-search_12.entry.js +1 -1
  324. package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
  325. package/dist/stencil-library/ambient-template-grid.entry.js +1 -1
  326. package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
  327. package/dist/stencil-library/app-bar.entry.js +1 -1
  328. package/dist/stencil-library/check-box.entry.js +1 -1
  329. package/dist/stencil-library/chip-section.entry.js +1 -1
  330. package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
  331. 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 -0
  332. package/dist/stencil-library/date-time-renderer_7.entry.js +2 -0
  333. package/dist/stencil-library/date-time-renderer_7.entry.js.map +1 -0
  334. package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
  335. package/dist/stencil-library/enums-CHxgVY-B.js +2 -0
  336. package/dist/stencil-library/enums-CHxgVY-B.js.map +1 -0
  337. package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
  338. package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
  339. 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 -0
  340. package/dist/stencil-library/form-metadata-display_8.entry.js +2 -0
  341. package/dist/stencil-library/form-metadata-display_8.entry.js.map +1 -0
  342. package/dist/stencil-library/map-component_2.entry.js +1 -1
  343. package/dist/stencil-library/numeric-field_5.entry.js +1 -1
  344. package/dist/stencil-library/primary-action-header_3.entry.js +1 -1
  345. package/dist/stencil-library/question-configs-renderer_4.entry.js +1 -1
  346. package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
  347. package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
  348. package/dist/stencil-library/search-method-grid.entry.js +1 -1
  349. package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
  350. package/dist/stencil-library/server-side-grid.entry.js +1 -1
  351. package/dist/stencil-library/side-sheet-container.entry.js +1 -1
  352. package/dist/stencil-library/stencil-library.esm.js +1 -1
  353. package/dist/stencil-library/stencil-toggle.entry.js +1 -1
  354. package/dist/stencil-library/text-field_2.entry.js +1 -1
  355. package/dist/stencil-library/udp-chip_3.entry.js +1 -1
  356. package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
  357. package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
  358. package/dist/stencil-library/udp-container-query.entry.js +1 -1
  359. package/dist/stencil-library/udp-container_2.entry.js +1 -1
  360. package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
  361. package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
  362. package/dist/stencil-library/{udp-forms-builder-question-template-C60LMUS4.js → udp-forms-builder-question-template-DQJb7f4Y.js} +2 -2
  363. package/dist/{esm/udp-forms-builder-question-template-C60LMUS4.js.map → stencil-library/udp-forms-builder-question-template-DQJb7f4Y.js.map} +1 -1
  364. package/dist/stencil-library/udp-forms-builder-style-override.entry.js +1 -1
  365. package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -1
  366. package/dist/stencil-library/udp-forms-builder.entry.js +1 -1
  367. package/dist/stencil-library/udp-forms-builder.entry.js.map +1 -1
  368. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
  369. package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
  370. package/dist/stencil-library/udp-forms-list-card.entry.js.map +1 -1
  371. package/dist/stencil-library/udp-forms-list.entry.js +1 -1
  372. package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -1
  373. package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
  374. package/dist/stencil-library/udp-forms-renderer.entry.js.map +1 -1
  375. package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -1
  376. package/dist/stencil-library/udp-forms-ui.entry.js +1 -1
  377. package/dist/stencil-library/udp-forms-ui.entry.js.map +1 -1
  378. package/dist/stencil-library/udp-map.entry.js +1 -1
  379. package/dist/stencil-library/udp-menu-item.entry.js +1 -1
  380. package/dist/stencil-library/udp-page.entry.js +1 -1
  381. package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
  382. package/dist/stencil-library/udp-split-screen.entry.js +1 -1
  383. package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
  384. package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
  385. package/dist/stencil-library/udp-tab.entry.js +1 -1
  386. package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
  387. package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
  388. package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
  389. package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
  390. package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
  391. package/dist/stencil-library/udp-timeline.entry.js +1 -1
  392. package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
  393. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.d.ts +11 -0
  394. package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.d.ts +70 -0
  395. package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.d.ts +5 -2
  396. package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +1 -3
  397. package/dist/types/components/forms/udp-forms/udp-question/udp-question.d.ts +8 -3
  398. package/dist/types/components/forms/udp-forms/utils/classes/UdpFormSubmission.d.ts +1 -0
  399. package/dist/types/components/forms/udp-forms/utils/enums.d.ts +2 -1
  400. package/dist/types/components/inputs/form metadata display/form-metadata-display.d.ts +62 -0
  401. package/dist/types/components.d.ts +178 -28
  402. package/package.json +2 -2
  403. package/dist/cjs/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.cjs.js.map +0 -1
  404. package/dist/cjs/enums-ibNZ4cZ4.js.map +0 -1
  405. package/dist/cjs/image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.cjs.js.map +0 -1
  406. package/dist/esm/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.js.map +0 -1
  407. package/dist/esm/enums-BnKmfKJT.js.map +0 -1
  408. package/dist/esm/image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.js.map +0 -1
  409. package/dist/stencil-library/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.esm.js.map +0 -1
  410. package/dist/stencil-library/date-time-renderer_6.entry.js +0 -2
  411. package/dist/stencil-library/date-time-renderer_6.entry.js.map +0 -1
  412. package/dist/stencil-library/enums-BnKmfKJT.js +0 -2
  413. package/dist/stencil-library/enums-BnKmfKJT.js.map +0 -1
  414. package/dist/stencil-library/image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.esm.js.map +0 -1
  415. package/dist/stencil-library/image-upload_7.entry.js +0 -2
  416. package/dist/stencil-library/image-upload_7.entry.js.map +0 -1
@@ -9,8 +9,12 @@ export class UdpQuestion {
9
9
  this.disabled = false;
10
10
  this.readonly = false;
11
11
  this.initialValues = {};
12
- this.userId = null;
13
- this.isCommentAllowed = false;
12
+ this.clientUserInfo = {
13
+ id: null,
14
+ displayName: null,
15
+ email: null,
16
+ };
17
+ this.udpFormSubmission = null;
14
18
  this.tallyData = { yesCount: 0, noCount: 0, naCount: 0, totalFields: 0 };
15
19
  this.formApi = null;
16
20
  }
@@ -113,7 +117,7 @@ export class UdpQuestion {
113
117
  this._fieldComponent = this.getFieldComponent();
114
118
  }
115
119
  getFieldComponent() {
116
- var _a, _b, _c, _d;
120
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
117
121
  const props = {
118
122
  name: `${this.question.questionIdentifierKey}.value`,
119
123
  required: this.question.required,
@@ -159,6 +163,20 @@ export class UdpQuestion {
159
163
  return (h("stencil-field", Object.assign({}, props), h("numeric-field", Object.assign({}, fieldProps))));
160
164
  case UdpFormsFieldTypeEnum.Tally:
161
165
  return (h("tally-display", Object.assign({ id: this.questionNumber, label: this.question.questionText || 'Response Tally', yesCount: this.tallyData.yesCount, noCount: this.tallyData.noCount, naCount: this.tallyData.naCount, totalFields: this.tallyData.totalFields }, fieldProps, { required: false })));
166
+ case UdpFormsFieldTypeEnum.FormMetadataDisplay:
167
+ {
168
+ const isPersistedSubmission = !!((_e = this.udpFormSubmission) === null || _e === void 0 ? void 0 : _e.id);
169
+ // If persisted, do NOT fall back to client user (avoids showing Person A while viewing Person B's submission)
170
+ const userDisplayName = isPersistedSubmission
171
+ ? ((_g = (_f = this.udpFormSubmission) === null || _f === void 0 ? void 0 : _f.userDisplayName) !== null && _g !== void 0 ? _g : null)
172
+ : ((_j = (_h = this.clientUserInfo) === null || _h === void 0 ? void 0 : _h.displayName) !== null && _j !== void 0 ? _j : null);
173
+ const userEmail = isPersistedSubmission
174
+ ? ((_l = (_k = this.udpFormSubmission) === null || _k === void 0 ? void 0 : _k.userEmail) !== null && _l !== void 0 ? _l : null)
175
+ : ((_o = (_m = this.clientUserInfo) === null || _m === void 0 ? void 0 : _m.email) !== null && _o !== void 0 ? _o : null);
176
+ const submittedOn = (_q = (_p = this.udpFormSubmission) === null || _p === void 0 ? void 0 : _p.submittedOn) !== null && _q !== void 0 ? _q : null;
177
+ return (h("form-metadata-display", Object.assign({ userDisplayName: userDisplayName, userEmail: userEmail, submittedOn: submittedOn }, fieldProps)));
178
+ }
179
+ ;
162
180
  case UdpFormsFieldTypeEnum.Hidden:
163
181
  default:
164
182
  return h("div", null);
@@ -214,7 +232,7 @@ export class UdpQuestion {
214
232
  this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });
215
233
  } }));
216
234
  }
217
- })()))), this.question.helperText && (h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText))), component, this.question.fieldProperties.allowFollowUpForms && (h("div", null, h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormId` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId` }, h("text-field", null)))), h("udp-question-comments", { question: this.question, initialValues: this.initialValues, userId: this.userId })));
235
+ })()))), this.question.helperText && (h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText))), component, this.question.fieldProperties.allowFollowUpForms && (h("div", null, h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormId` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId` }, h("text-field", null)))), this.question.fieldProperties.allowComments && (h("udp-question-comments", { question: this.question, initialValues: this.initialValues, userId: this.clientUserInfo.id }))));
218
236
  }
219
237
  static get is() { return "udp-question"; }
220
238
  static get encapsulation() { return "shadow"; }
@@ -372,19 +390,13 @@ export class UdpQuestion {
372
390
  "setter": false,
373
391
  "defaultValue": "{}"
374
392
  },
375
- "userId": {
376
- "type": "string",
393
+ "clientUserInfo": {
394
+ "type": "unknown",
377
395
  "mutable": false,
378
396
  "complexType": {
379
- "original": "Guid | null",
380
- "resolved": "string",
381
- "references": {
382
- "Guid": {
383
- "location": "import",
384
- "path": "../utils/types",
385
- "id": "src/components/forms/udp-forms/utils/types.ts::Guid"
386
- }
387
- }
397
+ "original": "{ id: string | null; displayName: string | null; email: string | null }",
398
+ "resolved": "{ id: string; displayName: string; email: string; }",
399
+ "references": {}
388
400
  },
389
401
  "required": false,
390
402
  "optional": false,
@@ -394,17 +406,21 @@ export class UdpQuestion {
394
406
  },
395
407
  "getter": false,
396
408
  "setter": false,
397
- "reflect": false,
398
- "attribute": "user-id",
399
- "defaultValue": "null"
409
+ "defaultValue": "{\n id: null,\n displayName: null,\n email: null,\n }"
400
410
  },
401
- "isCommentAllowed": {
402
- "type": "boolean",
411
+ "udpFormSubmission": {
412
+ "type": "unknown",
403
413
  "mutable": false,
404
414
  "complexType": {
405
- "original": "boolean",
406
- "resolved": "boolean",
407
- "references": {}
415
+ "original": "UdpFormSubmission",
416
+ "resolved": "UdpFormSubmission",
417
+ "references": {
418
+ "UdpFormSubmission": {
419
+ "location": "import",
420
+ "path": "../utils/classes/UdpFormSubmission",
421
+ "id": "src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts::UdpFormSubmission"
422
+ }
423
+ }
408
424
  },
409
425
  "required": false,
410
426
  "optional": false,
@@ -414,9 +430,7 @@ export class UdpQuestion {
414
430
  },
415
431
  "getter": false,
416
432
  "setter": false,
417
- "reflect": false,
418
- "attribute": "is-comment-allowed",
419
- "defaultValue": "false"
433
+ "defaultValue": "null"
420
434
  }
421
435
  };
422
436
  }
@@ -1 +1 @@
1
- {"version":3,"file":"udp-question.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-question/udp-question.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAEnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOpD,MAAM,OAAO,WAAW;IALxB;QASU,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAM1B,kBAAa,GAA4B,EAAE,CAAC;QAC5C,WAAM,GAAgB,IAAI,CAAC;QAC3B,qBAAgB,GAAY,KAAK,CAAC;QAKzB,cAAS,GAKtB,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3C,YAAO,GAAQ,IAAI,CAAC;KAkYtC;IAxXW,WAAW;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,yDAAyD;gBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CACxC,GAAG,EAAE;oBACH,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAC5C,CAAC;gBAEF,mDAAmD;gBAClD,IAAY,CAAC,kBAAkB,GAAG,WAAW,CAAC;gBAE/C,sBAAsB;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAElD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACtE,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,6BAA6B;YAC7B,gBAAgB,CAAC,OAAO,CAAC,CAAC,UAAe,EAAE,EAAE;gBAC3C,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;oBAC3F,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,qBAAqB,QAAQ,CAAC;oBACvE,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;wBAChE,IAAI,aAAa,EAAE,CAAC;4BAClB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC9B,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAExD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACvC,QAAQ,EAAE,CAAC;gBACb,CAAC;qBAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG;gBACf,QAAQ;gBACR,OAAO;gBACP,OAAO;gBACP,WAAW,EAAE,WAAW,CAAC,MAAM;aAChC,CAAC;YAEF,4CAA4C;YAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,SAAiB;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,KAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,KAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClD,CAAC;IAEO,iBAAiB;;QACvB,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,QAAQ;YACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;SACjC,CAAC;QAEF,MAAM,UAAU,mCAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAE,CAAC;QACnI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAClC,KAAK,qBAAqB,CAAC,cAAc;gBACvC,OAAO,CACL,qCAAmB,KAAK;oBACtB,kCAAgB,UAAU,EAAI,CAChB,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,aAAa;gBACtC,OAAO,CACL,qCAAmB,KAAK;oBACtB,+BAAW,SAAS,EAAE,IAAI,IAAM,UAAU,EAAI,CAChC,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,QAAQ;gBACjC,OAAO,CACL,qCAAmB,KAAK;oBACtB,qCAAiB,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,IAAM,UAAU,EAAI,CACjG,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,WAAW;gBACpC,OAAO,CACL,qCAAmB,KAAK;oBACtB,qCAAiB,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,EAAE,IAAI,IAAM,UAAU,EAAI,CAC9E,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,oBAAoB,CAAC;YAChD,KAAK,qBAAqB,CAAC,sBAAsB;gBAC/C,IAAI,OAAO,GAAqC,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,GAAG,mDAAG,KAAK,CAAC,EAAE,CAAC,iBAAG,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAK,UAAU,EAAG,CAAC,CAAC;gBACjJ,OAAO,CACL,qCAAmB,KAAK;oBACtB,kCAAc,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,sBAAsB,IAAM,UAAU,EAAI,CACnI,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,KAAK;gBAC9B,OAAO,CACL,qCAAmB,KAAK;oBACtB,qCACE,QAAQ,EAAC,OAAO,EAChB,UAAU,EAAC,SAAS,EACpB,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE;4BACL,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;4BACjC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;4BACjC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE;yBAC3C,IACG,UAAU,EACd,CACY,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,eAAe;gBACxC,OAAO,CACL,qCAAmB,KAAK;oBACtB,qCAAiB,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,EAAE,IAAI,IAAM,UAAU,EAAI,CAC9E,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,YAAY;gBACrC,OAAO,CACL,qCAAmB,KAAK;oBACtB,uCAAmB,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,IAAM,UAAU,EAAI,CAC3E,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,YAAY;gBACrC,OAAO,CACL,qCAAmB,KAAK;oBACtB,uCAAmB,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,IAAM,UAAU,EAAI,CAC3E,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,gBAAgB;gBACzC,OAAO,CACL,qCAAmB,KAAK;oBACtB,2CAAuB,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,IAAM,UAAU,EAAI,CACvF,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,UAAU;gBACnC,OAAO,CACL,qCAAmB,KAAK;oBACtB,iCAAa,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,IAAM,UAAU,EAAI,CACxD,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,WAAW;gBACpC,OAAO,CACL,qCAAmB,KAAK;oBACtB,kCAAc,SAAS,EAAE,IAAI,IAAM,UAAU,EAAI,CACnC,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,SAAS;gBAClC,OAAO,CACL;oBACE,qCAAmB,KAAK,IAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;wBACtM,uCAAqB,UAAU,IAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CACxC;oBAChB,qBAAgB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,8BAA8B;wBAC3H,kCAAgB,UAAU,IAAE,KAAK,EAAE,WAAW,IAAG,CACnC,CACZ,CACP,CAAC;YACJ,KAAK,qBAAqB,CAAC,SAAS;gBAClC,+FAA+F;gBAC/F,OAAO,CACL,qBAAe,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK;oBACtD,aAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,GAAI;oBACzE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,wBAAkB,EAAE,EAAE,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,0CAAE,OAAO,KAAI,MAAM,IACvH,IAAI,CAAC,KAAK,CACM,CACpB,CAAC,CAAC,CAAC,CACF,cAAO,CACR,CACa,CACjB,CAAC;YACJ,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,CACL,qCAAmB,KAAK;oBACtB,qCAAmB,UAAU,EAAI,CACnB,CACjB,CAAC;YAEJ,KAAK,qBAAqB,CAAC,KAAK;gBAC9B,OAAO,CACL,mCACE,EAAE,EAAE,IAAI,CAAC,cAAc,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,gBAAgB,EACrD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAC/B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAC/B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,IACnC,UAAU,IACd,QAAQ,EAAE,KAAK,IACf,CACH,CAAC;YACJ,KAAK,qBAAqB,CAAC,MAAM,CAAC;YAClC;gBACE,OAAO,cAAO,CAAC;QACnB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,gBAAgB;;QACpB,mEAAmE;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/E,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACzC,CAAC;QAED,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,oBAAoB,CAAC,IAAI,CAAC;gBACxB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACjC,YAAY,EAAE,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAG,QAAQ,CAAC,0CAAE,UAAU;gBACzD,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAG,QAAQ,CAAC,0CAAE,OAAO;aAClD,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;YACtC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU;gBAAE,OAAO;YAC5F,YAAY,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,UAAU,0CAAE,cAAc,mDAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM;;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAC/I,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAClG,EAAE,CAAC;QACH,kFAAkF;QAClF,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,QAAQ,CAAC;QACjE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,CACL,WACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,qBAAqB,CAAC,MAAM;gBACpE,oBAAoB,EAAE,IAAI;aAC3B;YAED,WAAK,KAAK,EAAC,qCAAqC;gBAC9C,WAAK,KAAK,EAAC,uCAAuC;oBAC/C,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAC7B,wBACE,EAAE,EAAE,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EACvC,OAAO,EAAE,CAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,0CAAE,OAAO,KAAI,IAAI,IAE1D,SAAS,CACO,CACpB;oBACD,eACC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,IAAI,CACnD,CAAC,GAAG,EAAE;;wBACJ,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,0CAAE,QAAQ,CAAC;wBACvE,MAAM,UAAU,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,wBAAwB,CAAC;wBACtD,IAAI,UAAU,EAAE,CAAC;4BACb,sDAAsD;4BACxD,MAAM,GAAG,GAAG,SAAS,kBAAkB,CAAC,kBAAkB,sBAAsB,UAAU,EAAE,CAAC;4BAC7F,OAAO,CACL,2BACE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAC,qBAAqB,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GACzC,CACH,CAAC;wBACJ,CAAC;wBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACnB,wDAAwD;4BACxD,OAAO,CACL,2BACE,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,EACjC,OAAO,EAAC,uBAAuB,EAC/B,OAAO,EAAE,GAAG,EAAE;oCACZ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;oCAC5C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gCACrE,CAAC,GACD,CACH,CAAC;wBACJ,CAAC;oBAEH,CAAC,CAAC,EAAE,CACL,CACK,CACF;gBACL,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAC3B,wBACE,EAAE,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EACrC,OAAO,EAAE,CAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,0CAAE,OAAO,KAAI,cAAc,IAElE,IAAI,CAAC,QAAQ,CAAC,UAAU,CACR,CACpB,CACG;YAEL,SAAS;YAET,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,IAAI,CACnD;gBACE,qBAAgB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,gCAAgC;oBACxG,qBAAc,CACA;gBAChB,qBAAe,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,qCAAqC;oBAC5G,qBAAc,CACA;gBAChB,qBAAe,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,0CAA0C;oBACjH,qBAAc,CACA,CACZ,CACP;YACD,6BACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,MAAM,EAAE,IAAI,CAAC,MAAM,GACnB,CACE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, ComponentInterface, Element, h, Prop, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion, Guid } from '../utils/types';\nimport { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { FontOverrides } from '../utils/types';\nimport { fontOverrideMapping, overrideFont } from '../utils/utils';\nimport { useFormApi } from '../../form/useFormApi';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { UdpFormsPageIdEnum } from '../utils/enums';\n\n@Component({\n tag: 'udp-question',\n styleUrl: 'udp-question.css',\n shadow: true,\n})\nexport class UdpQuestion {\n @Prop() question: UdpFormQuestion;\n @Prop() questionNumber: number;\n @Prop({ mutable: true }) value: string; // only used for Paragraph type (UdpFormsFieldTypeEnum.Paragraph)\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() styleOverrides: {\n helperText: FontOverrides;\n questionText: FontOverrides;\n paragraphText: FontOverrides;\n };\n @Prop() initialValues: { [name: string]: any } = {};\n @Prop() userId: Guid | null = null;\n @Prop() isCommentAllowed: boolean = false;\n\n @Event() launchFollowUpFormSideSheet: EventEmitter<any>;\n\n @State() private _fieldComponent: ComponentInterface;\n @State() private tallyData: {\n yesCount: number;\n noCount: number;\n naCount: number;\n totalFields: number;\n } = { yesCount: 0, noCount: 0, naCount: 0, totalFields: 0 };\n @State() private formApi: any = null;\n\n @Element() el: HTMLElement;\n\n @Watch('question')\n @Watch('questionNumber')\n @Watch('value')\n @Watch('disabled')\n @Watch('readonly')\n @Watch('styleOverrides')\n protected propChanged() {\n this.updateFieldComponent();\n }\n\n async componentWillLoad() {\n this.updateFieldComponent();\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally) {\n await this.initializeFormApiForTally();\n }\n }\n\n private async initializeFormApiForTally() {\n try {\n this.formApi = await useFormApi(this.el);\n\n if (this.formApi) {\n // Subscribe to form changes to update tally in real-time\n const unsubscribe = this.formApi.subscribe(\n () => {\n this.calculateTally();\n },\n { active: true, dirty: true, values: true },\n );\n\n // Store unsubscribe function for cleanup if needed\n (this as any).unsubscribeFormApi = unsubscribe;\n\n // Initial calculation\n this.calculateTally();\n }\n } catch (error) {\n console.error('Failed to initialize form API for tally:', error);\n }\n }\n\n private calculateTally() {\n if (!this.formApi || this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Tally) {\n return;\n }\n\n try {\n const formValues = this.formApi.getState().values;\n\n const formElement = this.el.closest('stencil-form');\n if (!formElement) {\n return;\n }\n\n // Get all udp-question elements in the form\n const questionElements = formElement.querySelectorAll('udp-question');\n const yesNoFields: string[] = [];\n\n // Identify YesNo field types\n questionElements.forEach((questionEl: any) => {\n if (questionEl.question && questionEl.question.fieldTypeId === UdpFormsFieldTypeEnum.YesNo) {\n const fieldName = `${questionEl.question.questionIdentifierKey}.value`;\n if (fieldName) {\n const shouldInclude = this.shouldIncludeFieldInTally(fieldName);\n if (shouldInclude) {\n yesNoFields.push(fieldName);\n }\n }\n }\n });\n\n // Count Yes/No/NA responses\n let yesCount = 0;\n let noCount = 0;\n let naCount = 0;\n\n yesNoFields.forEach(fieldName => {\n const [sectionKey, questionKey] = fieldName.split(\".\");\n const value = formValues[sectionKey][questionKey].value;\n\n if (value === 'true' || value === true) {\n yesCount++;\n } else if (value === 'false' || value === false) {\n noCount++;\n } else if (value === 'na') {\n naCount++;\n }\n });\n\n this.tallyData = {\n yesCount,\n noCount,\n naCount,\n totalFields: yesNoFields.length,\n };\n\n // Force a re-render to update the component\n this.updateFieldComponent();\n } catch (error) {\n console.error('Error calculating tally:', error);\n }\n }\n\n private shouldIncludeFieldInTally(fieldName: string): boolean {\n const fieldProps = this.question.fieldProperties;\n\n // If includeFields is specified, only include those fields\n if (fieldProps?.includeFields && fieldProps.includeFields.length > 0) {\n return fieldProps.includeFields.includes(fieldName);\n }\n\n // If excludeFields is specified, exclude those fields\n if (fieldProps?.excludeFields && fieldProps.excludeFields.length > 0) {\n return !fieldProps.excludeFields.includes(fieldName);\n }\n\n // Include all fields by default\n return true;\n }\n\n private updateFieldComponent() {\n this._fieldComponent = this.getFieldComponent();\n }\n\n private getFieldComponent(): ComponentInterface {\n const props = {\n name: `${this.question.questionIdentifierKey}.value`,\n required: this.question.required,\n };\n\n const fieldProps = { ...this.question.fieldProperties, id: this.questionNumber, disabled: this.disabled, readonly: this.readonly };\n switch (this.question.fieldTypeId) {\n case UdpFormsFieldTypeEnum.SingleLineText:\n return (\n <stencil-field {...props}>\n <text-field {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.MultiLineText:\n return (\n <stencil-field {...props}>\n <text-area fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Checkbox:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.RadioButton:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DropdownSingleSelect:\n case UdpFormsFieldTypeEnum.DropdownMultipleSelect:\n let options: { label: string; value: string } = fieldProps?.items?.map?.(items => ({ label: items.display, value: items.value, ...fieldProps }));\n return (\n <stencil-field {...props}>\n <udp-selector options={options ?? []} multiSelect={this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.YesNo:\n return (\n <stencil-field {...props}>\n <selectable-list\n valueKey=\"value\"\n displayKey=\"display\"\n useCheckbox={true} // Use radio buttons\n multiSelect={false}\n items={[\n { value: 'true', display: 'Yes' },\n { value: 'false', display: 'No' },\n { value: 'na', display: 'Not Applicable' },\n ]}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ListMultiSelect:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateSelector:\n return (\n <stencil-field {...props}>\n <udp-date-selector min={fieldProps?.minDate} max={fieldProps?.maxDate} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.TimeSelector:\n return (\n <stencil-field {...props}>\n <udp-time-selector min={fieldProps?.minTime} max={fieldProps?.maxTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateTimeSelector:\n return (\n <stencil-field {...props}>\n <udp-datetime-selector max={fieldProps?.maxDateTime} min={fieldProps?.minDateTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.FileUpload:\n return (\n <stencil-field {...props}>\n <file-upload fullWidth={true} allowMultiple={false} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ImageUpload:\n return (\n <stencil-field {...props}>\n <image-upload fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Signature:\n return (\n <div>\n <stencil-field {...props} fieldIdentifierKey={`${this.question.questionIdentifierKey}`} registerMetadata={true} metadataFieldNames={['signature.latitude', 'signature.longitude', 'signature.timestamp']}>\n <signature-input {...fieldProps} value={this.value} />\n </stencil-field>\n <stencil-field required={this.question.required} name={ `${this.question.questionIdentifierKey}.metadata.signature.fullName`}>\n <text-field {...fieldProps} label={'Full Name'}/>\n </stencil-field>\n </div>\n );\n case UdpFormsFieldTypeEnum.Paragraph:\n // Wrap in stencil-field and include a hidden input so the value is part of the form submission\n return (\n <stencil-field name={this.question.name} required={false}>\n <input type=\"hidden\" name={this.question.name} value={this.value || ''} />\n {this.value ? (\n <unity-typography id={`paragraphText${this.question.name}`} variant={this.styleOverrides?.paragraphText?.variant || 'body'}>\n {this.value}\n </unity-typography>\n ) : (\n <div />\n )}\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Number:\n return (\n <stencil-field {...props}>\n <numeric-field {...fieldProps} />\n </stencil-field>\n );\n\n case UdpFormsFieldTypeEnum.Tally:\n return (\n <tally-display\n id={this.questionNumber}\n label={this.question.questionText || 'Response Tally'}\n yesCount={this.tallyData.yesCount}\n noCount={this.tallyData.noCount}\n naCount={this.tallyData.naCount}\n totalFields={this.tallyData.totalFields}\n {...fieldProps}\n required={false}\n />\n );\n case UdpFormsFieldTypeEnum.Hidden:\n default:\n return <div />;\n }\n }\n async componentDidLoad() {\n // If form API wasn't available during componentWillLoad, try again\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally && !this.formApi) {\n await this.initializeFormApiForTally();\n }\n\n // override the fonts based on style overrides\n const variantsAndOverrides = [];\n for (const override in this.styleOverrides) {\n variantsAndOverrides.push({\n id: override + this.question.name,\n fontOverride: this.styleOverrides?.[override]?.fontFamily,\n variant: this.styleOverrides?.[override]?.variant,\n });\n }\n variantsAndOverrides.forEach(override => {\n if (!fontOverrideMapping[override?.fontOverride] || !this.el || !this.el.shadowRoot) return;\n overrideFont(this.el?.shadowRoot?.getElementById?.(override.id), fontOverrideMapping[override?.fontOverride]);\n });\n }\n render() {\n const component = this._fieldComponent;\n const titleText = `${this.question.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${\n this.question.required && this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Paragraph ? '*' : ''\n }`;\n // const commentFieldProps = { disabled: this.disabled, readonly: this.readonly };\n const fieldName = `${this.question.questionIdentifierKey}.value`;\n const [sectionKey, questionKey] = fieldName.split(\".\");\n\n if (!component) return null;\n return (\n <div\n class={{\n 'hidden': this.question.fieldTypeId === UdpFormsFieldTypeEnum.Hidden,\n 'question-container': true,\n }}\n >\n <div class=\"question-title-and-helper-container\">\n <div class=\"question-title-and-followup-container\">\n {this.question.questionText && (\n <unity-typography\n id={`questionText${this.question.name}`}\n variant={this.styleOverrides?.questionText?.variant || 'h3'}\n >\n {titleText}\n </unity-typography>\n )}\n <div>\n {this.question.fieldProperties.allowFollowUpForms && (\n (() => {\n const metadata = this.initialValues[sectionKey][questionKey]?.metadata;\n const followUpId = metadata?.followUpFormSubmissionId;\n if (followUpId) {\n // Valid GUID → show arrow icon to open follow-up form\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${followUpId}`;\n return (\n <stencil-icon-button\n icon={getIconFromName('link')}\n tooltip=\"Open Follow-Up Form\"\n onClick={() => window.open(url, '_blank')}\n />\n );\n }\n\n if (!this.readonly) {\n // No valid follow-up yet → show link icon to create one\n return (\n <stencil-icon-button\n icon={getIconFromName('document')}\n tooltip=\"Create Follow-Up Form\"\n onClick={() => {\n console.log('clicked create follow up form')\n this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });\n }}\n />\n );\n }\n \n })()\n )}\n </div>\n </div>\n {this.question.helperText && (\n <unity-typography\n id={`helperText${this.question.name}`}\n variant={this.styleOverrides?.helperText?.variant || 'caption-text'}\n >\n {this.question.helperText}\n </unity-typography>\n )}\n </div>\n\n {component}\n\n {this.question.fieldProperties.allowFollowUpForms && (\n <div>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormId`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId`}>\n <text-field />\n </stencil-field>\n </div>\n )}\n <udp-question-comments\n question={this.question}\n initialValues={this.initialValues}\n userId={this.userId}\n />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"udp-question.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-question/udp-question.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Element, h, Prop, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion } from '../utils/types';\nimport { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { FontOverrides } from '../utils/types';\nimport { fontOverrideMapping, overrideFont } from '../utils/utils';\nimport { useFormApi } from '../../form/useFormApi';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { UdpFormsPageIdEnum } from '../utils/enums';\nimport { UdpFormSubmission } from '../utils/classes/UdpFormSubmission';\n\n@Component({\n tag: 'udp-question',\n styleUrl: 'udp-question.css',\n shadow: true,\n})\nexport class UdpQuestion {\n @Prop() question: UdpFormQuestion;\n @Prop() questionNumber: number;\n @Prop({ mutable: true }) value: string; // only used for Paragraph type (UdpFormsFieldTypeEnum.Paragraph)\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() styleOverrides: {\n helperText: FontOverrides;\n questionText: FontOverrides;\n paragraphText: FontOverrides;\n };\n @Prop() initialValues: { [name: string]: any } = {};\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }\n @Prop() udpFormSubmission: UdpFormSubmission = null;\n\n @Event() launchFollowUpFormSideSheet: EventEmitter<any>;\n\n @State() private _fieldComponent: ComponentInterface;\n @State() private tallyData: {\n yesCount: number;\n noCount: number;\n naCount: number;\n totalFields: number;\n } = { yesCount: 0, noCount: 0, naCount: 0, totalFields: 0 };\n @State() private formApi: any = null;\n\n @Element() el: HTMLElement;\n\n @Watch('question')\n @Watch('questionNumber')\n @Watch('value')\n @Watch('disabled')\n @Watch('readonly')\n @Watch('styleOverrides')\n protected propChanged() {\n this.updateFieldComponent();\n }\n\n async componentWillLoad() {\n this.updateFieldComponent();\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally) {\n await this.initializeFormApiForTally();\n }\n }\n\n private async initializeFormApiForTally() {\n try {\n this.formApi = await useFormApi(this.el);\n\n if (this.formApi) {\n // Subscribe to form changes to update tally in real-time\n const unsubscribe = this.formApi.subscribe(\n () => {\n this.calculateTally();\n },\n { active: true, dirty: true, values: true },\n );\n\n // Store unsubscribe function for cleanup if needed\n (this as any).unsubscribeFormApi = unsubscribe;\n\n // Initial calculation\n this.calculateTally();\n }\n } catch (error) {\n console.error('Failed to initialize form API for tally:', error);\n }\n }\n\n private calculateTally() {\n if (!this.formApi || this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Tally) {\n return;\n }\n\n try {\n const formValues = this.formApi.getState().values;\n\n const formElement = this.el.closest('stencil-form');\n if (!formElement) {\n return;\n }\n\n // Get all udp-question elements in the form\n const questionElements = formElement.querySelectorAll('udp-question');\n const yesNoFields: string[] = [];\n\n // Identify YesNo field types\n questionElements.forEach((questionEl: any) => {\n if (questionEl.question && questionEl.question.fieldTypeId === UdpFormsFieldTypeEnum.YesNo) {\n const fieldName = `${questionEl.question.questionIdentifierKey}.value`;\n if (fieldName) {\n const shouldInclude = this.shouldIncludeFieldInTally(fieldName);\n if (shouldInclude) {\n yesNoFields.push(fieldName);\n }\n }\n }\n });\n\n // Count Yes/No/NA responses\n let yesCount = 0;\n let noCount = 0;\n let naCount = 0;\n\n yesNoFields.forEach(fieldName => {\n const [sectionKey, questionKey] = fieldName.split(\".\");\n const value = formValues[sectionKey][questionKey].value;\n\n if (value === 'true' || value === true) {\n yesCount++;\n } else if (value === 'false' || value === false) {\n noCount++;\n } else if (value === 'na') {\n naCount++;\n }\n });\n\n this.tallyData = {\n yesCount,\n noCount,\n naCount,\n totalFields: yesNoFields.length,\n };\n\n // Force a re-render to update the component\n this.updateFieldComponent();\n } catch (error) {\n console.error('Error calculating tally:', error);\n }\n }\n\n private shouldIncludeFieldInTally(fieldName: string): boolean {\n const fieldProps = this.question.fieldProperties;\n\n // If includeFields is specified, only include those fields\n if (fieldProps?.includeFields && fieldProps.includeFields.length > 0) {\n return fieldProps.includeFields.includes(fieldName);\n }\n\n // If excludeFields is specified, exclude those fields\n if (fieldProps?.excludeFields && fieldProps.excludeFields.length > 0) {\n return !fieldProps.excludeFields.includes(fieldName);\n }\n\n // Include all fields by default\n return true;\n }\n\n private updateFieldComponent() {\n this._fieldComponent = this.getFieldComponent();\n }\n\n private getFieldComponent(): ComponentInterface {\n const props = {\n name: `${this.question.questionIdentifierKey}.value`,\n required: this.question.required,\n };\n\n const fieldProps = { ...this.question.fieldProperties, id: this.questionNumber, disabled: this.disabled, readonly: this.readonly };\n switch (this.question.fieldTypeId) {\n case UdpFormsFieldTypeEnum.SingleLineText:\n return (\n <stencil-field {...props}>\n <text-field {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.MultiLineText:\n return (\n <stencil-field {...props}>\n <text-area fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Checkbox:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.RadioButton:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DropdownSingleSelect:\n case UdpFormsFieldTypeEnum.DropdownMultipleSelect:\n let options: { label: string; value: string } = fieldProps?.items?.map?.(items => ({ label: items.display, value: items.value, ...fieldProps }));\n return (\n <stencil-field {...props}>\n <udp-selector options={options ?? []} multiSelect={this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.YesNo:\n return (\n <stencil-field {...props}>\n <selectable-list\n valueKey=\"value\"\n displayKey=\"display\"\n useCheckbox={true} // Use radio buttons\n multiSelect={false}\n items={[\n { value: 'true', display: 'Yes' },\n { value: 'false', display: 'No' },\n { value: 'na', display: 'Not Applicable' },\n ]}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ListMultiSelect:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateSelector:\n return (\n <stencil-field {...props}>\n <udp-date-selector min={fieldProps?.minDate} max={fieldProps?.maxDate} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.TimeSelector:\n return (\n <stencil-field {...props}>\n <udp-time-selector min={fieldProps?.minTime} max={fieldProps?.maxTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateTimeSelector:\n return (\n <stencil-field {...props}>\n <udp-datetime-selector max={fieldProps?.maxDateTime} min={fieldProps?.minDateTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.FileUpload:\n return (\n <stencil-field {...props}>\n <file-upload fullWidth={true} allowMultiple={false} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ImageUpload:\n return (\n <stencil-field {...props}>\n <image-upload fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Signature:\n return (\n <div>\n <stencil-field {...props} fieldIdentifierKey={`${this.question.questionIdentifierKey}`} registerMetadata={true} metadataFieldNames={['signature.latitude', 'signature.longitude', 'signature.timestamp']}>\n <signature-input {...fieldProps} value={this.value} />\n </stencil-field>\n <stencil-field required={this.question.required} name={ `${this.question.questionIdentifierKey}.metadata.signature.fullName`}>\n <text-field {...fieldProps} label={'Full Name'}/>\n </stencil-field>\n </div>\n );\n case UdpFormsFieldTypeEnum.Paragraph:\n // Wrap in stencil-field and include a hidden input so the value is part of the form submission\n return (\n <stencil-field name={this.question.name} required={false}>\n <input type=\"hidden\" name={this.question.name} value={this.value || ''} />\n {this.value ? (\n <unity-typography id={`paragraphText${this.question.name}`} variant={this.styleOverrides?.paragraphText?.variant || 'body'}>\n {this.value}\n </unity-typography>\n ) : (\n <div />\n )}\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Number:\n return (\n <stencil-field {...props}>\n <numeric-field {...fieldProps} />\n </stencil-field>\n );\n\n case UdpFormsFieldTypeEnum.Tally:\n return (\n <tally-display\n id={this.questionNumber}\n label={this.question.questionText || 'Response Tally'}\n yesCount={this.tallyData.yesCount}\n noCount={this.tallyData.noCount}\n naCount={this.tallyData.naCount}\n totalFields={this.tallyData.totalFields}\n {...fieldProps}\n required={false}\n />\n );\n case UdpFormsFieldTypeEnum.FormMetadataDisplay: {\n const isPersistedSubmission = !!this.udpFormSubmission?.id;\n\n // If persisted, do NOT fall back to client user (avoids showing Person A while viewing Person B's submission)\n const userDisplayName = isPersistedSubmission\n ? (this.udpFormSubmission?.userDisplayName ?? null)\n : (this.clientUserInfo?.displayName ?? null);\n\n const userEmail = isPersistedSubmission\n ? (this.udpFormSubmission?.userEmail ?? null)\n : (this.clientUserInfo?.email ?? null);\n\n const submittedOn = this.udpFormSubmission?.submittedOn ?? null;\n\n return (\n <form-metadata-display\n userDisplayName={userDisplayName}\n userEmail={userEmail}\n submittedOn={submittedOn}\n {...fieldProps}\n />\n );\n };\n case UdpFormsFieldTypeEnum.Hidden:\n default:\n return <div />;\n }\n }\n async componentDidLoad() {\n // If form API wasn't available during componentWillLoad, try again\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally && !this.formApi) {\n await this.initializeFormApiForTally();\n }\n\n // override the fonts based on style overrides\n const variantsAndOverrides = [];\n for (const override in this.styleOverrides) {\n variantsAndOverrides.push({\n id: override + this.question.name,\n fontOverride: this.styleOverrides?.[override]?.fontFamily,\n variant: this.styleOverrides?.[override]?.variant,\n });\n }\n variantsAndOverrides.forEach(override => {\n if (!fontOverrideMapping[override?.fontOverride] || !this.el || !this.el.shadowRoot) return;\n overrideFont(this.el?.shadowRoot?.getElementById?.(override.id), fontOverrideMapping[override?.fontOverride]);\n });\n }\n render() {\n const component = this._fieldComponent;\n const titleText = `${this.question.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${\n this.question.required && this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Paragraph ? '*' : ''\n }`;\n // const commentFieldProps = { disabled: this.disabled, readonly: this.readonly };\n const fieldName = `${this.question.questionIdentifierKey}.value`;\n const [sectionKey, questionKey] = fieldName.split(\".\");\n\n if (!component) return null;\n return (\n <div\n class={{\n 'hidden': this.question.fieldTypeId === UdpFormsFieldTypeEnum.Hidden,\n 'question-container': true,\n }}\n >\n <div class=\"question-title-and-helper-container\">\n <div class=\"question-title-and-followup-container\">\n {this.question.questionText && (\n <unity-typography\n id={`questionText${this.question.name}`}\n variant={this.styleOverrides?.questionText?.variant || 'h3'}\n >\n {titleText}\n </unity-typography>\n )}\n <div>\n {this.question.fieldProperties.allowFollowUpForms && (\n (() => {\n const metadata = this.initialValues[sectionKey][questionKey]?.metadata;\n const followUpId = metadata?.followUpFormSubmissionId;\n if (followUpId) {\n // Valid GUID → show arrow icon to open follow-up form\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${followUpId}`;\n return (\n <stencil-icon-button\n icon={getIconFromName('link')}\n tooltip=\"Open Follow-Up Form\"\n onClick={() => window.open(url, '_blank')}\n />\n );\n }\n\n if (!this.readonly) {\n // No valid follow-up yet → show link icon to create one\n return (\n <stencil-icon-button\n icon={getIconFromName('document')}\n tooltip=\"Create Follow-Up Form\"\n onClick={() => {\n console.log('clicked create follow up form')\n this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });\n }}\n />\n );\n }\n \n })()\n )}\n </div>\n </div>\n {this.question.helperText && (\n <unity-typography\n id={`helperText${this.question.name}`}\n variant={this.styleOverrides?.helperText?.variant || 'caption-text'}\n >\n {this.question.helperText}\n </unity-typography>\n )}\n </div>\n\n {component}\n\n {this.question.fieldProperties.allowFollowUpForms && (\n <div>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormId`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId`}>\n <text-field />\n </stencil-field>\n </div>\n )}\n {this.question.fieldProperties.allowComments && (\n <udp-question-comments\n question={this.question}\n initialValues={this.initialValues}\n userId={this.clientUserInfo.id}\n />\n )}\n </div>\n );\n }\n}\n"]}
@@ -19,6 +19,7 @@ export class UdpFormSubmission {
19
19
  this.generic1 = null;
20
20
  this.generic2 = null;
21
21
  this.generic3 = null;
22
+ this.userEmail = null;
22
23
  Object.assign(this, initialData);
23
24
  }
24
25
  // =============================
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormSubmission.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts"],"names":[],"mappings":"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","sourcesContent":["import { UdpFormSubmissionStatus } from '../types';\nimport { Guid, UdpTag } from 'src/global/types';\nimport { createFormData } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from '../form-submission-handler/formUtils';\n\n\nexport class UdpFormSubmission {\n id: Guid | null = null;\n formId: Guid | null = null;\n formVersion: number | null = null;\n data: any | null = {};\n unityUserId: Guid | null = null;\n clusterId: number | null = null;\n userDisplayName: string | null = '';\n status: UdpFormSubmissionStatus | null = null;\n businessObjectKey: string | null = '';\n udpTags: UdpTag[] | null = [];\n form: any | null = null;\n initialCreatedOn: Date | null = null;\n lastModifiedOn: Date | null = null;\n submittedOn: Date | null = null;\n generic1: string | null = null;\n generic2: string | null = null;\n generic3: string | null = null;\n\n constructor(initialData: Partial<UdpFormSubmission> = {}) {\n Object.assign(this, initialData);\n }\n\n // =============================\n // Form Data Processing\n // =============================\n\n public processSubmissionIntoFormDataWithoutValues(\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const formData = createFormData(baseData);\n\n formData.append('Data', JSON.stringify(this.data));\n\n return formData;\n }\n\n\n\n public processSubmissionIntoFormData(\n formInputValuesAndMetadata: Record<\n string,\n Record<\n string,\n { value: any; comments?: any[]; files?: File[]; metadata?: Record<string, any> }\n >\n >,\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const { cleanedData, files } = this.extractCleanedDataAndFiles(formInputValuesAndMetadata);\n const formData = createFormData(baseData);\n\n files.forEach(file => formData.append('FormFiles', file));\n\n const submissionDataObject = {\n submissionResponseData: cleanedData,\n submissionMetadata: this.data.submissionMetadata || null\n }\n\n formData.append('Data', JSON.stringify(submissionDataObject));\n\n return formData;\n }\n\n private resolveSubmissionStatus(status: UdpFormSubmissionStatus): number {\n if (status === 'submitted') return 2;\n if (status === 'in-progress') return 1;\n return typeof status === 'number' ? status : 1;\n }\n\n private buildBaseSubmissionData(statusValue: number): Record<string, any> {\n const baseData: Record<string, any> = {\n FormId: this.formId,\n FormVersion: this.formVersion.toString(),\n Status: statusValue.toString(),\n };\n\n if (this.id) {\n baseData.Id = this.id;\n }\n\n if (this.initialCreatedOn) {\n baseData.InitialCreatedOn = this.initialCreatedOn\n } else {\n baseData.InitialCreatedOn = new Date().toISOString();\n }\n\n if (this.lastModifiedOn) {\n baseData.LastModifiedOn = this.lastModifiedOn\n } else {\n baseData.LastModifiedOn = new Date().toISOString();\n }\n\n if (this.submittedOn) {\n baseData.submittedOn = this.submittedOn\n }\n\n if (this.generic1) {\n baseData.generic1 = this.generic1.toString();\n }\n\n if (this.generic2) {\n baseData.generic2 = this.generic2.toString();\n }\n\n if (this.generic3) {\n baseData.generic3 = this.generic3.toString();\n }\n\n return baseData;\n }\n\n private extractCleanedDataAndFiles(data: Record<string, any>) {\n const files: File[] = [];\n const cleanedData: Record<\n string,\n Record<string, { value: any; comments: any[]; metadata?: Record<string, any> }>\n > = {};\n\n for (const sectionName in data) {\n cleanedData[sectionName] = {};\n\n for (const questionName in data[sectionName]) {\n const entry = data[sectionName][questionName];\n const { value, fieldFiles } = this.extractValueAndFiles(entry);\n if (fieldFiles) files.push(...fieldFiles);\n\n const comments = this.processComments(entry.comments);\n const metadata = this.processMetadata(entry.metadata);\n\n cleanedData[sectionName][questionName] = { value, comments, ...(metadata && { metadata }) };\n }\n }\n\n return { cleanedData, files };\n }\n\n // =============================\n // Form Data Processing Private Helpers\n // =============================\n\n private extractValueAndFiles(entry: any): { value: any; fieldFiles?: File[] } {\n let rawValue = entry?.value?.files ? entry.value.value : entry?.value;\n const fieldFiles = entry?.value?.files;\n\n if (fieldFiles && Array.isArray(fieldFiles)) {\n return {\n value: typeof rawValue === 'string' && rawValue.trim() !== '' ? rawValue : '',\n fieldFiles,\n };\n }\n\n if (isFileArray(rawValue)) {\n return {\n value: rawValue.length > 0 ? rawValue.map(f => f.name).join(',') : '',\n fieldFiles: rawValue,\n };\n }\n\n if (rawValue instanceof File) {\n return { value: rawValue.name, fieldFiles: [rawValue] };\n }\n\n if (Array.isArray(rawValue)) {\n return { value: rawValue.map(i => (typeof i === 'string' ? i : i?.value)).join(',') };\n }\n\n return { value: rawValue };\n }\n\n private processComments(comments: any[] | undefined) {\n return comments?.map(comment => ({ ...comment })) ?? [];\n }\n\n private processMetadata(metadata: Record<string, any> | undefined) {\n return metadata && Object.keys(metadata).length > 0 ? { ...metadata } : undefined;\n }\n}\n\n\n\n"]}
1
+ {"version":3,"file":"UdpFormSubmission.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts"],"names":[],"mappings":"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","sourcesContent":["import { UdpFormSubmissionStatus } from '../types';\nimport { Guid, UdpTag } from 'src/global/types';\nimport { createFormData } from '../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from '../form-submission-handler/formUtils';\n\n\nexport class UdpFormSubmission {\n id: Guid | null = null;\n formId: Guid | null = null;\n formVersion: number | null = null;\n data: any | null = {};\n unityUserId: Guid | null = null;\n clusterId: number | null = null;\n userDisplayName: string | null = '';\n status: UdpFormSubmissionStatus | null = null;\n businessObjectKey: string | null = '';\n udpTags: UdpTag[] | null = [];\n form: any | null = null;\n initialCreatedOn: Date | null = null;\n lastModifiedOn: Date | null = null;\n submittedOn: Date | null = null;\n generic1: string | null = null;\n generic2: string | null = null;\n generic3: string | null = null;\n userEmail: string | null = null;\n\n constructor(initialData: Partial<UdpFormSubmission> = {}) {\n Object.assign(this, initialData);\n }\n\n // =============================\n // Form Data Processing\n // =============================\n\n public processSubmissionIntoFormDataWithoutValues(\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const formData = createFormData(baseData);\n\n formData.append('Data', JSON.stringify(this.data));\n\n return formData;\n }\n\n\n\n public processSubmissionIntoFormData(\n formInputValuesAndMetadata: Record<\n string,\n Record<\n string,\n { value: any; comments?: any[]; files?: File[]; metadata?: Record<string, any> }\n >\n >,\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status);\n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const { cleanedData, files } = this.extractCleanedDataAndFiles(formInputValuesAndMetadata);\n const formData = createFormData(baseData);\n\n files.forEach(file => formData.append('FormFiles', file));\n\n const submissionDataObject = {\n submissionResponseData: cleanedData,\n submissionMetadata: this.data.submissionMetadata || null\n }\n\n formData.append('Data', JSON.stringify(submissionDataObject));\n\n return formData;\n }\n\n private resolveSubmissionStatus(status: UdpFormSubmissionStatus): number {\n if (status === 'submitted') return 2;\n if (status === 'in-progress') return 1;\n return typeof status === 'number' ? status : 1;\n }\n\n private buildBaseSubmissionData(statusValue: number): Record<string, any> {\n const baseData: Record<string, any> = {\n FormId: this.formId,\n FormVersion: this.formVersion.toString(),\n Status: statusValue.toString(),\n };\n\n if (this.id) {\n baseData.Id = this.id;\n }\n\n if (this.initialCreatedOn) {\n baseData.InitialCreatedOn = this.initialCreatedOn\n } else {\n baseData.InitialCreatedOn = new Date().toISOString();\n }\n\n if (this.lastModifiedOn) {\n baseData.LastModifiedOn = this.lastModifiedOn\n } else {\n baseData.LastModifiedOn = new Date().toISOString();\n }\n\n if (this.submittedOn) {\n baseData.submittedOn = this.submittedOn\n }\n\n if (this.generic1) {\n baseData.generic1 = this.generic1.toString();\n }\n\n if (this.generic2) {\n baseData.generic2 = this.generic2.toString();\n }\n\n if (this.generic3) {\n baseData.generic3 = this.generic3.toString();\n }\n\n return baseData;\n }\n\n private extractCleanedDataAndFiles(data: Record<string, any>) {\n const files: File[] = [];\n const cleanedData: Record<\n string,\n Record<string, { value: any; comments: any[]; metadata?: Record<string, any> }>\n > = {};\n\n for (const sectionName in data) {\n cleanedData[sectionName] = {};\n\n for (const questionName in data[sectionName]) {\n const entry = data[sectionName][questionName];\n const { value, fieldFiles } = this.extractValueAndFiles(entry);\n if (fieldFiles) files.push(...fieldFiles);\n\n const comments = this.processComments(entry.comments);\n const metadata = this.processMetadata(entry.metadata);\n\n cleanedData[sectionName][questionName] = { value, comments, ...(metadata && { metadata }) };\n }\n }\n\n return { cleanedData, files };\n }\n\n // =============================\n // Form Data Processing Private Helpers\n // =============================\n\n private extractValueAndFiles(entry: any): { value: any; fieldFiles?: File[] } {\n let rawValue = entry?.value?.files ? entry.value.value : entry?.value;\n const fieldFiles = entry?.value?.files;\n\n if (fieldFiles && Array.isArray(fieldFiles)) {\n return {\n value: typeof rawValue === 'string' && rawValue.trim() !== '' ? rawValue : '',\n fieldFiles,\n };\n }\n\n if (isFileArray(rawValue)) {\n return {\n value: rawValue.length > 0 ? rawValue.map(f => f.name).join(',') : '',\n fieldFiles: rawValue,\n };\n }\n\n if (rawValue instanceof File) {\n return { value: rawValue.name, fieldFiles: [rawValue] };\n }\n\n if (Array.isArray(rawValue)) {\n return { value: rawValue.map(i => (typeof i === 'string' ? i : i?.value)).join(',') };\n }\n\n return { value: rawValue };\n }\n\n private processComments(comments: any[] | undefined) {\n return comments?.map(comment => ({ ...comment })) ?? [];\n }\n\n private processMetadata(metadata: Record<string, any> | undefined) {\n return metadata && Object.keys(metadata).length > 0 ? { ...metadata } : undefined;\n }\n}\n\n\n\n"]}
@@ -18,6 +18,7 @@ export var UdpFormsFieldTypeEnum;
18
18
  UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Number"] = 16] = "Number";
19
19
  UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Paragraph"] = 17] = "Paragraph";
20
20
  UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["ImageUpload"] = 18] = "ImageUpload";
21
+ UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["FormMetadataDisplay"] = 19] = "FormMetadataDisplay";
21
22
  })(UdpFormsFieldTypeEnum || (UdpFormsFieldTypeEnum = {}));
22
23
  export var UdpFormsTypeEnum;
23
24
  (function (UdpFormsTypeEnum) {
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/utils/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAmBX;AAnBD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,qFAAkB,CAAA;IAClB,mFAAiB,CAAA;IACjB,yEAAY,CAAA;IACZ,+EAAe,CAAA;IACf,iGAAwB,CAAA;IACxB,qGAA0B,CAAA;IAC1B,uFAAmB,CAAA;IACnB,iFAAgB,CAAA;IAChB,kFAAiB,CAAA;IACjB,0FAAqB,CAAA;IACrB,8EAAe,CAAA;IACf,oEAAU,CAAA;IACV,4EAAc,CAAA;IACd,oEAAU,CAAA;IACV,sEAAW,CAAA;IACX,4EAAc,CAAA;IACd,gFAAgB,CAAA;AAClB,CAAC,EAnBW,qBAAqB,KAArB,qBAAqB,QAmBhC;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,kCAAc,CAAA;IACd,kCAAc,CAAA;AAChB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,gFAA0D,CAAA;IAC1D,iFAA2D,CAAA;AAC7D,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["export enum UdpFormsFieldTypeEnum {\n Hidden = 1,\n SingleLineText = 2,\n MultiLineText = 3,\n Checkbox = 4,\n RadioButton = 5,\n DropdownSingleSelect = 6,\n DropdownMultipleSelect = 7,\n ListMultiSelect = 8,\n DateSelector = 9,\n TimeSelector = 10,\n DateTimeSelector = 11,\n FileUpload = 12,\n YesNo = 13,\n Signature = 14,\n Tally = 15,\n Number = 16,\n Paragraph = 17,\n ImageUpload = 18,\n}\n\nexport enum UdpFormsTypeEnum {\n Standard = '1',\n FollowUp = '2',\n}\n\nexport enum UdpFormsPageIdEnum {\n FormBuilderPageId = 'c77aa2c8-f8b8-41af-aa77-c8612fc918c1', \n FormRendererPageId = 'c696afbd-8d83-4f80-aaa1-9a3530a05a21', \n}"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/utils/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAoBX;AApBD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,qFAAkB,CAAA;IAClB,mFAAiB,CAAA;IACjB,yEAAY,CAAA;IACZ,+EAAe,CAAA;IACf,iGAAwB,CAAA;IACxB,qGAA0B,CAAA;IAC1B,uFAAmB,CAAA;IACnB,iFAAgB,CAAA;IAChB,kFAAiB,CAAA;IACjB,0FAAqB,CAAA;IACrB,8EAAe,CAAA;IACf,oEAAU,CAAA;IACV,4EAAc,CAAA;IACd,oEAAU,CAAA;IACV,sEAAW,CAAA;IACX,4EAAc,CAAA;IACd,gFAAgB,CAAA;IAChB,gGAAwB,CAAA;AAC1B,CAAC,EApBW,qBAAqB,KAArB,qBAAqB,QAoBhC;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,kCAAc,CAAA;IACd,kCAAc,CAAA;AAChB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,gFAA0D,CAAA;IAC1D,iFAA2D,CAAA;AAC7D,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["export enum UdpFormsFieldTypeEnum {\n Hidden = 1,\n SingleLineText = 2,\n MultiLineText = 3,\n Checkbox = 4,\n RadioButton = 5,\n DropdownSingleSelect = 6,\n DropdownMultipleSelect = 7,\n ListMultiSelect = 8,\n DateSelector = 9,\n TimeSelector = 10,\n DateTimeSelector = 11,\n FileUpload = 12,\n YesNo = 13,\n Signature = 14,\n Tally = 15,\n Number = 16,\n Paragraph = 17,\n ImageUpload = 18,\n FormMetadataDisplay = 19,\n}\n\nexport enum UdpFormsTypeEnum {\n Standard = '1',\n FollowUp = '2',\n}\n\nexport enum UdpFormsPageIdEnum {\n FormBuilderPageId = 'c77aa2c8-f8b8-41af-aa77-c8612fc918c1', \n FormRendererPageId = 'c696afbd-8d83-4f80-aaa1-9a3530a05a21', \n}"]}
@@ -4,7 +4,7 @@ export class AgTable {
4
4
  this.height = 'calc(100vh - 200px)';
5
5
  }
6
6
  render() {
7
- return (h("div", { key: 'cb71b24c96b31cb228f08bd955f0da67fec23757', id: "myGrid", style: { height: this.height, width: '100%' }, class: "ag-theme-material" }));
7
+ return (h("div", { key: '34090f535edf4f45e28eeacd5ab8da4012319dfd', id: "myGrid", style: { height: this.height, width: '100%' }, class: "ag-theme-material" }));
8
8
  }
9
9
  static get is() { return "ag-table"; }
10
10
  static get properties() {
@@ -2999,11 +2999,11 @@ export class AmbientTemplateGrid {
2999
2999
  this.gridHeight = 'calc(100vh - 200px)';
3000
3000
  }
3001
3001
  const actionMenuItems = this.getOverflowActionList(this.overflowActionMenuItems, this.selectedRowParams);
3002
- return (h("div", { key: '2a36f186a6d4e761f3b5cbe8c245bb3d6ccae3f4' }, this.openActionPopoverMenu && (h("udp-pop-over", { key: '05cd932b3a16b935200c3a36bf6ff2ca12be1384', isOpen: this.openActionPopoverMenu, anchorElement: this.actionMenuAnchorElement, popoverWidth: "170px", popoverMaxHeight: "250px", handleOnClose: event => {
3002
+ return (h("div", { key: '41bae115d91b13803009c7556269d2ae5b2d5132' }, this.openActionPopoverMenu && (h("udp-pop-over", { key: '5b4e5e21466a55a44a6a62b9108943c1a7ccc81e', isOpen: this.openActionPopoverMenu, anchorElement: this.actionMenuAnchorElement, popoverWidth: "170px", popoverMaxHeight: "250px", handleOnClose: event => {
3003
3003
  this.handleOnCloseActionPopover(event);
3004
- } }, h("div", { key: 'cb7b49cab077c7327e4d5a4211587f3c9ed963db', class: "overflowActionButtons" }, actionMenuItems))), h("div", { key: 'd5b0ff1989d2b9d485fd12d460c755a666875937' }, this.showNotification && (h("udp-notification", { key: 'c04639dd8a80016a86aa11db760d60e0e715435d', active: this.showNotification, message: this.notificationMessage, status: this.notificationStatus, userCancel: true, style: { zIndex: '999991', transform: 'translateY(20px)' } }))), h("style", { key: '7cc84d9f5f1d6cece0a064550dc7f9e83c1df76c' }, `:host ::slotted(.ag-side-bar) {
3004
+ } }, h("div", { key: '9b31b3227767f4b0d3f739e0893f00a030539c52', class: "overflowActionButtons" }, actionMenuItems))), h("div", { key: '3db936068bd65bdad3c3512bd3735a281f6555d9' }, this.showNotification && (h("udp-notification", { key: 'f01763f7bb0d20c50c9cfcac0011aa111bd6129a', active: this.showNotification, message: this.notificationMessage, status: this.notificationStatus, userCancel: true, style: { zIndex: '999991', transform: 'translateY(20px)' } }))), h("style", { key: '1a54a2890eb2d452e6a9e0b3f266230a36eff520' }, `:host ::slotted(.ag-side-bar) {
3005
3005
  width: ${filterPanelWidth} !important;
3006
- }`), h("grid-primary-bar", { key: '210498195ebb9e5ed0b007e267ae4be54415bc65', title: this.gridBarTitle, customSaveViewClick: () => this.showViewSave(), customShowViewClick: () => this.showViews(), customShowHotlistClick: () => this.showHotlist(), customShowCustomSearchClick: () => this.showCustomSearch(), customClearClick: () => this.clearFilters(), customRefreshClick: () => this.refreshGrid(), customExpandClick: () => this.expandColumns(), customExportClick: this.exportFunction
3006
+ }`), h("grid-primary-bar", { key: '8df389e9f59a777f1756ba4e8c8b12d683fd830d', title: this.gridBarTitle, customSaveViewClick: () => this.showViewSave(), customShowViewClick: () => this.showViews(), customShowHotlistClick: () => this.showHotlist(), customShowCustomSearchClick: () => this.showCustomSearch(), customClearClick: () => this.clearFilters(), customRefreshClick: () => this.refreshGrid(), customExpandClick: () => this.expandColumns(), customExportClick: this.exportFunction
3007
3007
  ? () => this.exportFunction(this.entityName, this.filterRenderList[0])
3008
3008
  : () => this.exportToCsv(), customInsightsClick: e => {
3009
3009
  this.insightsActionOnClick(e);
@@ -3012,25 +3012,25 @@ export class AmbientTemplateGrid {
3012
3012
  }, primaryActionIcon: this.primaryActionIcon, customColumnViewClick: () => this.togglePanel('columns'), customFitColumnClick: () => this.fitColumns(), customFilterViewClick: () => this.togglePanel('filters'), customToggleServerClientClick: () => this.toggleServerSide(), customAdvancedSearchClick: () => this.showAdvancedSearch(), customShowGridOptionsClick: () => this.showGridOptions(), showAdvancedSearchFeature: this.showAdvancedSearchFeature, showFilterColumnFeature: this.showFilterColumnFeature, showHotlistButton: this.showHotlistButton &&
3013
3013
  !(((_e = this.restrictedGridFeatures) === null || _e === void 0 ? void 0 : _e.Hotlist) &&
3014
3014
  !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Hotlist)), hideExport: ((_f = this.restrictedGridFeatures) === null || _f === void 0 ? void 0 : _f.Export) &&
3015
- !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Export), enableAdvancedSearch: this.enableAdvancedSearch }), h("udp-pop-over-grid-action-header", { key: 'a6308cd34368596082a8382a010e909fdabe6bf9', isOpen: this.gridOptionsDrawerOpen, anchorElement: document.querySelector('grid-primary-bar') }, h("stencil-icon-button-grid-action-header", { key: '8180af8fe0bb6e73107753e4e08848c82bc7d8a4', onClick: () => {
3015
+ !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Export), enableAdvancedSearch: this.enableAdvancedSearch }), h("udp-pop-over-grid-action-header", { key: '4dbe9fe894e8cbc5506747bc3c9ba78218ce77d1', isOpen: this.gridOptionsDrawerOpen, anchorElement: document.querySelector('grid-primary-bar') }, h("stencil-icon-button-grid-action-header", { key: 'c5437a453c1b0d9c1571c257ec4d3435cc80c390', onClick: () => {
3016
3016
  this.togglePanel('columns');
3017
3017
  this.showGridOptions();
3018
- }, tooltip: "Show/Hide Columns" }, h("unity-typography", { key: 'c874ce412a7c35f2341e77fc71a74276ea133f0c', variant: "button" }, "Show/Hide Columns")), h("udp-divider", { key: 'e1b2a0d6b2445bfd5ceb9a3b6a9541e1588cd813', size: "100%" }), h("stencil-icon-button-grid-action-header", { key: '594fd9244b4ac36d57d747e4f5be496eb0104527', onClick: () => {
3018
+ }, tooltip: "Show/Hide Columns" }, h("unity-typography", { key: 'bf348010636e12f4932f79cece63e4b709b7869f', variant: "button" }, "Show/Hide Columns")), h("udp-divider", { key: 'b53bc71cbf14e08c28175415d5d333a3d40f4104', size: "100%" }), h("stencil-icon-button-grid-action-header", { key: 'afc68a1c78002b693985696754ad53eb66a0a302', onClick: () => {
3019
3019
  this.fitColumns();
3020
3020
  this.showGridOptions();
3021
- }, tooltip: "Fit to Column" }, h("unity-typography", { key: '8774eddbd6ec2a5693f1d7c86bef1aea3d9827e5', variant: "button" }, "Fit to Column")), h("udp-divider", { key: '3654801b05558976013ac4a1ae81c83611eaae6d', size: "0px" }), h("stencil-icon-button-grid-action-header", { key: 'c0239b51eb151072930c322229cae6a65223dc32', onClick: () => {
3021
+ }, tooltip: "Fit to Column" }, h("unity-typography", { key: '4f9043a98f7302d8d9aae14ab13ba7fe86e011fa', variant: "button" }, "Fit to Column")), h("udp-divider", { key: 'af9017b4110657db587eb2c6fdd4b5deaf0fbbac', size: "0px" }), h("stencil-icon-button-grid-action-header", { key: 'd6aa94f107f847114409b34ed9e8643b586f133c', onClick: () => {
3022
3022
  this.expandColumns();
3023
3023
  this.showGridOptions();
3024
- }, tooltip: "Expand Grid" }, h("unity-typography", { key: '413a53eff8841fbf0cf31a99b4496f7943c95e3b', variant: "button" }, "Expand Grid")), h("udp-divider", { key: 'ffaa5a1e594c83e3c88c3eb8aef1b4eb71ba59f7', size: "0px" }), !this.disableSearchSwitch && (h("stencil-icon-button-grid-action-header", { key: '3962d78937ea230c1a7b4ed9d58d9fcd2895b83a', onClick: () => {
3024
+ }, tooltip: "Expand Grid" }, h("unity-typography", { key: '75b7ebd3ad348e7506cc5eaea59297a46a86323a', variant: "button" }, "Expand Grid")), h("udp-divider", { key: '3a49337800fec3ca587a4f9e649eabcb67d2804f', size: "0px" }), !this.disableSearchSwitch && (h("stencil-icon-button-grid-action-header", { key: '7199fdd3a3c6139d4eee938ad1a0e25bcc2a65db', onClick: () => {
3025
3025
  this.handleSearchModeToggle();
3026
3026
  this.showGridOptions();
3027
- }, tooltip: this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search' }, h("unity-typography", { key: 'f036d029c03547edd6824b9d7d46e9ecaa673ed8', variant: "button" }, this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search')))), h("div", { key: 'c0f731a5f4a162815106da8e71fb85f4badb8469', class: "second-row", style: { display: shouldHideSecondRow ? 'none' : '' } }, !this.hideBulkActions && this.rowsSelected && (h("div", { key: '8c4782ecbdeca03b892636f159b20651064468bb', class: "bulk-select" }, h("udp-badge", { key: '51d2b036b1aec616e322f3eab48c7e5b42788dd1', content: this.selectedRowCount }, h("udp-selector", { key: '57c894e26a7000e113dfddca8cb5bff2d0d36d18', options: this.bulkActions.length > 0 ? this.formattedBulkActions : [], onChange: (e) => this.handleSelectedBulkOption(e) })))), ((_g = this.loadedViewTitle) === null || _g === void 0 ? void 0 : _g.length) !== 0 && (h("div", { key: '2d9cc4930c5de95b3c3a33cbbdc249862e50d045', class: "chip-wrapper" }, h("stencil-chip", { key: '5276a300dd0ab98f10f9f4ca44f9a0514cec90f2', text: this.loadedViewTitle,
3027
+ }, tooltip: this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search' }, h("unity-typography", { key: 'e816880ff03848257067506e5596a0d5e27b8086', variant: "button" }, this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search')))), h("div", { key: 'f25a8ad0eb2c3f9ac98a55eed479d5c6364f49e1', class: "second-row", style: { display: shouldHideSecondRow ? 'none' : '' } }, !this.hideBulkActions && this.rowsSelected && (h("div", { key: '4bf7df1fcea166ba2a30bdb3a018d1a655364eec', class: "bulk-select" }, h("udp-badge", { key: 'b0c178b05e0faa71376ec77e664ab0b6c35e9e19', content: this.selectedRowCount }, h("udp-selector", { key: '4e3fa4187ea9b52a55c27870ba0c7eec186b7e61', options: this.bulkActions.length > 0 ? this.formattedBulkActions : [], onChange: (e) => this.handleSelectedBulkOption(e) })))), ((_g = this.loadedViewTitle) === null || _g === void 0 ? void 0 : _g.length) !== 0 && (h("div", { key: 'ab07de0c4d4d5207c8a4340d17b319511e5371c2', class: "chip-wrapper" }, h("stencil-chip", { key: '7037c66ed6b0bee76ffbfd62a1f34d8dd70a3df4', text: this.loadedViewTitle,
3028
3028
  // onOnDelete={this.handleDelete as any}
3029
- onOnDelete: this.handleViewChipDelete, color: "secondary", defaultToggled: true, leftIcon: Star16, showLeftIcon: this.selectedViewIsDefault }), h("udp-divider", { key: 'ff678fe4a1e5d3a00bd251427908c82db4514edf', variant: "vertical", size: "30px" }))), this.hotListActive && (h("div", { key: '57f0fc7c5e797c4f99e9f478d3fe03e36f01cd9f', class: "chip-wrapper" }, h("stencil-chip", { key: '0059741b6f358f71a3e84148c4d8821de620570b', text: this.hotListActive, color: "secondary", onOnDelete: this.handleRemoveHotlist, defaultToggled: true, leftIcon: List16 }), h("udp-divider", { key: 'c9c6daddca887e93444d86b303629e23b23cd5b2', variant: "vertical", size: "30px" }))), h("div", { key: '2ee5d8bde615d6d3d7e20b6f60f7590a4f268223', class: "chip-section" }, this.filterChips.length > 0 && (h("udp-dynamic-container-with-menu", { key: '50e4e9c29f4f704bb3400c289dd0168dbb847e32', id: "filterChipsContainer", externalToggle: this.externalToggle, onUdpChipClicked: (event) => this.setFilterFromChips(event.detail), menuItems: this.filterChips }))), h("div", { key: 'cb872b3708cdf7ee308a15bb480677adfe180831', class: "kpi" }, h("kpi-list", { key: 'e012c100a04ecf3123932c1150e4387361ba00fd', kpiValues: this.kpiValues }))), this.gridError && (h("div", { key: 'f662ad60f754e98422cb7e76671992b77a90f62e' }, h("upd-alert-banner", { key: 'd583daf2d4721e2ab54134f98be07511666d8dcd', type: "error", message: `An error occurred with loading the grid with data.` }))), h("div", { key: 'c1bd8b2259d7e4e0310ba99622b931c365d40127', style: {
3029
+ onOnDelete: this.handleViewChipDelete, color: "secondary", defaultToggled: true, leftIcon: Star16, showLeftIcon: this.selectedViewIsDefault }), h("udp-divider", { key: '9e198587582264928bdebb94bc1434578e9236c0', variant: "vertical", size: "30px" }))), this.hotListActive && (h("div", { key: '16d9409eaabff97398465b0d0d3e86b823196373', class: "chip-wrapper" }, h("stencil-chip", { key: '193c628af4be1c1569b7ff338ea153427fa40061', text: this.hotListActive, color: "secondary", onOnDelete: this.handleRemoveHotlist, defaultToggled: true, leftIcon: List16 }), h("udp-divider", { key: '6fde647f8012240b30911364cc4e5cd6edac370b', variant: "vertical", size: "30px" }))), h("div", { key: 'a751fbf7abae63339e224fea3f342509ee75e2f8', class: "chip-section" }, this.filterChips.length > 0 && (h("udp-dynamic-container-with-menu", { key: '900ffddc1a4c25427c92b77930628ef3b711c55e', id: "filterChipsContainer", externalToggle: this.externalToggle, onUdpChipClicked: (event) => this.setFilterFromChips(event.detail), menuItems: this.filterChips }))), h("div", { key: 'e23f5035303b751d6e7d876545b158b57c8c3353', class: "kpi" }, h("kpi-list", { key: 'c230b44867aaad0076cadd1561540442ef38fec6', kpiValues: this.kpiValues }))), this.gridError && (h("div", { key: 'c1e39c0c209e059facdd49a2047a6f91640d2188' }, h("upd-alert-banner", { key: '75ff93d17d1bda3733a573b37aebcbc1cbfbef79', type: "error", message: `An error occurred with loading the grid with data.` }))), h("div", { key: 'b39978212578090ccd818dbc4de68ea3542b6669', style: {
3030
3030
  height: '4px',
3031
3031
  backgroundColor: shouldHideSecondRow ? 'var(--accent-color)' : 'rgb(247, 245, 243)',
3032
3032
  overflow: 'hidden',
3033
- } }, this.linearLoading && h("udp-linear-loader", { key: '21732d1995244bd4fedde53920e00784e41aaf3e' })), this.noResults && (h("div", { key: '9fd39c92c83a698c6295dc4f8bf3acaec1cba3ee' }, h("upd-alert-banner", { key: 'ebb0a397911b92b2c1ea56c4ce0fd50503b1aac8', onClick: () => this.refreshOnNoResults(), type: "info", message: "Sorry, no records meet your search criteria" }))), h("div", { key: 'e94ced131cb70420eab5d597b560054e16448892' }, h("ag-table", { key: '86cda5cbbf17e04074dbdc25d7fb727b6ef8ade7', gridOptions: this.gridOptions, licensekey: LicenseKey, height: this.gridHeight })), h("side-sheet", { key: '3ef4fc66f26b906aabdeb6848df2a61c3a5b1192', sideSheetButtonLabel: "Search", handleSideSheetButton: () => this.updateServerSideDatasource('', 'advanced search sheet'), title: "Advanced Search", open: this.advancedDrawerOpen, toggleDrawer: () => this.primaryActionClick('advancedSearch'), position: "right" }, h("div", { key: 'd8215e898ce8ab55bbd200fd921bf46dad6d3e91', style: { width: '1200px' } }, h("advanced-search", { key: '61a7529434d1fbfe0ee24018dddd746cddb20a72', handleDelete: filter => this.removeFilterItem(filter), filterRenderList: this.filterRenderList, filterList: this.extendedSearchFilterList, handleItemClick: headerName => this.setFilterSelections(headerName), onAdvancedSearchItemChange: (event) => this.updateSearchObject(event.detail), handleValueChanged: this.changeOperator, fetchFilters: () => this.getExtendedAdvancedSearchFilterList(), getHeaderFieldLabel: this.getHeaderFieldLabel }))), h("side-sheet", { key: 'db468e52f087847cb673a35e4977304f6e3a1c7c', widthOption: "short", title: "Views", open: this.viewDrawerOpen, toggleDrawer: () => this.primaryActionClick('views'), position: "right" }, h("div", { key: '1de98b8f12f9f774ecaddd3ce006a4fa21b75740' }, h("div", { key: '4d0a5dd72b9aee6463b569820b66a3dc63d6a609', style: { width: '450px', marginBottom: '8px' } }, h("hint-panel", { key: '8f7595f03f8ec909419765343e7b8ab8c3cd9903', hint: "Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.", hideHintText: "Hide Hint" })), h("div", { key: '615b3a2404515c157d7d512a9b49afb956469382', style: { width: '446px' } }, this.viewListRowData &&
3033
+ } }, this.linearLoading && h("udp-linear-loader", { key: 'bf9a0f0b3e4381f6efa3feeb32d77ddde3d6ccb8' })), this.noResults && (h("div", { key: '457fe6fce7bf5b5d147694c9596a0c2bf7c63da4' }, h("upd-alert-banner", { key: 'f46fe682a05b590a6bcba1d7b05a2194bc8f3cce', onClick: () => this.refreshOnNoResults(), type: "info", message: "Sorry, no records meet your search criteria" }))), h("div", { key: '5242b8ead8ac4ca950bc53d701081af87681e1a1' }, h("ag-table", { key: '4a534edbc643d7ff600c21d962581a11a9d0196f', gridOptions: this.gridOptions, licensekey: LicenseKey, height: this.gridHeight })), h("side-sheet", { key: 'c9f59b9f5fc9fedbb0c4ffd491159808b26b8e15', sideSheetButtonLabel: "Search", handleSideSheetButton: () => this.updateServerSideDatasource('', 'advanced search sheet'), title: "Advanced Search", open: this.advancedDrawerOpen, toggleDrawer: () => this.primaryActionClick('advancedSearch'), position: "right" }, h("div", { key: 'e233cb08f767b73591d34d036559beafcfbd264d', style: { width: '1200px' } }, h("advanced-search", { key: '333cd453a38e40d24aa768ca3e49721880b6c97e', handleDelete: filter => this.removeFilterItem(filter), filterRenderList: this.filterRenderList, filterList: this.extendedSearchFilterList, handleItemClick: headerName => this.setFilterSelections(headerName), onAdvancedSearchItemChange: (event) => this.updateSearchObject(event.detail), handleValueChanged: this.changeOperator, fetchFilters: () => this.getExtendedAdvancedSearchFilterList(), getHeaderFieldLabel: this.getHeaderFieldLabel }))), h("side-sheet", { key: '885527c22b7714c061101c691dc7b19263f3f45f', widthOption: "short", title: "Views", open: this.viewDrawerOpen, toggleDrawer: () => this.primaryActionClick('views'), position: "right" }, h("div", { key: '1366376cc2c4cb6d41806f1ed9f9928953862795' }, h("div", { key: '629e548e886bec8bba170b7427ccbb3a9180607c', style: { width: '450px', marginBottom: '8px' } }, h("hint-panel", { key: '51930b7d43cc89528d56b9d8122a0750334954ac', hint: "Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.", hideHintText: "Hide Hint" })), h("div", { key: 'f83736ff524e3fa1e29ebdff9a73b521b1132c8e', style: { width: '446px' } }, this.viewListRowData &&
3034
3034
  this.viewListRowData.map(item => {
3035
3035
  if (item.gridViewVisibilityTypeId === 2 ||
3036
3036
  item.userId.toLowerCase() === this.userId.toLocaleLowerCase()) {
@@ -3042,9 +3042,9 @@ export class AmbientTemplateGrid {
3042
3042
  }, editHandler: () => this.openViewEdit(item.gridViewId, item.name, item.isDefault, item.gridViewVisibilityTypeId), deleteHandler: () => this.openDeleteViewConfirmation(item.gridViewId), showUpdateDefaultOption: true, updateDefaultHandler: () => this.updateDefaultView(item), isDefault: item.isDefault, gridViewVisibilityTypeId: item.gridViewVisibilityTypeId, showAdd: false, showViewOption: false
3043
3043
  }));
3044
3044
  }
3045
- })))), h("side-sheet", { key: '333537b80eabae296830927b559371d665fa17c0', title: "Search", sideSheetButtonLabel: "Search", handleSideSheetButton: this.handleSideSheetButtonClick, open: this.customSearchDrawerOpen, toggleDrawer: () => this.primaryActionClick('customSearch'), position: "right", buttonTransform: this.buttonTransform }, h("advanced-search-grouped", { key: 'b775407f39b8e081bbec135e133fd27418f096a2', getLogicalOperatorValue: this.getLogicalOperatorValue, getLogicalOperatorCode: this.getLogicalOperatorCode, handleAddNewFilter: this.handleAddNewFilter, handleAddNewGroup: this.handleAddNewGroup, handleDelete: filter => this.removeFilterItem(filter), filterRenderList: this.filterRenderList, filterList: this.extendedSearchFilterList, handleItemClick: headerName => this.setGroupedFilterSelections(headerName), onAdvancedSearchItemChange: (event) => this.updateSearchObject(event.detail), handleValueChanged: this.changeOperator, filterObjectsWithGroups: this.filterObjectsWithGroups, fetchFilters: () => this.getExtendedAdvancedSearchFilterList(),
3045
+ })))), h("side-sheet", { key: 'dcbae0235473230e7328464f0d3741cfa436294c', title: "Search", sideSheetButtonLabel: "Search", handleSideSheetButton: this.handleSideSheetButtonClick, open: this.customSearchDrawerOpen, toggleDrawer: () => this.primaryActionClick('customSearch'), position: "right", buttonTransform: this.buttonTransform }, h("advanced-search-grouped", { key: 'a759b71e0e45713de4bd596d6efa515eec2593f4', getLogicalOperatorValue: this.getLogicalOperatorValue, getLogicalOperatorCode: this.getLogicalOperatorCode, handleAddNewFilter: this.handleAddNewFilter, handleAddNewGroup: this.handleAddNewGroup, handleDelete: filter => this.removeFilterItem(filter), filterRenderList: this.filterRenderList, filterList: this.extendedSearchFilterList, handleItemClick: headerName => this.setGroupedFilterSelections(headerName), onAdvancedSearchItemChange: (event) => this.updateSearchObject(event.detail), handleValueChanged: this.changeOperator, filterObjectsWithGroups: this.filterObjectsWithGroups, fetchFilters: () => this.getExtendedAdvancedSearchFilterList(),
3046
3046
  // onSearchItemChanged={() => this.handleSearchItemChange()}
3047
- updateLogicalOperator: (_h = this.updateLogicalOperator) === null || _h === void 0 ? void 0 : _h.bind(this), handleGroupDelete: groupId => this.handleGroupDelete(groupId), recentSearchesOptions: this.recentSearchesOptions, selectRecentSearch: this.selectRecentSearch, fullClearSearch: this.fullClearSearch, findGroupById: this.findGroupById, getHeaderFieldLabel: this.getHeaderFieldLabel })), h("side-sheet", { key: '8fcdf46117504d5f8103294651a9e6daaa18336e', disabled: this.showHotlistForm, widthOption: "short", sideSheetButtonLabel: "Create New Hotlist", handleSideSheetButton: () => this.toggleHotlistForm(), title: "Hot Lists", open: this.hotlistDrawerOpen, toggleDrawer: () => this.primaryActionClick('hotlists'), position: "right" }, h("div", { key: '58a56fda523f28e8600ee555a14aa27f21421745' }, this.showHotlistForm && (h("udp-hotlist-form", { key: 'd805a9f200ab4871af226418bd247df1215b636b', handleFormSubmit: this.handleSaveHotlist, handleCancelClick: () => this.toggleHotlistForm() })), h("div", { key: '402a6e75284f720e94a5c6f70121a00ebf0e1b1d', style: { width: '446px' } }, this.allHotlists &&
3047
+ updateLogicalOperator: (_h = this.updateLogicalOperator) === null || _h === void 0 ? void 0 : _h.bind(this), handleGroupDelete: groupId => this.handleGroupDelete(groupId), recentSearchesOptions: this.recentSearchesOptions, selectRecentSearch: this.selectRecentSearch, fullClearSearch: this.fullClearSearch, findGroupById: this.findGroupById, getHeaderFieldLabel: this.getHeaderFieldLabel })), h("side-sheet", { key: '85e261fa9d0bb3553a1e9c5abebb197a7bd6c721', disabled: this.showHotlistForm, widthOption: "short", sideSheetButtonLabel: "Create New Hotlist", handleSideSheetButton: () => this.toggleHotlistForm(), title: "Hot Lists", open: this.hotlistDrawerOpen, toggleDrawer: () => this.primaryActionClick('hotlists'), position: "right" }, h("div", { key: '8d4a63c395e5852b01ffd9509a03351f4f7e1f8f' }, this.showHotlistForm && (h("udp-hotlist-form", { key: '2a0dd9c298608ba5adb014d08118855b9ae433e5', handleFormSubmit: this.handleSaveHotlist, handleCancelClick: () => this.toggleHotlistForm() })), h("div", { key: '2dfcc832f860c01f6d0b23db0b3de1ed7822929c', style: { width: '446px' } }, this.allHotlists &&
3048
3048
  this.allHotlists.map(item => {
3049
3049
  if (item.domain === this.entityName) {
3050
3050
  return (h("tree-list-item", { label: item.name, fieldName: item.name, showViewOption: true, showAdd: this.businessObjectKey ? true : false, showDeleteOption: true, viewHandler: () => this.handleRequestHotlist(item.hotListId), deleteHandler: () => this.confirmRequestDelete(item.hotListId), onClick: () => this.handleSetSingleHotlistItem(item.hotListId), statusValue: item.isPrivate, statusClasses: {
@@ -3052,7 +3052,7 @@ export class AmbientTemplateGrid {
3052
3052
  false: 'neutral',
3053
3053
  }, statusLabel: item.isPrivate ? 'Private' : 'Shared' }));
3054
3054
  }
3055
- })))), h("save-view-form-dialog", { key: '77dc38b97e73f9aa00b9e512539cf27c2503ff1a', open: this.saveDialogOpen, title: this.selectedViewName ? 'Current View' : 'New View', closeDialog: () => this.showViewSave(), currentGridViewId: this.selectedGridId, currentName: this.selectedViewName, currentIsPrivate: this.selectedViewGridViewVisibilityTypeId, currentIsDefault: this.selectedViewIsDefault, handleFormSubmit: (name, isPrivate, isDefault) => {
3055
+ })))), h("save-view-form-dialog", { key: '48aaba51e0f827b930787f2f6d96477522b8e62a', open: this.saveDialogOpen, title: this.selectedViewName ? 'Current View' : 'New View', closeDialog: () => this.showViewSave(), currentGridViewId: this.selectedGridId, currentName: this.selectedViewName, currentIsPrivate: this.selectedViewGridViewVisibilityTypeId, currentIsDefault: this.selectedViewIsDefault, handleFormSubmit: (name, isPrivate, isDefault) => {
3056
3056
  // Assuming this.columnState exists in this component's scope
3057
3057
  this.handleViewFormSubmit(name, isPrivate, isDefault, this.gridState);
3058
3058
  }, handleViewAndConfigurationSubmit: (name, isPrivate, isDefault) => {
@@ -3065,13 +3065,13 @@ export class AmbientTemplateGrid {
3065
3065
  this.handleViewAndConfigurationsUpdate(this.selectedViewName, this.selectedViewGridViewVisibilityTypeId, this.selectedViewIsDefault, this.gridState);
3066
3066
  }
3067
3067
  }
3068
- } }), h("edit-view-form-dialog", { key: 'af399d93c17f6ab2f92c6184a5a893a0c5288abb', open: this.editDialogOpen, title: "Edit View", closeDialog: () => this.closeViewEdit(), currentGridId: this.selectedGridId, currentName: this.selectedViewName, currentGridViewVisibilityTypeId: this.selectedViewGridViewVisibilityTypeId, currentIsDefault: this.selectedViewIsDefault, handleFormSubmit: (gridId, name, isPrivate, isDefault) => {
3068
+ } }), h("edit-view-form-dialog", { key: '58cf00aca040435203eed7ef8b005bf795e22572', open: this.editDialogOpen, title: "Edit View", closeDialog: () => this.closeViewEdit(), currentGridId: this.selectedGridId, currentName: this.selectedViewName, currentGridViewVisibilityTypeId: this.selectedViewGridViewVisibilityTypeId, currentIsDefault: this.selectedViewIsDefault, handleFormSubmit: (gridId, name, isPrivate, isDefault) => {
3069
3069
  this.handleViewUpdate(gridId, name, isPrivate, isDefault);
3070
- } }), h("div", { key: '5edea24a2b3b11f1d73c65a1d03d24e23a4ff725' }), h("fluent-dialog", { key: 'b03912ff85ecf478846ca76a34806bb3d661f7a9', title: "Delete Hotlist", message: "Are you sure you want to delete this hotlist?", actionOne: () => this.handleRequestDeleteHotlist(), actionTwo: () => this.toggleDeleteDialog('hotlist'), labelOne: "Confirm", labelTwo: "Cancel", open: this.confirmDialog }, h("div", { key: 'c122c65c5a2b580af173266e3b973a3019149100' }, "This will not delete any of the data but only the records ", h("br", { key: 'db965117c7178c1de9c60c45ffc36883d4872e98' }), "from the hotlist and the hotlist itself.", ' ')), h("fluent-dialog", { key: '6287a9e69f70cfa84d8b81383ef8e2163d62d5a4', title: "Delete View", message: "Are you sure you want to delete this view?", actionOne: () => this.handleDeleteView(), actionTwo: () => this.toggleDeleteDialog('View'), labelOne: "Confirm", labelTwo: "Cancel", open: this.confirmDialogDeleteView }, h("div", { key: 'b72c43a7a1368001523ec32af379796f6d6588b0' }, "This will not delete any of the data but only the settings ", h("br", { key: 'eb92d90f38c6415562409cf515da85c87c070e4a' }), "saved to display this view.", ' ')), h("fluent-dialog", { key: 'e99d8fd4a4b04a4c712efb5c88c25d9c0b548299', title: "Update View", message: "Are you sure you want to update this view?", actionOne: () => this.handleViewAndConfigurationsUpdate(this.selectedViewName, this.selectedViewGridViewVisibilityTypeId, this.selectedViewIsDefault, this.gridState), actionTwo: () => this.showViewEditConfirmation(false), labelOne: "Confirm", labelTwo: "Cancel", open: this.editViewConfirmationDialogOpen }, h("div", { key: '3905cba1ad13c9d6caab613387861ed777467786' }, "This is a public view. Any changes made to it will be seen by others when they load this view.", ' ')), h("fluent-dialog", { key: '8d9caa3307134c2ce4dc61303f91ad48bac68990', title: 'Toggle Search Mode to ' +
3070
+ } }), h("div", { key: '81e032077310d99e15ff569a393e59696addefa1' }), h("fluent-dialog", { key: '84cc63d23f003cfa8823485cce38ff93b74585a9', title: "Delete Hotlist", message: "Are you sure you want to delete this hotlist?", actionOne: () => this.handleRequestDeleteHotlist(), actionTwo: () => this.toggleDeleteDialog('hotlist'), labelOne: "Confirm", labelTwo: "Cancel", open: this.confirmDialog }, h("div", { key: '6313c4ae5e3e3453b983202da21c4e239ab86263' }, "This will not delete any of the data but only the records ", h("br", { key: '41c6b8b09cef0216e30f05a1734b12539a6bf4f5' }), "from the hotlist and the hotlist itself.", ' ')), h("fluent-dialog", { key: '8709a336343bb233d32fd1a1bc8d2285c4cde5d8', title: "Delete View", message: "Are you sure you want to delete this view?", actionOne: () => this.handleDeleteView(), actionTwo: () => this.toggleDeleteDialog('View'), labelOne: "Confirm", labelTwo: "Cancel", open: this.confirmDialogDeleteView }, h("div", { key: '19ca2db1ad2510afc7efc7a7c0698cd68e7d8c34' }, "This will not delete any of the data but only the settings ", h("br", { key: '11953dfbf39da8df751294b7002ad141b003c281' }), "saved to display this view.", ' ')), h("fluent-dialog", { key: 'fe1b746d9904b91fe06a311914bc8680aae4543a', title: "Update View", message: "Are you sure you want to update this view?", actionOne: () => this.handleViewAndConfigurationsUpdate(this.selectedViewName, this.selectedViewGridViewVisibilityTypeId, this.selectedViewIsDefault, this.gridState), actionTwo: () => this.showViewEditConfirmation(false), labelOne: "Confirm", labelTwo: "Cancel", open: this.editViewConfirmationDialogOpen }, h("div", { key: '914085a4440011236ee67ed0fe09a4423b5f074c' }, "This is a public view. Any changes made to it will be seen by others when they load this view.", ' ')), h("fluent-dialog", { key: '72a9bb7f1e84cfc2205f2438dca6026b4435901b', title: 'Toggle Search Mode to ' +
3071
3071
  (this.enableAdvancedSearch ? 'Standard' : 'Advanced') +
3072
3072
  ' Search', message: this.enableAdvancedSearch
3073
3073
  ? `Are you sure you want to toggle the search mode to standard search?`
3074
- : `Are you sure you want to toggle the search mode to advanced search?`, actionOne: () => this.confirmSearchModeToggle(), actionTwo: () => this.toggleSearchModeConfirmation(false), labelOne: "Confirm", labelTwo: "Cancel", open: this.toggleSearchModeConfirmationDialogOpen }, h("div", { key: '2fc3b82d58c2f17fc61518ba2a38e15c3c8cd99d' }, this.enableAdvancedSearch
3074
+ : `Are you sure you want to toggle the search mode to advanced search?`, actionOne: () => this.confirmSearchModeToggle(), actionTwo: () => this.toggleSearchModeConfirmation(false), labelOne: "Confirm", labelTwo: "Cancel", open: this.toggleSearchModeConfirmationDialogOpen }, h("div", { key: '01bb85755a92d0b8b1b222242738a26982c4f2f4' }, this.enableAdvancedSearch
3075
3075
  ? 'The advanced search functionality will be disabled, all advanced search filters will be cleared and the grid will be reset to its default state.'
3076
3076
  : 'The standard search functionality will be disabled and any existing standard filters will persist to the advanced search.'))));
3077
3077
  }
@@ -150,7 +150,7 @@ export class GridPrimaryBar {
150
150
  this.updateHideBar();
151
151
  }
152
152
  render() {
153
- return (h("div", { key: '1cc9cbb3512478af92422c231bf6cca22fb39504', class: "header-bar", style: !this.hideBar ? { background: 'var(--accent-color)' } : undefined }, h("div", { key: 'c6b83673caa1dab0867ee06bc5f465fff3dee8e0', class: "title-section" }, h("div", { key: '154dda62a2bfa4bcdb6c83bd75ace11b24fb19b3' }, h("unity-typography", { key: '492544aae9ca6d06f6a5c0fb3a18bfc9d6ed4ef5', variant: "h4" }, this.title, " "), ' ')), h("div", { key: '452ab7d7bf651df27dd3ab23543899fe0b4a5e71', class: "button-section" }, h("div", { key: 'a5795c8f6b3180a7d682c13f9bdc602f8b31776f' }, h("slot", { key: '1e1c1019314d977cd3e8bc3d4660f4d08c93453a' })), this.defaultActionButtons.map(btn => {
153
+ return (h("div", { key: '021c035bf4d957e2644d1d620c47de8ad1a05e21', class: "header-bar", style: !this.hideBar ? { background: 'var(--accent-color)' } : undefined }, h("div", { key: '29e21c1ad5dc3b853c389c4927958335c9299a16', class: "title-section" }, h("div", { key: 'dd897565107bebd3efff6234f7f01bac7a9afdc6' }, h("unity-typography", { key: '51602d8264ed458ba729a0a33b8081babed19d37', variant: "h4" }, this.title, " "), ' ')), h("div", { key: '39d5748807927d63aafb3f99615b57b0f6f856ef', class: "button-section" }, h("div", { key: '996c5f28c941dd40531a52abe0c06bcb65ca049e' }, h("slot", { key: '06834b580236c4a7ac26b0ed6fc057526dcc4c02' })), this.defaultActionButtons.map(btn => {
154
154
  const clickHandler = (event) => {
155
155
  if (btn.clickHandler) {
156
156
  btn.clickHandler(event);
@@ -163,7 +163,7 @@ export class GridPrimaryBar {
163
163
  return (h("stencil-icon-button-grid-action-header", { showLabel: this.showLabels, secondary: btn.secondary, icon: btn.icon, onClick: clickHandler, tooltip: btn.tooltip, iconClassName: btn.iconClassName }, btn.icon && h("i", { class: btn.icon }), btn.label.toLowerCase() === 'save' || (!this.hiddenLabels.includes(btn.label) && btn.showLabel) ? h("span", null, btn.label) : null));
164
164
  }
165
165
  return null;
166
- }), this.primaryActionClick && this.primaryActionLabel && (h("custom-button", { key: '003e8cb8e5cec854cd78e170f960dabdcaaa9214', label: this.primaryActionLabel, onClick: (event) => this.primaryActionClick(event), size: "tall" }, this.primaryActionIcon && h("udp-icon", { key: '1f6bcb84640f24924c82f07a5f85be0a3425c322', iconName: this.primaryActionIcon, darkIcon: false }))))));
166
+ }), this.primaryActionClick && this.primaryActionLabel && (h("custom-button", { key: '50e0e03c0fc07a095b79c64e9867df14f64b8727', label: this.primaryActionLabel, onClick: (event) => this.primaryActionClick(event), size: "tall" }, this.primaryActionIcon && h("udp-icon", { key: 'cb521eecb5bca910373e5b3d28d692315f115504', iconName: this.primaryActionIcon, darkIcon: false }))))));
167
167
  }
168
168
  static get is() { return "grid-primary-bar"; }
169
169
  static get encapsulation() { return "shadow"; }
@@ -27,7 +27,7 @@ export class UdpHotlistForm {
27
27
  // console.log('Cancel button clicked');
28
28
  // }
29
29
  render() {
30
- return (h("div", { key: '7f19694d5be421c7b0aa46212deb0a18415f5798', class: "wrapper" }, h("form", { key: '5649db10710e5ff474f13a0ef8ece2377909da89', class: "save-form", onSubmit: this.handleSubmit }, h("text-field", { key: '214ff3dbd6c2fd354b7c210bdd5f24363ad7214b', label: "Hotlist Name", placeholder: "Create a name for your Hotlist", value: this.name, onChange: (event) => this.handleNameChange(event) }), h("stencil-toggle", { key: 'e5e45396d7372926c939c28cbf6c44ef6b5562d9', label: "Private", checked: this.isPrivate, onToggledChange: this.handlePrivateChange }), h("div", { key: '5da10bc99138554e641e13834962a2c2e0587969', class: "submit-button" }, h("custom-button", { key: 'c792c88f566a8abbbd186453331169fa7a45eb3b', variant: 'outline', type: "submit", onCustomClick: this.handleCancelClick }, "Cancel"), h("custom-button", { key: '57d482894a2520666cf5f76c17f1ad1996791b21', disabled: !this.name, type: "submit", onCustomClick: this.onCustomButtonClick }, "Create List")))));
30
+ return (h("div", { key: '25d3ac15ce75e21c38ee581fd6760acd0452cb6b', class: "wrapper" }, h("form", { key: '23cb869dcf8111e10d5202ea00f066d64d6e955a', class: "save-form", onSubmit: this.handleSubmit }, h("text-field", { key: 'aeca29c646c86c96306f8baddc77fdf2d2421f25', label: "Hotlist Name", placeholder: "Create a name for your Hotlist", value: this.name, onChange: (event) => this.handleNameChange(event) }), h("stencil-toggle", { key: 'f0d4a73109796d9b8cd71cba4057327ad37abd86', label: "Private", checked: this.isPrivate, onToggledChange: this.handlePrivateChange }), h("div", { key: '0dcf360e9189ca180a425d1f3b7530d54db53c17', class: "submit-button" }, h("custom-button", { key: '9f12210ec38cf756a601a418e7c4ca0653370fd8', variant: 'outline', type: "submit", onCustomClick: this.handleCancelClick }, "Cancel"), h("custom-button", { key: 'aa24f4f10e50090d46fc0872acf9a350e12a76b2', disabled: !this.name, type: "submit", onCustomClick: this.onCustomButtonClick }, "Create List")))));
31
31
  }
32
32
  static get is() { return "udp-hotlist-form"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -150,7 +150,7 @@ export class AgGridBase {
150
150
  render() {
151
151
  var _a;
152
152
  const variantClass = `variant-${((_a = this.headerConfig) === null || _a === void 0 ? void 0 : _a.variant) || 'light'}`;
153
- return (h("div", { key: '170465021bc17235f086e5c4bd4836f25dc571df', class: variantClass, ref: el => (this.gridContainerEl = el) }, h("ghost-render", { key: '36680ab6d0ffe67b9d1f231a70c20e286750db24' }, h("div", { key: 'ca6790bc61e51977b68a2afa4ba90ee35480c5af' }, h("udp-dialog", { key: '0047e9e3e946f5f34a526a477eb1502caa2a5d01' }), h("udp-list-item", { key: '93b39e5642bde5da8319f0e32ebf7b979829da10' }), h("hint-panel", { key: '049a550ac8c95cb4d88f41ed552e819b74f0d2dc' }))), h("div", { key: '6e01cb9a900ec69cf17185dee3ec3c3566dfdf10', class: "grid-base-header" }, h("grid-header", { key: '3d5dc8302ebecc3d27636f633b7468131d7755db', headerConfig: this.headerConfig, gridFunctions: this.gridFunctions, onHeaderAction: this.onHeaderAction }), h("div", { key: '9d3422860719b7e1e3d0751d982fa5bf3e67124f', class: "action-bar", style: { viewTransitionName: `action-bar` } }, this.gridFunctionInstances.map(fn => { var _a; return (_a = fn.render) === null || _a === void 0 ? void 0 : _a.call(fn); }))), h("div", { key: '4a4a7c6d003c5800ee0182a2d65f6fa7e5b2b94f', id: "myNewGrid", ref: el => (this.gridEl = el), style: {
153
+ return (h("div", { key: '43b0f877fedac72f942b02375ed9f2611dd2f0e2', class: variantClass, ref: el => (this.gridContainerEl = el) }, h("ghost-render", { key: 'e6088f282efcb868fac21843671d599b698e75a6' }, h("div", { key: 'cbec10fd1ee8835d9d6130595d0669288b994eff' }, h("udp-dialog", { key: '680a0b69ac2d5cbe91985e9174cfcf338c7781a7' }), h("udp-list-item", { key: 'aecf71d5f6e6e1da4a2c26ec78ec0e8584e8b194' }), h("hint-panel", { key: 'c4efdba6795045c9828a6b59f4a581a8b46cccd0' }))), h("div", { key: '5cf5af8c7c8c4d4cd6713e010de6dc2fd83025da', class: "grid-base-header" }, h("grid-header", { key: 'd4a011dec11c07d13b9e15c9614396806feb797b', headerConfig: this.headerConfig, gridFunctions: this.gridFunctions, onHeaderAction: this.onHeaderAction }), h("div", { key: 'd4a389432c5cb57cc43ea6deed8a9c22a6c3b0b8', class: "action-bar", style: { viewTransitionName: `action-bar` } }, this.gridFunctionInstances.map(fn => { var _a; return (_a = fn.render) === null || _a === void 0 ? void 0 : _a.call(fn); }))), h("div", { key: '48d8f6b817f4baeef86e669e042ef0ac443d2535', id: "myNewGrid", ref: el => (this.gridEl = el), style: {
154
154
  viewTransitionName: `my-new-grid`,
155
155
  } })));
156
156
  }
@@ -99,7 +99,7 @@ export class ApiMethodInstanceGrid {
99
99
  this.getApiMethodInstanceData();
100
100
  }
101
101
  render() {
102
- return (h("search-method-grid", { key: '7d04ec1c6669022623011988b164dffe6cf2372c', onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridOptions: this.gridOptions, gridHeaderConfig: this.gridHeaderConfig, gridId: this.gridId, entityName: this.entityName, gridHeight: this.gridHeight, searchMethodConfig: this.searchMethodConfig, gridApiCallback: this.gridApiCallback }));
102
+ return (h("search-method-grid", { key: '051d869cb3e0ccbf45386fdad46e3f60fbba38f8', onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridOptions: this.gridOptions, gridHeaderConfig: this.gridHeaderConfig, gridId: this.gridId, entityName: this.entityName, gridHeight: this.gridHeight, searchMethodConfig: this.searchMethodConfig, gridApiCallback: this.gridApiCallback }));
103
103
  }
104
104
  static get is() { return "api-method-instance-grid"; }
105
105
  static get properties() {
@@ -20,7 +20,7 @@ export class ClientSideGrid {
20
20
  this.clientSideConfig = Object.assign(Object.assign({}, this.gridOptions), { rowModelType: 'clientSide' });
21
21
  }
22
22
  render() {
23
- return (h("ag-grid-base", { key: 'a886e21567ee542026f79f93870025cc87e817dc', columnDefs: this.columnDefs, gridOptions: this.clientSideConfig, headerConfig: this.gridHeaderConfig, onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridId: this.gridId, gridApiCallback: this.gridApiCallback }));
23
+ return (h("ag-grid-base", { key: '62dd67374ff762af425ab58d3ed85c42497c7ffb', columnDefs: this.columnDefs, gridOptions: this.clientSideConfig, headerConfig: this.gridHeaderConfig, onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridId: this.gridId, gridApiCallback: this.gridApiCallback }));
24
24
  }
25
25
  static get is() { return "client-side-grid"; }
26
26
  static get properties() {