@honua/app-platform 0.1.7-beta.0 → 0.1.10-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/control-plane/admin-client.d.ts +89 -0
  2. package/control-plane/admin-client.d.ts.map +1 -0
  3. package/control-plane/admin-client.js +200 -0
  4. package/control-plane/client.d.ts +1 -1
  5. package/control-plane/client.d.ts.map +1 -1
  6. package/control-plane/client.js +145 -11
  7. package/control-plane/commands/catalog.d.ts +133 -0
  8. package/control-plane/commands/catalog.d.ts.map +1 -0
  9. package/control-plane/commands/catalog.js +365 -0
  10. package/control-plane/commands/errors.d.ts +96 -0
  11. package/control-plane/commands/errors.d.ts.map +1 -0
  12. package/control-plane/commands/errors.js +130 -0
  13. package/control-plane/commands/identity.d.ts +71 -0
  14. package/control-plane/commands/identity.d.ts.map +1 -0
  15. package/control-plane/commands/identity.js +0 -0
  16. package/control-plane/commands/index.d.ts +39 -0
  17. package/control-plane/commands/index.d.ts.map +1 -0
  18. package/control-plane/commands/index.js +34 -0
  19. package/control-plane/commands/runtime.d.ts +146 -0
  20. package/control-plane/commands/runtime.d.ts.map +1 -0
  21. package/control-plane/commands/runtime.js +330 -0
  22. package/control-plane/commands/types.d.ts +228 -0
  23. package/control-plane/commands/types.d.ts.map +1 -0
  24. package/control-plane/commands/types.js +30 -0
  25. package/control-plane/commands/validate.d.ts +27 -0
  26. package/control-plane/commands/validate.d.ts.map +1 -0
  27. package/control-plane/commands/validate.js +132 -0
  28. package/control-plane/generated/admin-api.d.ts +30265 -0
  29. package/control-plane/generated/admin-api.d.ts.map +1 -0
  30. package/control-plane/generated/admin-api.js +5 -0
  31. package/control-plane/generated/admin-operations.d.ts +4053 -0
  32. package/control-plane/generated/admin-operations.d.ts.map +1 -0
  33. package/control-plane/generated/admin-operations.js +820 -0
  34. package/control-plane/index.d.ts +11 -0
  35. package/control-plane/index.d.ts.map +1 -1
  36. package/control-plane/index.js +8 -0
  37. package/control-plane/types.d.ts +14 -0
  38. package/control-plane/types.d.ts.map +1 -1
  39. package/controls/catalog.d.ts.map +1 -1
  40. package/controls/catalog.js +12 -1
  41. package/controls/qualification.d.ts.map +1 -1
  42. package/controls/qualification.js +71 -8
  43. package/core/client.d.ts.map +1 -1
  44. package/core/client.js +29 -31
  45. package/core/credential-redaction.d.ts +163 -0
  46. package/core/credential-redaction.d.ts.map +1 -0
  47. package/core/credential-redaction.js +389 -0
  48. package/core/error-classifications.d.ts +15 -0
  49. package/core/error-classifications.d.ts.map +1 -1
  50. package/core/error-classifications.js +15 -0
  51. package/core/error-code-registry.d.ts +15 -0
  52. package/core/error-code-registry.d.ts.map +1 -1
  53. package/core/error-code-registry.js +15 -0
  54. package/core/error-envelope.d.ts +31 -0
  55. package/core/error-envelope.d.ts.map +1 -1
  56. package/core/error-envelope.js +11 -0
  57. package/core/errors.d.ts +15 -3
  58. package/core/errors.d.ts.map +1 -1
  59. package/core/errors.js +254 -2
  60. package/core/geometry-input-sr.d.ts +3 -0
  61. package/core/geometry-input-sr.d.ts.map +1 -0
  62. package/core/geometry-input-sr.js +28 -0
  63. package/core/geoservices.d.ts.map +1 -1
  64. package/core/geoservices.js +33 -6
  65. package/core/grpc-adapter.d.ts +2 -2
  66. package/core/grpc-adapter.d.ts.map +1 -1
  67. package/core/grpc-adapter.js +41 -9
  68. package/core/job-run-errors.d.ts +10 -0
  69. package/core/job-run-errors.d.ts.map +1 -0
  70. package/core/job-run-errors.js +14 -0
  71. package/core/job-run-lifecycle.d.ts +34 -0
  72. package/core/job-run-lifecycle.d.ts.map +1 -0
  73. package/core/job-run-lifecycle.js +193 -0
  74. package/core/ogc-processes.d.ts +38 -31
  75. package/core/ogc-processes.d.ts.map +1 -1
  76. package/core/ogc-processes.js +123 -173
  77. package/core/pbf-decoder.d.ts.map +1 -1
  78. package/core/pbf-decoder.js +16 -4
  79. package/core/process-runner.js +15 -100
  80. package/core/protocol-transport.d.ts +6 -1
  81. package/core/protocol-transport.d.ts.map +1 -1
  82. package/core/request-pipeline.d.ts +6 -3
  83. package/core/request-pipeline.d.ts.map +1 -1
  84. package/core/request-pipeline.js +28 -11
  85. package/core/spatial-filter.d.ts +4 -4
  86. package/core/spatial-filter.d.ts.map +1 -1
  87. package/core/spatial-filter.js +7 -7
  88. package/core/surfaces.d.ts +2 -8
  89. package/core/surfaces.d.ts.map +1 -1
  90. package/core/surfaces.js +21 -112
  91. package/core/types.d.ts +21 -9
  92. package/core/types.d.ts.map +1 -1
  93. package/custom-elements.json +341 -0
  94. package/esri-compat/class-breaks-renderer.d.ts +2 -0
  95. package/esri-compat/class-breaks-renderer.d.ts.map +1 -1
  96. package/esri-compat/class-breaks-renderer.js +7 -0
  97. package/esri-compat/controls.d.ts +10 -1
  98. package/esri-compat/controls.d.ts.map +1 -1
  99. package/esri-compat/controls.js +86 -2
  100. package/esri-compat/directions.d.ts +35 -0
  101. package/esri-compat/directions.d.ts.map +1 -1
  102. package/esri-compat/directions.js +153 -2
  103. package/esri-compat/expand.d.ts +1 -0
  104. package/esri-compat/expand.d.ts.map +1 -1
  105. package/esri-compat/expand.js +61 -0
  106. package/esri-compat/feature-layer.d.ts +29 -4
  107. package/esri-compat/feature-layer.d.ts.map +1 -1
  108. package/esri-compat/feature-layer.js +335 -13
  109. package/esri-compat/geometry-engine.d.ts +4 -0
  110. package/esri-compat/geometry-engine.d.ts.map +1 -1
  111. package/esri-compat/geometry-engine.js +8 -1
  112. package/esri-compat/graphic.d.ts +7 -4
  113. package/esri-compat/graphic.d.ts.map +1 -1
  114. package/esri-compat/legend.d.ts +2 -1
  115. package/esri-compat/legend.d.ts.map +1 -1
  116. package/esri-compat/legend.js +15 -0
  117. package/esri-compat/map-view-mount.d.ts +48 -0
  118. package/esri-compat/map-view-mount.d.ts.map +1 -0
  119. package/esri-compat/map-view-mount.js +344 -0
  120. package/esri-compat/map-view.d.ts +38 -6
  121. package/esri-compat/map-view.d.ts.map +1 -1
  122. package/esri-compat/map-view.js +467 -33
  123. package/esri-compat/portal.d.ts +2 -0
  124. package/esri-compat/portal.d.ts.map +1 -1
  125. package/esri-compat/portal.js +7 -2
  126. package/esri-compat/renderer-objects.d.ts +7 -2
  127. package/esri-compat/renderer-objects.d.ts.map +1 -1
  128. package/esri-compat/renderer-objects.js +16 -5
  129. package/esri-compat/route-layer.d.ts +8 -0
  130. package/esri-compat/route-layer.d.ts.map +1 -1
  131. package/esri-compat/route-layer.js +24 -4
  132. package/esri-compat/route-task.d.ts +5 -1
  133. package/esri-compat/route-task.d.ts.map +1 -1
  134. package/esri-compat/route-task.js +119 -7
  135. package/esri-compat/scene-view.d.ts.map +1 -1
  136. package/esri-compat/scene-view.js +1 -0
  137. package/esri-compat/search.d.ts +2 -1
  138. package/esri-compat/search.d.ts.map +1 -1
  139. package/esri-compat/search.js +52 -2
  140. package/esri-compat/unique-value-renderer.d.ts +2 -0
  141. package/esri-compat/unique-value-renderer.d.ts.map +1 -1
  142. package/esri-compat/unique-value-renderer.js +7 -0
  143. package/esri-compat/web-map.d.ts +10 -0
  144. package/esri-compat/web-map.d.ts.map +1 -1
  145. package/esri-compat/web-map.js +102 -0
  146. package/gen/geospatial/v1/common_pb.d.ts +514 -0
  147. package/gen/geospatial/v1/common_pb.d.ts.map +1 -0
  148. package/gen/geospatial/v1/common_pb.js +335 -0
  149. package/gen/geospatial/v1/execution_types_pb.d.ts +1186 -0
  150. package/gen/geospatial/v1/execution_types_pb.d.ts.map +1 -0
  151. package/gen/geospatial/v1/execution_types_pb.js +396 -0
  152. package/gen/geospatial/v1/feature_service_pb.d.ts +403 -0
  153. package/gen/geospatial/v1/feature_service_pb.d.ts.map +1 -0
  154. package/gen/geospatial/v1/feature_service_pb.js +47 -0
  155. package/gen/geospatial/v1/index.d.ts +5 -0
  156. package/gen/geospatial/v1/index.d.ts.map +1 -0
  157. package/gen/geospatial/v1/index.js +9 -0
  158. package/gen/geospatial/v1/spatial_types_pb.d.ts +285 -0
  159. package/gen/geospatial/v1/spatial_types_pb.d.ts.map +1 -0
  160. package/gen/geospatial/v1/spatial_types_pb.js +58 -0
  161. package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts +379 -0
  162. package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts.map +1 -0
  163. package/gen/geospatial/v1/workspace_artifact_types_pb.js +151 -0
  164. package/generated-app/projection.d.ts.map +1 -1
  165. package/generated-app/projection.js +10 -1
  166. package/geocoding/index.d.ts +1 -0
  167. package/geocoding/index.d.ts.map +1 -1
  168. package/geocoding/index.js +18 -8
  169. package/geocoding/provider-http.d.ts.map +1 -1
  170. package/geocoding/provider-http.js +3 -1
  171. package/map/webmap-maplibre.d.ts +2 -1
  172. package/map/webmap-maplibre.d.ts.map +1 -1
  173. package/map/webmap-maplibre.js +3 -0
  174. package/operate/client.d.ts +11 -1
  175. package/operate/client.d.ts.map +1 -1
  176. package/operate/client.js +39 -2
  177. package/operate/index.d.ts +1 -1
  178. package/operate/index.d.ts.map +1 -1
  179. package/operate/types.d.ts +40 -6
  180. package/operate/types.d.ts.map +1 -1
  181. package/package.json +6 -4
  182. package/query-planner/geoservices.d.ts.map +1 -1
  183. package/query-planner/geoservices.js +2 -0
  184. package/query-planner/grpc.d.ts +4 -4
  185. package/query-planner/grpc.d.ts.map +1 -1
  186. package/query-planner/grpc.js +11 -11
  187. package/query-planner/types.d.ts +6 -4
  188. package/query-planner/types.d.ts.map +1 -1
  189. package/realtime/honua-server.d.ts +4 -0
  190. package/realtime/honua-server.d.ts.map +1 -1
  191. package/realtime/honua-server.js +10 -0
  192. package/realtime/resumable.js +9 -0
  193. package/realtime/types.d.ts +8 -0
  194. package/realtime/types.d.ts.map +1 -1
  195. package/runtime/errors.d.ts +1 -1
  196. package/runtime/errors.d.ts.map +1 -1
  197. package/runtime/errors.js +2 -0
  198. package/runtime/generated/map-package-schema-meta.d.ts +11 -0
  199. package/runtime/generated/map-package-schema-meta.d.ts.map +1 -0
  200. package/runtime/generated/map-package-schema-meta.js +12 -0
  201. package/runtime/generated/map-package-schema-validator.d.ts +16 -0
  202. package/runtime/generated/map-package-schema-validator.d.ts.map +1 -0
  203. package/runtime/generated/map-package-schema-validator.js +1422 -0
  204. package/runtime/index.d.ts +5 -1
  205. package/runtime/index.d.ts.map +1 -1
  206. package/runtime/index.js +6 -0
  207. package/runtime/map-package-export.d.ts +151 -0
  208. package/runtime/map-package-export.d.ts.map +1 -0
  209. package/runtime/map-package-export.js +636 -0
  210. package/runtime/map-package-validation.d.ts +21 -1
  211. package/runtime/map-package-validation.d.ts.map +1 -1
  212. package/runtime/map-package-validation.js +132 -95
  213. package/runtime/map-package.d.ts +80 -0
  214. package/runtime/map-package.d.ts.map +1 -1
  215. package/scene-workspace/cesium-adapter.d.ts +8 -8
  216. package/scene-workspace/cesium-adapter.d.ts.map +1 -1
  217. package/scene-workspace/cesium-adapter.js +31 -18
  218. package/scene-workspace/index.d.ts +2 -2
  219. package/scene-workspace/index.d.ts.map +1 -1
  220. package/scene-workspace/index.js +1 -1
  221. package/scene-workspace/maplibre-state-sync.d.ts.map +1 -1
  222. package/scene-workspace/maplibre-state-sync.js +35 -3
  223. package/scene-workspace/primitives.d.ts +37 -5
  224. package/scene-workspace/primitives.d.ts.map +1 -1
  225. package/scene-workspace/primitives.js +55 -18
  226. package/scene-workspace/source-to-cesium.js +1 -1
  227. package/scene-workspace/state-sync-port-kit.d.ts +1 -1
  228. package/scene-workspace/state-sync-port-kit.d.ts.map +1 -1
  229. package/studio/capability-manifest.d.ts +10 -0
  230. package/studio/capability-manifest.d.ts.map +1 -1
  231. package/studio/capability-manifest.js +38 -0
  232. package/studio/chart-spec.d.ts +6 -6
  233. package/studio/chart-spec.d.ts.map +1 -1
  234. package/studio/chart-spec.js +6 -6
  235. package/studio/command-adapter.d.ts +35 -0
  236. package/studio/command-adapter.d.ts.map +1 -0
  237. package/studio/command-adapter.js +36 -0
  238. package/studio/generated/studio-api.d.ts +1062 -0
  239. package/studio/generated/studio-api.d.ts.map +1 -0
  240. package/studio/generated/studio-api.js +4 -0
  241. package/studio/index.d.ts +25 -13
  242. package/studio/index.d.ts.map +1 -1
  243. package/studio/index.js +21 -10
  244. package/studio/lifecycle-client.d.ts +262 -22
  245. package/studio/lifecycle-client.d.ts.map +1 -1
  246. package/studio/lifecycle-client.js +543 -24
  247. package/studio/lifecycle-errors.d.ts +8 -2
  248. package/studio/lifecycle-errors.d.ts.map +1 -1
  249. package/studio/lifecycle-errors.js +6 -1
  250. package/studio/lifecycle-types.d.ts +237 -38
  251. package/studio/lifecycle-types.d.ts.map +1 -1
  252. package/studio/lifecycle-types.js +5 -12
  253. package/studio/publication-status.d.ts +55 -0
  254. package/studio/publication-status.d.ts.map +1 -0
  255. package/studio/publication-status.js +103 -0
  256. package/studio/types.d.ts +37 -7
  257. package/studio/types.d.ts.map +1 -1
  258. package/studio/types.js +5 -3
  259. package/studio/validate.d.ts.map +1 -1
  260. package/studio/validate.js +104 -7
  261. package/style/renderers.d.ts +6 -1
  262. package/style/renderers.d.ts.map +1 -1
  263. package/style/renderers.js +11 -6
  264. package/style/visual-variables.d.ts +43 -0
  265. package/style/visual-variables.d.ts.map +1 -0
  266. package/style/visual-variables.js +183 -0
  267. package/web-components/application-context.d.ts +186 -0
  268. package/web-components/application-context.d.ts.map +1 -0
  269. package/web-components/application-context.js +429 -0
  270. package/web-components/elements.d.ts +10 -1
  271. package/web-components/elements.d.ts.map +1 -1
  272. package/web-components/elements.js +187 -7
  273. package/web-components/export-redaction.d.ts +11 -102
  274. package/web-components/export-redaction.d.ts.map +1 -1
  275. package/web-components/export-redaction.js +7 -260
  276. package/web-components/feature-editor-offline.d.ts +32 -0
  277. package/web-components/feature-editor-offline.d.ts.map +1 -0
  278. package/web-components/feature-editor-offline.js +115 -0
  279. package/web-components/feature-editor-workflow.d.ts +85 -22
  280. package/web-components/feature-editor-workflow.d.ts.map +1 -1
  281. package/web-components/feature-editor-workflow.js +240 -0
  282. package/web-components/feature-editor.d.ts +20 -6
  283. package/web-components/feature-editor.d.ts.map +1 -1
  284. package/web-components/feature-editor.js +159 -7
  285. package/web-components/feature-inspection.d.ts +287 -0
  286. package/web-components/feature-inspection.d.ts.map +1 -0
  287. package/web-components/feature-inspection.js +1464 -0
  288. package/web-components/feature-mutation.d.ts +77 -0
  289. package/web-components/feature-mutation.d.ts.map +1 -0
  290. package/web-components/feature-mutation.js +137 -0
  291. package/web-components/feature-table-engine.d.ts +94 -4
  292. package/web-components/feature-table-engine.d.ts.map +1 -1
  293. package/web-components/feature-table-engine.js +365 -18
  294. package/web-components/feature-table-view.d.ts +35 -1
  295. package/web-components/feature-table-view.d.ts.map +1 -1
  296. package/web-components/feature-table-view.js +128 -12
  297. package/web-components/index.d.ts +16 -7
  298. package/web-components/index.d.ts.map +1 -1
  299. package/web-components/index.js +9 -2
  300. package/web-components/map-pointer-claim.d.ts +24 -0
  301. package/web-components/map-pointer-claim.d.ts.map +1 -0
  302. package/web-components/map-pointer-claim.js +40 -0
  303. package/web-components/maplibre-renderer.d.ts.map +1 -1
  304. package/web-components/maplibre-renderer.js +5 -1
  305. package/web-components/measurement-units.d.ts +88 -0
  306. package/web-components/measurement-units.d.ts.map +1 -0
  307. package/web-components/measurement-units.js +278 -0
  308. package/web-components/measurement.d.ts +75 -4
  309. package/web-components/measurement.d.ts.map +1 -1
  310. package/web-components/measurement.js +227 -28
  311. package/web-components/types.d.ts +58 -3
  312. package/web-components/types.d.ts.map +1 -1
  313. package/webmap/convert-layer.d.ts +2 -1
  314. package/webmap/convert-layer.d.ts.map +1 -1
  315. package/webmap/convert-layer.js +20 -3
  316. package/webmap/convert-renderer.d.ts +10 -3
  317. package/webmap/convert-renderer.d.ts.map +1 -1
  318. package/webmap/convert-renderer.js +190 -36
  319. package/webmap/index.d.ts +1 -0
  320. package/webmap/index.d.ts.map +1 -1
  321. package/webmap/parse.d.ts +2 -1
  322. package/webmap/parse.d.ts.map +1 -1
  323. package/webmap/parse.js +1 -1
  324. package/gen/honua/v1/feature_service_pb.d.ts +0 -918
  325. package/gen/honua/v1/feature_service_pb.d.ts.map +0 -1
  326. package/gen/honua/v1/feature_service_pb.js +0 -375
