@openmrs/esm-form-builder-app 2.5.0 → 2.5.1-pre.1001

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 (487) hide show
  1. package/README.md +18 -7
  2. package/dist/0078b630bed2938ce03f618c2bcd1363.js +1 -0
  3. package/dist/{acaef5b3d4971efbf24be1a229186ff5.js → 019e34e85139cfc611bf23efa096c980.js} +1 -1
  4. package/dist/01d0d81c536cf29f255c5bfabdf357f9.js +1 -0
  5. package/dist/029f5ee0420883bc3c38a7f143fd174a.js +1 -0
  6. package/dist/{8d7988f603ec76ecb92315442285a83d.js → 03a5f5b2b97a8fc289399d92fba810d0.js} +1 -1
  7. package/dist/03c024582e611eac84444a83f7fd962d.js +1 -0
  8. package/dist/03cecfc674939048da99384e68631f13.js +1 -0
  9. package/dist/0416c21cfe088739209926632a360e3b.js +1 -0
  10. package/dist/09c09a39f911db8fb36431d9d48095ac.js +1 -0
  11. package/dist/{17b41db8dd7120d3a88417a1490f57b7.js → 0bd45b2d490c48c31619072a4fb0eaea.js} +1 -1
  12. package/dist/0d5aa4cf4cd6ced22d689adc35468925.js +1 -0
  13. package/dist/{330c0deacbfbbb6f1249b5bd887d608a.js → 0fa30731c46fe8b6a54f9752ad0ed7e0.js} +1 -1
  14. package/dist/11.js +1 -0
  15. package/dist/118fa9ea46f9ba830cd0e843f4d3385a.js +1 -0
  16. package/dist/{5061ac5e99882b9f26051a5d73c75271.js → 1195816afa4a5e8183857be16a04ae6f.js} +1 -1
  17. package/dist/14729b329294f14e4ca78b8a85f5ffa9.js +1 -0
  18. package/dist/184.js +2 -0
  19. package/dist/184.js.LICENSE.txt +14 -0
  20. package/dist/184.js.map +1 -0
  21. package/dist/18a469a2f11af88696d750921e25192a.js +1 -0
  22. package/dist/192.js +1 -0
  23. package/dist/{447.js.map → 192.js.map} +1 -1
  24. package/dist/{807.js → 197.js} +1 -1
  25. package/dist/{7e4b5afab13800eedc72d1669997de99.js → 1c24a68cb472146022d0806ea2505cfb.js} +1 -1
  26. package/dist/{83d1c691b58768e3ec0a1f88450a7ceb.js → 1ce14f2cad9f3c122cb5ccfcd485ffb4.js} +1 -1
  27. package/dist/{e6e768df4733fa1a1c8a9b06a24ff2fd.js → 1d3796180f854b5d8ab435ab0a1c2c11.js} +1 -1
  28. package/dist/{fc84e4779f22e5f1c9a70f56f47e0ed6.js → 1ff1389501159e4846a5133e3b8992d8.js} +1 -1
  29. package/dist/20545e6680e996248f667158904a6a9b.js +1 -0
  30. package/dist/214df38fb17fa6274c150507734f4d59.js +1 -0
  31. package/dist/228.js +1 -0
  32. package/dist/228.js.map +1 -0
  33. package/dist/2287e0a9970175f8e26f811b688d2d36.js +1 -0
  34. package/dist/2302902e10c4afab56e1b864c96070cb.js +1 -0
  35. package/dist/2348c5ed0da81c27fa889f56e43f91a1.js +1 -0
  36. package/dist/25be9f866b93e4ffa34f07a4fde632d4.js +1 -0
  37. package/dist/{56ddbe1e119db3c02da97dc04012cf2b.js → 269732f4c5f6e82ea3246548a9631b47.js} +1 -1
  38. package/dist/27846e85433e54a3ec0ab34d62233dc5.js +1 -0
  39. package/dist/29.js +2 -0
  40. package/dist/29.js.map +1 -0
  41. package/dist/291.js +2 -0
  42. package/dist/291.js.LICENSE.txt +9 -0
  43. package/dist/291.js.map +1 -0
  44. package/dist/292.js +1 -0
  45. package/dist/292.js.map +1 -0
  46. package/dist/{e4bea9a2a2680d970c13cc4ed89bc1a0.js → 2a8394955e047270a2a965ec67843989.js} +1 -1
  47. package/dist/{99e41196ce05ad5fb70891b44ac227e8.js → 2aa392a501973ebfcea38239a45ed8e7.js} +1 -1
  48. package/dist/2b1b8f8b9e8f1e423a69afd121fd7da9.js +1 -0
  49. package/dist/{40f9100a898e3396df73051eb7c44cb8.js → 2b5729e073775b8fb827fc8e4725e48a.js} +1 -1
  50. package/dist/{262f489eb59166e1215642b60446d123.js → 2b89e20071dd734f42b8694d7a84c264.js} +1 -1
  51. package/dist/2d17c1117fbcc5f98907a74804e20dde.js +1 -0
  52. package/dist/{30d2b805bcbc5d6bd558d7bdf9137a0e.js → 2d2a75e3d01a74b93d07db04df8abe5e.js} +1 -1
  53. package/dist/2e47a5ceba483c50c5ca302447d37e95.js +1 -0
  54. package/dist/2e841e8b77c2a2c00fd71940632bc1e1.js +1 -0
  55. package/dist/300.js +1 -0
  56. package/dist/{465.js → 308.js} +1 -1
  57. package/dist/318dcae1cdcd4733986a93e7a5fab7b8.js +1 -0
  58. package/dist/{3cd75b9fb238f5af900205216be23a66.js → 328cbf598e9711b0a87c19437b02f80d.js} +1 -1
  59. package/dist/{757.js → 335.js} +1 -1
  60. package/dist/34d45757ec94b255f55a8df0ffbca874.js +1 -0
  61. package/dist/{fb08407a1b7ad7f9a2da2a7845f596c5.js → 34f99cce131bd7aa65e7a924e2456006.js} +1 -1
  62. package/dist/360.js +1 -0
  63. package/dist/360.js.map +1 -0
  64. package/dist/367def81f25c0a08527f9a4e86e70c56.js +1 -0
  65. package/dist/38105097fc2497d628f398be7db5f6e8.js +1 -0
  66. package/dist/3aa9acf68293a7f0389004dd82a08374.js +1 -0
  67. package/dist/{92e96a5183122509403347f8fde3e407.js → 3ac8c7749734990e2d9f81eeca219886.js} +1 -1
  68. package/dist/3b624a5e4f3b3ff05a090fcefa18470c.js +1 -0
  69. package/dist/{8b0e5da82a1aa923f454ee2e6568850b.js → 3bf96f8eb1859e2724a4b769af3b5f1e.js} +1 -1
  70. package/dist/3e4fdc5660f64b9c38e518be48b3b57e.js +1 -0
  71. package/dist/{531e426da5d4c152efe1e9522991e466.js → 3eefbe1c009cfd730b2ca6f834367c45.js} +1 -1
  72. package/dist/3f896944a97f002f2146e028ff2eac63.js +1 -0
  73. package/dist/410829a762fbac1d1f3ceed934518248.js +1 -0
  74. package/dist/41ae585cdbb9c2e8eefff5d30193029f.js +1 -0
  75. package/dist/41e8a86a20df71cb48a373b096c06cd1.js +1 -0
  76. package/dist/429.js +1 -0
  77. package/dist/429.js.map +1 -0
  78. package/dist/{6416bde11154c29c4e296eb82fed0bdf.js → 42e0ea6351d45d342caab13cb12f9ea4.js} +1 -1
  79. package/dist/431.js +1 -0
  80. package/dist/431.js.map +1 -0
  81. package/dist/432a5982ba3ddf958381d780e1e9a8e2.js +1 -0
  82. package/dist/44efcea2f84e80cc4092a89796afe886.js +1 -0
  83. package/dist/460.js +1 -0
  84. package/dist/460.js.map +1 -0
  85. package/dist/46ed21c8fbddeefacaf10d78887aa22a.js +1 -0
  86. package/dist/4821925a3d30a9b2e980aa74d0869ab0.js +1 -0
  87. package/dist/{1d633c2bf495c2c286fe37d00950e1d4.js → 4bee3a46b8378a7b4ef84492f08abd22.js} +1 -1
  88. package/dist/4c1bdecbedd36a5765de184ac056822a.js +1 -0
  89. package/dist/4f03709d8b1d52a622f0676f7a299510.js +1 -0
  90. package/dist/4f683c6881e9f8740f5516a85b9eb9da.js +1 -0
  91. package/dist/505.js +1 -0
  92. package/dist/505.js.map +1 -0
  93. package/dist/{8f8ce96f0f6ce8d8a30d5f2dcb4eca76.js → 5106411f7468a5ee5b1ee77aed12c0c7.js} +1 -1
  94. package/dist/512.js +1 -0
  95. package/dist/5398e3b596fa15df4d84b2aa0464e5c4.js +1 -0
  96. package/dist/{294.js → 540.js} +2 -2
  97. package/dist/540.js.map +1 -0
  98. package/dist/55.js +1 -0
  99. package/dist/{f5d50af31e924b65e3bd3764e8d1df3a.js → 57e14488b13e50ebdb5fdfc7880da683.js} +1 -1
  100. package/dist/{4b75999ea99d719689337def2fab50a3.js → 5a741aab715866cb4d9a55e89dfc8420.js} +1 -1
  101. package/dist/5a8ead0357e5029a2518959423dc29f3.js +1 -0
  102. package/dist/5ce650c06c385f9d15621e54c60457c0.js +1 -0
  103. package/dist/{49c44a682cc7627c4a2e8b4d1cfec022.js → 5cebfc2c3495b6294dcb2a99e5174872.js} +1 -1
  104. package/dist/{949a350e1d9f92839865e927eb00673f.js → 5d312b184c1f4565f51247d3c6dbba90.js} +1 -1
  105. package/dist/601.js +1 -0
  106. package/dist/601.js.map +1 -0
  107. package/dist/604.js +2 -0
  108. package/dist/604.js.LICENSE.txt +24 -0
  109. package/dist/604.js.map +1 -0
  110. package/dist/60d2bacc2e51eabc2bb0afa982fffb56.js +1 -0
  111. package/dist/{6707296f86034ccf2225ce3c27370114.js → 622e27eec5f26148f51ccc30315a3deb.js} +1 -1
  112. package/dist/{d492c085b5834c819ba21542b9147966.js → 6250c7594cd66ca91184b5beca293e06.js} +1 -1
  113. package/dist/{45873024a393c691246898090c972cd3.js → 6490772da5aecc6cb9e4c625abc74a96.js} +1 -1
  114. package/dist/{319.js → 652.js} +1 -1
  115. package/dist/656927386f77b2620f35af391f59d5ab.js +1 -0
  116. package/dist/65abcd8e99a385bcd8f1776f160040a9.js +1 -0
  117. package/dist/{2091e4c01015d7dda392116f3ae59801.js → 678f5201c1917429f334b88078ca4174.js} +1 -1
  118. package/dist/6821c1c5fb7909037ea68afc9ac6fa84.js +1 -0
  119. package/dist/685191c4f96bd2812757400e95ea7cbb.js +1 -0
  120. package/dist/6a0c82e8d455351e74687b23d41140fa.js +1 -0
  121. package/dist/6a1c347ab79a93f3ac01b08c8ccfc827.js +1 -0
  122. package/dist/{116d29a13f16f0a9bf9c25eaa2186c24.js → 6a851f05f1f4a974e02fe23eac2bad4e.js} +1 -1
  123. package/dist/{8a70eec5a46e423328f1e9d7d1a87f41.js → 6b4b87a54f673cfbb82be45329441bef.js} +1 -1
  124. package/dist/{002a2ac7b7d3b3b807ddcb210cfc91eb.js → 6bed1b724e74e6bc80688f42bc824d70.js} +1 -1
  125. package/dist/6c6d192b6860b4508a14c2d04769a35e.js +1 -0
  126. package/dist/6cf2d62a423414bc2d1c7db6405601a5.js +1 -0
  127. package/dist/6e40b726d91e9138d9eaef6fd012c740.js +1 -0
  128. package/dist/70efbabef77fb217f904f41dbf7fe8bf.js +1 -0
  129. package/dist/{b491027881efabe4493ad65daf3368de.js → 7222998c10fabd9c824cf8cf540b3b74.js} +1 -1
  130. package/dist/{277128dcbc226dfeb8fde9391fb24787.js → 7259bceba25ac1476fc775122a63d249.js} +1 -1
  131. package/dist/73af2faad0625104d52ff830ef9ea61e.js +1 -0
  132. package/dist/765a108d65257b76846cf458e46f9bde.js +1 -0
  133. package/dist/771acd16f7d805828ef10804b038d470.js +1 -0
  134. package/dist/786.js +8 -0
  135. package/dist/{166.js.LICENSE.txt → 786.js.LICENSE.txt} +1 -41
  136. package/dist/786.js.map +1 -0
  137. package/dist/789.js +1 -0
  138. package/dist/789.js.map +1 -0
  139. package/dist/{4150db3307181a1afef55ab2c9ec191e.js → 79241f85b016a7332f85bb66667459c2.js} +1 -1
  140. package/dist/79455ab9a6cd507f5314141cc965093a.js +1 -0
  141. package/dist/7b839a5c1f6d89538928c8a29003bbda.js +1 -0
  142. package/dist/7c488184a1ff274206e8af2c3aeeb2f6.js +1 -0
  143. package/dist/7c9558a304e8b3331e33a67900720578.js +1 -0
  144. package/dist/7e7131507a20f96834597eb2de3e880a.js +1 -0
  145. package/dist/7f007f3f67d9c856e727cec1369f8cba.js +1 -0
  146. package/dist/{0e693b29bbe881d5b78f15fb9cacbedd.js → 81318a3530fb35d5178eb7a4a13a606f.js} +1 -1
  147. package/dist/82402c7ad9d114a6d457b8e85733166c.js +1 -0
  148. package/dist/82c607cd84abbd9d103d44eb63a17380.js +1 -0
  149. package/dist/835.js +1 -0
  150. package/dist/835.js.map +1 -0
  151. package/dist/852.js +1 -0
  152. package/dist/852.js.map +1 -0
  153. package/dist/880ae94877022f7fb0458ced0825eb4c.js +1 -0
  154. package/dist/88730abfeb4a23e692ac7933882f12eb.js +1 -0
  155. package/dist/{4b73278b511eebb4d0f44a0eec778327.js → 8a5127228870aafabfff6111d29313d6.js} +1 -1
  156. package/dist/8b5a7ea56e555f0646ff1ec04e2f2ec8.js +1 -0
  157. package/dist/8b8336037f074d9dcbd20eab535b803f.js +1 -0
  158. package/dist/{4816d92f4fbed14925ed1946f4135365.js → 8c7616f0adba6a5ac0d2f06ba4ebd696.js} +1 -1
  159. package/dist/8cf654fbb341b296e1ca1ea64665d2fe.js +1 -0
  160. package/dist/{0d419aec4c7e2317238c3502a967b560.js → 8ed5aba33ead1f94e97d5c35a5e93434.js} +1 -1
  161. package/dist/8f3d1d788bae00d28b3f3faa4e0dc8e7.js +1 -0
  162. package/dist/{ebaed1b3f483c7391037315a62571718.js → 8f9ce72eeabbf31f2d51f4bcfc66d3b0.js} +1 -1
  163. package/dist/9.js +1 -0
  164. package/dist/9.js.map +1 -0
  165. package/dist/90aa502abf90516fba58e6c0e3025808.js +1 -0
  166. package/dist/{3afb97252c417c5f0dd54e20b1954f63.js → 90f3dc3c18d447104b63c156cb7fddb5.js} +1 -1
  167. package/dist/91.js +1 -0
  168. package/dist/91.js.map +1 -0
  169. package/dist/916.js +1 -0
  170. package/dist/916.js.map +1 -0
  171. package/dist/{796a2d1a925ed311f35e5fc5907a3132.js → 91beb08737a1bbf071f351fb0acdbf3c.js} +1 -1
  172. package/dist/91e35c5eaf4724ba88de11bc0443a5c2.js +1 -0
  173. package/dist/{50.js → 92.js} +1 -1
  174. package/dist/933650e44addcb70f81e845ce4186e4d.js +1 -0
  175. package/dist/947d538f92dd1e146e4a3c41e4eacb92.js +1 -0
  176. package/dist/{08d12eee2127dc573b757f69752c6704.js → 950a205e91da7e78226dd785fd6d34db.js} +1 -1
  177. package/dist/953c932d71a79a72673405ec103b5739.js +1 -0
  178. package/dist/961.js +2 -0
  179. package/dist/961.js.map +1 -0
  180. package/dist/963.js +1 -0
  181. package/dist/963.js.map +1 -0
  182. package/dist/979.js +1 -1
  183. package/dist/979.js.map +1 -0
  184. package/dist/{7abc8b6c17be848321a446cfd88c27a9.js → 983fccb9f00748c487e889f6c83aa367.js} +1 -1
  185. package/dist/99.js +1 -0
  186. package/dist/{c97c8951af9153f36715121ab359334c.js → 9920e03a65566d728a73c7bf18bc5741.js} +1 -1
  187. package/dist/9aa63705c26b041214124ae3f90b0b74.js +1 -0
  188. package/dist/{9d29de85381ba75c190573ea82708954.js → 9b4de1346c73ba258736f1a3f00fdc14.js} +1 -1
  189. package/dist/{a6b8f5b8c9ce7808c5ca6baccdf1ad1e.js → 9b9578869f378f8e2afbf85a76c0ac72.js} +1 -1
  190. package/dist/9ce31ae06cd4113ea5527eb5bf4b0fbf.js +1 -0
  191. package/dist/9d5bba46df7fb1577fec6cb90f1bb2a7.js +1 -0
  192. package/dist/9ebb9ac2c9c875649c72722bc585d445.js +1 -0
  193. package/dist/{df350f726187b69bcededaaed6cf5f31.js → a0e32ba94aa4384823d768802b9486e1.js} +1 -1
  194. package/dist/a1bb5b3f6078f04941c00f87171dc0ae.js +1 -0
  195. package/dist/{6327ff8d569aa463a91e5ea774d1980e.js → a223748cd69094dd12b486353b22f479.js} +1 -1
  196. package/dist/a352be446de3ea29cb0609bb5336b030.js +1 -0
  197. package/dist/a3a941911290b143d26ceb5e776e1d18.js +1 -0
  198. package/dist/a3dfa410d90c00078f4b015410048f34.js +1 -0
  199. package/dist/a41ce517e26d17d855b7224af9ee433b.js +1 -0
  200. package/dist/a496f663a8cf2dc047e12d8a80d76510.js +1 -0
  201. package/dist/{8db9f93698f3eea94f936fcb5986f1a3.js → a4d0588d199cb1afffb42e57ea40fa86.js} +1 -1
  202. package/dist/{ac0681e93739efad9b6f1b85453d6a1b.js → a52f9ac0e3d582ed7e488aa1dfc33eda.js} +1 -1
  203. package/dist/a569591af2f834ec4b58f43ab7742186.js +1 -0
  204. package/dist/a6eb87af5cd7ae7e4fcba8ec606ec4ba.js +1 -0
  205. package/dist/{19df93bf1797b4caf8232cc4b544f865.js → a83211eadd86ef80416334e72774ab11.js} +1 -1
  206. package/dist/a8c8aa148991e4ca35ed78cd5ccfcc03.js +1 -0
  207. package/dist/{4123d5ea3e1f99dd3a5f2a89e16c6e59.js → ab0128ab12bcb8729032421b40f5f8dd.js} +1 -1
  208. package/dist/abaf3295e910c34eae208dfe0fc514b1.js +1 -0
  209. package/dist/ac75eee083810ee8d0ea57f03a5416bc.js +1 -0
  210. package/dist/af1635b600efd13f6059eb6ac9deae12.js +1 -0
  211. package/dist/af6fdb556ee3f9065578bb01f81f6216.js +1 -0
  212. package/dist/{5b2b9bc695bfdee92665388010a7e74d.js → b10accbff47791a59b8494225af07025.js} +1 -1
  213. package/dist/b13d991d1e4a016abea3fe5837261690.js +1 -0
  214. package/dist/b2d48e239f15fa4f535eb38d363dc1f1.js +1 -0
  215. package/dist/b3f1431b9e6d9e6632a93c2cd89f945b.js +1 -0
  216. package/dist/{3a3b2fef963d6c2c49c5b11b74a9ea81.js → b953ce2f19e7291598cd9c05128133c1.js} +1 -1
  217. package/dist/bb1365c0983ce5ad50060b24788b9630.js +1 -0
  218. package/dist/{2772fa250d538d9b7a8702fb6c50d195.js → bd309bb3f23f2bfbcf914f2e71474ab5.js} +1 -1
  219. package/dist/{32f291b1164c2610ed1a9260677d15f0.js → be75b76e74c78535966ec8aaa7d46bec.js} +1 -1
  220. package/dist/{ad88ef07c8c702b1a5f1e3d19c1052c7.js → c1a1f4ba29aa2d9a0b1a1abe5cfee0c6.js} +1 -1
  221. package/dist/c2fa476995041f9982b89a1c483da2b9.js +1 -0
  222. package/dist/c3832579be376308fa819b04e7b0c66f.js +1 -0
  223. package/dist/c4c991b8f5eb242f1e220e5f568fdfbc.js +1 -0
  224. package/dist/c60efc342d7da27d9a6cf60fbec6f9ce.js +1 -0
  225. package/dist/c8acc93023012737a3bf8fb767b66838.js +1 -0
  226. package/dist/{acb898eefa176c3f28344f5780cceb63.js → cb4bb785934eeca9b408e892ae6b73b7.js} +1 -1
  227. package/dist/{6257c20a623b032171b358cc95a1adab.js → cb5746e29527a2fdb9f857a121e086ed.js} +1 -1
  228. package/dist/cb622c2d49403c3f56e333bc41a9b89c.js +1 -0
  229. package/dist/{78b1ba82f7882d931072c4ef6e87f579.js → cc65d108f0e7cfb200de1d0bcf115005.js} +1 -1
  230. package/dist/cc715c90d57b30965fc297a12746d6b5.js +1 -0
  231. package/dist/cedeeab4daadcc470520da9661b1d78b.js +1 -0
  232. package/dist/{0d8cca845a71e82acc3ffc1fc95c94f3.js → cf909ad6e321c2f98750f5c3581556f8.js} +1 -1
  233. package/dist/d0415105402964718010284fcfa8b2ea.js +1 -0
  234. package/dist/d09463c099fb2c44719380623a5c68fb.js +1 -0
  235. package/dist/d1907231dc06c32481fefd6d47da973b.js +1 -0
  236. package/dist/d4b890206d2316955676dd69ef0f2779.js +1 -0
  237. package/dist/{700530bc418f23dccca7db36bfa9f745.js → d4f5981ee5a73d8a6e19112f2ffcb72c.js} +1 -1
  238. package/dist/d7340300249ab98bd9b3f538a767106e.js +1 -0
  239. package/dist/d76046afaf4d32b0f0afb63b4fabc680.js +1 -0
  240. package/dist/d85853bab3b213652aee023adecfb690.js +1 -0
  241. package/dist/{d3c6f63283deafb27231ec767a161534.js → da740c1b29a85b999a6874b59a1baeef.js} +1 -1
  242. package/dist/dc83a73f0eb89665520bbb6672dfa3cb.js +1 -0
  243. package/dist/{3d7fd940e543a183c4c376ef0d65773a.js → dc932cde2fbfca8e2901fb693968b131.js} +1 -1
  244. package/dist/de73b4d2a9ed4bcb851f9141e303636d.js +1 -0
  245. package/dist/e00b330413304d60c26e164da7f9fe0c.js +1 -0
  246. package/dist/e63fce237243190962fcc3b12b387e1b.js +1 -0
  247. package/dist/e7996a1f4aed878b8486d55f411b65cb.js +1 -0
  248. package/dist/e80d5ee40455d0675f8f2a3688071adf.js +1 -0
  249. package/dist/e9382a0e67b22188c75e9418de1c9295.js +1 -0
  250. package/dist/{4dec4bb457555975c148226534ecbdbe.js → eb0b62e1895dcf7491419aa728f00c38.js} +1 -1
  251. package/dist/eb925c23b7c7a9d047f8722f46e20950.js +1 -0
  252. package/dist/ebd0bd68d479ea224a6f962d1667219d.js +1 -0
  253. package/dist/ec7b3f184238605a5239da7559e6cff9.js +1 -0
  254. package/dist/ec901efce9bc8572f27155236a447e62.js +1 -0
  255. package/dist/ecff3d4bbf59ef41230960af46098e74.js +1 -0
  256. package/dist/{53e2fb3b82eafad81897aab9ab79edff.js → ee41eb1fd1d1c87c45e818b5a8a65cf8.js} +1 -1
  257. package/dist/{f6a1ff9a83e32555a4e3c7b99727e02d.js → ee5d36473f84db2af26d82efd69a38ec.js} +1 -1
  258. package/dist/ef01988390cb38f64b1969c775015c57.js +1 -0
  259. package/dist/f01129e1dfd56aa58d31a328b3c5fddb.js +1 -0
  260. package/dist/f15362a7feef894b2e7f706252e6c510.js +1 -0
  261. package/dist/{92164e5d714ab4cda2b91eede29bc191.js → f15cbf0d23cba4a313f3f2acfef5370c.js} +1 -1
  262. package/dist/f4a8f4192f6aeda7f17280c974c9eea7.js +1 -0
  263. package/dist/f52f3abc162b2643e0c43f6c15a95745.js +1 -0
  264. package/dist/f6b33aded7ae7504bfcc4550925cccb0.js +1 -0
  265. package/dist/fb393a7455b47f3d4fc30cf219d5145c.js +1 -0
  266. package/dist/fb5080213f065f82f0391c551c864434.js +1 -0
  267. package/dist/fc15e67c3e8e51dd8ccc9c3df78c9738.js +1 -0
  268. package/dist/fc1dd74e1ec7e59d6d458e2a956d7f26.js +1 -0
  269. package/dist/fd01cb7c2dce608bfa89475751ac6f1b.js +1 -0
  270. package/dist/{356c61041d30223f74711e79c8bb8ae9.js → fd3859a700b456e06c65c0cf6b0af05c.js} +1 -1
  271. package/dist/fd4b01ad8a8261d4583e3b24b8b388b9.js +1 -0
  272. package/dist/fd98f0e48b18e1de428edd5174539c2a.js +1 -0
  273. package/dist/{5fc5b7fdc1899b18bee20c7905c76182.js → fe9499c0a5444f7f42843fa00fb355cb.js} +1 -1
  274. package/dist/main.js +1 -1
  275. package/dist/main.js.map +1 -1
  276. package/dist/openmrs-esm-form-builder-app.js +1 -1
  277. package/dist/openmrs-esm-form-builder-app.js.buildmanifest.json +867 -529
  278. package/dist/openmrs-esm-form-builder-app.js.map +1 -1
  279. package/dist/routes.json +1 -1
  280. package/package.json +42 -37
  281. package/src/components/action-buttons/action-buttons.component.tsx +41 -61
  282. package/src/components/action-buttons/action-buttons.scss +5 -0
  283. package/src/components/action-buttons/unpublish-form.modal.tsx +45 -0
  284. package/src/components/dashboard/dashboard.component.tsx +37 -70
  285. package/src/components/dashboard/dashboard.scss +5 -0
  286. package/src/components/dashboard/dashboard.test.tsx +14 -113
  287. package/src/components/dashboard/delete-form.modal.tsx +45 -0
  288. package/src/components/dashboard/delete-form.scss +9 -0
  289. package/src/components/form-editor/form-editor.component.tsx +185 -207
  290. package/src/components/form-editor/restore-draft-schema.modal.tsx +53 -0
  291. package/src/components/interactive-builder/{add-question-modal.component.tsx → add-question.modal.tsx} +236 -30
  292. package/src/components/interactive-builder/{delete-page-modal.component.tsx → delete-page.modal.tsx} +11 -18
  293. package/src/components/interactive-builder/{delete-question-modal.component.tsx → delete-question.modal.tsx} +39 -20
  294. package/src/components/interactive-builder/{delete-section-modal.component.tsx → delete-section.modal.tsx} +11 -13
  295. package/src/components/interactive-builder/draggable-question.component.tsx +44 -21
  296. package/src/components/interactive-builder/droppable-container.component.tsx +6 -6
  297. package/src/components/interactive-builder/droppable-container.scss +9 -0
  298. package/src/components/interactive-builder/edit-question.modal.tsx +858 -0
  299. package/src/components/interactive-builder/editable-value.scss +1 -1
  300. package/src/components/interactive-builder/interactive-builder.component.tsx +98 -183
  301. package/src/components/interactive-builder/{new-form-modal.component.tsx → new-form.modal.tsx} +8 -19
  302. package/src/components/interactive-builder/{page-modal.component.tsx → page.modal.tsx} +8 -9
  303. package/src/components/interactive-builder/question-modal.scss +3 -3
  304. package/src/components/interactive-builder/{section-modal.component.tsx → section.modal.tsx} +8 -18
  305. package/src/components/modals/save-form-modal.scss +4 -0
  306. package/src/components/modals/{save-form-modal.component.tsx → save-form.modal.tsx} +3 -3
  307. package/src/components/schema-editor/schema-editor.component.tsx +20 -23
  308. package/src/components/validation-info/validation-info.component.tsx +3 -1
  309. package/src/config-schema.ts +19 -0
  310. package/src/form-validator.resource.ts +77 -42
  311. package/src/forms.resource.ts +2 -2
  312. package/src/hooks/usePatientIdentifierLookup.ts +18 -0
  313. package/src/hooks/usePatientIdentifierName.ts +17 -0
  314. package/src/hooks/usePatientIdentifierTypes.ts +19 -0
  315. package/src/hooks/usePersonAttributeLookup.ts +18 -0
  316. package/src/hooks/usePersonAttributeName.ts +17 -0
  317. package/src/hooks/useProgramStates.ts +51 -0
  318. package/src/index.ts +46 -0
  319. package/src/routes.json +46 -0
  320. package/src/types.ts +35 -5
  321. package/dist/0.js +0 -1
  322. package/dist/0.js.map +0 -1
  323. package/dist/023545291c7d55eb893591da836fc73d.js +0 -1
  324. package/dist/03452373324e7ceaf58e3830eafd1a28.js +0 -1
  325. package/dist/039ae6f160cd9781bcbb003484e23cdc.js +0 -1
  326. package/dist/0ec8abb2e91cb079eed4605ea6851cb8.js +0 -1
  327. package/dist/1092154c23dcc20005a669b15497159f.js +0 -1
  328. package/dist/138.js +0 -1
  329. package/dist/151786e5421aae5a57d862be1387a079.js +0 -1
  330. package/dist/153.js +0 -1
  331. package/dist/153.js.map +0 -1
  332. package/dist/154e51d48e7dc7f244bf748e4deb64f9.js +0 -1
  333. package/dist/166.js +0 -8
  334. package/dist/166.js.map +0 -1
  335. package/dist/16b5146f5e9b7a1a196f6d11a6187282.js +0 -1
  336. package/dist/1ab96c77da77918d9160c787732c68a6.js +0 -1
  337. package/dist/1db8d65ab1ad8dbb0aae7b9ebe280ca7.js +0 -1
  338. package/dist/1ef4b371fd98f0144354e57bb89d7fa3.js +0 -1
  339. package/dist/1ff3e5ecc0f8d69a4611a7cd8337f0b2.js +0 -1
  340. package/dist/2184bcd361a0e38d249bc49439d994cb.js +0 -1
  341. package/dist/252b829e2dab81bc5a4c28d52f34edf5.js +0 -1
  342. package/dist/275b72e6e6256f50527832ba14ec291e.js +0 -1
  343. package/dist/2765855f04cd6d7fb7fcf0a81c1e2022.js +0 -1
  344. package/dist/294.js.map +0 -1
  345. package/dist/2e2f30806fe3accb9b340fb082a1494e.js +0 -1
  346. package/dist/3053f55c4697117c4c2cd156803b3155.js +0 -1
  347. package/dist/3063479c31202a0d1ecf707b2a4ce742.js +0 -1
  348. package/dist/3564e45dfb2ed064007f910db434889f.js +0 -1
  349. package/dist/397e6669a1d15065bd742d20079d6a95.js +0 -1
  350. package/dist/3aa8f5e8ff182ed46cb6570dad4c4eee.js +0 -1
  351. package/dist/3b8b51248b6aa0474a02a6c352d1caa1.js +0 -1
  352. package/dist/3bd6e7a72c8b16825ce3a83b17bd681e.js +0 -1
  353. package/dist/3bfb519dbb980d6d8fee1bf543dfc5ae.js +0 -1
  354. package/dist/3c1857a15493f62c5c85c13007a6c32c.js +0 -1
  355. package/dist/3db12a05792313b3c537e3256f5e2e93.js +0 -1
  356. package/dist/3fa11e77942b4cf2c50e845525ae5a9f.js +0 -1
  357. package/dist/3fe09c1c283d4a26d228f37a77a018b2.js +0 -1
  358. package/dist/438ed06fb7f9516b12edaf7411c832b0.js +0 -1
  359. package/dist/447.js +0 -1
  360. package/dist/4686855c499be892779f614770ec2cf7.js +0 -1
  361. package/dist/46f088332f17d2ea452bd0ef7a5cdbc6.js +0 -1
  362. package/dist/474c86d7a4a0fa50030c6503fdb52392.js +0 -1
  363. package/dist/489b22b946f5972fed0daab6ef587c60.js +0 -1
  364. package/dist/494ca3291c219565bfb6e45f8eb8c583.js +0 -1
  365. package/dist/49c58e614c06572ffbabe974a7fda21c.js +0 -1
  366. package/dist/4afde8c89469302b064e693fa77035f6.js +0 -1
  367. package/dist/4f5c3cb0b76fa2978539d8b64a71537d.js +0 -1
  368. package/dist/4f89e8c1a691faf5f1bfe3987ddf108a.js +0 -1
  369. package/dist/50bd9a652785963a5d7d24bda4dee4ca.js +0 -1
  370. package/dist/52c9726f9e52ed3a57c0634718366029.js +0 -1
  371. package/dist/52ee9d28ed4c3389951a46084343a993.js +0 -1
  372. package/dist/54a7b0b5248e428a4a703329f36e286f.js +0 -1
  373. package/dist/574.js +0 -1
  374. package/dist/583d06a5b9251de455ebd89550449842.js +0 -1
  375. package/dist/5aedf04cf240c6c43540081c3bf9573e.js +0 -1
  376. package/dist/5d833ca045603c1105d2db3b9d931274.js +0 -1
  377. package/dist/62.js +0 -1
  378. package/dist/62.js.map +0 -1
  379. package/dist/626.js +0 -1
  380. package/dist/626.js.map +0 -1
  381. package/dist/6365d65802807679247605c8df7ea9ec.js +0 -1
  382. package/dist/645.js +0 -2
  383. package/dist/645.js.LICENSE.txt +0 -30
  384. package/dist/645.js.map +0 -1
  385. package/dist/645b74a0625033669c9d0440b32e3fd0.js +0 -1
  386. package/dist/66713913fc89a3bcad5d7804c03dcb43.js +0 -1
  387. package/dist/677b2b5d0c9507508a831e4b67d61c6e.js +0 -1
  388. package/dist/686915e134683f72ea5f3c227a6f13be.js +0 -1
  389. package/dist/69ec362e03850ff2d49044acbb19b385.js +0 -1
  390. package/dist/6aa13e92b5cf7d479e73acdc7c05abf3.js +0 -1
  391. package/dist/6b07bdedc12700f257d08813b3c0887f.js +0 -1
  392. package/dist/6bbbe63c75c85941f855ab27fb5f36db.js +0 -1
  393. package/dist/6f77d1c97d1c6937d21c4a1034be62b6.js +0 -1
  394. package/dist/70e2f052e416e2611ded0f57ed53f18a.js +0 -1
  395. package/dist/727e2cbdf695b3abfe88917062d16a5f.js +0 -1
  396. package/dist/7620537538da40e17ccbf70a43f4fd0c.js +0 -1
  397. package/dist/77c629df0ebf40b066d0ffeb34b7711b.js +0 -1
  398. package/dist/788.js +0 -1
  399. package/dist/7cc98960277ab04470e3ff9ed5fc6028.js +0 -1
  400. package/dist/800.js +0 -2
  401. package/dist/800.js.map +0 -1
  402. package/dist/8211ff24c6eb59feeb74cf3ae60e4e5d.js +0 -1
  403. package/dist/833.js +0 -1
  404. package/dist/83e2ed887ee6426c8e0aa4d976b76720.js +0 -1
  405. package/dist/844.js +0 -1
  406. package/dist/844.js.map +0 -1
  407. package/dist/8cfffdd2f772eec8342fdfc4d511e0cc.js +0 -1
  408. package/dist/8efee5c45bbfdd52eec7a8a0eec72ec3.js +0 -1
  409. package/dist/919edf70e532c72ecd4b9579c1879bc2.js +0 -1
  410. package/dist/9296988a753e8e251ff627aef2c929e8.js +0 -1
  411. package/dist/935.js +0 -2
  412. package/dist/935.js.map +0 -1
  413. package/dist/938b32f75aefeab50ba608132c5862c8.js +0 -1
  414. package/dist/93be766c753e075a3f7d5b89b3ee04ce.js +0 -1
  415. package/dist/945ea249c1f1d3595cc55a51046d9032.js +0 -1
  416. package/dist/96efd2775defcf3611fe9a07ed29065f.js +0 -1
  417. package/dist/979239ac9b74c2c57dcc2b66e7e3b353.js +0 -1
  418. package/dist/996d24547b492c3140f64d51f5229f3c.js +0 -1
  419. package/dist/99e45b7d238576aa6d4c830bd8715356.js +0 -1
  420. package/dist/9b3441051d8551264ac58b36253b9b10.js +0 -1
  421. package/dist/a13fa501edcc6c9712061e0ca5fd400e.js +0 -1
  422. package/dist/a58f90f6c8db84024327b4d9059c991e.js +0 -1
  423. package/dist/a9ed61bdf8ae777e7a6f68bf7175e839.js +0 -1
  424. package/dist/aa6c0d1a7dfd344894b8eba8db42ad04.js +0 -1
  425. package/dist/ab3d46f8dd12e29e10eb35c5e406bbcb.js +0 -1
  426. package/dist/b35c9a9d72f02feae440dd385a020ef6.js +0 -1
  427. package/dist/b49ae09a10a2a2d6dfc7ba9cb37cbbb3.js +0 -1
  428. package/dist/b76ff0f203825dcdefb649d98de32f5b.js +0 -1
  429. package/dist/bba393726b199f66d8b4314385c1f2f0.js +0 -1
  430. package/dist/c2fb2aaf17fa23ca4b9bf7f1c1441caa.js +0 -1
  431. package/dist/c4ee489cb1eb39f3d31e99fcc78e886e.js +0 -1
  432. package/dist/c92169023ff93e3c3e03bc2f4c73615a.js +0 -1
  433. package/dist/cbf021d377207ecc00145a138fd03f0f.js +0 -1
  434. package/dist/cd1309ef590ed94ac5735c4c667e6549.js +0 -1
  435. package/dist/cd88309c904c403022c51d1fa3ee4bf3.js +0 -1
  436. package/dist/d1f0ad8ca2a550bc292669b06a614f79.js +0 -1
  437. package/dist/d3a6de3a3eae748464b9d49001eba546.js +0 -1
  438. package/dist/d723acafb30584c955c9aeaedb3e03f0.js +0 -1
  439. package/dist/d72f9e2d15bf7a51a613e2f116b1a2df.js +0 -1
  440. package/dist/d8f7ecdd496f3caf14f5afbedfff1937.js +0 -1
  441. package/dist/daad7cddd8afb1713b51cf5882d2da34.js +0 -1
  442. package/dist/e0564e4f4ec3f3165b6890be52cf9a5e.js +0 -1
  443. package/dist/e06608fe5b8e7e9d30879d4d91113a08.js +0 -1
  444. package/dist/e0d8e58814f40cb5f60e1fe5fb37e9fa.js +0 -1
  445. package/dist/e13fc7d468ab9b5797f2a44412ca2f00.js +0 -1
  446. package/dist/e430b621361ebe3a4071e3cca1d0dbe8.js +0 -1
  447. package/dist/e45a0dfd102b67ad7cdefe10500bf0d7.js +0 -1
  448. package/dist/e542ddbb78bb244c0465f22e0e11ab61.js +0 -1
  449. package/dist/efbb5510bc35424b261de45355e3a626.js +0 -1
  450. package/dist/f2abbd0caa62a607a87be62111595f0c.js +0 -1
  451. package/dist/f3a21a0f236d2b7d45be954c32efaa14.js +0 -1
  452. package/dist/f5dfa3d3658fddbce84d7c3ecd5504f0.js +0 -1
  453. package/dist/f8ee12a5cfa6ff1d3550ef30a238d89a.js +0 -1
  454. package/dist/f93c341314b490174cf67fed1ca62ee0.js +0 -1
  455. package/dist/faa809ba713143a2e8b4760a45e1fe89.js +0 -1
  456. package/dist/ffb6d262efb0718a20d60b5fecb76ea6.js +0 -1
  457. package/src/components/interactive-builder/edit-question-modal.component.tsx +0 -543
  458. /package/dist/{55a1830305eaf8f525aad4c04c138483.js → 0e67325b9a04863301e36c0c37947069.js} +0 -0
  459. /package/dist/{2611b2dc99534665bf6734ddfa6b8de4.js → 1383530217ac0068c844902d24e18e08.js} +0 -0
  460. /package/dist/{ff9176b28afa428194276840d85679ef.js → 16c2e1b50af4ba05edaa03c8c9e9d18c.js} +0 -0
  461. /package/dist/{5f8e9f09349e37425d6ef96bf1bf7a2d.js → 1cc6fc3772824e2f87f10a9c3fad2dae.js} +0 -0
  462. /package/dist/{392e4c8d74cb1c9267a14eb0270ba2d6.js → 210aec2722e6416a0349a987260e14a3.js} +0 -0
  463. /package/dist/{71f39fefd16025c224fe31cdb352ae01.js → 228ca80abf1ae030cbfe7faaec61913f.js} +0 -0
  464. /package/dist/{0c1e757d25446799bcab87a8607dee60.js → 24f97ddd76026815674affbc50ad6169.js} +0 -0
  465. /package/dist/{800.js.LICENSE.txt → 29.js.LICENSE.txt} +0 -0
  466. /package/dist/{250c230f9465d8affc02c67d41d7e067.js → 31c610efb1d25afc90853b52ba4cb089.js} +0 -0
  467. /package/dist/{c3174a46927bbec0fbd8946f97bd7170.js → 44599d9b6202ebebfcdd073edf3562e3.js} +0 -0
  468. /package/dist/{b8cb123e6c753c6031ab9c6a4acbbcd6.js → 472ba8f81bf8cac86027cb1be4e3b9cd.js} +0 -0
  469. /package/dist/{a72ec8ab4a5bdfd6695dfa5fa86ef30d.js → 5348f3cfbe5a63954e7d984f197bbddb.js} +0 -0
  470. /package/dist/{294.js.LICENSE.txt → 540.js.LICENSE.txt} +0 -0
  471. /package/dist/{cd29b6e52c3ebcbaee8c7bb709fd1d8e.js → 5f5a93ab1249b7cbdb13d9466febd3a0.js} +0 -0
  472. /package/dist/{951a8cbe4efaab1b1451ffd8904fc9dd.js → 60190285b6c2243e14184b9e57d48dbb.js} +0 -0
  473. /package/dist/{aefed4953ced506e20b934606ac083f3.js → 60ede8d7ffdf4c05f2ce51b6d8d2be68.js} +0 -0
  474. /package/dist/{8de1f09307a99c5a8bb0a53d32fbaaa9.js → 65e7cf62ca9df32c18b630f31025a401.js} +0 -0
  475. /package/dist/{02b97d3c4a7e895228beec69fb63e420.js → 817edb0c6f9d66f9c0027762edb1d797.js} +0 -0
  476. /package/dist/{b943c561d9e064f79f938275bad6e597.js → 84270e22d4439d15b0d8f392d1338d8e.js} +0 -0
  477. /package/dist/{41469950e6a0ef73a57342235b44c55a.js → 90812d89181b698975cbb081adcbbcb0.js} +0 -0
  478. /package/dist/{935.js.LICENSE.txt → 961.js.LICENSE.txt} +0 -0
  479. /package/dist/{f59696ab0f6f26c339d7e6bb1d73a5c3.js → 96b8d8b5efd11741639659c63a485c27.js} +0 -0
  480. /package/dist/{410ecb602443afbd5908a14f39b40eb2.js → 981bd23edacd811f9e4a583d89b544ee.js} +0 -0
  481. /package/dist/{ac12519ccf3cc323b28f70e35f922e3f.js → afba1f28f2baa29eae717d6cb03f5464.js} +0 -0
  482. /package/dist/{73cdbb2580cd6a02d989c86e56bb83f3.js → c8230f96396f0378d032dce2be3dce66.js} +0 -0
  483. /package/dist/{6231f0100394f756aac18e8d972d8f2b.js → cb0d121a88477f943960f5ad60602c22.js} +0 -0
  484. /package/dist/{19017707f34649cae551ee9d5ea1edbf.js → cb9910e014b468ada91393696fcad206.js} +0 -0
  485. /package/dist/{da3a9dc1f8b62f2221f1040e8d207d0e.js → e37ac12436bcd0536ec98ae8470a1228.js} +0 -0
  486. /package/dist/{2adc6bc4a8a2bf35636e8fc7fe0df2dd.js → e7f37e0f2b6113039c45a326264c4d36.js} +0 -0
  487. /package/dist/{cfe1a9dd61dd943a574fc6c7157372f7.js → f666b5647087bcfdf6623f8b14d56657.js} +0 -0
