@vertigis/workflow 5.35.1 → 5.37.0

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 (526) hide show
  1. package/Activator.d.ts +25 -25
  2. package/Collections.d.ts +83 -91
  3. package/EnumUtils.d.ts +28 -28
  4. package/Errors.d.ts +155 -155
  5. package/Hooks.d.ts +32 -32
  6. package/IActivityHandler.d.ts +101 -106
  7. package/LanguageStringUtils.d.ts +16 -17
  8. package/LanguageStringUtils.js +1 -1
  9. package/ProgramInspectorFacility.d.ts +23 -24
  10. package/Task.d.ts +56 -56
  11. package/TemplateUtils.d.ts +28 -28
  12. package/Validation.d.ts +151 -26
  13. package/Validation.js +1 -1
  14. package/activities/app/GetApplicationData.d.ts +15 -12
  15. package/activities/app/GetApplicationData.js +1 -1
  16. package/activities/app/GetApplicationInfo.d.ts +15 -15
  17. package/activities/app/GetUserInfo.d.ts +15 -15
  18. package/activities/app/PublishEvent.d.ts +14 -14
  19. package/activities/app/RemoveApplicationData.d.ts +14 -11
  20. package/activities/app/RemoveApplicationData.js +1 -1
  21. package/activities/app/RunCommand.d.ts +17 -17
  22. package/activities/app/RunOperation.d.ts +25 -25
  23. package/activities/app/SetApplicationData.d.ts +13 -10
  24. package/activities/app/SetApplicationData.js +1 -1
  25. package/activities/app/applicationData.d.ts +12 -0
  26. package/activities/app/applicationData.js +1 -0
  27. package/activities/arcgis/AddAttachment.d.ts +22 -22
  28. package/activities/arcgis/AddAttachment.js +1 -1
  29. package/activities/arcgis/AddFeatureLayer.d.ts +23 -23
  30. package/activities/arcgis/AddFeatureLayer.js +1 -1
  31. package/activities/arcgis/AddFeatures.d.ts +27 -27
  32. package/activities/arcgis/AddFeatures.js +1 -1
  33. package/activities/arcgis/AddGraphics.d.ts +27 -27
  34. package/activities/arcgis/AddGraphics.js +1 -1
  35. package/activities/arcgis/ArcadeScript.d.ts +17 -18
  36. package/activities/arcgis/ArcadeScript.js +1 -1
  37. package/activities/arcgis/AreaEngineTask.d.ts +20 -20
  38. package/activities/arcgis/AreaEngineTask.js +1 -1
  39. package/activities/arcgis/BufferEngineTask.d.ts +27 -27
  40. package/activities/arcgis/BufferEngineTask.js +1 -1
  41. package/activities/arcgis/BufferServiceTask.d.ts +33 -33
  42. package/activities/arcgis/BufferServiceTask.js +1 -1
  43. package/activities/arcgis/CastGeometry.d.ts +23 -23
  44. package/activities/arcgis/ClearGraphics.d.ts +12 -12
  45. package/activities/arcgis/ClearGraphics.js +1 -1
  46. package/activities/arcgis/ClipEngineTask.d.ts +18 -18
  47. package/activities/arcgis/ClipEngineTask.js +1 -1
  48. package/activities/arcgis/ClosestFacilityTask.d.ts +90 -90
  49. package/activities/arcgis/ClosestFacilityTask.js +1 -1
  50. package/activities/arcgis/CompareGeometries.d.ts +19 -19
  51. package/activities/arcgis/CompareGeometries.js +1 -1
  52. package/activities/arcgis/ConvertValueToArcGisFieldType.d.ts +13 -0
  53. package/activities/arcgis/ConvertValueToArcGisFieldType.js +1 -0
  54. package/activities/arcgis/CreateFeatureSet.d.ts +16 -16
  55. package/activities/arcgis/CreateFeatureSet.js +1 -1
  56. package/activities/arcgis/CreateGraphic.d.ts +17 -17
  57. package/activities/arcgis/CreateGraphic.js +1 -1
  58. package/activities/arcgis/CreatePoint.d.ts +17 -17
  59. package/activities/arcgis/CutEngineTask.d.ts +18 -18
  60. package/activities/arcgis/CutEngineTask.js +1 -1
  61. package/activities/arcgis/DeleteAttachments.d.ts +22 -22
  62. package/activities/arcgis/DeleteAttachments.js +1 -1
  63. package/activities/arcgis/DeleteFeatures.d.ts +30 -30
  64. package/activities/arcgis/DeleteFeatures.js +1 -1
  65. package/activities/arcgis/DensifyEngineTask.d.ts +20 -20
  66. package/activities/arcgis/DensifyEngineTask.js +1 -1
  67. package/activities/arcgis/DifferenceEngineTask.d.ts +23 -23
  68. package/activities/arcgis/DifferenceEngineTask.js +1 -1
  69. package/activities/arcgis/DistanceEngineTask.d.ts +20 -20
  70. package/activities/arcgis/DistanceEngineTask.js +1 -1
  71. package/activities/arcgis/DistanceServiceTask.d.ts +24 -24
  72. package/activities/arcgis/DistanceServiceTask.js +1 -1
  73. package/activities/arcgis/ExtendedSpatialReferenceInfoEngineTask.d.ts +17 -17
  74. package/activities/arcgis/FeatureSetFromJson.d.ts +16 -16
  75. package/activities/arcgis/FeatureTableMap.d.ts +12 -12
  76. package/activities/arcgis/FlipEngineTask.d.ts +21 -21
  77. package/activities/arcgis/FlipEngineTask.js +1 -1
  78. package/activities/arcgis/FromGeoCoordinateStringServiceTask.d.ts +24 -24
  79. package/activities/arcgis/GeneralizeEngineTask.d.ts +22 -22
  80. package/activities/arcgis/GeneralizeEngineTask.js +1 -1
  81. package/activities/arcgis/GenerateArcGisToken.d.ts +23 -23
  82. package/activities/arcgis/GenerateWebmapForReport.d.ts +20 -20
  83. package/activities/arcgis/GenerateWebmapForReport.js +1 -1
  84. package/activities/arcgis/Geocode.d.ts +37 -38
  85. package/activities/arcgis/Geocode.js +1 -1
  86. package/activities/arcgis/GeometryFromJson.d.ts +16 -16
  87. package/activities/arcgis/Geoprocessing.d.ts +25 -26
  88. package/activities/arcgis/Geoprocessing.js +1 -1
  89. package/activities/arcgis/GeoprocessingAsync.d.ts +36 -37
  90. package/activities/arcgis/GeoprocessingAsync.js +1 -1
  91. package/activities/arcgis/GetAttributeValue.d.ts +22 -22
  92. package/activities/arcgis/GetAttributeValues.d.ts +20 -20
  93. package/activities/arcgis/GetCentroid.d.ts +16 -16
  94. package/activities/arcgis/GetCodedValueDomain.d.ts +29 -29
  95. package/activities/arcgis/GetCodedValueDomain.js +1 -1
  96. package/activities/arcgis/GetCurrentPosition.d.ts +46 -46
  97. package/activities/arcgis/GetFeatureGeometries.d.ts +20 -20
  98. package/activities/arcgis/GetFeatureGeometry.d.ts +18 -18
  99. package/activities/arcgis/GetFeatureLayerInfo.d.ts +22 -22
  100. package/activities/arcgis/GetFeatureLayerInfo.js +1 -1
  101. package/activities/arcgis/GetFeatureSetExtent.d.ts +18 -18
  102. package/activities/arcgis/GetFeatureSetObjectIds.d.ts +20 -20
  103. package/activities/arcgis/GetFormElementItemsFromFeatures.d.ts +49 -50
  104. package/activities/arcgis/GetFormElementItemsFromFeatures.js +1 -1
  105. package/activities/arcgis/GetGeometryExtent.d.ts +17 -17
  106. package/activities/arcgis/GetGraphics.d.ts +19 -19
  107. package/activities/arcgis/GetGraphics.js +1 -1
  108. package/activities/arcgis/GetLayer.d.ts +21 -21
  109. package/activities/arcgis/GetLayer.js +1 -1
  110. package/activities/arcgis/GetLayerDefinitionExpression.d.ts +18 -18
  111. package/activities/arcgis/GetLayerDefinitionExpression.js +1 -1
  112. package/activities/arcgis/GetLayerProperty.d.ts +18 -18
  113. package/activities/arcgis/GetLayerProperty.js +1 -1
  114. package/activities/arcgis/GetLayerVisibility.d.ts +18 -18
  115. package/activities/arcgis/GetLayerVisibility.js +1 -1
  116. package/activities/arcgis/GetMap.d.ts +11 -11
  117. package/activities/arcgis/GetMap.js +1 -1
  118. package/activities/arcgis/GetMapScreenshot.d.ts +18 -18
  119. package/activities/arcgis/GetPortalUser.d.ts +20 -20
  120. package/activities/arcgis/GetTable.d.ts +18 -18
  121. package/activities/arcgis/GetTable.js +1 -1
  122. package/activities/arcgis/GetViewExtent.d.ts +16 -16
  123. package/activities/arcgis/GetViewExtent.js +1 -1
  124. package/activities/arcgis/GetViewpoint.d.ts +12 -12
  125. package/activities/arcgis/GetViewpoint.js +1 -1
  126. package/activities/arcgis/IntersectEngineTask.d.ts +20 -20
  127. package/activities/arcgis/IntersectEngineTask.js +1 -1
  128. package/activities/arcgis/LabelPointsServiceTask.d.ts +18 -18
  129. package/activities/arcgis/LengthEngineTask.d.ts +20 -20
  130. package/activities/arcgis/LengthEngineTask.js +1 -1
  131. package/activities/arcgis/MapProvider.d.ts +133 -132
  132. package/activities/arcgis/MapProvider.js +1 -1
  133. package/activities/arcgis/NearestCoordinateEngineTask.d.ts +26 -26
  134. package/activities/arcgis/NearestVertexEngineTask.d.ts +26 -26
  135. package/activities/arcgis/NearestVertexEngineTask.js +1 -1
  136. package/activities/arcgis/NearestVerticesEngineTask.d.ts +34 -34
  137. package/activities/arcgis/NearestVerticesEngineTask.js +1 -1
  138. package/activities/arcgis/OffsetEngineTask.d.ts +25 -25
  139. package/activities/arcgis/OffsetEngineTask.js +1 -1
  140. package/activities/arcgis/ProjectServiceTask.d.ts +27 -27
  141. package/activities/arcgis/ProjectServiceTask.js +1 -1
  142. package/activities/arcgis/QueryAttachmentInfos.d.ts +21 -21
  143. package/activities/arcgis/QueryAttachmentInfos.js +1 -1
  144. package/activities/arcgis/QueryTask.d.ts +77 -77
  145. package/activities/arcgis/QueryTask.js +1 -1
  146. package/activities/arcgis/RefreshLayer.d.ts +12 -12
  147. package/activities/arcgis/RegisterCorsUrl.d.ts +21 -21
  148. package/activities/arcgis/RelateEngineTask.d.ts +22 -22
  149. package/activities/arcgis/RelateEngineTask.js +1 -1
  150. package/activities/arcgis/RelationServiceTask.d.ts +29 -29
  151. package/activities/arcgis/RelationServiceTask.js +1 -1
  152. package/activities/arcgis/RelationshipQueryTask.d.ts +37 -38
  153. package/activities/arcgis/RelationshipQueryTask.js +1 -1
  154. package/activities/arcgis/RemoveFeatureSetFields.d.ts +22 -22
  155. package/activities/arcgis/RemoveFeatureSetFields.js +1 -1
  156. package/activities/arcgis/RemoveGraphics.d.ts +14 -14
  157. package/activities/arcgis/RemoveGraphics.js +1 -1
  158. package/activities/arcgis/RemoveLayer.d.ts +16 -16
  159. package/activities/arcgis/RemoveLayer.js +1 -1
  160. package/activities/arcgis/RendererFromJson.d.ts +16 -16
  161. package/activities/arcgis/ReshapeServiceTask.d.ts +20 -20
  162. package/activities/arcgis/ReverseGeocode.d.ts +31 -31
  163. package/activities/arcgis/ReverseGeocode.js +1 -1
  164. package/activities/arcgis/RotateEngineTask.d.ts +20 -20
  165. package/activities/arcgis/RotateEngineTask.js +1 -1
  166. package/activities/arcgis/RouteTask.d.ts +91 -91
  167. package/activities/arcgis/RouteTask.js +1 -1
  168. package/activities/arcgis/RunPrint.d.ts +33 -34
  169. package/activities/arcgis/RunPrint.js +1 -1
  170. package/activities/arcgis/RunReport.d.ts +37 -38
  171. package/activities/arcgis/RunReport.js +1 -1
  172. package/activities/arcgis/RunWorkflow.d.ts +51 -52
  173. package/activities/arcgis/SendLayerToAttributeTable.d.ts +10 -10
  174. package/activities/arcgis/ServiceAreaTask.d.ts +87 -87
  175. package/activities/arcgis/ServiceAreaTask.js +1 -1
  176. package/activities/arcgis/SetFeatureAttribute.d.ts +15 -15
  177. package/activities/arcgis/SetFeatureGeometry.d.ts +13 -13
  178. package/activities/arcgis/SetFeaturePopup.d.ts +12 -12
  179. package/activities/arcgis/SetFeatureSymbol.d.ts +13 -13
  180. package/activities/arcgis/SetImageryLayerOptions.d.ts +27 -27
  181. package/activities/arcgis/SetImageryLayerOptions.js +1 -1
  182. package/activities/arcgis/SetLayerDefinitionExpression.d.ts +21 -21
  183. package/activities/arcgis/SetLayerDefinitionExpression.js +1 -1
  184. package/activities/arcgis/SetLayerPopup.d.ts +12 -12
  185. package/activities/arcgis/SetLayerPopup.js +1 -1
  186. package/activities/arcgis/SetLayerProperty.d.ts +23 -23
  187. package/activities/arcgis/SetLayerProperty.js +1 -1
  188. package/activities/arcgis/SetLayerVisibility.d.ts +23 -23
  189. package/activities/arcgis/SetLayerVisibility.js +1 -1
  190. package/activities/arcgis/SetMap.d.ts +14 -14
  191. package/activities/arcgis/SetViewExtent.d.ts +27 -27
  192. package/activities/arcgis/SetViewExtent.js +1 -1
  193. package/activities/arcgis/SetViewpoint.d.ts +23 -23
  194. package/activities/arcgis/SetViewpoint.js +1 -1
  195. package/activities/arcgis/ShowFeaturePopup.d.ts +11 -11
  196. package/activities/arcgis/ShowFeaturePopup.js +1 -1
  197. package/activities/arcgis/ShowResults.d.ts +51 -51
  198. package/activities/arcgis/SimplifyEngineTask.d.ts +15 -15
  199. package/activities/arcgis/SimplifyEngineTask.js +1 -1
  200. package/activities/arcgis/SortFeatureSet.d.ts +20 -20
  201. package/activities/arcgis/SymbolFromJson.d.ts +16 -16
  202. package/activities/arcgis/ToGeoCoordinateStringServiceTask.d.ts +30 -30
  203. package/activities/arcgis/TypeChecking.d.ts +46 -46
  204. package/activities/arcgis/UnionEngineTask.d.ts +19 -19
  205. package/activities/arcgis/UnionEngineTask.js +1 -1
  206. package/activities/arcgis/UnionServiceTask.d.ts +20 -20
  207. package/activities/arcgis/UpdateAttachment.d.ts +29 -29
  208. package/activities/arcgis/UpdateAttachment.js +1 -1
  209. package/activities/arcgis/UpdateFeatures.d.ts +27 -27
  210. package/activities/arcgis/UpdateFeatures.js +1 -1
  211. package/activities/arcgis/libs/arcGisRestApi.d.ts +18 -25
  212. package/activities/arcgis/runUtils.d.ts +93 -93
  213. package/activities/arcgis/shared.d.ts +61 -61
  214. package/activities/arcgis/tools.d.ts +42 -49
  215. package/activities/arcgis/tools.js +1 -1
  216. package/activities/browser/GetBrowserInfo.d.ts +13 -13
  217. package/activities/browser/InjectCss.d.ts +11 -11
  218. package/activities/constants.d.ts +19 -19
  219. package/activities/core/AddItem.d.ts +12 -12
  220. package/activities/core/AddItems.d.ts +12 -12
  221. package/activities/core/Annotation.d.ts +8 -8
  222. package/activities/core/Cast.d.ts +16 -16
  223. package/activities/core/ChannelProvider.d.ts +89 -90
  224. package/activities/core/ChannelProvider.js +1 -1
  225. package/activities/core/ClearItems.d.ts +10 -10
  226. package/activities/core/Container.d.ts +7 -7
  227. package/activities/core/ConvertBytesToText.d.ts +14 -14
  228. package/activities/core/ConvertDataTableToFeatureSet.d.ts +12 -12
  229. package/activities/core/ConvertTextToBytes.d.ts +14 -14
  230. package/activities/core/ConvertToJson.d.ts +16 -16
  231. package/activities/core/ConvertToJson.js +1 -1
  232. package/activities/core/CreateFile.d.ts +18 -18
  233. package/activities/core/CreateValue.d.ts +21 -21
  234. package/activities/core/DecodeUriComponent.d.ts +14 -14
  235. package/activities/core/Delay.d.ts +18 -18
  236. package/activities/core/EncodeUriComponent.d.ts +14 -14
  237. package/activities/core/Evaluate.d.ts +18 -18
  238. package/activities/core/EvaluateAsync.d.ts +18 -18
  239. package/activities/core/Exit.d.ts +7 -7
  240. package/activities/core/ForEach.d.ts +25 -26
  241. package/activities/core/FormatDate.d.ts +23 -23
  242. package/activities/core/GetBase64StringFromBytes.d.ts +15 -15
  243. package/activities/core/GetBase64StringFromFile.d.ts +15 -15
  244. package/activities/core/GetBytesFromBase64String.d.ts +15 -15
  245. package/activities/core/GetFirstItem.d.ts +14 -14
  246. package/activities/core/GetItemAtIndex.d.ts +15 -15
  247. package/activities/core/GetLastItem.d.ts +14 -14
  248. package/activities/core/GetLogLevel.d.ts +9 -9
  249. package/activities/core/GetTextFromFile.d.ts +16 -16
  250. package/activities/core/GetWorkflowInputs.d.ts +12 -12
  251. package/activities/core/If.d.ts +18 -18
  252. package/activities/core/Log.d.ts +14 -14
  253. package/activities/core/Log.js +1 -1
  254. package/activities/core/Loop.d.ts +27 -27
  255. package/activities/core/Loop.js +1 -1
  256. package/activities/core/ParseJson.d.ts +16 -16
  257. package/activities/core/ParseNumber.d.ts +12 -12
  258. package/activities/core/ParseUrl.d.ts +24 -25
  259. package/activities/core/ParseUrl.js +1 -1
  260. package/activities/core/Placeholder.d.ts +6 -6
  261. package/activities/core/RegexMatches.d.ts +17 -17
  262. package/activities/core/RegexReplace.d.ts +18 -18
  263. package/activities/core/RemoveItem.d.ts +14 -14
  264. package/activities/core/RunActivity.d.ts +12 -13
  265. package/activities/core/RunSubworkflow.d.ts +14 -15
  266. package/activities/core/SetLogLevel.d.ts +9 -9
  267. package/activities/core/SetProperty.d.ts +15 -15
  268. package/activities/core/SetWorkflowOutput.d.ts +12 -12
  269. package/activities/core/Subworkflow.d.ts +14 -15
  270. package/activities/core/Switch.d.ts +19 -19
  271. package/activities/core/TextReplace.d.ts +16 -16
  272. package/activities/core/Throw.d.ts +12 -12
  273. package/activities/core/TryCatch.d.ts +12 -12
  274. package/activities/core/WebRequest.d.ts +49 -50
  275. package/activities/core/WebRequest.js +1 -1
  276. package/activities/core/converters.d.ts +10 -10
  277. package/activities/csv/ConvertCsvToDataTable.d.ts +15 -15
  278. package/activities/csv/ConvertDataTableToCsv.d.ts +15 -15
  279. package/activities/essentials/GetEssentialsSite.d.ts +225 -225
  280. package/activities/essentials/RunEssentialsWorkflow.d.ts +25 -26
  281. package/activities/essentials/RunEssentialsWorkflow.js +1 -1
  282. package/activities/essentials/RunEssentialsWorkflowActivity.d.ts +17 -18
  283. package/activities/forms/ActivateFormElement.d.ts +13 -13
  284. package/activities/forms/ActivateFormElement.js +1 -1
  285. package/activities/forms/AddFormElement.d.ts +18 -18
  286. package/activities/forms/ClearFormElementError.d.ts +13 -13
  287. package/activities/forms/ClearFormElementError.js +1 -1
  288. package/activities/forms/CompleteForm.d.ts +11 -11
  289. package/activities/forms/DisplayForm.d.ts +48 -49
  290. package/activities/forms/DisplayForm.js +1 -1
  291. package/activities/forms/Errors.d.ts +18 -18
  292. package/activities/forms/FilterFormElementItems.d.ts +16 -16
  293. package/activities/forms/FormElementMap.d.ts +13 -13
  294. package/activities/forms/FormRenderer.d.ts +139 -134
  295. package/activities/forms/FormRenderer.js +1 -1
  296. package/activities/forms/GetFormElementItemsFromCollection.d.ts +49 -50
  297. package/activities/forms/GetFormElementItemsFromCollection.js +1 -1
  298. package/activities/forms/GetFormElementProperty.d.ts +19 -19
  299. package/activities/forms/GetFormElementValue.d.ts +17 -17
  300. package/activities/forms/GetFormEventData.d.ts +17 -17
  301. package/activities/forms/HideFormElement.d.ts +13 -13
  302. package/activities/forms/HideFormElement.js +1 -1
  303. package/activities/forms/PropagateFormEvent.d.ts +10 -10
  304. package/activities/forms/SetCurrentFormElementItem.d.ts +18 -18
  305. package/activities/forms/SetCurrentFormElementItem.js +1 -1
  306. package/activities/forms/SetFormElementError.d.ts +17 -17
  307. package/activities/forms/SetFormElementError.js +1 -1
  308. package/activities/forms/SetFormElementEvent.d.ts +18 -18
  309. package/activities/forms/SetFormElementItemProperty.d.ts +34 -21
  310. package/activities/forms/SetFormElementItemProperty.js +1 -1
  311. package/activities/forms/SetFormElementItems.d.ts +18 -19
  312. package/activities/forms/SetFormElementItems.js +1 -1
  313. package/activities/forms/SetFormElementProperty.d.ts +32 -19
  314. package/activities/forms/SetFormElementProperty.js +1 -1
  315. package/activities/forms/ShowFormElement.d.ts +15 -15
  316. package/activities/forms/ShowFormElement.js +1 -1
  317. package/activities/image/GetImageMetadata.d.ts +16 -16
  318. package/activities/image/RotateImage.d.ts +15 -15
  319. package/activities/index.d.ts +4 -2
  320. package/activities/index.js +1 -1
  321. package/activities/main.d.ts +1 -1
  322. package/activities/math/Abs.d.ts +14 -14
  323. package/activities/math/Cos.d.ts +14 -14
  324. package/activities/math/Max.d.ts +16 -16
  325. package/activities/math/Min.d.ts +16 -16
  326. package/activities/math/Pow.d.ts +15 -15
  327. package/activities/math/Random.d.ts +10 -10
  328. package/activities/math/Sin.d.ts +14 -14
  329. package/activities/math/Sqrt.d.ts +14 -14
  330. package/activities/math/Tan.d.ts +14 -14
  331. package/activities/pdf/AddGeoreferenceToPdf.d.ts +19 -19
  332. package/activities/pdf/AddImageToPdf.d.ts +63 -0
  333. package/activities/pdf/AddImageToPdf.js +1 -0
  334. package/activities/pdf/AddTextToPdf.d.ts +59 -0
  335. package/activities/pdf/AddTextToPdf.js +1 -0
  336. package/activities/pdf/CreatePdf.d.ts +49 -0
  337. package/activities/pdf/CreatePdf.js +1 -0
  338. package/activities/pdf/ExtractPdfPages.d.ts +17 -17
  339. package/activities/pdf/MergePdfs.d.ts +15 -15
  340. package/activities/server/CopyFile.d.ts +10 -10
  341. package/activities/server/CreateDirectory.d.ts +9 -9
  342. package/activities/server/CreateDownload.d.ts +18 -18
  343. package/activities/server/CreateEmailAttachment.d.ts +16 -16
  344. package/activities/server/CreateZipFromDirectory.d.ts +12 -12
  345. package/activities/server/DeleteDirectory.d.ts +9 -9
  346. package/activities/server/DeleteFile.d.ts +9 -9
  347. package/activities/server/DirectoryExists.d.ts +13 -13
  348. package/activities/server/ExtractZipToDirectory.d.ts +11 -11
  349. package/activities/server/FileExists.d.ts +13 -13
  350. package/activities/server/GetDirectoriesInDirectory.d.ts +14 -14
  351. package/activities/server/GetFilesInDirectory.d.ts +14 -14
  352. package/activities/server/MoveFile.d.ts +10 -10
  353. package/activities/server/ReadFile.d.ts +14 -14
  354. package/activities/server/ReadFileBytes.d.ts +13 -13
  355. package/activities/server/RunApplication.d.ts +22 -22
  356. package/activities/server/RunPython.d.ts +23 -23
  357. package/activities/server/SendEmail.d.ts +16 -16
  358. package/activities/server/SqlNonQuery.d.ts +18 -18
  359. package/activities/server/SqlQuery.d.ts +18 -18
  360. package/activities/server/SqlQueryUnsafe.d.ts +18 -18
  361. package/activities/server/WriteFile.d.ts +11 -11
  362. package/activities/server/WriteFileBytes.d.ts +10 -10
  363. package/activities/ui/Alert.d.ts +17 -17
  364. package/activities/ui/Confirm.d.ts +24 -24
  365. package/activities/ui/Prompt.d.ts +26 -26
  366. package/activities/wab/OpenWidget.d.ts +10 -10
  367. package/activities/wab/PublishWidgetData.d.ts +11 -11
  368. package/activities/xlsx/ConvertDataTableToXlsx.d.ts +15 -15
  369. package/activities/xlsx/ConvertXlsxToDataSet.d.ts +15 -15
  370. package/constants.d.ts +2 -2
  371. package/definition/Activity.d.ts +12 -13
  372. package/definition/ActivityInput.d.ts +31 -31
  373. package/definition/Component.d.ts +10 -10
  374. package/definition/DeploymentConfig.d.ts +4 -5
  375. package/definition/Form.d.ts +5 -5
  376. package/definition/Program.d.ts +29 -30
  377. package/definition/ProgramInspector.d.ts +290 -288
  378. package/definition/ProgramInspector.js +1 -1
  379. package/definition/Reference.d.ts +11 -11
  380. package/definition/Resource.d.ts +26 -26
  381. package/definition/Step.d.ts +9 -9
  382. package/definition/Transition.d.ts +17 -17
  383. package/diagnostics/ConsoleDebugLogger.d.ts +10 -10
  384. package/diagnostics/logging.d.ts +5 -5
  385. package/execution/ActivityLoader.d.ts +23 -24
  386. package/execution/ActivityLoader.js +1 -1
  387. package/execution/Engine.d.ts +84 -85
  388. package/execution/Engine.js +1 -1
  389. package/execution/IDebugSession.d.ts +43 -44
  390. package/execution/ModuleLoader.d.ts +42 -42
  391. package/execution/ModuleLoader.js +1 -1
  392. package/execution/ProgramRunner.d.ts +1 -1
  393. package/execution/ProgramRunner.js +1 -1
  394. package/forms/Calendar.d.ts +89 -89
  395. package/forms/ExclusiveTimer.d.ts +13 -13
  396. package/forms/FormComponent.d.ts +47 -30
  397. package/forms/FormComponent.js +1 -1
  398. package/forms/FormDefinition.d.ts +451 -457
  399. package/forms/FormElement.d.ts +24 -59
  400. package/forms/FormElement.js +1 -1
  401. package/forms/FormHost.d.ts +225 -233
  402. package/forms/FormHost.js +1 -1
  403. package/forms/FormPresenterHost.d.ts +62 -76
  404. package/forms/MutuallyExclusiveSectionGroup.d.ts +41 -41
  405. package/forms/NumberParser.d.ts +27 -25
  406. package/forms/NumberParser.js +1 -1
  407. package/forms/common.d.ts +67 -62
  408. package/forms/common.js +1 -1
  409. package/forms/components/AccordionGroup.d.ts +15 -15
  410. package/forms/components/AutoComplete.d.ts +8 -7
  411. package/forms/components/AutoComplete.js +1 -1
  412. package/forms/components/ButtonBar.d.ts +8 -13
  413. package/forms/components/ButtonBar.js +1 -1
  414. package/forms/components/CheckBox.d.ts +7 -7
  415. package/forms/components/CheckBox.js +1 -1
  416. package/forms/components/CheckGroup.d.ts +8 -7
  417. package/forms/components/CheckGroup.js +1 -1
  418. package/forms/components/Custom.d.ts +7 -7
  419. package/forms/components/Custom.js +1 -1
  420. package/forms/components/DatePicker.d.ts +8 -7
  421. package/forms/components/DatePicker.js +1 -1
  422. package/forms/components/DateRangePicker.d.ts +12 -11
  423. package/forms/components/DateRangePicker.js +1 -1
  424. package/forms/components/DateTimePicker.d.ts +8 -7
  425. package/forms/components/DateTimePicker.js +1 -1
  426. package/forms/components/DropDownList.d.ts +8 -7
  427. package/forms/components/DropDownList.js +1 -1
  428. package/forms/components/FilePicker.d.ts +10 -9
  429. package/forms/components/FilePicker.js +1 -1
  430. package/forms/components/Form.d.ts +23 -23
  431. package/forms/components/Form.js +1 -1
  432. package/forms/components/FormLabelNumberField.d.ts +17 -15
  433. package/forms/components/FormLabelNumberField.js +1 -1
  434. package/forms/components/GeometryPicker.d.ts +5 -4
  435. package/forms/components/GeometryPicker.js +1 -1
  436. package/forms/components/GeometryPickerListItem.d.ts +23 -23
  437. package/forms/components/HorizontalRule.d.ts +7 -7
  438. package/forms/components/Image.d.ts +7 -7
  439. package/forms/components/Image.js +1 -1
  440. package/forms/components/ItemPicker.d.ts +15 -17
  441. package/forms/components/ItemPicker.js +1 -1
  442. package/forms/components/ListBox.d.ts +8 -7
  443. package/forms/components/ListBox.js +1 -1
  444. package/forms/components/Markdown.d.ts +14 -15
  445. package/forms/components/Markdown.js +1 -1
  446. package/forms/components/Number.d.ts +8 -7
  447. package/forms/components/Number.js +1 -1
  448. package/forms/components/NumberRangeSlider.d.ts +12 -12
  449. package/forms/components/NumberRangeSlider.js +1 -1
  450. package/forms/components/NumberSlider.d.ts +11 -10
  451. package/forms/components/NumberSlider.js +1 -1
  452. package/forms/components/RadioGroup.d.ts +8 -7
  453. package/forms/components/RadioGroup.js +1 -1
  454. package/forms/components/Scanner.d.ts +11 -9
  455. package/forms/components/Scanner.js +1 -1
  456. package/forms/components/Section.d.ts +14 -14
  457. package/forms/components/Section.js +1 -1
  458. package/forms/components/Signature.d.ts +12 -11
  459. package/forms/components/Signature.js +1 -1
  460. package/forms/components/SignatureDialog.d.ts +22 -22
  461. package/forms/components/SignatureDialog.js +1 -1
  462. package/forms/components/Text.d.ts +8 -8
  463. package/forms/components/TextArea.d.ts +7 -7
  464. package/forms/components/TextArea.js +1 -1
  465. package/forms/components/TextBox.d.ts +7 -21
  466. package/forms/components/TextBox.js +1 -1
  467. package/forms/components/TimePicker.d.ts +8 -7
  468. package/forms/components/TimePicker.js +1 -1
  469. package/forms/constants.d.ts +81 -81
  470. package/forms/dateUtilities.d.ts +102 -117
  471. package/forms/dateUtilities.js +1 -1
  472. package/forms/elements/AutoComplete.d.ts +13 -13
  473. package/forms/elements/ButtonBar.d.ts +9 -9
  474. package/forms/elements/CheckBox.d.ts +7 -7
  475. package/forms/elements/CheckGroup.d.ts +11 -11
  476. package/forms/elements/Custom.d.ts +7 -7
  477. package/forms/elements/DatePicker.d.ts +6 -6
  478. package/forms/elements/DateRangePicker.d.ts +6 -6
  479. package/forms/elements/DateTimePicker.d.ts +6 -6
  480. package/forms/elements/DropDownList.d.ts +6 -6
  481. package/forms/elements/FilePicker.d.ts +8 -8
  482. package/forms/elements/GeometryPicker.d.ts +18 -18
  483. package/forms/elements/Header.d.ts +10 -10
  484. package/forms/elements/HorizontalRule.d.ts +2 -2
  485. package/forms/elements/Image.d.ts +2 -2
  486. package/forms/elements/ItemPicker.d.ts +13 -13
  487. package/forms/elements/ListBox.d.ts +11 -11
  488. package/forms/elements/Number.d.ts +11 -11
  489. package/forms/elements/NumberRangeSlider.d.ts +10 -10
  490. package/forms/elements/NumberSlider.d.ts +6 -6
  491. package/forms/elements/PasswordBox.d.ts +5 -5
  492. package/forms/elements/RadioGroup.d.ts +6 -6
  493. package/forms/elements/Scanner.d.ts +19 -19
  494. package/forms/elements/Section.d.ts +2 -2
  495. package/forms/elements/Signature.d.ts +16 -16
  496. package/forms/elements/Text.d.ts +2 -2
  497. package/forms/elements/TextArea.d.ts +7 -7
  498. package/forms/elements/TextBox.d.ts +5 -5
  499. package/forms/elements/TimePicker.d.ts +6 -6
  500. package/forms/elements/types.d.ts +83 -83
  501. package/forms/index.d.ts +124 -72
  502. package/forms/keyboard.d.ts +9 -9
  503. package/forms/listUtilities.d.ts +3 -0
  504. package/forms/listUtilities.js +1 -0
  505. package/forms/manifest.d.ts +3 -0
  506. package/forms/manifest.js +1 -0
  507. package/forms/numberFormatter.d.ts +90 -94
  508. package/forms/numberFormatter.js +1 -1
  509. package/forms/numberUtilities.d.ts +150 -113
  510. package/forms/numberUtilities.js +1 -1
  511. package/forms/presenter.d.ts +21 -21
  512. package/forms/presenter.js +1 -1
  513. package/forms/renderers.d.ts +5 -8
  514. package/forms/renderers.js +1 -1
  515. package/forms/textUtilities.d.ts +33 -23
  516. package/forms/textUtilities.js +1 -1
  517. package/forms/utils.d.ts +177 -132
  518. package/forms/utils.js +1 -1
  519. package/index.d.ts +2 -2
  520. package/libs/version.d.ts +1 -1
  521. package/libs/version.js +1 -1
  522. package/licensing/LicenseChecker.d.ts +1 -1
  523. package/licensing/Watermark.d.ts +7 -7
  524. package/package.json +9 -11
  525. package/activities/app/constants.d.ts +0 -1
  526. package/activities/app/constants.js +0 -1
