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
@@ -0,0 +1,392 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * UdpIconButton is a versatile icon button component that matches the udp-button API.
4
+ * It's designed to replace the deprecated `stencil-icon-button` with better consistency.
5
+ *
6
+ * Key improvements over `stencil-icon-button`:
7
+ * - Consistent API with `udp-button`
8
+ * - Better theming support using global CSS variables
9
+ * - Improved accessibility
10
+ * - Cleaner prop structure
11
+ * - Better TypeScript support
12
+ *
13
+ * Migration from `stencil-icon-button`:
14
+ * - `iconName` → Not needed, use `icon` prop directly
15
+ * - `iconClassName` → Not needed, styling handled by component
16
+ * - `secondary=true` → `variant='text'` or `variant='outlined'`
17
+ * - `noBackground=true` → `variant='text'`
18
+ * - `darkIcon` → Use `color` prop instead
19
+ * - `showLabel` → Use slot content (if content provided, label shows)
20
+ * - `count` → Use `badgeContent` prop
21
+ */
22
+ export class UdpIconButton {
23
+ constructor() {
24
+ /**
25
+ * The variant to use.
26
+ * - `text`: Typically used for less-pronounced actions (replaces noBackground=true).
27
+ * - `outlined`: Emphasizes actions with a border.
28
+ * - `contained`: High-emphasis, distinguished by a background color.
29
+ */
30
+ this.variant = 'text';
31
+ /**
32
+ * The color of the component. It supports theming using global CSS variables.
33
+ * `inherit` will inherit the color from its parent.
34
+ */
35
+ this.color = 'primary';
36
+ /**
37
+ * The size of the component.
38
+ */
39
+ this.size = 'medium';
40
+ /**
41
+ * If `true`, the component is disabled.
42
+ */
43
+ this.disabled = false;
44
+ /**
45
+ * The type of the button. Only used if `href` is not set.
46
+ * Corresponds to the native `type` attribute of a `<button>` element.
47
+ */
48
+ this.type = 'button';
49
+ this.handleClick = (event) => {
50
+ if (!this.disabled) {
51
+ this.click.emit(event);
52
+ }
53
+ };
54
+ }
55
+ renderIcon() {
56
+ if (!this.icon)
57
+ return null;
58
+ const iconData = this.icon;
59
+ const iconColorClass = this.iconColor ? `icon-color-${this.iconColor}` : '';
60
+ return (h("svg", Object.assign({}, iconData.attrs, { class: `icon ${iconColorClass}`.trim() }), iconData.content.map((item, index) => {
61
+ if (item.elem === 'path') {
62
+ return h("path", Object.assign({}, item.attrs, { key: index }));
63
+ }
64
+ else if (item.elem === 'circle') {
65
+ return h("circle", Object.assign({}, item.attrs, { key: index }));
66
+ }
67
+ return null;
68
+ })));
69
+ }
70
+ renderButton() {
71
+ var _a;
72
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
73
+ const ariaLabel = this.ariaLabel || this.tooltip || undefined;
74
+ const buttonClasses = {
75
+ 'udp-icon-button': true,
76
+ [`variant-${this.variant}`]: true,
77
+ [`color-${this.color}`]: true,
78
+ [`size-${this.size}`]: true,
79
+ 'has-label': !!hasLabel,
80
+ 'icon-only': !hasLabel,
81
+ };
82
+ const buttonContent = (h("button", { type: this.type, disabled: this.disabled, class: buttonClasses, onClick: this.handleClick, "aria-label": ariaLabel, title: this.tooltip, id: this.buttonId }, h("span", { class: "icon-container" }, this.renderIcon()), hasLabel && (h("span", { class: "label" }, h("slot", null)))));
83
+ // Wrap with badge if badgeContent is provided
84
+ if (this.badgeContent) {
85
+ return (h("udp-badge", { content: this.badgeContent }, buttonContent));
86
+ }
87
+ return buttonContent;
88
+ }
89
+ renderLink() {
90
+ var _a;
91
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
92
+ const ariaLabel = this.ariaLabel || this.tooltip || undefined;
93
+ const linkClasses = {
94
+ 'udp-icon-button': true,
95
+ [`variant-${this.variant}`]: true,
96
+ [`color-${this.color}`]: true,
97
+ [`size-${this.size}`]: true,
98
+ 'has-label': !!hasLabel,
99
+ 'icon-only': !hasLabel,
100
+ };
101
+ const linkContent = (h("a", { href: this.href, class: linkClasses, onClick: this.handleClick, "aria-label": ariaLabel, title: this.tooltip, id: this.buttonId }, h("span", { class: "icon-container" }, this.renderIcon()), hasLabel && (h("span", { class: "label" }, h("slot", null)))));
102
+ // Wrap with badge if badgeContent is provided
103
+ if (this.badgeContent) {
104
+ return (h("udp-badge", { content: this.badgeContent }, linkContent));
105
+ }
106
+ return linkContent;
107
+ }
108
+ render() {
109
+ var _a;
110
+ // Wrap with tooltip if tooltiprovided and no label
111
+ const hasLabel = (_a = this.el.textContent) === null || _a === void 0 ? void 0 : _a.trim();
112
+ const content = this.href ? this.renderLink() : this.renderButton();
113
+ if (this.tooltip && !hasLabel) {
114
+ return (h("udp-ambient-tool-tip", { content: this.tooltip }, content));
115
+ }
116
+ return content;
117
+ }
118
+ static get is() { return "udp-icon-button"; }
119
+ static get encapsulation() { return "shadow"; }
120
+ static get originalStyleUrls() {
121
+ return {
122
+ "$": ["udp-icon-button.css"]
123
+ };
124
+ }
125
+ static get styleUrls() {
126
+ return {
127
+ "$": ["udp-icon-button.css"]
128
+ };
129
+ }
130
+ static get properties() {
131
+ return {
132
+ "variant": {
133
+ "type": "string",
134
+ "attribute": "variant",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "'text' | 'outlined' | 'contained'",
138
+ "resolved": "\"contained\" | \"outlined\" | \"text\"",
139
+ "references": {}
140
+ },
141
+ "required": false,
142
+ "optional": false,
143
+ "docs": {
144
+ "tags": [],
145
+ "text": "The variant to use.\n- `text`: Typically used for less-pronounced actions (replaces noBackground=true).\n- `outlined`: Emphasizes actions with a border.\n- `contained`: High-emphasis, distinguished by a background color."
146
+ },
147
+ "getter": false,
148
+ "setter": false,
149
+ "reflect": false,
150
+ "defaultValue": "'text'"
151
+ },
152
+ "color": {
153
+ "type": "string",
154
+ "attribute": "color",
155
+ "mutable": false,
156
+ "complexType": {
157
+ "original": "'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit'",
158
+ "resolved": "\"error\" | \"info\" | \"inherit\" | \"primary\" | \"secondary\" | \"success\" | \"warning\"",
159
+ "references": {}
160
+ },
161
+ "required": false,
162
+ "optional": false,
163
+ "docs": {
164
+ "tags": [],
165
+ "text": "The color of the component. It supports theming using global CSS variables.\n`inherit` will inherit the color from its parent."
166
+ },
167
+ "getter": false,
168
+ "setter": false,
169
+ "reflect": false,
170
+ "defaultValue": "'primary'"
171
+ },
172
+ "size": {
173
+ "type": "string",
174
+ "attribute": "size",
175
+ "mutable": false,
176
+ "complexType": {
177
+ "original": "'small' | 'medium' | 'large'",
178
+ "resolved": "\"large\" | \"medium\" | \"small\"",
179
+ "references": {}
180
+ },
181
+ "required": false,
182
+ "optional": false,
183
+ "docs": {
184
+ "tags": [],
185
+ "text": "The size of the component."
186
+ },
187
+ "getter": false,
188
+ "setter": false,
189
+ "reflect": false,
190
+ "defaultValue": "'medium'"
191
+ },
192
+ "disabled": {
193
+ "type": "boolean",
194
+ "attribute": "disabled",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "boolean",
198
+ "resolved": "boolean",
199
+ "references": {}
200
+ },
201
+ "required": false,
202
+ "optional": false,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": "If `true`, the component is disabled."
206
+ },
207
+ "getter": false,
208
+ "setter": false,
209
+ "reflect": false,
210
+ "defaultValue": "false"
211
+ },
212
+ "href": {
213
+ "type": "string",
214
+ "attribute": "href",
215
+ "mutable": false,
216
+ "complexType": {
217
+ "original": "string",
218
+ "resolved": "string",
219
+ "references": {}
220
+ },
221
+ "required": false,
222
+ "optional": true,
223
+ "docs": {
224
+ "tags": [],
225
+ "text": "The URL to link to when the button is clicked. If provided, the component renders as an `<a>` tag."
226
+ },
227
+ "getter": false,
228
+ "setter": false,
229
+ "reflect": false
230
+ },
231
+ "type": {
232
+ "type": "string",
233
+ "attribute": "type",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "'button' | 'submit' | 'reset'",
237
+ "resolved": "\"button\" | \"reset\" | \"submit\"",
238
+ "references": {}
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": "The type of the button. Only used if `href` is not set.\nCorresponds to the native `type` attribute of a `<button>` element."
245
+ },
246
+ "getter": false,
247
+ "setter": false,
248
+ "reflect": false,
249
+ "defaultValue": "'button'"
250
+ },
251
+ "icon": {
252
+ "type": "any",
253
+ "attribute": "icon",
254
+ "mutable": false,
255
+ "complexType": {
256
+ "original": "any",
257
+ "resolved": "any",
258
+ "references": {}
259
+ },
260
+ "required": false,
261
+ "optional": false,
262
+ "docs": {
263
+ "tags": [],
264
+ "text": "The icon to display. Should be a Carbon icon or similar SVG icon object.\nExpected format: { attrs: {...}, content: [...] }"
265
+ },
266
+ "getter": false,
267
+ "setter": false,
268
+ "reflect": false
269
+ },
270
+ "tooltip": {
271
+ "type": "string",
272
+ "attribute": "tooltip",
273
+ "mutable": false,
274
+ "complexType": {
275
+ "original": "string",
276
+ "resolved": "string",
277
+ "references": {}
278
+ },
279
+ "required": false,
280
+ "optional": true,
281
+ "docs": {
282
+ "tags": [],
283
+ "text": "Tooltip text to display on hover."
284
+ },
285
+ "getter": false,
286
+ "setter": false,
287
+ "reflect": false
288
+ },
289
+ "badgeContent": {
290
+ "type": "number",
291
+ "attribute": "badge-content",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "number",
295
+ "resolved": "number",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": true,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": "If provided, displays a badge with this content over the icon.\nReplaces the old `count` prop from stencil-icon-button.\nMust be a number as required by udp-badge component."
303
+ },
304
+ "getter": false,
305
+ "setter": false,
306
+ "reflect": false
307
+ },
308
+ "ariaLabel": {
309
+ "type": "string",
310
+ "attribute": "aria-label",
311
+ "mutable": false,
312
+ "complexType": {
313
+ "original": "string",
314
+ "resolved": "string",
315
+ "references": {}
316
+ },
317
+ "required": false,
318
+ "optional": true,
319
+ "docs": {
320
+ "tags": [],
321
+ "text": "Optional aria-label for accessibility.\nIf not provided and tooltip exists, tooltip will be used."
322
+ },
323
+ "getter": false,
324
+ "setter": false,
325
+ "reflect": false
326
+ },
327
+ "buttonId": {
328
+ "type": "string",
329
+ "attribute": "button-id",
330
+ "mutable": false,
331
+ "complexType": {
332
+ "original": "string",
333
+ "resolved": "string",
334
+ "references": {}
335
+ },
336
+ "required": false,
337
+ "optional": true,
338
+ "docs": {
339
+ "tags": [],
340
+ "text": "Optional button ID for testing/tracking purposes."
341
+ },
342
+ "getter": false,
343
+ "setter": false,
344
+ "reflect": false
345
+ },
346
+ "iconColor": {
347
+ "type": "string",
348
+ "attribute": "icon-color",
349
+ "mutable": false,
350
+ "complexType": {
351
+ "original": "'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit'",
352
+ "resolved": "\"error\" | \"info\" | \"inherit\" | \"primary\" | \"secondary\" | \"success\" | \"warning\"",
353
+ "references": {}
354
+ },
355
+ "required": false,
356
+ "optional": true,
357
+ "docs": {
358
+ "tags": [],
359
+ "text": "The color of the icon. If not provided, uses the button's color.\nAllows independent control of icon color from button color."
360
+ },
361
+ "getter": false,
362
+ "setter": false,
363
+ "reflect": false
364
+ }
365
+ };
366
+ }
367
+ static get events() {
368
+ return [{
369
+ "method": "click",
370
+ "name": "click",
371
+ "bubbles": true,
372
+ "cancelable": true,
373
+ "composed": true,
374
+ "docs": {
375
+ "tags": [],
376
+ "text": "Emitted when the button is clicked."
377
+ },
378
+ "complexType": {
379
+ "original": "MouseEvent",
380
+ "resolved": "MouseEvent",
381
+ "references": {
382
+ "MouseEvent": {
383
+ "location": "global",
384
+ "id": "global::MouseEvent"
385
+ }
386
+ }
387
+ }
388
+ }];
389
+ }
390
+ static get elementRef() { return "el"; }
391
+ }
392
+ //# sourceMappingURL=udp-icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udp-icon-button.js","sourceRoot":"","sources":["../../../../../../src/components/my-component/UI/buttons/udp-icon-button/udp-icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,OAAO,EAAE,MAAM,eAAe,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,OAAO,aAAa;IAL1B;QAQE;;;;;WAKG;QACK,YAAO,GAAsC,MAAM,CAAC;QAE5D;;;WAGG;QACK,UAAK,GAAmF,SAAS,CAAC;QAE1G;;WAEG;QACK,SAAI,GAAiC,QAAQ,CAAC;QAEtD;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAOlC;;;WAGG;QACK,SAAI,GAAkC,QAAQ,CAAC;QA0C/C,gBAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;KAgIH;IA9HS,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,OAAO,CACL,2BAAS,QAAQ,CAAC,KAAK,IAAE,KAAK,EAAE,QAAQ,cAAc,EAAE,CAAC,IAAI,EAAE,KAC5D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,4BAAU,IAAI,CAAC,KAAK,IAAE,GAAG,EAAE,KAAK,IAAI,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,8BAAY,IAAI,CAAC,KAAK,IAAE,GAAG,EAAE,KAAK,IAAI,CAAC;YAChD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACE,CACP,CAAC;IACJ,CAAC;IAEO,YAAY;;QAClB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAE9D,MAAM,aAAa,GAAG;YACpB,iBAAiB,EAAE,IAAI;YACvB,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;YAC7B,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,WAAW,EAAE,CAAC,CAAC,QAAQ;YACvB,WAAW,EAAE,CAAC,QAAQ;SACvB,CAAC;QAEF,MAAM,aAAa,GAAG,CACpB,cACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,gBACb,SAAS,EACrB,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,EAAE,EAAE,IAAI,CAAC,QAAQ;YAEjB,YAAM,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,UAAU,EAAE,CACb;YACN,QAAQ,IAAI,CACX,YAAM,KAAK,EAAC,OAAO;gBACjB,eAAa,CACR,CACR,CACM,CACV,CAAC;QAEF,8CAA8C;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CACL,iBAAW,OAAO,EAAE,IAAI,CAAC,YAAY,IAClC,aAAa,CACJ,CACb,CAAC;QACJ,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,UAAU;;QAChB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAE9D,MAAM,WAAW,GAAG;YAClB,iBAAiB,EAAE,IAAI;YACvB,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;YAC7B,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,WAAW,EAAE,CAAC,CAAC,QAAQ;YACvB,WAAW,EAAE,CAAC,QAAQ;SACvB,CAAC;QAEF,MAAM,WAAW,GAAG,CAClB,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,WAAW,gBACb,SAAS,EACrB,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,EAAE,EAAE,IAAI,CAAC,QAAQ;YAEjB,YAAM,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,UAAU,EAAE,CACb;YACN,QAAQ,IAAI,CACX,YAAM,KAAK,EAAC,OAAO;gBACjB,eAAa,CACR,CACR,CACC,CACL,CAAC;QAEF,8CAA8C;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CACL,iBAAW,OAAO,EAAE,IAAI,CAAC,YAAY,IAClC,WAAW,CACF,CACb,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM;;QACJ,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CACL,4BAAsB,OAAO,EAAE,IAAI,CAAC,OAAO,IACxC,OAAO,CACa,CACxB,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\n\n/**\n * UdpIconButton is a versatile icon button component that matches the udp-button API.\n * It's designed to replace the deprecated `stencil-icon-button` with better consistency.\n *\n * Key improvements over `stencil-icon-button`:\n * - Consistent API with `udp-button`\n * - Better theming support using global CSS variables\n * - Improved accessibility\n * - Cleaner prop structure\n * - Better TypeScript support\n *\n * Migration from `stencil-icon-button`:\n * - `iconName` → Not needed, use `icon` prop directly\n * - `iconClassName` → Not needed, styling handled by component\n * - `secondary=true` → `variant='text'` or `variant='outlined'`\n * - `noBackground=true` → `variant='text'`\n * - `darkIcon` → Use `color` prop instead\n * - `showLabel` → Use slot content (if content provided, label shows)\n * - `count` → Use `badgeContent` prop\n */\n@Component({\n tag: 'udp-icon-button',\n styleUrl: 'udp-icon-button.css',\n shadow: true,\n})\nexport class UdpIconButton {\n @Element() el: HTMLElement;\n\n /**\n * The variant to use.\n * - `text`: Typically used for less-pronounced actions (replaces noBackground=true).\n * - `outlined`: Emphasizes actions with a border.\n * - `contained`: High-emphasis, distinguished by a background color.\n */\n @Prop() variant: 'text' | 'outlined' | 'contained' = 'text';\n\n /**\n * The color of the component. It supports theming using global CSS variables.\n * `inherit` will inherit the color from its parent.\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit' = 'primary';\n\n /**\n * The size of the component.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * If `true`, the component is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The URL to link to when the button is clicked. If provided, the component renders as an `<a>` tag.\n */\n @Prop() href?: string;\n\n /**\n * The type of the button. Only used if `href` is not set.\n * Corresponds to the native `type` attribute of a `<button>` element.\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * The icon to display. Should be a Carbon icon or similar SVG icon object.\n * Expected format: { attrs: {...}, content: [...] }\n */\n @Prop() icon: any;\n\n /**\n * Tooltip text to display on hover.\n */\n @Prop() tooltip?: string;\n\n /**\n * If provided, displays a badge with this content over the icon.\n * Replaces the old `count` prop from stencil-icon-button.\n * Must be a number as required by udp-badge component.\n */\n @Prop() badgeContent?: number;\n\n /**\n * Emitted when the button is clicked.\n */\n @Event() click: EventEmitter<MouseEvent>;\n\n /**\n * Optional aria-label for accessibility.\n * If not provided and tooltip exists, tooltip will be used.\n */\n @Prop() ariaLabel?: string;\n\n /**\n * Optional button ID for testing/tracking purposes.\n */\n @Prop() buttonId?: string;\n\n /**\n * The color of the icon. If not provided, uses the button's color.\n * Allows independent control of icon color from button color.\n */\n @Prop() iconColor?: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit';\n\n private handleClick = (event: MouseEvent) => {\n if (!this.disabled) {\n this.click.emit(event);\n }\n };\n\n private renderIcon() {\n if (!this.icon) return null;\n\n const iconData = this.icon;\n const iconColorClass = this.iconColor ? `icon-color-${this.iconColor}` : '';\n\n return (\n <svg {...iconData.attrs} class={`icon ${iconColorClass}`.trim()}>\n {iconData.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n } else if (item.elem === 'circle') {\n return <circle {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n );\n }\n\n private renderButton() {\n const hasLabel = this.el.textContent?.trim();\n const ariaLabel = this.ariaLabel || this.tooltip || undefined;\n\n const buttonClasses = {\n 'udp-icon-button': true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n [`size-${this.size}`]: true,\n 'has-label': !!hasLabel,\n 'icon-only': !hasLabel,\n };\n\n const buttonContent = (\n <button\n type={this.type}\n disabled={this.disabled}\n class={buttonClasses}\n onClick={this.handleClick}\n aria-label={ariaLabel}\n title={this.tooltip}\n id={this.buttonId}\n >\n <span class=\"icon-container\">\n {this.renderIcon()}\n </span>\n {hasLabel && (\n <span class=\"label\">\n <slot></slot>\n </span>\n )}\n </button>\n );\n\n // Wrap with badge if badgeContent is provided\n if (this.badgeContent) {\n return (\n <udp-badge content={this.badgeContent}>\n {buttonContent}\n </udp-badge>\n );\n }\n\n return buttonContent;\n }\n\n private renderLink() {\n const hasLabel = this.el.textContent?.trim();\n const ariaLabel = this.ariaLabel || this.tooltip || undefined;\n\n const linkClasses = {\n 'udp-icon-button': true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n [`size-${this.size}`]: true,\n 'has-label': !!hasLabel,\n 'icon-only': !hasLabel,\n };\n\n const linkContent = (\n <a\n href={this.href}\n class={linkClasses}\n onClick={this.handleClick}\n aria-label={ariaLabel}\n title={this.tooltip}\n id={this.buttonId}\n >\n <span class=\"icon-container\">\n {this.renderIcon()}\n </span>\n {hasLabel && (\n <span class=\"label\">\n <slot></slot>\n </span>\n )}\n </a>\n );\n\n // Wrap with badge if badgeContent is provided\n if (this.badgeContent) {\n return (\n <udp-badge content={this.badgeContent}>\n {linkContent}\n </udp-badge>\n );\n }\n\n return linkContent;\n }\n\n render() {\n // Wrap with tooltip if tooltiprovided and no label\n const hasLabel = this.el.textContent?.trim();\n const content = this.href ? this.renderLink() : this.renderButton();\n\n if (this.tooltip && !hasLabel) {\n return (\n <udp-ambient-tool-tip content={this.tooltip}>\n {content}\n </udp-ambient-tool-tip>\n );\n }\n\n return content;\n }\n}\n"]}
@@ -114,20 +114,24 @@ export class StencilField {
114
114
  this.finalFormBlur = () => {
115
115
  var _a;
116
116
  blur();
117
- this.errorMessage = (_a = this.state.api.getFieldState(this.name)) === null || _a === void 0 ? void 0 : _a.error;
117
+ // Preserve custom errors - only use Final Form errors if no custom error exists
118
+ const finalFormError = (_a = this.state.api.getFieldState(this.name)) === null || _a === void 0 ? void 0 : _a.error;
119
+ if (!this.errorMessage) {
120
+ this.errorMessage = finalFormError || '';
121
+ }
118
122
  };
119
123
  this.finalFormChange = event => {
120
124
  change(event);
121
125
  // reset the error on change, error state will be re-evaluated when the blur event is triggered
122
126
  this.errorMessage = '';
123
- // Force re-render to inject cleared error into child components
127
+ // // Force re-render to inject cleared error into child components
124
128
  this.injectPropsIntoSlottedElements();
125
129
  };
126
130
  this.finalFormFocus = focus;
127
131
  this.registered = true;
128
132
  }