@@ -11,8 +11,11 @@
11
11
  * @module
12
12
  */
13
13
  import type { ClassBreaksRenderer, UniqueValueRenderer } from "../style/renderers.js";
14
+ import type { RendererConversionOptions } from "../style/visual-variables.js";
15
+ import { type RendererConversionResult } from "../webmap/convert-renderer.js";
14
16
  import type { WarningCollector } from "../webmap/warnings.js";
15
17
  import type { ClassBreaksRendererCompat } from "./class-breaks-renderer.js";
18
+ import type { SimpleRendererCompat } from "./simple-renderer.js";
16
19
  import type { UniqueValueRendererCompat } from "./unique-value-renderer.js";
17
20
  /** Result of projecting a compat renderer to a renderer object. @experimental */
18
21
  export interface CompatRendererProjection<R> {
@@ -29,12 +32,14 @@ export interface CompatRendererProjection<R> {
29
32
  *
30
33
  * @experimental
31
34
  */
32
- export declare function rendererObjectFromClassBreaksCompat(compat: ClassBreaksRendererCompat): CompatRendererProjection<ClassBreaksRenderer>;
35
+ export declare function rendererObjectFromClassBreaksCompat(compat: ClassBreaksRendererCompat, options?: RendererConversionOptions): CompatRendererProjection<ClassBreaksRenderer>;
33
36
  /**
34
37
  * Emit a first-class {@link UniqueValueRenderer} from a
35
38
  * `UniqueValueRendererCompat` shim.
36
39
  *
37
40
  * @experimental
38
41
  */
39
- export declare function rendererObjectFromUniqueValueCompat(compat: UniqueValueRendererCompat): CompatRendererProjection<UniqueValueRenderer>;
42
+ export declare function rendererObjectFromUniqueValueCompat(compat: UniqueValueRendererCompat, options?: RendererConversionOptions): CompatRendererProjection<UniqueValueRenderer>;
43
+ /** Convert a simple compatibility renderer with the shared WebMap compiler. */
44
+ export declare function convertSimpleRendererCompat(compat: SimpleRendererCompat, options?: RendererConversionOptions): CompatRendererProjection<RendererConversionResult>;
40
45
  //# sourceMappingURL=renderer-objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-objects.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/renderer-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,iFAAiF;AACjF,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,GAChC,wBAAwB,CAAC,mBAAmB,CAAC,CAmB/C;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,GAChC,wBAAwB,CAAC,mBAAmB,CAAC,CAmB/C"}
1
+ {"version":3,"file":"renderer-objects.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/renderer-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EACL,KAAK,wBAAwB,EAI9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,iFAAiF;AACjF,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAAC,mBAAmB,CAAC,CAwB/C;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAAC,mBAAmB,CAAC,CAqB/C;AAED,+EAA+E;AAC/E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAAC,wBAAwB,CAAC,CAQpD"}
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @module
12
12
  */
13
- import { classBreaksRendererFromWebMap, uniqueValueRendererFromWebMap } from "../webmap/convert-renderer.js";
13
+ import { classBreaksRendererFromWebMap, convertRenderer, uniqueValueRendererFromWebMap, } from "../webmap/convert-renderer.js";
14
14
  import { createWarningCollector } from "../webmap/warnings.js";
15
15
  /**
16
16
  * Emit a first-class {@link ClassBreaksRenderer} from a
@@ -20,10 +20,14 @@ import { createWarningCollector } from "../webmap/warnings.js";
20
20
  *
21
21
  * @experimental
22
22
  */
23
- export function rendererObjectFromClassBreaksCompat(compat) {
23
+ export function rendererObjectFromClassBreaksCompat(compat, options = {}) {
24
24
  const warn = createWarningCollector();
25
25
  const renderer = classBreaksRendererFromWebMap({
26
26
  type: "classBreaks",
27
+ visualVariables: compat.visualVariables,
28
+ valueExpression: compat.valueExpression,
29
+ normalizationField: compat.normalizationField,
30
+ normalizationTotal: compat.normalizationTotal,
27
31
  field: compat.field,
28
32
  minValue: compat.minValue,
29
33
  defaultSymbol: compat.defaultSymbol,
@@ -34,7 +38,7 @@ export function rendererObjectFromClassBreaksCompat(compat) {
34
38
  label: info.label,
35
39
  symbol: info.symbol,
36
40
  })),
37
- }, warn);
41
+ }, warn, options);
38
42
  return { renderer, warnings: warn.warnings };