@@ -1,18 +1,12 @@
1
1
  import React, { useCallback, useMemo, useState } from 'react';
2
- import type { TFunction } from 'i18next';
3
- import { useTranslation } from 'react-i18next';
2
+ import { useTranslation, type TFunction } from 'react-i18next';
4
3
  import {
5
4
  Button,
6
- ComposedModal,
7
5
  DataTable,
8
6
  DataTableSkeleton,
9
7
  Dropdown,
10
- Form,
11
8
  InlineLoading,
12
9
  InlineNotification,
13
- ModalBody,
14
- ModalFooter,
15
- ModalHeader,
16
10
  Table,
17
11
  TableBody,
18
12
  TableCell,
@@ -28,18 +22,19 @@ import {
28
22
  } from '@carbon/react';
29
23
  import { Add, DocumentImport, Download, Edit, TrashCan } from '@carbon/react/icons';
30
24
  import {
31
- type FetchResponse,
32
25
  ConfigurableLink,
33
26
  navigate,
27
+ openmrsFetch,
28
+ restBaseUrl,
29
+ showModal,
34
30
  showSnackbar,
35
31
  useConfig,
36
32
  useLayoutType,
37
33
  usePagination,
38
- openmrsFetch,
39
- restBaseUrl,
34
+ type FetchResponse,
40
35
  } from '@openmrs/esm-framework';
41
36
  import { type KeyedMutator, preload } from 'swr';
42
-
37
+ import type { ConfigObject } from '../../config-schema';
43
38
  import type { Form as TypedForm } from '../../types';
44
39
  import { deleteForm } from '../../forms.resource';
45
40
  import { FormBuilderPagination } from '../pagination';
@@ -91,8 +86,7 @@ function CustomTag({ condition }: { condition?: boolean }) {
91
86
  function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps) {
92
87
  const { clobdata } = useClobdata(form);
93
88
  const formResources = form?.resources;
94
- const [showDeleteFormModal, setShowDeleteFormModal] = useState(false);
95
- const [isDeleting, setIsDeleting] = useState(false);
89
+ const [isDeletingForm, setIsDeletingForm] = useState(false);
96
90
 
97
91
  const downloadableSchema = useMemo(
98
92
  () =>
@@ -115,7 +109,6 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
115
109
  });
116
110
 
117
111
  await mutate();
118
- setShowDeleteFormModal(false);
119
112
  }
