udp-stencil-component-library 1.0.2 → 1.0.3

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 (638) hide show
  1. package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +11 -11
  2. package/dist/cjs/advanced-search_50.cjs.entry.js +109 -41
  3. package/dist/cjs/advanced-search_50.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ag-grid-base_2.cjs.entry.js +2 -2
  5. package/dist/cjs/api-method-grid.cjs.entry.js +1 -1
  6. package/dist/cjs/check-box.cjs.entry.js +2 -2
  7. package/dist/cjs/chip-section.cjs.entry.js +2 -2
  8. package/dist/cjs/client-side-grid.cjs.entry.js +1 -1
  9. package/dist/cjs/color-preview.cjs.entry.js +1 -1
  10. package/dist/cjs/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.cjs.js.map +1 -1
  11. package/dist/cjs/date-time-renderer_5.cjs.entry.js +17 -16
  12. package/dist/cjs/date-time-renderer_5.cjs.entry.js.map +1 -1
  13. package/dist/cjs/enums-CA1UjPVU.js +25 -0
  14. package/dist/cjs/enums-CA1UjPVU.js.map +1 -0
  15. package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
  16. package/dist/cjs/file-upload.selectable-list.stencil-field.entry.cjs.js.map +1 -1
  17. package/dist/cjs/file-upload_3.cjs.entry.js +73 -29
  18. package/dist/cjs/file-upload_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/index-Bu1pSYrV.js +8 -8
  20. package/dist/cjs/inputs-example.cjs.entry.js +2 -2
  21. package/dist/cjs/inputs-example.cjs.entry.js.map +1 -1
  22. package/dist/cjs/inputs-example.entry.cjs.js.map +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/map-component_2.cjs.entry.js +2 -2
  25. package/dist/cjs/numeric-field.text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.cjs.js.map +1 -1
  26. package/dist/cjs/numeric-field_5.cjs.entry.js +194 -19
  27. package/dist/cjs/numeric-field_5.cjs.entry.js.map +1 -1
  28. package/dist/cjs/page-renderer.cjs.entry.js +1 -1
  29. package/dist/cjs/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.udp-forms-builder-style-override.entry.cjs.js.map +1 -1
  30. package/dist/cjs/question-configs-renderer_5.cjs.entry.js +17 -4
  31. package/dist/cjs/question-configs-renderer_5.cjs.entry.js.map +1 -1
  32. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  33. package/dist/cjs/resource-timeline-primary-bar.cjs.entry.js +1 -1
  34. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  35. package/dist/cjs/signature-input.stencil-form.tally-display.udp-icon-button.udp-question.udp-save-draft-button.entry.cjs.js.map +1 -0
  36. package/dist/cjs/{signature-input_4.cjs.entry.js → signature-input_6.cjs.entry.js} +359 -157
  37. package/dist/cjs/signature-input_6.cjs.entry.js.map +1 -0
  38. package/dist/cjs/stencil-library.cjs.js +1 -1
  39. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  40. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  41. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  42. package/dist/cjs/udp-container.cjs.entry.js +2 -2
  43. package/dist/cjs/udp-drive-utils-BOyI3h7K.js +180 -0
  44. package/dist/cjs/udp-drive-utils-BOyI3h7K.js.map +1 -0
  45. package/dist/cjs/udp-forms-builder.cjs.entry.js +133 -152
  46. package/dist/cjs/udp-forms-builder.cjs.entry.js.map +1 -1
  47. package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -1
  48. package/dist/cjs/udp-forms-list-card_2.cjs.entry.js +5 -5
  49. package/dist/cjs/udp-forms-list.cjs.entry.js +1 -1
  50. package/dist/cjs/udp-forms-renderer.cjs.entry.js +185 -175
  51. package/dist/cjs/udp-forms-renderer.cjs.entry.js.map +1 -1
  52. package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
  53. package/dist/cjs/udp-forms-ui.cjs.entry.js +113 -82
  54. package/dist/cjs/udp-forms-ui.cjs.entry.js.map +1 -1
  55. package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
  56. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  57. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  58. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  59. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  60. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  61. package/dist/cjs/utils-CdiEmuDf.js +34 -0
  62. package/dist/cjs/utils-CdiEmuDf.js.map +1 -0
  63. package/dist/collection/collection-manifest.json +2 -0
  64. package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button.js +22 -0
  65. package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button.js.map +1 -1
  66. package/dist/collection/components/my-component/UI/buttons/udp-icon-button/udp-icon-button.css +269 -0
  67. package/dist/collection/components/my-component/UI/buttons/udp-icon-button/udp-icon-button.js +392 -0
  68. package/dist/collection/components/my-component/UI/buttons/udp-icon-button/udp-icon-button.js.map +1 -0
  69. package/dist/collection/components/my-component/UI/forms/form/stencil-field.js +38 -14
  70. package/dist/collection/components/my-component/UI/forms/form/stencil-field.js.map +1 -1
  71. package/dist/collection/components/my-component/UI/forms/form/stencil-form.js +81 -28
  72. package/dist/collection/components/my-component/UI/forms/form/stencil-form.js.map +1 -1
  73. package/dist/collection/components/my-component/UI/forms/udp-forms/mockData.js +1 -0
  74. package/dist/collection/components/my-component/UI/forms/udp-forms/mockData.js.map +1 -1
  75. package/dist/collection/components/my-component/UI/forms/udp-forms/types.js.map +1 -1
  76. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.js +13 -17
  77. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.js.map +1 -1
  78. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.js +4 -3
  79. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.js.map +1 -1
  80. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/section-configs-renderer.css +0 -1
  81. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/section-configs-renderer.js +16 -3
  82. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/section-configs-renderer.js.map +1 -1
  83. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/text-input-renderer.js +2 -2
  84. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +135 -159
  85. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -1
  86. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card.js +5 -5
  87. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.js +1 -1
  88. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PrivateFormHandler.js +1 -5
  89. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PrivateFormHandler.js.map +1 -1
  90. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PublicFormHandler.js +1 -0
  91. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PublicFormHandler.js.map +1 -1
  92. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +188 -172
  93. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -1
  94. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.css +175 -0
  95. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.js +211 -88
  96. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.js.map +1 -1
  97. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-save-draft-button/udp-save-draft-button.css +166 -0
  98. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-save-draft-button/udp-save-draft-button.js +215 -0
  99. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-save-draft-button/udp-save-draft-button.js.map +1 -0
  100. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-question/udp-question.js +5 -5
  101. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-question/udp-question.js.map +1 -1
  102. package/dist/collection/components/my-component/UI/grid/ag-table/ag-table.js +1 -1
  103. package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.js +15 -15
  104. package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.js +2 -2
  105. package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js +1 -1
  106. package/dist/collection/components/my-component/UI/grid/new-grid/ag-grid-base.js +1 -1
  107. package/dist/collection/components/my-component/UI/grid/new-grid/api-method-grid.js +1 -1
  108. package/dist/collection/components/my-component/UI/grid/new-grid/client-side-grid.js +1 -1
  109. package/dist/collection/components/my-component/UI/grid/new-grid/grid-header.js +1 -1
  110. package/dist/collection/components/my-component/UI/grid/new-grid/server-side-grid.js +1 -1
  111. package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  112. package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +1 -1
  113. package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.js +2 -2
  114. package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.js +3 -3
  115. package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  116. package/dist/collection/components/my-component/UI/inputs/file-upload/file-upload.js +35 -22
  117. package/dist/collection/components/my-component/UI/inputs/file-upload/file-upload.js.map +1 -1
  118. package/dist/collection/components/my-component/UI/inputs/file-upload/udp-drive-utils.js +202 -10
  119. package/dist/collection/components/my-component/UI/inputs/file-upload/udp-drive-utils.js.map +1 -1
  120. package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js +6 -6
  121. package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js.map +1 -1
  122. package/dist/collection/components/my-component/UI/inputs/signature-input/signature-input.js +52 -22
  123. package/dist/collection/components/my-component/UI/inputs/signature-input/signature-input.js.map +1 -1
  124. package/dist/collection/components/my-component/UI/inputs/tally/tally.js +2 -2
  125. package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js +99 -3
  126. package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js.map +1 -1
  127. package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js +99 -3
  128. package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js.map +1 -1
  129. package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js +132 -6
  130. package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js.map +1 -1
  131. package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.js +4 -4
  132. package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.js +4 -4
  133. package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.js +2 -2
  134. package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.js +2 -2
  135. package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  136. package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  137. package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.js +1 -1
  138. package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.js +1 -1
  139. package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.js +1 -1
  140. package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  141. package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  142. package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.js +1 -1
  143. package/dist/collection/components/my-component/UI/map/udp-map/map-component.js +1 -1
  144. package/dist/collection/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.js +3 -3
  145. package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  146. package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-popup.js +1 -1
  147. package/dist/collection/components/my-component/UI/map/udp-map/popups/select-layer-popup.js +1 -1
  148. package/dist/collection/components/my-component/UI/map/udp-map/popups/split-line-popup.js +1 -1
  149. package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.js +6 -6
  150. package/dist/collection/components/my-component/UI/map/udp-map/udp-map-toolbar.js +1 -1
  151. package/dist/collection/components/my-component/UI/map/udp-map/udp-map.js +3 -3
  152. package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.js +2 -2
  153. package/dist/collection/components/my-component/UI/stepper/udp-stepper-demo.js +1 -1
  154. package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js +1 -1
  155. package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js +1 -1
  156. package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.js +1 -1
  157. package/dist/collection/components/my-component/demo/ambient-demo-container.js +1 -1
  158. package/dist/collection/components/test-component/inputs-example/inputs-example.js +2 -2
  159. package/dist/collection/components/test-component/inputs-example/inputs-example.js.map +1 -1
  160. package/dist/collection/page-renderer/page-renderer.js +1 -1
  161. package/dist/collection/theme/color-preview/color-preview.js +1 -1
  162. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  163. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  164. package/dist/components/add-map-feature-popup.js +1 -1
  165. package/dist/components/advanced-search-grouped.js +1 -1
  166. package/dist/components/advanced-search.js +1 -1
  167. package/dist/components/ag-grid-base.js +1 -1
  168. package/dist/components/ag-table.js +1 -1
  169. package/dist/components/ambient-demo-container.js +1 -1
  170. package/dist/components/ambient-template-grid.js +1 -1
  171. package/dist/components/api-method-grid.js +4 -4
  172. package/dist/components/app-bar.js +1 -1
  173. package/dist/components/chart-container.js +1 -1
  174. package/dist/components/check-box-group.js +1 -1
  175. package/dist/components/check-box.js +1 -1
  176. package/dist/components/chip-section.js +3 -3
  177. package/dist/components/client-side-grid.js +3 -3
  178. package/dist/components/color-preview.js +1 -1
  179. package/dist/components/date-time-renderer.js +1 -1
  180. package/dist/components/edit-view-form-dialog.js +1 -1
  181. package/dist/components/feature-details-card.js +1 -1
  182. package/dist/components/feature-details-popup.js +1 -1
  183. package/dist/components/file-upload-renderer.js +1 -1
  184. package/dist/components/file-upload.js +1 -1
  185. package/dist/components/grid-header.js +1 -1
  186. package/dist/components/grid-primary-bar.js +1 -1
  187. package/dist/components/inputs-example.js +15 -15
  188. package/dist/components/inputs-example.js.map +1 -1
  189. package/dist/components/list-options-renderer.js +1 -1
  190. package/dist/components/map-component.js +1 -1
  191. package/dist/components/map-toolbar.js +1 -1
  192. package/dist/components/my-component.js +26 -26
  193. package/dist/components/numeric-field.js +1 -1
  194. package/dist/components/{p-CfZR5rek.js → p-0F2I6Qvn.js} +3 -3
  195. package/dist/components/{p-CfZR5rek.js.map → p-0F2I6Qvn.js.map} +1 -1
  196. package/dist/components/{p-BbC2Itep.js → p-1CPON0Xx.js} +5 -5
  197. package/dist/components/{p-BbC2Itep.js.map → p-1CPON0Xx.js.map} +1 -1
  198. package/dist/components/{p-IlXn87Ki.js → p-1Cv4cku0.js} +4 -14
  199. package/dist/components/p-1Cv4cku0.js.map +1 -0
  200. package/dist/components/{p-CTn3c76I.js → p-1uly65Sv.js} +3 -3
  201. package/dist/components/{p-CTn3c76I.js.map → p-1uly65Sv.js.map} +1 -1
  202. package/dist/components/{p-C8cWVxBF.js → p-26jyxB7s.js} +66 -27
  203. package/dist/components/p-26jyxB7s.js.map +1 -0
  204. package/dist/components/{p-GQEOUb0c.js → p-4hWvEEZf.js} +5 -5
  205. package/dist/components/{p-GQEOUb0c.js.map → p-4hWvEEZf.js.map} +1 -1
  206. package/dist/components/{p-HrsHnWeG.js → p-6EzLtNtq.js} +6 -6
  207. package/dist/components/{p-HrsHnWeG.js.map → p-6EzLtNtq.js.map} +1 -1
  208. package/dist/components/{p-syf9yo9-.js → p-8avkq8Fj.js} +4 -4
  209. package/dist/components/{p-syf9yo9-.js.map → p-8avkq8Fj.js.map} +1 -1
  210. package/dist/components/{p-B8k9GGZB.js → p-8paOuPay.js} +4 -4
  211. package/dist/components/{p-B8k9GGZB.js.map → p-8paOuPay.js.map} +1 -1
  212. package/dist/components/{p-DntePo7I.js → p-B2mj8zmp.js} +3 -3
  213. package/dist/components/{p-DntePo7I.js.map → p-B2mj8zmp.js.map} +1 -1
  214. package/dist/components/{p-Bv1MGbhE.js → p-B3gbGwCE.js} +50 -83
  215. package/dist/components/p-B3gbGwCE.js.map +1 -0
  216. package/dist/components/{p-ves_LtSN.js → p-B6A-djr0.js} +4 -4
  217. package/dist/components/{p-ves_LtSN.js.map → p-B6A-djr0.js.map} +1 -1
  218. package/dist/components/{p-D0T6NTw2.js → p-BANMRVyZ.js} +3 -3
  219. package/dist/components/{p-D0T6NTw2.js.map → p-BANMRVyZ.js.map} +1 -1
  220. package/dist/components/{p-D-JeGky8.js → p-BB2sALAW.js} +3 -3
  221. package/dist/components/{p-D-JeGky8.js.map → p-BB2sALAW.js.map} +1 -1
  222. package/dist/components/{p-DehJN46u.js → p-BLWvjl_b.js} +6 -6
  223. package/dist/components/{p-DehJN46u.js.map → p-BLWvjl_b.js.map} +1 -1
  224. package/dist/components/{p-y6ddPVSK.js → p-BO3Kzy6x.js} +6 -6
  225. package/dist/components/{p-y6ddPVSK.js.map → p-BO3Kzy6x.js.map} +1 -1
  226. package/dist/components/p-BY5RQ-T1.js +16 -0
  227. package/dist/components/p-BY5RQ-T1.js.map +1 -0
  228. package/dist/components/{p-ClToknIK.js → p-BbOHuqrJ.js} +5 -5
  229. package/dist/components/{p-ClToknIK.js.map → p-BbOHuqrJ.js.map} +1 -1
  230. package/dist/components/{p-CJsnV8uM.js → p-BfT3KUJC.js} +4 -4
  231. package/dist/components/{p-CJsnV8uM.js.map → p-BfT3KUJC.js.map} +1 -1
  232. package/dist/components/{p-BdWgc1UD.js → p-Bi8lqIP-.js} +8 -7
  233. package/dist/components/p-Bi8lqIP-.js.map +1 -0
  234. package/dist/components/{p-DNxY-i6k.js → p-BpD1NQKC.js} +5 -5
  235. package/dist/components/{p-DNxY-i6k.js.map → p-BpD1NQKC.js.map} +1 -1
  236. package/dist/components/p-BtOBW9_N.js +142 -0
  237. package/dist/components/p-BtOBW9_N.js.map +1 -0
  238. package/dist/components/{p-Akx0UDMW.js → p-BwPAbBUr.js} +4 -4
  239. package/dist/components/{p-Akx0UDMW.js.map → p-BwPAbBUr.js.map} +1 -1
  240. package/dist/components/p-BzH4NpB-.js +301 -0
  241. package/dist/components/p-BzH4NpB-.js.map +1 -0
  242. package/dist/components/{p-CSunqYw8.js → p-C-E6e6mL.js} +17 -17
  243. package/dist/components/{p-CSunqYw8.js.map → p-C-E6e6mL.js.map} +1 -1
  244. package/dist/components/{p-DWJbhjYR.js → p-C1K2NBql.js} +5 -5
  245. package/dist/components/{p-DWJbhjYR.js.map → p-C1K2NBql.js.map} +1 -1
  246. package/dist/components/{p-CNC3rtXm.js → p-C2j9tPIU.js} +4 -4
  247. package/dist/components/{p-CNC3rtXm.js.map → p-C2j9tPIU.js.map} +1 -1
  248. package/dist/components/p-C5aOw4Ij.js +168 -0
  249. package/dist/components/p-C5aOw4Ij.js.map +1 -0
  250. package/dist/components/{p-CJINZgmD.js → p-C6bm8Rs4.js} +17 -17
  251. package/dist/components/{p-CJINZgmD.js.map → p-C6bm8Rs4.js.map} +1 -1
  252. package/dist/components/{p-PqypuW_Q.js → p-CL4gkS6u.js} +22 -84
  253. package/dist/components/p-CL4gkS6u.js.map +1 -0
  254. package/dist/components/{p-DeS7YSzc.js → p-CMTLAuz8.js} +3 -3
  255. package/dist/components/{p-DeS7YSzc.js.map → p-CMTLAuz8.js.map} +1 -1
  256. package/dist/components/p-CWAWWTnd.js +47 -0
  257. package/dist/components/p-CWAWWTnd.js.map +1 -0
  258. package/dist/components/{p-B3-pcvgV.js → p-Cdz5sX_v.js} +38 -25
  259. package/dist/components/p-Cdz5sX_v.js.map +1 -0
  260. package/dist/components/{p-byKLubNE.js → p-Coa3kO6W.js} +3 -3
  261. package/dist/components/{p-byKLubNE.js.map → p-Coa3kO6W.js.map} +1 -1
  262. package/dist/components/{p-DzaN4l_Y.js → p-Cp1kbBGM.js} +5 -5
  263. package/dist/components/{p-DzaN4l_Y.js.map → p-Cp1kbBGM.js.map} +1 -1
  264. package/dist/components/{p-BYsLvu6g.js → p-CpMdhv3j.js} +69 -5
  265. package/dist/components/p-CpMdhv3j.js.map +1 -0
  266. package/dist/components/{p-BWI0GtPn.js → p-CpQin4NC.js} +7 -7
  267. package/dist/components/{p-BWI0GtPn.js.map → p-CpQin4NC.js.map} +1 -1
  268. package/dist/components/{p-DIPIddaO.js → p-CqiZ9SAU.js} +3 -3
  269. package/dist/components/{p-DIPIddaO.js.map → p-CqiZ9SAU.js.map} +1 -1
  270. package/dist/components/{p-DxJCXXmE.js → p-Cr_ifuX-.js} +27 -26
  271. package/dist/components/p-Cr_ifuX-.js.map +1 -0
  272. package/dist/components/{p-bLKTEsIH.js → p-CsMmUkoQ.js} +8 -8
  273. package/dist/components/{p-bLKTEsIH.js.map → p-CsMmUkoQ.js.map} +1 -1
  274. package/dist/components/{p-Cf-3pInV.js → p-Ct7EvUCI.js} +3 -3
  275. package/dist/components/{p-Cf-3pInV.js.map → p-Ct7EvUCI.js.map} +1 -1
  276. package/dist/components/{p-BbHv2Hzb.js → p-CvQ8X76F.js} +8 -8
  277. package/dist/components/{p-BbHv2Hzb.js.map → p-CvQ8X76F.js.map} +1 -1
  278. package/dist/components/{p-BEwTqpWE.js → p-CxOYMG-r.js} +4 -4
  279. package/dist/components/{p-BEwTqpWE.js.map → p-CxOYMG-r.js.map} +1 -1
  280. package/dist/components/{p-DOKGpXin.js → p-Cyigv-iT.js} +27 -8
  281. package/dist/components/p-Cyigv-iT.js.map +1 -0
  282. package/dist/components/{p-hRee3qYx.js → p-D6Wo7quX.js} +7 -2
  283. package/dist/components/p-D6Wo7quX.js.map +1 -0
  284. package/dist/components/{p-BUw3R0Ql.js → p-D9A5l8BE.js} +7 -7
  285. package/dist/components/{p-BUw3R0Ql.js.map → p-D9A5l8BE.js.map} +1 -1
  286. package/dist/components/{p-CDnOrzs3.js → p-DBtdo56U.js} +4 -4
  287. package/dist/components/{p-CDnOrzs3.js.map → p-DBtdo56U.js.map} +1 -1
  288. package/dist/components/{p-BIc3R4fE.js → p-DFKz-3Nr.js} +5 -5
  289. package/dist/components/{p-BIc3R4fE.js.map → p-DFKz-3Nr.js.map} +1 -1
  290. package/dist/components/{p-BJerffMg.js → p-DL9uHt-7.js} +5 -5
  291. package/dist/components/{p-BJerffMg.js.map → p-DL9uHt-7.js.map} +1 -1
  292. package/dist/components/{p-DIcPqQkn.js → p-DSIcWNUB.js} +5 -4
  293. package/dist/components/p-DSIcWNUB.js.map +1 -0
  294. package/dist/components/{p-CRiQA7Cy.js → p-DZaCCOXB.js} +69 -5
  295. package/dist/components/p-DZaCCOXB.js.map +1 -0
  296. package/dist/components/{p-BwHEv1Kb.js → p-DaMmzX_J.js} +13 -13
  297. package/dist/components/{p-BwHEv1Kb.js.map → p-DaMmzX_J.js.map} +1 -1
  298. package/dist/components/{p-CY0PAhIT.js → p-Dmmz74K2.js} +4 -4
  299. package/dist/components/{p-CY0PAhIT.js.map → p-Dmmz74K2.js.map} +1 -1
  300. package/dist/components/{p-DMcaGgHq.js → p-DnMRLbBX.js} +5 -5
  301. package/dist/components/{p-DMcaGgHq.js.map → p-DnMRLbBX.js.map} +1 -1
  302. package/dist/components/{p-ChdtzL8Z.js → p-Dpvhge5H.js} +10 -9
  303. package/dist/components/p-Dpvhge5H.js.map +1 -0
  304. package/dist/components/p-DtiAfg0X.js +25 -0
  305. package/dist/components/p-DtiAfg0X.js.map +1 -0
  306. package/dist/components/{p-XoXMxeuq.js → p-Dwnxv7WO.js} +3 -3
  307. package/dist/components/{p-XoXMxeuq.js.map → p-Dwnxv7WO.js.map} +1 -1
  308. package/dist/components/{p-BvSuY3tY.js → p-Dx5ehH3t.js} +7 -7
  309. package/dist/components/{p-BvSuY3tY.js.map → p-Dx5ehH3t.js.map} +1 -1
  310. package/dist/components/{p-DueJnVH4.js → p-DyC6jVV8.js} +10 -9
  311. package/dist/components/p-DyC6jVV8.js.map +1 -0
  312. package/dist/components/{p-Bdt-oOnd.js → p-Oil5iqFm.js} +120 -8
  313. package/dist/components/p-Oil5iqFm.js.map +1 -0
  314. package/dist/components/{p-C6aDnKNm.js → p-P3YTnOWe.js} +5 -5
  315. package/dist/components/{p-C6aDnKNm.js.map → p-P3YTnOWe.js.map} +1 -1
  316. package/dist/components/{p-CLvAjrtw.js → p-Qxi-zxd0.js} +8 -8
  317. package/dist/components/{p-CLvAjrtw.js.map → p-Qxi-zxd0.js.map} +1 -1
  318. package/dist/components/{p-DRO3I7Mm.js → p-Qxw1cxga.js} +8 -8
  319. package/dist/components/{p-DRO3I7Mm.js.map → p-Qxw1cxga.js.map} +1 -1
  320. package/dist/components/{p-DLWUrvpt.js → p-Tu9UB-v3.js} +5 -5
  321. package/dist/components/{p-DLWUrvpt.js.map → p-Tu9UB-v3.js.map} +1 -1
  322. package/dist/components/{p-DQIj9UI7.js → p-Ut5zP7nE.js} +5 -5
  323. package/dist/components/{p-DQIj9UI7.js.map → p-Ut5zP7nE.js.map} +1 -1
  324. package/dist/components/{p-Thx6k3Xp.js → p-WLd9SWLl.js} +4 -4
  325. package/dist/components/{p-Thx6k3Xp.js.map → p-WLd9SWLl.js.map} +1 -1
  326. package/dist/components/{p-BTIWOttf.js → p-W_kxEzVl.js} +6 -6
  327. package/dist/components/{p-BTIWOttf.js.map → p-W_kxEzVl.js.map} +1 -1
  328. package/dist/components/{p-BOW03S7b.js → p-XP8tp0pm.js} +5 -5
  329. package/dist/components/{p-BOW03S7b.js.map → p-XP8tp0pm.js.map} +1 -1
  330. package/dist/components/{p-w2FTnlQG.js → p-_HuUfybA.js} +3 -3
  331. package/dist/components/{p-w2FTnlQG.js.map → p-_HuUfybA.js.map} +1 -1
  332. package/dist/components/{p-BU706xtx.js → p-hWgAmNsF.js} +3 -3
  333. package/dist/components/{p-BU706xtx.js.map → p-hWgAmNsF.js.map} +1 -1
  334. package/dist/components/{p-Bykep8mm.js → p-ibwbE8nI.js} +4 -4
  335. package/dist/components/{p-Bykep8mm.js.map → p-ibwbE8nI.js.map} +1 -1
  336. package/dist/components/{p-CA-v1fbV.js → p-ill5r6eV.js} +40 -9
  337. package/dist/components/p-ill5r6eV.js.map +1 -0
  338. package/dist/components/{p-DqYsDDHy.js → p-jdqTpLxN.js} +4 -4
  339. package/dist/components/{p-DqYsDDHy.js.map → p-jdqTpLxN.js.map} +1 -1
  340. package/dist/components/{p-ByM88ZWk.js → p-jpt3zFdi.js} +3 -3
  341. package/dist/components/{p-ByM88ZWk.js.map → p-jpt3zFdi.js.map} +1 -1
  342. package/dist/components/{p-BEtm34A3.js → p-ncemY4Wx.js} +37 -36
  343. package/dist/components/p-ncemY4Wx.js.map +1 -0
  344. package/dist/components/{p-DqPGCQm2.js → p-s8qXxEgi.js} +3 -3
  345. package/dist/components/{p-DqPGCQm2.js.map → p-s8qXxEgi.js.map} +1 -1
  346. package/dist/components/p-vrP9HZiW.js +156 -0
  347. package/dist/components/p-vrP9HZiW.js.map +1 -0
  348. package/dist/components/{p-D32jPxWa.js → p-ycrk0Lr4.js} +5 -5
  349. package/dist/components/{p-D32jPxWa.js.map → p-ycrk0Lr4.js.map} +1 -1
  350. package/dist/components/page-renderer.js +21 -21
  351. package/dist/components/primary-action-header.js +1 -1
  352. package/dist/components/question-configs-renderer.js +1 -1
  353. package/dist/components/question-specific-configs-renderer.js +1 -1
  354. package/dist/components/resource-timeline-calendar.js +5 -5
  355. package/dist/components/resource-timeline-primary-bar.js +1 -1
  356. package/dist/components/save-view-form-dialog.js +1 -1
  357. package/dist/components/search-list-item.js +1 -1
  358. package/dist/components/section-configs-renderer.js +1 -1
  359. package/dist/components/select-layer-popup.js +1 -1
  360. package/dist/components/server-side-grid.js +1 -1
  361. package/dist/components/side-sheet.js +1 -1
  362. package/dist/components/signature-input.js +1 -1
  363. package/dist/components/split-line-popup.js +1 -1
  364. package/dist/components/stencil-field.js +1 -1
  365. package/dist/components/stencil-form.js +1 -1
  366. package/dist/components/stencil-icon-button.js +1 -1
  367. package/dist/components/stencil-toggle.js +1 -1
  368. package/dist/components/tally-display.js +1 -1
  369. package/dist/components/text-area.js +1 -1
  370. package/dist/components/text-field.js +1 -1
  371. package/dist/components/text-input-renderer.js +1 -1
  372. package/dist/components/udp-ambient-card.js +1 -1
  373. package/dist/components/udp-avatar.js +1 -1
  374. package/dist/components/udp-bar-chart.js +1 -1
  375. package/dist/components/udp-charts-example.js +7 -7
  376. package/dist/components/udp-container-query-grid-item.js +1 -1
  377. package/dist/components/udp-container-query-grid.js +2 -2
  378. package/dist/components/udp-container-query.js +1 -1
  379. package/dist/components/udp-container.js +1 -1
  380. package/dist/components/udp-date-selector.js +1 -1
  381. package/dist/components/udp-datetime-selector.js +1 -1
  382. package/dist/components/udp-distribution-chart.js +1 -1
  383. package/dist/components/udp-donut-chart.js +1 -1
  384. package/dist/components/udp-dynamic-container-with-menu.js +1 -1
  385. package/dist/components/udp-dynamic-form.js +4 -4
  386. package/dist/components/udp-forms-builder-menu.js +1 -1
  387. package/dist/components/udp-forms-builder-question-item.js +1 -1
  388. package/dist/components/udp-forms-builder-style-override.js +1 -1
  389. package/dist/components/udp-forms-builder.js +162 -183
  390. package/dist/components/udp-forms-builder.js.map +1 -1
  391. package/dist/components/udp-forms-list-card.js +1 -1
  392. package/dist/components/udp-forms-list.js +10 -10
  393. package/dist/components/udp-forms-renderer.js +244 -219
  394. package/dist/components/udp-forms-renderer.js.map +1 -1
  395. package/dist/components/udp-forms-ui.js +1 -1
  396. package/dist/components/udp-grid-loader.js +1 -1
  397. package/dist/components/udp-hotlist-form.js +1 -1
  398. package/dist/components/udp-icon-button.d.ts +11 -0
  399. package/dist/components/udp-icon-button.js +9 -0
  400. package/dist/components/udp-icon-button.js.map +1 -0
  401. package/dist/components/udp-icon.js +1 -1
  402. package/dist/components/udp-line-chart.js +1 -1
  403. package/dist/components/udp-linear-loader.js +1 -1
  404. package/dist/components/udp-list-item.js +2 -2
  405. package/dist/components/udp-map-toolbar.js +1 -1
  406. package/dist/components/udp-map.js +17 -17
  407. package/dist/components/udp-menu-item.js +1 -1
  408. package/dist/components/udp-page.js +1 -1
  409. package/dist/components/udp-question.js +1 -1
  410. package/dist/components/udp-save-draft-button.d.ts +11 -0
  411. package/dist/components/udp-save-draft-button.js +9 -0
  412. package/dist/components/udp-save-draft-button.js.map +1 -0
  413. package/dist/components/udp-selector.js +1 -1
  414. package/dist/components/udp-side-sheet.js +1 -1
  415. package/dist/components/udp-skeleton-loading.js +1 -1
  416. package/dist/components/udp-split-screen.js +1 -1
  417. package/dist/components/udp-stepper-demo.js +1 -1
  418. package/dist/components/udp-tab.js +1 -1
  419. package/dist/components/udp-tabs.js +1 -1
  420. package/dist/components/udp-time-selector.js +1 -1
  421. package/dist/components/udp-vertical-spacer.js +1 -1
  422. package/dist/esm/add-map-feature-popup_4.entry.js +11 -11
  423. package/dist/esm/advanced-search_50.entry.js +109 -41
  424. package/dist/esm/advanced-search_50.entry.js.map +1 -1
  425. package/dist/esm/ag-grid-base_2.entry.js +2 -2
  426. package/dist/esm/api-method-grid.entry.js +1 -1
  427. package/dist/esm/check-box.entry.js +2 -2
  428. package/dist/esm/chip-section.entry.js +2 -2
  429. package/dist/esm/client-side-grid.entry.js +1 -1
  430. package/dist/esm/color-preview.entry.js +1 -1
  431. package/dist/esm/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.js.map +1 -1
  432. package/dist/esm/date-time-renderer_5.entry.js +17 -16
  433. package/dist/esm/date-time-renderer_5.entry.js.map +1 -1
  434. package/dist/esm/enums-DtiAfg0X.js +25 -0
  435. package/dist/esm/enums-DtiAfg0X.js.map +1 -0
  436. package/dist/esm/feature-details-card_2.entry.js +5 -5
  437. package/dist/esm/file-upload.selectable-list.stencil-field.entry.js.map +1 -1
  438. package/dist/esm/file-upload_3.entry.js +73 -29
  439. package/dist/esm/file-upload_3.entry.js.map +1 -1
  440. package/dist/esm/index-CaIWDYyq.js +8 -8
  441. package/dist/esm/inputs-example.entry.js +2 -2
  442. package/dist/esm/inputs-example.entry.js.map +1 -1
  443. package/dist/esm/loader.js +1 -1
  444. package/dist/esm/map-component_2.entry.js +2 -2
  445. package/dist/esm/numeric-field.text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.js.map +1 -1
  446. package/dist/esm/numeric-field_5.entry.js +195 -20
  447. package/dist/esm/numeric-field_5.entry.js.map +1 -1
  448. package/dist/esm/page-renderer.entry.js +1 -1
  449. package/dist/esm/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.udp-forms-builder-style-override.entry.js.map +1 -1
  450. package/dist/esm/question-configs-renderer_5.entry.js +17 -4
  451. package/dist/esm/question-configs-renderer_5.entry.js.map +1 -1
  452. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  453. package/dist/esm/resource-timeline-primary-bar.entry.js +1 -1
  454. package/dist/esm/server-side-grid.entry.js +1 -1
  455. package/dist/esm/signature-input.stencil-form.tally-display.udp-icon-button.udp-question.udp-save-draft-button.entry.js.map +1 -0
  456. package/dist/esm/{signature-input_4.entry.js → signature-input_6.entry.js} +315 -115
  457. package/dist/esm/signature-input_6.entry.js.map +1 -0
  458. package/dist/esm/stencil-library.js +1 -1
  459. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  460. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  461. package/dist/esm/udp-container-query.entry.js +2 -2
  462. package/dist/esm/udp-container.entry.js +2 -2
  463. package/dist/esm/udp-drive-utils-Cm3Sms8t.js +168 -0
  464. package/dist/esm/udp-drive-utils-Cm3Sms8t.js.map +1 -0
  465. package/dist/esm/udp-forms-builder.entry.js +133 -152
  466. package/dist/esm/udp-forms-builder.entry.js.map +1 -1
  467. package/dist/esm/udp-forms-list-card_2.entry.js +5 -5
  468. package/dist/esm/udp-forms-list.entry.js +1 -1
  469. package/dist/esm/udp-forms-renderer.entry.js +186 -176
  470. package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
  471. package/dist/esm/udp-forms-ui.entry.js +113 -82
  472. package/dist/esm/udp-forms-ui.entry.js.map +1 -1
  473. package/dist/esm/udp-map.entry.js +3 -3
  474. package/dist/esm/udp-page.entry.js +1 -1
  475. package/dist/esm/udp-split-screen.entry.js +1 -1
  476. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  477. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  478. package/dist/esm/utils-DZv4MqyU.js +31 -0
  479. package/dist/esm/utils-DZv4MqyU.js.map +1 -0
  480. package/dist/stencil-library/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.esm.js.map +1 -1
  481. package/dist/stencil-library/file-upload.selectable-list.stencil-field.entry.esm.js.map +1 -1
  482. package/dist/stencil-library/inputs-example.entry.esm.js.map +1 -1
  483. package/dist/stencil-library/numeric-field.text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.esm.js.map +1 -1
  484. package/dist/stencil-library/p-09319660.entry.js +2 -0
  485. package/dist/stencil-library/p-09319660.entry.js.map +1 -0
  486. package/dist/stencil-library/p-146bc917.entry.js +2 -0
  487. package/dist/stencil-library/{p-b3b6310e.entry.js → p-147c4595.entry.js} +2 -2
  488. package/dist/stencil-library/{p-06ca29e0.entry.js → p-1b001f78.entry.js} +2 -2
  489. package/dist/stencil-library/{p-762591f6.entry.js → p-2635a6cc.entry.js} +2 -2
  490. package/dist/stencil-library/p-2f2fd111.entry.js +2 -0
  491. package/dist/stencil-library/{p-368be454.entry.js → p-2fc495ce.entry.js} +2 -2
  492. package/dist/stencil-library/{p-fdfa7087.entry.js → p-476c08df.entry.js} +2 -2
  493. package/dist/stencil-library/{p-ee1610d3.entry.js → p-4ab893a0.entry.js} +2 -2
  494. package/dist/stencil-library/p-4dac2b6d.entry.js +2 -0
  495. package/dist/stencil-library/p-4dac2b6d.entry.js.map +1 -0
  496. package/dist/stencil-library/p-556a182f.entry.js +2 -0
  497. package/dist/stencil-library/p-556a182f.entry.js.map +1 -0
  498. package/dist/stencil-library/p-5ac16f81.entry.js +2 -0
  499. package/dist/stencil-library/p-5ac16f81.entry.js.map +1 -0
  500. package/dist/stencil-library/p-609236fc.entry.js +2 -0
  501. package/dist/stencil-library/p-609236fc.entry.js.map +1 -0
  502. package/dist/stencil-library/{p-9b0b311b.entry.js → p-64330dbb.entry.js} +2 -2
  503. package/dist/stencil-library/p-65a5cce3.entry.js +2 -0
  504. package/dist/stencil-library/{p-5a946191.entry.js → p-70d8a0d8.entry.js} +2 -2
  505. package/dist/stencil-library/{p-79065768.entry.js → p-8119eb18.entry.js} +2 -2
  506. package/dist/stencil-library/{p-2f99476a.entry.js → p-86cd0134.entry.js} +2 -2
  507. package/dist/stencil-library/p-89aa56f1.entry.js +2 -0
  508. package/dist/stencil-library/p-89aa56f1.entry.js.map +1 -0
  509. package/dist/stencil-library/{p-767b7be7.entry.js → p-8a0b6bd4.entry.js} +2 -2
  510. package/dist/stencil-library/{p-40127f9f.entry.js → p-90fbca0f.entry.js} +2 -2
  511. package/dist/stencil-library/p-C5aOw4Ij.js +2 -0
  512. package/dist/stencil-library/p-C5aOw4Ij.js.map +1 -0
  513. package/dist/stencil-library/p-DZv4MqyU.js +2 -0
  514. package/dist/stencil-library/p-DZv4MqyU.js.map +1 -0
  515. package/dist/stencil-library/p-DtiAfg0X.js +2 -0
  516. package/dist/stencil-library/p-DtiAfg0X.js.map +1 -0
  517. package/dist/stencil-library/{p-f4f4ba61.entry.js → p-a98b033e.entry.js} +2 -2
  518. package/dist/stencil-library/p-a98b033e.entry.js.map +1 -0
  519. package/dist/stencil-library/{p-2a11c543.entry.js → p-ae167d4b.entry.js} +2 -2
  520. package/dist/stencil-library/{p-55459135.entry.js → p-b53e1b9a.entry.js} +2 -2
  521. package/dist/stencil-library/p-c1966f2c.entry.js +2 -0
  522. package/dist/stencil-library/p-c1966f2c.entry.js.map +1 -0
  523. package/dist/stencil-library/{p-0de6045a.entry.js → p-c9046d64.entry.js} +2 -2
  524. package/dist/stencil-library/{p-c1809ef3.entry.js → p-ca53be83.entry.js} +2 -2
  525. package/dist/stencil-library/p-d46dd16c.entry.js +2 -0
  526. package/dist/stencil-library/{p-09186dea.entry.js → p-d48b5599.entry.js} +2 -2
  527. package/dist/stencil-library/p-d4f31146.entry.js +2 -0
  528. package/dist/stencil-library/p-d4f31146.entry.js.map +1 -0
  529. package/dist/stencil-library/{p-b0b70c0b.entry.js → p-e7e8a8a3.entry.js} +2 -2
  530. package/dist/stencil-library/p-ea6e9a24.entry.js +2 -0
  531. package/dist/stencil-library/p-ea6e9a24.entry.js.map +1 -0
  532. package/dist/stencil-library/{p-79587009.entry.js → p-f4b5879d.entry.js} +2 -2
  533. package/dist/stencil-library/p-fbfbbcf1.entry.js +2 -0
  534. package/dist/stencil-library/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.udp-forms-builder-style-override.entry.esm.js.map +1 -1
  535. package/dist/stencil-library/signature-input.stencil-form.tally-display.udp-icon-button.udp-question.udp-save-draft-button.entry.esm.js.map +1 -0
  536. package/dist/stencil-library/stencil-library.esm.js +1 -1
  537. package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -1
  538. package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -1
  539. package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -1
  540. package/dist/types/components/my-component/UI/buttons/icon-button/stencil-icon-button.d.ts +14 -0
  541. package/dist/types/components/my-component/UI/buttons/udp-icon-button/udp-icon-button.d.ts +91 -0
  542. package/dist/types/components/my-component/UI/forms/form/stencil-field.d.ts +2 -1
  543. package/dist/types/components/my-component/UI/forms/form/stencil-form.d.ts +7 -5
  544. package/dist/types/components/my-component/UI/forms/udp-forms/types.d.ts +16 -0
  545. package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/section-configs-renderer.d.ts +1 -0
  546. package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.d.ts +16 -19
  547. package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +14 -26
  548. package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.d.ts +21 -7
  549. package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-save-draft-button/udp-save-draft-button.d.ts +20 -0
  550. package/dist/types/components/my-component/UI/inputs/file-upload/file-upload.d.ts +1 -1
  551. package/dist/types/components/my-component/UI/inputs/file-upload/udp-drive-utils.d.ts +68 -1
  552. package/dist/types/components/my-component/UI/inputs/numeric-field/numeric-field.d.ts +1 -1
  553. package/dist/types/components/my-component/UI/inputs/signature-input/signature-input.d.ts +1 -1
  554. package/dist/types/components/my-component/UI/inputs/text-area/text-area.d.ts +21 -0
  555. package/dist/types/components/my-component/UI/inputs/text-field/text-field.d.ts +21 -0
  556. package/dist/types/components/my-component/UI/inputs/time-selector/udp-time-selector.d.ts +33 -1
  557. package/dist/types/components.d.ts +384 -14
  558. package/package.json +1 -1
  559. package/dist/cjs/signature-input.stencil-form.tally-display.udp-question.entry.cjs.js.map +0 -1
  560. package/dist/cjs/signature-input_4.cjs.entry.js.map +0 -1
  561. package/dist/cjs/utils-DMhqs00g.js +0 -55
  562. package/dist/cjs/utils-DMhqs00g.js.map +0 -1
  563. package/dist/collection/components/my-component/UI/forms/form/stencil-field.css +0 -70
  564. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.css +0 -89
  565. package/dist/components/p-B3-pcvgV.js.map +0 -1
  566. package/dist/components/p-BEtm34A3.js.map +0 -1
  567. package/dist/components/p-BYsLvu6g.js.map +0 -1
  568. package/dist/components/p-BdWgc1UD.js.map +0 -1
  569. package/dist/components/p-Bdt-oOnd.js.map +0 -1
  570. package/dist/components/p-Bv1MGbhE.js.map +0 -1
  571. package/dist/components/p-C8cWVxBF.js.map +0 -1
  572. package/dist/components/p-C9cEH65u.js +0 -307
  573. package/dist/components/p-C9cEH65u.js.map +0 -1
  574. package/dist/components/p-CA-v1fbV.js.map +0 -1
  575. package/dist/components/p-CRiQA7Cy.js.map +0 -1
  576. package/dist/components/p-ChdtzL8Z.js.map +0 -1
  577. package/dist/components/p-DIcPqQkn.js.map +0 -1
  578. package/dist/components/p-DOKGpXin.js.map +0 -1
  579. package/dist/components/p-DueJnVH4.js.map +0 -1
  580. package/dist/components/p-DxJCXXmE.js.map +0 -1
  581. package/dist/components/p-IlXn87Ki.js.map +0 -1
  582. package/dist/components/p-PqypuW_Q.js.map +0 -1
  583. package/dist/components/p-hRee3qYx.js.map +0 -1
  584. package/dist/esm/signature-input.stencil-form.tally-display.udp-question.entry.js.map +0 -1
  585. package/dist/esm/signature-input_4.entry.js.map +0 -1
  586. package/dist/esm/utils-vXSpJxEK.js +0 -52
  587. package/dist/esm/utils-vXSpJxEK.js.map +0 -1
  588. package/dist/stencil-library/p-00c1ce44.entry.js +0 -2
  589. package/dist/stencil-library/p-00c1ce44.entry.js.map +0 -1
  590. package/dist/stencil-library/p-250a8400.entry.js +0 -2
  591. package/dist/stencil-library/p-2fda98ee.entry.js +0 -2
  592. package/dist/stencil-library/p-2fda98ee.entry.js.map +0 -1
  593. package/dist/stencil-library/p-50f67815.entry.js +0 -2
  594. package/dist/stencil-library/p-50f67815.entry.js.map +0 -1
  595. package/dist/stencil-library/p-584552e6.entry.js +0 -2
  596. package/dist/stencil-library/p-5e96c57a.entry.js +0 -2
  597. package/dist/stencil-library/p-5e96c57a.entry.js.map +0 -1
  598. package/dist/stencil-library/p-6a1febc9.entry.js +0 -2
  599. package/dist/stencil-library/p-6ed5258c.entry.js +0 -2
  600. package/dist/stencil-library/p-6ed5258c.entry.js.map +0 -1
  601. package/dist/stencil-library/p-77739d4b.entry.js +0 -2
  602. package/dist/stencil-library/p-77739d4b.entry.js.map +0 -1
  603. package/dist/stencil-library/p-7a2202b9.entry.js +0 -2
  604. package/dist/stencil-library/p-7a2202b9.entry.js.map +0 -1
  605. package/dist/stencil-library/p-84109194.entry.js +0 -2
  606. package/dist/stencil-library/p-b1d412a7.entry.js +0 -2
  607. package/dist/stencil-library/p-b1d412a7.entry.js.map +0 -1
  608. package/dist/stencil-library/p-f4f4ba61.entry.js.map +0 -1
  609. package/dist/stencil-library/p-f7c855d0.entry.js +0 -2
  610. package/dist/stencil-library/p-f889438a.entry.js +0 -2
  611. package/dist/stencil-library/p-f889438a.entry.js.map +0 -1
  612. package/dist/stencil-library/p-vXSpJxEK.js +0 -2
  613. package/dist/stencil-library/p-vXSpJxEK.js.map +0 -1
  614. package/dist/stencil-library/signature-input.stencil-form.tally-display.udp-question.entry.esm.js.map +0 -1
  615. /package/dist/stencil-library/{p-84109194.entry.js.map → p-146bc917.entry.js.map} +0 -0
  616. /package/dist/stencil-library/{p-b3b6310e.entry.js.map → p-147c4595.entry.js.map} +0 -0
  617. /package/dist/stencil-library/{p-06ca29e0.entry.js.map → p-1b001f78.entry.js.map} +0 -0
  618. /package/dist/stencil-library/{p-762591f6.entry.js.map → p-2635a6cc.entry.js.map} +0 -0
  619. /package/dist/stencil-library/{p-6a1febc9.entry.js.map → p-2f2fd111.entry.js.map} +0 -0
  620. /package/dist/stencil-library/{p-368be454.entry.js.map → p-2fc495ce.entry.js.map} +0 -0
  621. /package/dist/stencil-library/{p-fdfa7087.entry.js.map → p-476c08df.entry.js.map} +0 -0
  622. /package/dist/stencil-library/{p-ee1610d3.entry.js.map → p-4ab893a0.entry.js.map} +0 -0
  623. /package/dist/stencil-library/{p-9b0b311b.entry.js.map → p-64330dbb.entry.js.map} +0 -0
  624. /package/dist/stencil-library/{p-584552e6.entry.js.map → p-65a5cce3.entry.js.map} +0 -0
  625. /package/dist/stencil-library/{p-5a946191.entry.js.map → p-70d8a0d8.entry.js.map} +0 -0
  626. /package/dist/stencil-library/{p-79065768.entry.js.map → p-8119eb18.entry.js.map} +0 -0
  627. /package/dist/stencil-library/{p-2f99476a.entry.js.map → p-86cd0134.entry.js.map} +0 -0
  628. /package/dist/stencil-library/{p-767b7be7.entry.js.map → p-8a0b6bd4.entry.js.map} +0 -0
  629. /package/dist/stencil-library/{p-40127f9f.entry.js.map → p-90fbca0f.entry.js.map} +0 -0
  630. /package/dist/stencil-library/{p-2a11c543.entry.js.map → p-ae167d4b.entry.js.map} +0 -0
  631. /package/dist/stencil-library/{p-55459135.entry.js.map → p-b53e1b9a.entry.js.map} +0 -0
  632. /package/dist/stencil-library/{p-0de6045a.entry.js.map → p-c9046d64.entry.js.map} +0 -0
  633. /package/dist/stencil-library/{p-c1809ef3.entry.js.map → p-ca53be83.entry.js.map} +0 -0
  634. /package/dist/stencil-library/{p-f7c855d0.entry.js.map → p-d46dd16c.entry.js.map} +0 -0
  635. /package/dist/stencil-library/{p-09186dea.entry.js.map → p-d48b5599.entry.js.map} +0 -0
  636. /package/dist/stencil-library/{p-b0b70c0b.entry.js.map → p-e7e8a8a3.entry.js.map} +0 -0
  637. /package/dist/stencil-library/{p-79587009.entry.js.map → p-f4b5879d.entry.js.map} +0 -0
  638. /package/dist/stencil-library/{p-250a8400.entry.js.map → p-fbfbbcf1.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-CJINZgmD.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.css?tag=question-configs-renderer&encapsulation=shadow","src/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.tsx"],"sourcesContent":[".generic-configs-container {\n display: flex;\n flex-direction: column;\n /* gap: var(--spacing-04, 16px); */\n} \n\n\n.question-configs-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}","import { Component, h, Prop } from '@stencil/core';\n// import { Question } from '../../../types';\nimport questionsTemplate from '../../udp-forms-builder-question-template';\n\n@Component({\n tag: 'question-configs-renderer',\n styleUrl: 'question-configs-renderer.css',\n shadow: true,\n})\nexport class QuestionConfigsRenderer {\n @Prop() formSectionsDraft: any[];\n @Prop() sIndex: number;\n @Prop() qIndex: number;\n @Prop() isViewOnly: boolean;\n @Prop() lookupOptions: any[];\n @Prop() onFormSectionsDraftChange: (updatedSections: any[]) => void;\n\n private get question() {\n return this.formSectionsDraft?.[this.sIndex].formQuestions?.[this.qIndex];\n }\n\n private getHandler = (fieldTypeId: number, handlerName: string) => {\n const template = questionsTemplate.find(q => q.fieldTypeId === fieldTypeId);\n return template?.handlers?.[handlerName];\n };\n\n render() {\n return (\n <div class=\"generic-configs-container\">\n <div class=\"question-configs-header\">\n <unity-typography variant=\"h6\">{this.question.questionTypeName} Question</unity-typography>\n <div>\n <stencil-toggle\n label=\"Required\"\n disabled={this.isViewOnly}\n checked={this.question.required === true}\n onToggledChange={() => {\n const newValue = !this.question.required;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'required');\n this.onFormSectionsDraftChange(updated);\n }}\n labelPosition=\"right\"\n />\n </div>\n </div>\n\n <text-area\n label=\"Question Text\"\n value={this.question.questionText}\n disabled={this.isViewOnly}\n placeholder=\"Enter the question text here\"\n rows={2}\n maxRows={5}\n required={true}\n fullWidth={true}\n margin={'dense'}\n onInput={e => {\n const newValue = (e.target as HTMLTextAreaElement).value;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'questionText');\n this.onFormSectionsDraftChange(updated);\n }}\n />\n\n <text-area\n label=\"Helper Text\"\n value={this.question.helperText}\n disabled={this.isViewOnly}\n placeholder=\"Enter the question's helper text here\"\n rows={2}\n maxRows={4}\n fullWidth={true}\n margin={'dense'}\n onInput={e => {\n const newValue = (e.target as HTMLTextAreaElement).value;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'helperText');\n this.onFormSectionsDraftChange(updated);\n }}\n />\n\n <question-specific-configs-renderer\n formSectionsDraft={this.formSectionsDraft}\n sIndex={this.sIndex}\n qIndex={this.qIndex}\n isViewOnly={this.isViewOnly}\n onFormSectionsDraftChange={this.onFormSectionsDraftChange}\n lookupOptions={this.lookupOptions}\n />\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-C6bm8Rs4.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.css?tag=question-configs-renderer&encapsulation=shadow","src/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.tsx"],"sourcesContent":[".generic-configs-container {\n display: flex;\n flex-direction: column;\n /* gap: var(--spacing-04, 16px); */\n} \n\n\n.question-configs-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}","import { Component, h, Prop } from '@stencil/core';\n// import { Question } from '../../../types';\nimport questionsTemplate from '../../udp-forms-builder-question-template';\n\n@Component({\n tag: 'question-configs-renderer',\n styleUrl: 'question-configs-renderer.css',\n shadow: true,\n})\nexport class QuestionConfigsRenderer {\n @Prop() formSectionsDraft: any[];\n @Prop() sIndex: number;\n @Prop() qIndex: number;\n @Prop() isViewOnly: boolean;\n @Prop() lookupOptions: any[];\n @Prop() onFormSectionsDraftChange: (updatedSections: any[]) => void;\n\n private get question() {\n return this.formSectionsDraft?.[this.sIndex].formQuestions?.[this.qIndex];\n }\n\n private getHandler = (fieldTypeId: number, handlerName: string) => {\n const template = questionsTemplate.find(q => q.fieldTypeId === fieldTypeId);\n return template?.handlers?.[handlerName];\n };\n\n render() {\n return (\n <div class=\"generic-configs-container\">\n <div class=\"question-configs-header\">\n <unity-typography variant=\"h6\">{this.question.questionTypeName} Question</unity-typography>\n <div>\n <stencil-toggle\n label=\"Required\"\n disabled={this.isViewOnly}\n checked={this.question.required === true}\n onToggledChange={() => {\n const newValue = !this.question.required;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'required');\n this.onFormSectionsDraftChange(updated);\n }}\n labelPosition=\"right\"\n />\n </div>\n </div>\n\n <text-area\n label=\"Question Text\"\n value={this.question.questionText}\n disabled={this.isViewOnly}\n placeholder=\"Enter the question text here\"\n rows={2}\n maxRows={5}\n required={true}\n fullWidth={true}\n margin={'dense'}\n onInput={e => {\n const newValue = (e.target as HTMLTextAreaElement).value;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'questionText');\n this.onFormSectionsDraftChange(updated);\n }}\n />\n\n <text-area\n label=\"Helper Text\"\n value={this.question.helperText}\n disabled={this.isViewOnly}\n placeholder=\"Enter the question's helper text here\"\n rows={2}\n maxRows={4}\n fullWidth={true}\n margin={'dense'}\n onInput={e => {\n const newValue = (e.target as HTMLTextAreaElement).value;\n const handler = this.getHandler(this.question.fieldTypeId, 'handleGenericProperty');\n const updated = handler(newValue, this.formSectionsDraft, this.sIndex, this.qIndex, 'helperText');\n this.onFormSectionsDraftChange(updated);\n }}\n />\n\n <question-specific-configs-renderer\n formSectionsDraft={this.formSectionsDraft}\n sIndex={this.sIndex}\n qIndex={this.qIndex}\n isViewOnly={this.isViewOnly}\n onFormSectionsDraftChange={this.onFormSectionsDraftChange}\n lookupOptions={this.lookupOptions}\n />\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,43 +1,24 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-DPon6DDX.js';
