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,92 +1,37 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-Bu1pSYrV.js');
4
- var configService = require('./configService-OX6rz-VE.js');
5
- var axios = require('axios');
4
+ var udpDriveUtils = require('./udp-drive-utils-BOyI3h7K.js');
6
5
  var finalForm = require('final-form');
7
6
  var debounce = require('lodash.debounce');
8
- var utils = require('./utils-DMhqs00g.js');
7
+ var enums = require('./enums-CA1UjPVU.js');
8
+ var utils = require('./utils-CdiEmuDf.js');
9
+ var Save = require('@carbon/icons/es/save/20');
10
+ require('./configService-OX6rz-VE.js');
11
+ require('axios');
9
12
 
10
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
14
 
12
15
  function _interopNamespace(e) {
13
- if (e && e.__esModule) return e;
14
- var n = Object.create(null);
15
- if (e) {
16
- Object.keys(e).forEach(function (k) {
17
- if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: function () { return e[k]; }
22
- });
23
- }
16
+ if (e && e.__esModule) return e;
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
24
25
  });
25
- }
26
- n.default = e;
27
- return Object.freeze(n);
26
+ }
27
+ });
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
28
31
  }
29
32
 
30
- var axios__default = /*#__PURE__*/_interopDefault(axios);
31
33
  var debounce__default = /*#__PURE__*/_interopDefault(debounce);
32
-
33
- function isUdpDriveFile(file) {
34
- return file && typeof file === 'object' && 'driveFileId' in file;
35
- }
36
- function getMimeTypeFromExtension(extension) {
37
- // Use a static map for common types, fallback to browser's lookup if available
38
- const mimeTypes = {
39
- pdf: 'application/pdf',
40
- doc: 'application/msword',
41
- docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
42
- xls: 'application/vnd.ms-excel',
43
- xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
44
- ppt: 'application/vnd.ms-powerpoint',
45
- pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
46
- txt: 'text/plain',
47
- csv: 'text/csv',
48
- json: 'application/json',
49
- xml: 'application/xml',
50
- html: 'text/html',
51
- css: 'text/css',
52
- js: 'application/javascript',
53
- png: 'image/png',
54
- jpg: 'image/jpeg',
55
- jpeg: 'image/jpeg',
56
- gif: 'image/gif',
57
- svg: 'image/svg+xml',
58
- zip: 'application/zip',
59
- rar: 'application/x-rar-compressed',
60
- '7z': 'application/x-7z-compressed'
61
- };
62
- const ext = extension.trim().toLowerCase();
63
- if (mimeTypes[ext])
64
- return mimeTypes[ext];
65
- return 'application/octet-stream';
66
- }
67
- async function downloadFileFromUdpDriveFile(udpFile) {
68
- try {
69
- const downloadUrl = `${configService.ConfigService.tenantV1ApiUrl}/UdpDrive/${udpFile.driveFileId}/stream`;
70
- const response = await axios__default.default({
71
- method: 'GET',
72
- url: downloadUrl,
73
- responseType: 'blob',
74
- timeout: 300000,
75
- headers: {}
76
- });
77
- const blob = response.data;
78
- const fileName = udpFile.name || `file.${udpFile.extension}`;
79
- return new File([blob], fileName, {
80
- type: blob.type || getMimeTypeFromExtension(udpFile.extension),
81
- lastModified: udpFile.lastUpdated ? new Date(udpFile.lastUpdated).getTime() : Date.now()
82
- });
83
- }
84
- catch (error) {
85
- console.error('Error creating file from UdpDriveFile:', error);
86
- const fileName = udpFile.name || `file.${udpFile.extension}`;
87
- return new File([''], fileName, { type: 'application/octet-stream' });
88
- }
89
- }
34
+ var Save__default = /*#__PURE__*/_interopDefault(Save);
90
35
 