120
113
  })
121
114
  .catch((e: Error) =>
@@ -125,11 +118,19 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
125
118
  subtitle: e?.message,
126
119
  }),
127
120
  )
128
- .finally(() => setIsDeleting(false));
121
+ .finally(() => setIsDeletingForm(false));
129
122
  },
130
123
  [form.name, mutate, t],
131
124
  );
132
125
 
126
+ const launchDeleteFormModal = useCallback(() => {
127
+ const dispose = showModal('delete-form-modal', {
128
+ closeModal: () => dispose(),
129
+ isDeletingForm,
130
+ onDeleteForm: () => handleDeleteForm(form.uuid),
131
+ });
132
+ }, [form.uuid, handleDeleteForm, isDeletingForm]);
133
+
133
134
  const ImportButton = () => {
134
135
  return (
135
136
  <Button
@@ -157,7 +158,7 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
157
158
  iconDescription={t('editSchema', 'Edit schema')}
158
159
  hasIconOnly
159
160
  size={responsiveSize}
160
- tooltipAlignment="start"
161
+ tooltipAlignment="center"
161
162
  />
162
163
  );
163
164
  };
@@ -172,7 +173,7 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
172
173
  iconDescription={t('downloadSchema', 'Download schema')}
173
174
  hasIconOnly
