@honua/sdk-esri-compat 0.1.12 → 0.1.14

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 (250) hide show
  1. package/README.md +2 -0
  2. package/columnar/apache-arrow.d.ts +17 -0
  3. package/columnar/apache-arrow.d.ts.map +1 -0
  4. package/columnar/apache-arrow.js +1036 -0
  5. package/columnar/batch-cache-conformance.d.ts +66 -0
  6. package/columnar/batch-cache-conformance.d.ts.map +1 -0
  7. package/columnar/batch-cache-conformance.js +317 -0
  8. package/columnar/batch-cache-indexeddb.d.ts +31 -0
  9. package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
  10. package/columnar/batch-cache-indexeddb.js +148 -0
  11. package/columnar/batch-cache.d.ts +298 -0
  12. package/columnar/batch-cache.d.ts.map +1 -0
  13. package/columnar/batch-cache.js +757 -0
  14. package/columnar/geoarrow-aggregate.d.ts +178 -0
  15. package/columnar/geoarrow-aggregate.d.ts.map +1 -0
  16. package/columnar/geoarrow-aggregate.js +976 -0
  17. package/columnar/geoarrow-patch.d.ts +382 -0
  18. package/columnar/geoarrow-patch.d.ts.map +1 -0
  19. package/columnar/geoarrow-patch.js +1656 -0
  20. package/columnar/geoarrow-reproject.d.ts +22 -0
  21. package/columnar/geoarrow-reproject.d.ts.map +1 -0
  22. package/columnar/geoarrow-reproject.js +119 -0
  23. package/columnar/geoarrow-serialization.d.ts +68 -0
  24. package/columnar/geoarrow-serialization.d.ts.map +1 -0
  25. package/columnar/geoarrow-serialization.js +331 -0
  26. package/columnar/geoarrow-types.d.ts +271 -0
  27. package/columnar/geoarrow-types.d.ts.map +1 -0
  28. package/columnar/geoarrow-types.js +15 -0
  29. package/columnar/geoarrow.d.ts +52 -0
  30. package/columnar/geoarrow.d.ts.map +1 -0
  31. package/columnar/geoarrow.js +1469 -0
  32. package/columnar/index.d.ts +43 -0
  33. package/columnar/index.d.ts.map +1 -0
  34. package/columnar/index.js +29 -0
  35. package/columnar/operators.d.ts +70 -0
  36. package/columnar/operators.d.ts.map +1 -0
  37. package/columnar/operators.js +307 -0
  38. package/columnar/result.d.ts +369 -0
  39. package/columnar/result.d.ts.map +1 -0
  40. package/columnar/result.js +815 -0
  41. package/columnar/telemetry.d.ts +152 -0
  42. package/columnar/telemetry.d.ts.map +1 -0
  43. package/columnar/telemetry.js +265 -0
  44. package/columnar/transfer.d.ts +28 -0
  45. package/columnar/transfer.d.ts.map +1 -0
  46. package/columnar/transfer.js +669 -0
  47. package/columnar/types.d.ts +175 -0
  48. package/columnar/types.d.ts.map +1 -0
  49. package/columnar/types.js +22 -0
  50. package/columnar/worker.d.ts +157 -0
  51. package/columnar/worker.d.ts.map +1 -0
  52. package/columnar/worker.js +1059 -0
  53. package/connect-url-safety.d.ts +53 -0
  54. package/connect-url-safety.js +189 -0
  55. package/contract/pmtiles.d.ts +6 -5
  56. package/contract/pmtiles.d.ts.map +1 -1
  57. package/contract/pmtiles.js +30 -5
  58. package/contract/source.d.ts.map +1 -1
  59. package/contract/source.js +11 -8
  60. package/core/client.d.ts.map +1 -1
  61. package/core/client.js +87 -19
  62. package/core/deprecation-notice.d.ts +28 -0
  63. package/core/deprecation-notice.d.ts.map +1 -0
  64. package/core/deprecation-notice.js +22 -0
  65. package/core/esri-geojson.d.ts.map +1 -1
  66. package/core/esri-geojson.js +14 -8
  67. package/core/optional-grpc-peer.d.ts +15 -0
  68. package/core/optional-grpc-peer.d.ts.map +1 -0
  69. package/core/optional-grpc-peer.js +60 -0
  70. package/esri-compat/basemap-gallery.d.ts +2 -0
  71. package/esri-compat/basemap-gallery.d.ts.map +1 -1
  72. package/esri-compat/basemap-gallery.js +12 -0
  73. package/esri-compat/basemap.d.ts +4 -0
  74. package/esri-compat/basemap.d.ts.map +1 -1
  75. package/esri-compat/basemap.js +70 -0
  76. package/esri-compat/bookmarks.d.ts +2 -0
  77. package/esri-compat/bookmarks.d.ts.map +1 -1
  78. package/esri-compat/bookmarks.js +12 -0
  79. package/esri-compat/controls.d.ts +18 -0
  80. package/esri-compat/controls.d.ts.map +1 -1
  81. package/esri-compat/controls.js +120 -57
  82. package/esri-compat/directions.d.ts +4 -0
  83. package/esri-compat/directions.d.ts.map +1 -1
  84. package/esri-compat/directions.js +30 -20
  85. package/esri-compat/editor.d.ts +4 -0
  86. package/esri-compat/editor.d.ts.map +1 -1
  87. package/esri-compat/editor.js +16 -0
  88. package/esri-compat/esri-config.d.ts +2 -1
  89. package/esri-compat/esri-config.d.ts.map +1 -1
  90. package/esri-compat/feature-effect.d.ts +23 -0
  91. package/esri-compat/feature-effect.d.ts.map +1 -0
  92. package/esri-compat/feature-effect.js +12 -0
  93. package/esri-compat/feature-form.d.ts +6 -0
  94. package/esri-compat/feature-form.d.ts.map +1 -1
  95. package/esri-compat/feature-form.js +63 -0
  96. package/esri-compat/feature-layer.d.ts +21 -2
  97. package/esri-compat/feature-layer.d.ts.map +1 -1
  98. package/esri-compat/feature-layer.js +172 -1
  99. package/esri-compat/feature-table.d.ts +5 -0
  100. package/esri-compat/feature-table.d.ts.map +1 -1
  101. package/esri-compat/feature-table.js +23 -0
  102. package/esri-compat/identity-manager.d.ts +1 -1
  103. package/esri-compat/identity-manager.js +1 -1
  104. package/esri-compat/legend.d.ts +2 -0
  105. package/esri-compat/legend.d.ts.map +1 -1
  106. package/esri-compat/legend.js +98 -0
  107. package/esri-compat/locator.d.ts +1 -1
  108. package/esri-compat/locator.js +1 -1
  109. package/esri-compat/map-view-mount.d.ts +1 -0
  110. package/esri-compat/map-view-mount.d.ts.map +1 -1
  111. package/esri-compat/map-view-mount.js +46 -25
  112. package/esri-compat/map-view.d.ts +13 -0
  113. package/esri-compat/map-view.d.ts.map +1 -1
  114. package/esri-compat/map-view.js +94 -8
  115. package/esri-compat/map.d.ts +5 -1
  116. package/esri-compat/map.d.ts.map +1 -1
  117. package/esri-compat/map.js +10 -0
  118. package/esri-compat/measurement.d.ts +2 -0
  119. package/esri-compat/measurement.d.ts.map +1 -1
  120. package/esri-compat/measurement.js +14 -0
  121. package/esri-compat/point.d.ts +7 -0
  122. package/esri-compat/point.d.ts.map +1 -1
  123. package/esri-compat/point.js +33 -3
  124. package/esri-compat/popup.d.ts +2 -0
  125. package/esri-compat/popup.d.ts.map +1 -1
  126. package/esri-compat/popup.js +12 -0
  127. package/esri-compat/portal.d.ts +1 -1
  128. package/esri-compat/portal.js +1 -1
  129. package/esri-compat/print.d.ts +3 -0
  130. package/esri-compat/print.d.ts.map +1 -1
  131. package/esri-compat/print.js +15 -0
  132. package/esri-compat/search.d.ts +4 -0
  133. package/esri-compat/search.d.ts.map +1 -1
  134. package/esri-compat/search.js +25 -28
  135. package/esri-compat/sketch.d.ts +2 -0
  136. package/esri-compat/sketch.d.ts.map +1 -1
  137. package/esri-compat/sketch.js +12 -0
  138. package/esri-compat/widget-host.d.ts +46 -17
  139. package/esri-compat/widget-host.d.ts.map +1 -1
  140. package/esri-compat/widget-host.js +84 -20
  141. package/esri-compat/widget-shell-hosts.d.ts +61 -0
  142. package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
  143. package/esri-compat/widget-shell-hosts.js +76 -0
  144. package/index.d.ts +3 -1
  145. package/index.js +1 -0
  146. package/offline/digest.d.ts +15 -0
  147. package/offline/digest.js +58 -0
  148. package/offline/quota.d.ts +161 -0
  149. package/offline/quota.js +370 -0
  150. package/offline/types.d.ts +349 -0
  151. package/offline/types.js +75 -0
  152. package/package.json +21 -2
  153. package/query-planner/canonical-filter.d.ts +30 -0
  154. package/query-planner/canonical-filter.d.ts.map +1 -0
  155. package/query-planner/canonical-filter.js +30 -0
  156. package/query-planner/canonical.d.ts +7 -0
  157. package/query-planner/canonical.d.ts.map +1 -0
  158. package/query-planner/canonical.js +145 -0
  159. package/query-planner/columnar-plan.d.ts +63 -0
  160. package/query-planner/columnar-plan.d.ts.map +1 -0
  161. package/query-planner/columnar-plan.js +94 -0
  162. package/query-planner/cql2-json.d.ts +17 -0
  163. package/query-planner/cql2-json.d.ts.map +1 -0
  164. package/query-planner/cql2-json.js +646 -0
  165. package/query-planner/diagnostics.d.ts +35 -0
  166. package/query-planner/diagnostics.d.ts.map +1 -0
  167. package/query-planner/diagnostics.js +386 -0
  168. package/query-planner/duckdb.d.ts +79 -0
  169. package/query-planner/duckdb.d.ts.map +1 -0
  170. package/query-planner/duckdb.js +772 -0
  171. package/query-planner/execution-context.d.ts +5 -0
  172. package/query-planner/execution-context.d.ts.map +1 -0
  173. package/query-planner/execution-context.js +52 -0
  174. package/query-planner/executor.d.ts +5 -0
  175. package/query-planner/executor.d.ts.map +1 -0
  176. package/query-planner/executor.js +229 -0
  177. package/query-planner/geoservices.d.ts +91 -0
  178. package/query-planner/geoservices.d.ts.map +1 -0
  179. package/query-planner/geoservices.js +688 -0
  180. package/query-planner/grpc.d.ts +100 -0
  181. package/query-planner/grpc.d.ts.map +1 -0
  182. package/query-planner/grpc.js +760 -0
  183. package/query-planner/index.d.ts +59 -0
  184. package/query-planner/index.d.ts.map +1 -0
  185. package/query-planner/index.js +43 -0
  186. package/query-planner/ir.d.ts +25 -0
  187. package/query-planner/ir.d.ts.map +1 -0
  188. package/query-planner/ir.js +479 -0
  189. package/query-planner/local-aggregate.d.ts +5 -0
  190. package/query-planner/local-aggregate.d.ts.map +1 -0
  191. package/query-planner/local-aggregate.js +126 -0
  192. package/query-planner/odata-protocol-module.d.ts +54 -0
  193. package/query-planner/odata-protocol-module.d.ts.map +1 -0
  194. package/query-planner/odata-protocol-module.js +199 -0
  195. package/query-planner/odata-v1.d.ts +23 -0
  196. package/query-planner/odata-v1.d.ts.map +1 -0
  197. package/query-planner/odata-v1.js +202 -0
  198. package/query-planner/odata.d.ts +45 -0
  199. package/query-planner/odata.d.ts.map +1 -0
  200. package/query-planner/odata.js +519 -0
  201. package/query-planner/ogc-compiler.d.ts +55 -0
  202. package/query-planner/ogc-compiler.d.ts.map +1 -0
  203. package/query-planner/ogc-compiler.js +480 -0
  204. package/query-planner/ogc-features.d.ts +53 -0
  205. package/query-planner/ogc-features.d.ts.map +1 -0
  206. package/query-planner/ogc-features.js +639 -0
  207. package/query-planner/planner.d.ts +17 -0
  208. package/query-planner/planner.d.ts.map +1 -0
  209. package/query-planner/planner.js +937 -0
  210. package/query-planner/representation.d.ts +59 -0
  211. package/query-planner/representation.d.ts.map +1 -0
  212. package/query-planner/representation.js +140 -0
  213. package/query-planner/resource.d.ts +94 -0
  214. package/query-planner/resource.d.ts.map +1 -0
  215. package/query-planner/resource.js +526 -0
  216. package/query-planner/semantic-canonical.d.ts +15 -0
  217. package/query-planner/semantic-canonical.d.ts.map +1 -0
  218. package/query-planner/semantic-canonical.js +62 -0
  219. package/query-planner/semantic-compat.d.ts +10 -0
  220. package/query-planner/semantic-compat.d.ts.map +1 -0
  221. package/query-planner/semantic-compat.js +35 -0
  222. package/query-planner/semantic-compiler.d.ts +64 -0
  223. package/query-planner/semantic-compiler.d.ts.map +1 -0
  224. package/query-planner/semantic-compiler.js +81 -0
  225. package/query-planner/semantic-literals.d.ts +30 -0
  226. package/query-planner/semantic-literals.d.ts.map +1 -0
  227. package/query-planner/semantic-literals.js +133 -0
  228. package/query-planner/semantic-types.d.ts +265 -0
  229. package/query-planner/semantic-types.d.ts.map +1 -0
  230. package/query-planner/semantic-types.js +1 -0
  231. package/query-planner/semantic.d.ts +54 -0
  232. package/query-planner/semantic.d.ts.map +1 -0
  233. package/query-planner/semantic.js +1421 -0
  234. package/query-planner/types.d.ts +712 -0
  235. package/query-planner/types.d.ts.map +1 -0
  236. package/query-planner/types.js +49 -0
  237. package/query-planner/wfs-protocol-module.d.ts +57 -0
  238. package/query-planner/wfs-protocol-module.d.ts.map +1 -0
  239. package/query-planner/wfs-protocol-module.js +731 -0
  240. package/query-planner/wfs-semantic.d.ts +58 -0
  241. package/query-planner/wfs-semantic.d.ts.map +1 -0
  242. package/query-planner/wfs-semantic.js +547 -0
  243. package/query-planner/wfs-v1.d.ts +41 -0
  244. package/query-planner/wfs-v1.d.ts.map +1 -0
  245. package/query-planner/wfs-v1.js +366 -0
  246. package/query-planner/wfs.d.ts +4 -0
  247. package/query-planner/wfs.d.ts.map +1 -0
  248. package/query-planner/wfs.js +2 -0
  249. package/widget-capabilities.d.ts +67 -0
  250. package/widget-capabilities.js +152 -0
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,KAAK,qBAAqB,EAAmC,MAAM,eAAe,CAAC;AAE5F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,sBAAsB,CAAC;IACnC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,eAAe,EAAE,qBAAqB,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,mBAAwB;IAepD,sEAAsE;IAC/D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAM/D,sEAAsE;IAC/D,cAAc,IAAI,cAAc;IAI1B,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ5E,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAenF,yCAAyC,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAoBnE,qCAAqC,IAAI,OAAO;IAiBhD,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAY3E,yBAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;IA0BrD,YAAY,IAAI,IAAI;IAapB,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,KAAK,qBAAqB,EAAmC,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,sBAAsB,CAAC;IACnC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,eAAe,EAAE,qBAAqB,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;gBAEtC,OAAO,GAAE,mBAAwB;IAiBpD,4DAA4D;IAC5D,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,sEAAsE;IAC/D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAO/D,sEAAsE;IAC/D,cAAc,IAAI,cAAc;IAI1B,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ5E,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAenF,yCAAyC,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAoBnE,qCAAqC,IAAI,OAAO;IAiBhD,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAY3E,yBAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;IA0BrD,YAAY,IAAI,IAAI;IAapB,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,cAAc;CAUvB"}
@@ -1,5 +1,6 @@
1
1
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
2
2
  import { snappingOptionsToSnappingConfig } from "./snapping.js";