39
43
  }
40
44
  /**
@@ -43,10 +47,11 @@ export function rendererObjectFromClassBreaksCompat(compat) {
43
47
  *
44
48
  * @experimental
45
49
  */
46
- export function rendererObjectFromUniqueValueCompat(compat) {
50
+ export function rendererObjectFromUniqueValueCompat(compat, options = {}) {
47
51
  const warn = createWarningCollector();
48
52
  const renderer = uniqueValueRendererFromWebMap({
49
53
  type: "uniqueValue",
54
+ visualVariables: compat.visualVariables,
50
55
  field1: compat.field,
51
56
  field2: compat.field2,
52
57
  field3: compat.field3,
@@ -57,6 +62,12 @@ export function rendererObjectFromUniqueValueCompat(compat) {
57
62
  label: info.label,
58
63
  symbol: info.symbol,
59
64
  })),
60
- }, warn);
65
+ }, warn, options);
66
+ return { renderer, warnings: warn.warnings };
67
+ }
68
+ /** Convert a simple compatibility renderer with the shared WebMap compiler. */
69
+ export function convertSimpleRendererCompat(compat, options = {}) {
70
+ const warn = createWarningCollector();
71
+ const renderer = convertRenderer({ ...compat.toJSON(), type: "simple", symbol: compat.symbol }, warn, options);
61
72
  return { renderer, warnings: warn.warnings };
62
73
  }