174
175
  size={responsiveSize}
175
- tooltipAlignment="start"
176
+ tooltipAlignment="center"
176
177
  />
177
178
  </a>
178
179
  );
@@ -183,53 +184,16 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
183
184
  <Button
184
185
  enterDelayMs={300}
185
186
  renderIcon={TrashCan}
186
- onClick={() => setShowDeleteFormModal(true)}
187
+ onClick={launchDeleteFormModal}
187
188
  kind={'ghost'}
188
189
  iconDescription={t('deleteSchema', 'Delete schema')}
189
190
  hasIconOnly
190
191
  size={responsiveSize}
191
- tooltipAlignment="start"
192
+ tooltipAlignment="center"
192
193
  />
193
194
  );
194
195
  };
195
196
 
196
- const DeleteFormModal = () => {
197
- return (
198
- <ComposedModal
199
- danger
200
- open={showDeleteFormModal}
201
- onClose={() => setShowDeleteFormModal(false)}
202
- preventCloseOnClickOutside
203
- >
204
- <ModalHeader title={t('deleteForm', 'Delete form')} />
205
- <Form onSubmit={(event: React.SyntheticEvent) => event.preventDefault()}>
206
- <ModalBody>
207
- <p>{t('deleteFormConfirmation', 'Are you sure you want to delete this form?')}</p>
208
- </ModalBody>
209
- </Form>
210
- <ModalFooter>
211
- <Button kind="secondary" onClick={() => setShowDeleteFormModal(false)}>
212
- {t('cancel', 'Cancel')}
213
- </Button>
214
- <Button
215
- disabled={isDeleting}
216
- kind="danger"
217
- onClick={() => {
218
- setIsDeleting(true);
219
- handleDeleteForm(form.uuid);
220
- }}
221
- >
222
- {isDeleting ? (
223
- <InlineLoading className={styles.spinner} description={t('deleting', 'Deleting') + '...'} />
224
- ) : (
225
- <span>{t('delete', 'Delete')}</span>
226
- )}
227
- </Button>
228
- </ModalFooter>
229
- </ComposedModal>
230
- );
231
- };
232
-
233
197
  return (
234
198
  <>
235
199
  {formResources.length == 0 || !form?.resources[0] ? (
@@ -241,14 +205,12 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
241
205
  </>
242
206
  )}
243
207
  <DeleteButton />
244
- {showDeleteFormModal && <DeleteFormModal />}
245
208
  </>
246
209
  );
