@arcgis/core 5.1.0-next.127 → 5.1.0-next.129

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 (658) hide show
  1. package/applications/Urban/editingSessionUtils.js +1 -1
  2. package/arcade/featureSetUtils.js +1 -1
  3. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  4. package/arcade/featureset/sources/FeatureLayerParquet.js +2 -0
  5. package/arcade/featureset/support/FeatureSet.js +1 -1
  6. package/arcade/featureset/support/shared.js +1 -1
  7. package/arcade.d.ts +2 -1
  8. package/arcgisGlobal.d.ts +3 -1
  9. package/assets/esri/core/t9n/Units_ar.json +1 -1
  10. package/assets/esri/core/t9n/Units_bg.json +1 -1
  11. package/assets/esri/core/t9n/Units_bs.json +1 -1
  12. package/assets/esri/core/t9n/Units_ca.json +1 -1
  13. package/assets/esri/core/t9n/Units_cs.json +1 -1
  14. package/assets/esri/core/t9n/Units_da.json +1 -1
  15. package/assets/esri/core/t9n/Units_de.json +1 -1
  16. package/assets/esri/core/t9n/Units_el.json +1 -1
  17. package/assets/esri/core/t9n/Units_es.json +1 -1
  18. package/assets/esri/core/t9n/Units_et.json +1 -1
  19. package/assets/esri/core/t9n/Units_fi.json +1 -1
  20. package/assets/esri/core/t9n/Units_fr.json +1 -1
  21. package/assets/esri/core/t9n/Units_he.json +1 -1
  22. package/assets/esri/core/t9n/Units_hr.json +1 -1
  23. package/assets/esri/core/t9n/Units_hu.json +1 -1
  24. package/assets/esri/core/t9n/Units_id.json +1 -1
  25. package/assets/esri/core/t9n/Units_it.json +1 -1
  26. package/assets/esri/core/t9n/Units_ja.json +1 -1
  27. package/assets/esri/core/t9n/Units_ko.json +1 -1
  28. package/assets/esri/core/t9n/Units_lt.json +1 -1
  29. package/assets/esri/core/t9n/Units_lv.json +1 -1
  30. package/assets/esri/core/t9n/Units_nl.json +1 -1
  31. package/assets/esri/core/t9n/Units_no.json +1 -1
  32. package/assets/esri/core/t9n/Units_pl.json +1 -1
  33. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  34. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  35. package/assets/esri/core/t9n/Units_ro.json +1 -1
  36. package/assets/esri/core/t9n/Units_ru.json +1 -1
  37. package/assets/esri/core/t9n/Units_sk.json +1 -1
  38. package/assets/esri/core/t9n/Units_sl.json +1 -1
  39. package/assets/esri/core/t9n/Units_sr.json +1 -1
  40. package/assets/esri/core/t9n/Units_sv.json +1 -1
  41. package/assets/esri/core/t9n/Units_th.json +1 -1
  42. package/assets/esri/core/t9n/Units_tr.json +1 -1
  43. package/assets/esri/core/t9n/Units_uk.json +1 -1
  44. package/assets/esri/core/t9n/Units_vi.json +1 -1
  45. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  46. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  47. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  48. package/assets/esri/core/workers/RemoteClient.js +1 -1
  49. package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +1 -0
  50. package/assets/esri/core/workers/chunks/0418b5c9d06f3585c035.js +2 -0
  51. package/assets/esri/core/workers/chunks/{b045bffb4f2eb9203183.js → 05e1f1628a3726eca03d.js} +1 -1
  52. package/assets/esri/core/workers/chunks/08dfe61c75f0032db4d4.js +1 -0
  53. package/assets/esri/core/workers/chunks/0b45d34938fa7862f746.js +1 -0
  54. package/assets/esri/core/workers/chunks/0e94786db78770868c63.js +2 -0
  55. package/assets/esri/core/workers/chunks/{81e3bd1a0634ddc2b833.js → 0f10d7d592c36ee2d1ea.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{38cfedce779dd75bd217.js → 10b668186063770d63bd.js} +1 -1
  57. package/assets/esri/core/workers/chunks/11c3b1e8ca21ad62fdd1.js +1 -0
  58. package/assets/esri/core/workers/chunks/152193072c9d3487b47a.js +1 -0
  59. package/assets/esri/core/workers/chunks/{c187bc997bad61b6c6e9.js → 18d1ac2165a84c42e98f.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{0b169bb1969f86232a1a.js → 1b03e10a6b721365acbb.js} +1 -1
  61. package/assets/esri/core/workers/chunks/1bd49e8d2657c72bf3f9.js +1 -0
  62. package/assets/esri/core/workers/chunks/1d2609ce6220b5af5526.js +1 -0
  63. package/assets/esri/core/workers/chunks/1d38b2fcd85ac9ebd7c6.js +1 -0
  64. package/assets/esri/core/workers/chunks/{c2cd80b712f29e8cbb8d.js → 1ff57bf19f021f5fd246.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{287f1441819c345f389e.js → 268243ee64d001009f78.js} +1 -1
  66. package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +1 -0
  67. package/assets/esri/core/workers/chunks/{73c355b895fd6a34fcb8.js → 2a8d791aef3123e6a3c4.js} +1 -1
  68. package/assets/esri/core/workers/chunks/2b781de7b467c61849b2.js +1 -0
  69. package/assets/esri/core/workers/chunks/{0e774f14ba274832f390.js → 2f5970e87e1e77f8362b.js} +1 -1
  70. package/assets/esri/core/workers/chunks/317bf48a4d513a9a2ff3.js +2 -0
  71. package/assets/esri/core/workers/chunks/33838536a7436b1d449e.js +1 -0
  72. package/assets/esri/core/workers/chunks/{03e93c18efc67a25ca63.js → 35c4037b8eea067d9638.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{640abe600fa069ed7640.js → 395736b49abaaa1c3405.js} +1 -1
  74. package/assets/esri/core/workers/chunks/39a10b2092a98083f4cf.js +1 -0
  75. package/assets/esri/core/workers/chunks/3b74749db78bcba2bc16.js +1 -0
  76. package/assets/esri/core/workers/chunks/3b9174de370b187a0985.js +1 -0
  77. package/assets/esri/core/workers/chunks/3bd32387af52fa48d747.js +1 -0
  78. package/assets/esri/core/workers/chunks/3d4ad7c728e02aa90551.js +1 -0
  79. package/assets/esri/core/workers/chunks/3d4bb539bf939fcdeef9.js +1 -0
  80. package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +1 -0
  81. package/assets/esri/core/workers/chunks/{d36b407f5ad5eabac530.js → 4d43619c73721946441b.js} +29 -29
  82. package/assets/esri/core/workers/chunks/4e59e5a5d0ff887ff899.js +1 -0
  83. package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +1 -0
  84. package/assets/esri/core/workers/chunks/511b9c12a7479d39dac0.js +1 -0
  85. package/assets/esri/core/workers/chunks/51a53011478e0cf96e0b.js +1 -0
  86. package/assets/esri/core/workers/chunks/5481af25fd46914498df.js +1 -0
  87. package/assets/esri/core/workers/chunks/599bd80379423c99799d.js +1 -0
  88. package/assets/esri/core/workers/chunks/609edb4da427ec37bcf7.js +1 -0
  89. package/assets/esri/core/workers/chunks/60d4a3f770bb1e01cd10.js +1 -0
  90. package/assets/esri/core/workers/chunks/65cc9a48ac95523f7aa8.js +1 -0
  91. package/assets/esri/core/workers/chunks/66392ff750c28064040a.js +1 -0
  92. package/assets/esri/core/workers/chunks/668d84dc512b3085a960.js +1 -0
  93. package/assets/esri/core/workers/chunks/68b77b36daae2b4b4237.js +1 -0
  94. package/assets/esri/core/workers/chunks/6a54dddafb6763bf287e.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f0556a695d080454b8da.js → 6af021050d5d04be7a20.js} +1 -1
  96. package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +1 -0
  97. package/assets/esri/core/workers/chunks/70b5e0fce22122a7ccc2.js +1 -0
  98. package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js → 7361ca78a605eda41a2f.js} +2 -2
  99. package/assets/esri/core/workers/chunks/73b0edabddbb72fe1104.js +1 -0
  100. package/assets/esri/core/workers/chunks/{8b0a01ebc86ab226f01f.js → 75b4c27ca02b124a713c.js} +1 -1
  101. package/assets/esri/core/workers/chunks/7a997ac153181a8f71ef.js +1 -0
  102. package/assets/esri/core/workers/chunks/7f849c8255140be6097f.js +1 -0
  103. package/assets/esri/core/workers/chunks/831455798b177678720c.js +1 -0
  104. package/assets/esri/core/workers/chunks/84a0bb53fcbd99b5aa0c.js +1 -0
  105. package/assets/esri/core/workers/chunks/{9331969046f2b277d620.js → 8a39dd585742960d3ca2.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{5cb1b950249d651f3837.js → 8dcb3e77f76d8396706b.js} +1 -1
  107. package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +1 -0
  108. package/assets/esri/core/workers/chunks/92341f36a8b15f34bcca.js +1 -0
  109. package/assets/esri/core/workers/chunks/{bf706a5d065a357de51b.js → 993fee0e91303eb1f01f.js} +1 -1
  110. package/assets/esri/core/workers/chunks/9da1a514e042eb642d35.js +1 -0
  111. package/assets/esri/core/workers/chunks/9f93c29af2a18f7cb160.js +1 -0
  112. package/assets/esri/core/workers/chunks/{f25bb204cf6727f6fdef.js → a0876a52a3c2ad849370.js} +1 -1
  113. package/assets/esri/core/workers/chunks/a1509e2e7809b6754b4f.js +1 -0
  114. package/assets/esri/core/workers/chunks/a18cb809dd56c5537b3b.js +1 -0
  115. package/assets/esri/core/workers/chunks/{52175ff9e8c2c136f90a.js → a3ecde3794a7db3cf283.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{bfd1aef8ac795e1ce227.js → a892b3be70f482bef0ba.js} +1 -1
  117. package/assets/esri/core/workers/chunks/a8ef7acb6d3d1f45e14c.js +1 -0
  118. package/assets/esri/core/workers/chunks/{1436e378d975345686aa.js → aac27340f93ab69f3a9c.js} +1 -1
  119. package/assets/esri/core/workers/chunks/ac16016964be3b684e98.js +30 -0
  120. package/assets/esri/core/workers/chunks/ac7ecd90330090c90005.js +1 -0
  121. package/assets/esri/core/workers/chunks/b076e0ca68ea80bc2559.js +1 -0
  122. package/assets/esri/core/workers/chunks/b1524f23e6cee5301a14.js +1 -0
  123. package/assets/esri/core/workers/chunks/{c983e5ce0ff952b65d7f.js → b2b342b06d502fc61ea5.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{b7e363c14919698f5b65.js → b5017e83a99a8051f212.js} +1 -1
  125. package/assets/esri/core/workers/chunks/b75a4753cea6544da8bb.js +1 -0
  126. package/assets/esri/core/workers/chunks/b775a0d8894930af4983.js +1 -0
  127. package/assets/esri/core/workers/chunks/bb012e02ae197bd1d9de.js +1 -0
  128. package/assets/esri/core/workers/chunks/bbcad2fde838819ffc7b.js +1 -0
  129. package/assets/esri/core/workers/chunks/bc893c95c0ab7d4bb91e.js +1 -0
  130. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +1 -0
  131. package/assets/esri/core/workers/chunks/bf67e0f6064fb9d94ac8.js +1 -0
  132. package/assets/esri/core/workers/chunks/{97a654e8054302582a3b.js → bfa6f4c08e7571bb1f37.js} +1 -1
  133. package/assets/esri/core/workers/chunks/c2cbc2a920e6e199533a.js +1 -0
  134. package/assets/esri/core/workers/chunks/c9057b0ad2c2bae4a8ce.js +1 -0
  135. package/assets/esri/core/workers/chunks/cf9a132c4c37e62de3d7.js +1 -0
  136. package/assets/esri/core/workers/chunks/d2e94ecf08a56dd43311.js +1 -0
  137. package/assets/esri/core/workers/chunks/{03354e9256b2f77fd4f2.js → d6145cd7e7c5346f62ec.js} +1 -1
  138. package/assets/esri/core/workers/chunks/d6911e9453532501f460.js +1 -0
  139. package/assets/esri/core/workers/chunks/{886ae23a1d8fa21e531f.js → d750e4abeb777caa8c36.js} +1 -1
  140. package/assets/esri/core/workers/chunks/d7acbc2ddff4cee8a465.js +30 -0
  141. package/assets/esri/core/workers/chunks/d8242cf6fec7c7bb614c.js +261 -0
  142. package/assets/esri/core/workers/chunks/{d97c0c18202b8c578f8c.js → e5471373f89fd7cb9844.js} +1 -1
  143. package/assets/esri/core/workers/chunks/e9acc05b0cf9e05f31a8.js +1 -0
  144. package/assets/esri/core/workers/chunks/e9cd84ad0054e9fea448.js +1 -0
  145. package/assets/esri/core/workers/chunks/f321eaf3390ab443b14c.js +1 -0
  146. package/assets/esri/core/workers/chunks/f64241d613f56fbcd981.js +30 -0
  147. package/assets/esri/core/workers/chunks/f955b35337a08f9f747d.js +1 -0
  148. package/assets/esri/core/workers/chunks/{f75295cdd5e84eb97d5a.js → f9d583785b3b09ace222.js} +1 -1
  149. package/assets/esri/core/workers/chunks/fc4641f3c93f43c8c193.js +2 -0
  150. package/assets/esri/core/workers/chunks/fc73de97c618ca11eacb.js +1 -0
  151. package/assets/esri/core/workers/chunks/fe6385115d76e16e8da0.js +1 -0
  152. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  153. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +62 -90
  154. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +0 -2
  155. package/assets/esri/themes/dark/main.css +1 -1
  156. package/assets/esri/themes/light/main.css +1 -1
  157. package/assets/esri/themes/light/view.css +1 -1
  158. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
  159. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bg.json +1 -1
  160. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bs.json +1 -1
  161. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ca.json +1 -1
  162. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_cs.json +1 -1
  163. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_da.json +1 -1
  164. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_de.json +1 -1
  165. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_el.json +1 -1
  166. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_es.json +1 -1
  167. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_et.json +1 -1
  168. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fi.json +1 -1
  169. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
  170. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_he.json +1 -1
  171. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hr.json +1 -1
  172. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hu.json +1 -1
  173. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_id.json +1 -1
  174. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_it.json +1 -1
  175. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ja.json +1 -1
  176. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ko.json +1 -1
  177. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lt.json +1 -1
  178. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lv.json +1 -1
  179. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_nl.json +1 -1
  180. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_no.json +1 -1
  181. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pl.json +1 -1
  182. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-BR.json +1 -1
  183. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-PT.json +1 -1
  184. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ro.json +1 -1
  185. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ru.json +1 -1
  186. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sk.json +1 -1
  187. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sl.json +1 -1
  188. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sr.json +1 -1
  189. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sv.json +1 -1
  190. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_th.json +1 -1
  191. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_tr.json +1 -1
  192. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_uk.json +1 -1
  193. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_vi.json +1 -1
  194. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-CN.json +1 -1
  195. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-HK.json +1 -1
  196. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-TW.json +1 -1
  197. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
  198. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  199. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
  200. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
  201. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
  202. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
  203. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
  204. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
  205. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
  206. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
  207. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
  208. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
  209. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
  210. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
  211. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
  212. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
  213. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
  214. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
  215. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
  216. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
  217. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
  218. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
  219. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_no.json +1 -1
  220. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
  221. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
  222. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
  223. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
  224. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
  225. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
  226. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
  227. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
  228. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
  229. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
  230. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
  231. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
  232. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
  233. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
  234. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
  235. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
  236. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  237. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  238. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  239. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  240. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  241. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  242. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  243. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  244. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  245. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  246. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  247. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  248. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  249. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  250. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  251. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  252. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  253. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  254. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  255. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  256. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  257. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  258. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  259. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  260. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  261. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  262. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  263. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  264. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  265. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  266. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  267. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  268. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  269. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  270. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  271. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  272. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  273. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  274. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  275. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  276. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  277. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  278. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  279. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  280. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  281. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  282. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  283. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  284. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  285. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  286. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  287. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  288. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  289. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  290. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  291. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  292. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  293. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  294. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  295. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  296. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  297. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  298. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  299. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  300. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  301. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  302. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  303. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  304. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  305. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  306. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  307. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  308. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  309. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  310. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  311. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  312. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  313. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  314. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  315. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  316. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  317. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  318. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  319. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  320. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  321. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  322. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  323. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  324. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  325. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  326. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  327. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  328. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  329. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  330. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  331. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  332. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  333. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  334. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  335. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  336. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  337. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  338. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  339. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  340. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  341. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  342. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  343. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  344. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  345. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  346. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  347. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  348. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  349. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  350. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  351. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  352. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  353. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ar.json +1 -1
  354. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bg.json +1 -1
  355. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bs.json +1 -1
  356. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ca.json +1 -1
  357. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_cs.json +1 -1
  358. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_da.json +1 -1
  359. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_de.json +1 -1
  360. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_el.json +1 -1
  361. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_es.json +1 -1
  362. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_et.json +1 -1
  363. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fi.json +1 -1
  364. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fr.json +1 -1
  365. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_he.json +1 -1
  366. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hr.json +1 -1
  367. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hu.json +1 -1
  368. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_id.json +1 -1
  369. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_it.json +1 -1
  370. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ja.json +1 -1
  371. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ko.json +1 -1
  372. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lt.json +1 -1
  373. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lv.json +1 -1
  374. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nl.json +1 -1
  375. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_no.json +1 -1
  376. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pl.json +1 -1
  377. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-BR.json +1 -1
  378. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-PT.json +1 -1
  379. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ro.json +1 -1
  380. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ru.json +1 -1
  381. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sk.json +1 -1
  382. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sl.json +1 -1
  383. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sr.json +1 -1
  384. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sv.json +1 -1
  385. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_th.json +1 -1
  386. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_tr.json +1 -1
  387. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_uk.json +1 -1
  388. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_vi.json +1 -1
  389. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-CN.json +1 -1
  390. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-HK.json +1 -1
  391. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-TW.json +1 -1
  392. package/chunks/ComponentShader.glsl.js +11 -11
  393. package/chunks/GaussianSplatComposition.glsl.js +1 -1
  394. package/chunks/GlobalIlluminationBlur.glsl.js +8 -8
  395. package/chunks/GlowComposition.glsl.js +1 -1
  396. package/chunks/OITBlend.glsl.js +1 -24
  397. package/chunks/OITBlendEmission.glsl.js +9 -9
  398. package/chunks/OITDimOpaque.glsl.js +3 -9
  399. package/chunks/bundle2.js +1 -1
  400. package/chunks/languageUtils.js +1 -1
  401. package/config.js +1 -1
  402. package/core/reactiveUtils.d.ts +410 -109
  403. package/core/screenUtils.js +1 -1
  404. package/editing/types.d.ts +2 -2
  405. package/form/elements/UtilityNetworkAssociationsElement.d.ts +0 -1
  406. package/geometry/support/aaBoundingRect.js +1 -1
  407. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +5 -2
  408. package/graphic/AnnotationFeatureGraphicOrigin.js +1 -1
  409. package/graphic/DimensionFeatureGraphicOrigin.js +1 -1
  410. package/graphic/graphicOrigins.js +1 -1
  411. package/graphic/isAnnotationFeatureGraphicOrigin.d.ts +29 -0
  412. package/graphic/isAnnotationFeatureGraphicOrigin.js +2 -0
  413. package/graphic/isDimensionFeatureGraphicOrigin.d.ts +29 -0
  414. package/graphic/isDimensionFeatureGraphicOrigin.js +2 -0
  415. package/interfaces.d.ts +3 -3
  416. package/kernel.js +1 -1
  417. package/layers/AnnotationFeatureLayer.d.ts +73 -0
  418. package/layers/AnnotationFeatureLayer.js +1 -1
  419. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  420. package/layers/ParquetLayer.js +1 -1
  421. package/layers/graphics/applyEditsUtils.js +1 -1
  422. package/layers/graphics/data/QueryEngine.js +1 -1
  423. package/layers/graphics/sources/MemorySource.js +1 -1
  424. package/layers/graphics/sources/ParquetSource.js +1 -1
  425. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +1 -1
  426. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  427. package/layers/graphics/sources/support/parquetIdUtils.js +1 -1
  428. package/layers/mixins/OperationalLayer.js +1 -1
  429. package/layers/support/{AnnotationSublayer.d.ts → AnnotationFeatureSublayer.d.ts} +12 -12
  430. package/layers/support/AnnotationFeatureSublayer.js +2 -0
  431. package/layers/support/ExportImageServiceParameters.js +1 -1
  432. package/layers/support/ParquetPortalItemData.js +1 -1
  433. package/layers/support/layerUtils.js +1 -1
  434. package/layers/support/layersMapping.js +1 -1
  435. package/layers/support/parquetUtils.js +1 -1
  436. package/package.json +4 -4
  437. package/popup/Feature.d.ts +57 -6
  438. package/popup/Features.d.ts +86 -7
  439. package/popup/content/UtilityNetworkAssociationsContent.d.ts +0 -1
  440. package/popup/support/UtilityNetworkAssociationType.d.ts +0 -1
  441. package/rest/print.js +1 -1
  442. package/smartMapping/renderers/location.js +1 -1
  443. package/smartMapping/renderers/predominance.js +1 -1
  444. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  445. package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
  446. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  447. package/support/revision.js +1 -1
  448. package/symbols/WebStyleSymbol.js +1 -1
  449. package/symbols/support/symbolUtils.js +1 -1
  450. package/symbols/support/webStyleSymbolCache.js +2 -0
  451. package/undoredo/support/ApplySet.js +1 -1
  452. package/undoredo/support/ApplySetItem.js +1 -1
  453. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  454. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  455. package/views/2d/engine/webgl/TextureManager.js +1 -1
  456. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  457. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  458. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  459. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  460. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  461. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  462. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  463. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  464. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  465. package/views/2d/layers/support/annodime/utils.js +1 -1
  466. package/views/2d/support/hitTestUtils.js +1 -1
  467. package/views/2d/unitBezier.js +1 -1
  468. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  469. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  470. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  471. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  472. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  473. package/views/3d/layers/graphics/SymbolComplexity.js +1 -1
  474. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  475. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  476. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  477. package/views/3d/support/QualityProfile.js +1 -1
  478. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  479. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  480. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  481. package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
  482. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  483. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  484. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +14 -6
  485. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -1
  486. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +2 -2
  487. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  488. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +6 -8
  489. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  490. package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +1 -1
  491. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  492. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  493. package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
  494. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
  495. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  496. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  497. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  498. package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +1 -1
  499. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +1 -1
  500. package/views/3d/webgl-engine/effects/transparency/OITBlendFragmentTechniqueConfiguration.js +2 -0
  501. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  502. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  503. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  504. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  505. package/views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js +2 -0
  506. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  507. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  508. package/views/3d/webgl-engine/lib/Material.js +1 -1
  509. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  510. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  511. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  512. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  513. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  514. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  515. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  516. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  517. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  518. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  519. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  520. package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
  521. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  522. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  523. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  524. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  525. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +9 -10
  526. package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +1 -1
  527. package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +1 -1
  528. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  529. package/views/LinkChartView.d.ts +3 -1
  530. package/views/View2D.d.ts +5 -4
  531. package/views/draw/support/editingSessionUtils.js +1 -1
  532. package/webdoc/support/writeUtils.js +1 -1
  533. package/webscene/support/AlphaCutoff.js +1 -1
  534. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  535. package/widgets/BatchAttributeForm/attachmentUtils.d.ts +9 -0
  536. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  537. package/widgets/BatchAttributeForm/css.js +1 -1
  538. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -2
  539. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  540. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  541. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  542. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  543. package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +1 -1
  544. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  545. package/widgets/BatchAttributeForm/types.d.ts +91 -5
  546. package/widgets/BatchAttributeForm.js +1 -1
  547. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  548. package/widgets/Editor/Edits.js +1 -1
  549. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  550. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  551. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  552. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  553. package/widgets/Editor/support/SketchController.js +1 -1
  554. package/widgets/Editor/workflowUtils.js +1 -1
  555. package/widgets/Editor.js +1 -1
  556. package/widgets/Feature/FeatureViewModel.d.ts +0 -1
  557. package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +0 -1
  558. package/widgets/Features/FeaturesViewModel.d.ts +0 -1
  559. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  560. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  561. package/widgets/OrientedImageryViewer.js +1 -1
  562. package/widgets/Print/PrintViewModel.d.ts +11 -1
  563. package/widgets/Print/PrintViewModel.js +1 -1
  564. package/widgets/Sketch/SketchViewModel.d.ts +10 -1
  565. package/widgets/Sketch/SketchViewModel.js +1 -1
  566. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +0 -1
  567. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +0 -1
  568. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +0 -1
  569. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +0 -1
  570. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +0 -1
  571. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +0 -1
  572. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +0 -1
  573. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +0 -1
  574. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +0 -1
  575. package/assets/components/assets/icon/parquetFeatureLayer16.json +0 -1
  576. package/assets/components/assets/icon/parquetFeatureLayer24.json +0 -1
  577. package/assets/components/assets/icon/parquetFeatureLayer32.json +0 -1
  578. package/assets/esri/core/workers/chunks/02a94efda13d9b683272.js +0 -1
  579. package/assets/esri/core/workers/chunks/0803f022b5191171bc9c.js +0 -1
  580. package/assets/esri/core/workers/chunks/0acf8df4e9556d05136c.js +0 -1
  581. package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +0 -1
  582. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +0 -1
  583. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +0 -1
  584. package/assets/esri/core/workers/chunks/1a95370ddc22729ab3c6.js +0 -1
  585. package/assets/esri/core/workers/chunks/23d50c4478f40a7d62bf.js +0 -1
  586. package/assets/esri/core/workers/chunks/2623cd08487fdc9a94f1.js +0 -1
  587. package/assets/esri/core/workers/chunks/2b00229c238aae70b948.js +0 -1
  588. package/assets/esri/core/workers/chunks/2b814bb51704a5b4fdc2.js +0 -30
  589. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +0 -1
  590. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +0 -1
  591. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +0 -30
  592. package/assets/esri/core/workers/chunks/3bdef4b9f86711ae48b3.js +0 -2
  593. package/assets/esri/core/workers/chunks/426b8e1e2eef2460851d.js +0 -1
  594. package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +0 -1
  595. package/assets/esri/core/workers/chunks/4d09ef7c57ab7f9782fe.js +0 -1
  596. package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +0 -1
  597. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +0 -1
  598. package/assets/esri/core/workers/chunks/59a60fa09b19a0b2f473.js +0 -1
  599. package/assets/esri/core/workers/chunks/59dafa1e1340ea4043e6.js +0 -1
  600. package/assets/esri/core/workers/chunks/6284eafe2c3b45a0e72a.js +0 -1
  601. package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +0 -1
  602. package/assets/esri/core/workers/chunks/6cab67fc7044ee9b863b.js +0 -1
  603. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +0 -1
  604. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
  605. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +0 -1
  606. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +0 -1
  607. package/assets/esri/core/workers/chunks/6f7193b9ff5942c0d354.js +0 -1
  608. package/assets/esri/core/workers/chunks/70737052bab29fcaa120.js +0 -1
  609. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +0 -1
  610. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +0 -1
  611. package/assets/esri/core/workers/chunks/8486ef6c7076baf0348b.js +0 -1
  612. package/assets/esri/core/workers/chunks/851705cf276eae8d4d37.js +0 -1
  613. package/assets/esri/core/workers/chunks/882ee7ed8a3a0215f9b9.js +0 -1
  614. package/assets/esri/core/workers/chunks/8c443c52c846a096a250.js +0 -1
  615. package/assets/esri/core/workers/chunks/972ba277a27704d28357.js +0 -1
  616. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +0 -1
  617. package/assets/esri/core/workers/chunks/9d27cc631bab8aa7479e.js +0 -1
  618. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +0 -1
  619. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +0 -1
  620. package/assets/esri/core/workers/chunks/a2d7e8147dee6642029a.js +0 -2
  621. package/assets/esri/core/workers/chunks/a643a4751bbf4430bde2.js +0 -262
  622. package/assets/esri/core/workers/chunks/a9003fe5975cd554ba24.js +0 -1
  623. package/assets/esri/core/workers/chunks/aa02458ceb839b555ee1.js +0 -1
  624. package/assets/esri/core/workers/chunks/ab62724b80b3c478a597.js +0 -1
  625. package/assets/esri/core/workers/chunks/b44cf254585210578eab.js +0 -1
  626. package/assets/esri/core/workers/chunks/b9935cc8e2bd4045058a.js +0 -1
  627. package/assets/esri/core/workers/chunks/c216cd5d6b5d4fe4bab3.js +0 -2
  628. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +0 -1
  629. package/assets/esri/core/workers/chunks/c32430e99e8cd6e5f688.js +0 -1
  630. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +0 -1
  631. package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +0 -1
  632. package/assets/esri/core/workers/chunks/ca8c08659d82019d775d.js +0 -1
  633. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +0 -1
  634. package/assets/esri/core/workers/chunks/d1ccc5f2d8892328ab01.js +0 -2
  635. package/assets/esri/core/workers/chunks/d41caf20c26f80385265.js +0 -1
  636. package/assets/esri/core/workers/chunks/d52864823067e57a719a.js +0 -1
  637. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +0 -1
  638. package/assets/esri/core/workers/chunks/d9d0a07245ee5117d2a0.js +0 -1
  639. package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +0 -1
  640. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +0 -1
  641. package/assets/esri/core/workers/chunks/e1505ec80b068011bdc5.js +0 -1
  642. package/assets/esri/core/workers/chunks/e16710ef178d64606a55.js +0 -1
  643. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +0 -1
  644. package/assets/esri/core/workers/chunks/e5ef06c205d34df1e4bc.js +0 -1
  645. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +0 -1
  646. package/assets/esri/core/workers/chunks/eabeaab5c4810f999a4d.js +0 -1
  647. package/assets/esri/core/workers/chunks/ec723f8777b935c5e81a.js +0 -1
  648. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +0 -1
  649. package/assets/esri/core/workers/chunks/f622ae3887c85535e8ab.js +0 -30
  650. package/assets/esri/core/workers/chunks/fa3faec65882c5b6f1a0.js +0 -1
  651. package/layers/support/AnnotationSublayer.js +0 -2
  652. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +0 -2
  653. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechniqueConfiguration.js +0 -2
  654. /package/assets/esri/core/workers/chunks/{3bdef4b9f86711ae48b3.js.LICENSE.txt → 0418b5c9d06f3585c035.js.LICENSE.txt} +0 -0
  655. /package/assets/esri/core/workers/chunks/{c216cd5d6b5d4fe4bab3.js.LICENSE.txt → 0e94786db78770868c63.js.LICENSE.txt} +0 -0
  656. /package/assets/esri/core/workers/chunks/{d1ccc5f2d8892328ab01.js.LICENSE.txt → 317bf48a4d513a9a2ff3.js.LICENSE.txt} +0 -0
  657. /package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js.LICENSE.txt → 7361ca78a605eda41a2f.js.LICENSE.txt} +0 -0
  658. /package/assets/esri/core/workers/chunks/{a2d7e8147dee6642029a.js.LICENSE.txt → fc4641f3c93f43c8c193.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const t="esri-batch-attribute-form",e=`${t}__group`,a=`${t}__input`,n=`${t}__attachment-element`,i=`${t}__relationship-element-input`,l=`${t}__multiple-choice-input`,m={base:t,form:`${t}__form`,formHeader:`${t}__form-header`,noticeError:`${t}__notice-error`,disabledNotice:`${t}__disabled-notice`,label:`${t}__label`,labelTextContent:`${t}__label-text-content`,fieldInput:`${a}`,inputRadio:`${a}--radio`,placeholderRadio:`${a}--radio-placeholder`,inputRadioGroup:`${a}--radio-group`,inputRadioLabel:`${a}--radio-label`,inputDisabled:`${a}--disabled`,inputSwitch:`${a}--switch`,dateInputContainer:`${`${t}__date`}-input-container`,textElementInput:`${t}__text-element-input`,attachmentElementInput:`${n}-input`,attachmentElementLabel:`${n}-label`,attachmentElementList:`${n}-list`,attachmentElementListItem:`${n}-list-item`,attachmentElementListItemStart:`${n}-list-item-start`,attachmentElementListItemStagedIndicator:`${n}-list-item-staged-indicator`,attachmentElementListItemThumb:`${n}-list-item-thumb`,attachmentElementListItemIcon:`${n}-list-item-icon`,attachmentElementEmptyState:`${n}-empty-state`,attachmentElementAddActions:`${n}-add-actions`,attachmentElementEmptyAction:`${n}-empty-action`,attachmentElementEmptyActionHint:`${n}-empty-action-hint`,attachmentElementEmptyActionHintValue:`${n}-empty-action-hint-value`,attachmentElementAllPanel:`${n}-all-panel`,attachmentElementAddPanel:`${n}-add-panel`,attachmentElementFileInput:`${n}-file-input`,attachmentElementAddDropzone:`${n}-add-dropzone`,attachmentElementAddDropzoneIcon:`${n}-add-dropzone-icon`,attachmentElementAddDropzoneHeading:`${n}-add-dropzone-heading`,attachmentElementAddDropzoneDetail:`${n}-add-dropzone-detail`,attachmentElementCaptureNotice:`${n}-capture-notice`,attachmentElementValidationCriteria:`${n}-validation-criteria`,attachmentElementDetail:`${n}-detail`,attachmentElementDetailPreview:`${n}-detail-preview`,attachmentElementDetailPreviewImage:`${n}-detail-preview-image`,attachmentElementDetailPreviewIcon:`${n}-detail-preview-icon`,attachmentElementDetailActions:`${n}-detail-actions`,attachmentElementDetailMetadata:`${n}-detail-metadata`,attachmentElementDetailMetadataGroup:`${n}-detail-metadata-group`,attachmentElementDetailFileNameRow:`${n}-detail-file-name-row`,attachmentElementDetailFileNameInput:`${n}-detail-file-name-input`,attachmentElementDetailMetadataLabel:`${n}-detail-metadata-label`,attachmentElementDetailMetadataValue:`${n}-detail-metadata-value`,relationshipElementInput:`${i}`,relationshipElementInputShowingAll:`${i}_showing-all`,relatedRecordsHeader:`${i}_header`,relatedRecordsDescription:`${i}_description`,relatedRecordsList:`${i}_list`,relatedRecordsListObserver:`${i}_list-observer`,relatedRecordsAddButton:`${i}_add-button`,utilityNetworkAssociationsElementInput:`${t}__utility-network-associations-element-input`,centeredButton:`${t}__centered-button`,description:`${t}__description-text`,block:`${t}__block`,group:e,groupSequential:`${e}--sequential`,individualElement:`${e}__individual-element`,multipleChoiceInput:`${l}`,multipleChoiceSelectAll:`${l}__select-all`,multipleChoiceOtherChoice:`${l}__other-choice`,multipleChoiceOtherChoiceWithSelectAll:`${l}__other-choice--with-select-all`};export{m as css};
2
+ const t="esri-batch-attribute-form",e=`${t}__group`,a=`${t}__input`,i=`${t}__attachment-element`,n=`${t}__relationship-element-input`,l=`${t}__multiple-choice-input`,m={base:t,form:`${t}__form`,formHeader:`${t}__form-header`,noticeError:`${t}__notice-error`,disabledNotice:`${t}__disabled-notice`,label:`${t}__label`,labelTextContent:`${t}__label-text-content`,fieldInput:`${a}`,inputRadio:`${a}--radio`,placeholderRadio:`${a}--radio-placeholder`,inputRadioGroup:`${a}--radio-group`,inputRadioLabel:`${a}--radio-label`,inputDisabled:`${a}--disabled`,inputSwitch:`${a}--switch`,dateInputContainer:`${`${t}__date`}-input-container`,textElementInput:`${t}__text-element-input`,attachmentElementInput:`${i}-input`,attachmentElementLabel:`${i}-label`,attachmentElementList:`${i}-list`,attachmentElementListItem:`${i}-list-item`,attachmentElementListItemStart:`${i}-list-item-start`,attachmentElementListItemStagedIndicator:`${i}-list-item-staged-indicator`,attachmentElementListItemThumb:`${i}-list-item-thumb`,attachmentElementListItemIcon:`${i}-list-item-icon`,attachmentElementEmptyState:`${i}-empty-state`,attachmentElementAddActions:`${i}-add-actions`,attachmentElementEmptyActionHint:`${i}-empty-action-hint`,attachmentElementEmptyActionHintValue:`${i}-empty-action-hint-value`,attachmentElementAllPanel:`${i}-all-panel`,attachmentElementAddPanel:`${i}-add-panel`,attachmentElementFileInput:`${i}-file-input`,attachmentElementAddDropzone:`${i}-add-dropzone`,attachmentElementAddDropzoneIcon:`${i}-add-dropzone-icon`,attachmentElementAddDropzoneHeading:`${i}-add-dropzone-heading`,attachmentElementAddDropzoneDetail:`${i}-add-dropzone-detail`,attachmentElementCaptureNotice:`${i}-capture-notice`,attachmentElementValidationCriteria:`${i}-validation-criteria`,attachmentElementDetail:`${i}-detail`,attachmentElementDetailPreview:`${i}-detail-preview`,attachmentElementDetailPreviewImage:`${i}-detail-preview-image`,attachmentElementDetailPreviewIcon:`${i}-detail-preview-icon`,attachmentElementDetailActions:`${i}-detail-actions`,attachmentElementDetailMetadata:`${i}-detail-metadata`,attachmentElementDetailMetadataGroup:`${i}-detail-metadata-group`,attachmentElementDetailFileNameRow:`${i}-detail-file-name-row`,attachmentElementDetailFileNameInput:`${i}-detail-file-name-input`,attachmentElementDetailMetadataLabel:`${i}-detail-metadata-label`,attachmentElementDetailMetadataValue:`${i}-detail-metadata-value`,relationshipElementInput:`${n}`,relationshipElementInputShowingAll:`${n}_showing-all`,relatedRecordsHeader:`${n}_header`,relatedRecordsDescription:`${n}_description`,relatedRecordsList:`${n}_list`,relatedRecordsListObserver:`${n}_list-observer`,relatedRecordsAddButton:`${n}_add-button`,utilityNetworkAssociationsElementInput:`${t}__utility-network-associations-element-input`,centeredButton:`${t}__centered-button`,description:`${t}__description-text`,group:e,groupSequential:`${e}--sequential`,individualElement:`${e}__individual-element`,multipleChoiceInput:`${l}`,multipleChoiceSelectAll:`${l}__select-all`,multipleChoiceOtherChoice:`${l}__other-choice`,multipleChoiceOtherChoiceWithSelectAll:`${l}__other-choice--with-select-all`};export{m as css};
@@ -104,10 +104,10 @@ export default class AttachmentElementInput extends EditableInput<any> {
104
104
  */
105
105
  ensureStagedUpdateData(attachment: AttachmentInfo): Promise<boolean>;
106
106
  /**
107
- * @param attachmentGlobalId - Global identifier of the attachment to retrieve.
107
+ * @param attachmentKey - Stable key of the attachment to retrieve.
108
108
  * @internal
109
109
  */
110
- findAttachment(attachmentGlobalId: string): AttachmentInfo | undefined;
110
+ findAttachment(attachmentKey: string): AttachmentInfo | undefined;
111
111
  /**
112
112
  * @param attachment - Attachment whose staged edit state should be resolved.
113
113
  * @returns The current staged edit state for the provided attachment.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import e from"../../../request.js";import a from"../../../core/Collection.js";import n from"../../../core/Logger.js";import{isAbortError as i}from"../../../core/promiseUtils.js";import s from"../../../core/ReactiveMap.js";import r from"../../../core/ReactiveSet.js";import{generateBracedUUID as o}from"../../../core/uuid.js";import{property as l,subclass as d}from"../../../core/accessorSupport/decorators.js";import{getEffectiveLayerCapabilities as h}from"../../../layers/support/layerUtils.js";import p from"../../../rest/query/support/AttachmentInfo.js";import{getAttachmentCategoryForFile as c,getAttachmentCategoryForAttachment as m}from"../../Attachments/support/attachmentUtils.js";import{getAttachmentUrl as u,preserveAttachmentFilenameExtension as g,attachmentValidationUtils as y}from"../attachmentUtils.js";import{isAttributeFormSupportedLayer as f}from"../batchAttributeFormUtils.js";import _ from"./EditableInput.js";import A from"./SingleFeatureInputAdapter.js";let U=-1;const v=["maximum-audio-length","maximum-file-size","minimum-number-of-files","maximum-number-of-files","maximum-video-length"];let b=class extends _{constructor(t){super(t),this.attachments=[],this.displayCount=3,this.group=null,this.single=new A({input:this}),this.type="attachment",this._initialAttachments=[],this._stagedAdds=new a,this._stagedDeletes=new r,this._stagedUpdates=new s,this._failedStagedUpdateHydrations=new r,this._pendingStagedUpdateHydrations=new s,this._temporaryAttachmentUrls=new s,this._validationCriterionStates=new s,this._hasUnsupportedFileTypeValidationError=!1}get allowUserRename(){return this.template.allowUserRename}get addDisabled(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e>=t}get effectiveAttachmentCount(){return this._initialAttachments.length-this._stagedDeletes.size+this._stagedAdds.length}get accept(){const{categories:t}=this;if(!t.size)return;const e=[];return t.has("image")&&e.push("image/*"),t.has("audio")&&e.push("audio/*"),t.has("video")&&e.push("video/*"),t.has("document")&&e.push("text/*","application/*","model/*"),e.length>0?e.join(","):void 0}get categories(){const t=new Set;for(const e of this._nestableInputs)C(t,e.type);return t}get _nestableInputs(){const{input:t}=this;return null==t?[]:"attachment"===t.type?t.inputTypes??[]:[t]}get attachmentKeyword(){return this.template.attachmentKeyword?.trim()}get displayFilename(){return this.template.displayFilename}get allAttachmentsVisibleOnDefaultPage(){return this.defaultPageAttachments.length===this.attachments.length}get canUploadFiles(){const t=this._nestableInputs;return!t.length||t.some(T)}get hasCaptureInputs(){return this._nestableInputs.some(F)}get captureMediaType(){const t=new Set;for(const e of this._nestableInputs)if(F(e))switch(e.type){case"audio":t.add("audio");break;case"video":t.add("video");break;case"image":case"signature":t.add("image")}return 1===t.size?Array.from(t)[0]:null}get isCaptureOnly(){const t=this._nestableInputs;return!!t.length&&t.every(I)}get defaultPageAttachments(){return this.attachments.slice(0,this.displayCount)}get feature(){return this.single.feature}get hasAttachmentChanges(){return this._stagedAdds.length>0||this._stagedUpdates.size>0||this._stagedDeletes.size>0}get attachmentCount(){return this.attachments.length}get hasMinimumAttachmentCountNotMet(){const t=this.minAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e<t}get hasReachedAttachmentLimit(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e===t}get hasExceededAttachmentLimit(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e>t}get hasPendingAttachmentUpdateData(){return this._pendingStagedUpdateHydrations.size>0}get input(){return this.template.input}get layer(){return this.single.layer}get maxAttachmentCount(){return this.template.maxAttachmentCount}get minAttachmentCount(){return this.template.minAttachmentCount}get supportsResize(){const{layer:t}=this;if(!t)return!1;const e=h(t);return!!e&&("attachment"in e&&!!e.attachment?.supportsResize)}get useOriginalFilename(){return this.template.useOriginalFilename}get valid(){const t=this.effectiveAttachmentCount,e=this.minAttachmentCount??-1/0,a=this.maxAttachmentCount??1/0,n=this.hasAttachmentChanges;return!(this._failedStagedUpdateHydrations.size>0)&&(!(t<e||t>a)||!n)}get _expressionLayer(){const t=this.layer;if(t)return"scene"===t.type&&"associatedLayer"in t&&null!=t.associatedLayer?t.associatedLayer:"feature"===t.type?t:void 0}destroy(){this._clearTemporaryAttachmentUrls()}applyFetchedAttachments(t){for(const e of t)this._normalizeAttachmentName(e);this._initialAttachments=t,this._failedStagedUpdateHydrations.clear(),this._recomputeAttachments()}clearAttachmentChanges(){this.clearValidationCriteriaState(),this._clearTemporaryAttachmentUrls(),this._stagedAdds.removeAll(),this._stagedUpdates.clear(),this._stagedDeletes.clear(),this._failedStagedUpdateHydrations.clear(),this._pendingStagedUpdateHydrations.clear(),this._recomputeAttachments()}clearValidationCriteriaState(){this._validationCriterionStates.clear(),this._hasUnsupportedFileTypeValidationError=!1}get hasInvalidValidationCriteria(){for(const t of this._validationCriterionStates.values())if("danger"===t)return!0;return!1}get hasUnsupportedFileTypeValidationError(){return this._hasUnsupportedFileTypeValidationError}get validationCriterionStates(){return this._validationCriterionStates}getValidationCriterionState(t){return this._validationCriterionStates.get(t)??null}stageAddAttachment(t){const{contentType:e,data:a,name:n}=t,i=t.globalId??o(),s=a instanceof Blob?a.size:void 0,r=n.trim(),l=new p({contentType:e??void 0,globalId:i,id:U--,keywords:this.attachmentKeyword??void 0,name:r,size:s});return this._setTemporaryAttachmentUrl(i,a),this._stagedAdds.add({globalId:i,info:l,data:a}),this._recomputeAttachments(),l}async stageAddAttachments(t,e){this.clearValidationCriteriaState();const a=t.filter(t=>this.isFileAllowed(t));if(this._setUnsupportedFileTypeValidationError(a.length!==t.length),0===a.length)return[];const n=[],i=new Map,s=Date.now(),r={},o=this.attachmentCount,l=o+a.length;null!=this.minAttachmentCount&&this.minAttachmentCount>0&&this._setValidationCriterionState(r,"minimum-number-of-files",l>=this.minAttachmentCount?"success":"danger");for(let d=0;d<a.length;d++){const t=a[d];if(!await this._validateAttachmentFile(t,o+n.length+1,r))continue;const l=t instanceof File?t.name:`attachment-${s}_${d+1}`,h=await this._computeAttachmentFilename(l,e),p=this._makeUniqueFilenameForOperation(i,h);n.push(this.stageAddAttachment({contentType:t.type,data:t,name:p}))}return this._setValidationCriteriaState(r),n}findAttachment(t){if(t)return this.attachments.find(e=>e.globalId===t)}getAttachmentEditState(t){const e=t.globalId,a=e?this._getInitialAttachment(e):void 0,n=a?.name??null,i=e?this._stagedUpdates.get(e):void 0,s=i?.name??t.name??null;return{initialName:n,isDeleted:!!e&&this._stagedDeletes.has(e),isRenamed:null!=s&&null!=n&&s!==n,isReplaced:!!i?.data}}getAttachmentPreviewUrl(t,e){return(t.globalId?this._temporaryAttachmentUrls.get(t.globalId):void 0)??u(t,this.supportsResize,e)}async ensureStagedUpdateData(t){const e=t.globalId;if(!e)return!1;const a=this._stagedUpdates.get(e);if(!a||a.data||this._stagedDeletes.has(e))return this._failedStagedUpdateHydrations.delete(e),!1;const n=this._pendingStagedUpdateHydrations.get(e);if(n)return await n;const i=this._hydrateStagedUpdateData(t);this._pendingStagedUpdateHydrations.set(e,i);try{return await i}finally{this._pendingStagedUpdateHydrations.get(e)===i&&this._pendingStagedUpdateHydrations.delete(e)}}async waitForPendingAttachmentUpdateData(){await Promise.allSettled(Array.from(this._pendingStagedUpdateHydrations.values()))}discardStagedEdits(t){const e=t.globalId;if(!e)return;const a=this._stagedAdds.findIndex(t=>t.globalId===e);if(a>-1)return this._clearTemporaryAttachmentUrl(e),this._stagedAdds.removeAt(a),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),void this._recomputeAttachments();this._clearTemporaryAttachmentUrl(e),this._stagedDeletes.delete(e),this._stagedUpdates.delete(e),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),this._recomputeAttachments()}isFileAllowed(t){const{categories:e}=this;if(!e.size)return!0;const a=c(t);return null!=a&&e.has(a)}isStagedAttachmentAddition(t){return"number"==typeof t.id&&t.id<0}stageDeleteAttachment(t){const e=t.globalId;if(!e)return;const a=this._stagedAdds.findIndex(t=>t.globalId===e);if(a>-1)return this._clearTemporaryAttachmentUrl(e),this._stagedAdds.removeAt(a),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),void this._recomputeAttachments();this._clearTemporaryAttachmentUrl(e),this._stagedUpdates.delete(e),this._stagedDeletes.add(e),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),this._recomputeAttachments()}stageRenameAttachment(t,e){const a=t.globalId;if(!a)return;const n=g(t.name,e),i=this._stagedAdds.find(t=>t.globalId===a);if(i)return i.info.name=n,void this._recomputeAttachments();const s=this._stagedUpdates.get(a),r=this._getInitialAttachment(a)?.name??null,o=null!=r&&n===r;if(o&&null==s?.data&&null==s?.contentType&&null==s?.size)return this._stagedUpdates.delete(a),this._failedStagedUpdateHydrations.delete(a),this._pendingStagedUpdateHydrations.delete(a),void this._recomputeAttachments();const l={...s,info:t};o?delete l.name:l.name=n,this._stagedUpdates.set(a,l),this._recomputeAttachments(),this.ensureStagedUpdateData(t)}async stageReplaceAttachment(t,e,a){if(this.clearValidationCriteriaState(),!this._isReplacementFileAllowed(t,e))return this._setUnsupportedFileTypeValidationError(!0),!1;const n={},i=await this._validateAttachmentFile(e,void 0,n);if(this._setValidationCriteriaState(n),!i)return!1;const s=e instanceof File?e.name:t.name,r=await this._computeAttachmentFilename(s,a);return this._stageReplaceAttachment(t,e,r),!0}toSubmitEdits(){const t=[],e=[],a=Array.from(this._stagedDeletes);if(0===this._stagedAdds.length&&0===this._stagedUpdates.size&&0===a.length)return null;const i=this._featureIdentifier;if(!i)return n.getLogger(this).error("Unable to build attachment edits without a valid feature and layer."),null;for(const n of this._stagedAdds)t.push({feature:i,attachment:{globalId:n.globalId,contentType:n.info.contentType,data:n.data,name:n.info.name}});for(const[n,s]of this._stagedUpdates)this._canSubmitStagedUpdate(s)&&e.push({feature:i,attachment:{globalId:n,contentType:s.contentType,data:s.data,name:s.name}});return 0===t.length&&0===e.length&&0===a.length?null:{label:this.template.label,attachmentKeyword:this.attachmentKeyword,add:t,delete:a,update:e}}_recomputeAttachments(){const t=[];for(const e of this._stagedAdds)t.push(e.info);for(const e of this._initialAttachments){const a=e.globalId;if(a&&this._stagedUpdates.has(a)){const n=this._stagedUpdates.get(a),i=e.clone();null!=n.name&&(i.name=n.name),null!=n.contentType&&(i.contentType=n.contentType),null!=n.size&&(i.size=n.size),t.push(i);continue}t.push(e)}this.attachments=t}get _featureIdentifier(){const t=this.single.feature,e=this.layer;if(!t||!f(e))return null;const a=e.objectIdField,n="globalIdField"in e?e.globalIdField:null,i=t.getGlobalId()??(n?t.getAttribute(n):void 0);if(i)return{globalId:i};const s=t.getObjectId()??t.getAttribute(a),r=Number(s);return null==s||isNaN(r)?null:{objectId:r}}async _computeAttachmentFilename(t,e){const a=this.template.filenameExpressionExecutor;if(!a)return t;const s=this.single.feature,r=s?.plainGraphic,o=this._expressionLayer,l={$originalfeature:s?.original,$editcontext:{editType:e.editType},$layer:o,$featureset:o,$datastore:o?.url,$feature:r,$map:e.map},d={rawOutput:!0,spatialReference:e.spatialReference,timeZone:e.timeZone};try{const t=a.isAsync?await a.executeAsync(l,d):a.execute(l,d);if("string"==typeof t&&t.trim().length>0)return t.trim()}catch(h){i(h)||n.getLogger(this).error("Failed evaluating attachment filename expression",h)}return t}_setValidationCriteriaState(t){this._validationCriterionStates.clear();for(const e of v){const a=t[e];a&&this._validationCriterionStates.set(e,a)}}_setUnsupportedFileTypeValidationError(t){this._hasUnsupportedFileTypeValidationError!==t&&(this._hasUnsupportedFileTypeValidationError=t)}_setValidationCriterionState(t,e,a){"danger"!==t[e]&&(t[e]=a)}_isReplacementFileAllowed(t,e){const a=c(e);if(!this.isFileAllowed(e))return!1;const n=m(t);return null==n||n===a}async _validateAttachmentFile(t,e,a){let n=!0;const i=c(t);for(const s of this._nestableInputs){const e=y.getAttachmentCategoryForInputType(s.type);if(null==i||e===i){if("document"===s.type&&null!=s.maxFileSize){const e=t.size<=1048576*s.maxFileSize;this._setValidationCriterionState(a,"maximum-file-size",e?"success":"danger"),n=n&&e}if(("audio"===s.type||"video"===s.type)&&null!=s.maxDuration){const e=await y.getMediaDurationInSeconds(t,s.type),i=null!=e&&e<=s.maxDuration;this._setValidationCriterionState(a,"audio"===s.type?"maximum-audio-length":"maximum-video-length",i?"success":"danger"),n=n&&i}}}if(null!=e&&null!=this.maxAttachmentCount){const t=e<=this.maxAttachmentCount;this._setValidationCriterionState(a,"maximum-number-of-files",t?"success":"danger"),n=n&&t}return n}_makeUniqueFilenameForOperation(t,e){const a=e.toLowerCase(),n=t.get(a)??0;if(t.set(a,n+1),0===n)return e;const i=e.lastIndexOf(".");return`${i>0?e.slice(0,i):e}_${n}${i>0?e.slice(i):""}`}_stageReplaceAttachment(t,e,a){const n=t.globalId;if(!n)return;const i=this._stagedAdds.find(t=>t.globalId===n);if(i)return i.data=e,i.info.name=a,i.info.contentType=e.type,i.info.size=e.size,this._setTemporaryAttachmentUrl(n,e),void this._recomputeAttachments();const s=this._stagedUpdates.get(n);this._setTemporaryAttachmentUrl(n,e),this._failedStagedUpdateHydrations.delete(n),this._pendingStagedUpdateHydrations.delete(n),this._stagedUpdates.set(n,{...s,info:t,contentType:e.type||s?.contentType||t.contentType,data:e,name:a,size:e.size}),this._recomputeAttachments()}_getInitialAttachment(t){return this._initialAttachments.find(e=>e.globalId===t)}_canSubmitStagedUpdate(t){return null!=t.data}_normalizeAttachmentName(t){const{name:e}=t;"string"==typeof e&&(t.name=e.trim())}async _hydrateStagedUpdateData(t){const a=t.globalId,s=t.url;if(!a||!s)return!1;try{const{data:n}=await e(s,{responseType:"blob"});this._failedStagedUpdateHydrations.delete(a);const i=this._stagedUpdates.get(a);return!(!i||i.data||this._stagedDeletes.has(a))&&(this._stagedUpdates.set(a,{...i,info:t,contentType:i.contentType??t.contentType??n.type,data:n}),!0)}catch(r){const t=this._stagedUpdates.get(a);return!t||t.data||this._stagedDeletes.has(a)||this._failedStagedUpdateHydrations.add(a),i(r)||n.getLogger(this).error("Failed to fetch attachment data for staged update",r),!1}}_setTemporaryAttachmentUrl(t,e){if(this._clearTemporaryAttachmentUrl(t),!(e instanceof Blob))return;const a=URL.createObjectURL(e);return this._temporaryAttachmentUrls.set(t,a),a}_clearTemporaryAttachmentUrl(t){const e=this._temporaryAttachmentUrls.get(t);e&&(URL.revokeObjectURL(e),this._temporaryAttachmentUrls.delete(t))}_clearTemporaryAttachmentUrls(){for(const t of this._temporaryAttachmentUrls.values())URL.revokeObjectURL(t);this._temporaryAttachmentUrls.clear()}};t([l()],b.prototype,"allowUserRename",null),t([l()],b.prototype,"addDisabled",null),t([l()],b.prototype,"effectiveAttachmentCount",null),t([l()],b.prototype,"accept",null),t([l()],b.prototype,"categories",null),t([l()],b.prototype,"attachmentKeyword",null),t([l()],b.prototype,"attachments",void 0),t([l()],b.prototype,"displayFilename",null),t([l({readOnly:!0})],b.prototype,"allAttachmentsVisibleOnDefaultPage",null),t([l()],b.prototype,"canUploadFiles",null),t([l()],b.prototype,"hasCaptureInputs",null),t([l()],b.prototype,"captureMediaType",null),t([l()],b.prototype,"isCaptureOnly",null),t([l({readOnly:!0})],b.prototype,"defaultPageAttachments",null),t([l()],b.prototype,"displayCount",void 0),t([l()],b.prototype,"feature",null),t([l()],b.prototype,"group",void 0),t([l({readOnly:!0})],b.prototype,"hasAttachmentChanges",null),t([l()],b.prototype,"attachmentCount",null),t([l()],b.prototype,"hasMinimumAttachmentCountNotMet",null),t([l()],b.prototype,"hasReachedAttachmentLimit",null),t([l()],b.prototype,"hasExceededAttachmentLimit",null),t([l({readOnly:!0})],b.prototype,"hasPendingAttachmentUpdateData",null),t([l()],b.prototype,"input",null),t([l()],b.prototype,"layer",null),t([l()],b.prototype,"maxAttachmentCount",null),t([l()],b.prototype,"minAttachmentCount",null),t([l({readOnly:!0})],b.prototype,"single",void 0),t([l({readOnly:!0})],b.prototype,"type",void 0),t([l({readOnly:!0})],b.prototype,"supportsResize",null),t([l()],b.prototype,"useOriginalFilename",null),t([l({readOnly:!0})],b.prototype,"valid",null),t([l()],b.prototype,"_initialAttachments",void 0),t([l()],b.prototype,"_expressionLayer",null),t([l()],b.prototype,"_stagedAdds",void 0),t([l()],b.prototype,"_stagedDeletes",void 0),t([l()],b.prototype,"_stagedUpdates",void 0),t([l()],b.prototype,"_failedStagedUpdateHydrations",void 0),t([l()],b.prototype,"_pendingStagedUpdateHydrations",void 0),t([l()],b.prototype,"_temporaryAttachmentUrls",void 0),t([l()],b.prototype,"_hasUnsupportedFileTypeValidationError",void 0),t([l()],b.prototype,"hasInvalidValidationCriteria",null),t([l()],b.prototype,"hasUnsupportedFileTypeValidationError",null),t([l()],b.prototype,"validationCriterionStates",null),t([l()],b.prototype,"_featureIdentifier",null),b=t([d("esri.widgets.BatchAttributeForm.inputs.AttachmentElementInput")],b);const S=b;function C(t,e){switch(e){case"audio":t.add("audio");break;case"document":t.add("document");break;case"image":case"signature":t.add("image");break;case"video":t.add("video")}}function I(t){return"document"!==t.type&&"capture"===t.inputMethod}function F(t){return I(t)}function T(t){return"document"===t.type||"capture"!==t.inputMethod}export{S as default};
2
+ import{__decorate as t}from"tslib";import e from"../../../request.js";import a from"../../../core/Collection.js";import n from"../../../core/Logger.js";import{isAbortError as i}from"../../../core/promiseUtils.js";import s from"../../../core/ReactiveMap.js";import r from"../../../core/ReactiveSet.js";import{generateBracedUUID as o}from"../../../core/uuid.js";import{property as l,subclass as d}from"../../../core/accessorSupport/decorators.js";import{getEffectiveLayerCapabilities as h}from"../../../layers/support/layerUtils.js";import c from"../../../rest/query/support/AttachmentInfo.js";import{getAttachmentCategoryForFile as m,getAttachmentCategoryForAttachment as p}from"../../Attachments/support/attachmentUtils.js";import{getAttachmentKey as u,getAttachmentUrl as g,preserveAttachmentFilenameExtension as y,attachmentValidationUtils as f}from"../attachmentUtils.js";import{isAttributeFormSupportedLayer as _}from"../batchAttributeFormUtils.js";import A from"./EditableInput.js";import U from"./SingleFeatureInputAdapter.js";let v=-1;const S=["maximum-audio-length","maximum-file-size","maximum-image-size","minimum-number-of-files","maximum-number-of-files","maximum-video-length"];let C=class extends A{constructor(t){super(t),this.attachments=[],this.displayCount=3,this.group=null,this.single=new U({input:this}),this.type="attachment",this._initialAttachments=[],this._stagedAdds=new a,this._stagedDeletes=new r,this._stagedUpdates=new s,this._failedStagedUpdateHydrations=new r,this._pendingStagedUpdateHydrations=new s,this._temporaryAttachmentUrls=new s,this._validationCriterionStates=new s,this._hasUnsupportedFileTypeValidationError=!1}get allowUserRename(){return this.template.allowUserRename}get addDisabled(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e>=t}get effectiveAttachmentCount(){return this._initialAttachments.length-this._stagedDeletes.size+this._stagedAdds.length}get accept(){const{categories:t}=this;if(!t.size)return;const e=[];return t.has("image")&&e.push("image/*"),t.has("audio")&&e.push("audio/*"),t.has("video")&&e.push("video/*"),t.has("document")&&e.push("text/*","application/*","model/*"),e.length>0?e.join(","):void 0}get categories(){const t=new Set;for(const e of this._nestableInputs)w(t,e.type);return t}get _nestableInputs(){const{input:t}=this;return null==t?[]:"attachment"===t.type?t.inputTypes??[]:[t]}get attachmentKeyword(){return this.template.attachmentKeyword?.trim()}get displayFilename(){return this.template.displayFilename}get allAttachmentsVisibleOnDefaultPage(){return this.defaultPageAttachments.length===this.attachments.length}get canUploadFiles(){const t=this._nestableInputs;return!t.length||t.some(x)}get hasCaptureInputs(){return this._nestableInputs.some(F)}get captureMediaType(){const t=new Set;for(const e of this._nestableInputs)if(F(e))switch(e.type){case"audio":t.add("audio");break;case"video":t.add("video");break;case"image":case"signature":t.add("image")}return 1===t.size?Array.from(t)[0]:null}get isCaptureOnly(){const t=this._nestableInputs;return!!t.length&&t.every(T)}get defaultPageAttachments(){return this.attachments.slice(0,this.displayCount)}get feature(){return this.single.feature}get hasAttachmentChanges(){return this._stagedAdds.length>0||this._stagedUpdates.size>0||this._stagedDeletes.size>0}get hasInvalidAttachmentName(){return!!this.allowUserRename&&this.attachments.some(t=>0===t.name.trim().length)}get attachmentCount(){return this.attachments.length}get hasMinimumAttachmentCountNotMet(){const t=this.minAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e<t}get hasReachedAttachmentLimit(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e===t}get hasExceededAttachmentLimit(){const t=this.maxAttachmentCount,e=this.effectiveAttachmentCount;return null!=t&&e>t}get hasPendingAttachmentUpdateData(){return this._pendingStagedUpdateHydrations.size>0}get input(){return this.template.input}get layer(){return this.single.layer}get maxAttachmentCount(){return this.template.maxAttachmentCount}get minAttachmentCount(){return this.template.minAttachmentCount}get supportsResize(){const{layer:t}=this;if(!t)return!1;const e=h(t);return!!e&&("attachment"in e&&!!e.attachment?.supportsResize)}get useOriginalFilename(){return this.template.useOriginalFilename}get valid(){const t=this.effectiveAttachmentCount,e=this.minAttachmentCount??-1/0,a=this.maxAttachmentCount??1/0,n=this.hasAttachmentChanges;return!(this._failedStagedUpdateHydrations.size>0||this.hasInvalidAttachmentName)&&(!(t<e||t>a)||!n)}get _expressionLayer(){const t=this.layer;if(t)return"scene"===t.type&&"associatedLayer"in t&&null!=t.associatedLayer?t.associatedLayer:"feature"===t.type?t:void 0}destroy(){this._clearTemporaryAttachmentUrls()}applyFetchedAttachments(t){for(const e of t)this._normalizeAttachmentName(e);this._initialAttachments=t,this._failedStagedUpdateHydrations.clear(),this._recomputeAttachments()}clearAttachmentChanges(){this.clearValidationCriteriaState(),this._clearTemporaryAttachmentUrls(),this._stagedAdds.removeAll(),this._stagedUpdates.clear(),this._stagedDeletes.clear(),this._failedStagedUpdateHydrations.clear(),this._pendingStagedUpdateHydrations.clear(),this._recomputeAttachments()}clearValidationCriteriaState(){this._validationCriterionStates.clear(),this._hasUnsupportedFileTypeValidationError=!1}get hasInvalidValidationCriteria(){for(const t of this._validationCriterionStates.values())if("danger"===t)return!0;return!1}get hasUnsupportedFileTypeValidationError(){return this._hasUnsupportedFileTypeValidationError}get validationCriterionStates(){return this._validationCriterionStates}getValidationCriterionState(t){return this._validationCriterionStates.get(t)??null}stageAddAttachment(t){const{contentType:e,data:a,name:n}=t,i=t.globalId??o(),s=a instanceof Blob?a.size:void 0,r=n.trim(),l=new c({contentType:e??void 0,globalId:i,id:v--,keywords:this.attachmentKeyword??void 0,name:r,size:s});return this._setTemporaryAttachmentUrl(i,a),this._stagedAdds.add({key:i,globalId:i,info:l,data:a}),this._recomputeAttachments(),l}async stageAddAttachments(t,e){this.clearValidationCriteriaState();const a=t.filter(t=>this.isFileAllowed(t));if(this._setUnsupportedFileTypeValidationError(a.length!==t.length),0===a.length)return[];const n=[],i=new Map,s=Date.now(),r={},o=this.attachmentCount,l=o+a.length;if(null!=this.minAttachmentCount&&this.minAttachmentCount>0&&this._setValidationCriterionState(r,"minimum-number-of-files",l>=this.minAttachmentCount?"success":"danger"),null!=this.maxAttachmentCount){const t=l<=this.maxAttachmentCount;if(this._setValidationCriterionState(r,"maximum-number-of-files",t?"success":"danger"),!t)return this._setValidationCriteriaState(r),[]}for(let d=0;d<a.length;d++){const t=a[d];if(!await this._validateAttachmentFile(t,o+n.length+1,r))continue;const l=t instanceof File?t.name:`attachment-${s}_${d+1}`,h=await this._resolveAttachmentFilename(l,e),c=this._makeUniqueFilenameForOperation(i,h);n.push(this.stageAddAttachment({contentType:t.type,data:t,name:c}))}return this._setValidationCriteriaState(r),n}findAttachment(t){if(t)return this.attachments.find(e=>u(e)===t)}getAttachmentEditState(t){const e=this._getAttachmentKey(t),a=e?this._initialAttachments.find(t=>this._getAttachmentKey(t)===e):void 0,n=a?.name??null,i=e?this._stagedUpdates.get(e):void 0,s=i?.name??t.name??null;return{initialName:n,isDeleted:!!e&&this._stagedDeletes.has(e),isRenamed:null!=s&&null!=n&&s!==n,isReplaced:!0===i?.isReplacement}}getAttachmentPreviewUrl(t,e){const a=this._getAttachmentKey(t);return(a?this._temporaryAttachmentUrls.get(a):void 0)??g(t,this.supportsResize,e)}async ensureStagedUpdateData(t){const e=this._getAttachmentKey(t);if(!e)return!1;const a=this._stagedUpdates.get(e);if(!a||a.data||this._stagedDeletes.has(e))return this._failedStagedUpdateHydrations.delete(e),!1;const n=this._pendingStagedUpdateHydrations.get(e);if(n)return await n;const i=this._hydrateStagedUpdateData(t);this._pendingStagedUpdateHydrations.set(e,i);try{return await i}finally{this._pendingStagedUpdateHydrations.get(e)===i&&this._pendingStagedUpdateHydrations.delete(e)}}async waitForPendingAttachmentUpdateData(){await Promise.allSettled(Array.from(this._pendingStagedUpdateHydrations.values()))}discardStagedEdits(t){const e=this._getAttachmentKey(t);if(!e)return;const a=this._stagedAdds.findIndex(t=>t.key===e);if(a>-1)return this._clearTemporaryAttachmentUrl(e),this._stagedAdds.removeAt(a),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),void this._recomputeAttachments();this._clearTemporaryAttachmentUrl(e),this._stagedDeletes.delete(e),this._clearStagedUpdateTracking(e),this._recomputeAttachments()}isFileAllowed(t){const{categories:e}=this;if(!e.size)return!0;const a=m(t);return null!=a&&e.has(a)}isStagedAttachmentAddition(t){return"number"==typeof t.id&&t.id<0}stageDeleteAttachment(t){const e=this._getAttachmentKey(t);if(!e)return;const a=this._stagedAdds.findIndex(t=>t.key===e);if(a>-1)return this._clearTemporaryAttachmentUrl(e),this._stagedAdds.removeAt(a),this._failedStagedUpdateHydrations.delete(e),this._pendingStagedUpdateHydrations.delete(e),void this._recomputeAttachments();this._clearTemporaryAttachmentUrl(e),this._stagedDeletes.add(e),this._clearStagedUpdateTracking(e),this._recomputeAttachments()}stageRenameAttachment(t,e){const a=this._getAttachmentKey(t);if(!a)return;const n=this._stagedAdds.find(t=>t.key===a);if(n){const a=y(t.name,e);return n.info.name=a,void this._recomputeAttachments()}const i=this._stagedUpdates.get(a),s=this._getInitialAttachment(a)?.name??null,r=0===t.name.trim().length?s??t.name:t.name,o=y(r,e),l=null!=s&&o===s;if(l&&!0!==i?.isReplacement)return this._stagedUpdates.delete(a),this._failedStagedUpdateHydrations.delete(a),this._pendingStagedUpdateHydrations.delete(a),void this._recomputeAttachments();const d={key:a,...i,info:t};l?delete d.name:d.name=o,this._stagedUpdates.set(a,d),this._recomputeAttachments(),this.ensureStagedUpdateData(t)}async stageReplaceAttachment(t,e,a){if(this.clearValidationCriteriaState(),!this._isReplacementFileAllowed(t,e))return this._setUnsupportedFileTypeValidationError(!0),!1;const n={},i=await this._validateAttachmentFile(e,void 0,n);if(this._setValidationCriteriaState(n),!i)return!1;const s=e instanceof File?e.name:t.name,r=await this._resolveAttachmentFilename(s,a);return this._stageReplaceAttachment(t,e,r),!0}toSubmitEdits(){const t=[],e=[],a=[];if(0===this._stagedAdds.length&&0===this._stagedUpdates.size&&0===this._stagedDeletes.size)return null;const i=this._featureIdentifier;if(!i)return n.getLogger(this).error("Unable to build attachment edits without a valid feature and layer."),null;for(const n of this._stagedAdds)null!=n.data&&t.push({feature:i,contentType:n.info.contentType,data:n.data,info:n.info,keywords:this.attachmentKeyword,name:n.info.name});for(const n of this._stagedUpdates.values()){const t=null==n.name||n.name.trim().length>0;null!=n.data&&t&&e.push({feature:i,contentType:n.contentType,data:n.data,globalId:n.info.globalId,id:n.info.id,info:n.info,keywords:this.attachmentKeyword,name:n.name})}for(const n of this._stagedDeletes.values()){const t=this._getInitialAttachment(n);t&&a.push({feature:i,contentType:t.contentType,globalId:t.globalId,id:t.id,info:t,keywords:this.attachmentKeyword,name:t.name})}return 0===t.length&&0===e.length&&0===a.length?null:{label:this.template.label,attachmentKeyword:this.attachmentKeyword,adds:t,deletes:a,updates:e}}_recomputeAttachments(){const t=[];for(const e of this._stagedAdds)t.push(e.info);for(const e of this._initialAttachments){const a=this._getAttachmentKey(e);if(a&&this._stagedUpdates.has(a)){const n=this._stagedUpdates.get(a),i=e.clone();null!=n.name&&(i.name=n.name),null!=n.contentType&&(i.contentType=n.contentType),null!=n.size&&(i.size=n.size),t.push(i);continue}t.push(e)}this.attachments=t}get _featureIdentifier(){const t=this.single.feature,e=this.layer;if(!t||!_(e))return null;const a=e.objectIdField,n="globalIdField"in e?e.globalIdField:null,i=t.getGlobalId()??(n?t.getAttribute(n):void 0);if(i)return{globalId:i};const s=t.getObjectId()??t.getAttribute(a),r=Number(s);return null==s||isNaN(r)?null:{objectId:r}}async _computeAttachmentFilename(t,e){const a=this.template.filenameExpressionExecutor;if(!a)return t;const s=this.single.feature,r=s?.plainGraphic,o=this._expressionLayer,{attachmentKeyword:l,description:d,label:h}=this.template,c={$originalfeature:s?.original,$editcontext:{editType:e.editType},$layer:o,$featureset:o,$datastore:o?.url,$feature:r,$map:e.map,$formElement:{attachmentKeyword:l,description:d,label:h}},m={rawOutput:!0,spatialReference:e.spatialReference,timeZone:e.timeZone};try{const t=a.isAsync?await a.executeAsync(c,m):a.execute(c,m);if("string"==typeof t&&t.trim().length>0)return t.trim()}catch(p){i(p)||n.getLogger(this).error("Failed evaluating attachment filename expression",p)}return t}async _resolveAttachmentFilename(t,e){return!1===this.useOriginalFilename?await this._computeAttachmentFilename(t,e):t}_makeUniqueFilenameForOperation(t,e){const a=e.toLowerCase(),n=t.get(a)??0;if(t.set(a,n+1),0===n)return e;const i=e.lastIndexOf(".");return`${i>0?e.slice(0,i):e}_${n}${i>0?e.slice(i):""}`}_setValidationCriteriaState(t){this._validationCriterionStates.clear();for(const e of S){const a=t[e];a&&this._validationCriterionStates.set(e,a)}}_setUnsupportedFileTypeValidationError(t){this._hasUnsupportedFileTypeValidationError!==t&&(this._hasUnsupportedFileTypeValidationError=t)}_setValidationCriterionState(t,e,a){"danger"!==t[e]&&(t[e]=a)}_isReplacementFileAllowed(t,e){const a=m(e);if(!this.isFileAllowed(e))return!1;const n=p(t);return null==n||n===a}async _validateAttachmentFile(t,e,a){let n=!0;const i=m(t);for(const s of this._nestableInputs){const e=f.getAttachmentCategoryForInputType(s.type);if(null==i||e===i){if("document"===s.type&&null!=s.maxFileSize){const e=t.size<=1048576*s.maxFileSize;this._setValidationCriterionState(a,"maximum-file-size",e?"success":"danger"),n=n&&e}if(("audio"===s.type||"video"===s.type)&&null!=s.maxDuration){const e=await f.getMediaDurationInSeconds(t,s.type),i=null!=e&&e<=s.maxDuration;this._setValidationCriterionState(a,"audio"===s.type?"maximum-audio-length":"maximum-video-length",i?"success":"danger"),n=n&&i}if("image"===s.type&&null!=s.maxImageSize){const e=await f.getImageDimensionsInPixels(t),i=e?Math.max(e.width,e.height):null,r=null==i||i<=s.maxImageSize;this._setValidationCriterionState(a,"maximum-image-size",r?"success":"danger"),n=n&&r}}}if(null!=e&&null!=this.maxAttachmentCount){const t=e<=this.maxAttachmentCount;this._setValidationCriterionState(a,"maximum-number-of-files",t?"success":"danger"),n=n&&t}return n}_stageReplaceAttachment(t,e,a){const n=this._getAttachmentKey(t);if(!n)return;const i=this._stagedAdds.find(t=>t.key===n);if(i)return i.data=e,i.info.name=a,i.info.contentType=e.type,i.info.size=e.size,this._setTemporaryAttachmentUrl(n,e),void this._recomputeAttachments();const s=this._stagedUpdates.get(n);this._setTemporaryAttachmentUrl(n,e),this._failedStagedUpdateHydrations.delete(n),this._pendingStagedUpdateHydrations.delete(n),this._stagedUpdates.set(n,{...s,key:n,info:t,isReplacement:!0,contentType:e.type||s?.contentType||t.contentType,data:e,name:a,size:e.size}),this._recomputeAttachments()}_getInitialAttachment(t){return this._initialAttachments.find(e=>this._getAttachmentKey(e)===t)}_normalizeAttachmentName(t){const{name:e}=t;"string"==typeof e&&(t.name=e.trim())}_getAttachmentKey(t){return u(t)}_clearStagedUpdateTracking(t){this._stagedUpdates.delete(t),this._failedStagedUpdateHydrations.delete(t),this._pendingStagedUpdateHydrations.delete(t)}async _hydrateStagedUpdateData(t){const a=this._getAttachmentKey(t),s=t.url;if(!a||!s)return!1;try{const{data:n}=await e(s,{responseType:"blob"});this._failedStagedUpdateHydrations.delete(a);const i=this._stagedUpdates.get(a);return!(!i||i.data||this._stagedDeletes.has(a))&&(this._stagedUpdates.set(a,{...i,info:t,isReplacement:i.isReplacement??!1,contentType:i.contentType??t.contentType??n.type,data:n}),!0)}catch(r){const t=this._stagedUpdates.get(a);return!t||t.data||this._stagedDeletes.has(a)||this._failedStagedUpdateHydrations.add(a),i(r)||n.getLogger(this).error("Failed to fetch attachment data for staged update",r),!1}}_setTemporaryAttachmentUrl(t,e){if(this._clearTemporaryAttachmentUrl(t),!(e instanceof Blob))return;const a=URL.createObjectURL(e);return this._temporaryAttachmentUrls.set(t,a),a}_clearTemporaryAttachmentUrl(t){const e=this._temporaryAttachmentUrls.get(t);e&&(URL.revokeObjectURL(e),this._temporaryAttachmentUrls.delete(t))}_clearTemporaryAttachmentUrls(){for(const t of this._temporaryAttachmentUrls.values())URL.revokeObjectURL(t);this._temporaryAttachmentUrls.clear()}};t([l()],C.prototype,"allowUserRename",null),t([l()],C.prototype,"addDisabled",null),t([l()],C.prototype,"effectiveAttachmentCount",null),t([l()],C.prototype,"accept",null),t([l()],C.prototype,"categories",null),t([l()],C.prototype,"attachmentKeyword",null),t([l()],C.prototype,"attachments",void 0),t([l()],C.prototype,"displayFilename",null),t([l({readOnly:!0})],C.prototype,"allAttachmentsVisibleOnDefaultPage",null),t([l()],C.prototype,"canUploadFiles",null),t([l()],C.prototype,"hasCaptureInputs",null),t([l()],C.prototype,"captureMediaType",null),t([l()],C.prototype,"isCaptureOnly",null),t([l({readOnly:!0})],C.prototype,"defaultPageAttachments",null),t([l()],C.prototype,"displayCount",void 0),t([l()],C.prototype,"feature",null),t([l()],C.prototype,"group",void 0),t([l()],C.prototype,"hasAttachmentChanges",null),t([l()],C.prototype,"hasInvalidAttachmentName",null),t([l()],C.prototype,"attachmentCount",null),t([l()],C.prototype,"hasMinimumAttachmentCountNotMet",null),t([l()],C.prototype,"hasReachedAttachmentLimit",null),t([l()],C.prototype,"hasExceededAttachmentLimit",null),t([l({readOnly:!0})],C.prototype,"hasPendingAttachmentUpdateData",null),t([l()],C.prototype,"input",null),t([l()],C.prototype,"layer",null),t([l()],C.prototype,"maxAttachmentCount",null),t([l()],C.prototype,"minAttachmentCount",null),t([l({readOnly:!0})],C.prototype,"single",void 0),t([l({readOnly:!0})],C.prototype,"type",void 0),t([l({readOnly:!0})],C.prototype,"supportsResize",null),t([l()],C.prototype,"useOriginalFilename",null),t([l({readOnly:!0})],C.prototype,"valid",null),t([l()],C.prototype,"_initialAttachments",void 0),t([l()],C.prototype,"_expressionLayer",null),t([l()],C.prototype,"_stagedAdds",void 0),t([l()],C.prototype,"_stagedDeletes",void 0),t([l()],C.prototype,"_stagedUpdates",void 0),t([l()],C.prototype,"_failedStagedUpdateHydrations",void 0),t([l()],C.prototype,"_pendingStagedUpdateHydrations",void 0),t([l()],C.prototype,"_temporaryAttachmentUrls",void 0),t([l()],C.prototype,"_hasUnsupportedFileTypeValidationError",void 0),t([l()],C.prototype,"hasInvalidValidationCriteria",null),t([l()],C.prototype,"hasUnsupportedFileTypeValidationError",null),t([l()],C.prototype,"validationCriterionStates",null),t([l()],C.prototype,"_featureIdentifier",null),C=t([d("esri.widgets.BatchAttributeForm.inputs.AttachmentElementInput")],C);const b=C;function w(t,e){switch(e){case"audio":t.add("audio");break;case"document":t.add("document");break;case"image":case"signature":t.add("image");break;case"video":t.add("video")}}function T(t){return"document"!==t.type&&"capture"===t.inputMethod}function F(t){return T(t)}function x(t){return"document"===t.type||"capture"!==t.inputMethod}export{b as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{isSome as t}from"../../../core/arrayUtils.js";import{getOrCreateMapValue as i}from"../../../core/MapUtils.js";import{property as l,subclass as r}from"../../../core/accessorSupport/decorators.js";import{isMultipleChoiceInput as o}from"../../../form/elements/inputs/inputUtils.js";import n from"../../../layers/support/CodedValue.js";import a from"../../../layers/support/CodedValueDomain.js";import{getDomainRange as s,dateTimeFieldValuesToNumericRange as u,isDomainValidForField as h}from"../../../layers/support/domainUtils.js";import{isNumericField as p,isStringField as c,isTimeOnlyField as m,getFieldRange as d,isDateOnlyField as f,isTimestampOffsetField as C}from"../../../layers/support/fieldUtils.js";import{supportsFieldConfiguration as g}from"../../../layers/support/layerUtils.js";import y from"../../../layers/support/RangeDomain.js";import{isAnyDateField as x}from"../../../smartMapping/support/utils.js";import{isNumber as b}from"../../../support/guards.js";import v from"./EditableInput.js";import{visibilityCodeToBoolean as F,differentValuesString as O,isFieldInputWithShowNoValueOptionInput as V}from"./support/inputUtils.js";import{otherChoiceCheckedPlaceholderValue as M,multipleChoiceOtherChoiceCheckedStateByExpressionsManager as _}from"./support/multipleChoiceInputUtils.js";import{isEmptyValue as E,getMaxLength as S,getMinLength as w,dateIsValid as k,validateFormValue as D}from"../../support/forms/formUtils.js";let N=class extends v{constructor(e){super(e),this.getExternalErrorForFeature=null,this.getFieldValueOptionsForFeature=null,this.group=null,this.type="field",this.userHasChangedValue=!1,this._hasIntersectionWithElementFieldDomain=!1}get compositeError(){if(this.valid)return null;const{errors:e}=this;if(e.length<this.features.length)return"batch-attribute-form-validation::features-have-different-errors";const t=e[0];for(const i of e)if(i.error!==t.error)return"batch-attribute-form-validation::features-have-different-errors";return t.error}get dataType(){const{field:e}=this;return p(e)?"number":c(e)?"text":x(e)||m(e)?"date":"unsupported"}get domain(){const e=this._allDomains.toArray();return this.calculateDomain(e)}get distinctValues(){if(this.featuresHaveSameValue)return[this.value];const e=new Set;for(const t of this.features)e.add(t.getAttribute(this.fieldName));return Array.from(e)}get editable(){return!!this.field.editable&&(this._evaluatedEditableExpression??!0)}get label(){const e=this.template;if(null!=e.label&&""!==e.label)return e.label;const{field:t,layers:i}=this;if(1===i.length){const e=i[0];if(g(e)){const i=e.getFieldAlias(t.name);if(null!=i&&""!==i)return i}}return t.alias||t.name}get effectiveVisible(){return F(this.effectiveVisibilityCode)}get effectiveVisibilityCode(){const{visibilityCode:e}=this;if("visible"!==e)return e;const{group:t}=this;if(null==t)return e;const i=t.visibilityCode;return"hidden:visibility-expression:all-features"===i?"hidden:group-visibility-expression:all-features":"hidden:visibility-expression:some-features"===i?"hidden:group-visibility-expression:some-features":e}get errors(){return this._validate()}get featuresHaveSameValue(){const{fieldName:e}=this,t=this.features.at(0)?.getAttribute(e);return this.features.every(i=>i.getAttribute(e)===t)}get field(){return this.template.field}get fieldName(){return this.field.name}get input(){return this.template.input}get multipleChoiceInput(){const{input:e}=this;return e&&o(e)?e:null}get multipleChoiceChoices(){const{multipleChoiceInput:e}=this;if(!e)return null;const t=new Map;for(const i of e.choices)t.has(i.value)||t.set(i.value,i);return Array.from(t.values())}get multipleChoiceValues(){return this.multipleChoiceChoices?.map(e=>e.value)??null}get multipleChoiceOtherChoiceFieldName(){return this.multipleChoiceInput?.otherChoice?.fieldName??null}get multipleChoiceOtherChoiceHint(){return this.multipleChoiceInput?.otherChoice?.hint??""}get multipleChoiceOtherChoiceLabel(){return this.multipleChoiceInput?.otherChoice?.label??null}get hasMultipleChoiceOtherChoiceField(){const{multipleChoiceOtherChoiceFieldName:e}=this;return!!e&&this.layers.every(t=>null!=t.getField(e))}get shouldShowMultipleChoiceOtherChoice(){return null!=this.multipleChoiceInput?.otherChoice&&this.hasMultipleChoiceOtherChoiceField}set shouldShowMultipleChoiceOtherChoice(e){this._overrideIfSome("shouldShowMultipleChoiceOtherChoice",e)}get multipleChoiceOtherChoiceValue(){const{multipleChoiceOtherChoiceFieldName:e}=this;if(!e||!this.shouldShowMultipleChoiceOtherChoice)return null;const t=this.features.map(t=>t.getAttribute(e));if(0===t.length)return null;const[i]=t;return t.every(e=>e===i)?i:O}get multipleChoiceOtherChoiceMaxLength(){const{multipleChoiceOtherChoiceFieldName:e}=this;if(!e||!this.shouldShowMultipleChoiceOtherChoice)return;let t;for(const i of this.layers){const l=i.getField(e)?.length;null==l||l<0||(t=null==t?l:Math.min(t,l))}return t}getMultipleChoiceOtherChoiceRenderState(e){const t=this.multipleChoiceOtherChoiceFieldName??void 0,i=this.shouldShowMultipleChoiceOtherChoice,l=this.multipleChoiceOtherChoiceValue,r=i?this.multipleChoiceOtherChoiceCheckboxState:{checked:!1,indeterminate:!1},o=i?this.getExplicitMultipleChoiceOtherChoiceCheckedState():void 0,n=void 0===o?r:{checked:o,indeterminate:!1};return{fieldName:t,hint:this.multipleChoiceOtherChoiceHint,label:this.multipleChoiceOtherChoiceLabel??e,shouldShow:i,checkboxState:n,value:l,normalizedValue:l===M?"":l,maxLength:this.multipleChoiceOtherChoiceMaxLength}}get multipleChoiceOtherChoiceCheckboxState(){const e=this.multipleChoiceOtherChoiceFieldName;if(!e)return{checked:!1,indeterminate:!1};const t=this.features.map(t=>t.getAttribute(e));return{checked:t.length>0&&t.every(e=>!E(e)),indeterminate:t.some(e=>!E(e))&&t.some(e=>E(e))}}initializeExplicitMultipleChoiceOtherChoiceCheckedState(){this.hasExplicitMultipleChoiceOtherChoiceCheckedState()||this.setExplicitMultipleChoiceOtherChoiceCheckedState(this.multipleChoiceOtherChoiceCheckboxState.checked)}hasExplicitMultipleChoiceOtherChoiceCheckedState(){return void 0!==this.getExplicitMultipleChoiceOtherChoiceCheckedState()}getExplicitMultipleChoiceOtherChoiceCheckedState(){const e=this._multipleChoiceOtherChoiceCheckedStateKey;if(e)return this._multipleChoiceOtherChoiceCheckedStateStore.get(e)}setExplicitMultipleChoiceOtherChoiceCheckedState(e){const t=this._multipleChoiceOtherChoiceCheckedStateKey;t&&this._multipleChoiceOtherChoiceCheckedStateStore.set(t,e)}stashMultipleChoiceOtherChoiceDraftValueForFeatures(e,t){const i=this.multipleChoiceOtherChoiceFieldName;if(i)for(const l of e)l.stashAttribute(i,t)}setMultipleChoiceOtherChoiceDraftValuesFromFeatures(e){const t=this.multipleChoiceOtherChoiceFieldName;if(t)for(const i of e)i.stashAttribute(t,i.getAttribute(t))}getMultipleChoiceOtherChoiceDraftValue(e){const t=this.multipleChoiceOtherChoiceFieldName;if(t)return e.getStashedAttribute(t)}get invalidFeatures(){return this.errors.map(e=>e.feature)}get _multipleChoiceOtherChoiceCheckedStateKey(){return null!=this.multipleChoiceOtherChoiceFieldName?this.template.elementId:null}get _multipleChoiceOtherChoiceCheckedStateStore(){const e=this.expressionsManager;return e?i(_,e,()=>new Map):new Map}get isSubtypeField(){return this.layers.some(e=>{if(e&&"subtypeField"in e){const{subtypeField:t,fieldsIndex:i}=e;return(i.get(t)?.name??t)===this.fieldName}return!1})}get showNoValueOptionEnabled(){const{input:e}=this;return!this.required&&(!V(e)||!0===e?.showNoValueOption)}get showNoValueLabel(){const{input:e}=this;return V(e)?e?.noValueOptionLabel:null}get includeTime(){const{template:e,field:t}=this;return"date"===this.dataType&&("time-only"===t.type||"date-only"!==t.type&&("datetime-picker"!==e.input?.type||e.input.includeTime))}get includeTimeOffset(){if("timestamp-offset"!==this.field.type)return!1;const{input:e}=this;return!e||"timestampoffset-picker"===e.type&&e.includeTimeOffset}get inputType(){return this.input?.type}get maxLength(){return S({dataType:this.dataType,field:this.field,input:this.input})}get minLength(){return w({dataType:this.dataType,field:this.field,input:this.input})}get range(){if("date"===this.dataType)return this._dateRange;const{domain:e,field:t}=this;if(e){const i=s(t,e);return{max:i?.max,min:i?.min}}const i=this._allDomains.toArray().every(e=>!e)?d(t):null;return{max:i?.max===Number.MAX_VALUE?null:i?.max??null,min:i?.min===-Number.MAX_VALUE?null:i?.min??null}}get required(){if(!this.editable)return!1;if(!this.field.nullable||this.isSubtypeField)return!0;const e=this.visible&&!1!==this.group?.visible,t=this._evaluatedRequiredExpression;return!(!e||null==t)&&t}get valid(){return 0===this.errors.length}get value(){return this.featuresHaveSameValue?this.features.at(0)?.getAttribute(this.fieldName)??null:O}get visibilityCode(){return this.field.visible?this._fieldShouldHaveDomain&&null==this.domain?"hidden:no-domain-in-common":this._baseVisibilityCode:"hidden:field-definition"}get codedValueDomainOptions(){return"coded-value"===this.domain?.type?this.domain.codedValues.map(({name:e,code:t})=>({name:e,value:t})):[]}get codedValueOptions(){const{getFieldValueOptionsForFeature:e}=this;if(1===this.features.length&&e){const t=this.features.at(0);return e({domain:this.domain??void 0,feature:t,fieldName:this.fieldName,layer:t.layer})}const t=this.codedValueDomainOptions,{value:i}=this,l=null==i||i===O||t.some(e=>e.value===i)?[]:[{name:`${i}`,value:i}];return{recommended:t,other:[],unsupported:l,containsEmptyOption:!1}}get _evaluatedRequiredExpression(){let e=!1,t=!0;const i=this.template;for(const l of this.features){if(null==i.getExpressionExecutorsForLayer(l.layer)?.requiredExpression)continue;t=!1;const r=this._lookupEvaluatedExpression(l,"required");"success"===r?.status?e=e||!0===r.result:e=!0}return t?null:e}get _allDomains(){const e=this.template.domain;return this.features.map(t=>{const i=t.layer.getFieldDomain(this.fieldName,{feature:t.plainGraphic});return"range"===i?.type||"range"===e?.type?i??this.template.domain:i})}get _fieldShouldHaveDomain(){return!!this._hasIntersectionWithElementFieldDomain||this._allDomains.some(t)}get _dateFormRange(){if("date"!==this.dataType)return{};const{input:e}=this;if(!e)return{};const{type:t}=e;let i={};if("date-picker"!==t&&"time-picker"!==t&&"timestampoffset-picker"!==t||(i=u(this.field,e.max,e.min)),"datetime-picker"===t){const{max:t,min:l}=e;i={max:null!=t&&k(t)?t.getTime():null,min:null!=l&&k(l)?l.getTime():null}}return{min:i.min,max:i.max,rawMax:i?.rawMax??null,rawMin:i?.rawMin??null}}get _dateRange(){const{_dateFormRange:e,template:t,field:i,domain:l}=this;if("date"!==this.dataType)return{};if(!l)return this._fieldShouldHaveDomain?{}:e;const r=s(i,l);if(!r)return e;const{max:o,min:n,rawMax:a,rawMin:u}=e,{type:h}=t.field;if("date"===h){const{max:e,min:t}=r;return{max:b(o)&&(null===e||null!=e&&o<=e)?o:e??null,min:b(n)&&(null===t||null!=t&&n>=t)?n:t??null}}if("date-only"===h||"time-only"===h||"timestamp-offset"===h){const{max:e,min:t,rawMax:i,rawMin:l}=r,s=b(o)&&a&&(null==e||o<e),h=b(n)&&u&&(null==t||n>t);return{max:s?o:e,min:h?n:t,rawMax:s?a:i,rawMin:h?u:l}}return{}}_validate(){const{dataType:e,fieldName:t,maxLength:i,minLength:l,range:r}=this,o=[],{multipleChoiceInput:n}=this;for(const a of this.features){const{layer:s}=a,u=s.getField(t)??this.field,h=s.getFieldDomain(t,{feature:a.plainGraphic}),p=this.calculateDomain([h]),c=this._requiredForFeature(a),m=a.getAttribute(t),d=D(m,{dataType:e,domain:p,field:u,maxLength:i,minLength:l,multipleChoice:n,range:r,required:c})??this.getExternalErrorForFeature?.(a,t);d&&o.push({error:d,feature:a.source})}return o}_editableForFeature(e){if(!this.field.editable)return!1;if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.editableExpression)return!0;const t=this._lookupEvaluatedExpression(e,"editable");return"success"===t?.status&&!0===t.result}_effectiveVisibleFeature(e){if(this.group&&!this.group.visibleForFeature(e))return!1;if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.visibilityExpression)return!0;const t=this._lookupEvaluatedExpression(e,"visibility");return"success"===t?.status&&!0===t.result}_requiredForFeature(e){if(!this._editableForFeature(e))return!1;if(!this.field.nullable||this.isSubtypeField)return!0;const t=this._effectiveVisibleFeature(e);if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.requiredExpression)return!1;const i=this._lookupEvaluatedExpression(e,"required");return"success"!==i?.status?t:t&&!0===i.result}calculateDomain(e){const t=e.find(e=>null!=e),i=this.template.domain;if(!t)return i&&h(this.field,i)?i:null;switch(t.type){case"coded-value":if(e.some(e=>!e)){if(!i)return null;e=e.filter(e=>null!==e)}break;case"range":e=e.filter(e=>null!==e)}if(!e.every(e=>e?.type===t?.type))return null;let l=null;switch(t?.type){case"range":l=this._intersectRangeDomains(e);break;case"coded-value":l=this._intersectCodedValueDomains(e)}return l}_intersectCodedValueDomains(e){if(!e.length)return null;const t=new Map(e[0].codedValues.map(({code:e,name:t})=>[e,t])),i=this.template.domain?new Map(this.template.domain.codedValues.map(({code:e,name:t})=>[e,t])):null;for(const o of e)for(const[e,i]of t){o.codedValues.some(t=>t.code===e&&t.name===i)||t.delete(e)}let l=t;if(i){l=new Map;for(const[e,r]of i)t.has(e)&&l.set(e,r)}const r=Array.from(l.entries()).map(([e,t])=>new n({code:e,name:t}));return r.length?new a({codedValues:r}):null}_intersectRangeDomains(e){if(!e.length)return null;let t=e[0];for(let l=1;l<e.length;l++){if(!t)return null;t=this._findMinMaxValuesBetweenTwoDomains(t,e[l])}if(t&&!h(this.field,t))return null;const{domain:i}=this.template;if(t&&i&&i instanceof y){const e=this._findMinMaxValuesBetweenTwoDomains(t,i);return this._hasIntersectionWithElementFieldDomain=!!e,e}return t}_getMinMaxFromRangeDomain(e){const t=e.minValue,i=e.maxValue,{field:l}=this;return f(l)||m(l)||C(l)?u(l,i,t):{min:null!=t&&"number"==typeof t?t:null,max:null!=i&&"number"==typeof i?i:null}}_findMinMaxValuesBetweenTwoDomains(e,t){const i=new y,l=this._getMinMaxFromRangeDomain(e),r=this._getMinMaxFromRangeDomain(t),{field:o}=this,n=this._getValidRangeValue(l.min,-1/0),a=this._getValidRangeValue(l.max,1/0),s=this._getValidRangeValue(r.min,-1/0),u=this._getValidRangeValue(r.max,1/0);return i.minValue=Math.max(n,s),i.maxValue=Math.min(a,u),i.minValue===-1/0||i.maxValue===1/0||i.minValue>i.maxValue?null:((f(o)||m(o)||C(o))&&(i.minValue=Number(l.min)>Number(r.min)?l.rawMin:r.rawMin,i.maxValue=Number(l.max)<Number(r.max)?l.rawMax:r.rawMax),i.name="intersection",i)}_getValidRangeValue(e,t){return b(e)?e:t}};e([l()],N.prototype,"dataType",null),e([l()],N.prototype,"domain",null),e([l()],N.prototype,"distinctValues",null),e([l()],N.prototype,"editable",null),e([l()],N.prototype,"label",null),e([l()],N.prototype,"effectiveVisible",null),e([l()],N.prototype,"effectiveVisibilityCode",null),e([l()],N.prototype,"errors",null),e([l()],N.prototype,"featuresHaveSameValue",null),e([l()],N.prototype,"field",null),e([l()],N.prototype,"fieldName",null),e([l()],N.prototype,"getExternalErrorForFeature",void 0),e([l()],N.prototype,"getFieldValueOptionsForFeature",void 0),e([l()],N.prototype,"group",void 0),e([l()],N.prototype,"input",null),e([l()],N.prototype,"multipleChoiceInput",null),e([l()],N.prototype,"multipleChoiceChoices",null),e([l()],N.prototype,"multipleChoiceValues",null),e([l()],N.prototype,"multipleChoiceOtherChoiceFieldName",null),e([l()],N.prototype,"multipleChoiceOtherChoiceHint",null),e([l()],N.prototype,"multipleChoiceOtherChoiceLabel",null),e([l()],N.prototype,"hasMultipleChoiceOtherChoiceField",null),e([l()],N.prototype,"shouldShowMultipleChoiceOtherChoice",null),e([l()],N.prototype,"multipleChoiceOtherChoiceValue",null),e([l()],N.prototype,"multipleChoiceOtherChoiceMaxLength",null),e([l()],N.prototype,"multipleChoiceOtherChoiceCheckboxState",null),e([l()],N.prototype,"invalidFeatures",null),e([l()],N.prototype,"_multipleChoiceOtherChoiceCheckedStateStore",null),e([l()],N.prototype,"isSubtypeField",null),e([l()],N.prototype,"showNoValueOptionEnabled",null),e([l()],N.prototype,"showNoValueLabel",null),e([l()],N.prototype,"includeTime",null),e([l()],N.prototype,"includeTimeOffset",null),e([l({readOnly:!0})],N.prototype,"inputType",null),e([l()],N.prototype,"maxLength",null),e([l()],N.prototype,"minLength",null),e([l()],N.prototype,"range",null),e([l()],N.prototype,"required",null),e([l({readOnly:!0})],N.prototype,"type",void 0),e([l()],N.prototype,"userHasChangedValue",void 0),e([l()],N.prototype,"valid",null),e([l()],N.prototype,"value",null),e([l()],N.prototype,"visibilityCode",null),e([l()],N.prototype,"codedValueDomainOptions",null),e([l()],N.prototype,"codedValueOptions",null),e([l()],N.prototype,"_evaluatedRequiredExpression",null),e([l()],N.prototype,"_hasIntersectionWithElementFieldDomain",void 0),e([l()],N.prototype,"_allDomains",null),e([l()],N.prototype,"_fieldShouldHaveDomain",null),e([l()],N.prototype,"_dateFormRange",null),e([l()],N.prototype,"_dateRange",null),N=e([r("esri.widgets.BatchAttributeForm.inputs.FieldInput")],N);const T=N;export{T as default};
2
+ import{__decorate as e}from"tslib";import{isSome as t}from"../../../core/arrayUtils.js";import{getOrCreateMapValue as i}from"../../../core/MapUtils.js";import{property as l,subclass as r}from"../../../core/accessorSupport/decorators.js";import{isMultipleChoiceInput as o}from"../../../form/elements/inputs/inputUtils.js";import n from"../../../layers/support/CodedValue.js";import a from"../../../layers/support/CodedValueDomain.js";import{getDomainRange as s,dateTimeFieldValuesToNumericRange as u,isDomainValidForField as h}from"../../../layers/support/domainUtils.js";import{isNumericField as p,isStringField as c,isTimeOnlyField as m,getFieldRange as d,isDateOnlyField as f,isTimestampOffsetField as C}from"../../../layers/support/fieldUtils.js";import{supportsFieldConfiguration as g}from"../../../layers/support/layerUtils.js";import y from"../../../layers/support/RangeDomain.js";import{isAnyDateField as x}from"../../../smartMapping/support/utils.js";import{isNumber as b}from"../../../support/guards.js";import v from"./EditableInput.js";import{visibilityCodeToBoolean as F,differentValuesString as O,isFieldInputWithShowNoValueOptionInput as V}from"./support/inputUtils.js";import{otherChoiceCheckedPlaceholderValue as M,multipleChoiceOtherChoiceCheckedStateByExpressionsManager as _}from"./support/multipleChoiceInputUtils.js";import{isEmptyValue as E,getMaxLength as S,getMinLength as w,dateIsValid as k,validateFormValue as D}from"../../support/forms/formUtils.js";let N=class extends v{constructor(e){super(e),this.getExternalErrorForFeature=null,this.getFieldValueOptionsForFeature=null,this.group=null,this.type="field",this.userHasChangedValue=!1,this._hasIntersectionWithElementFieldDomain=!1}get compositeError(){if(this.valid)return null;const{errors:e}=this;if(e.length<this.features.length)return"batch-attribute-form-validation::features-have-different-errors";const t=e[0];for(const i of e)if(i.error!==t.error)return"batch-attribute-form-validation::features-have-different-errors";return t.error}get dataType(){const{field:e}=this;return p(e)?"number":c(e)?"text":x(e)||m(e)?"date":"unsupported"}get domain(){const e=this._allDomains.toArray();return this.calculateDomain(e)}get distinctValues(){if(this.featuresHaveSameValue)return[this.value];const e=new Set;for(const t of this.features)e.add(t.getAttribute(this.fieldName));return Array.from(e)}get editable(){return!!this.field.editable&&(this._evaluatedEditableExpression??!0)}get label(){const{label:e}=this.template,t=this._computeStringLiteralText(e);if(t)return t;const{field:i,layers:l}=this;if(1===l.length){const e=l[0];if(g(e)){const t=e.getFieldAlias(i.name);if(null!=t&&""!==t)return t}}return i.alias||i.name}get effectiveVisible(){return F(this.effectiveVisibilityCode)}get effectiveVisibilityCode(){const{visibilityCode:e}=this;if("visible"!==e)return e;const{group:t}=this;if(null==t)return e;const i=t.visibilityCode;return"hidden:visibility-expression:all-features"===i?"hidden:group-visibility-expression:all-features":"hidden:visibility-expression:some-features"===i?"hidden:group-visibility-expression:some-features":e}get errors(){return this._validate()}get featuresHaveSameValue(){const{fieldName:e}=this,t=this.features.at(0)?.getAttribute(e);return this.features.every(i=>i.getAttribute(e)===t)}get field(){return this.template.field}get fieldName(){return this.field.name}get input(){return this.template.input}get multipleChoiceInput(){const{input:e}=this;return e&&o(e)?e:null}get multipleChoiceChoices(){const{multipleChoiceInput:e}=this;if(!e)return null;const t=new Map;for(const i of e.choices)t.has(i.value)||t.set(i.value,i);return Array.from(t.values())}get multipleChoiceValues(){return this.multipleChoiceChoices?.map(e=>e.value)??null}get multipleChoiceOtherChoiceFieldName(){return this.multipleChoiceInput?.otherChoice?.fieldName??null}get multipleChoiceOtherChoiceHint(){return this.multipleChoiceInput?.otherChoice?.hint??""}get multipleChoiceOtherChoiceLabel(){return this.multipleChoiceInput?.otherChoice?.label??null}get hasMultipleChoiceOtherChoiceField(){const{multipleChoiceOtherChoiceFieldName:e}=this;return!!e&&this.layers.every(t=>null!=t.getField(e))}get shouldShowMultipleChoiceOtherChoice(){return null!=this.multipleChoiceInput?.otherChoice&&this.hasMultipleChoiceOtherChoiceField}set shouldShowMultipleChoiceOtherChoice(e){this._overrideIfSome("shouldShowMultipleChoiceOtherChoice",e)}get multipleChoiceOtherChoiceValue(){const{multipleChoiceOtherChoiceFieldName:e}=this;if(!e||!this.shouldShowMultipleChoiceOtherChoice)return null;const t=this.features.map(t=>t.getAttribute(e));if(0===t.length)return null;const[i]=t;return t.every(e=>e===i)?i:O}get multipleChoiceOtherChoiceMaxLength(){const{multipleChoiceOtherChoiceFieldName:e}=this;if(!e||!this.shouldShowMultipleChoiceOtherChoice)return;let t;for(const i of this.layers){const l=i.getField(e)?.length;null==l||l<0||(t=null==t?l:Math.min(t,l))}return t}getMultipleChoiceOtherChoiceRenderState(e){const t=this.multipleChoiceOtherChoiceFieldName??void 0,i=this.shouldShowMultipleChoiceOtherChoice,l=this.multipleChoiceOtherChoiceValue,r=i?this.multipleChoiceOtherChoiceCheckboxState:{checked:!1,indeterminate:!1},o=i?this.getExplicitMultipleChoiceOtherChoiceCheckedState():void 0,n=void 0===o?r:{checked:o,indeterminate:!1};return{fieldName:t,hint:this.multipleChoiceOtherChoiceHint,label:this.multipleChoiceOtherChoiceLabel??e,shouldShow:i,checkboxState:n,value:l,normalizedValue:l===M?"":l,maxLength:this.multipleChoiceOtherChoiceMaxLength}}get multipleChoiceOtherChoiceCheckboxState(){const e=this.multipleChoiceOtherChoiceFieldName;if(!e)return{checked:!1,indeterminate:!1};const t=this.features.map(t=>t.getAttribute(e));return{checked:t.length>0&&t.every(e=>!E(e)),indeterminate:t.some(e=>!E(e))&&t.some(e=>E(e))}}initializeExplicitMultipleChoiceOtherChoiceCheckedState(){this.hasExplicitMultipleChoiceOtherChoiceCheckedState()||this.setExplicitMultipleChoiceOtherChoiceCheckedState(this.multipleChoiceOtherChoiceCheckboxState.checked)}hasExplicitMultipleChoiceOtherChoiceCheckedState(){return void 0!==this.getExplicitMultipleChoiceOtherChoiceCheckedState()}getExplicitMultipleChoiceOtherChoiceCheckedState(){const e=this._multipleChoiceOtherChoiceCheckedStateKey;if(e)return this._multipleChoiceOtherChoiceCheckedStateStore.get(e)}setExplicitMultipleChoiceOtherChoiceCheckedState(e){const t=this._multipleChoiceOtherChoiceCheckedStateKey;t&&this._multipleChoiceOtherChoiceCheckedStateStore.set(t,e)}stashMultipleChoiceOtherChoiceDraftValueForFeatures(e,t){const i=this.multipleChoiceOtherChoiceFieldName;if(i)for(const l of e)l.stashAttribute(i,t)}setMultipleChoiceOtherChoiceDraftValuesFromFeatures(e){const t=this.multipleChoiceOtherChoiceFieldName;if(t)for(const i of e)i.stashAttribute(t,i.getAttribute(t))}getMultipleChoiceOtherChoiceDraftValue(e){const t=this.multipleChoiceOtherChoiceFieldName;if(t)return e.getStashedAttribute(t)}get invalidFeatures(){return this.errors.map(e=>e.feature)}get _multipleChoiceOtherChoiceCheckedStateKey(){return null!=this.multipleChoiceOtherChoiceFieldName?this.template.elementId:null}get _multipleChoiceOtherChoiceCheckedStateStore(){const e=this.expressionsManager;return e?i(_,e,()=>new Map):new Map}get isSubtypeField(){return this.layers.some(e=>{if(e&&"subtypeField"in e){const{subtypeField:t,fieldsIndex:i}=e;return(i.get(t)?.name??t)===this.fieldName}return!1})}get showNoValueOptionEnabled(){const{input:e}=this;return!this.required&&(!V(e)||!0===e?.showNoValueOption)}get showNoValueLabel(){const{input:e}=this;return V(e)?e?.noValueOptionLabel:null}get includeTime(){const{template:e,field:t}=this;return"date"===this.dataType&&("time-only"===t.type||"date-only"!==t.type&&("datetime-picker"!==e.input?.type||e.input.includeTime))}get includeTimeOffset(){if("timestamp-offset"!==this.field.type)return!1;const{input:e}=this;return!e||"timestampoffset-picker"===e.type&&e.includeTimeOffset}get inputType(){return this.input?.type}get maxLength(){return S({dataType:this.dataType,field:this.field,input:this.input})}get minLength(){return w({dataType:this.dataType,field:this.field,input:this.input})}get range(){if("date"===this.dataType)return this._dateRange;const{domain:e,field:t}=this;if(e){const i=s(t,e);return{max:i?.max,min:i?.min}}const i=this._allDomains.toArray().every(e=>!e)?d(t):null;return{max:i?.max===Number.MAX_VALUE?null:i?.max??null,min:i?.min===-Number.MAX_VALUE?null:i?.min??null}}get required(){if(!this.editable)return!1;if(!this.field.nullable||this.isSubtypeField)return!0;const e=this.visible&&!1!==this.group?.visible,t=this._evaluatedRequiredExpression;return!(!e||null==t)&&t}get valid(){return 0===this.errors.length}get value(){return this.featuresHaveSameValue?this.features.at(0)?.getAttribute(this.fieldName)??null:O}get visibilityCode(){return this.field.visible?this._fieldShouldHaveDomain&&null==this.domain?"hidden:no-domain-in-common":this._baseVisibilityCode:"hidden:field-definition"}get codedValueDomainOptions(){return"coded-value"===this.domain?.type?this.domain.codedValues.map(({name:e,code:t})=>({name:e,value:t})):[]}get codedValueOptions(){const{getFieldValueOptionsForFeature:e}=this;if(1===this.features.length&&e){const t=this.features.at(0);return e({domain:this.domain??void 0,feature:t,fieldName:this.fieldName,layer:t.layer})}const t=this.codedValueDomainOptions,{value:i}=this,l=null==i||i===O||t.some(e=>e.value===i)?[]:[{name:`${i}`,value:i}];return{recommended:t,other:[],unsupported:l,containsEmptyOption:!1}}get _evaluatedRequiredExpression(){let e=!1,t=!0;const i=this.template;for(const l of this.features){if(null==i.getExpressionExecutorsForLayer(l.layer)?.requiredExpression)continue;t=!1;const r=this._lookupEvaluatedExpression(l,"required");"success"===r?.status?e=e||!0===r.result:e=!0}return t?null:e}get _allDomains(){const e=this.template.domain;return this.features.map(t=>{const i=t.layer.getFieldDomain(this.fieldName,{feature:t.plainGraphic});return"range"===i?.type||"range"===e?.type?i??this.template.domain:i})}get _fieldShouldHaveDomain(){return!!this._hasIntersectionWithElementFieldDomain||this._allDomains.some(t)}get _dateFormRange(){if("date"!==this.dataType)return{};const{input:e}=this;if(!e)return{};const{type:t}=e;let i={};if("date-picker"!==t&&"time-picker"!==t&&"timestampoffset-picker"!==t||(i=u(this.field,e.max,e.min)),"datetime-picker"===t){const{max:t,min:l}=e;i={max:null!=t&&k(t)?t.getTime():null,min:null!=l&&k(l)?l.getTime():null}}return{min:i.min,max:i.max,rawMax:i?.rawMax??null,rawMin:i?.rawMin??null}}get _dateRange(){const{_dateFormRange:e,template:t,field:i,domain:l}=this;if("date"!==this.dataType)return{};if(!l)return this._fieldShouldHaveDomain?{}:e;const r=s(i,l);if(!r)return e;const{max:o,min:n,rawMax:a,rawMin:u}=e,{type:h}=t.field;if("date"===h){const{max:e,min:t}=r;return{max:b(o)&&(null===e||null!=e&&o<=e)?o:e??null,min:b(n)&&(null===t||null!=t&&n>=t)?n:t??null}}if("date-only"===h||"time-only"===h||"timestamp-offset"===h){const{max:e,min:t,rawMax:i,rawMin:l}=r,s=b(o)&&a&&(null==e||o<e),h=b(n)&&u&&(null==t||n>t);return{max:s?o:e,min:h?n:t,rawMax:s?a:i,rawMin:h?u:l}}return{}}_validate(){const{dataType:e,fieldName:t,maxLength:i,minLength:l,range:r}=this,o=[],{multipleChoiceInput:n}=this;for(const a of this.features){const{layer:s}=a,u=s.getField(t)??this.field,h=s.getFieldDomain(t,{feature:a.plainGraphic}),p=this.calculateDomain([h]),c=this._requiredForFeature(a),m=a.getAttribute(t),d=D(m,{dataType:e,domain:p,field:u,maxLength:i,minLength:l,multipleChoice:n,range:r,required:c})??this.getExternalErrorForFeature?.(a,t);d&&o.push({error:d,feature:a.source})}return o}_editableForFeature(e){if(!this.field.editable)return!1;if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.editableExpression)return!0;const t=this._lookupEvaluatedExpression(e,"editable");return"success"===t?.status&&!0===t.result}_effectiveVisibleFeature(e){if(this.group&&!this.group.visibleForFeature(e))return!1;if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.visibilityExpression)return!0;const t=this._lookupEvaluatedExpression(e,"visibility");return"success"===t?.status&&!0===t.result}_requiredForFeature(e){if(!this._editableForFeature(e))return!1;if(!this.field.nullable||this.isSubtypeField)return!0;const t=this._effectiveVisibleFeature(e);if(null==this.template.getExpressionExecutorsForLayer(e.layer)?.requiredExpression)return!1;const i=this._lookupEvaluatedExpression(e,"required");return"success"!==i?.status?t:t&&!0===i.result}calculateDomain(e){const t=e.find(e=>null!=e),i=this.template.domain;if(!t)return i&&h(this.field,i)?i:null;switch(t.type){case"coded-value":if(e.some(e=>!e)){if(!i)return null;e=e.filter(e=>null!==e)}break;case"range":e=e.filter(e=>null!==e)}if(!e.every(e=>e?.type===t?.type))return null;let l=null;switch(t?.type){case"range":l=this._intersectRangeDomains(e);break;case"coded-value":l=this._intersectCodedValueDomains(e)}return l}_intersectCodedValueDomains(e){if(!e.length)return null;const t=new Map(e[0].codedValues.map(({code:e,name:t})=>[e,t])),i=this.template.domain?new Map(this.template.domain.codedValues.map(({code:e,name:t})=>[e,t])):null;for(const o of e)for(const[e,i]of t){o.codedValues.some(t=>t.code===e&&t.name===i)||t.delete(e)}let l=t;if(i){l=new Map;for(const[e,r]of i)t.has(e)&&l.set(e,r)}const r=Array.from(l.entries()).map(([e,t])=>new n({code:e,name:t}));return r.length?new a({codedValues:r}):null}_intersectRangeDomains(e){if(!e.length)return null;let t=e[0];for(let l=1;l<e.length;l++){if(!t)return null;t=this._findMinMaxValuesBetweenTwoDomains(t,e[l])}if(t&&!h(this.field,t))return null;const{domain:i}=this.template;if(t&&i&&i instanceof y){const e=this._findMinMaxValuesBetweenTwoDomains(t,i);return this._hasIntersectionWithElementFieldDomain=!!e,e}return t}_getMinMaxFromRangeDomain(e){const t=e.minValue,i=e.maxValue,{field:l}=this;return f(l)||m(l)||C(l)?u(l,i,t):{min:null!=t&&"number"==typeof t?t:null,max:null!=i&&"number"==typeof i?i:null}}_findMinMaxValuesBetweenTwoDomains(e,t){const i=new y,l=this._getMinMaxFromRangeDomain(e),r=this._getMinMaxFromRangeDomain(t),{field:o}=this,n=this._getValidRangeValue(l.min,-1/0),a=this._getValidRangeValue(l.max,1/0),s=this._getValidRangeValue(r.min,-1/0),u=this._getValidRangeValue(r.max,1/0);return i.minValue=Math.max(n,s),i.maxValue=Math.min(a,u),i.minValue===-1/0||i.maxValue===1/0||i.minValue>i.maxValue?null:((f(o)||m(o)||C(o))&&(i.minValue=Number(l.min)>Number(r.min)?l.rawMin:r.rawMin,i.maxValue=Number(l.max)<Number(r.max)?l.rawMax:r.rawMax),i.name="intersection",i)}_getValidRangeValue(e,t){return b(e)?e:t}};e([l()],N.prototype,"dataType",null),e([l()],N.prototype,"domain",null),e([l()],N.prototype,"distinctValues",null),e([l()],N.prototype,"editable",null),e([l()],N.prototype,"label",null),e([l()],N.prototype,"effectiveVisible",null),e([l()],N.prototype,"effectiveVisibilityCode",null),e([l()],N.prototype,"errors",null),e([l()],N.prototype,"featuresHaveSameValue",null),e([l()],N.prototype,"field",null),e([l()],N.prototype,"fieldName",null),e([l()],N.prototype,"getExternalErrorForFeature",void 0),e([l()],N.prototype,"getFieldValueOptionsForFeature",void 0),e([l()],N.prototype,"group",void 0),e([l()],N.prototype,"input",null),e([l()],N.prototype,"multipleChoiceInput",null),e([l()],N.prototype,"multipleChoiceChoices",null),e([l()],N.prototype,"multipleChoiceValues",null),e([l()],N.prototype,"multipleChoiceOtherChoiceFieldName",null),e([l()],N.prototype,"multipleChoiceOtherChoiceHint",null),e([l()],N.prototype,"multipleChoiceOtherChoiceLabel",null),e([l()],N.prototype,"hasMultipleChoiceOtherChoiceField",null),e([l()],N.prototype,"shouldShowMultipleChoiceOtherChoice",null),e([l()],N.prototype,"multipleChoiceOtherChoiceValue",null),e([l()],N.prototype,"multipleChoiceOtherChoiceMaxLength",null),e([l()],N.prototype,"multipleChoiceOtherChoiceCheckboxState",null),e([l()],N.prototype,"invalidFeatures",null),e([l()],N.prototype,"_multipleChoiceOtherChoiceCheckedStateStore",null),e([l()],N.prototype,"isSubtypeField",null),e([l()],N.prototype,"showNoValueOptionEnabled",null),e([l()],N.prototype,"showNoValueLabel",null),e([l()],N.prototype,"includeTime",null),e([l()],N.prototype,"includeTimeOffset",null),e([l({readOnly:!0})],N.prototype,"inputType",null),e([l()],N.prototype,"maxLength",null),e([l()],N.prototype,"minLength",null),e([l()],N.prototype,"range",null),e([l()],N.prototype,"required",null),e([l({readOnly:!0})],N.prototype,"type",void 0),e([l()],N.prototype,"userHasChangedValue",void 0),e([l()],N.prototype,"valid",null),e([l()],N.prototype,"value",null),e([l()],N.prototype,"visibilityCode",null),e([l()],N.prototype,"codedValueDomainOptions",null),e([l()],N.prototype,"codedValueOptions",null),e([l()],N.prototype,"_evaluatedRequiredExpression",null),e([l()],N.prototype,"_hasIntersectionWithElementFieldDomain",void 0),e([l()],N.prototype,"_allDomains",null),e([l()],N.prototype,"_fieldShouldHaveDomain",null),e([l()],N.prototype,"_dateFormRange",null),e([l()],N.prototype,"_dateRange",null),N=e([r("esri.widgets.BatchAttributeForm.inputs.FieldInput")],N);const T=N;export{T as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import i from"../../../core/Collection.js";import{property as s,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getEffectiveTimeZone as o,isAttributeFormSupportedLayerUnion as l}from"../batchAttributeFormUtils.js";import{visibilityCodeToBoolean as a,makeUseId as n}from"./support/inputUtils.js";let p=class extends t{constructor(e){super(e),this.existsInAllLayers=!0,this.features=new i}get description(){return this.template.description}get effectiveTimeZone(){return o(this.template.formTimeZone,this.template.layerTimeZone)}get featuresHaveSameCalculatedVisibility(){const e=new Set;for(const t of this.features){if(null==this.template.getExpressionExecutorsForLayer(t.layer)?.visibilityExpression){e.add(!0);continue}const i=this._lookupEvaluatedExpression(t,"visibility");if("success"===i?.status){if(e.add(!0===i.result),e.size>1)return!1}else e.add(!1)}return e.size<=1}get label(){return this.template.label}get layers(){return Array.from(new Set(this.features.map(e=>e.layer).filter(l)))}get visibilityCode(){return this._baseVisibilityCode}get visible(){return a(this.visibilityCode)}get _baseVisibilityCode(){return this.existsInAllLayers?this.featuresHaveSameCalculatedVisibility?!1===this._evaluatedVisibilityExpression?"hidden:visibility-expression:all-features":"visible":"hidden:visibility-expression:some-features":"hidden:not-in-all-layers"}get _evaluatedVisibilityExpression(){let e=!0,t=!0;for(const i of this.features){if(null==this.template.getExpressionExecutorsForLayer(i.layer)?.visibilityExpression){e=e&&!0;continue}t=!1;const s=this._lookupEvaluatedExpression(i,"visibility");"success"===s?.status?e=e&&!0===s.result:e=!1}return t?null:e}_lookupEvaluatedExpression(e,t,i){return this.expressionsManager.evaluatedExpressions.get(e)?.get(n({elementId:this.template.elementId,executorPurpose:t,textExpressionIndex:i}))}};e([s({constructOnly:!0})],p.prototype,"expressionsManager",void 0),e([s()],p.prototype,"description",null),e([s()],p.prototype,"effectiveTimeZone",null),e([s()],p.prototype,"existsInAllLayers",void 0),e([s()],p.prototype,"features",void 0),e([s()],p.prototype,"featuresHaveSameCalculatedVisibility",null),e([s()],p.prototype,"label",null),e([s()],p.prototype,"layers",null),e([s({constructOnly:!0})],p.prototype,"template",void 0),e([s()],p.prototype,"visibilityCode",null),e([s()],p.prototype,"visible",null),e([s()],p.prototype,"_baseVisibilityCode",null),e([s()],p.prototype,"_evaluatedVisibilityExpression",null),p=e([r("esri.widgets.BatchAttributeForm.inputs.InputBase")],p);const u=p;export{u as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import i from"../../../core/Collection.js";import{property as s,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getEffectiveTimeZone as o,isAttributeFormSupportedLayerUnion as l}from"../batchAttributeFormUtils.js";import{parseFormTemplateString as a}from"../stringUtils.js";import{visibilityCodeToBoolean as n,makeUseId as p}from"./support/inputUtils.js";import{isEmptyValue as u}from"../../support/forms/formUtils.js";let y=class extends t{constructor(e){super(e),this.existsInAllLayers=!0,this.features=new i}get description(){return this._computeStringLiteralText(this.template.description)}get effectiveTimeZone(){return o(this.template.formTimeZone,this.template.layerTimeZone)}get featuresHaveSameCalculatedVisibility(){const e=new Set;for(const t of this.features){if(null==this.template.getExpressionExecutorsForLayer(t.layer)?.visibilityExpression){e.add(!0);continue}const i=this._lookupEvaluatedExpression(t,"visibility");if("success"===i?.status){if(e.add(!0===i.result),e.size>1)return!1}else e.add(!1)}return e.size<=1}get label(){return this._computeStringLiteralText(this.template.label)}get layers(){return Array.from(new Set(this.features.map(e=>e.layer).filter(l)))}get visibilityCode(){return this._baseVisibilityCode}get visible(){return n(this.visibilityCode)}get _baseVisibilityCode(){return this.existsInAllLayers?this.featuresHaveSameCalculatedVisibility?!1===this._evaluatedVisibilityExpression?"hidden:visibility-expression:all-features":"visible":"hidden:visibility-expression:some-features":"hidden:not-in-all-layers"}get _evaluatedVisibilityExpression(){let e=!0,t=!0;for(const i of this.features){if(null==this.template.getExpressionExecutorsForLayer(i.layer)?.visibilityExpression){e=e&&!0;continue}t=!1;const s=this._lookupEvaluatedExpression(i,"visibility");"success"===s?.status?e=e&&!0===s.result:e=!1}return t?null:e}_lookupEvaluatedExpression(e,t,i){return this.expressionsManager.evaluatedExpressions.get(e)?.get(p({elementId:this.template.elementId,executorPurpose:t,textExpressionIndex:i}))}_computeStringLiteralText(e){const t=this.features.getItemAt(0);return!t||1!==this.features.length||u(e)?e:a({attributes:t.attributes,label:e,layer:t.layer,timeZone:this.effectiveTimeZone})}};e([s({constructOnly:!0})],y.prototype,"expressionsManager",void 0),e([s()],y.prototype,"description",null),e([s()],y.prototype,"effectiveTimeZone",null),e([s()],y.prototype,"existsInAllLayers",void 0),e([s()],y.prototype,"features",void 0),e([s()],y.prototype,"featuresHaveSameCalculatedVisibility",null),e([s()],y.prototype,"label",null),e([s()],y.prototype,"layers",null),e([s({constructOnly:!0})],y.prototype,"template",void 0),e([s()],y.prototype,"visibilityCode",null),e([s()],y.prototype,"visible",null),e([s()],y.prototype,"_baseVisibilityCode",null),e([s()],y.prototype,"_evaluatedVisibilityExpression",null),y=e([r("esri.widgets.BatchAttributeForm.inputs.InputBase")],y);const m=y;export{m as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{destroyMaybe as t}from"../../../core/maybe.js";import{on as l}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{isSubtypeGroupLayer as o,getEffectiveLayerCapabilities as s}from"../../../layers/support/layerUtils.js";import{isRelatableFeatureSupportedLayer as a}from"../../../popup/support/featureUtils.js";import{getComputedAttributes as n,parseFormTemplateString as p}from"../stringUtils.js";import d from"./EditableInput.js";import h from"./SingleFeatureInputAdapter.js";import u from"../../Feature/FeatureRelationship/FeatureRelationshipViewModel.js";let y=class extends d{constructor(e){super(e),this._relationshipVM=new u,this._showAllCategories=!1,this._showAllRelatedRecords=!1,this.group=null,this.map=null,this.single=new h({input:this}),this.type="relationship"}initialize(){this._setRelationshipVMProps(),this.addHandles([l(()=>this.relatedLayer,"edits",()=>this._relationshipVM?.refresh())])}destroy(){t(this._relationshipVM)}get activeCategory(){return this._relationshipVM.activeCategory}get allCategories(){const{relatedLayer:e,_relationshipVM:t}=this;if(!o(e))return;const l=t?.categories,r=(e.subtypes??[]).map(({code:e,name:t})=>{const r=l?.find(e=>e.name===t);return{name:t,count:r?.count??0,value:r?.value??e}});return r.length?r:null}get categories(){return this.showAllEnabled?this.allCategories:this.allCategories?.slice(0,this.displayCount)}get canAddRelatedFeature(){const{editable:e,relatedFeatureCount:t,relationship:l}=this;if(!l||!this.loaded||!this._relatedLayerAllowsAdds)return!1;if(this.allCategories?.length&&!this.activeCategory)return!1;const{cardinality:r,role:i}=l;return!("one-to-one"===r&&t>0)&&("many-to-many"!==r&&(!("one-to-many"===r&&"destination"===i&&t>0)&&e))}get displayCount(){return this.template.displayCount}get displayType(){return this.template.displayType}get editable(){return!!this._relatedLayerAllowsAdds&&(this._evaluatedEditableExpression??!0)}get feature(){return this.single.feature}get relatedFeatureCount(){return this._relationshipVM?.featureCount??0}get label(){return this.activeCategory?.name?this.activeCategory.name:this.template.label}get layer(){return this.single.layer}get loaded(){return"loading"!==this._relationshipVM?.state}get orderByFields(){return this.template.orderByFields}get originHasValidKey(){return!!this.relationship&&null!=this.feature?.getAttribute(this.relationship.keyField)}get relationship(){return this._relationshipVM?.relationship}get relationshipId(){return this.template.relationshipId}get relatedFeatureInfos(){const{_relationshipVM:e,effectiveTimeZone:t}=this;if(!e?.relatedFeatures?.length||!e?.relatedLayer)return[];const{itemDescriptionFieldName:l,relatedFeatures:r,relatedLayer:i}=e,o=i?.formTemplate?.title||void 0;return r.map(e=>{let r;if(l){const o=e.getAttribute(l),s=i.fieldsIndex.get(l);if(s){const e=n({fields:[s],layer:i,values:[o],timeZone:t})[l];null!=e&&(r=e.toString())}}return{feature:e,description:r,title:o?p({attributes:e.attributes,label:o,layer:i,timeZone:t}):void 0}}).toArray()}get relatedLayer(){return this._relationshipVM?.relatedLayer}get relatedLayerIsTable(){return!!this.relatedLayer?.isTable}get showAllEnabled(){return this._relationshipVM.showAllEnabled}get showAllActionVisible(){return!this.showAllEnabled&&this.relatedFeatureCount>0&&this.relatedFeatureCount>this.displayCount}get showAllCategories(){return this._showAllCategories}get showAllCategoriesVisible(){const e=this.allCategories?.length??0;return!this.showAllEnabled&&e>0&&e>this.displayCount}get showAllRelatedRecords(){return this._showAllRelatedRecords}get updating(){return"loading"===this._relationshipVM?.state||"querying"===this._relationshipVM?.state}incrementPage(){this._relationshipVM&&this._relationshipVM.featurePage++}setActiveCategory(e){this._relationshipVM.activeCategory=e,this.setShowAllRelatedRecords(!!e)}setShowAllCategories(e){this._showAllCategories=e,this._showAllRelatedRecords||this._setShowAllEnabled(e)}setShowAllRelatedRecords(e){this._showAllRelatedRecords=e,this._showAllCategories||this._setShowAllEnabled(e)}get _relatedLayerAllowsAdds(){const{relatedLayer:e}=this;if(!e||!this._relatedLayerAllowsEdits)return!1;const t=s(e);return!!t?.operations?.supportsAdd}get _relatedLayerAllowsEdits(){const{relatedLayer:e}=this;if(!e)return!1;const t=s(e);return!!t?.operations?.supportsEditing}_setRelationshipVMProps(){const{displayCount:e,feature:t,layer:l,orderByFields:r,map:i,relationshipId:o,showAllEnabled:s}=this;t&&l&&a(l)&&this._relationshipVM.set({displayCount:e,graphic:t.plainGraphic,layer:l,map:i,orderByFields:r,relationshipId:o,showAllEnabled:s})}_setShowAllEnabled(e){this._relationshipVM.showAllEnabled=e}};e([r()],y.prototype,"_relationshipVM",void 0),e([r()],y.prototype,"_showAllCategories",void 0),e([r()],y.prototype,"_showAllRelatedRecords",void 0),e([r()],y.prototype,"activeCategory",null),e([r()],y.prototype,"allCategories",null),e([r()],y.prototype,"categories",null),e([r()],y.prototype,"canAddRelatedFeature",null),e([r()],y.prototype,"displayCount",null),e([r()],y.prototype,"displayType",null),e([r()],y.prototype,"editable",null),e([r()],y.prototype,"feature",null),e([r()],y.prototype,"group",void 0),e([r()],y.prototype,"label",null),e([r()],y.prototype,"layer",null),e([r()],y.prototype,"loaded",null),e([r()],y.prototype,"map",void 0),e([r()],y.prototype,"orderByFields",null),e([r()],y.prototype,"originHasValidKey",null),e([r()],y.prototype,"relationship",null),e([r()],y.prototype,"relationshipId",null),e([r()],y.prototype,"relatedFeatureInfos",null),e([r()],y.prototype,"relatedLayer",null),e([r()],y.prototype,"relatedLayerIsTable",null),e([r({readOnly:!0})],y.prototype,"single",void 0),e([r()],y.prototype,"showAllEnabled",null),e([r()],y.prototype,"showAllActionVisible",null),e([r()],y.prototype,"showAllCategories",null),e([r()],y.prototype,"showAllCategoriesVisible",null),e([r()],y.prototype,"showAllRelatedRecords",null),e([r({readOnly:!0})],y.prototype,"type",void 0),e([r()],y.prototype,"updating",null),e([r()],y.prototype,"_relatedLayerAllowsAdds",null),e([r()],y.prototype,"_relatedLayerAllowsEdits",null),y=e([i("esri.widgets.BatchAttributeForm.inputs.RelationshipElementInput")],y);const g=y;export{g as default};
2
+ import{__decorate as e}from"tslib";import{destroyMaybe as t}from"../../../core/maybe.js";import{on as l}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{isSubtypeGroupLayer as o,getEffectiveLayerCapabilities as s}from"../../../layers/support/layerUtils.js";import{isRelatableFeatureSupportedLayer as a}from"../../../popup/support/featureUtils.js";import{getComputedAttributes as n,parseFormTemplateString as p}from"../stringUtils.js";import d from"./EditableInput.js";import h from"./SingleFeatureInputAdapter.js";import u from"../../Feature/FeatureRelationship/FeatureRelationshipViewModel.js";let y=class extends d{constructor(e){super(e),this._relationshipVM=new u,this._showAllCategories=!1,this._showAllRelatedRecords=!1,this.group=null,this.map=null,this.single=new h({input:this}),this.type="relationship"}initialize(){this._setRelationshipVMProps(),this.addHandles([l(()=>this.relatedLayer,"edits",()=>this._relationshipVM?.refresh())])}destroy(){t(this._relationshipVM)}get activeCategory(){return this._relationshipVM.activeCategory}get allCategories(){const{relatedLayer:e,_relationshipVM:t}=this;if(!o(e))return;const l=t?.categories,r=(e.subtypes??[]).map(({code:e,name:t})=>{const r=l?.find(e=>e.name===t);return{name:t,count:r?.count??0,value:r?.value??e}});return r.length?r:null}get categories(){return this.showAllEnabled?this.allCategories:this.allCategories?.slice(0,this.displayCount)}get canAddRelatedFeature(){const{editable:e,relatedFeatureCount:t,relationship:l}=this;if(!l||!this.loaded||!this._relatedLayerAllowsAdds)return!1;if(this.allCategories?.length&&!this.activeCategory)return!1;const{cardinality:r,role:i}=l;return!("one-to-one"===r&&t>0)&&("many-to-many"!==r&&(!("one-to-many"===r&&"destination"===i&&t>0)&&e))}get displayCount(){return this.template.displayCount}get displayType(){return this.template.displayType}get editable(){return!!this._relatedLayerAllowsAdds&&(this._evaluatedEditableExpression??!0)}get feature(){return this.single.feature}get relatedFeatureCount(){return this._relationshipVM?.featureCount??0}get label(){return this.activeCategory?.name?this.activeCategory.name:this._computeStringLiteralText(this.template.label)}get layer(){return this.single.layer}get loaded(){return"loading"!==this._relationshipVM?.state}get orderByFields(){return this.template.orderByFields}get originHasValidKey(){return!!this.relationship&&null!=this.feature?.getAttribute(this.relationship.keyField)}get relationship(){return this._relationshipVM?.relationship}get relationshipId(){return this.template.relationshipId}get relatedFeatureInfos(){const{_relationshipVM:e,effectiveTimeZone:t}=this;if(!e?.relatedFeatures?.length||!e?.relatedLayer)return[];const{itemDescriptionFieldName:l,relatedFeatures:r,relatedLayer:i}=e,o=i?.formTemplate?.title||void 0;return r.map(e=>{let r;if(l){const o=e.getAttribute(l),s=i.fieldsIndex.get(l);if(s){const e=n({fields:[s],layer:i,values:[o],timeZone:t})[l];null!=e&&(r=e.toString())}}return{feature:e,description:r,title:o?p({attributes:e.attributes,label:o,layer:i,timeZone:t}):void 0}}).toArray()}get relatedLayer(){return this._relationshipVM?.relatedLayer}get relatedLayerIsTable(){return!!this.relatedLayer?.isTable}get showAllEnabled(){return this._relationshipVM.showAllEnabled}get showAllActionVisible(){return!this.showAllEnabled&&this.relatedFeatureCount>0&&this.relatedFeatureCount>this.displayCount}get showAllCategories(){return this._showAllCategories}get showAllCategoriesVisible(){const e=this.allCategories?.length??0;return!this.showAllEnabled&&e>0&&e>this.displayCount}get showAllRelatedRecords(){return this._showAllRelatedRecords}get updating(){return"loading"===this._relationshipVM?.state||"querying"===this._relationshipVM?.state}incrementPage(){this._relationshipVM&&this._relationshipVM.featurePage++}setActiveCategory(e){this._relationshipVM.activeCategory=e,this.setShowAllRelatedRecords(!!e)}setShowAllCategories(e){this._showAllCategories=e,this._showAllRelatedRecords||this._setShowAllEnabled(e)}setShowAllRelatedRecords(e){this._showAllRelatedRecords=e,this._showAllCategories||this._setShowAllEnabled(e)}get _relatedLayerAllowsAdds(){const{relatedLayer:e}=this;if(!e||!this._relatedLayerAllowsEdits)return!1;const t=s(e);return!!t?.operations?.supportsAdd}get _relatedLayerAllowsEdits(){const{relatedLayer:e}=this;if(!e)return!1;const t=s(e);return!!t?.operations?.supportsEditing}_setRelationshipVMProps(){const{displayCount:e,feature:t,layer:l,orderByFields:r,map:i,relationshipId:o,showAllEnabled:s}=this;t&&l&&a(l)&&this._relationshipVM.set({displayCount:e,graphic:t.plainGraphic,layer:l,map:i,orderByFields:r,relationshipId:o,showAllEnabled:s})}_setShowAllEnabled(e){this._relationshipVM.showAllEnabled=e}};e([r()],y.prototype,"_relationshipVM",void 0),e([r()],y.prototype,"_showAllCategories",void 0),e([r()],y.prototype,"_showAllRelatedRecords",void 0),e([r()],y.prototype,"activeCategory",null),e([r()],y.prototype,"allCategories",null),e([r()],y.prototype,"categories",null),e([r()],y.prototype,"canAddRelatedFeature",null),e([r()],y.prototype,"displayCount",null),e([r()],y.prototype,"displayType",null),e([r()],y.prototype,"editable",null),e([r()],y.prototype,"feature",null),e([r()],y.prototype,"group",void 0),e([r()],y.prototype,"label",null),e([r()],y.prototype,"layer",null),e([r()],y.prototype,"loaded",null),e([r()],y.prototype,"map",void 0),e([r()],y.prototype,"orderByFields",null),e([r()],y.prototype,"originHasValidKey",null),e([r()],y.prototype,"relationship",null),e([r()],y.prototype,"relationshipId",null),e([r()],y.prototype,"relatedFeatureInfos",null),e([r()],y.prototype,"relatedLayer",null),e([r()],y.prototype,"relatedLayerIsTable",null),e([r({readOnly:!0})],y.prototype,"single",void 0),e([r()],y.prototype,"showAllEnabled",null),e([r()],y.prototype,"showAllActionVisible",null),e([r()],y.prototype,"showAllCategories",null),e([r()],y.prototype,"showAllCategoriesVisible",null),e([r()],y.prototype,"showAllRelatedRecords",null),e([r({readOnly:!0})],y.prototype,"type",void 0),e([r()],y.prototype,"updating",null),e([r()],y.prototype,"_relatedLayerAllowsAdds",null),e([r()],y.prototype,"_relatedLayerAllowsEdits",null),y=e([i("esri.widgets.BatchAttributeForm.inputs.RelationshipElementInput")],y);const g=y;export{g as default};
@@ -1,5 +1,5 @@
1
1
  /** @internal */
2
- export type AttachmentValidationCriterionKey = "maximum-audio-length" | "maximum-file-size" | "minimum-number-of-files" | "maximum-number-of-files" | "maximum-video-length";
2
+ export type AttachmentValidationCriterionKey = "maximum-audio-length" | "maximum-file-size" | "maximum-image-size" | "minimum-number-of-files" | "maximum-number-of-files" | "maximum-video-length";
3
3
 
4
4
  /** @internal */
5
5
  export type AttachmentValidationCriterionState = "danger" | "success";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{createArcadeProfile as e,createArcadeExecutor as t}from"../../../../arcade.js";import r from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{getEffectiveFieldAlias as n}from"../../../../editing/fieldUtils.js";import i from"../../../../form/ExpressionInfo.js";import s from"../../../../form/elements/AttachmentElement.js";import{isMultipleChoiceInput as a}from"../../../../form/elements/inputs/inputUtils.js";import{isAttachmentElement as l,isFieldElement as m,isGroupElement as d,isRelationshipElement as p,isTextElement as c,isUtilityNetworkAssociationsElement as f}from"../../../../form/support/formUtils.js";import{getLowerCaseEditTrackingFields as u,isFieldVisibleByDefault as x}from"../../../../layers/support/fieldUtils.js";import{isSubtypeSublayer as y,isSubtypeGroupLayer as w}from"../../../../layers/support/layerUtils.js";import{isNumber as h}from"../../../../support/guards.js";import{layerSupportsQueryAttachments as E,getLayerTimeZone as b}from"../../batchAttributeFormUtils.js";import{makeExpressionInfosMap as v,makeExecutorSetForFormElement as I}from"../../expressions/expressionUtils.js";import{AttachmentElementTemplate as T}from"../AttachmentElementTemplate.js";import j from"../BatchFormTemplate.js";import{FieldElementTemplate as F}from"../FieldElementTemplate.js";import{GroupElementTemplate as g}from"../GroupElementTemplate.js";import{RelationshipElementTemplate as P}from"../RelationshipElementTemplate.js";import{TextElementTemplate as C}from"../TextElementTemplate.js";import{UtilityNetworkAssociationsElementTemplate as A}from"../UtilityNetworkAssociationsElementTemplate.js";import{isGroupElementTemplate as L}from"./templateUtils.js";import{compileTextElementMarkdownToHTML as U}from"./textElementTemplateUtils.js";const Z="expression/dea57012-47ca4b55a000-8df62742ed0c",N=e("form-attachment-filename-calculation"),B=()=>o.getLogger("esri.widgets.BatchAttributeForm.templates.templateUtils");async function H(e,t,r=e.formTemplate){return await e.load(),r?.elements&&r.elements.length>0?W(r,e,t):R(e,t)}async function R(e,{arcadeExecutorProvider:t,attachmentsEnabled:r,formTimeZone:o}){const n=new Set(u(e)),i={arcadeExecutorProvider:t,formTimeZone:o,layer:e},s=[];for(const l of e.fields)J(l,e,n)&&s.push(D(l,i));const a=await Promise.all(s);return r&&await V(a,{arcadeExecutorProvider:t,expressionInfos:v(void 0),layer:e}),new j({elements:a,title:e.formTemplate?.title,preserveFieldValuesWhenHidden:!0})}function S(e,t){for(const r of e??[])if("group"!==r.type){if("field"===r.type){if(!1===r.editable&&!r.editableExpression)return!0;if(t.subtypeField&&(y(t)||w(t))&&r.fieldName?.toLowerCase()===t.subtypeField.toLowerCase())return!0}}else if(S(r.elements??[],t))return!0;return!1}async function V(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:o}){if(!E(o))return;const n=await k(new s({displayFilename:!0}),{arcadeExecutorProvider:t,expressionInfos:r,layer:o});e.push(n)}async function W(e,t,r){let o=null;S(e.elements??[],t)&&(o=new i({title:"",name:Z,expression:"false"}));const n=v(o?[...e.expressionInfos??[],o]:e.expressionInfos),s={description:e.description,elements:new Array,title:e.title,preserveFieldValuesWhenHidden:e.preserveFieldValuesWhenHidden,supportsAttachmentElements:e.supportsAttachmentElements},{elements:a}=e;if(!a)return new j(s);let l=!1;const{arcadeExecutorProvider:m,formTimeZone:d}=r;for(const i of a){const e=await K(i,{arcadeExecutorProvider:m,expressionInfos:n,layer:t,formTimeZone:d});if(e){if(s.elements.push(e),l)continue;"attachment"===e.type&&(l=!0),L(e)&&e.elements.some(e=>("attachment"===e.type&&(l=!0),l))}}return e.supportsAttachmentElements||!r.attachmentsEnabled||l||await V(s.elements,{arcadeExecutorProvider:m,expressionInfos:n,layer:t}),new j(s)}async function k(e,{arcadeExecutorProvider:r,expressionInfos:o,layer:n}){const i=o.get(e.filenameExpression),s=i?await t(i.expression,N):null,a=new T({allowUserRename:e.allowUserRename,attachmentKeyword:e.attachmentKeyword,description:e.description,displayFilename:e.displayFilename,filenameExpressionExecutor:s,input:e.input,label:e.label,maxAttachmentCount:e.maxAttachmentCount,minAttachmentCount:e.minAttachmentCount,useOriginalFilename:e.useOriginalFilename}),l=await I({element:e,expressionInfos:o,provider:r});return a.addLayer(n,l),a}async function K(e,t){return l(e)?k(e,{arcadeExecutorProvider:t.arcadeExecutorProvider,expressionInfos:t.expressionInfos,layer:t.layer}):m(e)?O(e,t):d(e)?G(e,t):p(e)?$(e,t):c(e)?q(e,t):f(e)?z(e,t):null}async function O(e,{arcadeExecutorProvider:t,expressionInfos:o,layer:n,formTimeZone:i}){const{fieldsIndex:s}=n,{description:l,domain:m,fieldName:d,hint:p,input:c,label:f}=e;if(null==d||!s.has(d))return B().warn(new r("batch-attribute-form:invalid-form-element-field",`Field element with label '${f}' does not refer to a valid field`)),null;if(!1!==e.editable||e.editableExpression||((e=e.clone()).editableExpression=Z),n.subtypeField&&(y(n)||w(n))&&e.fieldName?.toLowerCase()===n.subtypeField.toLowerCase()&&((e=e.clone()).editableExpression=Z),c&&a(c)&&c.otherChoice){const e=c.otherChoice.fieldName,t=s.get(e);t&&t.name!==e&&(c.otherChoice=c.otherChoice.clone(),c.otherChoice.fieldName=t.name)}const u=new F({description:l,domain:m,field:s.get(d),hint:p,input:c,formTimeZone:i,layerTimeZone:b(n),label:f}),x=await I({element:e,expressionInfos:o,provider:t});return u.addLayer(n,x),u}async function G(e,t){const{arcadeExecutorProvider:r,expressionInfos:o,layer:n}=t,{description:i,label:s,initialState:a}=e,l=[];for(const p of e.elements){const e=await K(p,t);e&&l.push(e)}const m=new g({description:i,elements:l,label:s,initialState:a??"expanded"}),d=await I({element:e,expressionInfos:o,provider:r});return m.addLayer(n,d),m}async function $(e,t){const{description:r,label:o,displayCount:n,displayType:i,orderByFields:s,relationshipId:a}=e,{arcadeExecutorProvider:l,expressionInfos:m,layer:d}=t,p=new P({description:r,...h(n)&&{displayCount:n},displayType:i,label:o,orderByFields:s,relationshipId:a}),c=await I({element:e,expressionInfos:m,provider:l});return p.addLayer(d,c),p}async function q(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:o}){const{description:n,label:i,text:s,textFormat:a}=e,{fieldsIndex:l}=o,m=s&&"markdown"===a?await U(s):s,d=new C({compiledText:m,description:n,fieldsIndex:l,label:i}),p=await I({element:e,expressionInfos:r,provider:t}),{expressionParts:c}=d;if(c.length){const e=await Promise.all(c.map(e=>{const o=r.get(e)?.expression??e;return t.getArcadeExecutor(o)}));p.textExpressions=e}return d.addLayer(o,p),d}async function z(e,t){const{associationTypes:r,description:o,label:n}=e,{arcadeExecutorProvider:i,expressionInfos:s,layer:a}=t,l=new A({associationTypes:r,description:o,label:n}),m=await I({element:e,expressionInfos:s,provider:i});return l.addLayer(a,m),l}async function D(e,{arcadeExecutorProvider:t,layer:r,formTimeZone:o}){const i=n(e,r)||e.name,s=new F({field:e,label:i,formTimeZone:o,layerTimeZone:b(r)}),a={},l=(w(r)||y(r))&&r.subtypeField&&r.subtypeField.toLowerCase()===e.name.toLowerCase();return!l&&e.editable&&r.userHasUpdateItemPrivileges&&(a.editableExpression=await t.getArcadeExecutor("true")),l&&(a.editableExpression=await t.getArcadeExecutor("false")),s.addLayer(r,a),s}function J(e,t,r){return!r.has(e.name.toLowerCase())&&x(e,t)}export{H as createBatchFormTemplate,R as createBatchFormTemplateFromFields};
2
+ import{createArcadeProfile as e,createArcadeExecutor as t}from"../../../../arcade.js";import r from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{getEffectiveFieldAlias as n}from"../../../../editing/fieldUtils.js";import i from"../../../../form/ExpressionInfo.js";import s from"../../../../form/elements/AttachmentElement.js";import{isMultipleChoiceInput as a}from"../../../../form/elements/inputs/inputUtils.js";import{isAttachmentElement as l,isFieldElement as m,isGroupElement as d,isRelationshipElement as p,isTextElement as c,isUtilityNetworkAssociationsElement as f}from"../../../../form/support/formUtils.js";import{getLowerCaseEditTrackingFields as u,isFieldVisibleByDefault as x}from"../../../../layers/support/fieldUtils.js";import{isSubtypeSublayer as y,isSubtypeGroupLayer as h}from"../../../../layers/support/layerUtils.js";import{isNumber as w}from"../../../../support/guards.js";import{layerSupportsQueryAttachments as E,getLayerTimeZone as b}from"../../batchAttributeFormUtils.js";import{makeExpressionInfosMap as v,makeExecutorSetForFormElement as I}from"../../expressions/expressionUtils.js";import{AttachmentElementTemplate as T}from"../AttachmentElementTemplate.js";import F from"../BatchFormTemplate.js";import{FieldElementTemplate as j}from"../FieldElementTemplate.js";import{GroupElementTemplate as P}from"../GroupElementTemplate.js";import{RelationshipElementTemplate as g}from"../RelationshipElementTemplate.js";import{TextElementTemplate as C}from"../TextElementTemplate.js";import{UtilityNetworkAssociationsElementTemplate as A}from"../UtilityNetworkAssociationsElementTemplate.js";import{isGroupElementTemplate as L}from"./templateUtils.js";import{compileTextElementMarkdownToHTML as U}from"./textElementTemplateUtils.js";const Z="expression/dea57012-47ca4b55a000-8df62742ed0c",N=e("form-attachment-filename-calculation"),B=()=>o.getLogger("esri.widgets.BatchAttributeForm.templates.templateUtils");async function H(e,t,r=e.formTemplate){return await e.load(),r?.elements&&r.elements.length>0?W(r,e,t):R(e,t)}async function R(e,{arcadeExecutorProvider:t,attachmentsEnabled:r,formTimeZone:o}){const n=new Set(u(e)),i={arcadeExecutorProvider:t,formTimeZone:o,layer:e},s=[];for(const l of e.fields)J(l,e,n)&&s.push(D(l,i));const a=await Promise.all(s);return r&&await V(a,{arcadeExecutorProvider:t,expressionInfos:v(void 0),layer:e}),new F({elements:a,title:e.formTemplate?.title,preserveFieldValuesWhenHidden:!0})}function S(e,t){for(const r of e??[])if("group"!==r.type){if("field"===r.type){if(!1===r.editable&&!r.editableExpression)return!0;if(t.subtypeField&&(y(t)||h(t))&&r.fieldName?.toLowerCase()===t.subtypeField.toLowerCase())return!0}}else if(S(r.elements??[],t))return!0;return!1}async function V(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:o}){if(!E(o))return;const n=await k(new s({displayFilename:!0}),{arcadeExecutorProvider:t,expressionInfos:r,layer:o});e.push(n)}async function W(e,t,r){let o=null;S(e.elements??[],t)&&(o=new i({title:"",name:Z,expression:"false"}));const n=v(o?[...e.expressionInfos??[],o]:e.expressionInfos),s={description:e.description,elements:new Array,title:e.title,preserveFieldValuesWhenHidden:e.preserveFieldValuesWhenHidden,supportsAttachmentElements:e.supportsAttachmentElements},{elements:a}=e;if(!a)return new F(s);let l=!1;const{arcadeExecutorProvider:m,formTimeZone:d}=r;for(const i of a){const e=await K(i,{arcadeExecutorProvider:m,expressionInfos:n,layer:t,formTimeZone:d});if(e){if(s.elements.push(e),l)continue;"attachment"===e.type&&(l=!0),L(e)&&e.elements.some(e=>("attachment"===e.type&&(l=!0),l))}}return e.supportsAttachmentElements||!r.attachmentsEnabled||l||await V(s.elements,{arcadeExecutorProvider:m,expressionInfos:n,layer:t}),new F(s)}async function k(e,{arcadeExecutorProvider:r,expressionInfos:o,layer:n}){let i=null;if(e.filenameExpression)try{i=await t(e.filenameExpression,N)}catch(l){B().error("Failed to compile attachment filename expression",l)}const s=new T({allowUserRename:e.allowUserRename,attachmentKeyword:e.attachmentKeyword,description:e.description,displayFilename:e.displayFilename,filenameExpressionExecutor:i,input:e.input,label:e.label,maxAttachmentCount:e.maxAttachmentCount,minAttachmentCount:e.minAttachmentCount,useOriginalFilename:e.useOriginalFilename}),a=await I({element:e,expressionInfos:o,provider:r});return s.addLayer(n,a),s}async function K(e,t){return l(e)?k(e,{arcadeExecutorProvider:t.arcadeExecutorProvider,expressionInfos:t.expressionInfos,layer:t.layer}):m(e)?O(e,t):d(e)?G(e,t):p(e)?$(e,t):c(e)?q(e,t):f(e)?z(e,t):null}async function O(e,{arcadeExecutorProvider:t,expressionInfos:o,layer:n,formTimeZone:i}){const{fieldsIndex:s}=n,{description:l,domain:m,fieldName:d,hint:p,input:c,label:f}=e;if(null==d||!s.has(d))return B().warn(new r("batch-attribute-form:invalid-form-element-field",`Field element with label '${f}' does not refer to a valid field`)),null;if(!1!==e.editable||e.editableExpression||((e=e.clone()).editableExpression=Z),n.subtypeField&&(y(n)||h(n))&&e.fieldName?.toLowerCase()===n.subtypeField.toLowerCase()&&((e=e.clone()).editableExpression=Z),c&&a(c)&&c.otherChoice){const e=c.otherChoice.fieldName,t=s.get(e);t&&t.name!==e&&(c.otherChoice=c.otherChoice.clone(),c.otherChoice.fieldName=t.name)}const u=new j({description:l,domain:m,field:s.get(d),hint:p,input:c,formTimeZone:i,layerTimeZone:b(n),label:f}),x=await I({element:e,expressionInfos:o,provider:t});return u.addLayer(n,x),u}async function G(e,t){const{arcadeExecutorProvider:r,expressionInfos:o,layer:n}=t,{description:i,label:s,initialState:a}=e,l=[];for(const p of e.elements){const e=await K(p,t);e&&l.push(e)}const m=new P({description:i,elements:l,label:s,initialState:a??"expanded"}),d=await I({element:e,expressionInfos:o,provider:r});return m.addLayer(n,d),m}async function $(e,t){const{description:r,label:o,displayCount:n,displayType:i,orderByFields:s,relationshipId:a}=e,{arcadeExecutorProvider:l,expressionInfos:m,layer:d}=t,p=new g({description:r,...w(n)&&{displayCount:n},displayType:i,label:o,orderByFields:s,relationshipId:a}),c=await I({element:e,expressionInfos:m,provider:l});return p.addLayer(d,c),p}async function q(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:o}){const{description:n,label:i,text:s,textFormat:a}=e,{fieldsIndex:l}=o,m=s&&"markdown"===a?await U(s):s,d=new C({compiledText:m,description:n,fieldsIndex:l,label:i}),p=await I({element:e,expressionInfos:r,provider:t}),{expressionParts:c}=d;if(c.length){const e=await Promise.all(c.map(e=>{const o=r.get(e)?.expression??e;return t.getArcadeExecutor(o)}));p.textExpressions=e}return d.addLayer(o,p),d}async function z(e,t){const{associationTypes:r,description:o,label:n}=e,{arcadeExecutorProvider:i,expressionInfos:s,layer:a}=t,l=new A({associationTypes:r,description:o,label:n}),m=await I({element:e,expressionInfos:s,provider:i});return l.addLayer(a,m),l}async function D(e,{arcadeExecutorProvider:t,layer:r,formTimeZone:o}){const i=n(e,r)||e.name,s=new j({field:e,label:i,formTimeZone:o,layerTimeZone:b(r)}),a={},l=(h(r)||y(r))&&r.subtypeField&&r.subtypeField.toLowerCase()===e.name.toLowerCase();return!l&&e.editable&&r.userHasUpdateItemPrivileges&&(a.editableExpression=await t.getArcadeExecutor("true")),l&&(a.editableExpression=await t.getArcadeExecutor("false")),s.addLayer(r,a),s}function J(e,t,r){return!r.has(e.name.toLowerCase())&&x(e,t)}export{H as createBatchFormTemplate,R as createBatchFormTemplateFromFields};
@@ -6,7 +6,7 @@ import type OrientedImageryLayer from "../../layers/OrientedImageryLayer.js";
6
6
  import type SceneLayer from "../../layers/SceneLayer.js";
7
7
  import type KnowledgeGraphSublayer from "../../layers/knowledgeGraph/KnowledgeGraphSublayer.js";
8
8
  import type SubtypeSublayer from "../../layers/support/SubtypeSublayer.js";
9
- import type { AttachmentEdit } from "../../editing/types.js";
9
+ import type { FeatureIdentifier } from "../../editing/types.js";
10
10
  import type { FieldValue } from "../../layers/support/fieldUtils.js";
11
11
 
12
12
  /**
@@ -91,19 +91,105 @@ export interface PendingAttachmentEdits {
91
91
  *
92
92
  * @since 5.1
93
93
  */
94
- add: AttachmentEdit[];
94
+ adds: AddAttachmentEdit[];
95
95
  /**
96
96
  * Attachments staged to be updated.
97
97
  *
98
98
  * @since 5.1
99
99
  */
100
- update: AttachmentEdit[];
100
+ updates: UpdateAttachmentEdit[];
101
101
  /**
102
- * Attachment globalIds staged to be deleted.
102
+ * Attachments staged to be deleted.
103
103
  *
104
104
  * @since 5.1
105
105
  */
106
- delete: string[];
106
+ deletes: DeleteAttachmentEdit[];
107
+ }
108
+
109
+ /**
110
+ * Information about an individual attachment edit, used for adding, updating, or deleting attachments.
111
+ *
112
+ * @since 5.1
113
+ */
114
+ export interface BaseAttachmentEdit {
115
+ /**
116
+ * The feature, `objectId` or `globalId` of the feature associated with the attachment.
117
+ *
118
+ * @since 5.1
119
+ */
120
+ feature: Graphic | FeatureIdentifier;
121
+ /**
122
+ * The content type of the attachment. For example, `'image/jpeg'`.
123
+ *
124
+ * @since 5.1
125
+ */
126
+ contentType?: string;
127
+ /**
128
+ * The unique globalId of the attachment.
129
+ *
130
+ * @since 5.1
131
+ */
132
+ globalId?: string;
133
+ /**
134
+ * The keywords of the attachment.
135
+ *
136
+ * @since 5.1
137
+ */
138
+ keywords?: string | null;
139
+ /**
140
+ * The name of the attachment.
141
+ *
142
+ * @since 5.1
143
+ */
144
+ name?: string;
145
+ }
146
+
147
+ /**
148
+ * Information about a single attachment to be added.
149
+ *
150
+ * @since 5.1
151
+ */
152
+ export interface AddAttachmentEdit extends BaseAttachmentEdit {
153
+ /**
154
+ * The raw attachment data.
155
+ *
156
+ * @since 5.1
157
+ */
158
+ data: Blob | File | string;
159
+ }
160
+
161
+ /**
162
+ * Information about a single attachment to be updated.
163
+ *
164
+ * @since 5.1
165
+ */
166
+ export interface UpdateAttachmentEdit extends BaseAttachmentEdit {
167
+ /**
168
+ * The raw attachment data.
169
+ *
170
+ * @since 5.1
171
+ */
172
+ data: Blob | File | string;
173
+ /**
174
+ * The unique identifier of the attachment.
175
+ *
176
+ * @since 5.1
177
+ */
178
+ id?: number;
179
+ }
180
+
181
+ /**
182
+ * Information about a single attachment to be deleted.
183
+ *
184
+ * @since 5.1
185
+ */
186
+ export interface DeleteAttachmentEdit extends BaseAttachmentEdit {
187
+ /**
188
+ * The unique identifier of the attachment.
189
+ *
190
+ * @since 5.1
191
+ */
192
+ id?: number;
107
193
  }
108
194
 
109
195
  /** @since 5.0 */