129
133
  // update value
130
- this.value = value;
134
+ this.value = value !== null && value !== void 0 ? value : "";
131
135
  }, {
132
136
  value: true,
133
137
  error: false,
@@ -164,6 +168,7 @@ export class StencilField {
164
168
  element.addEventListener('change', this.handleChange.bind(this));
165
169
  element.addEventListener('blur', this.handleBlur.bind(this));
166
170
  element.addEventListener('focus', this.handleFocus.bind(this));
171
+ element.addEventListener('error', this.handleError.bind(this));
167
172
  element.setAttribute('data-field-events-bound', 'true');
168
173
  }
169
174
  });
@@ -264,8 +269,37 @@ export class StencilField {
264
269
  var _a;
265
270
  (_a = this.finalFormBlur) === null || _a === void 0 ? void 0 : _a.call(this, e);
266
271
  }
272
+ handleError(e) {
273
+ var _a, _b;
274
+ // Handle error events from slotted child components
275
+ if (e.detail !== undefined) {
276
+ this.errorMessage = e.detail;
277
+ // Store the custom error in the form's custom errors registry
278
+ if (((_a = this.state) === null || _a === void 0 ? void 0 : _a.registeredFields) && this.name) {
279
+ if (!this.state.customErrors) {
280
+ this.state.customErrors = {};
281
+ }
282
+ this.state.customErrors[this.name] = e.detail;
283
+ // Trigger form validation to include custom errors
284
+ if (this.state.api) {
285
+ // Force re-validation by changing the field value to itself
286
+ const currentValue = (_b = this.state.api.getFieldState(this.name)) === null || _b === void 0 ? void 0 : _b.value;
287
+ this.state.api.change(this.name, currentValue);
288
+ }
289
+ }
290
+ // Force re-render to inject error state
291
+ this.injectPropsIntoSlottedElements();
292
+ }
293
+ }
267
294
  stencilInvalid(e) {
268
- this.finalFormBlur(e);
295
+ // Handle form validation errors
296
+ if (e.detail && this.name && e.detail[this.name]) {
297
+ // Set the error message for this specific field
298
+ this.errorMessage = e.detail[this.name];
299
+ // Force re-render to inject error into child components
300
+ this.injectPropsIntoSlottedElements();
301
+ }
302
+ // Don't call finalFormBlur here as it might overwrite custom errors
269
303
  }