2
+ import { U as UdpFormsFieldTypeEnum } from './p-DtiAfg0X.js';
3
+ import { u as useFormApi } from './p-CWAWWTnd.js';
2
4
  import { d as defineCustomElement$h } from './p-DpLtIIwx.js';
3
- import { d as defineCustomElement$g } from './p-B3-pcvgV.js';
4
- import { d as defineCustomElement$f } from './p-BvSuY3tY.js';
5
+ import { d as defineCustomElement$g } from './p-Cdz5sX_v.js';
6
+ import { d as defineCustomElement$f } from './p-Dx5ehH3t.js';
5
7
  import { d as defineCustomElement$e } from './p-BU3lEg0a.js';
6
- import { d as defineCustomElement$d } from './p-Bv1MGbhE.js';
7
- import { d as defineCustomElement$c } from './p-CA-v1fbV.js';
8
- import { d as defineCustomElement$b } from './p-hRee3qYx.js';
9
- import { d as defineCustomElement$a } from './p-CNC3rtXm.js';
10
- import { d as defineCustomElement$9 } from './p-CRiQA7Cy.js';
11
- import { d as defineCustomElement$8 } from './p-BYsLvu6g.js';
8
+ import { d as defineCustomElement$d } from './p-B3gbGwCE.js';
9
+ import { d as defineCustomElement$c } from './p-ill5r6eV.js';
10
+ import { d as defineCustomElement$b } from './p-D6Wo7quX.js';
11
+ import { d as defineCustomElement$a } from './p-C2j9tPIU.js';
12
+ import { d as defineCustomElement$9 } from './p-DZaCCOXB.js';
13
+ import { d as defineCustomElement$8 } from './p-CpMdhv3j.js';
12
14
  import { d as defineCustomElement$7 } from './p-ZeWoGdjP.js';
