@arcgis/coding-components 4.34.0-next.80 → 4.34.0-next.81

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 (78) hide show
  1. package/dist/addons.js +1 -1
  2. package/dist/cdn/{ZW47SU7N.js → 2H47T5BX.js} +1 -1
  3. package/dist/cdn/{SANE7NL4.js → 2PVATD5J.js} +2 -2
  4. package/dist/cdn/{2OS5X2XC.js → 2VWONAX6.js} +2 -2
  5. package/dist/cdn/{G74PDVWS.js → 3W5OXDDY.js} +1 -1
  6. package/dist/cdn/{4Y73AMXU.js → 5J6W3M5K.js} +2 -2
  7. package/dist/cdn/{7IK425QK.js → 6M3CUGSG.js} +2 -2
  8. package/dist/cdn/{NTXSDHBS.js → 6QG7QOYL.js} +2 -2
  9. package/dist/cdn/{PLEGSLPL.js → 6RAMHLUB.js} +4 -4
  10. package/dist/cdn/{4JMUV552.js → 75RV4WYM.js} +1 -1
  11. package/dist/cdn/{7TB3DLFW.js → 7UQG3KBX.js} +1 -1
  12. package/dist/cdn/{YVIJYACH.js → ASHG62MT.js} +2 -2
  13. package/dist/cdn/{REAEPLBS.js → BEUBJMHU.js} +2 -2
  14. package/dist/cdn/{WEUONTWC.js → BM2ELDSZ.js} +2 -2
  15. package/dist/cdn/{ZVIG4Y47.js → C5U7ZULG.js} +2 -2
  16. package/dist/cdn/{VF4PFPHZ.js → CBBZU4PE.js} +2 -2
  17. package/dist/cdn/{W6VLAWVY.js → CETIM57Q.js} +2 -2
  18. package/dist/cdn/{JMV65XQ6.js → CINAMZJA.js} +2 -2
  19. package/dist/cdn/{DLD53SME.js → CQFLG447.js} +2 -2
  20. package/dist/cdn/{FPRNXDBG.js → EG3BDIEX.js} +2 -2
  21. package/dist/cdn/{QNK3SEAV.js → HO25GDG7.js} +1 -1
  22. package/dist/cdn/{2UYT4AIE.js → HZGFBTH4.js} +2 -2
  23. package/dist/cdn/{JVYVRBLC.js → I4UAGYBA.js} +2 -2
  24. package/dist/cdn/{PCK6VLVO.js → IPMZC5EA.js} +2 -2
  25. package/dist/cdn/{TOMZIMG4.js → JDR5SVOX.js} +1 -1
  26. package/dist/cdn/{AKPGUPVV.js → KQ6BJT6L.js} +2 -2
  27. package/dist/cdn/{U5WTJRL5.js → KYFRYMAN.js} +2 -2
  28. package/dist/cdn/{HRVU4WAP.js → LAN4W55O.js} +2 -2
  29. package/dist/cdn/{LMNF6SPV.js → M4EJFOB3.js} +2 -2
  30. package/dist/cdn/{QK7Q73XT.js → N35WQ7LC.js} +2 -2
  31. package/dist/cdn/{MBU4K7CX.js → N5LAIHS2.js} +31 -27
  32. package/dist/cdn/{AQGYQUOQ.js → NI3S7GEN.js} +2 -2
  33. package/dist/cdn/{EYGND5IK.js → NN6L6R4D.js} +2 -2
  34. package/dist/cdn/{QUHAMH5S.js → OF6SYAGI.js} +1 -1
  35. package/dist/cdn/{WVFNCCMI.js → PXEXDGP7.js} +2 -2
  36. package/dist/cdn/RB746PL5.js +6 -0
  37. package/dist/cdn/{H2C3XTHM.js → S26TED3O.js} +2 -2
  38. package/dist/cdn/{HJFJB5HU.js → SIZ2E4U5.js} +2 -2
  39. package/dist/cdn/{W57KGVCU.js → UZVV4PUW.js} +2 -2
  40. package/dist/cdn/{YZNUF5RC.js → WMXDEDXT.js} +2 -2
  41. package/dist/cdn/{EAMGHNH6.js → XQ4VHURX.js} +2 -2
  42. package/dist/cdn/{OIP2MDAO.js → YTZFO3HI.js} +2 -2
  43. package/dist/cdn/{SCCNGSHM.js → ZD2VUTFJ.js} +2 -2
  44. package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.en.json +1 -1
  45. package/dist/cdn/assets/code-editor/sql-expr.worker.js +41151 -40966
  46. package/dist/cdn/index.js +2 -2
  47. package/dist/chunks/arcade-defaults.js +1 -1
  48. package/dist/chunks/arcade-executor.js +1 -1
  49. package/dist/chunks/arcade-mode.js +1 -1
  50. package/dist/chunks/arcade-service-accessors.js +1 -1
  51. package/dist/chunks/editor.js +1 -1
  52. package/dist/chunks/fields.js +1 -1
  53. package/dist/chunks/language-defaults-base.js +1 -1
  54. package/dist/chunks/markdown.js +23 -19
  55. package/dist/chunks/monaco-importer.js +1 -1
  56. package/dist/chunks/runtime.js +1 -1
  57. package/dist/chunks/setup-monaco.js +1 -1
  58. package/dist/chunks/sql-expr-contribution.js +1 -1
  59. package/dist/chunks/sql-expr-defaults.js +1 -1
  60. package/dist/chunks/sql-expr-mode.js +1 -1
  61. package/dist/chunks/useT9n.js +1 -1
  62. package/dist/components/arcgis-arcade-coding-assistant/customElement.js +135 -176
  63. package/dist/components/arcgis-arcade-coding-assistant/functional.d.ts +87 -38
  64. package/dist/components/arcgis-arcade-editor/customElement.js +1 -1
  65. package/dist/components/arcgis-arcade-results/customElement.js +1 -1
  66. package/dist/components/arcgis-arcade-suggestions/customElement.js +1 -1
  67. package/dist/components/arcgis-code-editor/customElement.js +1 -1
  68. package/dist/components/arcgis-editor-variables/customElement.js +1 -1
  69. package/dist/components/arcgis-language-api-panel/customElement.js +1 -1
  70. package/dist/components/arcgis-sql-expression-editor/customElement.js +1 -1
  71. package/dist/components/arcgis-sql-expression-fields/customElement.js +1 -1
  72. package/dist/docs/api.json +2 -2
  73. package/dist/docs/docs.json +2 -2
  74. package/dist/docs/web-types.json +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/loader.js +1 -1
  77. package/package.json +5 -5
  78. package/dist/cdn/ERV3IHVW.js +0 -6