270
304
  render() {
271
305
  if (!this.registered) {
@@ -275,16 +309,6 @@ export class StencilField {
275
309
  return h("slot", null);
276
310
  }
277
311
  static get is() { return "stencil-field"; }
278
- static get originalStyleUrls() {
279
- return {
280
- "$": ["stencil-field.css"]
281
- };
282
- }
283
- static get styleUrls() {
284
- return {
285
- "$": ["stencil-field.css"]
286
- };
287
- }
288
312
  static get properties() {
289
313
  return {
290
314
  "id": {
@@ -1 +1 @@
1
- {"version":3,"file":"stencil-field.js","sourceRoot":"","sources":["../../../../../../src/components/my-component/UI/forms/form/stencil-field.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * StencilField - Form field wrapper component that integrates with Final Form\n *\n * This component acts as a bridge between form input components and Final Form state management.\n * It uses slot-based rendering and property injection to work with any child input component.\n *\n * REQUIREMENTS FOR CHILD COMPONENTS:\n *\n * 1. VALUE HANDLING:\n * - SIMPLE INPUTS: Manage own value state, receive initialValue prop from stencil-field\n * - COMPLEX INPUTS: Same approach - internal value management with initialValue\n * - stencil-field reads values from DOM events or custom events, never directly modifies component value\n *\n * 2. ERROR HANDLING:\n * - Child component should have an @Prop() error: string\n * - Use @Watch('error') to react to validation errors\n *\n * 3. EVENT HANDLERS:\n * - Child component must emit standard DOM events (input, change, blur, focus)\n * - SIMPLE INPUTS: Standard HTML input/textarea that emits native events\n * - COMPLEX INPUTS: Emit CustomEvent with detail containing the value\n *\n * 4. STANDARD FORM PROPS:\n * - @Prop() name: string (for form field identification)\n * - @Prop() id: string (for accessibility)\n * - @Prop() label: string (for field labeling)\n * - @Prop() initialValue: string (for setting initial/default values)\n *\n * EXAMPLE SIMPLE INPUT:\n * ```tsx\n * @Component({ tag: 'simple-input' })\n * export class SimpleInput {\n * @Prop() error: string;\n * @Prop() name: string;\n * @Prop() id: string;\n * @Prop() label: string;\n * @Prop() initialValue: string;\n * @State() value: string;\n *\n * componentWillLoad() {\n * this.value = this.initialValue || '';\n * }\n *\n * private onChange = (e: Event) => {\n * this.value = (e.target as HTMLInputElement).value;\n * }\n *\n * render() {\n * return <input name={this.name} id={this.id} value={this.value} onInput={this.onChange} />;\n * }\n * }\n * ```\n *\n * EXAMPLE COMPLEX INPUT:\n * ```tsx\n * @Component({ tag: 'complex-input' })\n * export class ComplexInput {\n * @Prop() error: string;\n * @Prop() name: string;\n * @Prop() id: string;\n * @Prop() label: string;\n * @Prop() initialValue: string;\n * @State() value: string;\n *\n * componentWillLoad() {\n * this.value = this.initialValue || '';\n * }\n *\n * @Watch('error')\n * updateError() {\n * // Handle error display\n * }\n *\n * private onChange = (newValue: string) => {\n * this.value = newValue; // Update internal state\n * // Emit custom event for stencil-field\n * this.el.dispatchEvent(new CustomEvent('input', {\n * detail: newValue,\n * bubbles: true\n * }));\n * }\n * }\n * ```\n *\n * USAGE:\n * ```tsx\n * <!-- Simple input with initial value -->\n * <stencil-field name=\"email\" label=\"Email\" required>\n * <simple-input />\n * </stencil-field>\n *\n * <!-- Complex component -->\n * <stencil-field name=\"tags\" label=\"Tags\" required>\n * <tag-selector />\n * </stencil-field>\n * ```\n */\nimport { Component, Prop, h, State, Listen, Element, Method } from '@stencil/core';\n\n@Component({\n tag: 'stencil-field',\n styleUrl: 'stencil-field.css',\n shadow: false,\n})\nexport class StencilField {\n @Element() el: HTMLElement;\n @Prop() id: string;\n @Prop() defaultValue: string;\n @Prop() name: string;\n @Prop() label: string;\n @Prop() required: boolean = false;\n @Prop({ mutable: true }) value: string;\n @State() errorMessage: string;\n @State() registered: boolean = false;\n @State() finalFormBlur: (e: Event) => void = () => {};\n @State() finalFormChange: (value: any) => void = () => {};\n @State() finalFormFocus: (e: Event) => void = () => {};\n\n private state: any;\n\n @Method()\n async setFormApi(formApi: any) {\n this.state = formApi;\n this.state.api.registerField(\n this.name,\n fieldState => {\n const { blur, change, focus, value } = fieldState;\n if (!this.state.registeredFields[this.name]) {\n this.state.registeredFields[this.name] = { required: this.required };\n // first time, register event listeners\n\n this.finalFormBlur = () => {\n blur();\n this.errorMessage = this.state.api.getFieldState(this.name)?.error;\n };\n this.finalFormChange = event => {\n change(event);\n // reset the error on change, error state will be re-evaluated when the blur event is triggered\n this.errorMessage = '';\n // Force re-render to inject cleared error into child components\n this.injectPropsIntoSlottedElements();\n };\n this.finalFormFocus = focus;\n this.registered = true;\n }\n\n // update value\n\n this.value = value;\n },\n {\n value: true,\n error: false,\n touched: false,\n },\n );\n }\n\n componentDidRender() {\n this.injectPropsIntoSlottedElements();\n }\n\n componentDidUpdate() {\n this.injectPropsIntoSlottedElements();\n }\n\n private injectPropsIntoSlottedElements() {\n const hasSlottedContent = this.el.children.length > 0;\n\n if (hasSlottedContent) {\n Array.from(this.el.children).forEach((element: any) => {\n // Inject form field props\n // Pass initial value only, don't control the component's value directly\n if (this.value !== undefined && !element.hasAttribute('data-initial-value-set')) {\n element.initialValue = this.value;\n element.setAttribute('data-initial-value-set', 'true');\n }\n\n // Always update error state (including clearing it)\n element.error = this.errorMessage || '';\n\n if (this.name) element.name = this.name;\n if (this.id) element.id = this.id;\n if (this.label) element.label = this.label;\n\n // Set up event handlers if not already bound\n if (!element.hasAttribute('data-field-events-bound')) {\n element.addEventListener('input', this.handleInput.bind(this));\n element.addEventListener('change', this.handleChange.bind(this));\n element.addEventListener('blur', this.handleBlur.bind(this));\n element.addEventListener('focus', this.handleFocus.bind(this));\n element.setAttribute('data-field-events-bound', 'true');\n }\n });\n }\n }\n\n disconnectedCallback() {\n // Clean up the field from the registry when component is unmounted\n if (!this.name) {\n return;\n }\n if (this.state.registeredFields[this.name]) {\n delete this.state.registeredFields[this.name];\n }\n\n // Final Form automatically handles field cleanup when no longer subscribed,\n // but we can also explicitly remove the field value if needed\n try {\n if (this.state.api?.change) {\n this.state.api.change(this.name, undefined);\n }\n } catch (error) {\n // Silently handle any errors during cleanup\n console.debug('Field cleanup warning:', error);\n }\n\n // Reset registration state\n this.registered = false;\n }\n\n @Listen('input')\n handleInput(e: Event) {\n let value;\n\n // Handle custom events from complex components\n if (e instanceof CustomEvent && e.detail !== undefined) {\n value = e.detail;\n } else {\n // Handle standard DOM events - need to find the actual input element\n const target = e.target as HTMLElement;\n\n // If target is a custom component, look for the actual input in its shadow DOM\n if (target.shadowRoot) {\n const input = target.shadowRoot.querySelector('input, textarea, select') as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n if (input) {\n value = input.value;\n }\n }\n // If target is the actual input element\n else if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT') {\n value = (target as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value;\n }\n // Fallback: check if the custom component has a value property\n else if ('value' in target) {\n value = (target as any).value;\n }\n }\n\n if (value !== undefined) {\n this.finalFormChange?.(value);\n }\n }\n\n @Listen('change')\n handleChange(e: Event) {\n let value;\n\n // Handle custom events from complex components\n if (e instanceof CustomEvent && e.detail !== undefined) {\n value = e.detail;\n } else {\n // Handle standard DOM events - need to find the actual input element\n const target = e.target as HTMLElement;\n\n // If target is a custom component, look for the actual input in its shadow DOM\n if (target.shadowRoot) {\n const input = target.shadowRoot.querySelector('input, textarea, select') as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n if (input) {\n value = input.value;\n }\n }\n // If target is the actual input element\n else if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT') {\n value = (target as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value;\n }\n // Fallback: check if the custom component has a value property\n else if ('value' in target) {\n value = (target as any).value;\n }\n }\n\n if (value !== undefined) {\n this.finalFormChange?.(value);\n // For complex components that emit custom events, also trigger blur validation\n if (e instanceof CustomEvent) {\n this.finalFormBlur?.(e);\n }\n }\n }\n\n @Listen('focus')\n handleFocus(e: FocusEvent) {\n this.finalFormFocus?.(e);\n }\n\n @Listen('blur')\n handleBlur(e: FocusEvent) {\n this.finalFormBlur?.(e);\n }\n\n @Listen('stencilFormInvalidEvent', {target: 'body'})\n stencilInvalid(e){\n this.finalFormBlur(e);\n }\n render() {\n if (!this.registered) {\n return null;\n }\n\n // Always use slot-based rendering\n return <slot />;\n }\n}\n"]}
1
+ {"version":3,"file":"stencil-field.js","sourceRoot":"","sources":["../../../../../../src/components/my-component/UI/forms/form/stencil-field.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * StencilField - Form field wrapper component that integrates with Final Form\n *\n * This component acts as a bridge between form input components and Final Form state management.\n * It uses slot-based rendering and property injection to work with any child input component.\n *\n * REQUIREMENTS FOR CHILD COMPONENTS:\n *\n * 1. VALUE HANDLING:\n * - SIMPLE INPUTS: Manage own value state, receive initialValue prop from stencil-field\n * - COMPLEX INPUTS: Same approach - internal value management with initialValue\n * - stencil-field reads values from DOM events or custom events, never directly modifies component value\n *\n * 2. ERROR HANDLING:\n * - Child component should have an @Prop() error: string\n * - Use @Watch('error') to react to validation errors\n *\n * 3. EVENT HANDLERS:\n * - Child component must emit standard DOM events (input, change, blur, focus)\n * - SIMPLE INPUTS: Standard HTML input/textarea that emits native events\n * - COMPLEX INPUTS: Emit CustomEvent with detail containing the value\n *\n * 4. STANDARD FORM PROPS:\n * - @Prop() name: string (for form field identification)\n * - @Prop() id: string (for accessibility)\n * - @Prop() label: string (for field labeling)\n * - @Prop() initialValue: string (for setting initial/default values)\n *\n * EXAMPLE SIMPLE INPUT:\n * ```tsx\n * @Component({ tag: 'simple-input' })\n * export class SimpleInput {\n * @Prop() error: string;\n * @Prop() name: string;\n * @Prop() id: string;\n * @Prop() label: string;\n * @Prop() initialValue: string;\n * @State() value: string;\n *\n * componentWillLoad() {\n * this.value = this.initialValue || '';\n * }\n *\n * private onChange = (e: Event) => {\n * this.value = (e.target as HTMLInputElement).value;\n * }\n *\n * render() {\n * return <input name={this.name} id={this.id} value={this.value} onInput={this.onChange} />;\n * }\n * }\n * ```\n *\n * EXAMPLE COMPLEX INPUT:\n * ```tsx\n * @Component({ tag: 'complex-input' })\n * export class ComplexInput {\n * @Prop() error: string;\n * @Prop() name: string;\n * @Prop() id: string;\n * @Prop() label: string;\n * @Prop() initialValue: string;\n * @State() value: string;\n *\n * componentWillLoad() {\n * this.value = this.initialValue || '';\n * }\n *\n * @Watch('error')\n * updateError() {\n * // Handle error display\n * }\n *\n * private onChange = (newValue: string) => {\n * this.value = newValue; // Update internal state\n * // Emit custom event for stencil-field\n * this.el.dispatchEvent(new CustomEvent('input', {\n * detail: newValue,\n * bubbles: true\n * }));\n * }\n * }\n * ```\n *\n * USAGE:\n * ```tsx\n * <!-- Simple input with initial value -->\n * <stencil-field name=\"email\" label=\"Email\" required>\n * <simple-input />\n * </stencil-field>\n *\n * <!-- Complex component -->\n * <stencil-field name=\"tags\" label=\"Tags\" required>\n * <tag-selector />\n * </stencil-field>\n * ```\n */\nimport { Component, Prop, h, State, Listen, Element, Method } from '@stencil/core';\n\n@Component({\n tag: 'stencil-field',\n shadow: false,\n})\nexport class StencilField {\n @Element() el: HTMLElement;\n @Prop() id: string;\n @Prop() defaultValue: string;\n @Prop() name: string;\n @Prop() label: string;\n @Prop() required: boolean = false;\n @Prop({ mutable: true }) value: string;\n @State() errorMessage: string;\n @State() registered: boolean = false;\n @State() finalFormBlur: (e: Event) => void = () => { };\n @State() finalFormChange: (value: any) => void = () => { };\n @State() finalFormFocus: (e: Event) => void = () => { };\n\n private state: any;\n\n @Method()\n async setFormApi(formApi: any) {\n this.state = formApi;\n this.state.api.registerField(\n this.name,\n fieldState => {\n const { blur, change, focus, value } = fieldState;\n if (!this.state.registeredFields[this.name]) {\n this.state.registeredFields[this.name] = { required: this.required };\n // first time, register event listeners\n\n this.finalFormBlur = () => {\n blur();\n // Preserve custom errors - only use Final Form errors if no custom error exists\n const finalFormError = this.state.api.getFieldState(this.name)?.error;\n if (!this.errorMessage) {\n this.errorMessage = finalFormError || '';\n }\n };\n this.finalFormChange = event => {\n change(event);\n // reset the error on change, error state will be re-evaluated when the blur event is triggered\n this.errorMessage = '';\n // // Force re-render to inject cleared error into child components\n this.injectPropsIntoSlottedElements();\n };\n this.finalFormFocus = focus;\n this.registered = true;\n }\n\n // update value\n\n this.value = value ?? \"\";\n },\n {\n value: true,\n error: false,\n touched: false,\n },\n );\n }\n\n componentDidRender() {\n this.injectPropsIntoSlottedElements();\n }\n\n componentDidUpdate() {\n this.injectPropsIntoSlottedElements();\n }\n\n private injectPropsIntoSlottedElements() {\n const hasSlottedContent = this.el.children.length > 0;\n\n if (hasSlottedContent) {\n Array.from(this.el.children).forEach((element: any) => {\n // Inject form field props\n // Pass initial value only, don't control the component's value directly\n if (this.value !== undefined && !element.hasAttribute('data-initial-value-set')) {\n element.initialValue = this.value;\n element.setAttribute('data-initial-value-set', 'true');\n }\n\n // Always update error state (including clearing it)\n element.error = this.errorMessage || '';\n\n if (this.name) element.name = this.name;\n if (this.id) element.id = this.id;\n if (this.label) element.label = this.label;\n\n // Set up event handlers if not already bound\n if (!element.hasAttribute('data-field-events-bound')) {\n element.addEventListener('input', this.handleInput.bind(this));\n element.addEventListener('change', this.handleChange.bind(this));\n element.addEventListener('blur', this.handleBlur.bind(this));\n element.addEventListener('focus', this.handleFocus.bind(this));\n element.addEventListener('error', this.handleError.bind(this));\n element.setAttribute('data-field-events-bound', 'true');\n }\n });\n }\n }\n\n disconnectedCallback() {\n // Clean up the field from the registry when component is unmounted\n if (!this.name) {\n return;\n }\n if (this.state.registeredFields[this.name]) {\n delete this.state.registeredFields[this.name];\n }\n\n // Final Form automatically handles field cleanup when no longer subscribed,\n // but we can also explicitly remove the field value if needed\n try {\n if (this.state.api?.change) {\n this.state.api.change(this.name, undefined);\n }\n } catch (error) {\n // Silently handle any errors during cleanup\n console.debug('Field cleanup warning:', error);\n }\n\n // Reset registration state\n this.registered = false;\n }\n\n @Listen('input')\n handleInput(e: Event) {\n let value;\n\n // Handle custom events from complex components\n if (e instanceof CustomEvent && e.detail !== undefined) {\n value = e.detail;\n } else {\n // Handle standard DOM events - need to find the actual input element\n const target = e.target as HTMLElement;\n\n // If target is a custom component, look for the actual input in its shadow DOM\n if (target.shadowRoot) {\n const input = target.shadowRoot.querySelector('input, textarea, select') as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n if (input) {\n value = input.value;\n }\n }\n // If target is the actual input element\n else if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT') {\n value = (target as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value;\n }\n // Fallback: check if the custom component has a value property\n else if ('value' in target) {\n value = (target as any).value;\n }\n }\n\n if (value !== undefined) {\n this.finalFormChange?.(value);\n }\n }\n\n @Listen('change')\n handleChange(e: Event) {\n let value;\n\n // Handle custom events from complex components\n if (e instanceof CustomEvent && e.detail !== undefined) {\n value = e.detail;\n } else {\n // Handle standard DOM events - need to find the actual input element\n const target = e.target as HTMLElement;\n\n // If target is a custom component, look for the actual input in its shadow DOM\n if (target.shadowRoot) {\n const input = target.shadowRoot.querySelector('input, textarea, select') as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n if (input) {\n value = input.value;\n }\n }\n // If target is the actual input element\n else if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT') {\n value = (target as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value;\n }\n // Fallback: check if the custom component has a value property\n else if ('value' in target) {\n value = (target as any).value;\n }\n }\n\n if (value !== undefined) {\n this.finalFormChange?.(value);\n // For complex components that emit custom events, also trigger blur validation\n if (e instanceof CustomEvent) {\n this.finalFormBlur?.(e);\n }\n }\n }\n\n @Listen('focus')\n handleFocus(e: FocusEvent) {\n this.finalFormFocus?.(e);\n }\n\n @Listen('blur')\n handleBlur(e: FocusEvent) {\n this.finalFormBlur?.(e);\n }\n\n handleError(e: CustomEvent) {\n // Handle error events from slotted child components\n if (e.detail !== undefined) {\n this.errorMessage = e.detail;\n\n // Store the custom error in the form's custom errors registry\n if (this.state?.registeredFields && this.name) {\n if (!this.state.customErrors) {\n this.state.customErrors = {};\n }\n this.state.customErrors[this.name] = e.detail;\n\n // Trigger form validation to include custom errors\n if (this.state.api) {\n // Force re-validation by changing the field value to itself\n const currentValue = this.state.api.getFieldState(this.name)?.value;\n this.state.api.change(this.name, currentValue);\n }\n }\n\n // Force re-render to inject error state\n this.injectPropsIntoSlottedElements();\n }\n }\n\n @Listen('stencilFormInvalidEvent', { target: 'body' })\n stencilInvalid(e: CustomEvent) {\n // Handle form validation errors\n if (e.detail && this.name && e.detail[this.name]) {\n // Set the error message for this specific field\n this.errorMessage = e.detail[this.name];\n // Force re-render to inject error into child components\n this.injectPropsIntoSlottedElements();\n }\n // Don't call finalFormBlur here as it might overwrite custom errors\n }\n render() {\n if (!this.registered) {\n return null;\n }\n\n // Always use slot-based rendering\n return <slot />;\n }\n}\n"]}