3
+ import { bindHonuaWidgetHost, pushWidgetHostState } from "./widget-host.js";
3
4
  export class EditorCompat {
4
5
  view;
5
6
  container;
@@ -13,6 +14,7 @@ export class EditorCompat {
13
14
  selectedFeature;
14
15
  snappingOptions;
15
16
  watchListeners;
17
+ widgetHost;
16
18
  constructor(options = {}) {
17
19
  this.view = options.view;
18
20
  this.container = options.container;
@@ -26,12 +28,19 @@ export class EditorCompat {
26
28
  this.selectedFeature = null;
27
29
  this.snappingOptions = { ...(options.snappingOptions ?? {}) };
28
30
  this.watchListeners = new Map();
31
+ this.widgetHost = bindHonuaWidgetHost("honua-editor", this.container, this.eventBus);
32
+ this.pushWidgetHost();
33
+ }
34
+ /** First configured layer, pushed into `<honua-editor>`. */
35
+ get layer() {
36
+ return this.layerInfos.find((info) => info.layer != null)?.layer;
29
37
  }
30
38
  /** Replace the ArcGIS-shaped snapping options and notify watchers. */
31
39
  setSnappingOptions(options) {
32
40
  this.snappingOptions = { ...options };
33
41
  this.notifyWatchers("snappingOptions", this.snappingOptions);
34
42
  this.eventBus.emit("editor.snapping-options-changed", { options: this.snappingOptions }, this);
43
+ this.pushWidgetHost();
35
44
  }
36
45
  /** The snapping options mapped onto the contract `SnappingConfig`. */
37
46
  snappingConfig() {
@@ -143,6 +152,13 @@ export class EditorCompat {
143
152
  destroy() {
144
153
  this.watchListeners.clear();
145
154
  }
155
+ pushWidgetHost() {
156
+ pushWidgetHostState(this.widgetHost, {
157
+ view: this.view,
158
+ layer: this.layer,
159
+ snappingOptions: this.snappingOptions,
160
+ });
161
+ }
146
162
  notifyWatchers(propertyName, value) {
147
163
  const listeners = this.watchListeners.get(propertyName);
148
164
  if (!listeners) {
@@ -1,3 +1,4 @@
1
+ import type { HonuaRequestInterceptor } from "../core/types.js";
1
2
  import { type EsriRequestInterceptorCompat } from "./request.js";
2
3
  export interface EsriConfigRequestCompat {
3
4
  timeout: number;
@@ -12,5 +13,5 @@ export interface EsriConfigCompat {
12
13
  }
13
14
  export declare const esriConfig: EsriConfigCompat;
14
15
  export declare function resetEsriConfig(): void;
15
- export declare function getEsriConfigHonuaInterceptors(): import("../honua.js").HonuaRequestInterceptor[];
16
+ export declare function getEsriConfigHonuaInterceptors(): HonuaRequestInterceptor[];
16
17
  //# sourceMappingURL=esri-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esri-config.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/esri-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAiC,MAAM,cAAc,CAAC;AAEhG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,4BAA4B,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAID,eAAO,MAAM,UAAU,EAAE,gBASxB,CAAC;AAEF,wBAAgB,eAAe,IAAI,IAAI,CAOtC;AAED,wBAAgB,8BAA8B,oDAE7C"}
1
+ {"version":3,"file":"esri-config.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/esri-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,4BAA4B,EAAiC,MAAM,cAAc,CAAC;AAEhG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,4BAA4B,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAID,eAAO,MAAM,UAAU,EAAE,gBASxB,CAAC;AAEF,wBAAgB,eAAe,IAAI,IAAI,CAOtC;AAED,wBAAgB,8BAA8B,IAAI,uBAAuB,EAAE,CAE1E"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ArcGIS `FeatureEffect` shim.
3
+ *
4
+ * Included features keep the layer symbol. `includedEffect` (bloom, and other
5
+ * CSS filter strings) is stored and is not a second paint pass. Excluded
6
+ * features are repainted from `excludedEffect`: `grayscale(...)` draws them
7
+ * gray, and `opacity(N%)` sets that gray's alpha. The filter `where` is the
8
+ * same clause an in-memory feature layer already evaluates.
9
+ */
10
+ export interface FeatureEffectCompatOptions {
11
+ filter?: unknown;
12
+ includedEffect?: string;
13
+ excludedEffect?: string;
14
+ excludedLabelsVisible?: boolean;
15
+ }
16
+ export declare class FeatureEffectCompat {
17
+ filter: unknown;
18
+ includedEffect: string | undefined;
19
+ excludedEffect: string | undefined;
20
+ excludedLabelsVisible: boolean;
21
+ constructor(options?: FeatureEffectCompatOptions);
22
+ }
23
+ //# sourceMappingURL=feature-effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-effect.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-effect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,mBAAmB;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,qBAAqB,EAAE,OAAO,CAAC;gBAEnB,OAAO,GAAE,0BAA+B;CAM5D"}
@@ -0,0 +1,12 @@
1
+ export class FeatureEffectCompat {
2
+ filter;
3
+ includedEffect;
4
+ excludedEffect;
5
+ excludedLabelsVisible;
6
+ constructor(options = {}) {
7
+ this.filter = options.filter;
8
+ this.includedEffect = options.includedEffect;
9
+ this.excludedEffect = options.excludedEffect;
10
+ this.excludedLabelsVisible = options.excludedLabelsVisible ?? true;
11
+ }
12
+ }
@@ -1,9 +1,11 @@
1
+ import { type FormExpressionResult } from "../widget-capabilities.js";
1
2
  import { CompatEventBus } from "./event-bus.js";
2
3
  export interface FeatureFormCompatOptions {
3
4
  view?: unknown;
4
5
  layer?: unknown;
5
6
  container?: unknown;
6
7
  feature?: unknown;
8
+ formTemplate?: unknown;
7
9
  fieldConfig?: readonly unknown[];
8
10
  groupDisplay?: string;
9
11
  headingLevel?: number;
@@ -35,17 +37,21 @@ export declare class FeatureFormCompat {
35
37
  loaded: boolean;
36
38
  loadStatus: FeatureFormLoadStatusCompat;
37
39
  feature: unknown;
40
+ formTemplate: unknown;
41
+ expressionResult: FormExpressionResult | undefined;
38
42
  fieldConfig: readonly unknown[];
39
43
  groupDisplay: string | undefined;
40
44
  headingLevel: number | undefined;
41
45
  visibleElements: unknown;
42
46
  validationFunction: FeatureFormValidationFn | undefined;
43
47
  private readonly watchListeners;
48
+ private readonly widgetHost;
44
49
  constructor(options?: FeatureFormCompatOptions);
45
50
  load(): Promise<FeatureFormCompat>;
46
51
  when(callback?: (widget: FeatureFormCompat) => void): Promise<FeatureFormCompat>;
47
52
  watch(propertyName: string, listener: (value: unknown) => void): FeatureFormHandleCompat;
48
53
  setFeature(feature: unknown): void;
54
+ private pushWidgetHost;
49
55
  submit(values?: Readonly<Record<string, unknown>>): Promise<FeatureFormSubmitResultCompat>;
50
56
  /**
51
57
  * Runs validation against the provided values (or empty object)
@@ -1 +1 @@
1
- {"version":3,"file":"feature-form.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-form.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-form.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { evaluateFormExpressions, } from "../widget-capabilities.js";
1
2
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
3
+ import { bindHonuaWidgetHost, pushWidgetHostState } from "./widget-host.js";
2
4
  export class FeatureFormCompat {
3
5
  view;
4
6
  layer;
@@ -7,12 +9,15 @@ export class FeatureFormCompat {
7
9
  loaded;
8
10
  loadStatus;
9
11
  feature;
12
+ formTemplate;
13
+ expressionResult;
10
14
  fieldConfig;
11
15
  groupDisplay;
12
16
  headingLevel;
13
17
  visibleElements;
14
18
  validationFunction;
15
19
  watchListeners;
20
+ widgetHost;
16
21
  constructor(options = {}) {
17
22
  this.view = options.view;
18
23
  this.layer = options.layer;
@@ -21,12 +26,16 @@ export class FeatureFormCompat {
21
26
  this.loaded = false;
22
27
  this.loadStatus = "not-loaded";
23
28
  this.feature = options.feature;
29
+ this.formTemplate = options.formTemplate;
24
30
  this.fieldConfig = options.fieldConfig ? [...options.fieldConfig] : [];
25
31
  this.groupDisplay = options.groupDisplay;
26
32
  this.headingLevel = options.headingLevel;
27
33
  this.visibleElements = options.visibleElements;
28
34
  this.validationFunction = options.validationFunction;
35
+ this.expressionResult = evaluateStoredForm(this.formTemplate, this.feature);
29
36
  this.watchListeners = new Map();
37
+ this.widgetHost = bindHonuaWidgetHost("honua-feature-editor", this.container, this.eventBus);
38
+ this.pushWidgetHost();
30
39
  }
31
40
  async load() {
32
41
  if (this.loaded) {
@@ -64,8 +73,19 @@ export class FeatureFormCompat {
64
73
  }
65
74
  setFeature(feature) {
66
75
  this.feature = feature;
76
+ this.expressionResult = evaluateStoredForm(this.formTemplate, this.feature);
67
77
  this.notifyWatchers("feature", this.feature);
78
+ this.notifyWatchers("expressionResult", this.expressionResult);
68
79
  this.eventBus.emit("feature-form.feature-changed", { feature }, this);
80
+ this.pushWidgetHost();
81
+ }
82
+ pushWidgetHost() {
83
+ pushWidgetHostState(this.widgetHost, {
84
+ feature: this.feature,
85
+ layer: this.layer,
86
+ formTemplate: this.formTemplate,
87
+ expressionResult: this.expressionResult,
88
+ });
69
89
  }
70
90
  async submit(values = {}) {
71
91
  const errors = this.validate(values);
@@ -135,3 +155,46 @@ export class FeatureFormCompat {
135
155
  }
136
156
  }
137
157
  }
158
+ function evaluateStoredForm(formTemplate, feature) {
159
+ return evaluateFormExpressions(formFields(formTemplate), { attributes: featureAttributes(feature) });
160
+ }
161
+ function featureAttributes(feature) {
162
+ if (!feature || typeof feature !== "object")
163
+ return {};
164
+ const attributes = feature.attributes;
165
+ return attributes && typeof attributes === "object" ? attributes : {};
166
+ }
167
+ function formFields(formTemplate) {
168
+ if (!formTemplate || typeof formTemplate !== "object")
169
+ return [];
170
+ const fields = formTemplate.fields;
171
+ if (!Array.isArray(fields))
172
+ return [];
173
+ return fields.flatMap((field) => {
174
+ if (!field || typeof field !== "object")
175
+ return [];
176
+ const record = field;
177
+ const name = typeof record.name === "string"
178
+ ? record.name
179
+ : typeof record.fieldName === "string"
180
+ ? record.fieldName
181
+ : undefined;
182
+ if (!name)
183
+ return [];
184
+ return [
185
+ {
186
+ name,
187
+ visibleExpression: expressionText(record.visibleExpression) ?? expressionText(record.visibilityExpression),
188
+ valueExpression: expressionText(record.valueExpression) ?? expressionText(record.valueExpressionInfo),
189
+ },
190
+ ];
191
+ });
192
+ }
193
+ function expressionText(value) {
194
+ if (typeof value === "string")
195
+ return value;
196
+ if (!value || typeof value !== "object")
197
+ return undefined;
198
+ const expression = value.expression;
199
+ return typeof expression === "string" ? expression : undefined;
200
+ }
@@ -1,11 +1,16 @@
1
1
  import { HonuaClient } from "../core/client.js";
2
2
  import type { HonuaAddAttachmentResponse, HonuaApplyEditsResponse, HonuaAttachmentListResponse, HonuaDeleteAttachmentsResponse, HonuaExtent, HonuaFeature, HonuaFieldInfo, HonuaQueryAttachmentsResponse, HonuaQueryResponse, HonuaRelatedRecordsResponse, HonuaUpdateAttachmentResponse, QueryMethod } from "../core/types.js";
3
+ import { applyToFeatures as applyFeatureEdits } from "../widget-capabilities.js";
3
4
  import { CompatEventBus } from "./event-bus.js";
4
5
  export interface FeatureLayerCompatOptions {
5
6
  /** Service layer URL. Omit when {@link source} holds the features in memory. */
6
7
  url?: string;
7
- /** In-memory graphics. When set without {@link url}, the layer does not call a service. */
8
- source?: readonly unknown[];
8
+ /**
9
+ * In-memory graphics. When set without {@link url}, the layer does not call
10
+ * a service. A non-iterable value such as `{}` is an empty client collection,
11
+ * which is how some ArcGIS apps start a layer before `applyEdits`.
12
+ */
13
+ source?: readonly unknown[] | object;
9
14
  fields?: readonly unknown[];
10
15
  objectIdField?: string;
11
16
  geometryType?: string;
@@ -23,6 +28,7 @@ export interface FeatureLayerCompatOptions {
23
28
  maxScale?: number;
24
29
  legendEnabled?: boolean;
25
30
  listMode?: string;
31
+ featureEffect?: unknown;
26
32
  maxAttachmentBytes?: number;
27
33
  client?: HonuaClient;
28
34
  eventBus?: CompatEventBus;
@@ -128,6 +134,7 @@ export declare class FeatureLayerCompat {
128
134
  definitionExpression: string | undefined;
129
135
  renderer: unknown;
130
136
  popupTemplate: unknown;
137
+ private featureEffectValue;
131
138
  labelingInfo: unknown[];
132
139
  labelsVisible: boolean;
133
140
  opacity: number;
@@ -151,6 +158,14 @@ export declare class FeatureLayerCompat {
151
158
  private readonly eventListeners;
152
159
  private readonly maxAttachmentBytes;
153
160
  constructor(options: FeatureLayerCompatOptions);
161
+ get featureEffect(): unknown;
162
+ set featureEffect(value: unknown);
163
+ /**
164
+ * Symbol the view should paint for one feature. A feature's own symbol wins.
165
+ * Otherwise the renderer supplies it, and an excluded feature effect replaces
166
+ * the color.
167
+ */
168
+ symbolForFeature(feature: unknown): unknown | undefined;
154
169
  load(): Promise<FeatureLayerCompat>;
155
170
  when(callback?: (layer: FeatureLayerCompat) => void): Promise<FeatureLayerCompat>;
156
171
  refresh(): void;
@@ -188,6 +203,10 @@ export declare class FeatureLayerCompat {
188
203
  queryFeatureCount(options?: FeatureLayerQueryCountOptions): Promise<number>;
189
204
  queryExtent(options?: FeatureLayerQueryCountOptions): Promise<FeatureLayerQueryExtentResult>;
190
205
  applyEdits(options: FeatureLayerEditsOptions): Promise<HonuaApplyEditsResponse>;
206
+ /** Applies one attribute change to each feature through {@link applyEdits}. A named edit error rejects that feature only. */
207
+ applyToFeatures(features: readonly {
208
+ attributes?: Record<string, unknown>;
209
+ }[], change: Record<string, unknown>): ReturnType<typeof applyFeatureEdits>;
191
210
  queryRelatedFeatures(options: FeatureLayerQueryRelatedFeaturesOptions): Promise<HonuaRelatedRecordsResponse>;
192
211
  queryRelatedRecords(options: FeatureLayerQueryRelatedFeaturesOptions): Promise<HonuaRelatedRecordsResponse>;
193
212
  queryAttachments(options?: FeatureLayerQueryAttachmentsOptions): Promise<HonuaQueryAttachmentsResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-layer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { HonuaClient } from "../core/client.js";
2
2
  import { HonuaCapabilityNotSupportedError } from "../core/errors.js";
3
3
  import { encodeServiceIdPath } from "../core/path-utils.js";
4
4
  import { responseExceededTransferLimit } from "../core/wire-shared.js";
5
+ import { applyToFeatures as applyFeatureEdits } from "../widget-capabilities.js";
5
6
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
6
7
  import { parseFeatureLayerUrl } from "./url.js";
7
8
  const DEFAULT_MAX_ATTACHMENT_BYTES = 25 * 1024 * 1024;
@@ -19,6 +20,7 @@ export class FeatureLayerCompat {
19
20
  definitionExpression;
20
21
  renderer;
21
22
  popupTemplate;
23
+ featureEffectValue;
22
24
  labelingInfo;
23
25
  labelsVisible;
24
26
  opacity;
@@ -42,7 +44,7 @@ export class FeatureLayerCompat {
42
44
  const inMemory = options.source !== undefined && options.url === undefined;
43
45
  const parsed = inMemory ? undefined : parseFeatureLayerUrl(options.url ?? "");
44
46
  this.url = options.url;
45
- this.source = options.source === undefined ? undefined : [...options.source];
47
+ this.source = normalizeFeatureSource(options.source);
46
48
  this.fields = options.fields === undefined ? undefined : [...options.fields];
47
49
  this.objectIdField = options.objectIdField;
48
50
  this.geometryType = options.geometryType;
@@ -58,6 +60,7 @@ export class FeatureLayerCompat {
58
60
  : [options.outFields];
59
61
  this.definitionExpression = options.definitionExpression;
60
62
  this.renderer = options.renderer;
63
+ this.featureEffectValue = options.featureEffect;
61
64
  this.popupTemplate = options.popupTemplate;
62
65
  this.labelingInfo = Array.isArray(options.labelingInfo)
63
66
  ? [...options.labelingInfo]
@@ -82,6 +85,31 @@ export class FeatureLayerCompat {
82
85
  this.eventListeners = new Map();
83
86
  this.maxAttachmentBytes = normalizeAttachmentSizeLimit(options.maxAttachmentBytes);
84
87
  }
88
+ get featureEffect() {
89
+ return this.featureEffectValue;
90
+ }
91
+ set featureEffect(value) {
92
+ this.featureEffectValue = value;
93
+ this.notifyWatchers("featureEffect", value);
94
+ this.eventBus.emit("feature-layer.feature-effect-changed", { featureEffect: value }, this);
95
+ }
96
+ /**
97
+ * Symbol the view should paint for one feature. A feature's own symbol wins.
98
+ * Otherwise the renderer supplies it, and an excluded feature effect replaces
99
+ * the color.
100
+ */
101
+ symbolForFeature(feature) {
102
+ if (feature && typeof feature === "object" && feature.symbol) {
103
+ return feature.symbol;
104
+ }
105
+ const base = symbolFromRenderer(this.renderer, feature);
106
+ const where = effectWhere(this.featureEffectValue);
107
+ const excludedEffect = effectString(this.featureEffectValue, "excludedEffect");
108
+ if (where && !featureMatchesWhere(feature, where) && excludedEffect) {
109
+ return excludedSymbol(base, excludedEffect);
110
+ }
111
+ return base;
112
+ }
85
113
  async load() {
86
114
  if (!this.loaded) {
87
115
  this.loadStatus = "loading";
@@ -496,6 +524,18 @@ export class FeatureLayerCompat {
496
524
  this.eventBus.emit("feature-layer.edits", { result, layerId: this.id }, this);
497
525
  return result;
498
526
  }
527
+ /** Applies one attribute change to each feature through {@link applyEdits}. A named edit error rejects that feature only. */
528
+ applyToFeatures(features, change) {
529
+ return applyFeatureEdits(features, change, async (edit) => {
530
+ const result = await this.applyEdits({ updates: [edit.update] });
531
+ const updates = result.updateFeatureResults ?? result.updateResults ?? [];
532
+ const failed = updates.find((item) => item.success === false || item.error);
533
+ if (!failed)
534
+ return {};
535
+ const reason = failed.error?.description ?? "rejected";
536
+ return { error: reason, reason };
537
+ });
538
+ }
499
539
  queryRelatedFeatures(options) {
500
540
  return this.client.queryRelatedRecords({
501
541
  serviceId: this.serviceId,
@@ -814,6 +854,137 @@ function copyToArrayBuffer(chunk) {
814
854
  copy.set(chunk);
815
855
  return copy.buffer;
816
856
  }
857
+ function normalizeFeatureSource(source) {
858
+ if (source === undefined) {
859
+ return undefined;
860
+ }
861
+ if (Array.isArray(source)) {
862
+ return [...source];
863
+ }
864
+ if (source && typeof source === "object") {
865
+ const record = source;
866
+ if (typeof record.toArray === "function") {
867
+ const items = record.toArray();
868
+ return Array.isArray(items) ? [...items] : [];
869
+ }
870
+ if (Array.isArray(record.items)) {
871
+ return [...record.items];
872
+ }
873
+ if (typeof record.length === "number" && Number.isFinite(record.length)) {
874
+ return Array.from(source);
875
+ }
876
+ }
877
+ return [];
878
+ }
879
+ function symbolFromRenderer(renderer, feature) {
880
+ if (!renderer || typeof renderer !== "object") {
881
+ return undefined;
882
+ }
883
+ const record = renderer;
884
+ const type = typeof record.type === "string" ? record.type : record.symbol ? "simple" : "";
885
+ if (type === "simple") {
886
+ return record.symbol;
887
+ }
888
+ if (type === "unique-value" && Array.isArray(record.uniqueValueInfos)) {
889
+ const field = typeof record.field === "string" ? record.field : undefined;
890
+ const value = field ? featureAttributes(feature)[field] : undefined;
891
+ for (const info of record.uniqueValueInfos) {
892
+ if (!info || typeof info !== "object") {
893
+ continue;
894
+ }
895
+ const entry = info;
896
+ if (entry.value === value || String(entry.value) === String(value)) {
897
+ return entry.symbol ?? record.defaultSymbol;
898
+ }
899
+ }
900
+ return record.defaultSymbol ?? record.symbol;
901
+ }
902
+ if (type === "class-breaks" && Array.isArray(record.classBreakInfos)) {
903
+ const field = typeof record.field === "string" ? record.field : undefined;
904
+ const raw = field ? featureAttributes(feature)[field] : undefined;
905
+ const value = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : Number.NaN;
906
+ if (!Number.isFinite(value)) {
907
+ return record.defaultSymbol ?? record.symbol;
908
+ }
909
+ for (const info of record.classBreakInfos) {
910
+ if (!info || typeof info !== "object") {
911
+ continue;
912
+ }
913
+ const entry = info;
914
+ const min = typeof entry.minValue === "number" ? entry.minValue : Number.NEGATIVE_INFINITY;
915
+ const max = typeof entry.maxValue === "number" ? entry.maxValue : Number.POSITIVE_INFINITY;
916
+ if (value >= min && value <= max) {
917
+ return entry.symbol ?? record.defaultSymbol;
918
+ }
919
+ }
920
+ return record.defaultSymbol ?? record.symbol;
921
+ }
922
+ return record.symbol;
923
+ }
924
+ function effectWhere(effect) {
925
+ if (!effect || typeof effect !== "object") {
926
+ return undefined;
927
+ }
928
+ const filter = effect.filter;
929
+ if (!filter || typeof filter !== "object") {
930
+ return undefined;
931
+ }
932
+ const where = filter.where;
933
+ return typeof where === "string" ? where : undefined;
934
+ }
935
+ function effectString(effect, key) {
936
+ if (!effect || typeof effect !== "object") {
937
+ return undefined;
938
+ }
939
+ const value = effect[key];
940
+ return typeof value === "string" && value.length > 0 ? value : undefined;
941
+ }
942
+ function excludedSymbol(base, excludedEffect) {
943
+ const opacity = opacityFromEffect(excludedEffect);
944
+ const grayscale = /grayscale\(/i.test(excludedEffect);
945
+ const alpha = Math.round((opacity ?? 1) * 255);
946
+ const color = grayscale || opacity !== undefined ? [158, 158, 158, alpha] : undefined;
947
+ if (!color) {
948
+ return base;
949
+ }
950
+ if (grayscale) {
951
+ const symbol = base && typeof base === "object" ? { ...base } : { type: "simple-marker", size: 12 };
952
+ return { ...symbol, color: [158, 158, 158, alpha] };
953
+ }
954
+ const rgb = rgbFromColor(base && typeof base === "object" ? base.color : undefined);
955
+ const next = rgb ? [rgb[0], rgb[1], rgb[2], alpha] : [158, 158, 158, alpha];
956
+ const symbol = base && typeof base === "object" ? { ...base } : { type: "simple-marker", size: 12 };
957
+ return { ...symbol, color: next };
958
+ }
959
+ function opacityFromEffect(effect) {
960
+ const match = /opacity\(\s*(\d+(?:\.\d+)?)\s*(%?)\s*\)/i.exec(effect);
961
+ if (!match) {
962
+ return undefined;
963
+ }
964
+ const amount = Number(match[1]);
965
+ if (!Number.isFinite(amount)) {
966
+ return undefined;
967
+ }
968
+ const ratio = match[2] === "%" || amount > 1 ? amount / 100 : amount;
969
+ return Math.min(1, Math.max(0, ratio));
970
+ }
971
+ function rgbFromColor(value) {
972
+ if (Array.isArray(value) && value.length >= 3 && value.every((part) => typeof part === "number")) {
973
+ return [value[0], value[1], value[2]];
974
+ }
975
+ if (typeof value !== "string") {
976
+ return undefined;
977
+ }
978
+ const hex = /^#?([0-9a-f]{6})$/i.exec(value.trim());
979
+ if (!hex?.[1]) {
980
+ return undefined;
981
+ }
982
+ return [
983
+ Number.parseInt(hex[1].slice(0, 2), 16),
984
+ Number.parseInt(hex[1].slice(2, 4), 16),
985
+ Number.parseInt(hex[1].slice(4, 6), 16),
986
+ ];
987
+ }
817
988
  function featureAttributes(feature) {
818
989
  if (!feature || typeof feature !== "object") {
819
990
  return {};
@@ -103,8 +103,11 @@ export declare class FeatureTableCompat {
103
103
  private readonly watchListeners;
104
104
  private refreshRevision;
105
105
  private layerInternal;
106
+ private readonly widgetHost;
106
107
  get size(): number;
107
108
  get layer(): FeatureLayerCompat | undefined;
109
+ /** Field names the host pushes into `<honua-feature-table>`. */
110
+ get visibleFields(): readonly string[];
108
111
  set layer(layer: FeatureLayerCompat | undefined);
109
112
  get loaded(): boolean;
110
113
  constructor(options?: FeatureTableCompatOptions);
@@ -113,6 +116,7 @@ export declare class FeatureTableCompat {
113
116
  watch(propertyName: string, listener: (value: unknown) => void): FeatureTableHandleCompat;
114
117
  refresh(): Promise<readonly FeatureTableRowCompat[]>;
115
118
  setLayer(layer: FeatureLayerCompat | undefined): void;
119
+ setVisibleFields(fields: readonly string[]): void;
116
120
  setWhere(where: string): void;
117
121
  setFilterGeometry(filterGeometry: Record<string, unknown> | null): void;
118
122
  selectRows(objectIds: readonly number[]): void;
@@ -135,6 +139,7 @@ export declare class FeatureTableCompat {
135
139
  findRowByObjectId(objectId: number): FeatureTableRowCompat | undefined;
136
140
  destroy(): void;
137
141
  queryRelatedRecords(options: FeatureTableQueryRelatedRecordsOptions): Promise<HonuaRelatedRecordsResponse>;
142
+ private pushWidgetHost;
138
143
  private notifyWatchers;
139
144
  private nextRefreshRevision;
140
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-table.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-table.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-table.ts"],"names":[],"mappings":"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"}