247
210
  }
248
211
 
249
212
  function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
250
213
  const pageSize = 10;
251
- const config = useConfig();
252
214
  const isTablet = useLayoutType() === 'tablet';
253
215
  const responsiveSize = isTablet ? 'lg' : 'sm';
254
216
  const [filter, setFilter] = useState('');
@@ -339,17 +301,6 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
339
301
 
340
302
  return (
341
303
  <>
342
- {config.showSchemaSaveWarning && (
343
- <InlineNotification
344
- className={styles.warningMessage}
345
- kind="info"
346
- lowContrast
347
- title={t(
348
- 'schemaSaveWarningMessage',
349
- "The dev3 server is ephemeral at best and can't be relied upon to save your schemas permanently. To avoid losing your work, please save your schemas to your local machine. Alternatively, upload your schema to the distro repo to have it persisted across server resets.",
350
- )}
351
- />
352
- )}
353
304
  <div className={styles.flexContainer}>
354
305
  <div className={styles.filterContainer}>
355
306
  <Dropdown
@@ -447,6 +398,7 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
447
398
  const Dashboard: React.FC = () => {
448
399
  const { t } = useTranslation();
449
400
  const { forms, error, isLoading, isValidating, mutate } = useForms();
401
+ const { showSchemaSaveWarning } = useConfig<ConfigObject>();
450
402
 
451
403
  return (
452
404
  <main>
@@ -465,7 +417,22 @@ const Dashboard: React.FC = () => {
465
417
  return <EmptyState />;
466
418
  }
467
419
 
468
- return <FormsList forms={forms} isValidating={isValidating} mutate={mutate} t={t} />;
420
+ return (
421
+ <>
422
+ {showSchemaSaveWarning && (
423
+ <InlineNotification
424
+ className={styles.warningMessage}
425
+ kind="info"
426
+ lowContrast
427
+ title={t(
428
+ 'schemaSaveWarningMessage',
429
+ "The dev3 server is ephemeral at best and can't be relied upon to save your schemas permanently. To avoid losing your work, please save your schemas to your local machine. Alternatively, upload your schema to the distro repo to have it persisted across server resets.",
430
+ )}
431
+ />
432
+ )}
433
+ <FormsList forms={forms} isValidating={isValidating} mutate={mutate} t={t} />
434
+ </>
435
+ );
469
436
  })()}