@@ -3,10 +3,17 @@ export interface RouteStopCompat {
3
3
  name?: string;
4
4
  location: [number, number];
5
5
  }
6
+ export interface RouteDirectionStepCompat {
7
+ text: string;
8
+ lengthKilometers: number;
9
+ timeMinutes: number;
10
+ }
6
11
  export interface RouteSolveResultCompat {
7
12
  path: [number, number][];
8
13
  totalLengthMeters: number;
9
14
  totalTimeSeconds: number;
15
+ /** Turn-by-turn steps from a route service. Absent results use the path geometry. */
16
+ directionFeatures?: readonly RouteDirectionStepCompat[];
10
17
  }
11
18
  export interface RouteLayerCompatOptions {
12
19
  id?: string;
@@ -56,4 +63,5 @@ export declare class RouteLayerCompat {
56
63
  setOpacity(opacity: number): void;
57
64
  private notifyWatchers;
58
65
  }
66
+ export declare function routeStopFromUnknown(stop: unknown): RouteStopCompat;
59
67
  //# sourceMappingURL=route-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/route-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AAEjG,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAAC;IAC9D,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,gBAAgB;IAC3B,SAAgB,IAAI,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjD,SAAgB,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,0BAA0B,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAGgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,uBAA4B;IAmBxD,IAAW,KAAK,IAAI,SAAS,eAAe,EAAE,CAE7C;IAEY,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAgBvC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,sBAAsB;IAevF,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBpD,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAsBjE,UAAU,IAAI,IAAI;IAaZ,KAAK,IAAI,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IA+BpD,OAAO,IAAI,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAItD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnF,OAAO,IAAI,IAAI;IAKf,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMrC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMxC,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"route-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/route-layer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
2
+ import { lonLatFromUnknown } from "./map-view-mount.js";
2
3
  export class RouteLayerCompat {
3
4
  type;
4
5
  id;
@@ -126,6 +127,7 @@ export class RouteLayerCompat {
126
127
  path: result.path.map((point) => [point[0], point[1]]),
127
128
  totalLengthMeters: result.totalLengthMeters,
128
129
  totalTimeSeconds: result.totalTimeSeconds,
130
+ ...(result.directionFeatures ? { directionFeatures: result.directionFeatures } : {}),
129
131
  };
130
132
  this.notifyWatchers("route", this.route);
131
133
  this.eventBus.emit("route-layer.solve-completed", { layerId: this.id, route: this.route }, this);
@@ -176,11 +178,29 @@ export class RouteLayerCompat {
176
178
  }
177
179
  }
178
180
  }