91
36
  const signatureInputCss = ":host(.udp-input){display:block;box-sizing:border-box;position:relative}:host(.udp-input--full-width){width:100%}:host(.udp-input--error){--input-border-color:var(--input-underline-color-error)}:host(.udp-input--disabled){pointer-events:none;opacity:0.5;cursor:not-allowed}:host(.udp-input--required){position:relative}:host(.udp-input--readonly){--input-background:var(--gray-02)}:host(.udp-input--hidden){display:none}:host(.udp-input--checked){--input-accent-color:var(--primary-color)}:host(.udp-input--multi-select){--list-max-height:200px}:host(.udp-input) .bx--text-input:focus{outline:none;}:host(.udp-input) .bx--form-item{margin-bottom:var(--spacing-05)}:host(.udp-input) .bx--label{display:block;margin-bottom:var(--spacing-03);color:var(--text-main);font-size:var(--caption-text-font-size);font-weight:var(--caption-text-font-weight);line-height:var(--caption-text-line-height)}@media (max-width: var(--breakpoint-xs-max)){:host(.udp-input){margin-bottom:var(--spacing-04)}:host(.udp-input) .bx--form-item{margin-bottom:var(--spacing-04)}}@media (min-width: var(--breakpoint-sm-min)){:host(.udp-input){min-height:2.5rem;}}:host(.udp-input--size-small) .bx--text-input,:host(.udp-input--size-small) textarea,:host(.udp-input--size-small) input[type=\"text\"],:host(.udp-input--size-small) input[type=\"number\"],:host(.udp-input--size-small) input[type=\"email\"],:host(.udp-input--size-small) input[type=\"password\"],:host(.udp-input--size-small) input[type=\"tel\"],:host(.udp-input--size-small) input[type=\"url\"],:host(.udp-input--size-small) input[type=\"search\"]{padding:var(--spacing-02);padding-bottom:6px;font-size:var(--caption-font-size, 0.875rem)}:host(.udp-input--size-normal) .bx--text-input,:host(.udp-input--size-normal) textarea,:host(.udp-input--size-normal) input[type=\"text\"],:host(.udp-input--size-normal) input[type=\"number\"],:host(.udp-input--size-normal) input[type=\"email\"],:host(.udp-input--size-normal) input[type=\"password\"],:host(.udp-input--size-normal) input[type=\"tel\"],:host(.udp-input--size-normal) input[type=\"url\"],:host(.udp-input--size-normal) input[type=\"search\"]{padding:var(--spacing-03);padding-bottom:9px;font-size:var(--body-font-size)}:host(.udp-input--size-large) .bx--text-input,:host(.udp-input--size-large) textarea,:host(.udp-input--size-large) input[type=\"text\"],:host(.udp-input--size-large) input[type=\"number\"],:host(.udp-input--size-large) input[type=\"email\"],:host(.udp-input--size-large) input[type=\"password\"],:host(.udp-input--size-large) input[type=\"tel\"],:host(.udp-input--size-large) input[type=\"url\"],:host(.udp-input--size-large) input[type=\"search\"]{padding:var(--spacing-04);padding-bottom:12px;font-size:var(--body-font-size)}:host(.udp-input--margin-none){margin:0}:host(.udp-input--margin-dense){margin:var(--spacing-02) 0}:host(.udp-input--margin-normal){margin:var(--spacing-03) 0}:host(.udp-input--margin-comfortable){margin:var(--spacing-04) 0}:host(.udp-input--size-small) .bx--label{margin-bottom:var(--spacing-02);font-size:var(--caption-font-size, 0.875rem)}:host(.udp-input--size-normal) .bx--label{margin-bottom:var(--spacing-03);font-size:var(--body-font-size)}:host(.udp-input--size-large) .bx--label{margin-bottom:var(--spacing-04);font-size:var(--body-font-size)}.bx--text-input,textarea,input[type=\"text\"],input[type=\"number\"],input[type=\"email\"],input[type=\"password\"],input[type=\"tel\"],input[type=\"url\"],input[type=\"search\"]{display:inline-block;padding:var(--spacing-03);padding-bottom:9px;box-sizing:border-box;border:none;font-size:var(--body-font-size);background:var(--input-background);border-bottom:var(--underline-standard) solid var(--input-underline-color, var(--gray-08));width:100%;font-family:var(--font-family);transition:border-bottom-color 0.15s ease-in-out}.bx--text-input:focus,textarea:focus,input[type=\"text\"]:focus,input[type=\"number\"]:focus,input[type=\"email\"]:focus,input[type=\"password\"]:focus,input[type=\"tel\"]:focus,input[type=\"url\"]:focus,input[type=\"search\"]:focus{border-bottom-color:var(--input-underline-color-focus, var(--primary-color));border-bottom-width:2px}.bx--text-input--error,.bx--text-input:user-invalid,:host(.udp-input--error) .bx--text-input,:host(.udp-input--error) textarea,:host(.udp-input--error) input[type=\"text\"],:host(.udp-input--error) input[type=\"number\"],:host(.udp-input--error) input[type=\"email\"],:host(.udp-input--error) input[type=\"password\"],:host(.udp-input--error) input[type=\"tel\"],:host(.udp-input--error) input[type=\"url\"],:host(.udp-input--error) input[type=\"search\"],input[type=\"text\"]:user-invalid,input[type=\"number\"]:user-invalid,input[type=\"email\"]:user-invalid,input[type=\"password\"]:user-invalid,input[type=\"tel\"]:user-invalid,input[type=\"url\"]:user-invalid,input[type=\"search\"]:user-invalid{border-bottom-color:var(--input-underline-color-error, var(--error-color-main)) !important}:host(.udp-input--disabled) .bx--text-input,:host(.udp-input--disabled) textarea,:host(.udp-input--disabled) input[type=\"text\"],:host(.udp-input--disabled) input[type=\"number\"],:host(.udp-input--disabled) input[type=\"email\"],:host(.udp-input--disabled) input[type=\"password\"],:host(.udp-input--disabled) input[type=\"tel\"],:host(.udp-input--disabled) input[type=\"url\"],:host(.udp-input--disabled) input[type=\"search\"]{border-bottom-color:var(--input-underline-color-disabled, var(--gray-08))}textarea.bx--text-input{resize:vertical;min-height:var(--spacing-08)}.bx--text-input::placeholder,textarea::placeholder,input[type=\"text\"]::placeholder,input[type=\"number\"]::placeholder,input[type=\"email\"]::placeholder,input[type=\"password\"]::placeholder,input[type=\"tel\"]::placeholder,input[type=\"url\"]::placeholder,input[type=\"search\"]::placeholder{color:var(--placeholder-color, #999);opacity:1}:host(.udp-input),:host{display:block;width:100%;box-sizing:border-box}.bx--form-item{margin-bottom:var(--spacing-05)}.bx--label{display:block;margin-bottom:var(--spacing-03)}.error-message,.bx--form-requirement,:host(.udp-input--error) .error-message,:host(.udp-input--error) .bx--form-requirement{color:var(--error-color-main, #d32f2f) !important;margin-top:var(--spacing-02);font-size:var(--caption-font-size, 0.875rem);--unity-typography-inherit-color:var(--error-color-main, #d32f2f)}.helper-text{color:var(--text-02, #525252);margin-top:var(--spacing-02);font-size:var(--caption-font-size, 0.875rem)}:host(.udp-input--disabled) .bx--text-input,:host(.udp-input--disabled) textarea,:host(.udp-input--disabled) input,:host(.udp-input--disabled){cursor:not-allowed;opacity:0.6}:host(.udp-input--readonly) .bx--text-input,:host(.udp-input--readonly) textarea,:host(.udp-input--readonly) input{background-color:var(--field-01, #f4f4f4);cursor:default}:host(.udp-input--size-small) .signature-canvas{height:150px}:host(.udp-input--size-normal) .signature-canvas{height:200px}:host(.udp-input--size-large) .signature-canvas{height:250px}:host(.udp-input--size-small) .clear-button{padding:var(--spacing-01) var(--spacing-02);font-size:var(--caption-font-size, 0.875rem);top:var(--spacing-02);right:var(--spacing-02)}:host(.udp-input--size-normal) .clear-button{padding:var(--spacing-02) var(--spacing-03);font-size:var(--body-font-size);top:var(--spacing-02);right:var(--spacing-02)}:host(.udp-input--size-large) .clear-button{padding:var(--spacing-03) var(--spacing-04);font-size:var(--body-font-size);top:var(--spacing-03);right:var(--spacing-03)}.signature-pad-container{position:relative;border:1px solid var(--udp-mid-gray-color);border-radius:4px;background-color:var(--udp-light-gray-color)}.signature-canvas{display:block;width:100%;height:200px;}.signature-pad-container.readonly{background-color:var(--udp-disabled-gray-color)}.signature-canvas.readonly{cursor:not-allowed}.clear-button{position:absolute;top:var(--spacing-02);right:var(--spacing-02);background-color:var(--udp-light-gray-color);border:1px solid var(--udp-mid-gray-color);color:var(--udp-primary-color);cursor:pointer;border-radius:4px;padding:var(--spacing-02) var(--spacing-03);}.clear-button:hover{background-color:var(--udp-mid-gray-color)}.clear-button:disabled{cursor:not-allowed;opacity:0.5}";
92
37
 
@@ -166,30 +111,56 @@ const SignatureInput = class {
166
111
  }
167
112
  }
