@arcgis/coding-components 5.0.0-next.2 → 5.0.0-next.21

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 (84) hide show
  1. package/dist/addons.js +1 -1
  2. package/dist/cdn/{DS6FR3VW.js → 2CLQRRRI.js} +1 -1
  3. package/dist/cdn/{NDTFWFUR.js → 47JH6JZR.js} +2 -2
  4. package/dist/cdn/{LEAW4G72.js → 5WVINOEN.js} +2 -2
  5. package/dist/cdn/{M76LYHDZ.js → 6VXI6VK7.js} +1 -1
  6. package/dist/cdn/7RQN6MG4.js +4 -0
  7. package/dist/cdn/{3UWEZTAR.js → A5N6EXQY.js} +2 -2
  8. package/dist/cdn/{ASEF7B5I.js → AR53N6OS.js} +2 -2
  9. package/dist/cdn/{WIZPERSR.js → C7OIHUNB.js} +2 -2
  10. package/dist/cdn/{JVYGLZ2H.js → CLU4CD6Z.js} +2 -2
  11. package/dist/cdn/{7ZZQLMF3.js → E7XQYENE.js} +2 -2
  12. package/dist/cdn/EZJXR5TO.js +4 -0
  13. package/dist/cdn/{QYCUOYGE.js → FGS2EVLV.js} +2 -2
  14. package/dist/cdn/{WAZRNRCN.js → FM7327CG.js} +2 -2
  15. package/dist/cdn/{VQQ5YQLX.js → FYZNARRU.js} +2 -2
  16. package/dist/cdn/{E535MT6P.js → H2SNFWD3.js} +2 -2
  17. package/dist/cdn/{DHV7A47T.js → I2FX3STQ.js} +2 -2
  18. package/dist/cdn/{3U2IQPRU.js → IVT7VNVI.js} +1 -1
  19. package/dist/cdn/{64J45FLG.js → LAKEAVOA.js} +2 -2
  20. package/dist/cdn/{AGBJLIIJ.js → LVNHRPQE.js} +2 -2
  21. package/dist/cdn/{36WZOWEN.js → MOITQCBX.js} +2 -2
  22. package/dist/cdn/{QGBF2GE3.js → NAE25KO7.js} +2 -2
  23. package/dist/cdn/{DR5BFR3S.js → NBZMFA3D.js} +2 -2
  24. package/dist/cdn/{WXYXACGL.js → OFWAGNUF.js} +2 -2
  25. package/dist/cdn/{R3O2LOCF.js → PHS6XHQP.js} +1 -1
  26. package/dist/cdn/{55BCOGYG.js → PORXXJBA.js} +4 -4
  27. package/dist/cdn/{YRVXNHCR.js → PVVKHR5J.js} +2 -2
  28. package/dist/cdn/{YSVAM5JY.js → QOJPPEHT.js} +2 -2
  29. package/dist/cdn/{HFVKQMKU.js → QRGTIOAD.js} +2 -2
  30. package/dist/cdn/{TMWLIX7Y.js → RP7VKBVP.js} +2 -2
  31. package/dist/cdn/{S5ADUSVB.js → RVNQVPCO.js} +1 -1
  32. package/dist/cdn/{324DO6TL.js → RZKNDIKL.js} +2 -2
  33. package/dist/cdn/SFXC55W4.js +4 -0
  34. package/dist/cdn/{XJKLMH4L.js → TO4UDQ4E.js} +2 -2
  35. package/dist/cdn/UJFF5IGQ.js +6 -0
  36. package/dist/cdn/{PAWBJNFE.js → UK6XMEJB.js} +2 -2
  37. package/dist/cdn/{T5423S7G.js → UX7JHNTJ.js} +2 -2
  38. package/dist/cdn/{46CC6MI2.js → WPCOLLUY.js} +1 -1
  39. package/dist/cdn/{N3KRUYKI.js → WUS4LONX.js} +2 -2
  40. package/dist/cdn/{5Q4TNVBR.js → WZ7QQKYH.js} +2 -2
  41. package/dist/cdn/{RZPKGZVQ.js → XH454BIV.js} +2 -2
  42. package/dist/cdn/{VWQRYGRE.js → Y5ZWJDDQ.js} +2 -2
  43. package/dist/cdn/{S5RMMJ6S.js → YB6ZAT43.js} +2 -2
  44. package/dist/cdn/{3VCHMRG2.js → YVTOO6M3.js} +2 -2
  45. package/dist/cdn/{PQFNWANF.js → ZLFEWMQT.js} +1 -1
  46. package/dist/cdn/assets/code-editor/sql-expr.worker.js +11359 -11556
  47. package/dist/cdn/index.js +2 -2
  48. package/dist/chunks/arcade-defaults.js +1 -1
  49. package/dist/chunks/arcade-executor.js +1 -1
  50. package/dist/chunks/arcade-mode.js +1 -1
  51. package/dist/chunks/arcade-service-accessors.js +1 -1
  52. package/dist/chunks/editor.js +1 -1
  53. package/dist/chunks/fields.js +1 -1
  54. package/dist/chunks/language-defaults-base.js +1 -1
  55. package/dist/chunks/markdown.js +1 -1
  56. package/dist/chunks/monaco-importer.js +1 -1
  57. package/dist/chunks/runtime.js +1 -1
  58. package/dist/chunks/setup-monaco.js +1 -1
  59. package/dist/chunks/sql-expr-contribution.js +1 -1
  60. package/dist/chunks/sql-expr-defaults.js +1 -1
  61. package/dist/chunks/sql-expr-mode.js +1 -1
  62. package/dist/chunks/sql-expr-service-accessors.js +1 -1
  63. package/dist/chunks/useT9n.js +1 -1
  64. package/dist/components/arcgis-arcade-coding-assistant/customElement.js +4 -4
  65. package/dist/components/arcgis-arcade-editor/customElement.js +18 -21
  66. package/dist/components/arcgis-arcade-results/customElement.js +68 -64
  67. package/dist/components/arcgis-arcade-suggestions/customElement.js +1 -1
  68. package/dist/components/arcgis-code-editor/customElement.js +5 -5
  69. package/dist/components/arcgis-editor-variables/customElement.js +1 -1
  70. package/dist/components/arcgis-language-api-panel/customElement.js +1 -1
  71. package/dist/components/arcgis-sql-expression-editor/customElement.js +1 -1
  72. package/dist/components/arcgis-sql-expression-fields/customElement.js +1 -1
  73. package/dist/docs/api.json +2 -2
  74. package/dist/docs/docs.json +2 -2
  75. package/dist/docs/web-types.json +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/loader.js +1 -1
  78. package/dist/monacoStyles.js +1 -1
  79. package/dist/utils/language-defaults-base.d.ts +1 -1
  80. package/package.json +6 -6
  81. package/dist/cdn/BHR5OVGW.js +0 -6
  82. package/dist/cdn/CIKWOGFD.js +0 -4
  83. package/dist/cdn/HBG3YWFZ.js +0 -4
  84. package/dist/cdn/U3FKVDDP.js +0 -4
@@ -1,61 +1,62 @@
1
- import { c as P } from "../../chunks/runtime.js";
2
- import { css as C, html as t } from "lit";
3
- import { nothing as y, LitElement as M, createEvent as f, safeClassMap as v } from "@arcgis/lumina";
4
- import { setValuesInString as o, quoteString as g } from "@arcgis/toolkit/string";
5
- import { B as b, v as h, M as m, f as R, a as A, b as I } from "../../chunks/arcade-executor.js";
6
- import { u as L } from "../../chunks/useT9n.js";
7
- import { s as O } from "../../chunks/fields.js";
1
+ import { c as C } from "../../chunks/runtime.js";
2
+ import { css as M, html as t } from "lit";
3
+ import { nothing as w, LitElement as F, createEvent as y, safeClassMap as v } from "@arcgis/lumina";
4
+ import { setValuesInString as o, quoteString as h } from "@arcgis/toolkit/string";
5
+ import { B as x, v as b, M as m, f as A, a as I, b as L } from "../../chunks/arcade-executor.js";
6
+ import { u as O } from "../../chunks/useT9n.js";
7
+ import { s as D } from "../../chunks/fields.js";
8
8
  import "@arcgis/toolkit/function";