181
+ export function routeStopFromUnknown(stop) {
182
+ if (!stop || typeof stop !== "object") {
183
+ throw new Error("Route stop is missing a location.");
184
+ }
185
+ const record = stop;
186
+ const fromPair = coordinatePair(record.location);
187
+ const fromGeometry = record.geometry === undefined ? undefined : lonLatFromUnknown(record.geometry);
188
+ const location = fromPair ?? fromGeometry;
189
+ if (!location) {
190
+ throw new Error("Route stop is missing a location.");
191
+ }
192
+ const attributeName = record.attributes?.Name ?? record.attributes?.name;
193
+ const name = typeof record.name === "string" ? record.name : typeof attributeName === "string" ? attributeName : undefined;
194
+ return { name, location: [location[0], location[1]] };
195
+ }
196
+ function coordinatePair(value) {
197
+ if (Array.isArray(value) && value.length >= 2 && typeof value[0] === "number" && typeof value[1] === "number") {
198
+ return [value[0], value[1]];
199
+ }
200
+ return undefined;
201
+ }
179
202
  function cloneRouteStop(stop) {
180
- return {
181
- name: stop.name,
182
- location: [stop.location[0], stop.location[1]],
183
- };
203
+ return routeStopFromUnknown(stop);
184
204
  }