@@ -1 +1 @@
1
- import Button from"@vertigis/react-ui/Button";import ButtonGroup from"@vertigis/react-ui/ButtonGroup";import Checkbox from"@vertigis/react-ui/Checkbox";import IconButton from"@vertigis/react-ui/IconButton";import Input from"@vertigis/react-ui/Input";import InputAdornment from"@vertigis/react-ui/InputAdornment";import List from"@vertigis/react-ui/List";import ListItem from"@vertigis/react-ui/ListItem";import ListItemButton from"@vertigis/react-ui/ListItemButton";import ListItemIcon from"@vertigis/react-ui/ListItemIcon";import ListItemText,{listItemTextClasses}from"@vertigis/react-ui/ListItemText";import Radio from"@vertigis/react-ui/Radio";import Stack from"@vertigis/react-ui/Stack";import Close from"@vertigis/react-ui/icons/Close";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import FormElement from"../FormElement.js";import{renderFocus}from"../common.js";import{Orientation}from"../constants.js";import{getKeyString}from"../keyboard.js";import{isDataRef,isGeometryRef,makeSafeClassName}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="ItemPicker",itemPickerClasses={button:`${PREFIX}-list-item-button`,clearIcon:`${PREFIX}-clear-button`,horizontal:`${PREFIX}-horizontal`,item:`${PREFIX}-list-item`,items:`${PREFIX}-list-items`},Root=styled(FormElement)(({theme:{typography:e}})=>({[`.${itemPickerClasses.clearIcon}`]:{height:e.pxToRem(20),width:e.pxToRem(20)},[`.${itemPickerClasses.items}`]:{[`&.${itemPickerClasses.horizontal}`]:{display:"flex",flexWrap:"wrap",[`.${itemPickerClasses.item}`]:{width:"auto"}},[`.${itemPickerClasses.item}`]:{[`.${itemPickerClasses.button}`]:{paddingBottom:0,paddingTop:0,[`.${listItemTextClasses.primary}`]:{fontWeight:e.fontWeightRegular}}}}})),ItemPicker=({className:e,component:r,element:n,spacing:t})=>{const a=r.props["host"],i=r.props.name;void 0===t&&(t=1);const s=n.items||{};let c,m,l,d=n.state;function u(){const e=[];for(const o in s){var t=s[o];t.checked&&e.push(t)}c=0===e.length?n.value=void 0:n.value={refValueType:"items",items:e}}function p(e,t=!0){let o=d.keyToIndex[e];if(null==o||null===o){if(!t)return;d.keyToIndex[e]=d.length,d.push({}),o=d.keyToIndex[e]}return d[o]}function f(e,t){s[e].checked=t;const o=p(e);o&&(o.checked=t)}function o(t){return function(e){null!==e&&(e.disabled||a.renderFocus(e,i),e=!0===s[t].checked,p(t).checked=e)}}u(),function(){void 0!==d&&null!==d||(d=n.state=[]),d.keyToIndex||(d.keyToIndex={});const e={};for(const o in n.items){var t=p(o,!1);t&&(e[o]=t)}d=n.state=[],d.keyToIndex={};for(const i in e)d.keyToIndex[i]=d.length,d.push(e[i])}();const g=[];let k;switch(n.selectionMode){case"single":k="radio";break;case"multiple":k="checkbox"}for(const P in s){var I,v,h,R,x=s[P];p(P).content=function(e){if(e){if(isGeometryRef(e))return e.geometry;if(isDataRef(e)&&e.data)return e.data.geometry}}(x.value),!1!==x.visible&&(v=(I=r.enabled&&!1!==x.enabled)&&!!k,h=a.renderText(x.tooltip),R=clsx(itemPickerClasses.item,x.styleName?makeSafeClassName(x.styleName):void 0),x=React.createElement(Markdown,{host:a,text:x.label}),g.push(React.createElement(ListItem,{className:R,disabled:!I,disablePadding:!0,key:P},React.createElement(ListItemButton,{className:itemPickerClasses.button,onClick:v?(o=>()=>{var e=s[o].checked;if("single"===n.selectionMode){if(!e)for(const t in s)f(t,t===o)}else f(o,!e);u(),r.forceUpdate(),a.post("changed",{name:i,value:c}),a.renderState(i,"geometry",d)})(P):void 0,tabIndex:I?void 0:-1,title:h,"data-id":P,onBlur:I?e=>{delete p(e.currentTarget.dataset.id).focused,a.renderState(i,"geometry",d)}:void 0,onFocus:I?e=>{p(e.currentTarget.dataset.id).focused=!0,a.renderState(i,"geometry",d)}:void 0,onMouseOver:I?e=>{p(e.currentTarget.dataset.id).pending=!0,a.renderState(i,"geometry",d)}:void 0,onMouseOut:I?e=>{delete p(e.currentTarget.dataset.id).pending,a.renderState(i,"geometry",d)}:void 0},"checkbox"===k&&React.createElement(ListItemIcon,null,React.createElement(Checkbox,{edge:"start",checked:!0===s[P]?.checked,disableRipple:!0,inputRef:o(P),tabIndex:-1,value:P})),"radio"===k&&React.createElement(ListItemIcon,null,React.createElement(Radio,{edge:"start",checked:!0===s[P]?.checked,disableRipple:!0,inputRef:o(P),name:r.id,tabIndex:-1,value:P})),React.createElement(ListItemText,null,x)))))}var b=a.renderText(n.prompt);function y(){var e=m.value.toLowerCase();for(const t in s){const o=s[t];if(e){const i=a.renderText(o.label).toLowerCase();o.visible=-1!==i.indexOf(e)}else o.visible=!0}l.hidden=!e,r.forceUpdate()}function C(){m.value="",y()}var E="multiple"===n.selectionMode&&0<g.length,T=clsx(itemPickerClasses.items,{[itemPickerClasses.horizontal]:n.orientation===Orientation.HORIZONTAL});return React.createElement(Root,{className:e,component:r,element:n,ref:function(e){null===e?a.renderState(i,"geometry"):a.renderState(i,"geometry",d)}},React.createElement(Stack,{spacing:t},n.showFilter&&React.createElement(Input,{disabled:!r.enabled,endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{disabled:!r.enabled,onClick:C,ref:e=>l=e,title:a.renderText("@common-clear")},React.createElement(Close,{className:itemPickerClasses.clearIcon}))),error:!1,fullWidth:!0,inputRef:e=>{m=e,renderFocus(e,i,a)},onChange:y,onKeyDown:e=>{"escape"===getKeyString(e)&&C()},placeholder:b,type:"text"}),E&&React.createElement(ButtonGroup,{color:"primary",variant:"outlined"},React.createElement(Button,{disabled:!r.enabled,onClick:function(){for(const e in s)f(e,!0);u(),r.forceUpdate(),a.post("changed",{name:i,value:c})}},a.renderText("@common-all")),React.createElement(Button,{disabled:!r.enabled,onClick:function(){for(const e in s)f(e,!1);u(),r.forceUpdate(),a.post("changed",{name:i,value:c})}},a.renderText("@common-none"))),React.createElement(List,{className:T,dense:!0},g)))};export default ItemPicker;export{itemPickerClasses};
1
+ import Checkbox from"@vertigis/react-ui/Checkbox";import FormControl from"@vertigis/react-ui/FormControl";import FormControlLabel from"@vertigis/react-ui/FormControlLabel";import FormLabel from"@vertigis/react-ui/FormLabel";import IconButton from"@vertigis/react-ui/IconButton";import Input from"@vertigis/react-ui/Input";import InputAdornment from"@vertigis/react-ui/InputAdornment";import List from"@vertigis/react-ui/List";import ListItem from"@vertigis/react-ui/ListItem";import ListItemButton from"@vertigis/react-ui/ListItemButton";import ListItemIcon from"@vertigis/react-ui/ListItemIcon";import ListItemText,{listItemTextClasses}from"@vertigis/react-ui/ListItemText";import Radio from"@vertigis/react-ui/Radio";import RadioGroup from"@vertigis/react-ui/RadioGroup";import Stack from"@vertigis/react-ui/Stack";import Typography from"@vertigis/react-ui/Typography";import Close from"@vertigis/react-ui/icons/Close";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useMemo,useState}from"react";import FormElement from"../FormElement.js";import{Orientation}from"../constants.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual}from"../listUtilities.js";import{debounce,isDataRef,isGeometryRef,makeSafeClassName,makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="ItemPicker",itemPickerClasses={allNone:`${PREFIX}-all-none`,button:`${PREFIX}-list-item-button`,clearIcon:`${PREFIX}-clear-button`,horizontal:`${PREFIX}-horizontal`,item:`${PREFIX}-list-item`,items:`${PREFIX}-list-items`},Root=styled(FormElement)(({theme:{typography:e,spacing:t}})=>({[`.${itemPickerClasses.allNone}`]:{marginLeft:t(2)},[`.${itemPickerClasses.clearIcon}`]:{height:e.pxToRem(20),width:e.pxToRem(20)},[`.${itemPickerClasses.items}`]:{[`&.${itemPickerClasses.horizontal}`]:{display:"flex",flexWrap:"wrap",[`.${itemPickerClasses.item}`]:{width:"auto"}},[`.${itemPickerClasses.item}`]:{[`.${itemPickerClasses.button}`]:{paddingBottom:0,paddingTop:0,[`.${listItemTextClasses.primary}`]:{fontWeight:e.fontWeightRegular}}}}})),ItemPicker=({className:e,component:r,element:t,enabled:i,items:a,name:o,orientation:s,prompt:n,renderFocus:l,renderState:c,renderText:m,selectionMode:d,setProperty:u,setValue:p,showFilter:f,spacing:k,state:g,translateText:R,value:I})=>{void 0===k&&(k=1);const[h,v]=useState(""),b=a||{};let y=g;const C=e=>{const t=[];for(const r in b){var i=b[r];i.checked&&t.push(i)}let o;0<t.length&&(o={refValueType:"items",items:t}),areValuesEqual(I,o)||p(o,e)};useEffect(()=>{if(void 0===y||null===y){const i=[];i.keyToIndex={},y=i}const e={};for(const o in a){var t=E(o,!1);t&&(e[o]=t)}y.length=0,y.keyToIndex={};for(const r in e)y.keyToIndex[r]=y.length,y.push(e[r]);g!==y&&u("state",y),C(!1)});const E=(e,t=!0)=>{let i=y.keyToIndex[e];if(null==i||null===i){if(!t)return;y.keyToIndex[e]=y.length,y.push({}),i=y.keyToIndex[e]}return y[i]},x=(e,t)=>{b[e].checked=t;const i=E(e);i&&(i.checked=t)};var L=t=>e=>{null!==e&&(e.disabled||l(e,o),e=!0===b[t].checked,E(t).checked=e)};const P=[];let T;switch(d){case"single":T="radio";break;case"multiple":T="checkbox"}let F={},$={};if(y)for(const J in b){var N,w,S,M,B=b[J];B.checked&&(F[J]=B),E(J).content=(e=>{if(e){if(isGeometryRef(e))return e.geometry;if(isDataRef(e)&&e.data)return e.data.geometry}})(B.value),!1!==B.visible&&($[J]=B,w=(N=i&&!1!==B.enabled)&&!!T,S=m(B.tooltip),M=clsx(itemPickerClasses.item,B.styleName?makeSafeClassName(B.styleName):void 0),B=React.createElement(Markdown,{text:B.label,translateText:R}),P.push(React.createElement(ListItem,{className:M,disablePadding:!0,key:J},React.createElement(ListItemButton,{className:itemPickerClasses.button,disabled:!N,onClick:w?(i=>()=>{var e=b[i].checked;if("single"===d){if(!e)for(const t in b)x(t,t===i)}else x(i,!e);C(!0),c(o,"geometry",y)})(J):void 0,tabIndex:N?void 0:-1,title:S,"data-id":J,onBlur:N?e=>{delete E(e.currentTarget.dataset.id).focused,c(o,"geometry",y)}:void 0,onFocus:N?e=>{E(e.currentTarget.dataset.id).focused=!0,c(o,"geometry",y)}:void 0,onMouseOver:N?e=>{E(e.currentTarget.dataset.id).pending=!0,c(o,"geometry",y)}:void 0,onMouseOut:N?e=>{delete E(e.currentTarget.dataset.id).pending,c(o,"geometry",y)}:void 0},"checkbox"===T&&React.createElement(ListItemIcon,null,React.createElement(Checkbox,{edge:"start",checked:!0===b[J]?.checked,disableRipple:!0,inputRef:L(J),tabIndex:-1,value:J})),"radio"===T&&React.createElement(ListItemIcon,null,React.createElement(Radio,{edge:"start",checked:!0===b[J]?.checked,disableRipple:!0,inputRef:L(J),name:o,tabIndex:-1,value:J})),React.createElement(ListItemText,null,B)))))}var O=m(n);const X=useMemo(()=>e=>{for(const t in b){const i=b[t];if(e){const o=m(i.label).toLowerCase();i.visible=0<=o.indexOf(e)}else i.visible=!0}r.forceUpdate()},[b]),j=useMemo(()=>debounce(X),[b]);const z=()=>{v(""),X("")};var A="multiple"===d&&0<P.length,G=clsx(itemPickerClasses.items,{[itemPickerClasses.horizontal]:s===Orientation.HORIZONTAL});let q,U=0,V=0,W=0,D=0;for(const Q in b){var K=$[Q];K?(W++,K.checked&&U++):(D++,b[Q].checked&&V++)}0===U?q="none":U===W&&(q="all");n=h?React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{disabled:!i,onClick:z,title:m("@common-clear")},React.createElement(Close,{className:itemPickerClasses.clearIcon}))):null,s=f?`${makeUniqueId(o)}-filter`:void 0;let H,Z=R("@item-picker-select");return A&&0<D&&(Z=R("@item-picker-select-visible"),0<V&&(H=1===V?R("@item-picker-hidden-selected-item"):`${V} ${R("@item-picker-hidden-selected-items")}`)),React.createElement(Root,{className:e,component:r,element:t,inputId:s,ref:e=>{null===e?c(o,"geometry"):c(o,"geometry",y)}},React.createElement(Stack,{spacing:k},f&&React.createElement(Input,{disabled:!i,endAdornment:n,error:!1,fullWidth:!0,id:s,inputRef:e=>l(e,o),onChange:e=>{const t=e.target.value;v(t),j(t.toLowerCase())},onKeyDown:e=>{"escape"===getKeyString(e)&&z()},placeholder:O,type:"text",value:h}),A&&React.createElement(FormControl,{className:itemPickerClasses.allNone},React.createElement(FormLabel,null,Z),React.createElement(RadioGroup,{color:"primary",row:!0},React.createElement(FormControlLabel,{value:"all",checked:"all"===q,control:React.createElement(Radio,{size:"small"}),disabled:!i,inputRef:e=>l(e,o),onClick:()=>{for(const e in $)x(e,!0);C(!0)},label:m("@common-all")}),React.createElement(FormControlLabel,{value:"none",checked:"none"===q,control:React.createElement(Radio,{size:"small"}),disabled:!i,onClick:()=>{for(const e in $)x(e,!1);C(!0)},label:m("@common-none")})),H&&React.createElement(Typography,{variant:"subtitle2"},H)),React.createElement(List,{className:G,dense:!0},P)))};export default ItemPicker;export{itemPickerClasses};
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const listBoxClasses: {
4
- select: string;
5
- };
6
- declare const ListBox: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
7
- export default ListBox;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import * as defs from "../FormDefinition";
4
+ export declare const listBoxClasses: {
5
+ select: string;
6
+ };
7
+ declare const ListBox: ({ className, component, current, element, enabled, items: elementItems, name, renderFocus, renderText, require, setItemProperty, setValue: setElementValue, size: elementSize, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ItemsRef | undefined>) => JSX.Element;
8
+ export default ListBox;
@@ -1 +1 @@
1
- import{inputClasses}from"@vertigis/react-ui/Input";import{inputBaseClasses}from"@vertigis/react-ui/InputBase";import{nativeSelectClasses}from"@vertigis/react-ui/NativeSelect";import Select from"@vertigis/react-ui/Select";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import FormElement from"../FormElement.js";import{renderFocus}from"../common.js";import{makeSafeClassName,makeUniqueId,sortItems}from"../utils.js";const PREFIX="ListBox",listBoxClasses={select:`${PREFIX}-select`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${nativeSelectClasses.select}.${nativeSelectClasses.standard}.${nativeSelectClasses.multiple}.${inputBaseClasses.input}.${inputClasses.input}.${listBoxClasses.select}`]:{paddingRight:e(1)}})),ListBox=({className:e,component:i,element:a})=>{const{host:l,name:o}=i.props;var t=`${makeUniqueId(o)}-input`;const r=sortItems(a);!function(){const e=[];for(const s in r){var t=r[s];t.checked&&e.push(t)}0===e.length?a.value=void 0:a.value={refValueType:"items",items:e}}();const s=[],n=[];for(const v in r){const f=r[v];var c=l.renderText(f.label);const u=l.renderText(f.tooltip);f.checked=!0===f.checked;var m=clsx(f.styleName?makeSafeClassName(f.styleName):void 0);f.checked&&n.push(v);var p=!1===f.enabled?void 0:!!f.checked;s.push(React.createElement("option",{"aria-selected":p,className:m,key:v,title:u,value:v,disabled:!1===f.enabled},c))}s.length<1&&(i.enabled=!1);const u=l.renderText(a.tooltip)||void 0;let d;return"number"==typeof a.size&&(d=a.size),React.createElement(Root,{className:e,component:i,element:a,inputId:t},React.createElement(Select,{disabled:!i.enabled,inputProps:{"aria-multiselectable":!0,"aria-orientation":"vertical","aria-required":a.require,className:listBoxClasses.select,id:t,role:"listbox",size:d,title:u},inputRef:e=>renderFocus(e,o,l),multiple:!0,native:!0,onChange:e=>{const t=e.target["options"];for(let e=0;e<t.length;e++){var s=t.item(e),a=s.value;r[a].checked=s.selected}i.forceUpdate(),l.post("changed",{name:o})},value:n},s))};export default ListBox;export{listBoxClasses};
1
+ import Select from"@vertigis/react-ui/Select";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useState}from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,arrayEqual}from"../listUtilities.js";import{makeSafeClassName,makeUniqueId,inspectItems}from"../utils.js";const PREFIX="ListBox",listBoxClasses={select:`${PREFIX}-select`},Root=styled(FormElement)(({theme:{spacing:e}})=>({"&&&":{[`.${listBoxClasses.select}`]:{paddingRight:e(1)}}})),ListBox=({className:e,component:t,current:s,element:a,enabled:l,items:o,name:i,renderFocus:r,renderText:c,require:m,setItemProperty:n,setValue:u,size:p,tooltip:d,value:f})=>{var v=`${makeUniqueId(i)}-input`;const h=inspectItems(s,o,f)["items"],[x,E]=useState([]);r=useFocusCallback(l,i,r);useEffect(()=>{const e=[];for(const t in o)o[t].checked&&e.push(t);arrayEqual(x,e)||E(e),k(e,!1)});const k=(e,t)=>{e=0===e.length?void 0:{refValueType:"items",items:e.map(e=>h[e])};areValuesEqual(f,e)||u(e,t)};const b=[];for(const F in h){const I=h[F];var y=c(I.label);const C=c(I.tooltip);I.checked=!0===I.checked;var g=clsx(I.styleName?makeSafeClassName(I.styleName):void 0),R=!1===I.enabled?void 0:!!I.checked;b.push(React.createElement("option",{"aria-selected":R,className:g,key:F,title:C,value:F,disabled:!1===I.enabled},y))}const C=c(d)||void 0;let q;return"number"==typeof p&&(q=p),React.createElement(Root,{className:e,component:t,element:a,inputId:v},React.createElement(Select,{disabled:!l||0===b.length,inputProps:{"aria-multiselectable":!0,"aria-orientation":"vertical","aria-required":m,className:listBoxClasses.select,id:v,role:"listbox",size:q,title:C},inputRef:r,multiple:!0,native:!0,onChange:e=>{const t=e.target["options"],s=[];for(let e=0;e<t.length;e++){var a=t.item(e),l=a.value;a.selected&&s.push(l)}for(const r in h){var o=h[r].checked,i=-1!==s.indexOf(r);o!==i&&n(r,"checked",i)}k(s,!0)},value:x},b))};export default ListBox;export{listBoxClasses};
@@ -1,15 +1,14 @@
1
- /// <reference types="react" />
2
- import { MarkdownProps as BaseMarkdownProps } from "@vertigis/react-ui/Markdown";
3
- import { defs } from "../FormHost";
4
- import { FormPresenterHost } from "../FormPresenterHost";
5
- /**
6
- * Properties for the `Markdown` component.
7
- */
8
- export interface MarkdownProps extends Omit<BaseMarkdownProps, "markdown" | "sanitize"> {
9
- /** The host that translatest text. */
10
- host: FormPresenterHost;
11
- /** The text to be rendered. */
12
- text: defs.Text | undefined;
13
- }
14
- declare const Markdown: ({ host, text, escapeHtml, linkTarget, ...otherProps }: MarkdownProps) => JSX.Element;
15
- export default Markdown;
1
+ /// <reference types="react" />
2
+ import { MarkdownProps as BaseMarkdownProps } from "@vertigis/react-ui/Markdown";
3
+ import { defs } from "../FormHost";
4
+ /**
5
+ * Properties for the `Markdown` component.
6
+ */
7
+ export interface MarkdownProps extends Omit<BaseMarkdownProps, "markdown" | "sanitize"> {
8
+ /** The text to be rendered. */
9
+ text: defs.Text | undefined;
10
+ /** Translates the supplied value. */
11
+ translateText: (content: defs.Text | undefined) => string | defs.MarkdownRef | undefined;
12
+ }
13
+ declare const Markdown: ({ text, translateText, escapeHtml, linkTarget, ...otherProps }: MarkdownProps) => JSX.Element | null;
14
+ export default Markdown;
@@ -1 +1 @@
1
- import BaseMarkdown from"@vertigis/react-ui/Markdown";import*as React from"react";import{hasContent,isMarkdown}from"../textUtilities.js";const Markdown=({host:t,text:e,escapeHtml:a=!0,linkTarget:r="_blank",...n})=>{e=t.translateText(e);return hasContent(e)?isMarkdown(e)?React.createElement(BaseMarkdown,{markdown:e.markdown,escapeHtml:a,linkTarget:r,...n}):React.createElement(React.Fragment,null,e):null};export default Markdown;
1
+ import BaseMarkdown from"@vertigis/react-ui/Markdown";import*as React from"react";import{hasContent,isMarkdown}from"../textUtilities.js";const Markdown=({text:t,translateText:e,escapeHtml:a=!0,linkTarget:r="_blank",...n})=>{t=e(t);return hasContent(t)?isMarkdown(t)?React.createElement(BaseMarkdown,{markdown:t.markdown,escapeHtml:a,linkTarget:r,...n}):React.createElement(React.Fragment,null,t):null};export default Markdown;
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- /**
4
- * The component for the "Number" Form Elements.
5
- */
6
- declare const NumberComponent: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
7
- export default NumberComponent;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import * as defs from "../FormDefinition";
4
+ /**
5
+ * The component for the "Number" Form Elements.
6
+ */
7
+ declare const NumberComponent: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, name, prompt, renderFocus: hostRenderFocus, renderText, require, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<defs.NumberRef | undefined>) => JSX.Element;
8
+ export default NumberComponent;
@@ -1 +1 @@
1
- import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import*as React from"react";import{useEffect,useMemo,useRef,useState}from"react";import FormElement from"../FormElement.js";import{numberFormatConfiguration}from"../elements/Number.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual,enforceConstraints,getNumberConstraints,sanitizePrecision}from"../numberUtilities.js";import{isNumber,isNumberRef,isString,makeUniqueId}from"../utils.js";const NumberComponent=({className:e,component:r,element:n})=>{const{host:t,name:o}=r.props;var a=!r.enabled;const[m,i]=useState(!1),[u,s]=useState(),l=useRef(!0);var c=`${makeUniqueId(o)}-input`,p=t.deriveLocale();const{decimals:f,numberConstraints:b}=useMemo(()=>{var e=n.format,r=getNumberConstraints(e,numberFormatConfiguration);return{decimals:sanitizePrecision(e?.precision,r.step,numberFormatConfiguration),numberConstraints:r}},[n.format]),{maximum:d,minimum:v,step:N}=b,g={fractionalDigits:f,locale:p},C=e=>{if("number"==typeof e)return{refValueType:"number",format:{lowerBound:v,precision:f,step:N,upperBound:d},display:t.formatNumber(e,g),numeric:e}},E=()=>{e=void 0===(e=u)?void 0:enforceConstraints(e,b),e=C(e);areValuesEqual(n,e)||(n.value=e,t.post("changed",{name:o,value:e}));var e=e?.numeric;e!==u&&s(e)};useEffect(()=>{l.current?l.current=!1:m||E()},[m,u]),useEffect(()=>{var e=F(n.value),r=void 0===e?void 0:C(e);areValuesEqual(n,r)||(n.value=r),e!==u&&s(e)},[n.value]);const F=e=>{let r=void 0;if(isNumber(e))r=e;else if(isString(e)){if(!e)return;r=t.coerceNumber(e)}else"number"==typeof e?.numeric&&(r=e.numeric);return"number"==typeof r&&0*r!=0&&(r=void 0),void 0===r?r:enforceConstraints(r,b)};var x=t.renderText(n.prompt),p=t.renderText(n.tooltip);return React.createElement(FormElement,{className:e,component:r,element:n,inputId:c},React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>t.formatNumber(e,g),parseNumber:e=>t.coerceNumber(e)}},React.createElement(NumberInput,{allowUndefined:!0,correctOnBlur:!0,disabled:a,error:!!n.error,inputProps:{id:c,onKeyDown:e=>{var r,t=getKeyString(e);return"enter"===t?(r=e,E(),r.currentTarget.select(),r.stopPropagation(),r.preventDefault(),!1):"escape"===t?(t=e,(e=isNumberRef(n.value)?n.value.numeric:void 0)!==u&&s(e),t.currentTarget.select(),t.stopPropagation(),t.preventDefault(),!1):void 0}},inputRef:e=>{null===e||e.disabled||t.renderFocus(e,o)},max:d,maxDecimalPlaces:f,min:v,onBlur:()=>{i(!1)},onChange:e=>s(e),onFocus:()=>{i(!0)},placeholder:x,required:n.require,size:"small",title:p,value:u})))};export default NumberComponent;
1
+ import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import*as React from"react";import{useEffect,useMemo,useRef,useState}from"react";import FormElement from"../FormElement.js";import{numberFormatConfiguration}from"../elements/Number.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual,enforceConstraints,getNumberConstraints,sanitizePrecision}from"../numberUtilities.js";import{isNumber,isNumberRef,isString,makeUniqueId}from"../utils.js";const NumberComponent=({className:e,coerceNumber:t,component:r,deriveLocale:n,element:o,enabled:i,error:m,format:u,formatNumber:a,name:s,prompt:l,renderFocus:c,renderText:p,require:f,tooltip:b,value:d,setValue:v})=>{const[N,g]=useState(!1),[C,E]=useState(),F=useRef(!0);var y=`${makeUniqueId(s)}-input`,n=n(),l=p(l),b=p(b);const{decimals:R,numberConstraints:x}=useMemo(()=>{var e=u,r=getNumberConstraints(e,numberFormatConfiguration);return{decimals:sanitizePrecision(e?.precision,r.step,numberFormatConfiguration),numberConstraints:r}},[u]),{maximum:q,minimum:P,step:S}=x,I={fractionalDigits:R,locale:n},j=e=>{if("number"==typeof e)return{refValueType:"number",format:{lowerBound:P,precision:R,step:S,upperBound:q},display:a(e,I),numeric:e}},D=()=>{e=void 0===(e=C)?void 0:enforceConstraints(e,x),e=j(e);areValuesEqual(d,e)||v(e);var e=e?.numeric;e!==C&&E(e)};useEffect(()=>{F.current?F.current=!1:N||D()},[N,C]),useEffect(()=>{var e=V(d),r=void 0===e?void 0:j(e);areValuesEqual(d,r)||v(r,!1),e!==C&&E(e)},[d]);const V=e=>{let r;if(isNumber(e))r=e;else if(isString(e)){if(!e)return;r=t(e)}else"number"==typeof e?.numeric&&(r=e.numeric);return"number"==typeof r&&0*r!=0&&(r=void 0),void 0===r?r:enforceConstraints(r,x)};return React.createElement(FormElement,{className:e,component:r,element:o,inputId:y},React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>a(e,I),parseNumber:e=>t(e)}},React.createElement(NumberInput,{allowUndefined:!0,correctOnBlur:!0,disabled:!i,error:!!m,inputProps:{id:y,onKeyDown:e=>{var r,t=getKeyString(e);return"enter"===t?(r=e,D(),r.currentTarget.select(),r.stopPropagation(),r.preventDefault(),!1):"escape"===t?(t=e,(e=isNumberRef(d)?d.numeric:void 0)!==C&&E(e),t.currentTarget.select(),t.stopPropagation(),t.preventDefault(),!1):void 0},title:b},inputRef:e=>{null===e||e.disabled||c(e,s)},max:q,maxDecimalPlaces:R,min:P,onBlur:()=>{g(!1)},onChange:e=>E(e),onFocus:()=>{g(!0)},placeholder:l,required:f,size:"small",value:C})))};export default NumberComponent;
@@ -1,12 +1,12 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const numberRangeSliderClasses: {
4
- container: string;
5
- inputContainer: string;
6
- toLabel: string;
7
- };
8
- /**
9
- * The component for the "Number Range Slider" Form Element.
10
- */
11
- declare const NumberRangeSlider: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
12
- export default NumberRangeSlider;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ export declare const numberRangeSliderClasses: {
4
+ container: string;
5
+ inputContainer: string;
6
+ toLabel: string;
7
+ };
8
+ /**
9
+ * The component for the "Number Range Slider" Form Element.
10
+ */
11
+ declare const NumberRangeSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<number[] | undefined>) => JSX.Element;
12
+ export default NumberRangeSlider;
@@ -1 +1 @@
1
- import Box from"@vertigis/react-ui/Box";import{formControlClasses}from"@vertigis/react-ui/FormControl";import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import Slider,{sliderClasses}from"@vertigis/react-ui/Slider";import Stack from"@vertigis/react-ui/Stack";import{styled}from"@vertigis/react-ui/styles";import{useEffect,useMemo,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{numberFormatConfiguration}from"../elements/NumberRangeSlider.js";import{DEFAULT_CURRENCY}from"../numberFormatter.js";import{getMarks,getNumberConstraints,getNumberSliderValues,sanitizePrecision}from"../numberUtilities.js";import{makeUniqueId,throttle}from"../utils.js";import FormLabelNumberField from"./FormLabelNumberField.js";const PREFIX="NumberRangeSlider",numberRangeSliderClasses={container:`${PREFIX}-container`,inputContainer:`${PREFIX}-input-container`,toLabel:`${PREFIX}-to-label`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${numberRangeSliderClasses.container}`]:{display:"inline-flex",flexDirection:"column",paddingLeft:e(2),paddingRight:e(2),paddingTop:e(4),width:"100%",[`.${sliderClasses.markLabel}`]:{transform:"translateX(-100%)",'&[data-index="0"]':{transform:"none"}},[`.${numberRangeSliderClasses.inputContainer}`]:{marginTop:e(1),[`.${formControlClasses.root}`]:{flexGrow:1},[`.${numberRangeSliderClasses.toLabel}`]:{marginLeft:e(2),marginRight:e(2),paddingTop:e(2),alignSelf:"center"}}}})),NumberRangeSlider=({className:e,component:r,element:a})=>{const{host:t,name:o}=r.props;var n=!r.enabled;const{currency:i,customDisplayFormat:m,decimals:s,displayFormat:l,numberConstraints:u}=useMemo(()=>{var e=a.format,r=getNumberConstraints(e,numberFormatConfiguration),t=sanitizePrecision(e?.precision,r.step,numberFormatConfiguration);return{currency:e?.currency||DEFAULT_CURRENCY,customDisplayFormat:e?.customDisplayFormat,decimals:t,displayFormat:e?.displayFormat,numberConstraints:r}},[a.format]);var c=u["step"];const d=u.maximum,p=u.minimum,[b,g]=useState(!1),[f,v]=useState(!1),[C,F]=useState([p,d]),R=useRef(!0);var N=makeUniqueId(o);const x=`${N}-slider-input`;var S=!1!==a.showMinMaxLabels,E=!!a.showTickMarks,y=!1!==a.manualEntry;const L={currency:i,customDisplayFormat:m,format:l,fractionalDigits:s,locale:t.deriveLocale()};useEffect(()=>{var e;R.current?R.current=!1:f?$(C):b||(e=getNumberSliderValues(C,u),C[0]===e[0]&&C[1]===e[1]||F(e),h(a.value,e)||(a.value=e,t.post("changed",{name:o,value:a.value})))},[b,f,C]),useEffect(()=>{var e=getNumberSliderValues(a.value,u);h(a.value,e)||(a.value=e),h(C,e)||F(e)},[a.value]);const h=(e,r)=>void 0===e&&void 0===r[0]&&void 0===r[1]||(void 0===e&&null===r[0]&&null===r[1]||!(!Array.isArray(e)||2!==e.length||e[0]!==r[0]||e[1]!==r[1])),$=useMemo(()=>throttle(e=>{t.post("dragged",{name:o,value:e})}),[]),k=useFocusCallback(r);var D=t.renderText(a.tooltip),P=n&&!f,T=y?{max:d,min:p,onBlur:()=>{g(!1)},onFocus:()=>{g(!0)},step:c,title:D}:void 0;return React.createElement(Root,{className:e,component:r,element:a,inputId:`${x}-0`},React.createElement(Box,{className:numberRangeSliderClasses.container},React.createElement(Slider,{disabled:P,getAriaLabel:()=>t.renderText(a.title),getAriaValueText:e=>t.formatNumber(e,L),marks:getMarks(d,p,c,L,S,E),max:d,min:p,onChange:(e,r)=>{v(!0),Array.isArray(r)&&F(r)},onChangeCommitted:()=>{v(!1)},slotProps:{input:()=>({ref:e=>(null===e||e.id||(e.id=`${x}-${e.attributes["data-index"].value}`),k(e))})},step:c,title:D,value:C,valueLabelDisplay:"on",valueLabelFormat:(e,r)=>t.formatNumber(e,L)}),!1!=y&&React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>{var r={fractionalDigits:L.fractionalDigits,locale:L.locale};return t.formatNumber(e,r)},parseNumber:e=>t.coerceNumber(e)}},React.createElement(Stack,{direction:"row",className:numberRangeSliderClasses.inputContainer},React.createElement(FormLabelNumberField,{disabled:n,id:`${N}-startInput`,inputProps:T,label:t.renderText("@common-start"),max:d,maxDecimalPlaces:s,min:p,onChange:e=>{void 0===e&&(e=p),F([e,C[1]])},value:C[0]}),React.createElement(Box,{className:numberRangeSliderClasses.toLabel}," ",t.renderText("@common-to")," "),React.createElement(FormLabelNumberField,{disabled:n,id:`${N}-endInput`,inputProps:T,label:t.renderText("@common-end"),max:d,maxDecimalPlaces:s,min:p,onChange:e=>{void 0===e&&(e=d),F([C[0],e])},value:C[1]})))))};export default NumberRangeSlider;export{numberRangeSliderClasses};
1
+ import Box from"@vertigis/react-ui/Box";import{formControlClasses}from"@vertigis/react-ui/FormControl";import InputAdornment from"@vertigis/react-ui/InputAdornment";import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import Slider,{sliderClasses}from"@vertigis/react-ui/Slider";import Stack from"@vertigis/react-ui/Stack";import{styled}from"@vertigis/react-ui/styles";import{useEffect,useMemo,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{numberFormatConfiguration}from"../elements/NumberRangeSlider.js";import{DEFAULT_CURRENCY,NumberDisplayFormat}from"../numberFormatter.js";import{countDecimalsInCustomFormat,getCurrencySymbolInfo,getPercentSymbolInfo,roundAccurately}from"../numberUtilities.js";import{getMarks,getNumberConstraints,getNumberSliderValues,sanitizePrecision}from"../numberUtilities.js";import{makeUniqueId,throttle}from"../utils.js";import FormLabelNumberField from"./FormLabelNumberField.js";const PREFIX="NumberRangeSlider",numberRangeSliderClasses={container:`${PREFIX}-container`,inputContainer:`${PREFIX}-input-container`,toLabel:`${PREFIX}-to-label`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${numberRangeSliderClasses.container}`]:{display:"inline-flex",flexDirection:"column",paddingLeft:e(2),paddingRight:e(2),paddingTop:e(4),width:"100%",[`.${sliderClasses.markLabel}`]:{transform:"translateX(-100%)",'&[data-index="0"]':{transform:"none"}},[`.${numberRangeSliderClasses.inputContainer}`]:{marginTop:e(1),[`.${formControlClasses.root}`]:{flexGrow:1},[`.${numberRangeSliderClasses.toLabel}`]:{marginLeft:e(2),marginRight:e(2),paddingTop:e(2),alignSelf:"center"}}}})),NumberRangeSlider=({className:e,coerceNumber:r,component:t,deriveLocale:a,element:n,enabled:o,format:u,formatNumber:i,manualEntry:m,showMinMaxLabels:s,showTickMarks:l,name:c,raiseEvent:d,renderFocus:p,renderText:b,title:g,tooltip:f,value:C,setValue:F})=>{const R=a(),{currency:y,customDisplayFormat:N,decimals:v,displayFormat:S,endAdornment:E,isPercent:x,numberConstraints:A,startAdornment:D}=useMemo(()=>{var e,t,r=u,a=r?.currency||DEFAULT_CURRENCY,n=r?.displayFormat,o=n===NumberDisplayFormat.PERCENT,i=getNumberConstraints(r,numberFormatConfiguration),m=r?.customDisplayFormat,r=n===NumberDisplayFormat.CUSTOM?countDecimalsInCustomFormat(m):r?.precision,r=sanitizePrecision(r,i.step,numberFormatConfiguration);let s=null,l=null;return n===NumberDisplayFormat.CURRENCY||n===NumberDisplayFormat.ACCOUNTING?(e=getCurrencySymbolInfo(R,a))&&(t=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?s=t:l=t):!o||(e=getPercentSymbolInfo(R))&&(t=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?s=t:l=t),{currency:a,customDisplayFormat:m,decimals:r,displayFormat:n,endAdornment:l,isPercent:o,numberConstraints:i,startAdornment:s}},[u]);var I=A["step"];const L=A.maximum,P=A.minimum,[h,$]=useState(!1),[k,M]=useState(!1),[T,U]=useState([P,L]),j=useRef(!0),[w,B]=useMemo(()=>{var e=makeUniqueId(c);return[e,`${e}-slider-input`]},[c]);a=!1!==s,s=!!l,l=!1!==m,m=x?v-2:v;const V={currency:y,customDisplayFormat:N,format:S,fractionalDigits:m=Math.max(0,m),locale:R};useEffect(()=>{var e;j.current?j.current=!1:k?Y(T):h||(e=getNumberSliderValues(T,A),T[0]===e[0]&&T[1]===e[1]||U(e),X(C,e)||F(e))},[h,k,T]),useEffect(()=>{var e=getNumberSliderValues(C,A);X(C,e)||F(e,!1),X(T,e)||U(e)},[C]);const X=(e,t)=>void 0===e&&void 0===t[0]&&void 0===t[1]||(void 0===e&&null===t[0]&&null===t[1]||!(!Array.isArray(e)||2!==e.length||e[0]!==t[0]||e[1]!==t[1])),Y=useMemo(()=>throttle(e=>{d("dragged",e)}),[]),q=useFocusCallback(o,c,p);m=b(f),p=!o&&!k,f=l?{max:L,min:P,onBlur:()=>{$(!1)},onFocus:()=>{$(!0)},step:I,title:m}:void 0;return React.createElement(Root,{className:e,component:t,element:n,inputId:`${B}-0`},React.createElement(Box,{className:numberRangeSliderClasses.container},React.createElement(Slider,{disabled:p,getAriaLabel:()=>b(g),getAriaValueText:e=>i(e,V),marks:getMarks(L,P,I,V,a,s),max:L,min:P,onChange:(e,t)=>{M(!0),Array.isArray(t)&&U(t)},onChangeCommitted:()=>{M(!1)},slotProps:{input:()=>({ref:e=>(null===e||e.id||(e.id=`${B}-${e.attributes["data-index"].value}`),q(e))})},step:I,title:m,value:T,valueLabelDisplay:"on",valueLabelFormat:(e,t)=>i(e,V)}),!1!=l&&React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>{x&&(e*=100);var t={fractionalDigits:V.fractionalDigits,locale:V.locale};return i(e,t)},parseNumber:e=>{let t=r(e);return x&&(t=roundAccurately(t/100,v)),t}}},React.createElement(Stack,{direction:"row",className:numberRangeSliderClasses.inputContainer},React.createElement(FormLabelNumberField,{disabled:!o,id:`${w}-startInput`,inputProps:f,endAdornment:E,label:b("@common-start"),max:L,maxDecimalPlaces:v,min:P,onChange:e=>{void 0===e&&(e=P),U([e,T[1]])},startAdornment:D,value:T[0]}),React.createElement(Box,{className:numberRangeSliderClasses.toLabel}," ",b("@common-to")," "),React.createElement(FormLabelNumberField,{disabled:!o,endAdornment:E,id:`${w}-endInput`,inputProps:f,label:b("@common-end"),max:L,maxDecimalPlaces:v,min:P,onChange:e=>{void 0===e&&(e=L),U([T[0],e])},startAdornment:D,value:T[1]})))))};export default NumberRangeSlider;export{numberRangeSliderClasses};
@@ -1,10 +1,11 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const numberSliderClasses: {
4
- container: string;
5
- };
6
- /**
7
- * The component for the "Number Slider" Form Element.
8
- */
9
- declare const NumberSlider: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
10
- export default NumberSlider;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import { NumberRef } from "../FormDefinition";
4
+ export declare const numberSliderClasses: {
5
+ container: string;
6
+ };
7
+ /**
8
+ * The component for the "Number Slider" Form Element.
9
+ */
10
+ declare const NumberSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<NumberRef | undefined>) => JSX.Element;
11
+ export default NumberSlider;
@@ -1 +1 @@
1
- import Box from"@vertigis/react-ui/Box";import{inputBaseClasses}from"@vertigis/react-ui/InputBase";import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import Slider,{sliderClasses}from"@vertigis/react-ui/Slider";import{styled}from"@vertigis/react-ui/styles";import{useEffect,useMemo,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{DEFAULT_CURRENCY}from"../numberFormatter.js";import{getNumberSliderValues,areValuesEqual,getMarks,getNumberConstraints,sanitizePrecision}from"../numberUtilities.js";import{makeUniqueId,throttle}from"../utils.js";const PREFIX="NumberSlider",numberSliderClasses={container:`${PREFIX}-container`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${numberSliderClasses.container}`]:{display:"inline-flex",flexDirection:"column",paddingLeft:e(2),paddingRight:e(2),paddingTop:e(4),width:"100%",[`.${sliderClasses.markLabel}`]:{transform:"translateX(-100%)",'&[data-index="0"]':{transform:"none"}},[`.${inputBaseClasses.root}`]:{marginTop:e(1)}}})),NumberSlider=({className:e,component:r,element:a})=>{const{host:t,name:s}=r.props;var o=!r.enabled;const{currency:m,customDisplayFormat:i,decimals:l,displayFormat:n,numberConstraints:u}=useMemo(()=>{var e=a.format,r=getNumberConstraints(e),t=sanitizePrecision(e?.precision,r.step);return{currency:e?.currency||DEFAULT_CURRENCY,customDisplayFormat:e?.customDisplayFormat,decimals:t,displayFormat:e?.displayFormat,numberConstraints:r}},[a.format]),c=u["step"],p=u.maximum,d=u.minimum,[f,b]=useState(!1),[g,v]=useState(!1),[N,y]=useState(d),C=useRef(!0);var F=`${makeUniqueId(s)}-input`,E=t.deriveLocale(),x=!1!==a.showMinMaxLabels,R=!!a.showTickMarks,S=!1!==a.manualEntry;const D={currency:m,customDisplayFormat:i,format:n,fractionalDigits:l,locale:E},h=e=>({refValueType:"number",format:{currency:m,customDisplayFormat:i,displayFormat:n,lowerBound:d,precision:l,step:c,upperBound:p},display:t.formatNumber(e,D),numeric:e});useEffect(()=>{var e;C.current?C.current=!1:g?k(N):f||((e=getNumberSliderValues(N,u,!0)[0])!==N&&y(e),e=h(e),areValuesEqual(a,e)||(a.value=e,t.post("changed",{name:s,value:a.value})))},[f,g,N]),useEffect(()=>{var e=getNumberSliderValues(a.value,u,!0)[0],r=h(e);areValuesEqual(a,r)||(a.value=r),N!==e&&y(e)},[a.value]);const k=useMemo(()=>throttle(e=>{t.post("dragged",{name:s,value:h(e)})}),[]);var B=useFocusCallback(r),I=t.renderText(a.tooltip),E=o&&!g,o=o;return React.createElement(Root,{className:e,component:r,element:a,inputId:F},React.createElement(Box,{className:numberSliderClasses.container},React.createElement(Slider,{disabled:E,getAriaLabel:()=>t.renderText(a.title),getAriaValueText:e=>t.formatNumber(e,D),marks:getMarks(p,d,c,D,x,R),max:p,min:d,onChange:(e,r)=>{v(!0);r=Array.isArray(r)?r[0]:r;y(r)},onChangeCommitted:()=>{v(!1)},slotProps:{input:{id:F,ref:B}},step:c,title:I,value:"number"==typeof N?N:0,valueLabelDisplay:"on",valueLabelFormat:(e,r)=>t.formatNumber(e,D)}),!1!=S&&React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>{var r={fractionalDigits:D.fractionalDigits,locale:D.locale};return t.formatNumber(e,r)},parseNumber:e=>t.coerceNumber(e)}},React.createElement(NumberInput,{correctOnBlur:!0,disabled:o,error:!!a.error,inputProps:{step:c,title:I},max:p,maxDecimalPlaces:l,min:d,onChange:e=>{void 0===e?y(d):y(e)},onFocus:()=>{b(!0)},onBlur:()=>{b(!1)},size:"small",value:N}))))};export default NumberSlider;export{numberSliderClasses};
1
+ import Box from"@vertigis/react-ui/Box";import InputAdornment from"@vertigis/react-ui/InputAdornment";import{inputBaseClasses}from"@vertigis/react-ui/InputBase";import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import Slider,{sliderClasses}from"@vertigis/react-ui/Slider";import{styled}from"@vertigis/react-ui/styles";import{useEffect,useMemo,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{DEFAULT_CURRENCY,NumberDisplayFormat}from"../numberFormatter.js";import{areValuesEqual,countDecimalsInCustomFormat,getCurrencySymbolInfo,getMarks,getNumberConstraints,getNumberSliderValues,getPercentSymbolInfo,roundAccurately,sanitizePrecision}from"../numberUtilities.js";import{makeUniqueId,throttle}from"../utils.js";const PREFIX="NumberSlider",numberSliderClasses={container:`${PREFIX}-container`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${numberSliderClasses.container}`]:{display:"inline-flex",flexDirection:"column",paddingLeft:e(2),paddingRight:e(2),paddingTop:e(4),width:"100%",[`.${sliderClasses.markLabel}`]:{transform:"translateX(-100%)",'&[data-index="0"]':{transform:"none"}},[`.${inputBaseClasses.root}`]:{marginTop:e(1)}}})),NumberSlider=({className:e,coerceNumber:r,component:t,deriveLocale:a,element:o,enabled:n,error:s,format:u,formatNumber:m,manualEntry:i,showMinMaxLabels:l,showTickMarks:c,name:p,raiseEvent:d,renderFocus:b,renderText:f,title:y,tooltip:C,value:g,setValue:F})=>{const N=a(),{currency:E,customDisplayFormat:v,decimals:R,displayFormat:S,endAdornment:D,isPercent:I,numberConstraints:x,startAdornment:A}=useMemo(()=>{var e,t,r=u,a=r?.currency||DEFAULT_CURRENCY,o=r?.displayFormat,n=o===NumberDisplayFormat.PERCENT,s=getNumberConstraints(r),m=r?.customDisplayFormat,r=o===NumberDisplayFormat.CUSTOM?countDecimalsInCustomFormat(m):r?.precision,r=sanitizePrecision(r,s.step);let i=null,l=null;return o===NumberDisplayFormat.CURRENCY||o===NumberDisplayFormat.ACCOUNTING?(e=getCurrencySymbolInfo(N,a))&&(t=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?i=t:l=t):!n||(e=getPercentSymbolInfo(N))&&(t=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?i=t:l=t),{currency:a,customDisplayFormat:m,decimals:r,displayFormat:o,endAdornment:l,isPercent:n,numberConstraints:s,startAdornment:i}},[u]),P=x["step"],h=x.maximum,T=x.minimum,[k,B]=useState(!1),[M,U]=useState(!1),[L,V]=useState(T),j=useRef(!0);var q=`${makeUniqueId(p)}-input`,a=!1!==l,l=!!c,c=!1!==i,i=I?R-2:R,i=Math.max(0,i);const $={currency:E,customDisplayFormat:v,format:S,fractionalDigits:i,locale:N},w=e=>({refValueType:"number",format:{currency:E,customDisplayFormat:v,displayFormat:S,lowerBound:T,precision:R,step:P,upperBound:h},display:m(e,$),numeric:e});useEffect(()=>{var e;j.current?j.current=!1:M?z(L):k||((e=getNumberSliderValues(L,x,!0)[0])!==L&&V(e),e=w(e),areValuesEqual(g,e)||F(e))},[k,M,L]),useEffect(()=>{var e=getNumberSliderValues(g,x,!0)[0],t=w(e);areValuesEqual(g,t)||F(t,!1),L!==e&&V(e)},[g]);const z=useMemo(()=>throttle(e=>{d("dragged",w(e))}),[]);p=useFocusCallback(n,p,b),b=f(C),C=!n&&!M,n=!n;return React.createElement(Root,{className:e,component:t,element:o,inputId:q},React.createElement(Box,{className:numberSliderClasses.container},React.createElement(Slider,{disabled:C,getAriaLabel:()=>f(y),getAriaValueText:e=>m(e,$),marks:getMarks(h,T,P,$,a,l),max:h,min:T,onChange:(e,t)=>{U(!0);t=Array.isArray(t)?t[0]:t;V(t)},onChangeCommitted:()=>{U(!1)},slotProps:{input:{id:q,ref:p}},step:P,title:b,value:"number"==typeof L?L:0,valueLabelDisplay:"on",valueLabelFormat:(e,t)=>m(e,$)}),!1!=c&&React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>{I&&(e*=100);var t={fractionalDigits:$.fractionalDigits,locale:$.locale};return m(e,t)},parseNumber:e=>{let t=r(e);return I&&(t=roundAccurately(t/100,R)),t}}},React.createElement(NumberInput,{correctOnBlur:!0,disabled:n,endAdornment:D,error:!!s,inputProps:{step:P,title:b},max:h,maxDecimalPlaces:R,min:T,onChange:e=>{void 0===e?V(T):V(e)},onFocus:()=>{B(!0)},onBlur:()=>{B(!1)},size:"small",startAdornment:A,value:L}))))};export default NumberSlider;export{numberSliderClasses};
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- /**
4
- * The component for the "Radio Group" Form Element.
5
- */
6
- declare const RadioGroup: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
7
- export default RadioGroup;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import { defs } from "../FormHost";
4
+ /**
5
+ * The component for the "Radio Group" Form Element.
6
+ */
7
+ declare const RadioGroup: ({ className, component, current, element, enabled, id, items: elementItems, label, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, setValue, translateText, value, }: FormElementProps<defs.Value | undefined>) => JSX.Element;
8
+ export default RadioGroup;
@@ -1 +1 @@
1
- import FormControlLabel from"@vertigis/react-ui/FormControlLabel";import Radio from"@vertigis/react-ui/Radio";import BaseRadioGroup from"@vertigis/react-ui/RadioGroup";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{useEffect,useState}from"react";import FormElement from"../FormElement.js";import{Orientation}from"../constants.js";import{makeSafeClassName,sortItems as sortAndFilterItems}from"../utils.js";import Markdown from"./Markdown.js";const Root=styled(FormElement)(({theme:{spacing:e}})=>({marginBottom:e(1.5)})),RadioGroup=({className:e,component:t,element:o})=>{const[r,a]=useState(""),{host:m,name:n}=t.props;var s=sortAndFilterItems(o);useEffect(()=>{a(o.current||"")},[o.current]);var i=e=>{null===e||e.disabled||m.renderFocus(e,n)};const l=[];for(const p in s){const f=s[p];var c=t.enabled&&!1!==f.enabled,u=m.renderText(f.tooltip),d=f.styleName?makeSafeClassName(f.styleName):void 0;l.push(React.createElement(FormControlLabel,{className:d,control:React.createElement(Radio,{inputRef:i,onClick:e=>{o.current!==p&&(o.current=p,o.value=f.value,m.post("changed",{name:n,item:p,value:f.value}),a(p))}}),disabled:!c,key:p,label:React.createElement(Markdown,{host:m,text:f.label}),title:u,value:p}))}return React.createElement(Root,{className:e,component:t,element:o},React.createElement(BaseRadioGroup,{name:t.id,row:o.orientation===Orientation.HORIZONTAL,value:r},l))};export default RadioGroup;
1
+ import FormControlLabel from"@vertigis/react-ui/FormControlLabel";import Radio from"@vertigis/react-ui/Radio";import BaseRadioGroup from"@vertigis/react-ui/RadioGroup";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{useEffect}from"react";import FormElement from"../FormElement.js";import{Orientation}from"../constants.js";import{makeSafeClassName,inspectItems}from"../utils.js";import Markdown from"./Markdown.js";const Root=styled(FormElement)(({theme:{spacing:e}})=>({marginBottom:e(1.5)})),RadioGroup=({className:e,component:t,current:a,element:r,enabled:o,id:l,items:n,label:m,name:i,orientation:s,raiseEvent:c,renderFocus:u,renderText:d,setProperty:p,setValue:f,translateText:v,value:R})=>{const b=inspectItems(a,n,R);var E=b.items;const N=[];var g=e=>{null===e||e.disabled||u(e,i)};useEffect(()=>{a!==b.current&&p("current",b.current),m!==b.label&&p("label",b.label),R!==b.value&&f(b.value,!1)});for(const C in E){const x=E[C];var k=o&&!1!==x.enabled,y=d(x.tooltip),F=x.styleName?makeSafeClassName(x.styleName):void 0;N.push(React.createElement(FormControlLabel,{className:F,control:React.createElement(Radio,{inputRef:g,onClick:()=>{a!==C&&(p("current",C),x.value!==R?f(x.value,{item:C}):c("changed",x.value,void 0,C))}}),disabled:!k,key:C,label:React.createElement(Markdown,{text:x.label,translateText:v}),title:y,value:C}))}return React.createElement(Root,{className:e,component:t,element:r},React.createElement(BaseRadioGroup,{name:l,row:s===Orientation.HORIZONTAL,value:a||""},N))};export default RadioGroup;
@@ -1,9 +1,11 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const scannerClasses: {
4
- container: string;
5
- button: string;
6
- inputContainer: string;
7
- };
8
- declare const Scanner: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
9
- export default Scanner;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import * as defs from "../FormDefinition";
4
+ import { ScanRef } from "../FormDefinition";
5
+ export declare const scannerClasses: {
6
+ container: string;
7
+ button: string;
8
+ inputContainer: string;
9
+ };
10
+ declare const Scanner: ({ autoActivate, className, component, element, enabled, manualEntry, name, raiseEvent, renderFocus, renderText, require, scanType, setProperty, setValue: setElementValue, size, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ScanRef | undefined>) => JSX.Element;
11
+ export default Scanner;
@@ -1 +1 @@
1
- import Button from"@vertigis/react-ui/Button";import Input from"@vertigis/react-ui/Input";import Stack from"@vertigis/react-ui/Stack";import{Close as CloseIcon,ScanBarcode,ScanMulti,ScanQr}from"@vertigis/react-ui/icons";import{styled}from"@vertigis/react-ui/styles";import{useState,useEffect,useRef}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{ScanType}from"../constants.js";import{scannerConfiguration}from"../elements/Scanner.js";import{getKeyString}from"../keyboard.js";import{isScanRef,makeUniqueId}from"../utils.js";const PREFIX="Scanner",scannerClasses={container:`${PREFIX}-container`,button:`${PREFIX}-button`,inputContainer:`${PREFIX}-inner`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${scannerClasses.container}`]:{gap:e(.5),video:{width:"100%"},[`.${scannerClasses.inputContainer}`]:{alignItems:"flex-start",gap:e(.5),[`.${scannerClasses.button}`]:{minWidth:0,padding:e(.5)}}}})),CAMERA_READY_TIMEOUT_MS=1500;var EntryMethod;!function(e){e.Camera="camera",e.Manual="manual"}(EntryMethod=EntryMethod||{});const convertToScanRef=(e,t,a)=>{var r=typeof e,r="number"==r||"string"==r?e.toString():e?.value?.toString();if(r)return t=t||e?.entryMethod||EntryMethod.Manual,{refValueType:"scan",value:r,scanType:a=a||e?.scanType,entryMethod:t}},Scanner=({className:e,component:t,element:o})=>{const[a,r]=useState(!0),[n,c]=useState(null),[s,i]=useState(""),[l,u]=useState(!1),[m,d]=useState(scannerConfiguration.rows.default),p=useRef(null),{host:f,name:E}=t.props;var S=`${makeUniqueId(E)}-input`;const v="barcode"!==o.scanType;useEffect(()=>{let e=scannerConfiguration.rows.default;"number"==typeof o.size&&(e=Math.max(scannerConfiguration.rows.minimum,o.size)),d(e)},[o.size]),useEffect(()=>(u(!0),()=>u(!1)),[]),useEffect(()=>{l&&o.enabled&&o.autoActivate&&(o.autoActivate=!1,B())},[l]),useEffect(()=>{const e=()=>{r(!1),setTimeout(()=>{l&&r(!0)},CAMERA_READY_TIMEOUT_MS)};return n&&e(),()=>{n&&(n.reset(),e())}},[n]);var y=useFocusCallback(t);useEffect(()=>{let e=o.value;!isScanRef(e)&&e&&(o.value=e=convertToScanRef(e));var t=e?.value||"";s!==t&&i(t)},[o.value]);var C=f.renderText(o.tooltip),g=!t.enabled,R=g||!o.manualEntry;const T=(e,t,a)=>{e&&o.value?.value!==e&&(a=convertToScanRef(e,t,a),o.value=a,i(e),f.post("changed",{name:E,value:a}))},F=async e=>{var t=await import("@zxing/library");let a=void 0;return e===ScanType.QrCode?a=[t.BarcodeFormat.AZTEC,t.BarcodeFormat.DATA_MATRIX,t.BarcodeFormat.MAXICODE,t.BarcodeFormat.PDF_417,t.BarcodeFormat.QR_CODE]:e===ScanType.BarCode&&(a=[t.BarcodeFormat.CODABAR,t.BarcodeFormat.CODE_39,t.BarcodeFormat.CODE_93,t.BarcodeFormat.CODE_128,t.BarcodeFormat.EAN_8,t.BarcodeFormat.EAN_13,t.BarcodeFormat.ITF,t.BarcodeFormat.RSS_14,t.BarcodeFormat.RSS_EXPANDED,t.BarcodeFormat.UPC_A,t.BarcodeFormat.UPC_E,t.BarcodeFormat.UPC_EAN_EXTENSION]),a},B=async()=>{if(n)return c(null),void f.post("cancel",{name:E,type:"cancel"});if(l){var e=await(async e=>{var t=await import("@zxing/library"),e=await F(e);const a=new Map;return a.set(t.DecodeHintType.POSSIBLE_FORMATS,e),a})(o.scanType);const t=await import("@zxing/library");e=new t.BrowserMultiFormatReader(e);c(e),await(async e=>{try{var t=await e.listVideoInputDevices();if(!t||0==t.length)throw new DOMException("No video input devices detected.");const r=await e.decodeOnceFromVideoDevice(void 0,p.current||void 0),n=await F(ScanType.QrCode);var a=n.indexOf(r.getBarcodeFormat())<0?ScanType.BarCode:ScanType.QrCode;T(r.toString(),EntryMethod.Camera,a),c(null)}catch(e){e instanceof DOMException&&(o.error=e.message,c(null))}})(e)}};return React.createElement(Root,{className:e,component:t,element:o,inputId:S},React.createElement(Stack,{className:scannerClasses.container},React.createElement("video",{hidden:!n,ref:p}),React.createElement(Stack,{className:scannerClasses.inputContainer,direction:"row"},React.createElement(Input,{disabled:R,fullWidth:!0,id:S,inputProps:{title:C},inputRef:y,multiline:v,onBlur:e=>{0<e.currentTarget.value.length&&(c(null),T(e.currentTarget.value,EntryMethod.Manual))},onChange:e=>{i(e.currentTarget.value)},onKeyDown:e=>{"enter"===getKeyString(e)&&e.stopPropagation(),v||(e=e.currentTarget,c(null),T(e.value,EntryMethod.Manual))},required:o.require,rows:v?m:void 0,spellCheck:!1,value:s}),React.createElement(Button,{className:scannerClasses.button,color:"primary",disabled:g||!a,onClick:B,ref:y,title:C},n?React.createElement(CloseIcon,null):o.scanType===ScanType.BarCode?React.createElement(ScanBarcode,null):o.scanType===ScanType.QrCode?React.createElement(ScanQr,null):React.createElement(ScanMulti,null)))))};export default Scanner;export{scannerClasses};
1
+ import Button from"@vertigis/react-ui/Button";import Input from"@vertigis/react-ui/Input";import Stack from"@vertigis/react-ui/Stack";import{Close as CloseIcon,ScanBarcode,ScanMulti,ScanQr}from"@vertigis/react-ui/icons";import{styled}from"@vertigis/react-ui/styles";import{useState,useEffect,useRef}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{ScanType}from"../constants.js";import{scannerConfiguration}from"../elements/Scanner.js";import{getKeyString}from"../keyboard.js";import{isScanRef,makeUniqueId}from"../utils.js";const PREFIX="Scanner",scannerClasses={container:`${PREFIX}-container`,button:`${PREFIX}-button`,inputContainer:`${PREFIX}-inner`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${scannerClasses.container}`]:{gap:e(.5),video:{width:"100%"},[`.${scannerClasses.inputContainer}`]:{alignItems:"flex-start",gap:e(.5),[`.${scannerClasses.button}`]:{minWidth:0,padding:e(.5)}}}})),CAMERA_READY_TIMEOUT_MS=1500;var EntryMethod;!function(e){e.Camera="camera",e.Manual="manual"}(EntryMethod=EntryMethod||{});const convertToScanRef=(e,t,a)=>{var r=typeof e,r="number"==r||"string"==r?e.toString():e?.value?.toString();if(r)return t=t||e?.entryMethod||EntryMethod.Manual,{refValueType:"scan",value:r,scanType:a=a||e?.scanType,entryMethod:t}},Scanner=({autoActivate:e,className:t,component:a,element:r,enabled:n,manualEntry:o,name:c,raiseEvent:i,renderFocus:s,renderText:l,require:u,scanType:m,setProperty:d,setValue:p,size:E,tooltip:f,value:S})=>{const[C,y]=useState(!0),[v,R]=useState(null),[g,F]=useState(""),[T,B]=useState(!1),[M,h]=useState(scannerConfiguration.rows.default),w=useRef(null);var A=`${makeUniqueId(c)}-input`;const I="barcode"!==m;useEffect(()=>{let e=scannerConfiguration.rows.default;"number"==typeof E&&(e=Math.max(scannerConfiguration.rows.minimum,E)),h(e)},[E]),useEffect(()=>(B(!0),()=>B(!1)),[]),useEffect(()=>{T&&n&&e&&(d("autoActivate",!1),b())},[T]),useEffect(()=>{const e=()=>{y(!1),setTimeout(()=>{T&&y(!0)},CAMERA_READY_TIMEOUT_MS)};return v&&e(),()=>{v&&(v.reset(),e())}},[v]);s=useFocusCallback(n,c,s);useEffect(()=>{let e=S;!isScanRef(e)&&e&&(e=convertToScanRef(e),p(e,!1));var t=e?.value||"";g!==t&&F(t)},[S]);l=l(f),f=!n,o=f||!o;const _=(e,t,a)=>{e&&S?.value!==e&&(a=convertToScanRef(e,t,a),p(a),F(e))},D=async e=>{var t=await import("@zxing/library");let a;return e===ScanType.QrCode?a=[t.BarcodeFormat.AZTEC,t.BarcodeFormat.DATA_MATRIX,t.BarcodeFormat.MAXICODE,t.BarcodeFormat.PDF_417,t.BarcodeFormat.QR_CODE]:e===ScanType.BarCode&&(a=[t.BarcodeFormat.CODABAR,t.BarcodeFormat.CODE_39,t.BarcodeFormat.CODE_93,t.BarcodeFormat.CODE_128,t.BarcodeFormat.EAN_8,t.BarcodeFormat.EAN_13,t.BarcodeFormat.ITF,t.BarcodeFormat.RSS_14,t.BarcodeFormat.RSS_EXPANDED,t.BarcodeFormat.UPC_A,t.BarcodeFormat.UPC_E,t.BarcodeFormat.UPC_EAN_EXTENSION]),a},b=async()=>{if(v)return R(null),void i("cancel",void 0);if(T){var e=await(async e=>{var t=await import("@zxing/library"),e=await D(e);const a=new Map;return a.set(t.DecodeHintType.POSSIBLE_FORMATS,e),a})(m);const t=await import("@zxing/library");e=new t.BrowserMultiFormatReader(e);R(e),await(async e=>{try{var t=await e.listVideoInputDevices();if(!t||0==t.length)throw new DOMException("No video input devices detected.");const r=await e.decodeOnceFromVideoDevice(void 0,w.current||void 0),n=await D(ScanType.QrCode);var a=n.indexOf(r.getBarcodeFormat())<0?ScanType.BarCode:ScanType.QrCode;_(r.toString(),EntryMethod.Camera,a),R(null)}catch(e){e instanceof DOMException&&(d("error",e.message),R(null))}})(e)}};return React.createElement(Root,{className:t,component:a,element:r,inputId:A},React.createElement(Stack,{className:scannerClasses.container},React.createElement("video",{hidden:!v,ref:w}),React.createElement(Stack,{className:scannerClasses.inputContainer,direction:"row"},React.createElement(Input,{disabled:o,fullWidth:!0,id:A,inputProps:{title:l},inputRef:s,multiline:I,onBlur:e=>{0<e.currentTarget.value.length&&(R(null),_(e.currentTarget.value,EntryMethod.Manual))},onChange:e=>{F(e.currentTarget.value)},onKeyDown:e=>{"enter"===getKeyString(e)&&e.stopPropagation(),I||(e=e.currentTarget,R(null),_(e.value,EntryMethod.Manual))},required:u,rows:I?M:void 0,spellCheck:!1,value:g}),React.createElement(Button,{className:scannerClasses.button,color:"primary",disabled:f||!C,onClick:b,ref:s,title:l},v?React.createElement(CloseIcon,null):m===ScanType.BarCode?React.createElement(ScanBarcode,null):m===ScanType.QrCode?React.createElement(ScanQr,null):React.createElement(ScanMulti,null)))))};export default Scanner;export{scannerClasses};
@@ -1,14 +1,14 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const sectionClasses: {
4
- root: string;
5
- basicSection: string;
6
- fieldSetSection: string;
7
- title: string;
8
- description: string;
9
- };
10
- /**
11
- * The component for the "Section" Form Element.
12
- */
13
- declare const Section: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
14
- export default Section;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ export declare const sectionClasses: {
4
+ root: string;
5
+ basicSection: string;
6
+ fieldSetSection: string;
7
+ title: string;
8
+ description: string;
9
+ };
10
+ /**
11
+ * The component for the "Section" Form Element.
12
+ */
13
+ declare const Section: ({ accessibleDescription: elementAccessibleDescription, className, collapsed, component, description: elementDescription, element, enabled, error: elementError, hasInvalidChild, name, refs, renderFocus, setProperty, translateText, updateAccordionSections, }: FormElementProps) => JSX.Element;
14
+ export default Section;
@@ -1 +1 @@
1
- import Accordion,{accordionClasses}from"@vertigis/react-ui/Accordion";import AccordionSummary from"@vertigis/react-ui/AccordionSummary";import Box from"@vertigis/react-ui/Box";import FormLabel from"@vertigis/react-ui/FormLabel";import ChevronDown from"@vertigis/react-ui/icons/ChevronDown";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect}from"react";import{defs}from"../FormHost.js";import{renderAccessibleDescription,renderDescription,renderError}from"../common.js";import{makeSafeClassName,makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="WorkflowSection",sectionClasses={root:`${PREFIX}-root`,basicSection:`${PREFIX}-basicSection`,fieldSetSection:`${PREFIX}-fieldSetSection`,title:`${PREFIX}-title`,description:`${PREFIX}-description`},AccordionRoot=styled(Accordion)(({theme:{spacing:e}})=>({[`.${accordionClasses.region}`]:{padding:e(1),[`.${sectionClasses.description} p`]:{marginBottom:0,marginTop:0,padding:e(.5)}}})),BoxRoot=styled(Box)(({theme:{palette:e,spacing:o,typography:{pxToRem:t}}})=>({marginBottom:o(4),marginTop:o(4),[`.${sectionClasses.description} p`]:{marginBottom:0,marginTop:0,padding:o(.5)},[`&.${sectionClasses.basicSection}`]:{borderLeft:`6px solid ${e.primary[500]}`,paddingLeft:o(1),paddingRight:o(1)},[`&.${sectionClasses.fieldSetSection}`]:{position:"relative",border:`3px solid ${e.primary[500]}`,borderLeft:"none",borderRight:"none",paddingTop:o(3),paddingBottom:o(2),[`.${sectionClasses.title}`]:{backgroundColor:e.background.default,position:"absolute",top:t(-22),left:0,padding:0,"& span":{paddingRight:o(1)}}}})),Section=({className:e,component:t,element:i})=>{const r=t.props["host"],s=t.props.name;let o;null!=i&&i.format&&(o=i.format),o=void 0!==o&&null!==o?o:defs.DEFAULT_SECTION_FORMAT;const a=r.isAccordionSection(i),n=a||r.isCollapsibleSection(i);var c=`${makeUniqueId(s)}-input`;useEffect(()=>(r.refs[s]=t,()=>{r.refs[s]=void 0}),[]);var l,d,m=(l=i,d=c,React.createElement(FormLabel,{className:sectionClasses.title,error:n&&r.hasInvalidChild(l),id:`${d}-label`,component:"h6"},React.createElement(Markdown,{host:r,inline:!0,text:l.title}))),p=renderDescription(r,i,c,sectionClasses.description),f=renderAccessibleDescription(r,i,c),g=renderError(r,i),c={"aria-labelledby":m?.props?.id,"aria-details":p?.props?.id,"aria-describedby":f?.props?.id},g=[p,f,g,t.props.children],e=clsx(e,i.type,sectionClasses.root,{[sectionClasses.basicSection]:"basic-section"===o,[sectionClasses.fieldSetSection]:"fieldset-section"===o,[makeSafeClassName(s)]:!!s,[makeSafeClassName(i.styleName)]:!!i.styleName});return n?React.createElement(AccordionRoot,{className:e,expanded:!0!==i.collapsed,onChange:(e,o)=>{a&&o?r.updateAccordionSections(s):(i.collapsed=!o,t.forceUpdate())},...c},React.createElement(AccordionSummary,{expandIcon:React.createElement(ChevronDown,null),ref:e=>{null!==e&&i.collapsed&&r.renderFocus(e,s)}},m),...g):React.createElement(BoxRoot,{className:e,component:"section",...c},m,React.createElement(Box,null,...g))};export default Section;export{sectionClasses};
1
+ import Accordion,{accordionClasses}from"@vertigis/react-ui/Accordion";import AccordionSummary from"@vertigis/react-ui/AccordionSummary";import Box from"@vertigis/react-ui/Box";import FormLabel from"@vertigis/react-ui/FormLabel";import ChevronDown from"@vertigis/react-ui/icons/ChevronDown";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect}from"react";import{defs}from"../FormHost.js";import{renderAccessibleDescription,renderDescription,renderError}from"../common.js";import{isAccordionSection,isCollapsibleSection,makeSafeClassName,makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="WorkflowSection",sectionClasses={root:`${PREFIX}-root`,basicSection:`${PREFIX}-basicSection`,fieldSetSection:`${PREFIX}-fieldSetSection`,title:`${PREFIX}-title`,description:`${PREFIX}-description`},AccordionRoot=styled(Accordion)(({theme:{spacing:e}})=>({[`.${accordionClasses.region}`]:{padding:e(1),[`.${sectionClasses.description} p`]:{marginBottom:0,marginTop:0,padding:e(.5)}}})),BoxRoot=styled(Box)(({theme:{palette:e,spacing:o,typography:{pxToRem:t}}})=>({marginBottom:o(4),marginTop:o(4),[`.${sectionClasses.description} p`]:{marginBottom:0,marginTop:0,padding:o(.5)},[`&.${sectionClasses.basicSection}`]:{borderLeft:`6px solid ${e.primary[500]}`,paddingLeft:o(1),paddingRight:o(1)},[`&.${sectionClasses.fieldSetSection}`]:{position:"relative",border:`3px solid ${e.primary[500]}`,borderLeft:"none",borderRight:"none",paddingTop:o(3),paddingBottom:o(2),[`.${sectionClasses.title}`]:{backgroundColor:e.background.default,position:"absolute",top:t(-22),left:0,padding:0,"& span":{paddingRight:o(1)}}}})),Section=({accessibleDescription:e,className:o,collapsed:t,component:i,description:r,element:s,enabled:n,error:a,hasInvalidChild:c,name:l,refs:d,renderFocus:m,setProperty:p,translateText:f,updateAccordionSections:g})=>{let u;null!=s&&s.format&&(u=s.format),u=void 0!==u&&null!==u?u:defs.DEFAULT_SECTION_FORMAT;const S=isAccordionSection(s),b=S||isCollapsibleSection(s);var C=`${makeUniqueId(l)}-input`;useEffect(()=>(d[l]=i,()=>{d[l]=void 0}),[]);var R,x,E=(R=s,x=C,React.createElement(FormLabel,{className:sectionClasses.title,error:b&&(c(R)||!!a),id:`${x}-label`,component:"h6"},React.createElement(Markdown,{inline:!0,text:R.title,translateText:f}))),n=renderDescription(r,C,n,f,sectionClasses.description),e=renderAccessibleDescription(e,r,C,f),r=renderError(a,f),C={"aria-labelledby":E?.props?.id,"aria-details":n?.props?.id,"aria-describedby":e?.props?.id},r=[n,e,r,i.props.children],s=clsx(o,s.type,sectionClasses.root,{[sectionClasses.basicSection]:"basic-section"===u,[sectionClasses.fieldSetSection]:"fieldset-section"===u,[makeSafeClassName(l)]:!!l,[makeSafeClassName(s.styleName)]:!!s.styleName});return b?React.createElement(AccordionRoot,{className:s,expanded:!0!==t,onChange:(e,o)=>{S&&o?g(l):p("collapsed",!o)},...C},React.createElement(AccordionSummary,{expandIcon:React.createElement(ChevronDown,null),ref:e=>{null!==e&&t&&m(e,l)}},E),...r):React.createElement(BoxRoot,{className:s,component:"section",...C},E,React.createElement(Box,null,...r))};export default Section;export{sectionClasses};
@@ -1,11 +1,12 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- export declare const signatureClasses: {
4
- button: string;
5
- image: string;
6
- };
7
- /**
8
- * The component for the "Signature" Form Element.
9
- */
10
- declare const Signature: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
11
- export default Signature;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ import * as defs from "../FormDefinition";
4
+ export declare const signatureClasses: {
5
+ button: string;
6
+ image: string;
7
+ };
8
+ /**
9
+ * The component for the "Signature" Form Element.
10
+ */
11
+ declare const Signature: ({ className, component, displayDialog, element, enabled, label, name, prompt, renderFocus, renderText, require, setValue, size, title, tooltip: elementTooltip, translateText, value, }: FormElementProps<defs.SignatureRef | undefined>) => JSX.Element;
12
+ export default Signature;
@@ -1 +1 @@
1
- import Box from"@vertigis/react-ui/Box";import Button from"@vertigis/react-ui/Button";import Dialog from"@vertigis/react-ui/Dialog";import IconButton from"@vertigis/react-ui/IconButton";import SignatureIcon from"@vertigis/react-ui/icons/Signature";import Trash from"@vertigis/react-ui/icons/Trash";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{useEffect,useState}from"react";import FormElement from"../FormElement.js";import{renderTitle}from"../common.js";import{signatureConfiguration}from"../elements/Signature.js";import{makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";import SignatureDialog from"./SignatureDialog.js";const PREFIX="Signature",signatureClasses={button:`${PREFIX}-button`,image:`${PREFIX}-image`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${signatureClasses.button}`]:{marginBottom:e(1),marginTop:e(1)},[`.${signatureClasses.image}`]:{alignItems:"flex-start",display:"flex",flexDirection:"row",gap:e(1),img:{border:"solid 1px grey",flexShrink:1,minWidth:0}}})),Signature=({className:e,component:t,element:i})=>{const r=t.props["host"],o=t.props.name,[a,n]=useState(),[s,l]=useState(500),m=r.renderText(i.tooltip),c=r.renderText("@common-clear");useEffect(()=>{var e=i.size;let t=signatureConfiguration.width.default;"number"!=typeof e||isNaN(e)?"object"!=typeof e||void 0===e.width||isNaN(e.width)||(t=e.width):t=e,t=Math.max(t,signatureConfiguration.width.minimum),t=Math.min(t,signatureConfiguration.width.maximum),l(t)},[i.size]),useEffect(()=>{var e=i.value;n(e?.dataUrl)},[i.value]);const u=async e=>{if(e){const a=await fetch(e);var t=await a.blob(),t=new File([t],`${o}.png`,{type:t.type});i.value={refValueType:"signature",dataUrl:e,file:t}}else i.value=void 0;n(e)};return React.createElement(Root,{className:e,component:t,element:i},a?React.createElement(Box,{className:signatureClasses.image},React.createElement("img",{src:a,alt:m}),React.createElement(IconButton,{"aria-label":c,disabled:!t.enabled,onClick:()=>u(void 0),title:c},React.createElement(Trash,null))):null,a?null:React.createElement(Box,{className:signatureClasses.button},React.createElement(Button,{color:"primary",disabled:!1===i.enabled,onClick:async()=>{const e=Math.round(.4*s);await r.displayDialog(a=>React.createElement(SignatureDialog,{cancelCaption:r.renderText("@common-cancel"),clearCaption:c,doneCaption:r.renderText("@common-done"),format:"image/png",height:e,helperText:React.createElement(Markdown,{host:r,inline:!0,text:i.label}),onClose:(e,t)=>{e&&u(t),a()},title:renderTitle(r,i,makeUniqueId(t.props.name+"-dialog")),undoCaption:r.renderText("@common-undo"),width:s}),Dialog)},startIcon:React.createElement(SignatureIcon,null),title:m,variant:"outlined"},React.createElement(Markdown,{host:r,inline:!0,text:i.prompt||""}))))};export default Signature;export{signatureClasses};
1
+ import Box from"@vertigis/react-ui/Box";import Button from"@vertigis/react-ui/Button";import Dialog from"@vertigis/react-ui/Dialog";import IconButton from"@vertigis/react-ui/IconButton";import SignatureIcon from"@vertigis/react-ui/icons/Signature";import Trash from"@vertigis/react-ui/icons/Trash";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{useEffect,useState}from"react";import FormElement from"../FormElement.js";import{renderTitle}from"../common.js";import{signatureConfiguration}from"../elements/Signature.js";import{makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";import SignatureDialog from"./SignatureDialog.js";const PREFIX="Signature",signatureClasses={button:`${PREFIX}-button`,image:`${PREFIX}-image`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${signatureClasses.button}`]:{marginBottom:e(1),marginTop:e(1)},[`.${signatureClasses.image}`]:{alignItems:"flex-start",display:"flex",flexDirection:"row",gap:e(1),img:{border:"solid 1px grey",flexShrink:1,minWidth:0}}})),Signature=({className:e,component:t,displayDialog:a,element:i,enabled:n,label:r,name:o,prompt:l,renderFocus:s,renderText:m,require:c,setValue:u,size:g,title:d,tooltip:p,translateText:f,value:h})=>{const[x,E]=useState(),[C,R]=useState(500),w=m(p),b=m("@common-clear");useEffect(()=>{let e=signatureConfiguration.width.default;"number"!=typeof g||isNaN(g)?"object"!=typeof g||void 0===g.width||isNaN(g.width)||(e=g.width):e=g,e=Math.max(e,signatureConfiguration.width.minimum),e=Math.min(e,signatureConfiguration.width.maximum),R(e)},[g]),useEffect(()=>{E(h?.dataUrl)},[h]);const S=async e=>{if(e){const a=await fetch(e);var t=await a.blob(),t=new File([t],`${o}.png`,{type:t.type});u({refValueType:"signature",dataUrl:e,file:t})}else u(void 0);E(e)};return React.createElement(Root,{className:e,component:t,element:i},x?React.createElement(Box,{className:signatureClasses.image},React.createElement("img",{src:x,alt:w}),React.createElement(IconButton,{"aria-label":b,disabled:!n,onClick:()=>S(void 0),title:b},React.createElement(Trash,null))):null,x?null:React.createElement(Box,{className:signatureClasses.button},React.createElement(Button,{disabled:!n,onClick:async()=>{const e=Math.round(.4*C);await a(a=>React.createElement(SignatureDialog,{cancelCaption:m("@common-cancel"),clearCaption:b,doneCaption:m("@common-done"),format:"image/png",height:e,helperText:React.createElement(Markdown,{inline:!0,text:r,translateText:f}),onClose:(e,t)=>{e&&S(t),a()},title:renderTitle(makeUniqueId(o+"-dialog"),c,d,f),undoCaption:m("@common-undo"),width:C}),Dialog)},ref:e=>{null===e||e.disabled||s(e,o)},startIcon:React.createElement(SignatureIcon,null),title:w,variant:"outlined"},React.createElement(Markdown,{inline:!0,text:l||"",translateText:f}))))};export default Signature;export{signatureClasses};
@@ -1,22 +1,22 @@
1
- /// <reference types="react" />
2
- export declare const signatureDialogClasses: {
3
- canvas: string;
4
- canvasAnnotations: string;
5
- container: string;
6
- mark: string;
7
- titleText: string;
8
- };
9
- export interface StyledDialogProps {
10
- cancelCaption: string;
11
- clearCaption: string;
12
- doneCaption: string;
13
- format: string;
14
- helperText: JSX.Element | null;
15
- height: number;
16
- title: JSX.Element | null;
17
- undoCaption: string;
18
- width: number;
19
- onClose: (confirm: boolean, dataUrl: string | undefined) => void;
20
- }
21
- declare const SignatureDialog: ({ cancelCaption, clearCaption, doneCaption, format, height, helperText, title, undoCaption, width, onClose, }: StyledDialogProps) => JSX.Element;
22
- export default SignatureDialog;
1
+ /// <reference types="react" />
2
+ export declare const signatureDialogClasses: {
3
+ canvas: string;
4
+ canvasAnnotations: string;
5
+ container: string;
6
+ mark: string;
7
+ titleText: string;
8
+ };
9
+ export interface StyledDialogProps {
10
+ cancelCaption: string;
11
+ clearCaption: string;
12
+ doneCaption: string;
13
+ format: string;
14
+ helperText: JSX.Element | null;
15
+ height: number;
16
+ title: JSX.Element | null;
17
+ undoCaption: string;
18
+ width: number;
19
+ onClose: (confirm: boolean, dataUrl: string | undefined) => void;
20
+ }
21
+ declare const SignatureDialog: ({ cancelCaption, clearCaption, doneCaption, format, height, helperText, title, undoCaption, width, onClose, }: StyledDialogProps) => JSX.Element;
22
+ export default SignatureDialog;
@@ -1 +1 @@
1
- import Box from"@vertigis/react-ui/Box";import Button from"@vertigis/react-ui/Button";import DialogActions from"@vertigis/react-ui/DialogActions";import DialogContent from"@vertigis/react-ui/DialogContent";import DialogTitle from"@vertigis/react-ui/DialogTitle";import IconButton from"@vertigis/react-ui/IconButton";import Skeleton from"@vertigis/react-ui/Skeleton";import Stack from"@vertigis/react-ui/Stack";import Typography from"@vertigis/react-ui/Typography";import Trash from"@vertigis/react-ui/icons/Trash";import Undo from"@vertigis/react-ui/icons/Undo";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{lazy,Suspense}from"react";const SignaturePadWrapper=lazy(()=>import("react-signature-pad-wrapper")),DialogPrefix="SignatureDialog",signatureDialogClasses={canvas:`${DialogPrefix}-canvas`,canvasAnnotations:`${DialogPrefix}-canvas-annotations`,container:`${DialogPrefix}-container`,mark:`${DialogPrefix}-mark`,titleText:`${DialogPrefix}-title-text`},StyledDialogTitle=styled(DialogTitle)(()=>({display:"flex",[`.${signatureDialogClasses.titleText}`]:{flexGrow:1,flexShrink:1}})),StyledDialogContent=styled(DialogContent)(({theme:{spacing:e,typography:t}})=>({[`.${signatureDialogClasses.container}`]:{backgroundColor:"#eee",filter:"drop-shadow(2px 2px 2px grey)",[`.${signatureDialogClasses.canvas}`]:{position:"relative",zIndex:1},[`.${signatureDialogClasses.canvasAnnotations}`]:{alignItems:"center",display:"flex",flexDirection:"column",marginTop:t.pxToRem(-64),paddingLeft:e(1),paddingRight:e(1),position:"relative",zIndex:0,[`.${signatureDialogClasses.mark}`]:{fontSize:"large",borderBottom:"solid 1px black",width:"100%"}}}})),SignatureDialog=({cancelCaption:e,clearCaption:t,doneCaption:a,format:i,height:o,helperText:r,title:n,undoCaption:l,width:s,onClose:c})=>{let g,m,p;return React.createElement(React.Fragment,null,React.createElement(StyledDialogTitle,null,React.createElement("div",{className:signatureDialogClasses.titleText},n),React.createElement(Stack,{direction:"row"},React.createElement(IconButton,{"aria-label":l,onClick:async()=>{if(g){const e=g.toData();e.pop(),g.fromData(e)}},title:l},React.createElement(Undo,null)),React.createElement(IconButton,{"aria-label":t,onClick:async()=>{m&&m.clear()},title:t},React.createElement(Trash,null)))),React.createElement(StyledDialogContent,null,React.createElement(Box,{className:signatureDialogClasses.container,sx:{height:`${o}px`,width:`${s}px`}},React.createElement(Suspense,{fallback:React.createElement(Skeleton,{variant:"rectangular",width:s,height:o})},React.createElement(SignaturePadWrapper,{canvasProps:{className:signatureDialogClasses.canvas},ref:e=>{g=e||void 0,m=g?.instance||void 0,p=g?.canvas?.current||void 0,p&&(p.oncontextmenu=()=>!1,p.height=o,p.width=s)}}),React.createElement(Box,{className:signatureDialogClasses.canvasAnnotations},React.createElement(Typography,{"aria-hidden":!0,className:signatureDialogClasses.mark},"X"),React.createElement(Typography,{variant:"caption"},r))))),React.createElement(DialogActions,null,React.createElement(Button,{color:"primary",onClick:()=>{let e;m&&!m.isEmpty()&&(e=m.toDataURL(i)),c(!0,e)},variant:"contained"},React.createElement(Typography,null,a)),React.createElement(Button,{color:"inherit",onClick:()=>{c(!1,void 0)},variant:"outlined"},React.createElement(Typography,null,e))))};export default SignatureDialog;export{signatureDialogClasses};
1
+ import Box from"@vertigis/react-ui/Box";import Button from"@vertigis/react-ui/Button";import DialogActions from"@vertigis/react-ui/DialogActions";import DialogContent from"@vertigis/react-ui/DialogContent";import DialogTitle from"@vertigis/react-ui/DialogTitle";import IconButton from"@vertigis/react-ui/IconButton";import Skeleton from"@vertigis/react-ui/Skeleton";import Stack from"@vertigis/react-ui/Stack";import Typography from"@vertigis/react-ui/Typography";import Trash from"@vertigis/react-ui/icons/Trash";import Undo from"@vertigis/react-ui/icons/Undo";import{styled}from"@vertigis/react-ui/styles";import*as React from"react";import{lazy,Suspense}from"react";const SignaturePadWrapper=lazy(()=>import("react-signature-pad-wrapper")),DialogPrefix="SignatureDialog",signatureDialogClasses={canvas:`${DialogPrefix}-canvas`,canvasAnnotations:`${DialogPrefix}-canvas-annotations`,container:`${DialogPrefix}-container`,mark:`${DialogPrefix}-mark`,titleText:`${DialogPrefix}-title-text`},StyledDialogTitle=styled(DialogTitle)(()=>({display:"flex",[`.${signatureDialogClasses.titleText}`]:{flexGrow:1,flexShrink:1}})),StyledDialogContent=styled(DialogContent)(({theme:{spacing:e,typography:t}})=>({[`.${signatureDialogClasses.container}`]:{backgroundColor:"#eee",filter:"drop-shadow(2px 2px 2px grey)",[`.${signatureDialogClasses.canvas}`]:{position:"relative",zIndex:1},[`.${signatureDialogClasses.canvasAnnotations}`]:{alignItems:"center",display:"flex",flexDirection:"column",marginTop:t.pxToRem(-64),paddingLeft:e(1),paddingRight:e(1),position:"relative",zIndex:0,[`.${signatureDialogClasses.mark}`]:{fontSize:"large",borderBottom:"solid 1px black",width:"100%"}}}})),SignatureDialog=({cancelCaption:e,clearCaption:t,doneCaption:a,format:i,height:o,helperText:r,title:n,undoCaption:l,width:s,onClose:c})=>{let g,m,p;return React.createElement(React.Fragment,null,React.createElement(StyledDialogTitle,null,React.createElement("div",{className:signatureDialogClasses.titleText},n),React.createElement(Stack,{direction:"row"},React.createElement(IconButton,{"aria-label":l,onClick:async()=>{if(g){const e=g.toData();e.pop(),g.fromData(e)}},title:l},React.createElement(Undo,null)),React.createElement(IconButton,{"aria-label":t,onClick:async()=>{m&&m.clear()},title:t},React.createElement(Trash,null)))),React.createElement(StyledDialogContent,null,React.createElement(Box,{className:signatureDialogClasses.container,sx:{height:`${o}px`,width:`${s}px`}},React.createElement(Suspense,{fallback:React.createElement(Skeleton,{variant:"rectangular",width:s,height:o})},React.createElement(SignaturePadWrapper,{canvasProps:{className:signatureDialogClasses.canvas},ref:e=>{g=e||void 0,m=g?.instance||void 0,p=g?.canvas?.current||void 0,p&&(p.oncontextmenu=()=>!1,p.height=o,p.width=s)}}),React.createElement(Box,{className:signatureDialogClasses.canvasAnnotations},React.createElement(Typography,{"aria-hidden":!0,className:signatureDialogClasses.mark},"X"),React.createElement(Typography,{variant:"caption"},r))))),React.createElement(DialogActions,null,React.createElement(Button,{color:"primary",onClick:()=>{let e;m&&!m.isEmpty()&&(e=m.toDataURL(i)),c(!0,e)},variant:"contained"},a),React.createElement(Button,{color:"inherit",onClick:()=>{c(!1,void 0)},variant:"outlined"},e)))};export default SignatureDialog;export{signatureDialogClasses};
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- /**
4
- * The component for the "Text" Form Element.
5
- * It just exposes the Title and Description which are common to all.
6
- */
7
- declare const Text: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
8
- export default Text;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ /**
4
+ * The component for the "Text" Form Element.
5
+ * It just exposes the Title and Description which are common to all.
6
+ */
7
+ declare const Text: ({ className, component, element }: FormElementProps) => JSX.Element;
8
+ export default Text;
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- import { BaseFormElementProps } from "../FormElement";
3
- /**
4
- * The component for the "Text Area" Form Element.
5
- */
6
- declare const TextArea: ({ className, component, element }: BaseFormElementProps) => JSX.Element;
7
- export default TextArea;
1
+ /// <reference types="react" />
2
+ import { FormElementProps } from "../..";
3
+ /**
4
+ * The component for the "Text Area" Form Element.
5
+ */
6
+ declare const TextArea: ({ className, component, element, enabled, name, maxLength, prompt, readOnly, renderFocus: hostRenderFocus, require, size, tooltip, value: elementValue, wrap: elementWrap, renderText, setValue: setElementValue, }: FormElementProps<string | undefined>) => JSX.Element;
7
+ export default TextArea;
@@ -1 +1 @@
1
- import Input from"@vertigis/react-ui/Input";import{useEffect,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{makeUniqueId}from"../utils.js";const TextArea=({className:e,component:a,element:r})=>{const[t,n]=useState(8),[o,u]=useState(""),[l,s]=useState("soft"),{host:p,name:m}=a.props;var i=`${makeUniqueId(m)}-input`,f=r.maxLength,c=p.renderText(r.prompt),d=r.readOnly,v=p.renderText(r.tooltip);useEffect(()=>{"number"==typeof r.size&&n(r.size)},[r.size]),useEffect(()=>{let e="";var t=r.value;"string"==typeof t&&(e=t),r.value!==e&&(r.value=e,a.forceUpdate()),u(e)},[r.value]),useEffect(()=>{"string"==typeof r.wrap&&-1!==["hard","soft","off"].indexOf(r.wrap)&&s(r.wrap)},[r.wrap]);return React.createElement(FormElement,{className:e,component:a,element:r,inputId:i},React.createElement(Input,{disabled:!a.enabled,fullWidth:!0,id:i,inputProps:{maxLength:f,onKeyDown:e=>{e.stopPropagation()},title:v,wrap:l},inputRef:e=>{null===e||e.disabled||p.renderFocus(e,m)},multiline:!0,onBlur:e=>{e=e.target.value;e!=r.value&&(r.value=e,p.post("changed",{name:m,value:e}),u(e))},onChange:e=>{e=e.target.value;e!=o&&u(e)},placeholder:c,readOnly:d,required:r.require,rows:t,value:o}))};export default TextArea;
1
+ import Input from"@vertigis/react-ui/Input";import{useEffect,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{makeUniqueId}from"../utils.js";const TextArea=({className:e,component:t,element:r,enabled:a,name:n,maxLength:o,prompt:u,readOnly:l,renderFocus:m,require:s,size:i,tooltip:p,value:f,wrap:c,renderText:d,setValue:g})=>{const[E,x]=useState(8),[h,v]=useState(""),[y,I]=useState("soft");var b=`${makeUniqueId(n)}-input`,u=d(u),p=d(p);useEffect(()=>{"number"==typeof i&&x(i)},[i]),useEffect(()=>{let e="string"==typeof f?f:"";f!==e&&(g(e,!1),t.forceUpdate()),v(e)},[f]),useEffect(()=>{"string"==typeof c&&-1!==["hard","soft","off"].indexOf(c)&&I(c)},[c]);return React.createElement(FormElement,{className:e,component:t,element:r,inputId:b},React.createElement(Input,{disabled:!a,fullWidth:!0,id:b,inputProps:{maxLength:o,onKeyDown:e=>{e.stopPropagation()},title:p,wrap:y},inputRef:e=>{null===e||e.disabled||m(e,n)},multiline:!0,onBlur:e=>{e=e.target.value;e!=f&&(g(e),v(e))},onChange:e=>{e=e.target.value;e!=h&&v(e)},placeholder:u,readOnly:l,required:s,rows:E,value:h}))};export default TextArea;