470
437
  </div>
471
438
  </main>
@@ -153,4 +153,9 @@
153
153
  &:global(.cds--inline-loading) {
154
154
  min-height: 1rem;
155
155
  }
156
+
157
+ :global(.cds--inline-loading__text) {
158
+ font-size: unset;
159
+ }
156
160
  }
161
+
@@ -1,32 +1,20 @@
1
1
  import React from 'react';
2
2
  import { screen } from '@testing-library/react';
3
3
  import userEvent from '@testing-library/user-event';
4
- import { type FetchResponse, navigate, openmrsFetch, usePagination } from '@openmrs/esm-framework';
4
+ import { type FetchResponse, navigate, openmrsFetch, showModal } from '@openmrs/esm-framework';
5
5
  import { renderWithSwr, waitForLoadingToFinish } from '../../test-helpers';
6
6
  import { deleteForm } from '../../forms.resource';
7
7
  import Dashboard from './dashboard.component';
8
8
 
9
9
  type OpenmrsFetchResponse = Promise<
10
10
  FetchResponse<{
11
- results: unknown[];
11
+ results: Array<unknown>;
12
12
  }>
13
13
  >;
14
14
 
15
- type PaginationData = {
16
- currentPage: number;
17
- goTo: (page: number) => void;
18
- results: unknown[];
19
- totalPages: number;
20
- paginated: boolean;
21
- showNextButton: boolean;
22
- showPreviousButton: boolean;
23
- goToNext: () => void;
24
- goToPrevious: () => void;
25
- };
26
-
27
15
  const mockedOpenmrsFetch = jest.mocked(openmrsFetch);