@@ -1,5 +1,4 @@
1
1
  import { JsxNode } from '@arcgis/lumina';
2
- import { temporaryStrings as TempStrings } from '../../addons/arcade-coding-assistant/temporary-strings';
3
2
  import { Ref } from 'lit/directives/ref.js';
4
3
  import { Context, FeedbackState } from './types';
5
4
  declare const strings: (value: {
@@ -8,35 +7,20 @@ declare const strings: (value: {
8
7
  expressionapplied: string;
9
8
  askaquestion: string;
10
9
  enteraprompt: string;
11
- myprompt: string;
12
10
  assistantresponse: string;
13
11
  providefeedback: string;
14
12
  experiencehelps: string;
15
13
  submitfeedback: string;
16
- suggestionsdisclaimer: string;
17
- expandyourfeedback: string;
18
- profilenotcompatible: string;
19
14
  addtoeditor: string;
20
15
  experiencehelpful: string;
21
16
  describeexperience: string;
22
- reviewcodedisclaimer: string;
23
17
  besteffort: string;
24
- askanotherquestion: string;
25
- promptexample: string;
26
- smartsuggestion: string;
27
- legaldisclaimer: string;
28
18
  ask: string;
29
- askagain: string;
30
19
  disclaimercomment: string;
31
20
  feedback: string;
32
21
  erroroccurred: string;
33
22
  recentprompts: string;
34
23
  generatingresponse: string;
35
- promptlist: string;
36
- historylist: string;
37
- aigenerated: string;
38
- seeterms: string;
39
- copied: string;
40
24
  introducing: string;
41
25
  capabilities: string;
42
26
  aiassistants: string;
@@ -45,41 +29,66 @@ declare const strings: (value: {
45
29
  settings: string;
46
30
  new: string;
47
31
  learnmore: string;
32
+ welcome: string;
33
+ beforeyougetstarted: string;
34
+ maybeincorrect: string;
35
+ pleasereadhelp: string;
36
+ proceed: string;
37
+ exit: string;
38
+ promptsuggestions: string;
39
+ promptsuggestion: string;
40
+ assistantresponses: string;
41
+ collapse: string;
42
+ thumbsup: string;
43
+ thumbsdown: string;
44
+ refine: string;
45
+ startover: string;
46
+ helptopic: string;
47
+ agreement: string;
48
+ esriprivacystatement: string;
49
+ supplement: string;
50
+ disclaimerpt2: string;
51
+ replaceineditor: string;
52
+ keepinmind: string;
53
+ beconsise: string;
54
+ avoidambiguity: string;
55
+ documentation: string;
56
+ useexamples: string;
57
+ moredetails: string;
58
+ seedocumentation: string;
59
+ assistantinformation: string;
60
+ profilecontextlabel: string;
61
+ layercontextlabel: string;
62
+ numlayers: string;
63
+ numlayersplural: string;
64
+ numlayerssingular: string;
65
+ responsecontext: string;
66
+ error: string;
67
+ copytoclipboard: string;
68
+ copyprompttoclipboard: string;
69
+ copiedsuccessfully: string;
70
+ helpful: string;
71
+ unhelpful: string;
48
72
  }) => {
49
73
  arcadeassistant: string;
50
74
  beta: string;
51
75
  expressionapplied: string;
52
76
  askaquestion: string;
53
77
  enteraprompt: string;
54
- myprompt: string;
55
78
  assistantresponse: string;
56
79
  providefeedback: string;
57
80
  experiencehelps: string;
58
81
  submitfeedback: string;
59
- suggestionsdisclaimer: string;
60
- expandyourfeedback: string;
61
- profilenotcompatible: string;
62
82
  addtoeditor: string;
63
83
  experiencehelpful: string;
64
84
  describeexperience: string;
65
- reviewcodedisclaimer: string;
66
85
  besteffort: string;
67
- askanotherquestion: string;
68
- promptexample: string;
69
- smartsuggestion: string;
70
- legaldisclaimer: string;
71
86
  ask: string;
72
- askagain: string;
73
87
  disclaimercomment: string;
74
88
  feedback: string;
75
89
  erroroccurred: string;
76
90
  recentprompts: string;
77
91
  generatingresponse: string;
78
- promptlist: string;
79
- historylist: string;
80
- aigenerated: string;
81
- seeterms: string;
82
- copied: string;
83
92
  introducing: string;
84
93
  capabilities: string;
85
94
  aiassistants: string;
@@ -88,6 +97,46 @@ declare const strings: (value: {
88
97
  settings: string;
89
98
  new: string;
90
99
  learnmore: string;
100
+ welcome: string;
101
+ beforeyougetstarted: string;
102
+ maybeincorrect: string;
103
+ pleasereadhelp: string;
104
+ proceed: string;
105
+ exit: string;
106
+ promptsuggestions: string;
107
+ promptsuggestion: string;
108
+ assistantresponses: string;
109
+ collapse: string;
110
+ thumbsup: string;
111
+ thumbsdown: string;
112
+ refine: string;
113
+ startover: string;
114
+ helptopic: string;
115
+ agreement: string;
116
+ esriprivacystatement: string;
117
+ supplement: string;
118
+ disclaimerpt2: string;
119
+ replaceineditor: string;
120
+ keepinmind: string;
121
+ beconsise: string;
122
+ avoidambiguity: string;
123
+ documentation: string;
124
+ useexamples: string;
125
+ moredetails: string;
126
+ seedocumentation: string;
127
+ assistantinformation: string;
128
+ profilecontextlabel: string;
129
+ layercontextlabel: string;
130
+ numlayers: string;
131
+ numlayersplural: string;
132
+ numlayerssingular: string;
133
+ responsecontext: string;
134
+ error: string;
135
+ copytoclipboard: string;
136
+ copyprompttoclipboard: string;
137
+ copiedsuccessfully: string;
138
+ helpful: string;
139
+ unhelpful: string;
91
140
  };
92
141
  export declare function AboutDisplay({ messages }: {
93
142
  messages: Partial<ReturnType<typeof strings>>;
@@ -106,7 +155,7 @@ export declare function ConfirmationDisplay({ active, setActive, messages, }: {
106
155
  }): JsxNode;
107
156
  export declare function ContextDisplay({ context, messages, }: {
108
157
  context?: Context;
109
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
158
+ messages: Partial<ReturnType<typeof strings>>;
110
159
  }): JsxNode;
111
160
  export declare function SubmissionDisplay({ isDisabled, isReadOnly, setQuestion, setIsViewingResult, textAreaRef, question, errorMessage, setErrorMessage, submitQuestion, messages, mode, context, }: {
112
161
  isDisabled: boolean;
@@ -118,13 +167,13 @@ export declare function SubmissionDisplay({ isDisabled, isReadOnly, setQuestion,
118
167
  errorMessage?: string;
119
168
  setErrorMessage: (e: string) => void;
120
169
  submitQuestion: () => Promise<void>;
121
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
170
+ messages: Partial<ReturnType<typeof strings>>;
122
171
  mode: "prompt" | "refine";
123
172
  context?: Context;
124
173
  }): JsxNode;
125
174
  export declare function FeedbackSheetDisplay({ setOpen, messages, feedback, setFeedback, onSubmit, }: {
126
175
  setOpen: (open: boolean) => void;
127
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
176
+ messages: Partial<ReturnType<typeof strings>>;
128
177
  feedback: FeedbackState;
129
178
  setFeedback: (feedback: FeedbackState) => void;
130
179
  onSubmit: () => void;
@@ -133,11 +182,11 @@ export declare function InfoDisplay({ assistantsEnabled, messages, slot, assista
133
182
  assistantsEnabled: boolean;
134
183
  assistantHelpUrl: string;
135
184
  helpTopicUrl: string;
136
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
185
+ messages: Partial<ReturnType<typeof strings>>;
137
186
  slot?: HTMLCalciteBlockElement["slot"];
138
187
  }): JsxNode;
139
188
  export declare function SplashDisplay({ messages, onProceed, onExit, helpTopicUrl, }: {
140
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
189
+ messages: Partial<ReturnType<typeof strings>>;
141
190
  onProceed: () => void;
142
191
  onExit: (e: Event) => void;
143
192
  helpTopicUrl: string;
@@ -145,7 +194,7 @@ export declare function SplashDisplay({ messages, onProceed, onExit, helpTopicUr
145
194
  export declare function PromptSuggestionsDisplay({ messages, suggestions, onSuggestionClick, }: {
146
195
  suggestions: string[];
147
196
  onSuggestionClick: (value: string) => void;
148
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
197
+ messages: Partial<ReturnType<typeof strings>>;
149
198
  }): JsxNode;
150
199
  export interface ResponseDisplayCardChip {
151
200
  label: string;
@@ -170,7 +219,7 @@ export declare function ResponseDisplay({ hidden, expanded, messages, cards, hea
170
219
  hidden?: boolean;
171
220
  expanded?: boolean;
172
221
  heading?: string;
173
- messages: Partial<ReturnType<typeof strings>> & typeof TempStrings;
222
+ messages: Partial<ReturnType<typeof strings>>;
174
223
  cards: ResponseDisplayCard[];
175
224
  showEffectsIcon?: boolean;
176
225
  collapsible?: boolean;
@@ -16,7 +16,7 @@ import { createRef as A, ref as w } from "lit-html/directives/ref.js";
16
16
  import { s as y } from "../../chunks/editor.js";
17
17
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
18
18
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
19
- v4.34.0-next.80 */
19
+ v4.34.0-next.81 */
20
20
  const D = _`@layer{arcgis-arcade-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%;.sticky{position:sticky;top:0;z-index:10}.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1);text-align:center}.main-action-bar{border-bottom:var(--arcgis-coding-components-border)!important;flex:0 0 auto;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)}}arcgis-arcade-results{border-top:var(--arcgis-coding-components-border)!important;box-sizing:border-box;max-height:50%;min-height:50%;margin-bottom:-1px}calcite-flow{[slot=footer]{word-break:break-word}}.hidden{display:none}}}`;
21
21
  class C extends f {
22
22
  constructor() {
@@ -8,7 +8,7 @@ import { s as O } from "../../chunks/fields.js";
8
8
  import "@arcgis/toolkit/function";
9
9
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
10
10
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
11
- v4.34.0-next.80 */
11
+ v4.34.0-next.81 */
12
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 = {
13
13
  lines: !0,
14
14
  selectionMode: "none",
@@ -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/4.34/esri/copyright.txt for details.
11
- v4.34.0-next.80 */
11
+ v4.34.0-next.81 */
12
12
  function v(o) {
13
13
  return !Array.isArray(o) || !o.length ? !1 : Array.isArray(o[0].suggestions);
14
14
  }
@@ -11,7 +11,7 @@ import { load as h } from "@arcgis/lumina/controllers";
11
11
  import { Range as M, Uri as c, KeyMod as n, KeyCode as t } from "monaco-editor";
12
12
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
13
13
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
14
- v4.34.0-next.80 */
14
+ v4.34.0-next.81 */
15
15
  const x = m`@layer{/*!-----------------------------------------------------------
16
16
  * Copyright (c) Microsoft Corporation. All rights reserved.
17
17
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
@@ -7,7 +7,7 @@ import { createFilterExpression as f } from "@arcgis/toolkit/string";
7
7
  import { u } from "../../chunks/useT9n.js";
8
8
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
9
9
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
10
- v4.34.0-next.80 */
10
+ v4.34.0-next.81 */
11
11
  const m = 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/4.34/esri/copyright.txt for details.
13
- v4.34.0-next.80 */
13
+ v4.34.0-next.81 */
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() {
@@ -8,7 +8,7 @@ import { createRef as h, ref as g } from "lit-html/directives/ref.js";
8
8
  import { s as f } from "../../chunks/editor.js";
9
9
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
10
10
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
11
- v4.34.0-next.80 */
11
+ v4.34.0-next.81 */
12
12
  const _ = r`@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%}}`;
13
13
  class u extends n {
14
14
  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/4.34/esri/copyright.txt for details.
9
- v4.34.0-next.80 */
9
+ v4.34.0-next.81 */
10
10
  const h = r`:host{calcite-flow{height:100%}calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}}`;
11
11
  class f extends n {
12
12
  constructor() {
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-08-04T04:36:00",
2
+ "timestamp": "2025-08-05T04:41:39",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "4.34.0-next.80",
5
+ "version": "4.34.0-next.81",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "schemaVersion": "1.0.0",
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-08-04T04:36:00",
2
+ "timestamp": "2025-08-05T04:41:39",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "4.34.0-next.80",
5
+ "version": "4.34.0-next.81",
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": "4.34.0-next.80",
4
+ "version": "4.34.0-next.81",
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/4.34/esri/copyright.txt for details.
6
- v4.34.0-next.80 */
6
+ v4.34.0-next.81 */
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 i } from "@arcgis/lumina";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
5
- v4.34.0-next.80 */
5
+ v4.34.0-next.81 */
6
6
  const o = i(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"), "customPanels:,editorInstance:,editorOptions:,hideDocumentationActions,hideSideBar,openedSidePanel:,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getEditorInstance,getScript,getTestResult,setFocus"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/coding-components",
3
- "version": "4.34.0-next.80",
3
+ "version": "4.34.0-next.81",
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": "4.34.0-next.80",
46
- "@arcgis/languages-api-utils": "4.34.0-next.80",
47
- "@arcgis/lumina": "4.34.0-next.80",
48
- "@arcgis/toolkit": "4.34.0-next.80",
45
+ "@arcgis/arcade-languageservice": "4.34.0-next.81",
46
+ "@arcgis/languages-api-utils": "4.34.0-next.81",
47
+ "@arcgis/lumina": "4.34.0-next.81",
48
+ "@arcgis/toolkit": "4.34.0-next.81",
49
49
  "lit": "^3.3.0",
50
50
  "monaco-editor": "^0.52.0",
51
51
  "tslib": "^2.8.1",
@@ -1,6 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/4.34/esri/copyright.txt for details.
3
- v4.34.0-next.80 */
4
- import{a as T}from"./REAEPLBS.js";import b from"./HJFJB5HU.js";import{a as B}from"./LMNF6SPV.js";import"./7IK425QK.js";import a from"./ZVIG4Y47.js";import"./7TB3DLFW.js";import"./TOMZIMG4.js";import{i as L,j}from"./PLEGSLPL.js";import"./PCK6VLVO.js";import"./QNK3SEAV.js";import{B as w,D,g as N,h as c,i as P,j as C,p as _,q as F,r as O,x as z,y as H,z as V}from"./2OS5X2XC.js";import{g as q}from"./G74PDVWS.js";import"./W57KGVCU.js";import"./QUHAMH5S.js";export default $arcgis.t(([ae,G,oe,ce,{a:Q},S])=>{var k=class extends O{constructor(e){if(super(e),this.it=C,e.type!==_.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===C||e==null)return this._t=void 0,this.it=e;if(e===P)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:[]}}};k.directiveName="unsafeHTML",k.resultType=1;var x=F(k);var re=N`:host(:not([closed])){--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-side-panel-max-w);width:var(--arcgis-coding-components-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)}.prompt-list calcite-list-item{margin-block-end:.5rem;border-radius:var(--calcite-corner-radius-round);--calcite-color-border-3: transparent;overflow:hidden}.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-list-item:focus calcite-button{position:relative;top:-2px}.prompt-list calcite-list-item:last-of-type{margin-block-end:0}calcite-list{--calcite-color-foreground-1: transparent;background-color:transparent}calcite-list-item{--calcite-color-foreground-1: white}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-background-color: white;--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}}:host([closed]){display:none}`,v=class extends Error{constructor({message:e,code:t,subCode:s,details:n,source:r}){super(e),this.name="ArcadeAssistantError",this.code=t,this.subCode=s,this.details=n,this.source=r}};function J(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 ne(i){let{baseUrl:e,skillId:t,message:s,authToken:n,previousConversationId:r,context:d}=i,p=t?`${e}/skills/${t}/chat`:`${e}/chat`,o=[],h={message:s,context:d};r&&(h.conversation_id=r);let a;try{a=await G(p,{method:"post",headers:{"Content-Type":"application/json",token:n},body:JSON.stringify(h),responseType:"json"})}catch(b){let f=b,A=f.details?.rawResponse||f.message||String(b),y=J(A);throw y?new v(y):b}let l=a.data;o.push(l);let u=l.conversationId,ee=l.inquiryId,R=l.sequenceNumber;async function te(){let b=0,f=25;for(;b<f;){await new Promise($=>setTimeout($,1e3));let A=le(u,R,ee),y;try{y=await G(p,{method:"post",headers:{"Content-Type":"application/json",token:n},body:JSON.stringify(A),responseType:"json"})}catch($){let M=$,se=M.details?.rawResponse||M.message||String($),U=J(se);throw U?new v(U):$}let g=y.data;if(g.context&&g.context.kind==="ArcgisErrorAsContext"&&g.context.error)throw new v({message:g.context.error.message||"ArcGIS Assistant error",code:g.context.error.code,subCode:g.context.error.subCode,details:g.context.error.details,source:"polling-response"});if(o.push(g),R=g.sequenceNumber,b++,!g.hasMore)break}if(b===f)throw new v({message:"Request timed out",code:"TIMEOUT",source:"polling"})}let ie=2*60*1e3;return await Promise.race([te(),new Promise((b,f)=>setTimeout(()=>f(new v({message:"Request timed out",code:"TIMEOUT",source:"hard-timeout"})),ie))]),o}function le(i,e,t){return{conversationId:i,inquiryId:t,ackSequenceNumber:e}}function de(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 pe=i=>{let e=i.value.length,t=72,s=180,n=i.offsetWidth,r=Math.max(1,Math.floor(n/8)),d=Math.ceil(e/r),p=t+(d-2)*24;i.style.setProperty("--calcite-text-area-min-height",`${Math.min(p,s)}px`)};function ue({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 me({popoverContent:i}){return c`<calcite-action icon=information slot=header-actions-end id=legal-disclaimer text></calcite-action><calcite-popover reference-element=legal-disclaimer overlay-positioning=fixed label=legal-disclaimer placement=bottom auto-close>${i}</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??w}>${i}</calcite-input-message></div>`}function he({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 ge({context:i,messages:e}){return i?c`<div class="gaps">${i.profileName&&c`<calcite-popover auto-close placement=top .label=${e.profilecontextlabel.replace("{profileName}",i.profileName)} reference-element=profile-context-button class="context-popover"><p>${e.profilecontextlabel.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.replace("{layerName}",i.layerName)} reference-element=layer-context-button class="context-popover"><p>${e.layercontextlabel.replace("{layerName}",i.layerName)}</p></calcite-popover><calcite-button round kind=neutral icon-start=layers id=layer-context-button></calcite-button>`||""}</div>`:null}function be({isDisabled:i,isReadOnly:e,setQuestion:t,setIsViewingResult:s,textAreaRef:n,question:r,errorMessage:d,setErrorMessage:p,submitQuestion:o,messages:h,mode:a,context:l}){return c`<div class="text-area-wrapper"><calcite-text-area resize=vertical .readOnly=${i||e} class="styled-text-area" .placeholder=${h.askaquestion??`Specify the calculation or logic you need in an Arcade expression. (e.g., 'Return "Yes" if value > 10')`} .value=${r} @calciteTextAreaInput=${u=>{pe(u.target),t(u.target.value)}} ${H(n)}><div class="submission-actions-wrapper" slot=footer-start>${d&&Z({errorMessage:d,slot:"footer-start"})||""}<div class="submission-actions">${ge({context:l,messages:h})}<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("")}}>${h.startover??"Start Over"}</calcite-button><calcite-button round icon-end=effects appearance=solid .loading=${i} .disabled=${i} @click=${async()=>{p(r?"":h.enteraprompt??"Please enter a prompt"),await o()}}>${a==="prompt"?h.ask??"Generate":h.refine??"Refine"}</calcite-button></div></div></div></calcite-text-area></div>`}var fe="https://www.esri.com/en-us/privacy/privacy-statements/privacy-statement",ve="https://www.esri.com/en-us/privacy/privacy-statements/privacy-supplement";function ye({setOpen:i,messages:e,feedback:t,setFeedback:s,onSubmit:n}){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=${r=>s({...t,text:r.target.value})}></calcite-text-area></calcite-label><calcite-label layout=inline scale=s><calcite-checkbox scale=l .checked=${t.termsAccepted} @calciteCheckboxChange=${r=>{s({...t,termsAccepted:r.target.checked})}}></calcite-checkbox><span>${x(e.agreement?.replace("{EsriPrivacyStatement}",`<calcite-link href=${fe} target="_blank">${e.esriprivacystatement??"Esri Privacy Statement"}</calcite-link>`).replace("{Supplement}",`<calcite-link href=${ve} target="_blank">${e.supplement??"Supplement"}</calcite-link>`))}</span></calcite-label></div><calcite-button slot=footer width=full @click=${n} .disabled=${!t.termsAccepted||t.submitting} .loading=${t.submitting}>${e.submitfeedback??"Submit Feedback"}</calcite-button></calcite-panel></calcite-sheet>`:null}function Y({assistantsEnabled:i,messages:e,slot:t,assistantHelpUrl:s,helpTopicUrl:n}){return c`<calcite-block .label=${e.assistantinformation??"Assistant information"} slot=${t??w} expanded class="info-block"><calcite-chip .label=${e.new??"new"} kind=brand>${e.new}</calcite-chip><h1 class="info-heading">${e.introducing}</h1><p>${e.capabilities}</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>${x((e.seedocumentation??"Please see the {documentation} for more information, including limitations and additional resources.").replace("{documentation}",`<calcite-link href=${n} target="_blank">${e.documentation??"documentation"}</calcite-link>`))}</p>`:c`<p>${x(e.useofassistant?.replace("{aiassistants}",`<strong>${e.aiassistants??"Ai Assistants"}</strong>`))}<calcite-link .href=${s} target=_blank icon-end=launch-2>${e.opensettings??"Open Settings"}</calcite-link></p>`}</calcite-block>`}function $e({messages:i,onProceed:e,onExit:t,helpTopicUrl:s}){return c`<calcite-dialog close-disabled placement=top .heading=${i.welcome} slot=dialogs open width-scale=m id=welcome-dialog><h3 class="unstyled-h3">${i.beforeyougetstarted}</h3><ul><li>${i.maybeincorrect}</li><li>${x(i.pleasereadhelp.replace("{helpTopic}",`<calcite-link href=${s} target="_blank">${i.helptopic}</calcite-link>`))}</li></ul><calcite-button id=welcome-proceed slot=footer-end @click=${e}>${i.proceed}</calcite-button><calcite-button id=welcome-decline slot=footer-start @click=${t} kind=neutral>${i.exit}</calcite-button></calcite-dialog>`}function ke({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>`}function W({hidden:i=!1,expanded:e=!1,messages:t,cards:s,heading:n,collapsible:r=!1,showEffectsIcon:d=!1,onCopyCode:p,standalone:o}){let h=t.addtoeditor??"Add to editor";return c`<calcite-block .hidden=${i} id=result-block .heading=${n??t.besteffort??"Here is the assistant's best effort"} .expanded=${e} .collapsible=${r}>${d&&c`<calcite-chip .label=${t.assistantresponses} slot=content-start icon=effects scale=m class="suggestion-chips"></calcite-chip>`||""}<calcite-card-group .label=${t.assistantresponses}>${T(s,a=>a.conversationId,a=>c`<calcite-card><div slot=heading><div class="prior-prompt"><span>${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=${l=>{let u=l.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}</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 overlay-positioning=fixed>${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(l=>{let u=q();return c`${l.tooltip&&c`<calcite-tooltip .referenceElement=${`response-chip-${l.conversationId}-${u}`} placement=top-start overlay-positioning=fixed>${l.tooltip}</calcite-tooltip>`||""}<calcite-chip .label=${l.label} .scale=${l.scale??"s"} .appearance=${l.appearance??"outline"} .icon=${l.icon} .id=${`response-chip-${l.conversationId}-${u}`}>${l.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=${h??w} class="add-to-editor-button" @click=${()=>a.onAddToEditor("add")} overlay-positioning=fixed 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=${l=>{let u=l.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}</calcite-tooltip></div><div slot=footer-end class="feedback-actions"><calcite-action .text=${t.thumbsup} 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} 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 m={welcome:"Welcome to the new assistant experience",beforeyougetstarted:"Before you get started be aware:",maybeincorrect:"AI generated code may occasionally be incorrect or biased. Review carefully.",pleasereadhelp:"Read the Arcade Assistant (beta) {helpTopic} to get started and learn details on security, privacy and limitations.",proceed:"Proceed",exit:"Exit",promptsuggestions:"Prompt suggestions",promptsuggestion:"Prompt suggestion",assistantresponses:"Assistant responses",collapse:"Collapse",thumbsup:"Thumbs up",thumbsdown:"Thumbs down",refine:"Refine",startover:"Start over",helptopic:"help topic",agreement:"I agree to the {EsriPrivacyStatement} (and {Supplement}).",esriprivacystatement:"Esri Privacy Statement",supplement:"Supplement",disclaimerpt2:"AI-generated content may be inaccurate. Review before using.",replaceineditor:"Replace all code in editor",keepinmind:"Keep in mind the following:",beconsise:"Be concise, but also clear in your request",avoidambiguity:"Avoid ambiguity and vagueness",documentation:"documentation",useexamples:"Use examples to clarify your request",moredetails:"You do not need to use exact field names in your instructions, but more detail is generally better",seedocumentation:"Please see the {documentation} for more information, including limitations and additional resources.",assistantinformation:"Assistant information",profilecontextlabel:"Profile context: {profileName}",layercontextlabel:"Layer context: {layerName}",numlayers:"{numLayers} {layerOrLayers}",numlayersplural:"layers",numlayerssingular:"layer",responsecontext:"Response context",error:"Error",copytoclipboard:"Copy code to clipboard",copyprompttoclipboard:"Copy prompt to clipboard",copiedsuccessfully:"Copied successfully",helpful:"Helpful",unhelpful:"Unhelpful"},xe="arcade_generation",we="ArcadeCodeRequest",I="visualization",Ae="ArcadeAssistant",Ce=["your_comments","user_evaluation","question","answer","useragent","_source","version","context","extras"],K=[],X=!0,E=class extends V{constructor(){super(...arguments),this.textAreaRef=z(),this.messages=B(),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,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:Ae,version:this.appVersion??"",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 ce({attributes:n})]})}catch(r){console.error("Error submitting feedback:",r)}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=re}get disclaimerComment(){return`// ${this.messages.disclaimercomment}
5
- // ${m.disclaimerpt2}`}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:S.onModelContextDidChange(async()=>{e().catch(t=>{console.error("Error setting context in Arcade Assistant:",t)})}).dispose}))}willUpdate(e){e.has("history")&&(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??I,icon:"map-information",appearance:"outline",scale:"s",conversationId:t.conversationId??"",tooltip:m.profilecontextlabel.replace("{profileName}",t.profile??I)},...t.layerName?[{label:m.numlayers.replace("{numLayers}","1").replace("{layerOrLayers}",m.numlayerssingular),icon:"layer",appearance:"outline",scale:"s",conversationId:t.conversationId??"",tooltip:m.layercontextlabel.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=Ce.filter(s=>!e.fields.some(n=>n.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:n,layerName:r}=await this.getProfileAndMetadata(t.uri),d=(await ne({baseUrl:this.serviceUrl,skillId:xe,message:this.question,authToken:e,context:{kind:we,context:{profile_name:s,metadata:n}}})).find(p=>p.context?.kind==="ArcadeCodeResponse");if(!d)return;d.context?.kind==="ArcadeCodeResponse"&&(this.history=[{script:d?.context?.arcadeCode?.code,formattedScript:j(d?.context?.arcadeCode?.code??""),error:void 0,question:this.question,profile:s,conversationId:d.conversationId,layerName:r??void 0,...d.message?{message:d.message}:{}},...this.history],this.isViewingResult=!0,this.errorMessage=void 0)}catch(e){e instanceof Error&&e.name==="ArcadeAssistantError"?this.errorMessage=de(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=I,s=S.getEditorProfileForModel(e);s?.loaded||await s?.loadSource();let n=this.editorRef.profile;n&&"id"in n&&(t=n.id);let r=s?.definition?.variables?.find(o=>o.type==="feature"),d=[],p;return r?.definition&&"fields"in r.definition&&(d=r.definition.fields.map(o=>({name:o.name,type:o.type,alias:o.alias})),Q(r?.definition)&&(p=r.definition.title)),{profileName:t,metadata:d,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=${this.messages.arcadeassistant??"Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${this.splashActive&&c`<calcite-scrim></calcite-scrim>`||""}${ue({messages:this.messages})}${me({popoverContent:Y({assistantsEnabled:this.assistantsEnabled,messages:{...this.messages,...m},assistantHelpUrl:this.assistantHelpUrl,helpTopicUrl:this.usingTheAssitantDocUrl})})}<calcite-shell class="unstyled-shell">${this.splashActive&&$e({messages:{...m,...this.messages},onProceed:()=>{this.splashActive=!1},helpTopicUrl:this.assistantOverviewDocUrl,onExit:e=>this.closePanel&&this.closePanel(e)})||""}${he({active:this.confirmationActive,setActive:e=>this.confirmationActive=e,messages:this.messages})}${be({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:{...m,...this.messages},context:this.context})}<calcite-block-group label="interactive blocks">${!this.isViewingResult&&!this.isSubmitting&&ke({messages:{...this.messages,...m},suggestions:["Round value to one decimal place",'Return "Yes" if value > 10'],onSuggestionClick:this.onSuggestionClick})||""}<calcite-block .hidden=${!this.isSubmitting} .heading=${this.messages.generatingresponse??"Generating response..."}></calcite-block>${W({expanded:this.isViewingResult,messages:{...this.messages,...m},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})}${W({expanded:!this.isViewingResult,messages:{...this.messages,...m},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?ye({setOpen:this.handleFeedbackSheetClose,messages:{...this.messages,...m},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=${this.messages.arcadeassistant??"Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${Y({slot:"content-top",messages:{...this.messages,...m},assistantsEnabled:this.assistantsEnabled,assistantHelpUrl:this.assistantHelpUrl,helpTopicUrl:this.usingTheAssitantDocUrl})}</calcite-flow-item></calcite-flow>`}};D("arcgis-arcade-coding-assistant",E);return E},"identity/IdentityManager","request","layers/FeatureLayer","Graphic",a,b)