168
113
  async onInitialValueChange(newValue) {
169
- let file = newValue;
170
- if (file) {
171
- if (Array.isArray(file)) {
172
- file = file[0]; // Handle case where initialValue is an array
173
- }
174
- if (isUdpDriveFile(file)) {
175
- try {
176
- const loadedFile = await downloadFileFromUdpDriveFile(file);
177
- this.value = loadedFile;
178
- this.readonly = false;
179
- }
180
- catch (err) {
181
- console.error('Failed to fetch UdpDriveFile for signature:', err);
182
- return;
114
+ if (!newValue) {
115
+ return;
116
+ }
117
+ try {
118
+ const value = Array.isArray(newValue) ? newValue[0] : newValue;
119
+ if (!value)
120
+ return;
121
+ let loadedFile = null;
122
+ // Case 1: The value is a special reference string (e.g., "name|udp:id" or "name|b64:data")
123
+ if (typeof value === 'string' && udpDriveUtils.isFileReference(value)) {
124
+ const parsedFile = await udpDriveUtils.parseFileReference(value);
125
+ if (parsedFile) {
126
+ // If it was a UDP reference, the parsed file is a placeholder. We need to download the content.
127
+ if (parsedFile.driveFileId) {
128
+ const udpInfo = {
129
+ name: parsedFile.name,
130
+ driveFileId: parsedFile.driveFileId,
131
+ extension: parsedFile.name.split('.').pop() || ''};
132
+ loadedFile = await udpDriveUtils.downloadFileFromUdpDriveFile(udpInfo);
133
+ }
134
+ else {
135
+ // If it was a base64 reference, the file content is already loaded.
136
+ loadedFile = parsedFile;
137
+ }
183
138
  }
184
139
  }
185
- else if (typeof newValue === 'string') {
186
- this.value = await this.urlToFile(newValue, 'initial_signature.png');
140
+ // Case 2: The value is a UdpDriveFile object
141
+ else if (udpDriveUtils.isUdpDriveFile(value)) {
142
+ loadedFile = await udpDriveUtils.downloadFileFromUdpDriveFile(value);
143
+ }
144
+ // Case 3: The value is a standard URL or data-uri string
145
+ else if (typeof value === 'string') {
146
+ loadedFile = await udpDriveUtils.createFileFromString(value, 'initial_signature.png');
147
+ }
148
+ // Case 4: The value is already a File object
149
+ else if (udpDriveUtils.isFile(value)) {
150
+ loadedFile = value;
151
+ }
152
+ // If a file was successfully prepared, update the component
153
+ if (loadedFile) {
154
+ this.value = loadedFile;
155
+ this.resizeCanvasForDPR();
156
+ this.initializeSignaturePad();
187
157
  }
188
158
  else {
189
- this.value = newValue;
159
+ console.warn('Initial value could not be processed into a valid file:', value);
190
160
  }
191
- this.resizeCanvasForDPR();
192
- this.initializeSignaturePad();
161
+ }
162
+ catch (err) {
163
+ console.error('Failed to process initial value for signature pad:', err);
193
164
  }
194
165
  }
195
166
  async componentWillLoad() {
@@ -202,11 +173,11 @@ const SignatureInput = class {
202
173
  if (Array.isArray(file)) {
203
174
  file = file[0]; // Handle case where initialValue is an array
204
175
  }
205
- if (isUdpDriveFile(this.initialValue)) {
176
+ if (udpDriveUtils.isUdpDriveFile(this.initialValue)) {
206
177
  // Try to fetch the file from UdpDriveFile
207
178
  console.log('Loading signature from UdpDriveFile:', this.initialValue);
208
179
  try {
209
- const file = await downloadFileFromUdpDriveFile(this.initialValue);
180
+ const file = await udpDriveUtils.downloadFileFromUdpDriveFile(this.initialValue);
210
181
  this.value = file;
211
182
  this.readonly = false; // Try editable first
212
183
  }
@@ -277,9 +248,9 @@ const SignatureInput = class {
277
248
  if (typeof signatureValue === 'string') {
278
249
  imageUrl = signatureValue;
279
250
  }
280
- else if (isUdpDriveFile(signatureValue)) {
251
+ else if (udpDriveUtils.isUdpDriveFile(signatureValue)) {
281
252
  try {
282
- const file = await downloadFileFromUdpDriveFile(signatureValue);
253
+ const file = await udpDriveUtils.downloadFileFromUdpDriveFile(signatureValue);
283
254
  imageUrl = URL.createObjectURL(file);
284
255
  }
285
256
  catch (error) {
@@ -310,7 +281,7 @@ const SignatureInput = class {
310
281
  'readonly': this.readonly,
311
282
  'disabled': this.disabled,
312
283
  };
313
- return (index.h(index.Host, { key: 'b56e3aa753999f61e26d33980c728ede6080b413', class: {
284
+ return (index.h(index.Host, { key: 'fbdb1a7c619c9d857b246cd0c22d76a2cdecbe5c', class: {
314
285
  'udp-input': true,
315
286
  'udp-input--error': isError,
316
287
  'udp-input--disabled': this.disabled,
@@ -318,7 +289,7 @@ const SignatureInput = class {
318
289
  'udp-input--readonly': this.readonly,
319
290
  [`udp-input--size-${this.size}`]: true,
320
291
  [`udp-input--margin-${this.margin}`]: true,
321
- } }, index.h("div", { key: '8166da65f5dc1002d6e5de643331c2c8728bb2ca', class: "bx--form-item" }, this.label && (index.h("unity-typography", { key: 'e5811a0937a2b5f59fa8eba6a2abf44931d53c4e', variant: "caption-text" }, index.h("label", { key: 'bf44b8563f260bff1db5ff1f1e136c14d8a2f32b', htmlFor: this.id, class: "bx--label" }, this.label, this.required && '*'))), index.h("div", { key: '4ebc3753801e79d62da3b61aee8ed09203e22a42', class: containerClasses }, index.h("canvas", { key: '43860cbf141d3bb2f45ef62a88f0894697202161', ref: el => (this.canvasEl = el), class: { 'signature-canvas': true, 'readonly': this.readonly || this.disabled }, id: this.id }), !this.readonly && !this.disabled && (index.h("button", { key: '45d1ed0764057bfe908ee89ea1a22376ecaaf84c', type: "button", class: "clear-button", onClick: this.clearSignature, disabled: this.disabled }, "Clear"))), isError && (index.h("div", { key: '687f1694c19304cebdca3b03a32765ec177e72e6', class: "error-message" }, index.h("unity-typography", { key: 'ba66b72167f4b8165a72cd6f60dfc6a44707360a', variant: "caption-text", color: "error" }, this.internalError))))));
292
+ } }, index.h("div", { key: 'cc61b8c78a837a27815cefe6f05a44aa0cf79fd3', class: "bx--form-item" }, this.label && (index.h("unity-typography", { key: '68d20d02f044f0ca1c0a8318b6ac01cbf5878258', variant: "caption-text" }, index.h("label", { key: '33196dec5e0fda28b9e139837b8e0cad604731af', htmlFor: this.id, class: "bx--label" }, this.label, this.required && '*'))), index.h("div", { key: '59421fd7fc93eabec847a43d035bdf23a8d837ed', class: containerClasses }, index.h("canvas", { key: '66510e6aed0c582a24ada1dea11ebf0052288b0f', ref: el => (this.canvasEl = el), class: { 'signature-canvas': true, 'readonly': this.readonly || this.disabled }, id: this.id }), !this.readonly && !this.disabled && (index.h("button", { key: '42389616c9eff97410fe944d7b561dc3c34482ce', type: "button", class: "clear-button", onClick: this.clearSignature, disabled: this.disabled }, "Clear"))), isError && (index.h("div", { key: '560500b756625db1788770e2a5fb9c4c35f661ae', class: "error-message" }, index.h("unity-typography", { key: '6a9ced9c1052e3a537759ad308f10a008312802c', variant: "caption-text", color: "error" }, this.internalError))))));
322
293
  }
323
294
  get el() { return index.getElement(this); }
324
295
  static get watchers() { return {
@@ -335,8 +306,10 @@ const StencilForm = class {
335
306
  constructor(hostRef) {
336
307
  index.registerInstance(this, hostRef);
337
308
  this.stencilFormInvalidEvent = index.createEvent(this, "stencilFormInvalidEvent");
309
+ this.dirtyChange = index.createEvent(this, "dirtyChange");
338
310
  this.validateOnBlur = true;
339
311
  this.registeredFields = {};
312
+ this.customErrors = {};
340
313
  /**
341
314
  * The event handler for slot changes. It kicks off the recursive processing.
342
315
  */
@@ -352,14 +325,15 @@ const StencilForm = class {
352
325
  this.submit = this.submit.bind(this);
353
326
  this.onFormChange = this.onFormChange.bind(this);
354
327
  }
355
- /**
356
- * Connects a field to the form API.
357
- */
358
328
  connectField(field) {
329
+ if (field.__connectedToForm)
330
+ return;
359
331
  field.setFormApi({
360
332
  api: this.api,
361
333
  registeredFields: this.registeredFields,
334
+ customErrors: this.customErrors,
362
335
  });
336
+ field.__connectedToForm = true;
363
337
  }
364
338
  /**
365
339
  * Asynchronously and recursively traverses a node and all of its light DOM
@@ -407,9 +381,8 @@ const StencilForm = class {
407
381
  // Avoid duplicate event listeners
408
382
  if (!htmlElement.dataset.stencilFormConnected) {
409
383
  htmlElement.dataset.stencilFormConnected = 'true';
410
- element.addEventListener('click', (e) => {
384
+ element.addEventListener('click', e => {
411
385
  e.preventDefault();
412
- console.log('Submit button clicked, triggering form submit');
413
386
  this.submit(e);
414
387
  });
415
388
  }
@@ -421,9 +394,8 @@ const StencilForm = class {
421
394
  // Avoid duplicate event listeners
422
395
  if (!htmlButton.dataset.stencilFormConnected) {
423
396
  htmlButton.dataset.stencilFormConnected = 'true';
424
- button.addEventListener('click', (e) => {
397
+ button.addEventListener('click', e => {
425
398
  e.preventDefault();
426
- console.log('Submit button clicked, triggering form submit');
427
399
  this.submit(e);
428
400
  });
429
401
  }
@@ -436,16 +408,41 @@ const StencilForm = class {
436
408
  validate: this.defaultValidation,
437
409
  validateOnBlur: this.validateOnBlur,
438
410
  });
439
- if (this.handleFormChange) {
411
+ if (this.handleChange) {
440
412
  this.api.subscribe(this.onFormChange, { values: true });
441
413
  }
414
+ // Subscription for the dirty state change event
415
+ this.api.subscribe(formState => {
416
+ this.dirtyChange.emit(formState.dirty);
417
+ }, { dirty: true });
442
418
  }
443
419
  componentDidLoad() {
444
420
  const slot = this.el.shadowRoot.querySelector('slot');
421
+ // Create the observer first
422
+ this.observer = new MutationObserver(mutations => {
423
+ for (const mutation of mutations) {
424
+ mutation.addedNodes.forEach(node => {
425
+ this.processNodeRecursively(node);
426
+ });
427
+ }
428
+ });
429
+ // Function to handle slot changes or initial processing
430
+ const observeAssignedNodes = () => {
431
+ const assignedNodes = (slot === null || slot === void 0 ? void 0 : slot.assignedNodes({ flatten: true })) || [];
432
+ assignedNodes.forEach(node => {
433
+ if (node.nodeType === Node.ELEMENT_NODE) {
434
+ this.observer.observe(node, { childList: true, subtree: true });
435
+ this.processNodeRecursively(node); // Process immediately in case nodes are already present
436
+ }
437
+ });
438
+ };
445
439
  if (slot) {
446
- this.handleSlotChange(); // Run once for initial content
447
- slot.addEventListener('slotchange', this.handleSlotChange);
440
+ observeAssignedNodes(); // Initial
441
+ slot.addEventListener('slotchange', observeAssignedNodes); // Handle dynamic slot content
448
442
  }
443
+ // If you're also rendering some fields directly in this.el (not through slot), you can keep this:
444
+ this.observer.observe(this.el, { childList: true, subtree: true });
445
+ this.el.dispatchEvent(new CustomEvent('stencilFormReady', { bubbles: true, composed: true }));
449
446
  }
450
447
  disconnectedCallback() {
451
448
  var _a;
@@ -457,12 +454,11 @@ const StencilForm = class {
457
454
  }
458
455
  }
459
456
  onFormChange(formState) {
460
- if (this.handleFormChange && formState.values) {
461
- this.handleFormChange(formState.values);
457
+ if (this.handleChange && formState.values) {
458
+ this.handleChange(formState.values);
462
459
  }
463
460
  }
464
461
  async submitWithValidation(values) {
465
- console.log('Submitting form with values:', values);
466
462
  const errors = this.defaultValidation(values);
467
463
  if (Object.keys(errors).length === 0) {
468
464
  this.handleSubmit(values);
@@ -472,25 +468,37 @@ const StencilForm = class {
472
468
  }
473
469
  }
474
470
  defaultValidation(values) {
475
- var _a;
476
- const { registeredFields } = this;
471
+ const { registeredFields, customErrors } = this;
477
472
  const errors = {};
478
- console.log(registeredFields);
473
+ // Check for required field validation
479
474
  Object.keys(registeredFields).forEach(field => {
480
475
  var _a;
481
- if (registeredFields[field].required && (!values[field] || ((_a = values[field]) === null || _a === void 0 ? void 0 : _a.length) === 0)) {
482
- errors[field] = 'Required';
476
+ if (registeredFields[field].required && (!values[field] || ((_a = values[field]) === null || _a === void 0 ? void 0 : _a.length) === 0 || values[field] === 'false')) {
477
+ errors[field] = 'This field is required';
483
478
  }
484
479
  });
485
- if (this === null || this === void 0 ? void 0 : this.validate)
486
- return (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this, values, errors);
480
+ // Include custom errors from stencil-field components (like min/max validation)
481
+ if (customErrors) {
482
+ Object.keys(customErrors).forEach(field => {
483
+ if (customErrors[field]) {
484
+ errors[field] = customErrors[field];
485
+ }
486
+ });
487
+ }
488
+ // If custom validation is provided, merge with default validation
489
+ if (this === null || this === void 0 ? void 0 : this.handleValidate) {
490
+ const customErrors = this.handleValidate(values, errors);
491
+ return Object.assign(Object.assign({}, errors), customErrors);
492
+ }
487
493
  return errors;
488
494
  }
489
495
  getValues() {
490
496
  const values = {};
491
497
  this.api.getRegisteredFields().forEach((fieldName) => {
492
- values[fieldName] = this.api.getFieldState(fieldName).value;
498
+ var _a;
499
+ values[fieldName] = (_a = this.api.getFieldState(fieldName).value) !== null && _a !== void 0 ? _a : '';
493
500
  });
501
+ console.log(values);
494
502
  return values;
495
503
  }
496
504
  async getApi() {
@@ -498,11 +506,12 @@ const StencilForm = class {
498
506
  console.error('❌ Form API not initialized yet.');
499
507
  return null;
500
508
  }
509
+ // @ts-ignore
510
+ this.api.getValues = () => this.getValues();
501
511
  return this.api;
502
512
  }
503
513
  submit(e) {
504
514
  var _a;
505
- console.log('Submitting form');
506
515
  (_a = e === null || e === void 0 ? void 0 : e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
507
516
  const submitFunction = () => {
508
517
  var _a;
@@ -516,7 +525,7 @@ const StencilForm = class {
516
525
  debounce__default.default(submitFunction, 1000, { leading: true, trailing: false })();
517
526
  }
518
527
  render() {
519
- return (index.h("form", { key: 'f87005b56d8889878fefed08e1ff84c77867e935', onSubmit: this.submit }, index.h("slot", { key: '742c816b3720a11e78d8825e87364b1dd8ed3b37' })));
528
+ return (index.h("form", { key: '57fac6a8c5a18c89ab72307a66c9bde0c601018c', onSubmit: this.submit }, index.h("slot", { key: '4759a58068ac592dfeaab1d88a7f42547be8b3ec' })));
520
529
  }
521
530
  get el() { return index.getElement(this); }
522
531
  };
@@ -567,18 +576,122 @@ const TallyDisplay = class {
567
576
  const isError = !!this.error;
568
577
  const answeredCount = this.yesCount + this.noCount + this.naCount;
569
578
  const unansweredCount = this.totalFields - answeredCount;
570
- return (index.h(index.Host, { key: '5c6939381517962ec502c5b791892b352b8cfec3', class: {
579
+ return (index.h(index.Host, { key: 'e70832a7be82ea3f53df3bc06b0194ed46d05f07', class: {
571
580
  'udp-input': true,
572
581
  'udp-input--error': isError,
573
582
  'udp-input--disabled': this.disabled,
574
583
  'udp-input--readonly': this.readonly,
575
584
  [`udp-input--size-${this.size}`]: true,
576
585
  [`udp-input--margin-${this.margin}`]: true,
577
- } }, index.h("div", { key: '03e9e1319a9014ddff1f4f9664d4a84992a48112', class: "tally-container" }, this.label && (index.h("unity-typography", { key: '343651c518a44fbc79fde58152a0216416b7a7fd', variant: "caption-text" }, index.h("label", { key: 'f5b9c1491ff19f7340e8072227556014c637f75f', htmlFor: this.id, class: "tally-label" }, this.label))), index.h("div", { key: '287e848fb535d892f6592bcec6d66e5f05a751c5', class: "tally-content", id: this.id }, index.h("div", { key: '5fdbadd48ffd431f58f522e9452b1183c3014b12', class: "tally-stats" }, index.h("div", { key: '43f04d18cc2ff6b9287e398d25484928e4ea3325', class: "tally-item tally-yes" }, index.h("unity-typography", { key: '75bfeb985b1f7f70ecaabec2b8ae699794c6de50', variant: "h4", class: "tally-count" }, this.yesCount), index.h("unity-typography", { key: 'ddbacb84823d5663879ef218fc023186b78ed87c', variant: "caption-text", class: "tally-label" }, "Yes")), index.h("div", { key: '573543db8b4ca95596a3fd6cc0d256802529c778', class: "tally-item tally-no" }, index.h("unity-typography", { key: '6124af32f94311cff91a051c46eda6fe7c956939', variant: "h4", class: "tally-count" }, this.noCount), index.h("unity-typography", { key: '37ccb28fb096bc09c9c51b5b050b5b58f69773d9', variant: "caption-text", class: "tally-label" }, "No")), index.h("div", { key: '3aabef56d09f22886f410677cb57ddbc17fa5b45', class: "tally-item tally-na" }, index.h("unity-typography", { key: 'ad92cae631bf923f2aeda0ac003129fa8d470e02', variant: "h4", class: "tally-count" }, this.naCount), index.h("unity-typography", { key: '43ed5d1f7380084c22872477f5ccd0dfd74cd008', variant: "caption-text", class: "tally-label" }, "Not Applicable")), unansweredCount > 0 && (index.h("div", { key: '069a7bc3a1dcf19d9c0f5ca0d4b00facdb07ecc4', class: "tally-item tally-unanswered" }, index.h("unity-typography", { key: '04469b55f4dcdae1e08f1eacdc1bce83ca86f214', variant: "h4", class: "tally-count" }, unansweredCount), index.h("unity-typography", { key: 'a3bd672ee1edcfc3df5a37587675fc96257020a1', variant: "caption-text", class: "tally-label" }, "Unanswered")))), index.h("div", { key: 'fcfdaf22626dd9776a6596baed5b8ee0257b2ba1', class: "tally-summary" }, index.h("unity-typography", { key: '234c4f194d2fca829d4f6c21190af688eedcbfe7', variant: "caption-text" }, "Total Questions: ", this.totalFields))), isError && (index.h("div", { key: '5ab59a32c6eac7ec4c52588880c72f39af322162', class: "error-message" }, index.h("unity-typography", { key: 'bba2f644f283270436ce30b21dceffd62bdad546', variant: "caption-text", color: "error" }, this.error))))));
586
+ } }, index.h("div", { key: '1926ed64b5652e92d39ebf735b18046dd7f906ad', class: "tally-container" }, this.label && (index.h("unity-typography", { key: 'a324b324caeab596ec7dc6587fe10f10ccc185cb', variant: "caption-text" }, index.h("label", { key: '23ef28f8d34e3003107cc121e031e5fc0cb122fe', htmlFor: this.id, class: "tally-label" }, this.label))), index.h("div", { key: '28c393290da3f3fee8c7d82dd686e8234d894844', class: "tally-content", id: this.id }, index.h("div", { key: '7104a0a1fcdfa61a1d865d8cda60464121befe45', class: "tally-stats" }, index.h("div", { key: 'c743c8e990a753b657cb39453c039efce5c66636', class: "tally-item tally-yes" }, index.h("unity-typography", { key: '9499309b4ccb1e321f04a42101887534452468cc', variant: "h4", class: "tally-count" }, this.yesCount), index.h("unity-typography", { key: '6ffbc0edd30df2be26ec61d66ecf93f3f036e962', variant: "caption-text", class: "tally-label" }, "Yes")), index.h("div", { key: '99fcf973f8b69622c32b64842894331f8740abf0', class: "tally-item tally-no" }, index.h("unity-typography", { key: 'cd6b12324049384b85f154e0cec72cebe56128f0', variant: "h4", class: "tally-count" }, this.noCount), index.h("unity-typography", { key: 'cc985586b310629ac16389225e116457361fe4b2', variant: "caption-text", class: "tally-label" }, "No")), index.h("div", { key: '603468dfe92a730e6d3448994e2be6b48b07b5e1', class: "tally-item tally-na" }, index.h("unity-typography", { key: 'd55ee6a1f72e355cb907768062c771c89a601cb7', variant: "h4", class: "tally-count" }, this.naCount), index.h("unity-typography", { key: '84217e46cacba4009a7079433e9ef56aa395727c', variant: "caption-text", class: "tally-label" }, "Not Applicable")), unansweredCount > 0 && (index.h("div", { key: 'ca2a789a78fa47312db0b0ba550e50b1be906734', class: "tally-item tally-unanswered" }, index.h("unity-typography", { key: '388bbaba571af7a2bbae6240b818237ad86c79a3', variant: "h4", class: "tally-count" }, unansweredCount), index.h("unity-typography", { key: '0bf1a145c8a081e576159ed98447b2626f7d23ff', variant: "caption-text", class: "tally-label" }, "Unanswered")))), index.h("div", { key: '22627fff48cab72e895f7f51728455ba6ae84bf2', class: "tally-summary" }, index.h("unity-typography", { key: 'd491c8295d698be02874cf6108220f0254473a34', variant: "caption-text" }, "Total Questions: ", this.totalFields))), isError && (index.h("div", { key: '27b0e582ed93014a938dc66b5df146639d65be82', class: "error-message" }, index.h("unity-typography", { key: '0a0ac562398899def5863296f9dff96ac9928c70', variant: "caption-text", color: "error" }, this.error))))));
578
587
  }
579
588
  };
580
589
  TallyDisplay.style = tallyCss;
581
590
 
591
+ const udpIconButtonCss = ".udp-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border:none;border-radius:var(--border-radius, 4px);cursor:pointer;font-family:inherit;font-weight:500;text-decoration:none;transition:all 0.2s ease-in-out;position:relative;outline:none;box-sizing:border-box}.udp-icon-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.udp-icon-button:disabled{opacity:0.6;cursor:not-allowed;pointer-events:none}.icon-container{display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon{display:block;fill:currentColor}.label{display:flex;align-items:center}.size-small{min-height:32px;padding:6px;font-size:0.875rem}.size-small.has-label{padding:6px 12px}.size-small .icon{width:16px;height:16px}.size-medium{min-height:40px;padding:8px;font-size:0.875rem}.size-medium.has-label{padding:8px 16px}.size-medium .icon{width:20px;height:20px}.size-large{min-height:48px;padding:12px;font-size:1rem}.size-large.has-label{padding:12px 20px}.size-large .icon{width:24px;height:24px}.icon-only{border-radius:50%}.icon-only.size-small{width:32px;height:32px}.icon-only.size-medium{width:40px;height:40px}.icon-only.size-large{width:48px;height:48px}.variant-text{background:transparent;border:1px solid transparent}.variant-text:hover:not(:disabled){background:rgba(var(--primary-color-rgb, 0, 0, 0), 0.04)}.variant-text:active:not(:disabled){background:rgba(var(--primary-color-rgb, 0, 0, 0), 0.08)}.variant-outlined{background:transparent;border:1px solid currentColor}.variant-outlined:hover:not(:disabled){background:rgba(var(--primary-color-rgb, 0, 0, 0), 0.04)}.variant-outlined:active:not(:disabled){background:rgba(var(--primary-color-rgb, 0, 0, 0), 0.08)}.variant-contained{background:var(--primary-color, #1976d2);color:var(--primary-color-contrast, #fff);border:1px solid var(--primary-color, #1976d2)}.variant-contained:hover:not(:disabled){background:var(--primary-color-dark, #1565c0);border-color:var(--primary-color-dark, #1565c0)}.variant-contained:active:not(:disabled){background:var(--primary-color-darker, #0d47a1);border-color:var(--primary-color-darker, #0d47a1)}.color-primary{color:var(--primary-color, #1976d2)}.color-primary.variant-contained{background:var(--primary-color, #1976d2);color:var(--primary-color-contrast, #fff);border-color:var(--primary-color, #1976d2)}.color-secondary{color:var(--secondary-color, #dc004e)}.color-secondary.variant-contained{background:var(--secondary-color, #dc004e);color:var(--secondary-color-contrast, #fff);border-color:var(--secondary-color, #dc004e)}.color-secondary.variant-contained:hover:not(:disabled){background:var(--secondary-color-dark, #c5004a);border-color:var(--secondary-color-dark, #c5004a)}.color-success{color:var(--success-color, #2e7d32)}.color-success.variant-contained{background:var(--success-color, #2e7d32);color:var(--success-color-contrast, #fff);border-color:var(--success-color, #2e7d32)}.color-error{color:var(--error-color, #d32f2f)}.color-error.variant-contained{background:var(--error-color, #d32f2f);color:var(--error-color-contrast, #fff);border-color:var(--error-color, #d32f2f)}.color-warning{color:var(--warning-color, #ed6c02)}.color-warning.variant-contained{background:var(--warning-color, #ed6c02);color:var(--warning-color-contrast, #fff);border-color:var(--warning-color, #ed6c02)}.color-info{color:var(--info-color, #0288d1)}.color-info.variant-contained{background:var(--info-color, #0288d1);color:var(--info-color-contrast, #fff);border-color:var(--info-color, #0288d1)}.color-inherit{color:inherit}.color-inherit.variant-contained{background:currentColor;color:var(--background-color, #fff);border-color:currentColor}.icon-color-primary{fill:var(--primary-color, #1976d2) !important}.icon-color-secondary{fill:var(--secondary-color, #dc004e) !important}.icon-color-success{fill:var(--success-color, #2e7d32) !important}.icon-color-error{fill:var(--error-color, #d32f2f) !important}.icon-color-warning{fill:var(--warning-color, #ed6c02) !important}.icon-color-info{fill:var(--info-color, #0288d1) !important}.icon-color-inherit{fill:inherit !important}";
592
+
593
+ const UdpIconButton = class {
594
+ constructor(hostRef) {
595
+ index.registerInstance(this, hostRef);
596
+ this.click = index.createEvent(this, "click");
597
+ /**
598
+ * The variant to use.
599
+ * - `text`: Typically used for less-pronounced actions (replaces noBackground=true).
600
+ * - `outlined`: Emphasizes actions with a border.
601
+ * - `contained`: High-emphasis, distinguished by a background color.
602
+ */
603
+ this.variant = 'text';
604
+ /**
605
+ * The color of the component. It supports theming using global CSS variables.
606
+ * `inherit` will inherit the color from its parent.
607
+ */
608
+ this.color = 'primary';
609
+ /**
610
+ * The size of the component.
611
+ */
612
+ this.size = 'medium';
613
+ /**
614
+ * If `true`, the component is disabled.
615
+ */
616
+ this.disabled = false;
617
+ /**
618
+ * The type of the button. Only used if `href` is not set.
619
+ * Corresponds to the native `type` attribute of a `<button>` element.
620
+ */
621
+ this.type = 'button';
622
+ this.handleClick = (event) => {
623
+ if (!this.disabled) {
624
+ this.click.emit(event);
625
+ }
626
+ };
627
+ }
628
+ renderIcon() {
629
+ if (!this.icon)
630
+ return null;
631
+ const iconData = this.icon;
632
+ const iconColorClass = this.iconColor ? `icon-color-${this.iconColor}` : '';
633
+ return (index.h("svg", Object.assign({}, iconData.attrs, { class: `icon ${iconColorClass}`.trim() }), iconData.content.map((item, index$1) => {
634
+ if (item.elem === 'path') {
635
+ return index.h("path", Object.assign({}, item.attrs, { key: index$1 }));
636
+ }
637
+ else if (item.elem === 'circle') {
638
+ return index.h("circle", Object.assign({}, item.attrs, { key: index$1 }));
639
+ }
640
+ return null;
641
+ })));
642
+ }
643
+ renderButton() {
644
+ var _a;
645
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
646
+ const ariaLabel = this.ariaLabel || this.tooltip || undefined;
647
+ const buttonClasses = {
648
+ 'udp-icon-button': true,
649
+ [`variant-${this.variant}`]: true,
650
+ [`color-${this.color}`]: true,
651
+ [`size-${this.size}`]: true,
652
+ 'has-label': !!hasLabel,
653
+ 'icon-only': !hasLabel,
654
+ };
655
+ const buttonContent = (index.h("button", { type: this.type, disabled: this.disabled, class: buttonClasses, onClick: this.handleClick, "aria-label": ariaLabel, title: this.tooltip, id: this.buttonId }, index.h("span", { class: "icon-container" }, this.renderIcon()), hasLabel && (index.h("span", { class: "label" }, index.h("slot", null)))));
656
+ // Wrap with badge if badgeContent is provided
657
+ if (this.badgeContent) {
658
+ return (index.h("udp-badge", { content: this.badgeContent }, buttonContent));
659
+ }
660
+ return buttonContent;
661
+ }
662
+ renderLink() {
663
+ var _a;
664
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
665
+ const ariaLabel = this.ariaLabel || this.tooltip || undefined;
666
+ const linkClasses = {
667
+ 'udp-icon-button': true,
668
+ [`variant-${this.variant}`]: true,
669
+ [`color-${this.color}`]: true,
670
+ [`size-${this.size}`]: true,
671
+ 'has-label': !!hasLabel,
672
+ 'icon-only': !hasLabel,
673
+ };
674
+ const linkContent = (index.h("a", { href: this.href, class: linkClasses, onClick: this.handleClick, "aria-label": ariaLabel, title: this.tooltip, id: this.buttonId }, index.h("span", { class: "icon-container" }, this.renderIcon()), hasLabel && (index.h("span", { class: "label" }, index.h("slot", null)))));
675
+ // Wrap with badge if badgeContent is provided
676
+ if (this.badgeContent) {
677
+ return (index.h("udp-badge", { content: this.badgeContent }, linkContent));
678
+ }
679
+ return linkContent;
680
+ }
681
+ render() {
682
+ var _a;
683
+ // Wrap with tooltip if tooltiprovided and no label
684
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
685
+ const content = this.href ? this.renderLink() : this.renderButton();
686
+ if (this.tooltip && !hasLabel) {
687
+ return (index.h("udp-ambient-tool-tip", { content: this.tooltip }, content));
688
+ }
689
+ return content;
690
+ }
691
+ get el() { return index.getElement(this); }
692
+ };
693
+ UdpIconButton.style = udpIconButtonCss;
694
+
582
695
  /**
583
696
  * Finds the parent stencil-form and returns its Final Form API.
584
697
  * This function correctly traverses up through nested Shadow DOM boundaries.
@@ -637,7 +750,7 @@ const UdpQuestion = class {
637
750
  }
638
751
  async componentWillLoad() {
639
752
  this.updateFieldComponent();
640
- if (this.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.Tally) {
753
+ if (this.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.Tally) {
641
754
  await this.initializeFormApiForTally();
642
755
  }
643
756
  }
@@ -660,7 +773,7 @@ const UdpQuestion = class {
660
773
  }
661
774
  }
662
775
  calculateTally() {
663
- if (!this.formApi || this.question.fieldTypeId !== utils.UdpFormsFieldTypeEnum.Tally) {
776
+ if (!this.formApi || this.question.fieldTypeId !== enums.UdpFormsFieldTypeEnum.Tally) {
664
777
  return;
665
778
  }
666
779
  try {
@@ -674,8 +787,8 @@ const UdpQuestion = class {
674
787
  const yesNoFields = [];
675
788
  // Identify YesNo field types
676
789
  questionElements.forEach((questionEl) => {
677
- if (questionEl.question && questionEl.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.YesNo) {
678
- const fieldName = questionEl.question.name;
790
+ if (questionEl.question && questionEl.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.YesNo) {
791
+ const fieldName = questionEl.question.processedSubmissionName;
679
792
  if (fieldName) {
680
793
  const shouldInclude = this.shouldIncludeFieldInTally(fieldName);
681
794
  if (shouldInclude) {
@@ -730,50 +843,50 @@ const UdpQuestion = class {
730
843
  this._fieldComponent = this.getFieldComponent();
731
844
  }
732
845
  getFieldComponent() {
733
- var _a, _b, _c, _d, _e;
846
+ var _a, _b, _c, _d;
734
847
  const props = {
735
- name: (_a = this.question.name) !== null && _a !== void 0 ? _a : `question-${this.questionNumber}`,
848
+ name: this.question.processedSubmissionName,
736
849
  required: this.question.required,
737
850
  };
738
851
  const fieldProps = Object.assign(Object.assign({}, this.question.fieldProperties), { id: this.questionNumber, disabled: this.disabled, readonly: this.readonly });
739
852
  switch (this.question.fieldTypeId) {
740
- case utils.UdpFormsFieldTypeEnum.SingleLineText:
853
+ case enums.UdpFormsFieldTypeEnum.SingleLineText:
741
854
  return (index.h("stencil-field", Object.assign({}, props), index.h("text-field", Object.assign({}, fieldProps))));
742
- case utils.UdpFormsFieldTypeEnum.MultiLineText:
855
+ case enums.UdpFormsFieldTypeEnum.MultiLineText:
743
856
  return (index.h("stencil-field", Object.assign({}, props), index.h("text-area", Object.assign({ fullWidth: true }, fieldProps))));
744
- case utils.UdpFormsFieldTypeEnum.Checkbox:
857
+ case enums.UdpFormsFieldTypeEnum.Checkbox:
745
858
  return (index.h("stencil-field", Object.assign({}, props), index.h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", multiSelect: true, useCheckbox: true }, fieldProps))));
746
- case utils.UdpFormsFieldTypeEnum.RadioButton:
859
+ case enums.UdpFormsFieldTypeEnum.RadioButton:
747
860
  return (index.h("stencil-field", Object.assign({}, props), index.h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", useCheckbox: true }, fieldProps))));
748
- case utils.UdpFormsFieldTypeEnum.DropdownSingleSelect:
749
- case utils.UdpFormsFieldTypeEnum.DropdownMultipleSelect:
750
- 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)));
751
- return (index.h("stencil-field", Object.assign({}, props), index.h("udp-selector", Object.assign({ options: options !== null && options !== void 0 ? options : [], multiSelect: this.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.DropdownMultipleSelect }, fieldProps))));
752
- case utils.UdpFormsFieldTypeEnum.YesNo:
861
+ case enums.UdpFormsFieldTypeEnum.DropdownSingleSelect:
862
+ case enums.UdpFormsFieldTypeEnum.DropdownMultipleSelect:
863
+ 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)));
864
+ return (index.h("stencil-field", Object.assign({}, props), index.h("udp-selector", Object.assign({ options: options !== null && options !== void 0 ? options : [], multiSelect: this.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.DropdownMultipleSelect }, fieldProps))));
865
+ case enums.UdpFormsFieldTypeEnum.YesNo:
753
866
  return (index.h("stencil-field", Object.assign({}, props), index.h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", useCheckbox: true, multiSelect: false, items: [
754
867
  { value: 'true', display: 'Yes' },
755
868
  { value: 'false', display: 'No' },
756
869
  { value: 'na', display: 'Not Applicable' },
757
870
  ] }, fieldProps))));
758
- case utils.UdpFormsFieldTypeEnum.ListMultiSelect:
871
+ case enums.UdpFormsFieldTypeEnum.ListMultiSelect:
759
872
  return (index.h("stencil-field", Object.assign({}, props), index.h("selectable-list", Object.assign({ valueKey: "value", displayKey: "display", multiSelect: true }, fieldProps))));
760
- case utils.UdpFormsFieldTypeEnum.DateSelector:
873
+ case enums.UdpFormsFieldTypeEnum.DateSelector:
761
874
  return (index.h("stencil-field", Object.assign({}, props), index.h("udp-date-selector", Object.assign({ min: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.minDate, max: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.maxDate }, fieldProps))));
762
- case utils.UdpFormsFieldTypeEnum.TimeSelector:
875
+ case enums.UdpFormsFieldTypeEnum.TimeSelector:
763
876
  return (index.h("stencil-field", Object.assign({}, props), index.h("udp-time-selector", Object.assign({ min: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.minTime, max: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.maxTime }, fieldProps))));
764
- case utils.UdpFormsFieldTypeEnum.DateTimeSelector:
877
+ case enums.UdpFormsFieldTypeEnum.DateTimeSelector:
765
878
  return (index.h("stencil-field", Object.assign({}, props), index.h("udp-datetime-selector", Object.assign({ max: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.maxDateTime, min: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.minDateTime }, fieldProps))));
766
- case utils.UdpFormsFieldTypeEnum.FileUpload:
879
+ case enums.UdpFormsFieldTypeEnum.FileUpload:
767
880
  return (index.h("stencil-field", Object.assign({}, props), index.h("file-upload", Object.assign({ fullWidth: true, allowMultiple: false }, fieldProps))));
768
- case utils.UdpFormsFieldTypeEnum.Signature:
881
+ case enums.UdpFormsFieldTypeEnum.Signature:
769
882
  return (index.h("stencil-field", Object.assign({}, props), index.h("signature-input", Object.assign({}, fieldProps, { value: this.value }))));
770
- case utils.UdpFormsFieldTypeEnum.Paragraph:
771
- return this.value ? index.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) : index.h("div", null);
772
- case utils.UdpFormsFieldTypeEnum.Number:
883
+ case enums.UdpFormsFieldTypeEnum.Paragraph:
884
+ return this.value ? index.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) : index.h("div", null);
885
+ case enums.UdpFormsFieldTypeEnum.Number:
773
886
  return (index.h("stencil-field", Object.assign({}, props), index.h("numeric-field", Object.assign({}, fieldProps))));
774
- case utils.UdpFormsFieldTypeEnum.Tally:
887
+ case enums.UdpFormsFieldTypeEnum.Tally:
775
888
  return (index.h("tally-display", Object.assign({ id: this.questionNumber, label: this.question.questionText || 'Response Tally', yesCount: this.tallyData.yesCount, noCount: this.tallyData.noCount, naCount: this.tallyData.naCount, totalFields: this.tallyData.totalFields }, fieldProps, { required: false })));
776
- case utils.UdpFormsFieldTypeEnum.Hidden:
889
+ case enums.UdpFormsFieldTypeEnum.Hidden:
777
890
  default:
778
891
  return index.h("div", null);
779
892
  }
@@ -781,7 +894,7 @@ const UdpQuestion = class {
781
894
  async componentDidLoad() {
782
895
  var _a, _b, _c, _d;
783
896
  // If form API wasn't available during componentWillLoad, try again
784
- if (this.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.Tally && !this.formApi) {
897
+ if (this.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.Tally && !this.formApi) {
785
898
  await this.initializeFormApiForTally();
786
899
  }
787
900
  // override the fonts based on style overrides
@@ -803,10 +916,10 @@ const UdpQuestion = class {
803
916
  render() {
804
917
  var _a, _b, _c, _d;
805
918
  const component = this._fieldComponent;
806
- const titleText = `${this.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${this.question.required && this.question.fieldTypeId !== utils.UdpFormsFieldTypeEnum.Paragraph ? '*' : ''}`;
919
+ const titleText = `${this.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${this.question.required && this.question.fieldTypeId !== enums.UdpFormsFieldTypeEnum.Paragraph ? '*' : ''}`;
807
920
  if (!component)
808
921
  return null;
809
- return (index.h("div", { class: this.question.fieldTypeId === utils.UdpFormsFieldTypeEnum.Hidden ? 'hidden' : '' }, this.question.questionText ? index.h("unity-typography", { id: `questionText${this.question.name}`, variant: ((_b = (_a = this.styleOverrides) === null || _a === void 0 ? void 0 : _a.questionText) === null || _b === void 0 ? void 0 : _b.variant) || 'h3' }, titleText) : '', component, index.h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText)));
922
+ return (index.h("div", { class: this.question.fieldTypeId === enums.UdpFormsFieldTypeEnum.Hidden ? 'hidden' : '' }, this.question.questionText ? index.h("unity-typography", { id: `questionText${this.question.name}`, variant: ((_b = (_a = this.styleOverrides) === null || _a === void 0 ? void 0 : _a.questionText) === null || _b === void 0 ? void 0 : _b.variant) || 'h3' }, titleText) : '', component, index.h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText)));
810
923
  }
811
924
  get el() { return index.getElement(this); }
812
925
  static get watchers() { return {
@@ -820,10 +933,99 @@ const UdpQuestion = class {
820
933
  };
821
934
  UdpQuestion.style = udpQuestionCss;
822
935
 
936
+ const udpSaveDraftButtonCss = ".floating-save-button{position:fixed;top:5rem;right:2rem;z-index:1000;animation:slideInDown 0.3s ease-out}.inline-save-button{position:relative;display:inline-flex;align-items:center;margin-left:auto;}.floating-save-button.saving,.inline-save-button.saving{pointer-events:none}.saving-state{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:rgba(0, 0, 0, 0.8);color:white;border-radius:8px;font-size:0.9rem}.saved-state{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:rgba(34, 139, 34, 0.9);color:white;border-radius:8px;font-size:0.9rem;animation:fadeIn 0.3s ease-out}.inline-save-button .saving-state{padding:0.5rem 0.75rem;background:rgba(0, 0, 0, 0.6);font-size:0.8rem}.inline-save-button .saved-state{padding:0.5rem 0.75rem;background:rgba(34, 139, 34, 0.8);font-size:0.8rem}.save-error-tooltip{position:absolute;top:100%;right:0;margin-top:0.5rem;background:#dc3545;color:white;padding:0.5rem 1rem;border-radius:8px;font-size:0.8rem;white-space:nowrap;box-shadow:0 4px 12px rgba(220, 53, 69, 0.3);animation:fadeIn 0.3s ease-out;z-index:1001}.save-error-tooltip::after{content:'';position:absolute;bottom:100%;right:1rem;border:6px solid transparent;border-bottom-color:#dc3545}.inline-save-button .save-error-tooltip{top:100%;bottom:auto;margin-top:0.5rem;margin-bottom:0}.inline-save-button .save-error-tooltip::after{top:-6px;border-top-color:transparent;border-bottom-color:#dc3545}@keyframes slideInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@media (max-width: 768px){.floating-save-button{bottom:1rem;right:1rem;top:auto;}.saving-state{padding:0.6rem 0.8rem;font-size:0.8rem}.inline-save-button .saving-state{padding:0.4rem 0.6rem;font-size:0.75rem}}.primary-icon{--icon-color:var(--primary-color, #1976d2)}.primary-icon::part(icon){fill:var(--icon-color) !important}.primary-icon udp-icon-button::part(icon),.primary-icon .icon{fill:var(--primary-color, #1976d2) !important}@media (prefers-reduced-motion: reduce){.floating-save-button,.save-error-tooltip{animation:none}}";
937
+
938
+ const UdpSaveDraftButton = class {
939
+ constructor(hostRef) {
940
+ index.registerInstance(this, hostRef);
941
+ this.isVisible = false;
942
+ this.isSaving = false;
943
+ this.saveError = null;
944
+ this.showSavedMessage = false;
945
+ this.shouldBeInline = false;
946
+ this.formApi = null;
947
+ this.handleSaveClick = async () => {
948
+ if (!this.formApi || this.isSaving) {
949
+ return;
950
+ }
951
+ if (typeof this.handleSave !== 'function') {
952
+ return;
953
+ }
954
+ const values = this.formApi.getValues();
955
+ try {
956
+ await this.handleSave(values);
957
+ this.formApi.reset(values);
958
+ }
959
+ catch (error) {
960
+ console.error('The onSave handler threw an error. The form will remain dirty.', error);
961
+ }
962
+ };
963
+ }
964
+ async componentDidLoad() {
965
+ this.formApi = await useFormApi(this.el);
966
+ this.checkForOverlap();
967
+ this.setupOverlapDetection();
968
+ }
969
+ disconnectedCallback() {
970
+ if (this.resizeObserver) {
971
+ this.resizeObserver.disconnect();
972
+ }
973
+ if (this.checkOverlapTimeoutId) {
974
+ clearTimeout(this.checkOverlapTimeoutId);
975
+ }
976
+ }
977
+ handleWindowResize() {
978
+ this.debouncedOverlapCheck();
979
+ }
980
+ setupOverlapDetection() {
981
+ if (typeof ResizeObserver !== 'undefined') {
982
+ this.resizeObserver = new ResizeObserver(() => {
983
+ this.debouncedOverlapCheck();
984
+ });
985
+ const formContainer = this.el.closest('udp-forms-ui, .form-container, udp-container');
986
+ if (formContainer) {
987
+ this.resizeObserver.observe(formContainer);
988
+ }
989
+ const mainContent = document.querySelector('main, [role="main"]') || document.body;
990
+ if (mainContent) {
991
+ this.resizeObserver.observe(mainContent);
992
+ }
993
+ }
994
+ }
995
+ debouncedOverlapCheck() {
996
+ if (this.checkOverlapTimeoutId) {
997
+ clearTimeout(this.checkOverlapTimeoutId);
998
+ }
999
+ this.checkOverlapTimeoutId = setTimeout(() => {
1000
+ this.checkForOverlap();
1001
+ }, 100);
1002
+ }
1003
+ checkForOverlap() {
1004
+ // This logic determines which style to apply.
1005
+ // Using 1024px as the breakpoint to switch between floating and inline.
1006
+ const minWidthNeeded = 1280;
1007
+ this.shouldBeInline = window.innerWidth < minWidthNeeded;
1008
+ }
1009
+ render() {
1010
+ if (!this.isVisible && !this.showSavedMessage) {
1011
+ return null;
1012
+ }
1013
+ // Dynamically set the class based on screen size.
1014
+ // This will toggle between your .floating-save-button and .inline-save-button styles.
1015
+ const containerClass = this.shouldBeInline ? 'inline-save-button' : 'floating-save-button';
1016
+ const isInlineMode = this.shouldBeInline;
1017
+ return (index.h("div", { class: `${containerClass} ${this.isSaving ? 'saving' : ''} ${this.showSavedMessage ? 'saved' : ''}` }, this.isSaving ? (index.h("div", { class: "saving-state" }, index.h("unity-spinner", { size: "small" }), !isInlineMode && index.h("span", null, "Saving..."))) : this.isVisible ? (index.h("udp-icon-button", { icon: Save__default.default, onClick: this.handleSaveClick, tooltip: isInlineMode ? undefined : 'Save Changes', variant: "contained", color: isInlineMode ? 'inherit' : 'primary', iconColor: isInlineMode ? 'primary' : null, size: isInlineMode ? 'small' : 'medium' }, isInlineMode ? '' : 'Save Changes')) : (index.h("div", { class: "saved-state" }, !isInlineMode && index.h("span", null, "Saved"))), this.saveError && index.h("div", { class: "save-error-tooltip" }, this.saveError)));
1018
+ }
1019
+ get el() { return index.getElement(this); }
1020
+ };
1021
+ UdpSaveDraftButton.style = udpSaveDraftButtonCss;
1022
+
823
1023
  exports.signature_input = SignatureInput;
824
1024
  exports.stencil_form = StencilForm;
825
1025
  exports.tally_display = TallyDisplay;
1026
+ exports.udp_icon_button = UdpIconButton;
826
1027
  exports.udp_question = UdpQuestion;
827
- //# sourceMappingURL=signature-input.stencil-form.tally-display.udp-question.entry.cjs.js.map
1028
+ exports.udp_save_draft_button = UdpSaveDraftButton;
1029
+ //# sourceMappingURL=signature-input.stencil-form.tally-display.udp-icon-button.udp-question.udp-save-draft-button.entry.cjs.js.map
828
1030
 
829
- //# sourceMappingURL=signature-input_4.cjs.entry.js.map
1031
+ //# sourceMappingURL=signature-input_6.cjs.entry.js.map