28
16
  const mockedDeleteForm = jest.mocked(deleteForm);
29
- const mockUsePagination = jest.mocked(usePagination);
17
+ const mockedShowModal = jest.mocked(showModal);
30
18
 
31
19
  const formsResponse = [
32
20
  {
@@ -54,20 +42,6 @@ jest.mock('../../forms.resource', () => ({
54
42
  deleteForm: jest.fn(),
55
43
  }));
56
44
 
57
- jest.mock('@openmrs/esm-framework', () => {
58
- const originalModule = jest.requireActual('@openmrs/esm-framework');
59
-
60
- return {
61
- ...originalModule,
62
- usePagination: jest.fn().mockImplementation(() => ({
63
- currentPage: 1,
64
- goTo: () => {},
65
- results: [],
66
- paginated: true,
67
- })),
68
- };
69
- });
70
-
71
45
  global.window.URL.createObjectURL = jest.fn();
72
46
 
73
47
  describe('Dashboard', () => {
@@ -98,22 +72,13 @@ describe('Dashboard', () => {
98
72
 
99
73
  await waitForLoadingToFinish();
100
74
 
101
- const searchbox = screen.getByRole('searchbox') as HTMLInputElement;
75
+ const searchbox: HTMLInputElement = screen.getByRole('searchbox');
102
76
 
103
77
  await user.type(searchbox, 'COVID');
104
78
 
105
79
  expect(searchbox.value).toBe('COVID');
106
80
 
107
- mockUsePagination.mockImplementation(
108
- () =>
109
- ({
110
- currentPage: 1,
111
- goTo: () => {},
112
- results: formsResponse.filter((form) => form.name === searchbox.value),
113
- }) as unknown as PaginationData,
114
- );
115
-
116
- await expect(screen.queryByText(/Test Form 1/i)).not.toBeInTheDocument();
81
+ expect(screen.queryByText(/Test Form 1/i)).not.toBeInTheDocument();
117
82
  expect(screen.getByText(/no matching forms to display/i)).toBeInTheDocument();
118
83
  });
119
84
 
@@ -137,15 +102,6 @@ describe('Dashboard', () => {
137
102
  await user.click(publishStatusFilter);
138
103
  await user.click(screen.getByRole('option', { name: /unpublished/i }));
139
104
 
140
- mockUsePagination.mockImplementation(
141
- () =>
142
- ({
143
- currentPage: 1,
144
- goTo: () => {},
145
- results: formsResponse.filter((form) => !form.published),
146
- }) as unknown as PaginationData,
147
- );
148
-
149
105
  expect(screen.queryByText(/Test Form 1/i)).not.toBeInTheDocument();
150
106
  expect(screen.getByText(/no matching forms to display/i)).toBeInTheDocument();
151
107
  });
@@ -157,15 +113,6 @@ describe('Dashboard', () => {
157
113
  },
158
114
  } as unknown as OpenmrsFetchResponse);
159
115
 
160
- mockUsePagination.mockImplementation(
161
- () =>
162
- ({
163
- currentPage: 1,
164
- goTo: () => {},
165
- results: formsResponse,
166
- }) as unknown as PaginationData,
167
- );
168
-
169
116
  renderDashboard();
170
117
 
171
118
  await waitForLoadingToFinish();
@@ -189,15 +136,6 @@ describe('Dashboard', () => {
189
136
  },
190
137
  } as unknown as OpenmrsFetchResponse);
191
138
 
192
- mockUsePagination.mockImplementation(
193
- () =>
194
- ({
195
- currentPage: 1,
196
- goTo: () => {},
197
- results: formsResponse,
198
- }) as unknown as PaginationData,
199
- );
200
-
201
139
  renderDashboard();
202
140
 
203
141
  await waitForLoadingToFinish();
@@ -209,7 +147,7 @@ describe('Dashboard', () => {
209
147
  await user.click(createFormButton);
210
148
 
211
149
  expect(navigate).toHaveBeenCalledWith({
212
- to: expect.stringMatching(/form\-builder\/new/),
150
+ to: expect.stringMatching(/form-builder\/new/),
213
151
  });
214
152
  });
215
153
 
@@ -220,15 +158,6 @@ describe('Dashboard', () => {
220
158
  },
221
159
  } as unknown as OpenmrsFetchResponse);
222
160
 
223
- mockUsePagination.mockImplementation(
224
- () =>
225
- ({
226
- currentPage: 1,
227
- goTo: () => {},
228
- results: formsResponse,
229
- }) as unknown as PaginationData,
230
- );
231
-
232
161
  renderDashboard();
233
162
 
234
163
  await waitForLoadingToFinish();
@@ -246,15 +175,6 @@ describe('Dashboard', () => {
246
175
  },
247
176
  } as unknown as OpenmrsFetchResponse);