9
+ import { createRef as g, ref as $ } from "lit/directives/ref.js";
9
10
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
10
11
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
11
- v5.0.0-next.2 */
12
- const D = C`:host{display:flex;flex-direction:column;width:100%;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);.flex-adjustable{flex:1 1 auto;overflow:hidden}.flex-row{display:flex;flex-direction:row;overflow:hidden}.flex-column{display:flex;flex-direction:column;overflow:hidden}.y-scrollable-container{overflow-y:auto;block-size:100%;background-color:var(--calcite-color-foreground-1)}header{border-bottom:1px solid var(--calcite-color-border-3);flex:0 0 auto}.ltr-container{direction:ltr}calcite-action-bar{calcite-action-group{padding-inline-end:var(--calcite-spacing-sm);calcite-action{padding-inline-end:var(--calcite-spacing-sm)}calcite-action:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}calcite-action-group:last-child{border-inline-end-width:0px}calcite-action-group:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1)}.color-info{color:var(--calcite-color-status-info)}.color-error{color:var(--calcite-color-status-danger)}.color-success{color:var(--calcite-color-status-success)}[class*=result-value-]{font-size:var(--calcite-font-size--2);line-height:1.25rem;background-color:var(--calcite-color-foreground-1);margin:var(--calcite-spacing-md)}.console-logs-container{background-color:var(--calcite-color-foreground-1);padding:0 var(--calcite-spacing-md);font-family:var(--calcite-code-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal)}.result-value-table{table{display:block;max-width:fit-content;overflow-x:auto;border-spacing:0;border-collapse:collapse;text-align:start;white-space:nowrap;thead{background-color:var(--calcite-color-foreground-2)}tr{border-top:1px solid var(--calcite-color-border-3);border-bottom:1px solid var(--calcite-color-border-3)}th,td{border-inline-start:1px solid var(--calcite-color-border-3);border-inline-end:1px solid var(--calcite-color-border-3);text-align:start;padding:var(--calcite-spacing-xxs);.string-value{white-space:pre}}th{font-weight:var(--calcite-font-weight-medium)}}}.tree-item-label,.number-value,.string-value,.boolean-value{font-family:var(--calcite-code-family)}.tree-item-label,.value-type{color:var(--calcite-color-text-2);font-weight:var(--calcite-font-weight-normal)}.dictionary-property{color:var(--arcgis-editor-identifier)}.number-value{color:var(--arcgis-editor-number)}.string-value{color:var(--arcgis-editor-string);white-space:pre-wrap}.constant-value{color:var(--arcgis-editor-constant)}.date-value{color:var(--arcgis-editor-date)}}`, l = {
12
+ v5.0.0-next.21 */
13
+ const _ = M`:host{display:flex;flex-direction:column;width:100%;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);.flex-adjustable{flex:1 1 auto;overflow:hidden}.flex-row{display:flex;flex-direction:row;overflow:hidden}.flex-column{display:flex;flex-direction:column;overflow:hidden}.y-scrollable-container{overflow-y:auto;block-size:100%;background-color:var(--calcite-color-foreground-1)}header{border-bottom:1px solid var(--calcite-color-border-3);flex:0 0 auto}.ltr-container{direction:ltr}calcite-action-bar{calcite-action-group{padding-inline-end:var(--calcite-spacing-sm);calcite-action{padding-inline-end:var(--calcite-spacing-sm)}calcite-action:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}calcite-action-group:last-child{border-inline-end-width:0px}calcite-action-group:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1)}.color-info{color:var(--calcite-color-status-info)}.color-error{color:var(--calcite-color-status-danger)}.color-success{color:var(--calcite-color-status-success)}[class*=result-value-]{font-size:var(--calcite-font-size--2);line-height:1.25rem;background-color:var(--calcite-color-foreground-1);margin:var(--calcite-spacing-md)}.console-logs-container{background-color:var(--calcite-color-foreground-1);padding:0 var(--calcite-spacing-md);font-family:var(--calcite-code-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal)}.result-value-table{table{display:block;max-width:fit-content;overflow-x:auto;border-spacing:0;border-collapse:collapse;text-align:start;white-space:nowrap;thead{background-color:var(--calcite-color-foreground-2)}tr{border-top:1px solid var(--calcite-color-border-3);border-bottom:1px solid var(--calcite-color-border-3)}th,td{border-inline-start:1px solid var(--calcite-color-border-3);border-inline-end:1px solid var(--calcite-color-border-3);text-align:start;padding:var(--calcite-spacing-xxs);.string-value{white-space:pre}}th{font-weight:var(--calcite-font-weight-medium)}}}.tree-item-label,.number-value,.string-value,.boolean-value{font-family:var(--calcite-code-family)}.tree-item-label,.value-type{color:var(--calcite-color-text-2);font-weight:var(--calcite-font-weight-normal)}.dictionary-property{color:var(--arcgis-editor-identifier)}.number-value{color:var(--arcgis-editor-number)}.string-value{color:var(--arcgis-editor-string);white-space:pre-wrap}.constant-value{color:var(--arcgis-editor-constant)}.date-value{color:var(--arcgis-editor-date)}}`, a = {
13
14
  lines: !0,
14
15
  selectionMode: "none",
15
16
  scale: "s",
16
- oncalciteTreeSelect: (e) => e.currentTarget.selectedItems.forEach((a) => a.selected = !1)
17
+ oncalciteTreeSelect: (e) => e.currentTarget.selectedItems.forEach((l) => l.selected = !1)
17
18
  }, u = {
18
19
  onClick: (e) => {
19
- const a = e.currentTarget;
20
- a.expanded = !a.expanded;
20
+ const l = e.currentTarget;
21
+ l.expanded = !l.expanded;
21
22
  }
22
- }, r = ({ name: e }) => t`<span class="dictionary-property">${e}</span><span>:&nbsp;</span>`, x = ({ value: e, subtree: a = !1 }) => t`<calcite-tree slot=${(a ? "children" : void 0) ?? y} .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item class="string-value">${JSON.stringify(e.castAsJson(), void 0, 2)}</calcite-tree-item></calcite-tree>`, w = ({ value: e, subtree: a = !1 }) => t`<calcite-tree slot=${(a ? "children" : void 0) ?? y} .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item><div class="tree-item-label">${r({ name: "type" })}${e.type}</div></calcite-tree-item><calcite-tree-item><div class="tree-item-label">${r({ name: "value" })}<span class="string-value">${JSON.stringify(e, void 0, 2)}</span></div></calcite-tree-item></calcite-tree>`, p = ({ arcadeResult: e }) => {
23
+ }, r = ({ name: e }) => t`<span class="dictionary-property">${e}</span><span>:&nbsp;</span>`, S = ({ value: e, subtree: l = !1 }) => t`<calcite-tree slot=${(l ? "children" : void 0) ?? w} .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item class="string-value">${JSON.stringify(e.castAsJson(), void 0, 2)}</calcite-tree-item></calcite-tree>`, k = ({ value: e, subtree: l = !1 }) => t`<calcite-tree slot=${(l ? "children" : void 0) ?? w} .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item><div class="tree-item-label">${r({ name: "type" })}${e.type}</div></calcite-tree-item><calcite-tree-item><div class="tree-item-label">${r({ name: "value" })}<span class="string-value">${JSON.stringify(e, void 0, 2)}</span></div></calcite-tree-item></calcite-tree>`, p = ({ arcadeResult: e }) => {
23
24
  switch (e.type) {
24
25
  case "unknown":
25
26
  case "null":
26
27
  return t`<span class="constant-value">${e.type}</span>`;
27
28
  case "text":
28
- return t`<span class="string-value">${g(e.value)}</span>`;
29
+ return t`<span class="string-value">${h(e.value)}</span>`;
29
30
  case "number":
30
31
  return t`<span class="number-value">${e.value.toString()}</span>`;
31
32
  case "boolean":
32
33
  return t`<span class="constant-value">${e.value.toString()}</span>`;
33
34
  case "date":
34
- return t`<span class="date-value">${I(e)}</span>`;
35
+ return t`<span class="date-value">${L(e)}</span>`;
35
36
  case "dateOnly":
36
- return t`<span class="string-value">${g(A(e))}</span>`;
37
+ return t`<span class="string-value">${h(I(e))}</span>`;
37
38
  case "time":
38
- return t`<span class="string-value">${g(R(e))}</span>`;
39
+ return t`<span class="string-value">${h(A(e))}</span>`;
39
40
  default:
40
41
  return null;
41
42
  }
42
- }, S = ({ arcadeResult: e, t9nStrings: a }) => {
43
- const s = e.value ?? [], c = Math.max(s.length - m, 0);
44
- return t`<span>${`${e.type}(${s.length ?? 0})`}</span>${c > 0 ? t`<span>&nbsp;${o(a.showingfirstitemsformat, {
43
+ }, T = ({ arcadeResult: e, t9nStrings: l }) => {
44
+ const s = e.value ?? [], i = Math.max(s.length - m, 0);
45
+ return t`<span>${`${e.type}(${s.length ?? 0})`}</span>${i > 0 ? t`<span>&nbsp;${o(l.showingfirstitemsformat, {
45
46
  count: m.toString()
46
47
  })}</span>` : null}`;
47
- }, k = ({ value: e, subtree: a, t9nStrings: s }) => {
48
- const c = e.geometry?.();
49
- return t`<calcite-tree slot=${"children"} .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}>${e.keys().map((i) => {
50
- const n = h(e.field(i));
51
- return e.arcadeDeclaredClass === "esri.arcade.Feature" && n.type === "geometry" ? null : $({ arcadeResult: n, name: i, t9nStrings: s });
52
- })}${c ? $({ arcadeResult: { type: "geometry", value: c }, name: "geometry", t9nStrings: s }) : null}</calcite-tree>`;
53
- }, F = ({ arcadeResult: e, t9nStrings: a }) => t`<div class="value-type"><span>${e.type}:</span>${e.features.length >= b ? t`<span>&nbsp;${o(a.showingfirstitemsformat, {
54
- count: b.toString()
55
- })}</span>` : null}</div>`, T = ({ items: e, subtree: a, t9nStrings: s }) => t`<calcite-tree slot=${"children"} .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}>${e.map((c, i) => {
56
- const n = h(c);
57
- return $({ arcadeResult: n, name: i, expanded: !a, t9nStrings: s });
58
- })}</calcite-tree>`, $ = ({ arcadeResult: e, name: a, expanded: s, t9nStrings: c }) => {
48
+ }, P = ({ value: e, subtree: l, t9nStrings: s }) => {
49
+ const i = e.geometry?.();
50
+ return t`<calcite-tree slot=${"children"} .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}>${e.keys().map((c) => {
51
+ const n = b(e.field(c));
52
+ return e.arcadeDeclaredClass === "esri.arcade.Feature" && n.type === "geometry" ? null : f({ arcadeResult: n, name: c, t9nStrings: s });
53
+ })}${i ? f({ arcadeResult: { type: "geometry", value: i }, name: "geometry", t9nStrings: s }) : null}</calcite-tree>`;
54
+ }, z = ({ arcadeResult: e, t9nStrings: l }) => t`<div class="value-type"><span>${e.type}:</span>${e.features.length >= x ? t`<span>&nbsp;${o(l.showingfirstitemsformat, {
55
+ count: x.toString()
56
+ })}</span>` : null}</div>`, R = ({ items: e, subtree: l, t9nStrings: s }) => t`<calcite-tree slot=${"children"} .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}>${e.map((i, c) => {
57
+ const n = b(i);
58
+ return f({ arcadeResult: n, name: c, expanded: !l, t9nStrings: s });
59
+ })}</calcite-tree>`, f = ({ arcadeResult: e, name: l, expanded: s, t9nStrings: i }) => {
59
60
  switch (e.type) {
60
61
  case "null":
61
62
  case "unknown":
@@ -65,85 +66,88 @@ const D = C`:host{display:flex;flex-direction:column;width:100%;background-color
65
66
  case "dateOnly":
66
67
  case "time":
67
68
  case "boolean":
68
- return t`<calcite-tree-item><div class="tree-item-label">${r({ name: a })}${p({ arcadeResult: e })}</div></calcite-tree-item>`;
69
+ return t`<calcite-tree-item><div class="tree-item-label">${r({ name: l })}${p({ arcadeResult: e })}</div></calcite-tree-item>`;
69
70
  case "array": {
70
71
  const n = (e.value ?? []).slice(0, m);
71
- return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: a })}${S({ arcadeResult: e, t9nStrings: c })}</div>${T({ items: n, subtree: !0, t9nStrings: c })}</calcite-tree-item>`;
72
+ return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: l })}${T({ arcadeResult: e, t9nStrings: i })}</div>${R({ items: n, subtree: !0, t9nStrings: i })}</calcite-tree-item>`;
72
73
  }
73
74
  case "geometry":
74
- return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: a })}<span>${e.type}</span></div>${w({ value: e.value, subtree: !0 })}</calcite-tree-item>`;
75
+ return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: l })}<span>${e.type}</span></div>${k({ value: e.value, subtree: !0 })}</calcite-tree-item>`;
75
76
  case "attachment":
76
- return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: a })}<span>${e.type}</span></div>${x({ value: e.value, subtree: !0 })}</calcite-tree-item>`;
77
+ return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: l })}<span>${e.type}</span></div>${S({ value: e.value, subtree: !0 })}</calcite-tree-item>`;
77
78
  case "feature":
78
79
  case "dictionary":
79
80
  case "portal":
80
- return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: a })}<span>${e.type}</span></div>${k({ value: e.value, subtree: !0, t9nStrings: c })}</calcite-tree-item>`;
81
+ return t`<calcite-tree-item .expanded=${s} @click=${u.onClick}><div class="tree-item-label">${r({ name: l })}<span>${e.type}</span></div>${P({ value: e.value, subtree: !0, t9nStrings: i })}</calcite-tree-item>`;
81
82
  default:
82
83
  return null;
83
84
  }
84
- }, _ = ({ arcadeResult: e }) => {
85
- const a = O(e.value.fields);
86
- return t`<table><thead><tr>${a.map((s) => t`<th>${s.name}</th>`)}</tr></thead><tbody>${e.features.map((s) => t`<tr>${a.map((c) => {
85
+ }, N = ({ arcadeResult: e }) => {
86
+ const l = D(e.value.fields);
87
+ return t`<table><thead><tr>${l.map((s) => t`<th>${s.name}</th>`)}</tr></thead><tbody>${e.features.map((s) => t`<tr>${l.map((i) => {
87
88
  try {
88
- const i = h(s.field(c.name));
89
- return t`<td>${p({ arcadeResult: i })}</td>`;
89
+ const c = b(s.field(i.name));
90
+ return t`<td>${p({ arcadeResult: c })}</td>`;
90
91
  } catch {
91
92
  return t`<td></td>`;
92
93
  }
93
94
  })}</tr>`)}</tbody></table>`;
94
95
  }, d = {
95
96
  onClick: (e) => {
96
- const a = e.currentTarget;
97
- a.expanded = !a.expanded;
97
+ const l = e.currentTarget;
98
+ l.expanded = !l.expanded;
98
99
  }
99
100
  };
100
- class z extends M {
101
+ class j extends F {
101
102
  constructor() {
102
- super(...arguments), this.messages = L(), this.openedResultPanel = "output", this.arcgisClose = f({ bubbles: !1 }), this.arcgisOpenedResultPanelChange = f({ bubbles: !1 });
103
+ super(...arguments), this.messages = O(), this.outputRef = g(), this.consoleRef = g(), this.logRef = g(), this.openedResultPanel = "output", this.arcgisClose = y({ bubbles: !1 }), this.arcgisOpenedResultPanelChange = y({ bubbles: !1 });
103
104
  }
104
105
  static {
105
106
  this.properties = { consoleLogs: 0, loading: 5, openedResultPanel: 3, result: 0 };
106
107
  }
107
108
  static {
108
- this.styles = D;
109
+ this.styles = _;
109
110
  }
110
- updateResultPanel(a) {
111
- this.openedResultPanel = a, this.arcgisOpenedResultPanelChange.emit(a);
111
+ loaded() {
112
+ this.openedResultPanel && (this.openedResultPanel === "output" && this.outputRef.value ? this.outputRef.value.setFocus() : this.openedResultPanel === "console" && this.consoleRef.value ? this.consoleRef.value.setFocus() : this.openedResultPanel === "log" && this.logRef.value && this.logRef.value.setFocus());
112
113
  }
113
- _switchResultPanel(a) {
114
- const s = a.currentTarget.dataset.panelName;
114
+ updateResultPanel(l) {
115
+ this.openedResultPanel = l, this.arcgisOpenedResultPanelChange.emit(l);
116
+ }
117
+ _switchResultPanel(l) {
118
+ const s = l.currentTarget.dataset.panelName;
115
119
  s && this.updateResultPanel(s);
116
120
  }
117
121
  _emitClose() {
118
122
  this.arcgisClose.emit();
119
123
  }
120
124
  renderConsolePanel() {
121
- return this.openedResultPanel !== "console" ? null : this.loading && !this.consoleLogs?.length ? t`<calcite-loader scale=s type=indeterminate label></calcite-loader>` : t`<div class="console-logs-container ltr-container">${this.consoleLogs?.length ? this.consoleLogs.map((a) => t`<p>${a}</p>`) : t`<p>${this.messages.consolemessage}</p>`}</div>`;
125
+ return this.openedResultPanel !== "console" ? null : this.loading && !this.consoleLogs?.length ? t`<calcite-loader scale=s type=indeterminate label></calcite-loader>` : t`<div class="console-logs-container ltr-container">${this.consoleLogs?.length ? this.consoleLogs.map((l) => t`<p>${l}</p>`) : t`<p>${this.messages.consolemessage}</p>`}</div>`;
122
126
  }
123
127
  renderLogPanel() {
124
128
  if (this.openedResultPanel !== "log")
125
129
  return null;
126
130
  if (this.loading)
127
131
  return t`<calcite-loader scale=s type=indeterminate label></calcite-loader>`;
128
- const a = this.result?.type === "error" ? "color-error" : "color-success";
132
+ const l = this.result?.type === "error" ? "color-error" : "color-success";
129
133
  return t`<calcite-list label=results>${this.result ? t`<calcite-list-item .label=${o(this.messages.lastexecutionformat, {
130
134
  timeStamp: new Intl.DateTimeFormat(this.messages._t9nLocale, {
131
135
  dateStyle: "medium",
132
136
  timeStyle: "medium"
133
137
  }).format(this.result.timeStamp)
134
- })}><calcite-icon slot=content-start icon=information scale=s class=${v(a)}></calcite-icon></calcite-list-item><calcite-list-item .label=${o(this.messages.compilationtimeformat, {
138
+ })}><calcite-icon slot=content-start icon=information scale=s class=${v(l)}></calcite-icon></calcite-list-item><calcite-list-item .label=${o(this.messages.compilationtimeformat, {
135
139
  time: new Intl.NumberFormat(this.messages._t9nLocale, {
136
140
  style: "unit",
137
141
  unit: "millisecond",
138
142
  maximumFractionDigits: 2
139
143
  }).format(this.result.compilationTime ?? 0)
140
- })}><calcite-icon slot=content-start icon=information scale=s class=${v(a)}></calcite-icon></calcite-list-item><calcite-list-item .label=${o(this.messages.executiontimeformat, {
144
+ })}><calcite-icon slot=content-start icon=information scale=s class=${v(l)}></calcite-icon></calcite-list-item><calcite-list-item .label=${o(this.messages.executiontimeformat, {
141
145
  time: new Intl.NumberFormat(this.messages._t9nLocale, {
142
146
  style: "unit",
143
147
  unit: "millisecond",
144
148
  maximumFractionDigits: 2
145
149
  }).format(this.result.executionTime ?? 0)
146
- })}><calcite-icon slot=content-start icon=information scale=s class=${v(a)}></calcite-icon></calcite-list-item>` : t`<calcite-list-item .label=${this.messages.runscriptmessage}><calcite-icon slot=content-start icon=information scale=s class="color-info"></calcite-icon></calcite-list-item>`}</calcite-list>`;
150
+ })}><calcite-icon slot=content-start icon=information scale=s class=${v(l)}></calcite-icon></calcite-list-item>` : t`<calcite-list-item .label=${this.messages.runscriptmessage}><calcite-icon slot=content-start icon=information scale=s class="color-info"></calcite-icon></calcite-list-item>`}</calcite-list>`;
147
151
  }
148
152
  renderOutputPanel() {
149
153
  if (this.openedResultPanel !== "output")
@@ -165,18 +169,18 @@ class z extends M {
165
169
  return t`<div class="result-value-simple ltr-container"><span class="value-type">${this.result.type}:&nbsp;</span>${p({ arcadeResult: this.result })}</div>`;
166
170
  case "array": {
167
171
  const s = (this.result.value ?? []).slice(0, m);
168
- return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${S({ arcadeResult: this.result, t9nStrings: this.messages })}</div>${T({ items: s, subtree: !0, t9nStrings: this.messages })}</calcite-tree-item></calcite-tree></div>`;
172
+ return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${T({ arcadeResult: this.result, t9nStrings: this.messages })}</div>${R({ items: s, subtree: !0, t9nStrings: this.messages })}</calcite-tree-item></calcite-tree></div>`;
169
173
  }
170
174
  case "geometry":
171
- return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${w({ value: this.result.value, subtree: !0 })}</calcite-tree-item></calcite-tree></div>`;
175
+ return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${k({ value: this.result.value, subtree: !0 })}</calcite-tree-item></calcite-tree></div>`;
172
176
  case "attachment":
173
- return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${x({ value: this.result.value, subtree: !0 })}</calcite-tree-item></calcite-tree></div>`;
177
+ return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${S({ value: this.result.value, subtree: !0 })}</calcite-tree-item></calcite-tree></div>`;
174
178
  case "feature":
175
179
  case "dictionary":
176
180
  case "portal":
177
- return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${l.lines} .selectionMode=${l.selectionMode} .scale=${l.scale} @calciteTreeSelect=${l.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${k({ value: this.result.value, subtree: !0, t9nStrings: this.messages })}</calcite-tree-item></calcite-tree></div>`;
181
+ return t`<div class="result-value-simple ltr-container"><calcite-tree .lines=${a.lines} .selectionMode=${a.selectionMode} .scale=${a.scale} @calciteTreeSelect=${a.oncalciteTreeSelect}><calcite-tree-item expanded @click=${d.onClick}><div class="tree-item-label">${this.result.type}</div>${P({ value: this.result.value, subtree: !0, t9nStrings: this.messages })}</calcite-tree-item></calcite-tree></div>`;
178
182
  case "featureSet":
179
- return t`<div class="result-value-table ltr-container">${F({ arcadeResult: this.result, t9nStrings: this.messages })}${_({ arcadeResult: this.result })}</div>`;
183
+ return t`<div class="result-value-table ltr-container">${z({ arcadeResult: this.result, t9nStrings: this.messages })}${N({ arcadeResult: this.result })}</div>`;
180
184
  case "knowledgeGraph":
181
185
  return t`<div class="result-value-simple ltr-container"><span class="value-type">${this.result.type}:&nbsp;</span><span class="string-value">${this.result.value.url}</span></div>`;
182
186
  default:
@@ -184,10 +188,10 @@ class z extends M {
184
188
  }
185
189
  }
186
190
  render() {
187
- return t`<header class="flex-row"><calcite-action-bar class="flex-adjustable" layout=horizontal scale=s expanded expand-disabled><calcite-action-group scale=s><calcite-action .active=${this.openedResultPanel === "output"} .text=${this.messages.output ?? ""} text-enabled scale=s icon=list-show-all icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=output></calcite-action><calcite-action .active=${this.openedResultPanel === "console"} .text=${this.messages.console ?? ""} text-enabled scale=s icon=console icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=console></calcite-action><calcite-action .active=${this.openedResultPanel === "log"} .text=${this.messages.log ?? ""} text-enabled scale=s icon=list icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=log></calcite-action></calcite-action-group></calcite-action-bar><calcite-action scale=s icon=x .text=${this.messages.close ?? ""} @click=${this._emitClose}></calcite-action></header><article class="flex-adjustable">${this.loading ? t`<calcite-loader scale=s type=indeterminate label></calcite-loader>` : t`<div class="flex-column y-scrollable-container">${this.renderOutputPanel()}${this.renderConsolePanel()}${this.renderLogPanel()}</div>`}</article>`;
191
+ return t`<header class="flex-row"><calcite-action-bar class="flex-adjustable" layout=horizontal scale=s expanded expand-disabled><calcite-action-group scale=s><calcite-action .active=${this.openedResultPanel === "output"} .text=${this.messages.output ?? ""} text-enabled scale=s icon=list-show-all icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=output ${$(this.outputRef)}></calcite-action><calcite-action .active=${this.openedResultPanel === "console"} .text=${this.messages.console ?? ""} text-enabled scale=s icon=console icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=console ${$(this.consoleRef)}></calcite-action><calcite-action .active=${this.openedResultPanel === "log"} .text=${this.messages.log ?? ""} text-enabled scale=s icon=list icon-flip-rtl @click=${this._switchResultPanel} data-panel-name=log ${$(this.logRef)}></calcite-action></calcite-action-group></calcite-action-bar><calcite-action scale=s icon=x .text=${this.messages.close ?? ""} @click=${this._emitClose}></calcite-action></header><article class="flex-adjustable">${this.loading ? t`<calcite-loader scale=s type=indeterminate label></calcite-loader>` : t`<div class="flex-column y-scrollable-container">${this.renderOutputPanel()}${this.renderConsolePanel()}${this.renderLogPanel()}</div>`}</article>`;
188
192
  }
189
193
  }
190
- P("arcgis-arcade-results", z);
194
+ C("arcgis-arcade-results", j);
191
195
  export {
192
- z as ArcgisArcadeResults
196
+ j as ArcgisArcadeResults
193
197
  };
@@ -8,7 +8,7 @@ import { f as b } from "../../chunks/monaco-importer.js";
8
8
  import { u as _ } from "../../chunks/useT9n.js";
9
9
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
10
10
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
11
- v5.0.0-next.2 */
11
+ v5.0.0-next.21 */
12
12
  function v(o) {
13
13
  return !Array.isArray(o) || !o.length ? !1 : Array.isArray(o[0].suggestions);
14
14
  }
@@ -1,6 +1,6 @@
1
1
  import { g as a, c as d } from "../../chunks/runtime.js";
2
2
  import { i as c } from "../../chunks/monaco-importer.js";
3
- import { observeAncestorsMutation as l, unsafeGetCalciteModeName as h } from "@arcgis/toolkit/dom";
3
+ import { observeAncestorsMutation as h, unsafeGetCalciteModeName as l } from "@arcgis/toolkit/dom";
4
4
  import { generateGuid as u } from "@arcgis/toolkit/string";
5
5
  import { Deferred as m } from "@arcgis/toolkit/promise";
6
6
  import { LitElement as p, createEvent as o, noShadowRoot as g } from "@arcgis/lumina";
@@ -11,7 +11,7 @@ import { load as I } from "@arcgis/lumina/controllers";
11
11
  import { Range as v, Uri as s, KeyMod as n, KeyCode as r } from "monaco-editor";
12
12
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
13
13
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
14
- v5.0.0-next.2 */
14
+ v5.0.0-next.21 */
15
15
  const M = f`@layer{arcgis-code-editor{display:flex;width:100%;height:100%;flex-direction:column;direction:ltr;.monaco-editor{flex:1 1 auto;.monaco-hover,.editor-widget,.suggest-details-container{z-index:9999}div[widgetid="editor.contrib.resizableContentHoverWidget"],div[widgetid="editor.widget.suggestWidget"],div[widgetid="suggest.details"]{z-index:calc(var(--calcite-z-index-header) + 1)!important}}}}`, b = {
16
16
  autoIndent: "advanced",
17
17
  automaticLayout: !0,
@@ -78,7 +78,7 @@ class y extends p {
78
78
  this.value = this._editorInstance?.getValue() ?? "", this.arcgisValueChange.emit(this.value);
79
79
  }), this._editorInstance.onDidChangeCursorSelection((i) => {
80
80
  this.arcgisSelectionChange.emit({ selection: i.selection, model: this._editorInstance?.getModel() });
81
- }), this._themeObserver = l(this.el, ["class"], () => this.updateTheme()), this.updateTheme(), new ResizeObserver(() => this._editorInstance?.layout()).observe(this.el), this.addCommonEditorActions(), () => {
81
+ }), this._themeObserver = h(this.el, ["class"], () => this.updateTheme()), this.updateTheme(), new ResizeObserver(() => this._editorInstance?.layout()).observe(this.el), this.addCommonEditorActions(), () => {
82
82
  for (this._editorInstance?.getModel()?.dispose(); this._disposables.length; )
83
83
  this._disposables.pop()?.dispose();
84
84
  this._themeObserver?.();
@@ -86,7 +86,7 @@ class y extends p {
86
86
  });
87
87
  }
88
88
  willUpdate(e) {
89
- e.has("value") && this._updateModelValue(), (e.has("language") || e.has("modelId")) && this._updateModel(), e.has("editorOptions") && this._editorInstance?.updateOptions(this.editorOptions ?? {});
89
+ e.has("value") && this._updateModelValue(), (e.has("language") || e.has("modelId")) && this.hasUpdated && this._updateModel(), e.has("editorOptions") && this._editorInstance?.updateOptions(this.editorOptions ?? {});
90
90
  }
91
91
  _updateModelValue() {
92
92
  if (!this._editorInstance)
@@ -107,7 +107,7 @@ class y extends p {
107
107
  return this.modelId ? s.parse(this.modelId) : s.parse("");
108
108
  }
109
109
  updateTheme() {
110
- const e = h(this.el) === "light" ? "vs" : "vs-dark";
110
+ const e = l(this.el) === "light" ? "vs" : "vs-dark";
111
111
  e !== this._currentTheme && (this._currentTheme = e, this._monacoEditor.setTheme(e));
112
112
  }
113
113
  addCommonEditorActions() {
@@ -7,7 +7,7 @@ import { createFilterExpression as f } from "@arcgis/toolkit/string";
7
7
  import { u as m } from "../../chunks/useT9n.js";
8
8
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
9
9
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
10
- v5.0.0-next.2 */
10
+ v5.0.0-next.21 */
11
11
  const u = n`:host{background-color:var(--calcite-color-foreground-1);.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1)}.sticky{position:sticky;top:0;z-index:10}calcite-flow{height:100%}calcite-list-item-group{background-color:var(--calcite-color-foreground-2);word-break:break-word}}`;
12
12
  function g(l) {
13
13
  l.key === "Enter" && l.stopPropagation();
@@ -10,7 +10,7 @@ import { u as v } from "../../chunks/useT9n.js";
10
10
  import { s as d } from "../../chunks/sql-expr-contribution.js";
11
11
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
12
12
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
13
- v5.0.0-next.2 */
13
+ v5.0.0-next.21 */
14
14
  const y = h`:host{background-color:var(--calcite-color-foreground-1);.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1)}.sticky{position:sticky;top:0;z-index:10}calcite-flow{height:100%}calcite-block{p:first-of-type{margin-top:0}code{font-family:var(--calcite-code-family)}pre{direction:ltr;overflow-x:auto;background-color:var(--calcite-color-foreground-2);padding:var(--calcite-spacing-sm);code{font-size:var(--calcite-font-size--2)}}}calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}}`;
15
15
  class I extends p {
16
16
  constructor() {
@@ -9,7 +9,7 @@ import { s as f } from "../../chunks/editor.js";
9
9
  import { getSqlExprDiagnosticService as _ } from "../../chunks/sql-expr-mode.js";
10
10
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
11
11
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
12
- v5.0.0-next.2 */
12
+ v5.0.0-next.21 */
13
13
  const u = n`@layer{arcgis-sql-expression-editor{display:flex;flex-direction:column;position:relative;overflow:hidden;border:var(--arcgis-coding-components-border)!important;box-sizing:border-box;background-color:var(--arcgis-coding-components-background-color);height:100%}}`;
14
14
  class m extends c {
15
15
  constructor() {
@@ -6,7 +6,7 @@ import { a as m } from "../../chunks/sql-expr-defaults.js";
6
6
  import { u as d } from "../../chunks/useT9n.js";
7
7
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
8
8
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
9
- v5.0.0-next.2 */
9
+ v5.0.0-next.21 */
10
10
  const h = r`:host{calcite-flow{height:100%}calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}}`;
11
11
  class g extends n {
12
12
  constructor() {
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-27T04:41:15",
2
+ "timestamp": "2025-10-14T04:45:57",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "5.0.0-next.2",
5
+ "version": "5.0.0-next.21",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "schemaVersion": "1.0.0",
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-27T04:41:15",
2
+ "timestamp": "2025-10-14T04:45:57",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "5.0.0-next.2",
5
+ "version": "5.0.0-next.21",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "components": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@arcgis/coding-components",
4
- "version": "5.0.0-next.2",
4
+ "version": "5.0.0-next.21",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { a as c } from "./chunks/arcade-defaults.js";
3
3
  import { s as p } from "./chunks/sql-expr-defaults.js";
4
4
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
5
5
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
6
- v5.0.0-next.2 */
6
+ v5.0.0-next.21 */
7
7
  const a = s, r = t;
8
8
  export {
9
9
  c as arcade,
package/dist/loader.js CHANGED
@@ -2,7 +2,7 @@ import { r as e } from "./chunks/runtime.js";
2
2
  import { makeDefineCustomElements as s } from "@arcgis/lumina";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
- v5.0.0-next.2 */
5
+ v5.0.0-next.21 */
6
6
  const a = s(e, {
7
7
  "arcgis-arcade-coding-assistant": [() => import("./components/arcgis-arcade-coding-assistant/customElement.js"), "appVersion,assistantsEnabled,closed,closePanel:,editorRef:,feedbackServiceUrl,helpBase,insertText:,layer,portalUrl,serviceUrl;destroy"],
8
8
  "arcgis-arcade-editor": [() => import("./components/arcgis-arcade-editor/customElement.js"), "arcadeAssistant:,customPanels:,editorInstance:,editorOptions:,hideDocumentationActions,hideSideBar,openedSidePanel:,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getEditorInstance,getScript,getTestResult,setFocus"],
@@ -1,6 +1,6 @@
1
1
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
2
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.2 */
3
+ v5.0.0-next.21 */
4
4
  const A = `/*!-----------------------------------------------------------
5
5
  * Copyright (c) Microsoft Corporation. All rights reserved.
6
6
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -16,7 +16,7 @@ export declare abstract class LanguageDefaultsBase<TApiContext extends ApiContex
16
16
  protected _onDidChange: Emitter<this>;
17
17
  protected _modelToProfileMap: Map<string, EditorProfile>;
18
18
  protected _modelToApiContextMap: Map<string, TApiContext>;
19
- protected _localeToApiLibraryPromiseMap: Map<"id" | "en" | "el" | "hr" | "th" | "tr" | "es" | "da" | "sl" | "fi" | "ca" | "ar" | "de" | "it" | "vi" | "pl" | "et" | "sk" | "sv" | "fr" | "he" | "cs" | "lt" | "no" | "ro" | "ru" | "bs" | "bg" | "hu" | "ja" | "ko" | "lv" | "nl" | "nb" | "pt-BR" | "pt-PT" | "sr" | "uk" | "zh-CN" | "zh-HK" | "zh-TW", Promise<ApiCategory[]>>;
19
+ protected _localeToApiLibraryPromiseMap: Map<"id" | "en" | "el" | "hr" | "th" | "tr" | "de" | "pl" | "et" | "ro" | "es" | "da" | "sl" | "fi" | "ca" | "ar" | "it" | "vi" | "sk" | "sv" | "fr" | "he" | "cs" | "lt" | "no" | "ru" | "bs" | "bg" | "hu" | "ja" | "ko" | "lv" | "nl" | "nb" | "pt-BR" | "pt-PT" | "sr" | "uk" | "zh-CN" | "zh-HK" | "zh-TW", Promise<ApiCategory[]>>;
20
20
  protected _onModelContextDidChange: Emitter<string>;
21
21
  protected _onDidModelContextChangeTimeout: number;
22
22
  constructor(languageId: string, _apiConfig: ApiConfig);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/coding-components",
3
- "version": "5.0.0-next.2",
3
+ "version": "5.0.0-next.21",
4
4
  "description": "Contains components for editing code in different languages. The currently supported languages are html, css, json, TypeScript, JavaScript, and Arcade.",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -42,10 +42,10 @@
42
42
  ],
43
43
  "license": "SEE LICENSE IN LICENSE.md",
44
44
  "dependencies": {
45
- "@arcgis/arcade-languageservice": "5.0.0-next.2",
46
- "@arcgis/languages-api-utils": "5.0.0-next.2",
47
- "@arcgis/lumina": "5.0.0-next.2",
48
- "@arcgis/toolkit": "5.0.0-next.2",
45
+ "@arcgis/arcade-languageservice": "5.0.0-next.21",
46
+ "@arcgis/languages-api-utils": "5.0.0-next.21",
47
+ "@arcgis/lumina": "5.0.0-next.21",
48
+ "@arcgis/toolkit": "5.0.0-next.21",
49
49
  "lit": "^3.3.0",
50
50
  "monaco-editor": "^0.52.0",
51
51
  "tslib": "^2.8.1",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@arcgis/core": ">=5.0.0-next.1 <5.1",
56
- "@esri/calcite-components": "^3.3.0"
56
+ "@esri/calcite-components": "^3.3.2"
57
57
  },
58
58
  "css.customData": [
59
59
  "dist/docs/vscode.css-custom-data.json"
@@ -1,6 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.2 */
4
- import{a as T}from"./5Q4TNVBR.js";import b from"./N3KRUYKI.js";import{a as D}from"./YRVXNHCR.js";import"./WXYXACGL.js";import a from"./YSVAM5JY.js";import"./DS6FR3VW.js";import"./M76LYHDZ.js";import{i as L,j as B}from"./55BCOGYG.js";import"./3VCHMRG2.js";import"./S5ADUSVB.js";import{B as x,D as H,g as M,h as c,i as U,j as A,p as q,q as _,r as F,x as z,y as O,z as V}from"./RZPKGZVQ.js";import{g as P}from"./46CC6MI2.js";import"./QYCUOYGE.js";import"./PQFNWANF.js";export default $arcgis.t(([ae,Q,oe,ce,re,{a:j},C])=>{var $=class extends F{constructor(e){if(super(e),this.it=A,e.type!==q.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===A||e==null)return this._t=void 0,this.it=e;if(e===U)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};$.directiveName="unsafeHTML",$.resultType=1;var k=_($);var ne=M`:host(:not([closed])){container-type:size;--calcite-block-border-color: var(--calcite-color-transparent);flex:1 0 auto;border-inline-start:var(--arcgis-coding-components-border);box-sizing:border-box;max-width:var(--arcgis-coding-components-code-editor-side-panel-max-w);width:var(--arcgis-coding-components-code-editor-side-panel-w);.submission-actions-wrapper{display:flex;flex-direction:column;width:100%;gap:.75rem}.submission-actions{display:flex;flex-direction:row;gap:.5rem;justify-content:space-between}.gaps{display:flex;gap:.25rem}.align-inline-end{margin-inline-start:auto}.action .error-display{display:flex;flex-direction:row;gap:.5rem;justify-content:space-between}.context-popover p{padding:0 .5rem;font-size:var(--calcite-font-size-sm)}.feedback-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;max-height:30vh;overflow-y:auto}.feedback-sheet{--calcite-sheet-height: auto;--calcite-sheet-max-height: 100%;--calcite-sheet-min-height: auto}calcite-chip[slot=header-actions-end]{align-self:center;margin-inline-end:.5rem}calcite-flow-item calcite-shell{background:transparent}calcite-block{width:100%;max-width:100%;align-self:flex-end;background-color:transparent;margin-block:0}calcite-sheet{--calcite-sheet-scrim-background: rgba(200, 200, 200, .5)}.type-suggestion{--calcite-color-foreground-1: var(--calcite-color-foreground-current);--calcite-color-text-3: var(--calcite-color-text-2);--calcite-icon-color: var(--calcite-color-brand)}.type-history{--calcite-icon-color: var(--calcite-color-text-2)}.type-response{--calcite-icon-color: var(--calcite-color-brand);--calcite-font-family: monospace}.block-response{align-self:flex-start;margin-block-end:4rem;border-block-end:0;--calcite-block-text-color: var(--calcite-color-brand)}calcite-list-item calcite-button{margin-inline-end:.25rem}.type-docs{--calcite-color-foreground-1: var(--calcite-color-foreground-3);--calcite-icon-color: var(--calcite-color-text-1)}.type-error{--calcite-icon-color: var(--calcite-color-status-danger);--calcite-font-family: monospace;border:1px solid var(--calcite-color-status-danger)}#thumbs-up{margin-inline-start:auto;--calcite-icon-color: var(--calcite-color-border-input)}#thumbs-down{--calcite-icon-color: var(--calcite-color-border-input)}calcite-flow-item calcite-shell calcite-notice{margin-block:1rem}.no-space-block,.no-space-block[open]{margin:0}calcite-block[open]:last-of-type{border-block-end:0}.text-area-wrapper{display:flex;border-radius:var(--calcite-corner-radius-round);margin:.75rem;overflow:hidden;--calcite-color-border-input: transparent;position:sticky;box-shadow:var(--calcite-shadow-sm);flex:none}calcite-text-area{height:auto;min-height:5.75rem;overflow:hidden;border-radius:var(--calcite-corner-radius-round) var(--calcite-corner-radius-round) 0 0;--calcite-font-weight-normal: 500;font-weight:500;line-height:1.2}calcite-tooltip{--calcite-tooltip-z-index: 1000}.standalone-list{margin:1rem;width:calc(100% - 2rem)}.result-disclaimer{display:block;width:24rem;max-width:90%;margin:1rem auto;text-align:center;line-height:1.125rem;font-size:.875rem;font-style:italic}calcite-flow{height:100%}calcite-popover calcite-list{--calcite-list-background-color: transparent;--calcite-input-border-color: transparent}calcite-popover calcite-list calcite-filter{--calcite-spacing-sm: 0}.break-spaces{white-space:break-spaces}.feedback-button-container{margin-inline-start:auto;gap:0}.info-heading{font-size:var(--calcite-font-size-1);color:var(--calcite-color-text-1)}.unstyled-h3{margin:unset;font-size:var(--calcite-font-size-md)}.unstyled-shell{position:unset;inset:unset;display:unset;block-size:unset;inline-size:unset}.suggestion-button{font-weight:var(--calcite-font-weight-medium)}.info-block{max-width:450px}#result-block{calcite-card-group{--calcite-card-group-gap: 1.25rem}calcite-card{--calcite-card-corner-radius: var(--calcite-corner-radius-round);--calcite-card-border-color: transparent;width:100%}.positioned-code-content{display:flex;flex-direction:row;gap:.5rem;padding:.5rem}calcite-card [slot=title] calcite-chip{margin-block-start:.25rem}.code-response-wrapper{position:relative;background:var(--calcite-color-foreground-2);border-radius:var(--calcite-corner-radius-round);margin-top:-1.5rem}.prior-prompt{display:flex;flex-direction:row;padding:0;overflow-y:hidden;overflow-x:auto;margin:.25rem 0 .75rem;align-items:center;max-width:100%;span{overflow-x:auto;overflow-y:hidden}}.copy-feedback{display:none}.copy-prompt-button{align-self:flex-start;margin-inline-start:auto}.response-secondary-action-button[data-copied]+.copy-feedback,.copy-prompt-button[data-copied]+.copy-feedback{display:block;span{padding:.75rem 1rem;font-size:var(--calcite-font-size--2);line-height:1.375;color:var(--calcite-color-text--2);font-weight:var(--calcite-font-weight-medium)}}.copy-prompt-button[data-copied]~.copy-tooltip,.response-secondary-action-button[data-copied]~.copy-tooltip{display:none}code{white-space:pre;font-size:12px;margin:0;overflow-x:auto;font-family:Fira Mono,Consolas,Menlo,monospace;display:block;max-height:12rem;position:relative;padding:.5rem}.code-collapse{margin-inline-start:auto}.response-secondary-action-button{margin-left:.5rem}.add-to-editor-button{--calcite-internal-button-border-color: unset}}.collapsible-code{padding:.5rem}.collapsible-code summary{cursor:pointer;font-weight:500;color:var(--calcite-color-brand);outline:none;padding:.25rem 0}.collapsible-code[open] summary{color:var(--calcite-color-text-2)}.collapsible-error{padding:.5rem}.collapsible-error summary{cursor:pointer;font-weight:500;color:var(--calcite-color-status-danger);outline:none;padding:.25rem 0}.collapsible-error[open] summary{color:var(--calcite-color-text-2)}.response-error-container{padding:.5rem;background:color-mix(in srgb,var(--calcite-color-status-warning) 10%,transparent);border-radius:var(--calcite-corner-radius-round);margin:1rem 0;font-size:var(--calcite-font-size--2);--calcite-input-message-icon-color: var(--calcite-color-status-warning)}.response-error-chip{--calcite-internal-chip-background-color: var(--calcite-color-status-warning);--calcite-chip-icon-color: var(--calcite-color-foreground-1);--calcite-chip-border-color: var(--calcite-color-transparent)}.feedback-actions{gap:unset}.contained{max-width:100%;max-height:100%;max-width:100cqi;max-height:75cqb;overflow-y:auto}}:host([closed]){display:none}`,f=class extends Error{constructor({message:e,code:t,subCode:s,details:r,source:n}){super(e),this.name="ArcadeAssistantError",this.code=t,this.subCode=s,this.details=r,this.source=n}};function G(i){if(!i)return;let e=i.indexOf('{"error":');if(e!==-1)try{let t=i.slice(e),s=JSON.parse(t);if(s&&typeof s=="object"&&s.error)return s.error}catch{return}}async function le(i){let{baseUrl:e,skillId:t,message:s,authToken:r,previousConversationId:n,context:l}=i,p=t?`${e}/skills/${t}/chat`:`${e}/chat`,o=[],m={message:s,context:l};n&&(m.conversation_id=n);let a;try{a=await Q(p,{method:"post",headers:{"Content-Type":"application/json",token:r},body:JSON.stringify(m),responseType:"json"})}catch(g){let b=g,w=b.details?.rawResponse||b.message||String(g),v=G(w);throw v?new f(v):g}let d=a.data;o.push(d);let u=d.conversationId,ee=d.inquiryId,E=d.sequenceNumber;async function te(){let g=0,b=25;for(;g<b;){await new Promise(y=>setTimeout(y,1e3));let w=de(u,E,ee),v;try{v=await Q(p,{method:"post",headers:{"Content-Type":"application/json",token:r},body:JSON.stringify(w),responseType:"json"})}catch(y){let R=y,se=R.details?.rawResponse||R.message||String(y),N=G(se);throw N?new f(N):y}let h=v.data;if(h.context&&h.context.kind==="ArcgisErrorAsContext"&&h.context.error)throw new f({message:h.context.error.message||"ArcGIS Assistant error",code:h.context.error.code,subCode:h.context.error.subCode,details:h.context.error.details,source:"polling-response"});if(o.push(h),E=h.sequenceNumber,g++,!h.hasMore)break}if(g===b)throw new f({message:"Request timed out",code:"TIMEOUT",source:"polling"})}let ie=2*60*1e3;return await Promise.race([te(),new Promise((g,b)=>setTimeout(()=>b(new f({message:"Request timed out",code:"TIMEOUT",source:"hard-timeout"})),ie))]),o}function de(i,e,t){return{conversationId:i,inquiryId:t,ackSequenceNumber:e}}function pe(i){return i.message.match(/Error in prompt shield/u)?"I'm having trouble with this request. Try again by rephrasing the question.":i.code==="TIMEOUT"?"I'm having trouble with this request. Try again by re-asking the same question or rephrasing it.":i.message}var ue=i=>{let e=i.value.length,t=72,s=180,r=i.offsetWidth,n=Math.max(1,Math.floor(r/8)),l=Math.ceil(e/n),p=t+(l-2)*24;i.style.setProperty("--calcite-text-area-min-height",`${Math.min(p,s)}px`)};function me({messages:i}){return c`<calcite-chip slot=header-actions-end scale=s appearance=outline-fill .label=${i.beta??"Beta"}>${i.beta??"Beta"}</calcite-chip>`}function he({popoverContent:i}){return c`<calcite-action icon=information slot=header-actions-end id=legal-disclaimer text></calcite-action><calcite-popover reference-element=legal-disclaimer label=legal-disclaimer placement=bottom auto-close focus-trap-disabled><div class="contained">${i}</div></calcite-popover>`}function Z({errorMessage:i,slot:e}){return c`<div class="error-display"><calcite-input-message id=error-message status=invalid icon=exclamation-mark-triangle scale=m slot=${e??x}>${i}</calcite-input-message></div>`}function ge({active:i,setActive:e,messages:t}){return c`<calcite-alert slot=alerts .open=${i} placement=bottom kind=success icon=check-circle-f auto-close @calciteAlertClose=${()=>e(!1)} .label=${t.expressionapplied??"Expression applied"}><div slot=message>${t.expressionapplied??"Expression applied to editor."}</div></calcite-alert>`}function be({context:i,messages:e}){return i?c`<div class="gaps">${i.profileName&&c`<calcite-popover auto-close placement=top .label=${(e.profilecontextlabel??"Profile context: {profileName}").replace("{profileName}",i.profileName)} reference-element=profile-context-button class="context-popover"><p>${(e.profilecontextlabel??"Profile context: {profileName}").replace("{profileName}",i.profileName)}</p></calcite-popover><calcite-button round kind=neutral icon-start=map-information id=profile-context-button></calcite-button>`||""}${i.layerName&&c`<calcite-popover auto-close placement=top .label=${(e.layercontextlabel??"Layer context: {layerName}").replace("{layerName}",i.layerName)} reference-element=layer-context-button class="context-popover"><p>${(e.layercontextlabel??"Layer context: {layerName}").replace("{layerName}",i.layerName)}</p></calcite-popover><calcite-button round kind=neutral icon-start=layers id=layer-context-button></calcite-button>`||""}</div>`:null}function fe({isDisabled:i,isReadOnly:e,setQuestion:t,setIsViewingResult:s,textAreaRef:r,question:n,errorMessage:l,setErrorMessage:p,submitQuestion:o,messages:m,mode:a,context:d}){return c`<div class="text-area-wrapper"><calcite-text-area resize=vertical .readOnly=${i||e} class="styled-text-area" .placeholder=${m.askaquestion??`Specify the calculation or logic you need in an Arcade expression. (e.g., 'Return "Yes" if value > 10')`} .value=${n} @calciteTextAreaInput=${u=>{ue(u.target),t(u.target.value)}} ${O(r)}><div class="submission-actions-wrapper" slot=footer-start>${l&&Z({errorMessage:l,slot:"footer-start"})||""}<div class="submission-actions">${be({context:d,messages:m})}<div class="align-inline-end gaps"><calcite-button round kind=neutral .hidden=${a!=="refine"} icon-start=arrow-left icon-flip-rtl=both appearance=solid .disabled=${i} @click=${async()=>{s(!1),t("")}}>${m.startover??"Start Over"}</calcite-button><calcite-button round icon-end=effects appearance=solid .loading=${i} .disabled=${i} @click=${async()=>{p(n?"":m.enteraprompt??"Please enter a prompt"),await o()}}>${a==="prompt"?m.ask??"Generate":m.refine??"Refine"}</calcite-button></div></div></div></calcite-text-area></div>`}var ve="https://www.esri.com/en-us/privacy/privacy-statements/privacy-statement",ye="https://www.esri.com/en-us/privacy/privacy-statements/privacy-supplement";function $e({setOpen:i,messages:e,feedback:t,setFeedback:s,onSubmit:r}){return t.active?c`<calcite-sheet class="feedback-sheet" .label=${e.feedback??"Feedback"} slot=sheets display-mode=float position=block-end .open=${t.active} @calciteSheetClose=${()=>i(!1)}><calcite-panel .heading=${e.providefeedback??"Provide feedback"} .description=${e.experiencehelps??"Your experience helps guide future improvements"}><div class="feedback-content"><calcite-label>${e.experiencehelpful??"Was the assistant helpful?"}<calcite-segmented-control scale=l><calcite-segmented-control-item icon-start=thumbs-up .checked=${t.value==="good"} @click=${()=>s({...t,value:"good"})}></calcite-segmented-control-item><calcite-segmented-control-item icon-start=thumbs-down .checked=${t.value==="bad"} @click=${()=>s({...t,value:"bad"})}></calcite-segmented-control-item></calcite-segmented-control></calcite-label><calcite-label>${e.describeexperience??"Describe your experience"}<calcite-text-area resize=vertical .value=${t.text} @calciteTextAreaInput=${n=>s({...t,text:n.target.value})}></calcite-text-area></calcite-label><calcite-label layout=inline scale=s><calcite-checkbox scale=l .checked=${t.termsAccepted} @calciteCheckboxChange=${n=>{s({...t,termsAccepted:n.target.checked})}}></calcite-checkbox><span>${k((e.agreement??"I agree to the {EsriPrivacyStatement} (and {Supplement}).").replace("{EsriPrivacyStatement}",`<calcite-link href=${ve} target="_blank">${e.esriprivacystatement??"Esri Privacy Statement"}</calcite-link>`).replace("{Supplement}",`<calcite-link href=${ye} target="_blank">${e.supplement??"Supplement"}</calcite-link>`))}</span></calcite-label></div><calcite-button slot=footer width=full @click=${r} .disabled=${!t.termsAccepted||t.submitting} .loading=${t.submitting}>${e.submitfeedback??"Submit Feedback"}</calcite-button></calcite-panel></calcite-sheet>`:null}function J({assistantsEnabled:i,messages:e,slot:t,assistantHelpUrl:s,helpTopicUrl:r}){return c`<calcite-block .label=${e.assistantinformation??"Assistant information"} slot=${t??x} expanded class="info-block"><calcite-chip .label=${e.new??"New"} kind=brand>${e.new??"New"}</calcite-chip><h1 class="info-heading">${e.introducing??"Introducing Arcade Assistant (beta)"}</h1><p>${e.capabilities??"The assistant uses artificial intelligence to generate Arcade expressions."}</p>${i?c`<p>${e.keepinmind??"Keep in mind the following:"}<ul><li>${e.beconsise??"Be concise, but also clear in your request"}</li><li>${e.avoidambiguity??"Avoid ambiguity and vagueness"}</li><li>${e.moredetails??"you do not need to use exact field names in your instructions, but more detail is generally better"}</li></ul>${k((e.seedocumentation??"Please see the {documentation} for more information, including limitations and additional resources.").replace("{documentation}",`<calcite-link href=${r} target="_blank">${e.documentation??"documentation"}</calcite-link>`))}</p>`:c`<p>${k(e.useofassistant?.replace("{aiassistants}",`<strong>${e.aiassistants??"Ai Assistants"}</strong>`))}<calcite-link .href=${s} target=_blank icon-end=launch-2>${e.configureassistants??"Configure Assistants"}</calcite-link></p>`}</calcite-block>`}function ke({messages:i,onProceed:e,onExit:t,helpTopicUrl:s}){return c`<calcite-dialog close-disabled placement=top .heading=${i.welcome??"Welcome to the new assistant experience"} slot=dialogs open width-scale=m id=welcome-dialog><h3 class="unstyled-h3">${i.beforeyougetstarted??"Before you get started be aware:"}</h3><ul><li>${i.maybeincorrect??"AI generated code may occasionally be incorrect or biased. Review carefully."}</li><li>${k((i.pleasereadhelp??"Read the Arcade Assistant (beta) {helpTopic} to get started and learn details on security, privacy and limitations.").replace("{helpTopic}",`<calcite-link href=${s} target="_blank">${i.helptopic??"help topic"}</calcite-link>`))}</li></ul><calcite-button id=welcome-proceed slot=footer-end @click=${e}>${i.proceed??"Proceed"}</calcite-button><calcite-button id=welcome-decline slot=footer-start @click=${t} kind=neutral>${i.exit??"Exit"}</calcite-button></calcite-dialog>`}function xe({messages:i,suggestions:e,onSuggestionClick:t}){return c`<calcite-block .heading=${i.promptsuggestions} expanded collapsible id=suggestion-block><calcite-chip-group class="suggestions" .label=${i.promptsuggestions??"Prompt Suggestions"}>${T(e,s=>s,s=>c`<calcite-button round appearance=outline-fill kind=neutral .label=${i.promptsuggestion} class="suggestion-button" @click=${()=>t?.(s)}>${s}</calcite-button>`)}</calcite-chip-group></calcite-block>`}var W=200;function Y({hidden:i=!1,expanded:e=!1,messages:t,cards:s,heading:r,collapsible:n=!1,showEffectsIcon:l=!1,onCopyCode:p,standalone:o}){let m=t.addtoeditor??"Add to editor";return c`<calcite-block .hidden=${i} id=result-block .heading=${r??t.besteffort??"Here is the assistant's best effort"} .expanded=${e} .collapsible=${n}>${l&&c`<calcite-chip .label=${t.assistantresponses??"Assistant responses"} slot=content-start icon=effects scale=m class="suggestion-chips"></calcite-chip>`||""}<calcite-card-group .label=${t.assistantresponses??"Assistant responses"}>${T(s,a=>a.conversationId,a=>c`<calcite-card><div slot=heading><div class="prior-prompt"><span>${a.priorPrompt.length>W?`${a.priorPrompt.slice(0,W)}...`:a.priorPrompt}</span><calcite-action icon=duplicate scale=s slot=actions-end class="copy-prompt-button" text .id=${`copy-prompt-${a.conversationId}-${o?"standalone":"list"}`} @click=${d=>{let u=d.currentTarget;navigator.clipboard.writeText(a.priorPrompt).then(()=>{u.setAttribute("data-copied","true"),setTimeout(()=>u.removeAttribute("data-copied"),1500)})}}></calcite-action><calcite-popover .referenceElement=${`copy-prompt-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start class="copy-feedback" .label=${t.copiedsuccessfully??"copied successfully"} open trigger-disabled><span>${t.copiedsuccessfully??"copied successfully"}</span></calcite-popover><calcite-tooltip .referenceElement=${`copy-prompt-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start class="copy-tooltip">${t.copyprompttoclipboard??"Copy prompt to clipboard"}</calcite-tooltip></div>${a.message&&o&&c`<div class="response-error-container">${Z({errorMessage:a.message})}</div>`||""}</div><div><div class="code-response-wrapper"><div class="positioned-code-content"><calcite-chip-group .label=${t.responsecontext??"Response Context"} scale=s>${a.message&&!o&&c`<calcite-tooltip .referenceElement=${`response-chip-${a.conversationId}-error`} placement=top-start>${a.message}</calcite-tooltip><calcite-chip .id=${`response-chip-${a.conversationId}-error`} .label=${t.error??"Error"} scale=s appearance=outline icon=exclamation-mark-triangle-f class="response-error-chip"></calcite-chip>`||""}${a.chips?.map(d=>{let u=P();return c`${d.tooltip&&c`<calcite-tooltip .referenceElement=${`response-chip-${d.conversationId}-${u}`} placement=top-start>${d.tooltip}</calcite-tooltip>`||""}<calcite-chip .label=${d.label} .scale=${d.scale??"s"} .appearance=${d.appearance??"outline"} .icon=${d.icon} .id=${`response-chip-${d.conversationId}-${u}`}>${d.label}</calcite-chip>`})}</calcite-chip-group></div><details class="collapsible-code" open><summary>Code response</summary><code>${a.code}</code></details></div></div><div slot=footer-start class="feedback-actions"><calcite-button primary-text=${m??x} class="add-to-editor-button" @click=${()=>a.onAddToEditor("add")} scale=s icon-start=plus round>${t.addtoeditor??"Add to editor"}</calcite-button><calcite-button round icon-start=file-code kind=neutral scale=s @click=${()=>a.onAddToEditor("replace")} class="response-secondary-action-button" .id=${`replace-${a.conversationId}-${o?"standalone":"list"}`}></calcite-button><calcite-tooltip .referenceElement=${`replace-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start><span>${t.replaceineditor??"Replace all code in editor"}</span></calcite-tooltip><calcite-button round icon-start=copy-to-clipboard kind=neutral scale=s @click=${d=>{let u=d.currentTarget;p(a.code).then(()=>{u.setAttribute("data-copied","true"),setTimeout(()=>u.removeAttribute("data-copied"),1500)})}} class="response-secondary-action-button" .id=${`copy-response-${a.conversationId}-${o?"standalone":"list"}`}></calcite-button><calcite-popover .referenceElement=${`copy-response-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start class="copy-feedback" .label=${t.copiedsuccessfully??"copied successfully"} open trigger-disabled><span>${t.copiedsuccessfully??"copied successfully"}</span></calcite-popover><calcite-tooltip .referenceElement=${`copy-response-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start class="copy-tooltip">${t.copytoclipboard??"Copy code to clipboard"}</calcite-tooltip></div><div slot=footer-end class="feedback-actions"><calcite-action .text=${t.thumbsup??"Thumbs up"} scale=s icon=thumbs-up @click=${a.onThumbsUp} .id=${`thumbs-up-${a.conversationId}-${o?"standalone":"list"}`}></calcite-action><calcite-tooltip .referenceElement=${`thumbs-up-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start><span>${t.helpful??"Helpful"}</span></calcite-tooltip><calcite-action .text=${t.thumbsdown??"Thumbs down"} scale=s icon=thumbs-down @click=${a.onThumbsDown} .id=${`thumbs-down-${a.conversationId}-${o?"standalone":"list"}`}></calcite-action><calcite-tooltip .referenceElement=${`thumbs-down-${a.conversationId}-${o?"standalone":"list"}`} placement=top-start><span>${t.unhelpful??"Unhelpful"}</span></calcite-tooltip></div></calcite-card>`)}</calcite-card-group></calcite-block>`}var we="arcade_generation",Ae="ArcadeCodeRequest",S="visualization",Ce="ArcadeAssistant",Te=["your_comments","user_evaluation","question","answer","useragent","_source","version","context","extras"],K=[],X=!0,I=class extends V{constructor(){super(...arguments),this.textAreaRef=z(),this.messages=D(),this._feedbackService=void 0,this.handleFeedbackButton=(e,t)=>{this.feedback={active:!0,value:e,item:t,termsAccepted:!1,text:"",submitting:!1}},this.handleFeedbackSheetClose=()=>{this.feedback={active:!1}},this.handleFeedbackSubmit=async()=>{if(!this.feedback.active)return;this.feedback={...this.feedback,submitting:!0};let e=await this.ensureFeedbackService();if(!e){this.handleFeedbackSheetClose();return}let t=this.getModel(),s=t?await this.getProfileAndMetadata(t.uri):void 0,r=ce.applicationName;!r&&!this.appVersion&&console.warn("Arcade Assistant: esriConfig.applicationName is not set. Consider setting it to help identify the application version in feedback.");let n={user_evaluation:this.feedback.value,your_comments:this.feedback.text||void 0,question:this.feedback.item?.question??"",answer:encodeURIComponent(this.feedback.item?.formattedScript??""),useragent:navigator.userAgent,_source:Ce,version:this.appVersion||r||"NOT_SET",context:s?JSON.stringify(s):"",extras:s?.profileName??"",conversation_id:this.feedback.item?.conversationId??"",privacy_statement:this.feedback.termsAccepted?"I_agree":""};try{await e.applyEdits({addFeatures:[new re({attributes:n})]})}catch(l){console.error("Error submitting feedback:",l)}this.handleFeedbackSheetClose()},this.handleClose=e=>{this.closed=!0,this.closePanel?.(e)},this.setQuestion=e=>{this.question=e},this.onSuggestionClick=e=>{this.textAreaRef.value&&(this.textAreaRef.value.value=e,this.textAreaRef.value.setFocus(),this.setQuestion(e))},this.isViewingResult=!1,this.confirmationActive=!1,this.isSubmitting=!1,this.errorMessage=void 0,this.question="",this.history=[],this.feedback={active:!1},this.splashActive=!0,this.context=void 0,this.historyCards=[],this.helpBase="",this.assistantsEnabled=!1,this.closed=!1}static{this.properties={isViewingResult:16,confirmationActive:16,isSubmitting:16,errorMessage:16,question:16,history:16,feedback:16,splashActive:16,context:16,historyCards:16,closePanel:0,insertText:0,helpBase:1,assistantsEnabled:5,layer:[1,{type:Object}],portalUrl:1,serviceUrl:1,closed:7,editorRef:0,feedbackServiceUrl:1,appVersion:1}}static{this.styles=ne}get disclaimerComment(){return`// ${this.messages.disclaimercomment}
5
- // ${this.messages.disclaimerpt2??"AI-generated content may be inaccurate. Review before using."}`}get assistantHelpUrl(){return`${this.helpBase??"https://doc.arcgis.com/en/arcgis-online/"}administer/configure-assistants.htm`}get assistantOverviewDocUrl(){return`${this.helpBase??"https://doc.arcgis.com/en/arcgis-online/"}create-maps/understand-arcade-assistant.htm`}get usingTheAssitantDocUrl(){return`${this.helpBase??"https://doc.arcgis.com/en/arcgis-online/"}create-maps/use-arcade-assistant.htm`}async destroy(){}load(){let e=async()=>{let t=this.getModel();if(!t){this.context=void 0;return}let s=await this.getProfileAndMetadata(t.uri);this.context=s};e().catch(t=>{console.error("Error setting initial context in Arcade Assistant:",t)}),this.manager.onLifecycle(()=>({remove:C.onModelContextDidChange(async()=>{e().catch(t=>{console.error("Error setting context in Arcade Assistant:",t)})}).dispose}))}willUpdate(e){(e.has("history")||e.has("messages"))&&(this.historyCards=this.getHistoryCards())}connectedCallback(){super.connectedCallback(),this.history=K,this.splashActive=X}disconnectedCallback(){super.disconnectedCallback(),K=this.history,X=this.splashActive,this.copySuccessTimer&&(clearTimeout(this.copySuccessTimer),this.copySuccessTimer=void 0)}getHistoryCards(){return this.history.reduce((e,t)=>(!t.script||(e.push({priorPrompt:t.question,code:t.formattedScript||t.error||"",chips:[{label:t.profile??S,icon:"map-information",appearance:"outline",scale:"s",conversationId:t.conversationId??"",tooltip:(this.messages.profilecontextlabel??"Profile context: {profileName}").replace("{profileName}",t.profile??S)},...t.layerName?[{label:(this.messages.numlayers??"{numLayers} {layerOrLayers}").replace("{numLayers}","1").replace("{layerOrLayers}",this.messages.numlayerssingular??"layer"),icon:"layer",appearance:"outline",scale:"s",conversationId:t.conversationId??"",tooltip:(this.messages.layercontextlabel??"Layer context: {layerName}").replace("{layerName}",t.layerName??"No layer")}]:[]],onAddToEditor:s=>{L(this.editorRef.editorInstance,t.formattedScript??"",s,this.disclaimerComment)},onThumbsUp:()=>this.handleFeedbackButton("good",t),onThumbsDown:()=>this.handleFeedbackButton("bad",t),conversationId:t.conversationId??"",message:t.message}),this.isViewingResult),e),[])}setFeedbackState(e){this.feedback=e}async ensureFeedbackService(){if(this._feedbackService)return this._feedbackService;if(!this.feedbackServiceUrl)return;let e=new oe({url:this.feedbackServiceUrl});await e.load();let t=Te.filter(s=>!e.fields.some(r=>r.name===s));if(t.length>0){console.error(`Missing the following fields in feedback service: ${t.join(", ")}. Feedback will not be logged.`);return}return this._feedbackService=e,e}getModel(){return this.editorRef.editorInstance?.getModel()}async submitQuestion(){if(this.question){this.isSubmitting=!0;try{let e=await this.getToken(),t=this.getModel();if(!t)return;let{profileName:s,metadata:r,layerName:n}=await this.getProfileAndMetadata(t.uri),l=(await le({baseUrl:this.serviceUrl,skillId:we,message:this.question,authToken:e,context:{kind:Ae,context:{profile_name:s,metadata:r}}})).find(p=>p.context?.kind==="ArcadeCodeResponse");if(!l)return;l.context?.kind==="ArcadeCodeResponse"&&(this.history=[{script:l?.context?.arcadeCode?.code,formattedScript:B(l?.context?.arcadeCode?.code??""),error:void 0,question:this.question,profile:s,conversationId:l.conversationId,layerName:n??void 0,...l.message?{message:l.message}:{}},...this.history],this.isViewingResult=!0,this.errorMessage=void 0)}catch(e){e instanceof Error&&e.name==="ArcadeAssistantError"?this.errorMessage=pe(e)||this.messages.erroroccurred||"An error occurred.":this.errorMessage=this.messages.erroroccurred||"An error occurred.",console.error("Error in Arcade Assistant:",e)}finally{this.isSubmitting=!1}}}async getToken(){let{token:e}=await ae.getCredential(this.portalUrl);return e}async getProfileAndMetadata(e){let t=S,s=C.getEditorProfileForModel(e);s?.loaded||await s?.loadSource();let r=this.editorRef.profile;r&&"id"in r&&(t=r.id);let n=s?.definition?.variables?.find(o=>o.type==="feature"),l=[],p;return n?.definition&&"fields"in n.definition&&(l=n.definition.fields.map(o=>({name:o.name,type:o.type,alias:o.alias})),j(n?.definition)&&(p=n.definition.title)),{profileName:t,metadata:l,layerName:p}}onCopyCode(e){let t=e?`${this.disclaimerComment}
6
- ${e}`:"";return navigator.clipboard.writeText(t)}render(){return this.closed?null:this.assistantsEnabled?c`<calcite-flow><calcite-flow-item closable heading-level=2 .heading=${this.messages.arcadeassistant??"Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${this.splashActive&&c`<calcite-scrim></calcite-scrim>`||""}${me({messages:this.messages})}${he({popoverContent:J({assistantsEnabled:this.assistantsEnabled,messages:this.messages,assistantHelpUrl:this.assistantHelpUrl,helpTopicUrl:this.usingTheAssitantDocUrl})})}<calcite-shell class="unstyled-shell">${this.splashActive&&ke({messages:this.messages,onProceed:()=>{this.splashActive=!1},helpTopicUrl:this.assistantOverviewDocUrl,onExit:e=>this.closePanel&&this.closePanel(e)})||""}${ge({active:this.confirmationActive,setActive:e=>this.confirmationActive=e,messages:this.messages})}${fe({isDisabled:this.isSubmitting,isReadOnly:!1,setQuestion:this.setQuestion,setIsViewingResult:e=>this.isViewingResult=e,mode:this.isViewingResult?"refine":"prompt",textAreaRef:this.textAreaRef,question:this.question,errorMessage:this.errorMessage,setErrorMessage:e=>this.errorMessage=e,submitQuestion:this.submitQuestion.bind(this),messages:this.messages,context:this.context})}<calcite-block-group label="interactive blocks">${!this.isViewingResult&&!this.isSubmitting&&xe({messages:this.messages,suggestions:[this.messages.prompsuggestion1??"",this.messages.prompsuggestion2??""],onSuggestionClick:this.onSuggestionClick})||""}<calcite-block .hidden=${!this.isSubmitting} .heading=${this.messages.generatingresponse??"Generating response..."}></calcite-block>${Y({expanded:this.isViewingResult,messages:this.messages,collapsible:!0,showEffectsIcon:!0,cards:this.historyCards.length?[this.historyCards[0]]:[],heading:this.messages.besteffort??"Here's the assistant's best effort",hidden:this.isSubmitting||!this.isViewingResult,onCopyCode:this.onCopyCode.bind(this),standalone:!0})}${Y({expanded:!this.isViewingResult,messages:this.messages,collapsible:!0,cards:this.isViewingResult?this.historyCards.slice(1):this.historyCards,heading:this.messages.recentprompts??"Recent prompts",hidden:this.isSubmitting||this.history.length===0,onCopyCode:this.onCopyCode.bind(this)})}</calcite-block-group>${this.feedback.active?$e({setOpen:this.handleFeedbackSheetClose,messages:this.messages,onSubmit:this.handleFeedbackSubmit,feedback:this.feedback,setFeedback:this.setFeedbackState.bind(this)}):null}</calcite-shell></calcite-flow-item></calcite-flow>`:c`<calcite-flow><calcite-flow-item .selected=${!this.isViewingResult} closable heading-level=2 .heading=${this.messages.arcadeassistant??"Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${J({slot:"content-top",messages:this.messages,assistantsEnabled:this.assistantsEnabled,assistantHelpUrl:this.assistantHelpUrl,helpTopicUrl:this.usingTheAssitantDocUrl})}</calcite-flow-item></calcite-flow>`}};H("arcgis-arcade-coding-assistant",I);return I},"identity/IdentityManager","request","layers/FeatureLayer","config","Graphic",a,b)
@@ -1,4 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.2 */
4
- import c from"./S5RMMJ6S.js";import"./E535MT6P.js";import b from"./AGBJLIIJ.js";import a from"./YSVAM5JY.js";import"./DS6FR3VW.js";import"./M76LYHDZ.js";import"./55BCOGYG.js";import"./3VCHMRG2.js";import"./S5ADUSVB.js";import"./RZPKGZVQ.js";import"./46CC6MI2.js";import"./QYCUOYGE.js";import"./PQFNWANF.js";export default $arcgis.t(([,,{a:a,b:b,c:c}])=>{return{getSqlExprDiagnosticService:b,getSqlExprWorker:a,setupMode:c}},a,b,c)