13
15
  import { d as defineCustomElement$6 } from './p-C-wDzVCk.js';
14
- import { d as defineCustomElement$5 } from './p-DzaN4l_Y.js';
15
- import { d as defineCustomElement$4 } from './p-DMcaGgHq.js';
16
- import { d as defineCustomElement$3 } from './p-BTIWOttf.js';
17
- import { d as defineCustomElement$2 } from './p-Bdt-oOnd.js';
16
+ import { d as defineCustomElement$5 } from './p-Cp1kbBGM.js';
17
+ import { d as defineCustomElement$4 } from './p-DnMRLbBX.js';
18
+ import { d as defineCustomElement$3 } from './p-W_kxEzVl.js';
19
+ import { d as defineCustomElement$2 } from './p-Oil5iqFm.js';
18
20
  import { d as defineCustomElement$1 } from './p-DkppmXNM.js';
19
21
 
20
- var UdpFormsFieldTypeEnum;
21
- (function (UdpFormsFieldTypeEnum) {
22
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Hidden"] = 1] = "Hidden";
23
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["SingleLineText"] = 2] = "SingleLineText";
24
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["MultiLineText"] = 3] = "MultiLineText";
25
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Checkbox"] = 4] = "Checkbox";
26
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["RadioButton"] = 5] = "RadioButton";
27
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["DropdownSingleSelect"] = 6] = "DropdownSingleSelect";
28
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["DropdownMultipleSelect"] = 7] = "DropdownMultipleSelect";
29
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["ListMultiSelect"] = 8] = "ListMultiSelect";
30
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["DateSelector"] = 9] = "DateSelector";
31
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["TimeSelector"] = 10] = "TimeSelector";
32
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["DateTimeSelector"] = 11] = "DateTimeSelector";
33
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["FileUpload"] = 12] = "FileUpload";
34
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["YesNo"] = 13] = "YesNo";
35
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Signature"] = 14] = "Signature";
36
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Tally"] = 15] = "Tally";
37
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Number"] = 16] = "Number";
38
- UdpFormsFieldTypeEnum[UdpFormsFieldTypeEnum["Paragraph"] = 17] = "Paragraph";
39
- })(UdpFormsFieldTypeEnum || (UdpFormsFieldTypeEnum = {}));
40
-
41
22
  const overrideFont = (element, cssVariable) => {
42
23
  var _a, _b, _c, _d;
43
24
  if ((_a = element === null || element === void 0 ? void 0 : element.shadowRoot) === null || _a === void 0 ? void 0 : _a.lastElementChild) { // this returns null in react for some instances
@@ -65,49 +46,6 @@ const fontOverrideMapping = {
65
46
  Arial: "--font-override-arial"
66
47
  };
67
48
 
68
- /**
69
- * Finds the parent stencil-form and returns its Final Form API.
70
- * This function correctly traverses up through nested Shadow DOM boundaries.
71
- *
72
- * @param element The host element of the component calling this function.
73
- * @returns A promise that resolves with the FormApi instance, or null if not found.
74
- */
75
- async function useFormApi(element) {
76
- let current = element;
77
- let form = null;
78
- // Walk up the DOM tree, escaping shadow roots as we go.
79
- while (current) {
80
- // Look for the form in the current scope
81
- const foundForm = current.closest('stencil-form');
82
- if (foundForm) {
83
- form = foundForm;
84
- break; // Found it!
85
- }
86
- // If not found, we might be in a shadow root.
87
- // Let's try to escape it.
88
- const root = current.getRootNode();
89
- if (root instanceof ShadowRoot) {
90
- current = root.host;
91
- }
92
- else {
93
- // We're in the main document and didn't find it.
94
- break;
95
- }
96
- }
97
- if (!form) {
98
- return null;
99
- }
100
- // Check if getApi method exists
101
- if (typeof form.getApi !== 'function') {
102
- return null;
103
- }
104
- const formApi = await form.getApi();
105
- if (!formApi) {
106
- return null;
107
- }
108
- return formApi;
109
- }
110
-
111
49
  const udpQuestionCss = ".hidden{display:none}";
112
50
 
113
51
  const UdpQuestion = /*@__PURE__*/ proxyCustomElement(class UdpQuestion extends H {
@@ -163,7 +101,7 @@ const UdpQuestion = /*@__PURE__*/ proxyCustomElement(class UdpQuestion extends H
163
101
  // Identify YesNo field types
164
102
  questionElements.forEach((questionEl) => {
165
103
  if (questionEl.question && questionEl.question.fieldTypeId === UdpFormsFieldTypeEnum.YesNo) {
166
- const fieldName = questionEl.question.name;
104
+ const fieldName = questionEl.question.processedSubmissionName;
167
105
  if (fieldName) {
168
106
  const shouldInclude = this.shouldIncludeFieldInTally(fieldName);
169
107
  if (shouldInclude) {
@@ -218,9 +156,9 @@ const UdpQuestion = /*@__PURE__*/ proxyCustomElement(class UdpQuestion extends H
218
156
  this._fieldComponent = this.getFieldComponent();
219
157
  }
220
158
  getFieldComponent() {
221
- var _a, _b, _c, _d, _e;
159
+ var _a, _b, _c, _d;
222
160
  const props = {
223
- name: (_a = this.question.name) !== null && _a !== void 0 ? _a : `question-${this.questionNumber}`,
161
+ name: this.question.processedSubmissionName,
224
162
  required: this.question.required,
225
163
  };
226
164
  const fieldProps = Object.assign(Object.assign({}, this.question.fieldProperties), { id: this.questionNumber, disabled: this.disabled, readonly: this.readonly });
@@ -235,7 +173,7 @@ const UdpQuestion = /*@__PURE__*/ proxyCustomElement(class UdpQuestion extends H
235
173
  return (h("stencil-field", Object.assign({}, props), h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", useCheckbox: true }, fieldProps))));
236
174
  case UdpFormsFieldTypeEnum.DropdownSingleSelect:
237
175
  case UdpFormsFieldTypeEnum.DropdownMultipleSelect:
238
- let options = (_c = (_b = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.items) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.call(_b, items => (Object.assign({ label: items.display, value: items.value }, fieldProps)));
176
+ let options = (_b = (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.items) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, items => (Object.assign({ label: items.display, value: items.value }, fieldProps)));
239
177
  return (h("stencil-field", Object.assign({}, props), h("udp-selector", Object.assign({ options: options !== null && options !== void 0 ? options : [], multiSelect: this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect }, fieldProps))));
240
178
  case UdpFormsFieldTypeEnum.YesNo:
241
179
  return (h("stencil-field", Object.assign({}, props), h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", useCheckbox: true, multiSelect: false, items: [
@@ -256,7 +194,7 @@ const UdpQuestion = /*@__PURE__*/ proxyCustomElement(class UdpQuestion extends H
256
194
  case UdpFormsFieldTypeEnum.Signature:
257
195
  return (h("stencil-field", Object.assign({}, props), h("signature-input", Object.assign({}, fieldProps, { value: this.value }))));
258
196
  case UdpFormsFieldTypeEnum.Paragraph:
259
- return this.value ? h("unity-typography", { id: `paragraphText${this.question.name}`, variant: ((_e = (_d = this.styleOverrides) === null || _d === void 0 ? void 0 : _d.paragraphText) === null || _e === void 0 ? void 0 : _e.variant) || 'body' }, this.value) : h("div", null);
197
+ return this.value ? h("unity-typography", { id: `paragraphText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.paragraphText) === null || _d === void 0 ? void 0 : _d.variant) || 'body' }, this.value) : h("div", null);
260
198
  case UdpFormsFieldTypeEnum.Number:
261
199
  return (h("stencil-field", Object.assign({}, props), h("numeric-field", Object.assign({}, fieldProps))));
262
200
  case UdpFormsFieldTypeEnum.Tally:
@@ -423,7 +361,7 @@ function defineCustomElement() {
423
361
  } });
424
362
  }
425
363
 
426
- export { UdpFormsFieldTypeEnum as U, UdpQuestion as a, defineCustomElement as d, fontOverrideMapping as f, overrideFont as o };
427
- //# sourceMappingURL=p-PqypuW_Q.js.map
364
+ export { UdpQuestion as U, defineCustomElement as d, fontOverrideMapping as f, overrideFont as o };
365
+ //# sourceMappingURL=p-CL4gkS6u.js.map
428
366
 
429
- //# sourceMappingURL=p-PqypuW_Q.js.map
367
+ //# sourceMappingURL=p-CL4gkS6u.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CL4gkS6u.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/forms/udp-forms/utils.ts","src/components/my-component/UI/forms/udp-forms/udp-question/udp-question.css?tag=udp-question&encapsulation=shadow","src/components/my-component/UI/forms/udp-forms/udp-question/udp-question.tsx"],"sourcesContent":["export const overrideFont = (element: HTMLElement, cssVariable) => {\n if(element?.shadowRoot?.lastElementChild){ // this returns null in react for some instances\n element?.shadowRoot?.lastElementChild?.setAttribute?.('style', `font-family: var(${cssVariable})`)\n return;\n }\n const observer = new MutationObserver((mutationsList, observer) => {\n mutationsList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n (node as HTMLElement)?.setAttribute?.('style', `font-family: var(${cssVariable})`);\n observer.disconnect(); // Stop observing once the target is found\n }\n });\n }\n });\n });\n\n if (element?.shadowRoot) {\n observer.observe(element.shadowRoot, { childList: true });\n }\n };\n\n\nexport const fontOverrideMapping = {\n Arial: \"--font-override-arial\"\n}","\n.hidden {\n display: none;\n}\n","import { Component, ComponentInterface, Element, h, Prop, State, Watch } from '@stencil/core';\nimport { UdpFormQuestion } from '../types';\nimport { UdpFormsFieldTypeEnum } from '../enums';\nimport { FontOverrides } from '../types';\nimport { fontOverrideMapping, overrideFont } from '../utils';\nimport { useFormApi } from '../../form/useFormApi';\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\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.processedSubmissionName;\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 value = formValues[fieldName];\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\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.processedSubmissionName,\n required: this.question.required,\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\n valueKey=\"value\"\n displayKey=\"display\"\n multiSelect={true}\n useCheckbox={true}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.RadioButton:\n return (\n <stencil-field {...props}>\n <selectable-list\n valueKey=\"value\"\n displayKey=\"display\"\n useCheckbox={true}\n {...fieldProps}\n />\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\n options={options ?? []}\n multiSelect={this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect}\n {...fieldProps}\n />\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\n valueKey=\"value\"\n displayKey=\"display\"\n multiSelect={true}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateSelector:\n return (\n <stencil-field {...props}>\n <udp-date-selector\n min={fieldProps?.minDate}\n max={fieldProps?.maxDate}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.TimeSelector:\n return (\n <stencil-field {...props}>\n <udp-time-selector\n min={fieldProps?.minTime}\n max={fieldProps?.maxTime}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateTimeSelector:\n return (\n <stencil-field {...props}>\n <udp-datetime-selector\n max={fieldProps?.maxDateTime}\n min={fieldProps?.minDateTime}\n {...fieldProps}\n />\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.Signature:\n return (\n <stencil-field {...props}>\n <signature-input {...fieldProps} value={this.value} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Paragraph:\n return this.value ? <unity-typography id={`paragraphText${this.question.name}`} variant={this.styleOverrides?.paragraphText?.variant || 'body'} >{this.value}</unity-typography> : <div />;\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 }\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 }\n render() {\n\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 if (!component) return null;\n return (\n <div class={this.question.fieldTypeId === UdpFormsFieldTypeEnum.Hidden ? 'hidden' : ''}>\n {this.question.questionText ? <unity-typography id={`questionText${this.question.name}`} variant={this.styleOverrides?.questionText?.variant || 'h3'} >{titleText}</unity-typography> : ''}\n {component}\n\n <unity-typography id={`helperText${this.question.name}`} variant={this.styleOverrides?.helperText?.variant || 'caption-text'} >{this.question.helperText}</unity-typography>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-DPon6DDX.js';
2
2
  import ChevronDownIcon24 from '@carbon/icons/es/chevron--down/16';
3
3
  import ChevronUp16 from '@carbon/icons/es/chevron--up/16';
4
- import { d as defineCustomElement$5 } from './p-hRee3qYx.js';
4
+ import { d as defineCustomElement$5 } from './p-D6Wo7quX.js';
5
5
  import { d as defineCustomElement$4 } from './p-BGjVmQGN.js';
6
6
  import { d as defineCustomElement$3 } from './p-ZeWoGdjP.js';
7
7
  import { d as defineCustomElement$2 } from './p-C-wDzVCk.js';
@@ -76,6 +76,6 @@ function defineCustomElement() {
76
76
  }
77
77
 
78
78
  export { UdpAmbientCard as U, defineCustomElement as d };
79
- //# sourceMappingURL=p-DeS7YSzc.js.map
79
+ //# sourceMappingURL=p-CMTLAuz8.js.map
80
80
 
81
- //# sourceMappingURL=p-DeS7YSzc.js.map
81
+ //# sourceMappingURL=p-CMTLAuz8.js.map
@@ -1 +1 @@
1
- {"file":"p-DeS7YSzc.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","ChevronDown16"],"sources":["src/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.css?tag=udp-ambient-card&encapsulation=shadow","src/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.tsx"],"sourcesContent":[".card {\n display: flex;\n position: relative;\n flex-direction: column;\n border: var(--udp-ambient-card-border, 1px solid #ccc);\n padding: 16px;\n background-color: white;\n padding-top: 0px;\n }\n \n .udp-adornment {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n }\n \n .title, .body, .footer {\n /* padding: 8px; */\n }\n \n .expandable {\n max-height: 0;\n overflow: hidden;\n transition: max-height 0.3s ease-out;\n }\n \n .expanded {\n max-height: 100px; /* Adjust as necessary */\n }\n\n .wrapper {\n display: flex;\n margin: var(--wrapper-margin, 16px);\n height: var(--wrapper-height);\n }\n \n .more-button {\n display: flex;\n align-items: center;\n }\n\n .adornment{\n display: var(--adornment-display, block);\n }\n ","import { Component, State, h, Prop } from '@stencil/core';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16';\nimport ChevronUp16 from '@carbon/icons/es/chevron--up/16';\n\n@Component({\n tag: 'udp-ambient-card',\n styleUrl: 'udp-ambient-card.css',\n shadow: true,\n})\nexport class UdpAmbientCard {\n @Prop() width: string = '600px';\n @State() isExpanded: boolean = false;\n @State() title: string = '';\n @Prop() overflow: string = '';\n @Prop() moreText: string = '';\n @Prop() hideAdornment: boolean = false;\n\n toggleExpand = () => {\n this.isExpanded = !this.isExpanded;\n };\n\n render() {\n return (\n <div class=\"wrapper\" style={{ width: this.width }}>\n {!this.hideAdornment && (\n <div class=\"adornment\">\n <udp-adornment status=\"info\"></udp-adornment>\n </div>\n )}\n <div class=\"card\" style={{ width: '100%' }}>\n <div class=\"card-data\">\n <div class=\"title\">\n <unity-typography variant=\"data-display-four\">{this.title}</unity-typography>\n </div>\n <div class=\"body\">\n <unity-typography variant=\"body\">\n <slot></slot>\n </unity-typography>\n </div>\n <div class=\"footer\">\n {/* <button onClick={this.toggleExpand}>\n {this.isExpanded ? 'Collapse' : 'Expand'}\n </button> */}\n {this.overflow && (\n <div class=\"more-button\">\n <unity-typography variant=\"caption-text\">{this.moreText} </unity-typography>\n <stencil-icon-button onClick={this.toggleExpand} icon={this.isExpanded ? ChevronUp16 : ChevronDown16} showLabel={false}></stencil-icon-button>\n </div>\n )}\n </div>\n <div class={`expandable ${this.isExpanded ? 'expanded' : ''}`}>\n <unity-typography variant=\"body\">{this.overflow}</unity-typography>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CMTLAuz8.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","ChevronDown16"],"sources":["src/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.css?tag=udp-ambient-card&encapsulation=shadow","src/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.tsx"],"sourcesContent":[".card {\n display: flex;\n position: relative;\n flex-direction: column;\n border: var(--udp-ambient-card-border, 1px solid #ccc);\n padding: 16px;\n background-color: white;\n padding-top: 0px;\n }\n \n .udp-adornment {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n }\n \n .title, .body, .footer {\n /* padding: 8px; */\n }\n \n .expandable {\n max-height: 0;\n overflow: hidden;\n transition: max-height 0.3s ease-out;\n }\n \n .expanded {\n max-height: 100px; /* Adjust as necessary */\n }\n\n .wrapper {\n display: flex;\n margin: var(--wrapper-margin, 16px);\n height: var(--wrapper-height);\n }\n \n .more-button {\n display: flex;\n align-items: center;\n }\n\n .adornment{\n display: var(--adornment-display, block);\n }\n ","import { Component, State, h, Prop } from '@stencil/core';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16';\nimport ChevronUp16 from '@carbon/icons/es/chevron--up/16';\n\n@Component({\n tag: 'udp-ambient-card',\n styleUrl: 'udp-ambient-card.css',\n shadow: true,\n})\nexport class UdpAmbientCard {\n @Prop() width: string = '600px';\n @State() isExpanded: boolean = false;\n @State() title: string = '';\n @Prop() overflow: string = '';\n @Prop() moreText: string = '';\n @Prop() hideAdornment: boolean = false;\n\n toggleExpand = () => {\n this.isExpanded = !this.isExpanded;\n };\n\n render() {\n return (\n <div class=\"wrapper\" style={{ width: this.width }}>\n {!this.hideAdornment && (\n <div class=\"adornment\">\n <udp-adornment status=\"info\"></udp-adornment>\n </div>\n )}\n <div class=\"card\" style={{ width: '100%' }}>\n <div class=\"card-data\">\n <div class=\"title\">\n <unity-typography variant=\"data-display-four\">{this.title}</unity-typography>\n </div>\n <div class=\"body\">\n <unity-typography variant=\"body\">\n <slot></slot>\n </unity-typography>\n </div>\n <div class=\"footer\">\n {/* <button onClick={this.toggleExpand}>\n {this.isExpanded ? 'Collapse' : 'Expand'}\n </button> */}\n {this.overflow && (\n <div class=\"more-button\">\n <unity-typography variant=\"caption-text\">{this.moreText} </unity-typography>\n <stencil-icon-button onClick={this.toggleExpand} icon={this.isExpanded ? ChevronUp16 : ChevronDown16} showLabel={false}></stencil-icon-button>\n </div>\n )}\n </div>\n <div class={`expandable ${this.isExpanded ? 'expanded' : ''}`}>\n <unity-typography variant=\"body\">{this.overflow}</unity-typography>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Finds the parent stencil-form and returns its Final Form API.
3
+ * This function correctly traverses up through nested Shadow DOM boundaries.
4
+ *
5
+ * @param element The host element of the component calling this function.
6
+ * @returns A promise that resolves with the FormApi instance, or null if not found.
7
+ */
8
+ async function useFormApi(element) {
9
+ let current = element;
10
+ let form = null;
11
+ // Walk up the DOM tree, escaping shadow roots as we go.
12
+ while (current) {
13
+ // Look for the form in the current scope
14
+ const foundForm = current.closest('stencil-form');
15
+ if (foundForm) {
16
+ form = foundForm;
17
+ break; // Found it!
18
+ }
19
+ // If not found, we might be in a shadow root.
20
+ // Let's try to escape it.
21
+ const root = current.getRootNode();
22
+ if (root instanceof ShadowRoot) {
23
+ current = root.host;
24
+ }
25
+ else {
26
+ // We're in the main document and didn't find it.
27
+ break;
28
+ }
29
+ }
30
+ if (!form) {
31
+ return null;
32
+ }
33
+ // Check if getApi method exists
34
+ if (typeof form.getApi !== 'function') {
35
+ return null;
36
+ }
37
+ const formApi = await form.getApi();
38
+ if (!formApi) {
39
+ return null;
40
+ }
41
+ return formApi;
42
+ }
43
+
44
+ export { useFormApi as u };
45
+ //# sourceMappingURL=p-CWAWWTnd.js.map
46
+
47
+ //# sourceMappingURL=p-CWAWWTnd.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CWAWWTnd.js","mappings":"AAAA;;;;;;AAMG;AACI,eAAe,UAAU,CAAC,OAAoB,EAAA;IACnD,IAAI,OAAO,GAAuB,OAAO;IACzC,IAAI,IAAI,GAAuB,IAAI;;IAGnC,OAAO,OAAO,EAAE;;QAEd,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACjD,IAAI,SAAS,EAAE;YACb,IAAI,GAAG,SAAS;AAChB,YAAA,MAAM;;;;AAKR,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE;AAClC,QAAA,IAAI,IAAI,YAAY,UAAU,EAAE;AAC9B,YAAA,OAAO,GAAG,IAAI,CAAC,IAAmB;;aAC7B;;YAEL;;;IAIJ,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI;;;AAIb,IAAA,IAAI,OAAQ,IAAY,CAAC,MAAM,KAAK,UAAU,EAAE;AAC9C,QAAA,OAAO,IAAI;;AAGb,IAAA,MAAM,OAAO,GAAG,MAAO,IAAY,CAAC,MAAM,EAAE;IAE5C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,IAAI;;AAGb,IAAA,OAAO,OAAO;AAChB;;;;","names":[],"sources":["src/components/my-component/UI/forms/form/useFormApi.ts"],"sourcesContent":["/**\n * Finds the parent stencil-form and returns its Final Form API.\n * This function correctly traverses up through nested Shadow DOM boundaries.\n *\n * @param element The host element of the component calling this function.\n * @returns A promise that resolves with the FormApi instance, or null if not found.\n */\nexport async function useFormApi(element: HTMLElement): Promise<any | null> {\n let current: HTMLElement | null = element;\n let form: HTMLElement | null = null;\n\n // Walk up the DOM tree, escaping shadow roots as we go.\n while (current) {\n // Look for the form in the current scope\n const foundForm = current.closest('stencil-form');\n if (foundForm) {\n form = foundForm;\n break; // Found it!\n }\n\n // If not found, we might be in a shadow root.\n // Let's try to escape it.\n const root = current.getRootNode();\n if (root instanceof ShadowRoot) {\n current = root.host as HTMLElement;\n } else {\n // We're in the main document and didn't find it.\n break;\n }\n }\n\n if (!form) {\n return null;\n }\n\n // Check if getApi method exists\n if (typeof (form as any).getApi !== 'function') {\n return null;\n }\n\n const formApi = await (form as any).getApi();\n \n if (!formApi) {\n return null;\n }\n \n return formApi;\n}\n"],"version":3}
@@ -2,8 +2,9 @@ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-
2
2
  import { C as ConfigService } from './p-Cn7PuhQz.js';
3
3
  import Close24 from '@carbon/icons/es/close/24';
4
4
  import axios from 'axios';
5
+ import { i as isFileReference, p as parseFileReferences } from './p-C5aOw4Ij.js';
5
6
  import { d as defineCustomElement$5 } from './p-DpLtIIwx.js';
6
- import { d as defineCustomElement$4 } from './p-hRee3qYx.js';
7
+ import { d as defineCustomElement$4 } from './p-D6Wo7quX.js';
7
8
  import { d as defineCustomElement$3 } from './p-ZeWoGdjP.js';
8
9
  import { d as defineCustomElement$2 } from './p-C-wDzVCk.js';
9
10
  import { d as defineCustomElement$1 } from './p-DkppmXNM.js';
@@ -253,36 +254,48 @@ const FileUpload = /*@__PURE__*/ proxyCustomElement(class FileUpload extends H {
253
254
  * @internal
254
255
  */
255
256
  async initialValueChanged(newValue) {
256
- // Check if this looks like an event detail object (has value, files, toString, valueOf properties)
257
- // If so, ignore it since this is from our own event emission, not external initialization
258
- if (newValue && typeof newValue === 'object' && 'value' in newValue && 'files' in newValue && 'toString' in newValue) {
259
- console.log('initialValueChanged received an event detail object, ignoring to prevent circular processing');
257
+ // Ignore event detail objects from self-emission to prevent cycles
258
+ if (newValue && typeof newValue === 'object' && 'value' in newValue && 'files' in newValue) {
260
259
  return;
261
260
  }
262
- if (newValue === '' || newValue === undefined || newValue === null) {
261
+ // Handle empty or null values by clearing the component
262
+ if (!newValue) {
263
263
  this.files = [];
264
264
  this.existingFileReferences.clear();
265
265
  return;
266
266
  }
267
267
  try {
268
- // Clear existing references when initialValue changes
269
268
  this.existingFileReferences.clear();
270
- if (typeof newValue === 'string') {
271
- // For backward compatibility - clear files if just a string
272
- this.files = [];
269
+ let processedFiles = [];
270
+ // Case 1: The value is a special reference string
271
+ if (typeof newValue === 'string' && isFileReference(newValue)) {
272
+ processedFiles = await parseFileReferences(newValue);
273
+ // After parsing, populate the map of existing UDP files so they are marked as "(saved)"
274
+ for (const file of processedFiles) {
275
+ if (file.driveFileId) {
276
+ const udpFile = {
277
+ driveFileId: file.driveFileId,
278
+ name: file.name,
279
+ extension: file.extension || file.name.split('.').pop() || '',
280
+ tenantId: null, // Dummy value, not needed for display
281
+ productId: 0, // Dummy value
282
+ path: '', // Dummy value
283
+ };
284
+ this.existingFileReferences.set(file.name, udpFile);
285
+ }
286
+ }
273
287
  }
288
+ // Case 2: The value is an array of File or UdpDriveFile objects
274
289
  else if (Array.isArray(newValue)) {
275
- // Handle array of files (UdpDriveFile[] or File[])
276
- const processedFiles = await Promise.all(newValue.map(file => this.processInitialFile(file)));
277
- // Filter out null results after processing
278
- this.files = processedFiles.filter(file => file !== null);
290
+ const files = await Promise.all(newValue.map(file => this.processInitialFile(file)));
291
+ processedFiles = files.filter(file => file !== null);
279
292
  }
280
- else {
281
- // Handle single file (UdpDriveFile or File)
282
- const processedFile = await this.processInitialFile(newValue);
283
- this.files = processedFile ? [processedFile] : [];
293
+ // Case 3: The value is a single File or UdpDriveFile object
294
+ else if (typeof newValue === 'object') {
295
+ const file = await this.processInitialFile(newValue);
296
+ processedFiles = file ? [file] : [];
284
297
  }
285
- // Update value prop after initialization (but don't emit events)
298
+ this.files = processedFiles;
286
299
  this.updateValueProp();
287
300
  }
288
301
  catch (error) {
@@ -682,18 +695,18 @@ const FileUpload = /*@__PURE__*/ proxyCustomElement(class FileUpload extends H {
682
695
  // return null;
683
696
  // }
684
697
  const isError = !!this.errorMessage;
685
- return (h(Host, { key: '7e56f8e39623d43c746c38f7ddab10bc42198b18', class: {
698
+ return (h(Host, { key: 'c1f02a5c917b40937601e2e3884c4fe1936a959d', class: {
686
699
  'udp-input': true,
687
700
  'udp-input--error': isError,
688
701
  'udp-input--full-width': this.fullWidth,
689
702
  'udp-input--disabled': this.disabled,
690
703
  'udp-input--readonly': this.readonly,
691
- }, "aria-invalid": isError ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: '19869bd8b849eb6e9c88d6816613180e63f81d9c', id: !this.hideDragAndDrop ? 'drop-area' : 'outer-container', onDragOver: this.handleDragOver, onDrop: this.handleDrop, onDragEnter: this.handleDragEnter, onDragLeave: this.handleDragLeave, class: !this.hideDragAndDrop ? (this.fullWidth ? 'full-width' : 'contained-width') : '' }, !this.hideDragAndDrop ? (h("unity-typography", null, h("p", null, this.dragAndDropMessage), !this.hideButton ? h("p", null, "or") : '')) : (''), !this.hideButton ? (h("custom-button", { label: this.browseFileMessage, onClick: (e) => this.handleBrowseFiles(e), id: 'udpRecord-file-upload-' + this.id, disabled: this.disabled || this.readonly,
704
+ }, "aria-invalid": isError ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: '1d1a154c1c761076a9dff60d8ba69061d11a13c3', id: !this.hideDragAndDrop ? 'drop-area' : 'outer-container', onDragOver: this.handleDragOver, onDrop: this.handleDrop, onDragEnter: this.handleDragEnter, onDragLeave: this.handleDragLeave, class: !this.hideDragAndDrop ? (this.fullWidth ? 'full-width' : 'contained-width') : '' }, !this.hideDragAndDrop ? (h("unity-typography", null, h("p", null, this.dragAndDropMessage), !this.hideButton ? h("p", null, "or") : '')) : (''), !this.hideButton ? (h("custom-button", { label: this.browseFileMessage, onClick: (e) => this.handleBrowseFiles(e), id: 'udpRecord-file-upload-' + this.id, disabled: this.disabled || this.readonly,
692
705
  //@ts-ignore
693
- udprecordid: 'udpRecord-file-upload-' + this.id })) : (''), this.files.length > 0 && (h("div", { key: 'a0237ffaeca36e4270511dc80ca005d453635c51', class: !this.hideDragAndDrop ? 'container' : '' }, h("div", { key: '29f6b2a647031ddb1edbaf6546bd59b0b83ee72b', class: !this.hideDragAndDrop ? 'inner-container' : '' }, this.files.map((file, index) => {
706
+ udprecordid: 'udpRecord-file-upload-' + this.id })) : (''), this.files.length > 0 && (h("div", { key: 'f80617fca05ad0020cd6b659b54728dd05d02f8c', class: !this.hideDragAndDrop ? 'container' : '' }, h("div", { key: '27d4582929098019d177ba87e5e721b1a442cce4', class: !this.hideDragAndDrop ? 'inner-container' : '' }, this.files.map((file, index) => {
694
707
  const isExistingFile = this.existingFileReferences.has(file.name);
695
708
  return (h("div", { class: !this.hideDragAndDrop ? 'file-container' : '', key: index }, h("div", { class: "file-text", onClick: () => this.downloadFile(file), style: { cursor: this.disabled ? 'not-allowed' : 'pointer', textDecoration: 'underline' } }, h("unity-typography", null, file.name, isExistingFile && h("span", { style: { fontSize: '0.8em', opacity: '0.7' } }, " (saved)"))), h("div", null, h("stencil-icon-button", { showLabel: false, icon: Close24, onClick: () => this.handleRemoveFile(index), disabled: this.disabled || this.readonly }))));
696
- })))), this.errorMessage ? (h("div", { id: "error-text" }, h("unity-typography", null, this.errorMessage))) : (''))));
709
+ })))), this.errorMessage && !this.fileWindowOpen ? (h("div", { id: "error-text" }, h("unity-typography", { color: "error" }, this.errorMessage))) : (''))));
697
710
  }
698
711
  get el() { return this; }
699
712
  static get watchers() { return {
@@ -767,6 +780,6 @@ function defineCustomElement() {
767
780
  }
768
781
 
769
782
  export { FileUpload as F, defineCustomElement as d };
770
- //# sourceMappingURL=p-B3-pcvgV.js.map
783
+ //# sourceMappingURL=p-Cdz5sX_v.js.map
771
784
 
772
- //# sourceMappingURL=p-B3-pcvgV.js.map
785
+ //# sourceMappingURL=p-Cdz5sX_v.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Cdz5sX_v.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/inputs/file-upload/file-upload.css?tag=file-upload&encapsulation=shadow","src/components/my-component/UI/inputs/file-upload/file-upload.tsx"],"sourcesContent":["/* file-upload.css */\n#drop-area {\n height: 200px;\n border: 2px dashed #ccc;\n border-radius: 5px;\n padding: 20px;\n text-align: center;\n font-family: Arial, sans-serif;\n overflow-y: auto;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n\n#outer-container {\n padding: 10px 5px;\n\n}\n\n#drop-area.highlight {\n border-color: var(--primary-color);\n}\n\n#error-text {\n color: var(--error-color-main);\n}\n\n#add-button {\n border-radius: 5;\n}\n\n#remove-button {\n width: 10px;\n height: 10px;\n margin-left: 5px;\n border: 'none';\n background: 'none';\n cursor: 'pointer';\n}\n\n.file-container {\n display: flex; \n flex-direction: row;\n align-items: center;\n}\n\n.full-width {\n width: auto\n}\n\n.contained-width {\n width: 300px;\n\n}\n.file-text {\n float: left\n}\n.inner-container {\n display: flex;\n justify-content: center;\n flex-direction: row;\n}\n.container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n overflow-y: auto;\n}","import { Component, State, h, Host, Prop, Watch, Element, Event, EventEmitter } from '@stencil/core';\nimport { UdpDriveFile } from '../../../../../global/types';\nimport { ConfigService } from '../../../../../udp-utilities/api-config';\nimport Close24 from '@carbon/icons/es/close/24';\nimport axios from 'axios';\nimport { isFileReference, parseFileReferences } from './udp-drive-utils';\n\n/**\n * A comprehensive file upload component with drag-and-drop support, file type validation,\n * and integration with UDP Drive for existing file management.\n * Supports both new file uploads and existing file management with download capabilities.\n *\n * This component emits a custom `change` event with the committed value and also\n * propagates standard DOM events like `input`, `focus`, and `blur` from the\n * underlying input element.\n *\n * **File Handling Modes:**\n * - **New Files**: Regular File objects that need to be uploaded\n * - **Existing Files**: UdpDriveFile objects that are already stored on the server\n * - **Mixed Mode**: Combination of new and existing files\n *\n * **Value Patterns:**\n * - `initialValue`: For setting default files (UdpDriveFile[], File[], or mixed)\n * - `value`: For direct file access (always File[] for consistency)\n *\n * @example\n * ```tsx\n * // Basic file upload\n * <file-upload\n * allowMultiple={true}\n * onChange={(e) => console.log('Files:', e.detail.files)}\n * />\n *\n * // With existing UDP Drive files\n * <file-upload\n * initialValue={existingUdpFiles}\n * allowMultiple={true}\n * onChange={(e) => handleFileChange(e.detail)}\n * />\n *\n * // With file type restrictions\n * <file-upload\n * allowedFileTypes={['pdf', 'doc', 'docx']}\n * required={true}\n * error={fileError}\n * onChange={handleDocumentUpload}\n * />\n *\n * // Drag and drop disabled\n * <file-upload\n * hideDragAndDrop={true}\n * browseFileMessage=\"Select Images\"\n * allowedFileTypes={['jpg', 'png', 'gif']}\n * onChange={handleImageUpload}\n * />\n * ```\n */\n@Component({\n tag: 'file-upload',\n styleUrl: 'file-upload.css',\n shadow: true,\n})\nexport class FileUpload {\n /**\n * Whether multiple files can be selected. When false, only one file can be uploaded at a time.\n */\n @Prop() allowMultiple: boolean;\n\n /**\n * Array of allowed file extensions (without dots). When specified, only these file types are accepted.\n * Example: ['pdf', 'doc', 'docx', 'jpg', 'png']\n * Mutually exclusive with disallowedFileTypes.\n */\n @Prop() allowedFileTypes: Array<string>;\n\n /**\n * Array of disallowed file extensions (without dots). When specified, these file types are rejected.\n * Example: ['exe', 'bat', 'scr']\n * Mutually exclusive with allowedFileTypes.\n */\n @Prop() disallowedFileTypes: Array<string>;\n\n /**\n * Whether the component should take the full width of its container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Whether file selection is required for form submission. Adds validation behavior.\n */\n @Prop() required: boolean;\n\n /**\n * Error message to display below the component. Shows validation errors or upload issues.\n */\n @Prop() error: string;\n\n /**\n * Message displayed in the drag-and-drop area. Customizes the user guidance text.\n */\n @Prop() dragAndDropMessage: string = 'Drag and drop your files here';\n\n /**\n * Text displayed on the browse files button. Customizes the button label.\n */\n @Prop() browseFileMessage: string = 'Browse Files';\n\n /**\n * Whether to hide the drag-and-drop area. When true, only the browse button is shown.\n */\n @Prop() hideDragAndDrop: boolean = false;\n\n /**\n * Whether to hide the browse files button. When true, only drag-and-drop is available.\n */\n @Prop() hideButton: boolean = false;\n\n /**\n * Unique identifier for the component. Used for form association and accessibility.\n */\n @Prop() id: string;\n\n /**\n * Name attribute for form submission. Used for form data collection.\n */\n @Prop() name: string;\n\n /**\n * Label text displayed above the component. Used for accessibility and user guidance.\n */\n @Prop() label: string;\n\n /**\n * When true, all interactions with the component are disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * When true, the component is in a read-only state. Files can be viewed and downloaded, but not added or removed.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Initial files to display in the component. Supports multiple formats:\n * - UdpDriveFile: Existing files stored on UDP Drive (displayed with \"(saved)\" indicator)\n * - File: New file objects ready for upload\n * - string: Legacy support for file references\n * - Arrays: Multiple files of any supported type\n *\n * UdpDriveFiles are converted to placeholder File objects for consistent handling.\n */\n @Prop() initialValue: UdpDriveFile | UdpDriveFile[] | File | File[] | string;\n\n /**\n * Current files in the component. Always contains File objects for consistent API.\n * When files are added/removed, this prop is updated automatically.\n * For external access to uploaded files, use the change/input events.\n */\n @Prop({ mutable: true }) value: File | File[];\n\n /**\n * Array of currently selected/uploaded files. Managed internally by the component.\n * @internal\n */\n @State() files: File[] = [];\n\n /**\n * Whether the file browser window is currently open. Used for UI state management.\n * @internal\n */\n @State() fileWindowOpen: boolean = false;\n\n /**\n * Internal error message state. Manages display of validation errors.\n * @internal\n */\n @State() errorMessage: string;\n\n /**\n * Map of file names to their original UdpDriveFile references.\n * Tracks which files are existing (saved) vs new (to be uploaded).\n * @internal\n */\n @State() existingFileReferences: Map<string, Partial<UdpDriveFile>> = new Map();\n\n /**\n * Emitted when files are added, removed, or changed.\n * Provides both string representation and File objects for flexible handling.\n *\n * @event change\n * @param {object} detail - File change details\n * @param {string} detail.value - Comma-separated file references with UDP Drive IDs\n * @param {File[]} detail.files - Array of new File objects that need to be uploaded\n * @param {string} detail.toString() - String representation for form serialization\n *\n * @example\n * ```tsx\n * <file-upload onChange={(e) => {\n * console.log('String value:', e.detail.value);\n * console.log('Files to upload:', e.detail.files);\n * console.log('Form value:', e.detail.toString());\n * }} />\n * ```\n */\n @Event() change: EventEmitter<{\n value: string;\n files: File[];\n toString(): string;\n valueOf(): string;\n }>;\n\n\n\n @Element() el: HTMLElement;\n\n /**\n * Hidden file input element for triggering file browser. Created programmatically.\n * @internal\n */\n private hiddenInput: HTMLInputElement;\n\n /**\n * Counter for drag events to properly handle drag enter/leave. Prevents flickering.\n * @internal\n */\n private dragCounter: number = 0;\n\n /**\n * Flag to track if the component has been initialized to prevent re-processing during lifecycle events.\n * @internal\n */\n private isInitialized: boolean = false;\n /**\n * Updates the error message when the error prop changes.\n * @internal\n */\n @Watch('error')\n updateError() {\n this.errorMessage = this.error;\n }\n\n /**\n * Watches for changes to initialValue prop and processes the new files.\n * Handles conversion of UdpDriveFile objects to File objects.\n * @param newValue - New initial value containing files to process\n * @internal\n */\n @Watch('initialValue')\nasync initialValueChanged(newValue: UdpDriveFile | UdpDriveFile[] | File | File[] | string) {\n // Ignore event detail objects from self-emission to prevent cycles\n if (newValue && typeof newValue === 'object' && 'value' in newValue && 'files' in newValue) {\n return;\n }\n\n // Handle empty or null values by clearing the component\n if (!newValue) {\n this.files = [];\n this.existingFileReferences.clear();\n return;\n }\n\n try {\n this.existingFileReferences.clear();\n let processedFiles: File[] = [];\n\n // Case 1: The value is a special reference string\n if (typeof newValue === 'string' && isFileReference(newValue)) {\n processedFiles = await parseFileReferences(newValue);\n\n // After parsing, populate the map of existing UDP files so they are marked as \"(saved)\"\n for (const file of processedFiles) {\n if ((file as any).driveFileId) {\n const udpFile: Partial<UdpDriveFile> = {\n driveFileId: (file as any).driveFileId,\n name: file.name,\n extension: (file as any).extension || file.name.split('.').pop() || '',\n tenantId: null, // Dummy value, not needed for display\n productId: 0, // Dummy value\n path: '', // Dummy value\n };\n this.existingFileReferences.set(file.name, udpFile);\n }\n }\n }\n // Case 2: The value is an array of File or UdpDriveFile objects\n else if (Array.isArray(newValue)) {\n const files = await Promise.all(\n newValue.map(file => this.processInitialFile(file))\n );\n processedFiles = files.filter(file => file !== null);\n }\n // Case 3: The value is a single File or UdpDriveFile object\n else if (typeof newValue === 'object') {\n const file = await this.processInitialFile(newValue as File | UdpDriveFile);\n processedFiles = file ? [file] : [];\n }\n\n this.files = processedFiles;\n this.updateValueProp();\n\n } catch (error) {\n console.error('Error processing initial files:', error);\n this.files = [];\n this.existingFileReferences.clear();\n }\n}\n\n /**\n * Process an initial file, converting UdpDriveFile to File if needed.\n * Creates placeholder File objects for existing UDP Drive files.\n * @param file - File to process (UdpDriveFile or File)\n * @returns Promise resolving to a File object or null if invalid\n * @internal\n */\n private async processInitialFile(file: UdpDriveFile | File): Promise<File | null> {\n // Handle null/undefined input\n console.log(file)\n if (!file) {\n return null;\n }\n\n if (this.isUdpDriveFile(file)) {\n // For UdpDriveFile, create a placeholder File and track the reference\n try {\n const placeholderFile = this.createPlaceholderFileFromUdpDriveFile(file);\n // Track this as an existing file that doesn't need to be uploaded\n this.existingFileReferences.set(placeholderFile.name, file);\n return placeholderFile;\n } catch (error) {\n console.error('Error creating placeholder file from UdpDriveFile:', error);\n return null;\n }\n } else if (file instanceof File) {\n // Already a File object - this is a new file\n return file;\n } else {\n // Invalid object, return null\n return null;\n }\n }\n\n /**\n * Type guard to check if a file is a UdpDriveFile.\n * @param file - File object to check\n * @returns True if the file is a UdpDriveFile\n * @internal\n */\n private isUdpDriveFile(file: any): file is UdpDriveFile {\n return file && typeof file === 'object' && 'driveFileId' in file;\n }\n\n /**\n * Create a placeholder File object from UdpDriveFile without downloading content.\n * Used for display purposes and consistent File API.\n * @param udpFile - UdpDriveFile to convert\n * @returns Placeholder File object\n * @internal\n */\n private createPlaceholderFileFromUdpDriveFile(udpFile: UdpDriveFile): File {\n // Ensure we have required properties with fallbacks\n const extension = udpFile.extension || 'bin';\n const fileName = udpFile.name || `file.${extension}`;\n\n const placeholderBlob = new Blob([''], { type: this.getMimeTypeFromExtension(extension) });\n\n // Handle lastUpdated as either Date, string, or number\n let lastModified = Date.now();\n if (udpFile.lastUpdated) {\n if (typeof udpFile.lastUpdated === 'string' || typeof udpFile.lastUpdated === 'number') {\n lastModified = new Date(udpFile.lastUpdated).getTime();\n } else if (udpFile.lastUpdated instanceof Date) {\n lastModified = udpFile.lastUpdated.getTime();\n }\n }\n\n const file = new File([placeholderBlob], fileName, {\n type: placeholderBlob.type,\n lastModified: lastModified\n });\n\n return file;\n }\n\n /**\n * Create a File object from UdpDriveFile by downloading the content from the server.\n * Used when downloading existing files for user access.\n * @param udpFile - UdpDriveFile to download and convert\n * @returns Promise resolving to a File object with downloaded content\n * @internal\n */\n private async createFileFromUdpDriveFile(udpFile: Partial<UdpDriveFile>): Promise<File> {\n try {\n const downloadUrl = `${ConfigService.tenantV1ApiUrl}/UdpDrive/${udpFile.driveFileId}/stream`;\n\n const response = await axios({\n method: 'GET',\n url: downloadUrl,\n responseType: 'blob',\n timeout: 300000, // 5 minutes\n headers: {\n // Add authentication headers if needed\n // 'Authorization': `Bearer ${accessToken}`\n }\n });\n\n const blob = response.data;\n\n // Create a File object with the downloaded content\n // Use the udpFile.name or construct from extension\n const fileName = udpFile.name || `file.${udpFile.extension}`;\n\n return new File([blob], fileName, {\n type: blob.type || this.getMimeTypeFromExtension(udpFile.extension),\n lastModified: udpFile.lastUpdated ? new Date(udpFile.lastUpdated).getTime() : Date.now()\n });\n } catch (error) {\n console.error('Error creating file from UdpDriveFile:', error);\n // Return a placeholder file if download fails\n const fileName = udpFile.name || `file.${udpFile.extension}`;\n return new File([''], fileName, { type: 'application/octet-stream' });\n }\n }\n\n /**\n * Get MIME type from file extension for proper file type handling.\n * @param extension - File extension without dot (e.g., \"pdf\", \"jpg\")\n * @returns MIME type string\n * @internal\n */\n private getMimeTypeFromExtension(extension: string): string {\n // Handle null/undefined extension\n if (!extension) {\n return 'application/octet-stream';\n }\n\n const mimeTypes: { [key: string]: string } = {\n 'pdf': 'application/pdf',\n 'doc': 'application/msword',\n 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'xls': 'application/vnd.ms-excel',\n 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'ppt': 'application/vnd.ms-powerpoint',\n 'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'txt': 'text/plain',\n 'csv': 'text/csv',\n 'json': 'application/json',\n 'xml': 'application/xml',\n 'html': 'text/html',\n 'css': 'text/css',\n 'js': 'application/javascript',\n 'png': 'image/png',\n 'jpg': 'image/jpeg',\n 'jpeg': 'image/jpeg',\n 'gif': 'image/gif',\n 'svg': 'image/svg+xml',\n 'zip': 'application/zip',\n 'rar': 'application/x-rar-compressed',\n '7z': 'application/x-7z-compressed'\n };\n\n return mimeTypes[extension.toLowerCase()] || 'application/octet-stream';\n }\n\n /**\n * Component lifecycle method. Initializes the component and sets up file input.\n * @internal\n */\n async componentWillLoad() {\n // Prevent re-initialization if component is already initialized\n if (this.isInitialized) {\n return;\n }\n\n // Initialize hidden file input FIRST before any async operations\n this.dragCounter = 0;\n this.hiddenInput = document.createElement('input');\n this.hiddenInput.type = 'file';\n this.hiddenInput.multiple = this.allowMultiple;\n this.hiddenInput.style.display = 'none';\n this.hiddenInput.addEventListener('change', this.handleFileInput);\n document.body.appendChild(this.hiddenInput);\n\n if (this.allowedFileTypes && this.disallowedFileTypes) {\n throw new Error('allowedFileTypes and disallowedFileTypes are mutually exlusive, you cannot use both props');\n }\n\n if (this.error) {\n this.errorMessage = this.error;\n }\n\n // Now do async operations after hiddenInput is ready\n // Initialize from initialValue (stencil-field usage) or value prop (direct usage)\n // Priority: initialValue > value > empty\n if (this.initialValue !== undefined && this.initialValue !== null && this.initialValue !== '') {\n await this.initialValueChanged(this.initialValue);\n } else if (this.value !== undefined && this.value !== null) {\n await this.processValueProp(this.value);\n }\n\n // Mark as initialized\n this.isInitialized = true;\n }\n\n /**\n * Process the value prop (used during initialization only)\n * @param newValue - Value prop content\n * @internal\n */\n private async processValueProp(newValue: File | File[] | UdpDriveFile | UdpDriveFile[] | null | undefined) {\n if (newValue === null || newValue === undefined) {\n this.files = [];\n return;\n }\n\n // Check if this looks like an event detail object (has value, files, toString, valueOf properties)\n // If so, ignore it since this is from our own updateValueProp, not external initialization\n if (newValue && typeof newValue === 'object' && 'value' in newValue && 'files' in newValue && 'toString' in newValue) {\n return;\n }\n\n try {\n if (Array.isArray(newValue)) {\n if (newValue.length === 0) {\n this.files = [];\n return;\n }\n\n // Process each item in the array\n const processedFiles: File[] = [];\n for (const item of newValue) {\n // Process the item and filter out nulls from invalid objects\n const processedFile = await this.processInitialFile(item);\n if (processedFile) {\n processedFiles.push(processedFile);\n }\n }\n this.files = processedFiles;\n\n } else {\n // Single value\n const processedFile = await this.processInitialFile(newValue as UdpDriveFile | File);\n if (processedFile) {\n this.files = [processedFile];\n } else {\n this.files = [];\n }\n }\n\n // Update value prop after initialization (but don't emit events)\n this.updateValueProp();\n\n } catch (error) {\n console.error('Error in processValueProp:', error);\n this.files = [];\n }\n }\n\n /**\n * Manually emit events when files change due to user interaction.\n * This replaces the automatic @Watch('files') to avoid circular updates.\n * @internal\n */\n private emitFileChangeEvents() {\n // Update the mutable value prop for non-stencil-field usage\n this.updateValueProp();\n\n // Separate new files (to be uploaded) from existing files (already on server)\n const newFiles = this.files.filter(file => !this.existingFileReferences.has(file.name));\n const existingFiles = this.files.filter(file => this.existingFileReferences.has(file.name));\n\n // If no files at all, emit null instead of empty string\n if (newFiles.length === 0 && existingFiles.length === 0) {\n // Emit null to indicate no files\n this.change.emit(null);\n //this.input.emit(null);\n return;\n }\n\n // Create a structured value that includes both string representation and File objects\n // This allows the form handler to extract the files while maintaining string serialization\n const fileReferences: string[] = [];\n newFiles.forEach(file => {\n // Ensure file has a valid name before adding to references\n if (file.name && file.name.trim() !== '') {\n fileReferences.push(file.name.trim());\n }\n });\n\n existingFiles.forEach(file => {\n if (file.name && file.name.trim() !== '') {\n const udpDriveFile = this.existingFileReferences.get(file.name);\n if (udpDriveFile) {\n fileReferences.push(`${file.name.trim()}|udp:${udpDriveFile.driveFileId}`);\n }\n }\n });\n\n const combinedValue = fileReferences.join(',');\n\n // Create a special value object that contains both the string and the files\n // This allows generic handling while preserving File objects for upload\n const detailValue = {\n toString: () => combinedValue, // For string serialization\n valueOf: () => combinedValue, // For primitive conversion\n value: combinedValue, // Explicit string value\n files: newFiles.filter(file => file.name && file.name.trim() !== '') // Only include files with valid names\n };\n\n // Emit standard events using Stencil's @Event() decorators\n this.change.emit(detailValue);\n }\n\n /**\n * Update the mutable value prop to reflect current files.\n * For direct usage, we want to include all files (new and existing).\n * @internal\n */\n private updateValueProp() {\n try {\n if (this.allowMultiple) {\n this.value = [...this.files];\n } else {\n this.value = this.files.length > 0 ? this.files[0] : null;\n }\n } catch (error) {\n console.error('Error updating value prop:', error);\n }\n }\n\n /**\n * Handles drag over events. Prevents default behavior to allow drop.\n * @param event - Drag event\n * @internal\n */\n private handleDragOver = (event: DragEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n };\n\n /**\n * Handles drag enter events. Adds highlight styling to drop area.\n * @param event - Drag event\n * @internal\n */\n private handleDragEnter = (event: DragEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const dropArea = event.currentTarget as HTMLElement;\n this.dragCounter++;\n dropArea.classList.add('highlight');\n };\n\n /**\n * Handles drag leave events. Removes highlight styling when drag exits.\n * @param event - Drag event\n * @internal\n */\n private handleDragLeave = (event: DragEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const dropArea = event.currentTarget as HTMLElement;\n this.dragCounter--;\n if (this.dragCounter === 0) {\n dropArea.classList.remove('highlight');\n }\n };\n\n /**\n * Handles drop events. Processes dropped files and adds them to the component.\n * @param event - Drop event\n * @internal\n */\n private handleDrop = (event: DragEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const dropArea = event.currentTarget as HTMLElement;\n dropArea.classList.remove('highlight');\n\n const files = event.dataTransfer.files;\n this.handleFiles(files);\n };\n\n /**\n * Handles file input change events from the hidden input element.\n * @param event - Input change event\n * @internal\n */\n private handleFileInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n\n if (input.files && input.files.length > 0) {\n this.handleFiles(input.files);\n }\n\n // Reset the input value so the same file can be selected again\n input.value = '';\n this.fileWindowOpen = false;\n };\n\n /**\n * Processes a FileList and adds valid files to the component.\n * Handles validation and multiple file constraints.\n * @param files - FileList from input or drop event\n * @internal\n */\n private handleFiles = (files: FileList) => {\n if (files.length === 0) return;\n\n const currentFiles = [...this.files];\n const newValidFiles: File[] = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n\n // Validate file name\n if (!file.name || file.name.trim() === '') {\n continue;\n }\n\n // Check for duplicates\n const isDuplicate = currentFiles.some(existingFile =>\n existingFile.name === file.name && existingFile.size === file.size\n );\n\n if (isDuplicate) {\n continue;\n }\n\n // Validate file type if restrictions are set\n if (!this.isFileTypeAllowed(file)) {\n continue;\n }\n\n newValidFiles.push(file);\n\n // If not allowing multiple files, only take the first valid file\n if (!this.allowMultiple) {\n break;\n }\n }\n\n if (newValidFiles.length > 0) {\n if (this.allowMultiple) {\n this.files = [...currentFiles, ...newValidFiles];\n } else {\n // Replace existing files if not allowing multiple\n this.files = [newValidFiles[0]];\n }\n\n // Manually emit events since we're not using @Watch('files') anymore\n this.emitFileChangeEvents();\n }\n }\n\n /**\n * Validates if a file type is allowed based on component configuration.\n * @param file - File to validate\n * @returns True if file type is allowed\n * @internal\n */\n private isFileTypeAllowed(file: File): boolean {\n if (!file.name) {\n return false;\n }\n\n const extension = file.name.split('.').pop()?.toLowerCase();\n\n if (!extension) {\n return false;\n }\n\n // If allowedFileTypes is set, only allow those types\n if (this.allowedFileTypes && this.allowedFileTypes.length > 0) {\n return this.allowedFileTypes.map(type => type.toLowerCase()).includes(extension);\n }\n\n // If disallowedFileTypes is set, reject those types\n if (this.disallowedFileTypes && this.disallowedFileTypes.length > 0) {\n return !this.disallowedFileTypes.map(type => type.toLowerCase()).includes(extension);\n }\n\n // If no restrictions, allow all types\n return true;\n }\n\n /**\n * Handles browse files button click. Opens the file browser dialog.\n * @param event - Click event\n * @internal\n */\n private handleBrowseFiles = (event: Event) => {\n if (this.disabled || this.readonly) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n // Ensure hiddenInput is initialized before trying to use it\n if (!this.hiddenInput) {\n console.error('File input not initialized yet, attempting to create it now...');\n // Try to create it on-demand as a fallback\n try {\n this.hiddenInput = document.createElement('input');\n this.hiddenInput.type = 'file';\n this.hiddenInput.multiple = this.allowMultiple;\n this.hiddenInput.style.display = 'none';\n this.hiddenInput.addEventListener('change', this.handleFileInput);\n document.body.appendChild(this.hiddenInput);\n } catch (error) {\n console.error('Failed to create file input:', error);\n return;\n }\n }\n\n this.fileWindowOpen = true;\n this.hiddenInput.click();\n };\n\n /**\n * Removes a file from the component by index. Updates internal state and cleans up references.\n * @param index - Index of file to remove\n * @internal\n */\n private handleRemoveFile = (index: number) => {\n if (this.disabled || this.readonly) {\n return;\n }\n const fileToRemove = this.files[index];\n\n // Clean up existing file reference if it exists\n if (this.existingFileReferences.has(fileToRemove.name)) {\n this.existingFileReferences.delete(fileToRemove.name);\n }\n\n this.files.splice(index, 1);\n this.files = [...this.files];\n\n // Manually emit events since we're not using @Watch('files') anymore\n this.emitFileChangeEvents();\n }\n\n /**\n * Triggers download of a file. Handles both new files and existing UDP Drive files.\n * For UDP Drive files, downloads the content from the server first.\n * @param file - File to download\n * @internal\n */\n async downloadFile(file: File) {\n if (this.disabled) {\n return;\n }\n try {\n // Check if this is a placeholder for a UdpDriveFile\n const udpDriveFile = this.existingFileReferences.get(file.name);\n\n if (udpDriveFile) {\n // Download the actual file content from UdpDrive\n const actualFile = await this.createFileFromUdpDriveFile(udpDriveFile);\n\n // Create a temporary URL for the downloaded file\n const url = URL.createObjectURL(actualFile);\n\n // Create a temporary anchor element to trigger download\n const a = document.createElement('a');\n a.href = url;\n a.download = actualFile.name;\n a.style.display = 'none';\n\n // Add to DOM, click, and remove\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Clean up the temporary URL\n URL.revokeObjectURL(url);\n } else {\n // Regular file - create download directly\n const url = URL.createObjectURL(file);\n\n // Create a temporary anchor element to trigger download\n const a = document.createElement('a');\n a.href = url;\n a.download = file.name;\n a.style.display = 'none';\n\n // Add to DOM, click, and remove\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Clean up the temporary URL\n URL.revokeObjectURL(url);\n }\n } catch (error) {\n console.error('Error downloading file:', error);\n }\n }\n\n /**\n * Component lifecycle method. Cleans up the hidden file input.\n * @internal\n */\n disconnectedCallback() {\n if (this.hiddenInput) {\n document.body.removeChild(this.hiddenInput);\n this.hiddenInput = null;\n }\n }\n\n /**\n * Renders the file upload component with drag-and-drop area, browse button, and file list.\n * @returns JSX element or null if not ready\n * @internal\n */\n render() {\n // if (!this.hiddenInput) {\n // return null;\n // }\n const isError = !!this.errorMessage;\n return (\n <Host\n class={{\n 'udp-input': true,\n 'udp-input--error': isError,\n 'udp-input--full-width': this.fullWidth,\n 'udp-input--disabled': this.disabled,\n 'udp-input--readonly': this.readonly,\n }}\n aria-invalid={isError ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <div\n id={!this.hideDragAndDrop ? 'drop-area' : 'outer-container'}\n onDragOver={this.handleDragOver}\n onDrop={this.handleDrop}\n onDragEnter={this.handleDragEnter}\n onDragLeave={this.handleDragLeave}\n class={!this.hideDragAndDrop ? (this.fullWidth ? 'full-width' : 'contained-width') : ''}\n >\n {!this.hideDragAndDrop ? (\n <unity-typography>\n <p>{this.dragAndDropMessage}</p>\n {!this.hideButton ? <p>or</p> : ''}\n </unity-typography>\n ) : (\n ''\n )}\n\n {!this.hideButton ? (\n <custom-button\n label={this.browseFileMessage}\n onClick={(e) => this.handleBrowseFiles(e)}\n id={'udpRecord-file-upload-' + this.id}\n disabled={this.disabled || this.readonly}\n //@ts-ignore\n udprecordid={'udpRecord-file-upload-' + this.id}\n />\n ) : (\n ''\n )}\n\n {this.files.length > 0 && (\n <div class={!this.hideDragAndDrop ? 'container' : ''}>\n <div class={!this.hideDragAndDrop ? 'inner-container' : ''}>\n {this.files.map((file, index) => {\n const isExistingFile = this.existingFileReferences.has(file.name);\n return (\n <div class={!this.hideDragAndDrop ? 'file-container' : ''} key={index}>\n <div class=\"file-text\" onClick={() => this.downloadFile(file)} style={{ cursor: this.disabled ? 'not-allowed' : 'pointer', textDecoration: 'underline' }}>\n <unity-typography>\n {file.name}\n {isExistingFile && <span style={{ fontSize: '0.8em', opacity: '0.7' }}> (saved)</span>}\n </unity-typography>\n </div>\n <div>\n <stencil-icon-button showLabel={false} icon={Close24} onClick={() => this.handleRemoveFile(index)} disabled={this.disabled || this.readonly} />\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n {this.errorMessage && !this.fileWindowOpen ? (\n <div id=\"error-text\">\n <unity-typography color=\"error\">{this.errorMessage}</unity-typography>\n </div>\n ) : (\n ''\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}