248
177
 
249
- mockUsePagination.mockImplementation(
250
- () =>
251
- ({
252
- currentPage: 1,
253
- goTo: () => {},
254
- results: formsResponse,
255
- }) as unknown as PaginationData,
256
- );
257
-
258
178
  renderDashboard();
259
179
 
260
180
  await waitForLoadingToFinish();
@@ -266,7 +186,7 @@ describe('Dashboard', () => {
266
186
  await user.click(editSchemaButton);
267
187
 
268
188
  expect(navigate).toHaveBeenCalledWith({
269
- to: expect.stringMatching(/form\-builder\/edit/),
189
+ to: expect.stringMatching(/form-builder\/edit/),
270
190
  });
271
191
  });
272
192
 
@@ -279,15 +199,6 @@ describe('Dashboard', () => {
279
199
  },
280
200
  } as unknown as OpenmrsFetchResponse);
281
201
 
282
- mockUsePagination.mockImplementation(
283
- () =>
284
- ({
285
- currentPage: 1,
286
- goTo: () => {},
287
- results: formsResponse,
288
- }) as unknown as PaginationData,
289
- );
290
-
291
202
  renderDashboard();
292
203
 
293
204
  await waitForLoadingToFinish();
@@ -312,15 +223,6 @@ describe('Dashboard', () => {
312
223
 
313
224
  mockedDeleteForm.mockResolvedValue({} as FetchResponse<Record<string, never>>);
314
225
 
315
- mockUsePagination.mockImplementation(
316
- () =>
317
- ({
318
- currentPage: 1,
319
- goTo: () => {},
320
- results: formsResponse,
321
- }) as unknown as PaginationData,
322
- );
323
-
324
226
  renderDashboard();
325
227
 
326
228
  await waitForLoadingToFinish();
@@ -330,14 +232,13 @@ describe('Dashboard', () => {
330
232
 
331
233
  await user.click(deleteButton);
332
234
 
333
- const modal = screen.getByRole('presentation');
334
- expect(modal).toBeInTheDocument();
335
- expect(modal).toHaveTextContent(/delete form/i);
336
- expect(modal).toHaveTextContent(/are you sure you want to delete this form?/i);
337
- expect(screen.getByRole('button', { name: /cancel/i })).toBeInTheDocument();
338
- expect(screen.getByRole('button', { name: /danger delete/i })).toBeInTheDocument();
339
-
340
- await user.click(screen.getByRole('button', { name: /danger delete/i }));
235
+ expect(mockedShowModal).toHaveBeenCalledTimes(1);
236
+ expect(mockedShowModal).toHaveBeenCalledWith(
237
+ 'delete-form-modal',
238
+ expect.objectContaining({
239
+ isDeletingForm: false,
240
+ }),
241
+ );
341
242
  });
342
243
  });
343
244
 
@@ -0,0 +1,45 @@
1
+ import React, { type SyntheticEvent } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { Button, Form, InlineLoading, ModalBody, ModalFooter, ModalHeader } from '@carbon/react';
4
+ import styles from './delete-form.scss';
5
+
6
+ interface DeleteFormModalProps {
7
+ closeModal: () => void;
8
+ isDeletingForm: boolean;
9
+ onDeleteForm: () => void;
10
+ }
11
+
12
+ const DeleteFormModal: React.FC<DeleteFormModalProps> = ({ closeModal, isDeletingForm, onDeleteForm }) => {
13
+ const { t } = useTranslation();
14
+ return (
15
+ <>
16
+ <ModalHeader closeModal={closeModal} title={t('deleteForm', 'Delete form')} />
17
+ <Form onSubmit={(event: SyntheticEvent) => event.preventDefault()}>
18
+ <ModalBody>
19
+ <p>{t('deleteFormConfirmation', 'Are you sure you want to delete this form?')}</p>
20
+ </ModalBody>
21
+ </Form>
22
+ <ModalFooter>
23
+ <Button kind="secondary" onClick={closeModal}>
24
+ {t('cancel', 'Cancel')}
25
+ </Button>
26
+ <Button
27
+ disabled={isDeletingForm}
28
+ kind="danger"
29
+ onClick={() => {
30
+ onDeleteForm();
31
+ closeModal();
32
+ }}
33
+ >
34
+ {isDeletingForm ? (
35
+ <InlineLoading className={styles.spinner} description={t('deleting', 'Deleting') + '...'} />
36
+ ) : (
37
+ <span>{t('delete', 'Delete')}</span>
38
+ )}
39
+ </Button>
40
+ </ModalFooter>
41
+ </>
42
+ );
43
+ };
44
+
45
+ export default DeleteFormModal;
@@ -0,0 +1,9 @@
1
+ .spinner {
2
+ &:global(.cds--inline-loading) {
3
+ min-height: 1rem;
4
+ }
5
+
6
+ :global(.cds--inline-loading__text) {
7
+ font-size: unset;
8
+ }
9
+ }