185
205
  function defaultRouteProvider(stops) {
186
206
  const path = stops.map((stop) => [stop.location[0], stop.location[1]]);
@@ -1,5 +1,5 @@
1
1
  import { CompatEventBus } from "./event-bus.js";
2
- import { type RouteLayerCompatOptions, type RouteStopCompat } from "./route-layer.js";
2
+ import { type RouteLayerCompatOptions, type RouteSolveResultCompat, type RouteStopCompat } from "./route-layer.js";
3
3
  export interface RouteTaskCompatOptions {
4
4
  url?: string;
5
5
  apiKey?: string;
@@ -22,6 +22,8 @@ export interface RouteTaskStopsFeatureSetCompat {
22
22
  export interface RouteTaskSolveParametersCompat {
23
23
  stops?: readonly RouteStopCompat[] | RouteTaskStopsFeatureSetCompat;
24
24
  returnDirections?: boolean;
25
+ /** ArcGIS travel mode name or the mode object returned by retrieveTravelModes. */
26
+ travelMode?: unknown;
25
27
  }
26
28
  export interface RouteTaskDirectionsFeatureCompat {
27
29
  attributes: {
@@ -85,4 +87,6 @@ export declare class RouteTaskCompat {
85
87
  destroy(): void;
86
88
  private notifyWatchers;
87
89
  }
90
+ export declare function buildRouteTaskSolveResult(route: RouteSolveResultCompat, stops: readonly RouteStopCompat[], includeDirections: boolean): RouteTaskSolveResultCompat;
91
+ export declare function arcGisRouteServiceProvider(url: string, apiKey: string | undefined, travelMode?: unknown): NonNullable<RouteLayerCompatOptions["routeProvider"]>;
88
92
  //# sourceMappingURL=route-task.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-task.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/route-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-task.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/route-task.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import { esriConfig } from "./esri-config.js";
1
2
  import { CompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
2
- import { RouteLayerCompat, } from "./route-layer.js";
3
+ import { identityManager } from "./identity-manager.js";
4
+ import { coordinateToLonLat } from "./map-view-mount.js";
5
+ import { RouteLayerCompat, routeStopFromUnknown, } from "./route-layer.js";
3
6
  export class RouteTaskCompat {
4
7
  url;
5
8
  apiKey;
@@ -78,7 +81,10 @@ export class RouteTaskCompat {
78
81
  try {
79
82
  const layer = new RouteLayerCompat({
80
83
  stops,
81
- routeProvider: this.routeProvider,
84
+ routeProvider: this.routeProvider ??
85
+ (this.url && hasRouteService(this.url)
86
+ ? arcGisRouteServiceProvider(this.url, this.apiKey, params.travelMode)
87
+ : undefined),
82
88
  eventBus: this.eventBus,
83
89
  });
84
90
  const route = await layer.solve();
@@ -111,16 +117,22 @@ export class RouteTaskCompat {
111
117
  }
112
118
  }
113
119
  }
120
+ function hasRouteService(url) {
121
+ try {
122
+ // `example.test` is the reserved placeholder host used by migrated fixture
123
+ // apps. It has no service to call, so retain the local route fallback.
124
+ return new URL(url).hostname.toLowerCase() !== "example.test";
125
+ }
126
+ catch {
127
+ return true;
128
+ }
129
+ }
114
130
  function normalizeStops(rawStops) {
115
131
  if (!rawStops) {
116
132
  return [];
117
133
  }
118
134
  if (Array.isArray(rawStops)) {
119
- const arrayStops = rawStops;
120
- return arrayStops.map((stop) => ({
121
- name: stop.name,
122
- location: [stop.location[0], stop.location[1]],
123
- }));
135
+ return rawStops.map((stop) => routeStopFromUnknown(stop));
124
136
  }
125
137
  const featureSet = rawStops;
126
138
  const features = featureSet.features ?? [];
@@ -143,6 +155,92 @@ function normalizeStops(rawStops) {
143
155
  }
144
156
  return stops;
145
157
  }
158
+ export function buildRouteTaskSolveResult(route, stops, includeDirections) {
159
+ return buildSolveResult(route, stops, includeDirections);
160
+ }
161
+ export function arcGisRouteServiceProvider(url, apiKey, travelMode) {
162
+ return async (stops) => {
163
+ const solveUrl = new URL(`${url.replace(/\/$/, "")}/solve`);
164
+ solveUrl.searchParams.set("f", "json");
165
+ solveUrl.searchParams.set("outSR", "4326");
166
+ solveUrl.searchParams.set("returnDirections", "true");
167
+ solveUrl.searchParams.set("directionsLengthUnits", "esriNAUKilometers");
168
+ solveUrl.searchParams.set("stops", JSON.stringify({
169
+ features: stops.map((stop) => ({
170
+ geometry: stopGeometry(stop),
171
+ attributes: { Name: stop.name ?? "" },
172
+ })),
173
+ }));
174
+ if (travelMode !== undefined && travelMode !== null) {
175
+ solveUrl.searchParams.set("travelMode", typeof travelMode === "string" ? travelMode : JSON.stringify(travelMode));
176
+ }
177
+ const token = apiKey ?? esriConfig.apiKey ?? identityManager.findCredential(url)?.token;
178
+ if (token) {
179
+ solveUrl.searchParams.set("token", token);
180
+ }
181
+ const response = await fetch(solveUrl);
182
+ const json = (await response.json());
183
+ if (!response.ok || json.error) {
184
+ throw new Error(json.error?.message ?? `Route solve failed (${response.status}).`);
185
+ }
186
+ const feature = json.routes?.features?.[0];
187
+ const pathWkid = feature?.geometry?.spatialReference?.wkid;
188
+ const path = (feature?.geometry?.paths ?? []).flatMap((ring) => ring
189
+ .filter((point) => point.length >= 2)
190
+ .map((point) => coordinateToLonLat([point[0] ?? 0, point[1] ?? 0], pathWkid))
191
+ .filter((point) => point !== undefined));
192
+ const kilometers = numberAttribute(feature?.attributes, "Total_Kilometers");
193
+ const minutes = numberAttribute(feature?.attributes, "Total_TravelTime");
194
+ const metersFromPath = pathLengthMeters(path);
195
+ const directionFeatures = (json.directions?.[0]?.features ?? [])
196
+ .map((step) => {
197
+ const text = step.attributes?.text;
198
+ if (typeof text !== "string" || text.length === 0) {
199
+ return undefined;
200
+ }
201
+ const length = step.attributes?.length;
202
+ const time = step.attributes?.time;
203
+ return {
204
+ text,
205
+ lengthKilometers: typeof length === "number" && Number.isFinite(length) ? length : 0,
206
+ timeMinutes: typeof time === "number" && Number.isFinite(time) ? time : 0,
207
+ };
208
+ })
209
+ .filter((step) => step !== undefined);
210
+ return {
211
+ path: path.length > 0 ? path : stops.map((stop) => [stop.location[0], stop.location[1]]),
212
+ totalLengthMeters: kilometers !== undefined ? kilometers * 1000 : metersFromPath,
213
+ totalTimeSeconds: minutes !== undefined ? minutes * 60 : metersFromPath / 13.4112,
214
+ ...(directionFeatures.length > 0 ? { directionFeatures } : {}),
215
+ };
216
+ };
217
+ }
218
+ function stopGeometry(stop) {
219
+ const [x, y] = stop.location;
220
+ const webMercator = Math.abs(x) > 180 || Math.abs(y) > 90;
221
+ return { x, y, spatialReference: { wkid: webMercator ? 102100 : 4326 } };
222
+ }
223
+ function numberAttribute(attributes, name) {
224
+ const value = attributes?.[name];
225
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
226
+ }
227
+ function pathLengthMeters(path) {
228
+ let total = 0;
229
+ for (let index = 1; index < path.length; index += 1) {
230
+ const previous = path[index - 1];
231
+ const current = path[index];
232
+ if (!previous || !current) {
233
+ continue;
234
+ }
235
+ const dLon = ((current[0] - previous[0]) * Math.PI) / 180;
236
+ const dLat = ((current[1] - previous[1]) * Math.PI) / 180;
237
+ const lat1 = (previous[1] * Math.PI) / 180;
238
+ const lat2 = (current[1] * Math.PI) / 180;
239
+ const a = Math.sin(dLat / 2) ** 2 + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLon / 2) ** 2;
240
+ total += 6371000 * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
241
+ }
242
+ return total;
243
+ }
146
244
  function buildSolveResult(route, stops, includeDirections) {
147
245
  const kilometers = route.totalLengthMeters / 1000;
148
246
  const miles = route.totalLengthMeters * 0.000621371;
@@ -176,6 +274,20 @@ function buildSolveResult(route, stops, includeDirections) {
176
274
  };
177
275
  }
178
276
  function buildDirectionFeatures(route) {
277
+ if (route.directionFeatures && route.directionFeatures.length > 0) {
278
+ const path = route.path.map((point) => [point[0], point[1]]);
279
+ return route.directionFeatures.map((step) => ({
280
+ attributes: {
281
+ text: step.text,
282
+ length: step.lengthKilometers,
283
+ time: step.timeMinutes,
284
+ },
285
+ geometry: {
286
+ paths: [path],
287
+ spatialReference: { wkid: 4326 },
288
+ },
289
+ }));
290
+ }
179
291
  if (route.path.length < 2 || route.totalLengthMeters <= 0) {
180
292
  return [];
181
293
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scene-view.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/scene-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-view.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/scene-view.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export class SceneViewCompat extends MapViewCompat {
5
5
  camera;
6
6
  constructor(options = {}) {
7
7
  super(options);
8
+ this.mountRenderer = false;
8
9
  this.viewingMode = options.viewingMode ?? "global";
9
10
  this.qualityProfile = options.qualityProfile;
10
11
  this.camera = options.camera;
@@ -63,7 +63,7 @@ export interface SearchHandleCompat {
63
63
  }
64
64
  export declare class SearchCompat {
65
65
  readonly view: unknown;
66
- readonly container: HTMLElement | string | null;
66
+ container: HTMLElement | string | null;
67
67
  readonly eventBus: CompatEventBus;
68
68
  readonly autoNavigate: boolean;
69
69
  includeDefaultSources: boolean;
@@ -89,6 +89,7 @@ export declare class SearchCompat {
89
89
  private readonly watchListeners;
90
90
  private customSources;
91
91
  constructor(options?: SearchCompatOptions);
92
+ attachContainer(element: HTMLElement): void;
92
93
  load(): Promise<SearchCompat>;
93
94
  when(callback?: (widget: SearchCompat) => void): Promise<SearchCompat>;
94
95
  watch(propertyName: string, listener: (value: unknown) => void): SearchHandleCompat;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/search.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,gBAAgB,CAAC;AAExB,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,GAAG,SAAS,kBAAkB,EAAE,CAAC;IAC7G,OAAO,CAAC,CACN,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,GAAG,SAAS,sBAAsB,EAAE,CAAC;CACnF;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAMD,qBAAa,YAAY;IACvB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IACvD,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,YAAY,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IACtC,SAAgB,kBAAkB,EAAE,OAAO,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,cAAc,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,mBAAmB,EAAE,MAAM,CAAC;IACnC,SAAgB,iCAAiC,EAAE,MAAM,CAAC;IAC1D,SAAgB,uBAAuB,EAAE,MAAM,CAAC;IAChD,SAAgB,2BAA2B,EAAE,MAAM,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAErC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,aAAa,CAAuB;gBAEzB,OAAO,GAAE,mBAAwB;IAwCvC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAiB7B,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;IAe7E,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0D3F,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkDnG,KAAK,IAAI,IAAI;IAcb,UAAU,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,GAAE;QAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAS3G,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAK3C,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO;IAW3C,YAAY,CAAC,aAAa,EAAE,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAgCjG,UAAU,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IASrD,cAAc,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAS/D,OAAO,IAAI,IAAI;YAOR,wBAAwB;IAiBtC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/search.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,11 @@ export class SearchCompat {
58
58
  this.watchListeners = new Map();
59
59
  this.refreshSourceSubscriptions();
60
60
  this.rebuildSources(false);
61
+ mountSearchBox(this);
62
+ }
63
+ attachContainer(element) {
64
+ this.container = element;
65
+ mountSearchBox(this);
61
66
  }
62
67
  async load() {
63
68
  if (this.loaded) {
@@ -350,11 +355,21 @@ function resolveViewSearchSources(view, limits) {
350
355
  }
351
356
  catch {
352
357
  fieldSearchUnsupported = true;
353
- response = await layer.queryFeatures(fallbackQueryOptions);
358
+ try {
359
+ response = await layer.queryFeatures(fallbackQueryOptions);
360
+ }
361
+ catch {
362
+ response = await layer.queryFeatures(createLocalSearchQueryOptions(fieldSearchConfig.searchableFields, normalizedTerm));
363
+ }
354
364
  }
355
365
  }
356
366
  else {
357
- response = await layer.queryFeatures(fallbackQueryOptions);
367
+ try {
368
+ response = await layer.queryFeatures(fallbackQueryOptions);
369
+ }
370
+ catch {
371
+ response = await layer.queryFeatures(createLocalSearchQueryOptions(fieldSearchConfig.searchableFields, normalizedTerm));
372
+ }
358
373
  }
359
374
  return extractFeatures(response);
360
375
  });
@@ -448,6 +463,32 @@ const COMMON_SEARCH_FIELD_NAMES = [
448
463
  ];
449
464
  const MAX_SERVER_SEARCH_FIELDS = 6;
450
465
  const MAX_SERVER_OUT_FIELDS = 16;
466
+ function mountSearchBox(search) {
467
+ const container = search.container;
468
+ const element = typeof HTMLElement !== "undefined" && container instanceof HTMLElement
469
+ ? container
470
+ : typeof container === "string" && typeof document !== "undefined"
471
+ ? document.getElementById(container)
472
+ : undefined;
473
+ if (typeof HTMLElement === "undefined" || typeof document === "undefined" || !(element instanceof HTMLElement)) {
474
+ return;
475
+ }
476
+ element.querySelector(":scope > .honua-search")?.remove();
477
+ const form = document.createElement("form");
478
+ form.className = "honua-search";
479
+ const input = document.createElement("input");
480
+ input.type = "search";
481
+ input.placeholder = search.allPlaceholder || "Search";
482
+ const button = document.createElement("button");
483
+ button.type = "submit";
484
+ button.textContent = "Search";
485
+ form.addEventListener("submit", (event) => {
486
+ event.preventDefault();
487
+ void search.search(input.value);
488
+ });
489
+ form.append(input, button);
490
+ element.append(form);
491
+ }
451
492
  function createFallbackLayerSearchQueryOptions(maxFeatureCandidates, normalizedTerm, outFields) {
452
493
  return {
453
494
  where: "1=1",
@@ -471,6 +512,15 @@ function createOptimizedLayerSearchQueryOptions(config, normalizedTerm, maxFeatu
471
512
  },
472
513
  };
473
514
  }
515
+ function createLocalSearchQueryOptions(searchableFields, normalizedTerm) {
516
+ const field = searchableFields[0] ?? "name";
517
+ const escaped = normalizedTerm.replace(/'/g, "''");
518
+ return {
519
+ where: `${field} LIKE '%${escaped}%'`,
520
+ returnGeometry: true,
521
+ outFields: ["*"],
522
+ };
523
+ }
474
524
  function createSearchWhereClause(searchableFields, normalizedTerm) {
475
525
  const escapedTerm = escapeSqlLiteral(normalizedTerm.toUpperCase());
476
526
  return searchableFields.map((field) => `UPPER(${field}) LIKE '%${escapedTerm}%' ESCAPE '\\\\'`).join(" OR ");
@@ -5,6 +5,7 @@ export interface UniqueValueInfoCompat {
5
5
  description?: string;
6
6
  }
7
7
  export interface UniqueValueRendererCompatOptions {
8
+ visualVariables?: unknown[];
8
9
  field?: string;
9
10
  field2?: string;
10
11
  field3?: string;
@@ -17,6 +18,7 @@ export interface UniqueValueRendererHandleCompat {
17
18
  remove(): void;
18
19
  }
19
20
  export declare class UniqueValueRendererCompat {
21
+ visualVariables: unknown[];
20
22
  loaded: boolean;
21
23
  loadStatus: UniqueValueRendererLoadStatusCompat;
22
24
  field: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"unique-value-renderer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/unique-value-renderer.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,mCAAmC,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,+BAA+B;IAC9C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,yBAAyB;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,mCAAmC,CAAC;IAChD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,gCAAqC;IAYpD,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAc1C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQxG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,+BAA+B;IAehG,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;IA2BvD,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAKrD,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAUtD,KAAK,IAAI,yBAAyB;IAIlC,MAAM,IAAI,gCAAgC;IAW1C,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"unique-value-renderer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/unique-value-renderer.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gCAAgC;IAC/C,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,mCAAmC,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,+BAA+B;IAC9C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,yBAAyB;IAC7B,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,mCAAmC,CAAC;IAChD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,gCAAqC;IAapD,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAc1C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQxG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,+BAA+B;IAehG,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;IA+BvD,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAKrD,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAUtD,KAAK,IAAI,yBAAyB;IAIlC,MAAM,IAAI,gCAAgC;IAY1C,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
@@ -1,5 +1,6 @@
1
1
  import { safeInvokeCompatListener } from "./event-bus.js";
2
2
  export class UniqueValueRendererCompat {
3
+ visualVariables;
3
4
  loaded;
4
5
  loadStatus;
5
6
  field;
@@ -10,6 +11,7 @@ export class UniqueValueRendererCompat {
10
11
  uniqueValueInfos;
11
12
  watchListeners;
12
13
  constructor(options = {}) {
14
+ this.visualVariables = structuredClone(options.visualVariables ?? []);
13
15
  this.loaded = false;
14
16
  this.loadStatus = "not-loaded";
15
17
  this.field = options.field;
@@ -53,6 +55,10 @@ export class UniqueValueRendererCompat {
53
55
  };
54
56
  }
55
57
  update(options) {
58
+ if (options.visualVariables !== undefined) {
59
+ this.visualVariables = structuredClone(options.visualVariables);
60
+ this.notifyWatchers("visualVariables", this.visualVariables);
61
+ }
56
62
  if (options.field !== undefined) {
57
63
  this.field = options.field;
58
64
  this.notifyWatchers("field", this.field);
@@ -96,6 +102,7 @@ export class UniqueValueRendererCompat {
96
102
  }
97
103
  toJSON() {
98
104
  return {
105
+ visualVariables: structuredClone(this.visualVariables),
99
106
  field: this.field,
100
107
  field2: this.field2,
101
108
  field3: this.field3,
@@ -5,8 +5,18 @@ export interface WebMapCompatOptions extends MapCompatOptions {
5
5
  export type WebMapLoadStatusCompat = MapLoadStatusCompat;
6
6
  export type WebMapHandleCompat = MapCompatHandle;
7
7
  export declare class WebMapCompat extends MapCompat {
8
+ initialExtent: {
9
+ xmin: number;
10
+ ymin: number;
11
+ xmax: number;
12
+ ymax: number;
13
+ spatialReference?: {
14
+ wkid?: number;
15
+ };
16
+ } | undefined;
8
17
  constructor(options?: WebMapCompatOptions);
9
18
  load(): Promise<WebMapCompat>;
19
+ private populateFromPortalItem;
10
20
  when(callback?: (map: WebMapCompat) => void): Promise<WebMapCompat>;
11
21
  watch(propertyName: string, listener: (value: unknown) => void): WebMapHandleCompat;
12
22
  setPortalItem(portalItem: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"web-map.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/web-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE5G,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,qBAAa,YAAa,SAAQ,SAAS;gBACtB,OAAO,GAAE,mBAAwB;IAIvC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAK7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQzE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAInF,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAIhD"}
1
+ {"version":3,"file":"web-map.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/web-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG5G,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,qBAAa,YAAa,SAAQ,SAAS;IAClC,aAAa,EAChB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAChG,SAAS,CAAC;gBAEK,OAAO,GAAE,mBAAwB;IAK9B,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;YASrC,sBAAsB;IA0BvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQzE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAInF,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAIhD"}