@arcgis/coding-components 4.31.0-next.2 → 4.31.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 (205) hide show
  1. package/README.md +22 -3
  2. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
  3. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ar.json +1 -1
  4. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bg.json +1 -1
  5. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bs.json +1 -1
  6. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ca.json +6 -6
  7. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.cs.json +1 -1
  8. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.da.json +1 -1
  9. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.de.json +1 -1
  10. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.el.json +1 -1
  11. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.es.json +1 -1
  12. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.et.json +1 -1
  13. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fi.json +1 -1
  14. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fr.json +1 -1
  15. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.he.json +1 -1
  16. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.hr.json +1 -1
  17. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.id.json +1 -1
  18. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.it.json +1 -1
  19. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ko.json +1 -1
  20. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nb.json +1 -1
  21. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nl.json +1 -1
  22. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pl.json +1 -1
  23. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-BR.json +1 -1
  24. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-PT.json +1 -1
  25. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ru.json +1 -1
  26. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sk.json +1 -1
  27. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sl.json +1 -1
  28. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sr.json +1 -1
  29. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sv.json +1 -1
  30. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.th.json +1 -1
  31. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.tr.json +1 -1
  32. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.uk.json +5 -5
  33. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.vi.json +1 -1
  34. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-CN.json +1 -1
  35. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-HK.json +1 -1
  36. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-TW.json +1 -1
  37. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +2 -2
  38. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +1 -1
  39. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +1 -1
  40. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +1 -1
  41. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +1 -1
  42. package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
  43. package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
  44. package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
  45. package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +33 -0
  46. package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
  47. package/dist/arcgis-coding-components/assets/language-api-panel/t9n/language-api-panel.t9n.ca.json +1 -1
  48. package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +735 -0
  49. package/dist/arcgis-coding-components/index.esm.js +2 -2
  50. package/dist/arcgis-coding-components/{p-7984ea8e.js → p-1b799777.js} +2 -2
  51. package/dist/arcgis-coding-components/p-4d5cf512.entry.js +6 -0
  52. package/dist/arcgis-coding-components/{p-60c2a820.js → p-56266a64.js} +2 -2
  53. package/dist/arcgis-coding-components/{p-e8211ffe.js → p-57b8bcd7.js} +1 -1
  54. package/dist/arcgis-coding-components/{p-9eced6fc.js → p-5b67b62b.js} +2 -2
  55. package/dist/arcgis-coding-components/{p-93a97573.js → p-64137fec.js} +3 -3
  56. package/dist/arcgis-coding-components/{p-e7ee4d64.js → p-6621a80f.js} +3 -3
  57. package/dist/arcgis-coding-components/p-77dd5521.js +6 -0
  58. package/dist/arcgis-coding-components/p-8eb7e694.js +6 -0
  59. package/dist/arcgis-coding-components/p-a2341e0c.js +6 -0
  60. package/dist/arcgis-coding-components/{p-bb7e832e.js → p-b715834b.js} +3 -3
  61. package/dist/arcgis-coding-components/p-cbee273f.js +6 -0
  62. package/dist/arcgis-coding-components/{p-5ef7cce5.js → p-cdc52d2f.js} +1 -1
  63. package/dist/arcgis-coding-components/{p-36fedc23.js → p-d7d1f130.js} +12 -12
  64. package/dist/arcgis-coding-components/p-e1f9b463.entry.js +6 -0
  65. package/dist/arcgis-coding-components/{p-62ee6251.js → p-e5a924a1.js} +1 -1
  66. package/dist/arcgis-coding-components/p-f2d64a9d.js +6 -0
  67. package/dist/arcgis-coding-components/{p-03ea6cd7.js → p-ff62d134.js} +3 -3
  68. package/dist/arcgis-coding-components/p-ffce0588.entry.js +6 -0
  69. package/dist/cjs/{app-globals-aee5f4b5.js → app-globals-a9ef3ca8.js} +1 -1
  70. package/dist/cjs/arcade-defaults-f5241680.js +349 -0
  71. package/dist/cjs/arcade-language-features-0b9f3947.js +274 -0
  72. package/dist/cjs/arcade-mode-cc08d9cd.js +335 -0
  73. package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +181 -1501
  74. package/dist/cjs/arcgis-coding-components.cjs.js +4 -4
  75. package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +81 -0
  76. package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +80 -0
  77. package/dist/cjs/{css-7cc05f76.js → css-bb6a49ec.js} +1 -1
  78. package/dist/cjs/{cssMode-2b0daeae.js → cssMode-e7fac7d7.js} +3 -4
  79. package/dist/cjs/{html-f56911e1.js → html-7ff4071d.js} +3 -4
  80. package/dist/cjs/{htmlMode-43eed674.js → htmlMode-c89193ec.js} +3 -4
  81. package/dist/cjs/{index-b34238a6.js → index-4b7880ab.js} +9 -1
  82. package/dist/cjs/index.cjs.js +4 -3
  83. package/dist/cjs/{javascript-5115cb76.js → javascript-864c0220.js} +3 -4
  84. package/dist/cjs/{jsonMode-550dda36.js → jsonMode-ac4a7be7.js} +3 -4
  85. package/dist/cjs/{arcade-defaults-a8d8f8e2.js → language-defaults-base-57b37f9f.js} +842 -1183
  86. package/dist/cjs/loader.cjs.js +4 -4
  87. package/dist/cjs/sql-expr-defaults-245b036d.js +1347 -0
  88. package/dist/cjs/sql-expr-mode-304f5ce2.js +20844 -0
  89. package/dist/cjs/{tsMode-336306a9.js → tsMode-d30d4ab1.js} +4 -5
  90. package/dist/cjs/{typescript-b395242f.js → typescript-6c87ddb3.js} +3 -4
  91. package/dist/components/arcade-defaults.js +54 -1369
  92. package/dist/components/arcade-language-features.js +271 -0
  93. package/dist/components/arcade-mode.js +4 -264
  94. package/dist/components/arcade-results.js +7 -5
  95. package/dist/components/arcade-suggestions.js +7 -5
  96. package/dist/components/arcade-variables.js +8 -6
  97. package/dist/components/arcgis-arcade-editor.js +37 -35
  98. package/dist/components/arcgis-arcade-results.js +1 -1
  99. package/dist/components/arcgis-arcade-suggestions.js +1 -1
  100. package/dist/components/arcgis-arcade-variables.js +1 -1
  101. package/dist/components/arcgis-assets.d.ts +1 -1
  102. package/dist/components/arcgis-assets.js +1 -1
  103. package/dist/components/arcgis-code-editor.js +1 -1
  104. package/dist/components/arcgis-language-api-panel.js +1 -1
  105. package/dist/components/arcgis-sql-expression-editor.d.ts +11 -0
  106. package/dist/components/arcgis-sql-expression-editor.js +120 -0
  107. package/dist/components/arcgis-sql-expression-fields.d.ts +11 -0
  108. package/dist/components/arcgis-sql-expression-fields.js +11 -0
  109. package/dist/components/chunk-2JTWBRMN.js +1154 -0
  110. package/dist/components/code-editor.js +40 -13
  111. package/dist/components/fields.js +5 -5
  112. package/dist/components/index.js +1 -1
  113. package/dist/components/index2.js +30 -22
  114. package/dist/components/language-api-panel.js +13 -40
  115. package/dist/components/language-defaults-base.js +1309 -0
  116. package/dist/components/markdown.js +1 -1
  117. package/dist/components/sql-expr-defaults.js +196 -0
  118. package/dist/components/sql-expr-mode.js +20842 -0
  119. package/dist/components/sql-expression-fields.js +102 -0
  120. package/dist/components/useT9n.js +45 -8
  121. package/dist/components/utilities.js +1 -1
  122. package/dist/esm/{app-globals-59faaf33.js → app-globals-6d0ca11d.js} +1 -1
  123. package/dist/esm/arcade-defaults-066445c4.js +344 -0
  124. package/dist/esm/arcade-language-features-0e00c199.js +269 -0
  125. package/dist/esm/{arcade-mode-5d46035e.js → arcade-mode-abf1e1cf.js} +3 -263
  126. package/dist/esm/arcgis-arcade-editor_6.entry.js +127 -1447
  127. package/dist/esm/arcgis-coding-components.js +5 -5
  128. package/dist/esm/arcgis-sql-expression-editor.entry.js +77 -0
  129. package/dist/esm/arcgis-sql-expression-fields.entry.js +76 -0
  130. package/dist/esm/{css-e257dc49.js → css-c6dae12d.js} +1 -1
  131. package/dist/esm/{cssMode-c11f7f40.js → cssMode-052bb603.js} +2 -3
  132. package/dist/esm/{html-a6c37a99.js → html-572696a1.js} +2 -3
  133. package/dist/esm/{htmlMode-1270bc7d.js → htmlMode-fc184f2d.js} +2 -3
  134. package/dist/esm/{index-a970952c.js → index-0edd9846.js} +9 -1
  135. package/dist/esm/index.js +4 -3
  136. package/dist/esm/{javascript-ee179624.js → javascript-8bfc0096.js} +3 -4
  137. package/dist/esm/{jsonMode-07502ccb.js → jsonMode-7adf94ff.js} +2 -3
  138. package/dist/esm/{arcade-defaults-9eb28407.js → language-defaults-base-85a7f476.js} +833 -1179
  139. package/dist/esm/loader.js +5 -5
  140. package/dist/esm/sql-expr-defaults-be84ec7f.js +1339 -0
  141. package/dist/esm/sql-expr-mode-a4413e5c.js +20840 -0
  142. package/dist/esm/{tsMode-96749a12.js → tsMode-d10773c8.js} +2 -3
  143. package/dist/esm/{typescript-a3cf9881.js → typescript-9491f23e.js} +2 -3
  144. package/dist/loader/cdn.js +1 -1
  145. package/dist/loader/index.cjs.js +1 -1
  146. package/dist/loader/index.es2017.js +1 -1
  147. package/dist/loader/index.js +1 -1
  148. package/dist/types/components/arcade-editor/arcade-editor.d.ts +45 -10
  149. package/dist/types/components/arcade-results/arcade-results.d.ts +43 -1
  150. package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +22 -1
  151. package/dist/types/components/arcade-variables/arcade-variables.d.ts +28 -1
  152. package/dist/types/components/code-editor/code-editor.d.ts +16 -5
  153. package/dist/types/components/language-api-panel/language-api-panel.d.ts +34 -8
  154. package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +24 -0
  155. package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +32 -0
  156. package/dist/types/components.d.ts +98 -24
  157. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +8 -1
  158. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +5 -1
  159. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/sql-expression-editor/sql-expression-editor.stories.d.ts +13 -0
  160. package/dist/types/dependencies.d.ts +6 -10
  161. package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -0
  162. package/dist/types/utils/arcade-monaco/arcade-profile-strategy.d.ts +9 -0
  163. package/dist/types/utils/fields.d.ts +2 -2
  164. package/dist/types/utils/language-defaults-base.d.ts +2 -9
  165. package/dist/types/utils/profile/editor-profile.d.ts +7 -6
  166. package/dist/types/utils/profile/types.d.ts +53 -65
  167. package/dist/types/utils/profile/utils.d.ts +9 -8
  168. package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +41 -0
  169. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +16 -0
  170. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +26 -0
  171. package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +37 -0
  172. package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +11 -0
  173. package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +122 -0
  174. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +5 -0
  175. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +18 -0
  176. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +6 -0
  177. package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +156 -0
  178. package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +150 -0
  179. package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +1397 -0
  180. package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +6 -0
  181. package/dist/types/utils/sql-expr-monaco/sql-expr-constants.d.ts +45 -0
  182. package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +1 -0
  183. package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +21 -0
  184. package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +39 -0
  185. package/dist/types/utils/sql-expr-monaco/sql-expr-language-syntax.d.ts +8 -0
  186. package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +43 -0
  187. package/dist/types/utils/sql-expr-monaco/sql-expr-service-accessors.d.ts +19 -0
  188. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +34 -0
  189. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +100 -0
  190. package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +41 -0
  191. package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +17 -0
  192. package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +24 -0
  193. package/dist/types/utils/sql-expr-monaco/sql-expression-profile-strategy.d.ts +13 -0
  194. package/dist/types/utils/sql-expr-monaco/types.d.ts +89 -0
  195. package/package.json +27 -21
  196. package/dist/arcgis-coding-components/p-0c6de9b3.js +0 -6
  197. package/dist/arcgis-coding-components/p-81c37dab.entry.js +0 -6
  198. package/dist/cjs/arcade-mode-b85ae7d4.js +0 -595
  199. package/dist/components/chunk-IHYYRFLQ.js +0 -1363
  200. package/dist/types/components/arcade-editor/t9n-types.d.ts +0 -8
  201. package/dist/types/components/arcade-results/t9n-types.d.ts +0 -13
  202. package/dist/types/components/arcade-suggestions/t9n-types.d.ts +0 -6
  203. package/dist/types/components/arcade-variables/t9n-types.d.ts +0 -8
  204. package/dist/types/components/language-api-panel/t9n-types.d.ts +0 -8
  205. package/dist/types/utils/profile/predefined-profile.d.ts +0 -2
@@ -0,0 +1,271 @@
1
+ /*!
2
+ * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
+ * v4.31.0-next.21
5
+ */
6
+ import { editor, MarkerSeverity, Range, languages } from 'monaco-editor';
7
+ import { DiagnosticSeverity, InsertTextFormat, CompletionItemKind } from 'vscode-languageserver-types';
8
+ import { t as debounce } from './index2.js';
9
+
10
+ //#region Diagnostic
11
+ class DiagnosticsAdapter {
12
+ constructor(_languageId, _worker, { defaults, diagnosticsService, }) {
13
+ this._languageId = _languageId;
14
+ this._worker = _worker;
15
+ this._disposables = [];
16
+ this._listener = new Map();
17
+ this._diagnosticsService = diagnosticsService;
18
+ this._defaults = defaults;
19
+ const onModelAdd = (model) => {
20
+ const languageId = model.getLanguageId();
21
+ if (languageId !== this._languageId) {
22
+ return;
23
+ }
24
+ const debouncedValidate = debounce(() => {
25
+ this._doValidate(model, languageId).catch((err) => {
26
+ throw err;
27
+ });
28
+ });
29
+ this._listener.set(model.uri.toString(), model.onDidChangeContent(debouncedValidate));
30
+ this._doValidate(model, languageId).catch(console.error);
31
+ };
32
+ const onModelRemoved = (model) => {
33
+ const uriStr = model.uri.toString();
34
+ editor.setModelMarkers(model, this._languageId, []);
35
+ const listener = this._listener.get(uriStr);
36
+ if (listener) {
37
+ listener.dispose();
38
+ this._listener.delete(uriStr);
39
+ }
40
+ };
41
+ this._disposables.push(editor.onDidCreateModel(onModelAdd));
42
+ this._disposables.push(editor.onWillDisposeModel((model) => {
43
+ onModelRemoved(model);
44
+ }));
45
+ this._disposables.push(editor.onDidChangeModelLanguage((event) => {
46
+ onModelRemoved(event.model);
47
+ onModelAdd(event.model);
48
+ }));
49
+ this._disposables.push(defaults.onDidChange(() => {
50
+ editor.getModels().forEach((model) => {
51
+ if (model.getLanguageId() === this._languageId) {
52
+ onModelRemoved(model);
53
+ onModelAdd(model);
54
+ }
55
+ });
56
+ }));
57
+ this._disposables.push(defaults.onModelContextDidChange((key) => {
58
+ editor.getModels().forEach((model) => {
59
+ if (model.getLanguageId() === this._languageId && model.uri.toString() === key) {
60
+ this._doValidate(model, this._languageId).catch(console.error);
61
+ }
62
+ });
63
+ }));
64
+ this._disposables.push({
65
+ dispose: () => {
66
+ this._listener.forEach((value) => value.dispose());
67
+ this._listener.clear();
68
+ },
69
+ });
70
+ editor.getModels().forEach(onModelAdd);
71
+ }
72
+ dispose() {
73
+ this._disposables.forEach((d) => d.dispose());
74
+ this._disposables = [];
75
+ }
76
+ async _doValidate(model, languageId) {
77
+ if (!model.isAttachedToEditor()) {
78
+ return;
79
+ }
80
+ try {
81
+ const workerProxy = await this._worker(model.uri);
82
+ const context = this._defaults.getApiContextForModel(model.uri);
83
+ const diagnostics = await workerProxy.doValidation(model.uri.toString(), context);
84
+ const markers = diagnostics.map((d) => toMarker(model.uri, d));
85
+ this._diagnosticsService.fireDiagnosticsChange(model.uri, diagnostics);
86
+ editor.setModelMarkers(model, languageId, markers);
87
+ }
88
+ catch (err) {
89
+ console.error(err);
90
+ }
91
+ }
92
+ }
93
+ function toSeverity(languageServiceSeverity) {
94
+ switch (languageServiceSeverity) {
95
+ case DiagnosticSeverity.Error:
96
+ return MarkerSeverity.Error;
97
+ case DiagnosticSeverity.Warning:
98
+ return MarkerSeverity.Warning;
99
+ case DiagnosticSeverity.Information:
100
+ return MarkerSeverity.Info;
101
+ case DiagnosticSeverity.Hint:
102
+ return MarkerSeverity.Hint;
103
+ default:
104
+ return MarkerSeverity.Info;
105
+ }
106
+ }
107
+ function toMarker(_resource, diag) {
108
+ // Diagnostics positions are zero-based, MarkerData are 1-based
109
+ return {
110
+ severity: toSeverity(diag.severity),
111
+ startLineNumber: diag.range.start.line + 1,
112
+ startColumn: diag.range.start.character + 1,
113
+ endLineNumber: diag.range.end.line + 1,
114
+ endColumn: diag.range.end.character + 1,
115
+ message: diag.message,
116
+ };
117
+ }
118
+ //#endregion
119
+ //#region Completion
120
+ function fromPosition(position) {
121
+ // Language service is zero based
122
+ return { character: position.column - 1, line: position.lineNumber - 1 };
123
+ }
124
+ function toRange(range) {
125
+ return new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);
126
+ }
127
+ function toTextEdit(textEdit) {
128
+ return {
129
+ range: toRange(textEdit.range),
130
+ text: textEdit.newText,
131
+ };
132
+ }
133
+ function isInsertReplaceEdit(edit) {
134
+ return (typeof edit.insert !== "undefined" &&
135
+ typeof edit.replace !== "undefined");
136
+ }
137
+ // TODO: extract this function to common util
138
+ function toCompletionItemKind(kind) {
139
+ const mItemKind = languages.CompletionItemKind;
140
+ switch (kind) {
141
+ case CompletionItemKind.Text:
142
+ return mItemKind.Text;
143
+ case CompletionItemKind.Method:
144
+ return mItemKind.Method;
145
+ case CompletionItemKind.Function:
146
+ return mItemKind.Function;
147
+ case CompletionItemKind.Constructor:
148
+ return mItemKind.Constructor;
149
+ case CompletionItemKind.Field:
150
+ return mItemKind.Field;
151
+ case CompletionItemKind.Variable:
152
+ return mItemKind.Variable;
153
+ case CompletionItemKind.Class:
154
+ return mItemKind.Class;
155
+ case CompletionItemKind.Interface:
156
+ return mItemKind.Interface;
157
+ case CompletionItemKind.Module:
158
+ return mItemKind.Module;
159
+ case CompletionItemKind.Property:
160
+ return mItemKind.Property;
161
+ case CompletionItemKind.Unit:
162
+ return mItemKind.Unit;
163
+ case CompletionItemKind.Value:
164
+ return mItemKind.Value;
165
+ case CompletionItemKind.Enum:
166
+ return mItemKind.Enum;
167
+ case CompletionItemKind.Keyword:
168
+ return mItemKind.Keyword;
169
+ case CompletionItemKind.Snippet:
170
+ return mItemKind.Snippet;
171
+ case CompletionItemKind.Color:
172
+ return mItemKind.Color;
173
+ case CompletionItemKind.File:
174
+ return mItemKind.File;
175
+ case CompletionItemKind.Reference:
176
+ return mItemKind.Reference;
177
+ case CompletionItemKind.Folder:
178
+ return mItemKind.Folder;
179
+ case CompletionItemKind.EnumMember:
180
+ return mItemKind.EnumMember;
181
+ case CompletionItemKind.Constant:
182
+ return mItemKind.Constant;
183
+ case CompletionItemKind.Struct:
184
+ return mItemKind.Struct;
185
+ case CompletionItemKind.Event:
186
+ return mItemKind.Event;
187
+ case CompletionItemKind.Operator:
188
+ return mItemKind.Operator;
189
+ case CompletionItemKind.TypeParameter:
190
+ return mItemKind.TypeParameter;
191
+ default:
192
+ return mItemKind.Property;
193
+ }
194
+ }
195
+ class CompletionProvider {
196
+ constructor(_worker, _defaults) {
197
+ this._worker = _worker;
198
+ this._defaults = _defaults;
199
+ this.triggerCharacters = [".", "("];
200
+ }
201
+ async provideCompletionItems(model, position) {
202
+ const worker = await this._worker(model.uri);
203
+ const context = this._defaults.getApiContextForModel(model.uri);
204
+ const completionList = await worker.doComplete(model.uri.toString(), fromPosition(position), context);
205
+ const wordInfo = model.getWordUntilPosition(position);
206
+ const wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
207
+ const items = completionList.items.map((entry) => {
208
+ const item = {
209
+ label: entry.label,
210
+ insertText: entry.insertText || entry.label,
211
+ sortText: entry.sortText,
212
+ filterText: entry.filterText,
213
+ detail: entry.detail,
214
+ range: wordRange,
215
+ kind: toCompletionItemKind(entry.kind),
216
+ };
217
+ if (entry.textEdit) {
218
+ if (isInsertReplaceEdit(entry.textEdit)) {
219
+ item.range = {
220
+ insert: toRange(entry.textEdit.insert),
221
+ replace: toRange(entry.textEdit.replace),
222
+ };
223
+ }
224
+ else {
225
+ item.range = toRange(entry.textEdit.range);
226
+ }
227
+ item.insertText = entry.textEdit.newText;
228
+ }
229
+ if (entry.additionalTextEdits) {
230
+ item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);
231
+ }
232
+ if (entry.insertTextFormat === InsertTextFormat.Snippet) {
233
+ item.insertTextRules = languages.CompletionItemInsertTextRule.InsertAsSnippet;
234
+ }
235
+ if (entry.documentation) {
236
+ if (typeof entry.documentation === "string") {
237
+ item.documentation = entry.documentation;
238
+ }
239
+ else {
240
+ item.documentation = {
241
+ supportThemeIcons: false,
242
+ value: entry.documentation.value,
243
+ supportHtml: true,
244
+ };
245
+ }
246
+ }
247
+ return item;
248
+ });
249
+ return {
250
+ incomplete: completionList.isIncomplete,
251
+ suggestions: items,
252
+ };
253
+ }
254
+ }
255
+ //#endregion
256
+ //#region Formatter
257
+ class FormattingProvider {
258
+ constructor(_worker, _defaults) {
259
+ this._worker = _worker;
260
+ this._defaults = _defaults;
261
+ }
262
+ async provideDocumentFormattingEdits(model) {
263
+ const worker = await this._worker(model.uri);
264
+ const context = this._defaults.getApiContextForModel(model.uri.toString());
265
+ const edits = await worker.doFormat(model.uri.toString(), context);
266
+ return edits.map((e) => ({ range: toRange(e.range), text: e.newText }));
267
+ }
268
+ }
269
+ //#endregion
270
+
271
+ export { CompletionProvider as C, DiagnosticsAdapter as D, FormattingProvider as F, toCompletionItemKind as t };
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
- import { editor, MarkerSeverity, Range, languages, Emitter } from 'monaco-editor';
7
- import { CompletionItemKind, DiagnosticSeverity, InsertTextFormat } from 'vscode-languageserver-types';
8
- import { u as debounce } from './index2.js';
6
+ import { editor, languages, Emitter } from 'monaco-editor';
7
+ import { CompletionItemKind } from 'vscode-languageserver-types';
8
+ import { C as CompletionProvider, F as FormattingProvider, D as DiagnosticsAdapter } from './arcade-language-features.js';
9
9
 
10
10
  var V={False:"false",Null:"null",True:"true"},f={Break:"break",Continue:"continue",Else:"else",For:"for",From:"from",Function:"function",If:"if",Import:"import",Export:"export",In:"in",Return:"return",Var:"var",While:"while"},Ee=["++","--"],Je=["-","+","!","~"],Qe=["=","/=","*=","%=","+=","-="],Ze=["||","&&"],Lt=["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"];var U=[[],[],[]];Ee.forEach(t=>U[t.length-1]?.push(t));Je.forEach(t=>U[t.length-1]?.push(t));Ze.forEach(t=>U[t.length-1]?.push(t));Qe.forEach(t=>U[t.length-1]?.push(t));Lt.forEach(t=>U[t.length-1]?.push(t));var ft=Object.values(f),gt=Object.values(V);gt.map(t=>({label:t,kind:CompletionItemKind.Constant}));ft.map(t=>({label:t,kind:CompletionItemKind.Keyword}));
11
11
 
@@ -217,266 +217,6 @@ const arcadeMonarchLanguage = {
217
217
  },
218
218
  };
219
219
 
220
- //#region Diagnostic
221
- class DiagnosticsAdapter {
222
- constructor(_languageId, _worker, { defaults, diagnosticsService, }) {
223
- this._languageId = _languageId;
224
- this._worker = _worker;
225
- this._disposables = [];
226
- this._listener = new Map();
227
- this._diagnosticsService = diagnosticsService;
228
- this._defaults = defaults;
229
- const onModelAdd = (model) => {
230
- const languageId = model.getLanguageId();
231
- if (languageId !== this._languageId) {
232
- return;
233
- }
234
- const debouncedValidate = debounce(() => {
235
- this._doValidate(model, languageId).catch((err) => {
236
- throw err;
237
- });
238
- });
239
- this._listener.set(model.uri.toString(), model.onDidChangeContent(debouncedValidate));
240
- this._doValidate(model, languageId).catch(console.error);
241
- };
242
- const onModelRemoved = (model) => {
243
- const uriStr = model.uri.toString();
244
- editor.setModelMarkers(model, this._languageId, []);
245
- const listener = this._listener.get(uriStr);
246
- if (listener) {
247
- listener.dispose();
248
- this._listener.delete(uriStr);
249
- }
250
- };
251
- this._disposables.push(editor.onDidCreateModel(onModelAdd));
252
- this._disposables.push(editor.onWillDisposeModel((model) => {
253
- onModelRemoved(model);
254
- }));
255
- this._disposables.push(editor.onDidChangeModelLanguage((event) => {
256
- onModelRemoved(event.model);
257
- onModelAdd(event.model);
258
- }));
259
- this._disposables.push(defaults.onDidChange(() => {
260
- editor.getModels().forEach((model) => {
261
- if (model.getLanguageId() === this._languageId) {
262
- onModelRemoved(model);
263
- onModelAdd(model);
264
- }
265
- });
266
- }));
267
- this._disposables.push(defaults.onModelContextDidChange((key) => {
268
- editor.getModels().forEach((model) => {
269
- if (model.getLanguageId() === this._languageId && model.uri.toString() === key) {
270
- this._doValidate(model, this._languageId).catch(console.error);
271
- }
272
- });
273
- }));
274
- this._disposables.push({
275
- dispose: () => {
276
- this._listener.forEach((value) => value.dispose());
277
- this._listener.clear();
278
- },
279
- });
280
- editor.getModels().forEach(onModelAdd);
281
- }
282
- dispose() {
283
- this._disposables.forEach((d) => d.dispose());
284
- this._disposables = [];
285
- }
286
- async _doValidate(model, languageId) {
287
- if (!model.isAttachedToEditor()) {
288
- return;
289
- }
290
- try {
291
- const workerProxy = await this._worker(model.uri);
292
- const context = this._defaults.getApiContextForModel(model.uri);
293
- const diagnostics = await workerProxy.doValidation(model.uri.toString(), context);
294
- const markers = diagnostics.map((d) => toMarker(model.uri, d));
295
- this._diagnosticsService.fireDiagnosticsChange(model.uri, diagnostics);
296
- editor.setModelMarkers(model, languageId, markers);
297
- }
298
- catch (err) {
299
- console.error(err);
300
- }
301
- }
302
- }
303
- function toSeverity(languageServiceSeverity) {
304
- switch (languageServiceSeverity) {
305
- case DiagnosticSeverity.Error:
306
- return MarkerSeverity.Error;
307
- case DiagnosticSeverity.Warning:
308
- return MarkerSeverity.Warning;
309
- case DiagnosticSeverity.Information:
310
- return MarkerSeverity.Info;
311
- case DiagnosticSeverity.Hint:
312
- return MarkerSeverity.Hint;
313
- default:
314
- return MarkerSeverity.Info;
315
- }
316
- }
317
- function toMarker(_resource, diag) {
318
- // Diagnostics positions are zero-based, MarkerData are 1-based
319
- return {
320
- severity: toSeverity(diag.severity),
321
- startLineNumber: diag.range.start.line + 1,
322
- startColumn: diag.range.start.character + 1,
323
- endLineNumber: diag.range.end.line + 1,
324
- endColumn: diag.range.end.character + 1,
325
- message: diag.message,
326
- };
327
- }
328
- //#endregion
329
- //#region Completion
330
- function fromPosition(position) {
331
- // Language service is zero based
332
- return { character: position.column - 1, line: position.lineNumber - 1 };
333
- }
334
- function toRange(range) {
335
- return new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);
336
- }
337
- function toTextEdit(textEdit) {
338
- return {
339
- range: toRange(textEdit.range),
340
- text: textEdit.newText,
341
- };
342
- }
343
- function isInsertReplaceEdit(edit) {
344
- return (typeof edit.insert !== "undefined" &&
345
- typeof edit.replace !== "undefined");
346
- }
347
- function toCompletionItemKind(kind) {
348
- const mItemKind = languages.CompletionItemKind;
349
- switch (kind) {
350
- case CompletionItemKind.Text:
351
- return mItemKind.Text;
352
- case CompletionItemKind.Method:
353
- return mItemKind.Method;
354
- case CompletionItemKind.Function:
355
- return mItemKind.Function;
356
- case CompletionItemKind.Constructor:
357
- return mItemKind.Constructor;
358
- case CompletionItemKind.Field:
359
- return mItemKind.Field;
360
- case CompletionItemKind.Variable:
361
- return mItemKind.Variable;
362
- case CompletionItemKind.Class:
363
- return mItemKind.Class;
364
- case CompletionItemKind.Interface:
365
- return mItemKind.Interface;
366
- case CompletionItemKind.Module:
367
- return mItemKind.Module;
368
- case CompletionItemKind.Property:
369
- return mItemKind.Property;
370
- case CompletionItemKind.Unit:
371
- return mItemKind.Unit;
372
- case CompletionItemKind.Value:
373
- return mItemKind.Value;
374
- case CompletionItemKind.Enum:
375
- return mItemKind.Enum;
376
- case CompletionItemKind.Keyword:
377
- return mItemKind.Keyword;
378
- case CompletionItemKind.Snippet:
379
- return mItemKind.Snippet;
380
- case CompletionItemKind.Color:
381
- return mItemKind.Color;
382
- case CompletionItemKind.File:
383
- return mItemKind.File;
384
- case CompletionItemKind.Reference:
385
- return mItemKind.Reference;
386
- case CompletionItemKind.Folder:
387
- return mItemKind.Folder;
388
- case CompletionItemKind.EnumMember:
389
- return mItemKind.EnumMember;
390
- case CompletionItemKind.Constant:
391
- return mItemKind.Constant;
392
- case CompletionItemKind.Struct:
393
- return mItemKind.Struct;
394
- case CompletionItemKind.Event:
395
- return mItemKind.Event;
396
- case CompletionItemKind.Operator:
397
- return mItemKind.Operator;
398
- case CompletionItemKind.TypeParameter:
399
- return mItemKind.TypeParameter;
400
- default:
401
- return mItemKind.Property;
402
- }
403
- }
404
- class CompletionProvider {
405
- constructor(_worker, _defaults) {
406
- this._worker = _worker;
407
- this._defaults = _defaults;
408
- this.triggerCharacters = [".", "("];
409
- }
410
- async provideCompletionItems(model, position) {
411
- const worker = await this._worker(model.uri);
412
- const context = this._defaults.getApiContextForModel(model.uri);
413
- const completionList = await worker.doComplete(model.uri.toString(), fromPosition(position), context);
414
- const wordInfo = model.getWordUntilPosition(position);
415
- const wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
416
- const items = completionList.items.map((entry) => {
417
- const item = {
418
- label: entry.label,
419
- insertText: entry.insertText || entry.label,
420
- sortText: entry.sortText,
421
- filterText: entry.filterText,
422
- detail: entry.detail,
423
- range: wordRange,
424
- kind: toCompletionItemKind(entry.kind),
425
- };
426
- if (entry.textEdit) {
427
- if (isInsertReplaceEdit(entry.textEdit)) {
428
- item.range = {
429
- insert: toRange(entry.textEdit.insert),
430
- replace: toRange(entry.textEdit.replace),
431
- };
432
- }
433
- else {
434
- item.range = toRange(entry.textEdit.range);
435
- }
436
- item.insertText = entry.textEdit.newText;
437
- }
438
- if (entry.additionalTextEdits) {
439
- item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);
440
- }
441
- if (entry.insertTextFormat === InsertTextFormat.Snippet) {
442
- item.insertTextRules = languages.CompletionItemInsertTextRule.InsertAsSnippet;
443
- }
444
- if (entry.documentation) {
445
- if (typeof entry.documentation === "string") {
446
- item.documentation = entry.documentation;
447
- }
448
- else {
449
- item.documentation = {
450
- supportThemeIcons: false,
451
- value: entry.documentation.value,
452
- supportHtml: true,
453
- };
454
- }
455
- }
456
- return item;
457
- });
458
- return {
459
- incomplete: completionList.isIncomplete,
460
- suggestions: items,
461
- };
462
- }
463
- }
464
- //#endregion
465
- //#region Formatter
466
- class FormattingProvider {
467
- constructor(_worker, _defaults) {
468
- this._worker = _worker;
469
- this._defaults = _defaults;
470
- }
471
- async provideDocumentFormattingEdits(model) {
472
- const worker = await this._worker(model.uri);
473
- const context = this._defaults.getApiContextForModel(model.uri.toString());
474
- const edits = await worker.doFormat(model.uri.toString(), context);
475
- return edits.map((e) => ({ range: toRange(e.range), text: e.newText }));
476
- }
477
- }
478
- //#endregion
479
-
480
220
  /**
481
221
  * Manager to create our arcade worker and client proxy
482
222
  */
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
6
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host, forceUpdate } from '@stencil/core/internal/client';
7
7
  import { g as importArcade, s as supportedFields } from './fields.js';
8
- import { u as useControllerManager } from './chunk-IHYYRFLQ.js';
9
- import { s as setValuesInString, q as quoteString } from './index2.js';
8
+ import { u as useControllerManager } from './chunk-2JTWBRMN.js';
9
+ import { c as setValuesInString, q as quoteString } from './index2.js';
10
10
  import { u as useT9n } from './useT9n.js';
11
11
  import "@esri/calcite-components/dist/components/calcite-tree.js";
12
12
  import "@esri/calcite-components/dist/components/calcite-tree-item.js";
@@ -302,6 +302,8 @@ function renderFeatureSetTable(arcadeResult) {
302
302
  }
303
303
  const __cmpMeta = [1,"arcgis-arcade-results",{"loading":[1028],"openedResultPanel":[1537,"opened-result-panel"],"result":[1040],"consoleLogs":[1040]}];
304
304
  const ArcgisArcadeResults = /*@__PURE__*/ proxyCustomElement(class ArcgisArcadeResults extends HTMLElement {
305
+ connectedCallback() { this.manager._connectedCallback(); }
306
+ disconnectedCallback() { this.manager._disconnectedCallback(); }
305
307
  constructor() {
306
308
  super();
307
309
  this.__registerHost();
@@ -370,7 +372,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
370
372
  unit: "millisecond",
371
373
  maximumFractionDigits: 2,
372
374
  }).format(this.result.executionTime ?? 0),
373
- }) }, h("calcite-icon", { slot: "content-start", icon: "information", scale: "s", class: iconClass })))) : (h("calcite-list-item", { label: this.messages.runscriptmessage ?? "No output, run the script once." }, h("calcite-icon", { slot: "content-start", icon: "information", scale: "s", class: "color-info" })))));
375
+ }) }, h("calcite-icon", { slot: "content-start", icon: "information", scale: "s", class: iconClass })))) : (h("calcite-list-item", { label: this.messages.runscriptmessage }, h("calcite-icon", { slot: "content-start", icon: "information", scale: "s", class: "color-info" })))));
374
376
  }
375
377
  renderOutputPanel() {
376
378
  if (this.openedResultPanel !== "output") {
@@ -469,7 +471,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
469
471
  }))) : null));
470
472
  }
471
473
  render() {
472
- return (h(Host, { key: 'a614339d095dcaa6ba426f3fc104f3628979a019' }, h("header", { key: 'cafdb89380b6a1db8fb478ef61d8dc328907977d', class: "flex-row" }, h("calcite-action-bar", { key: '542065aba5cc9e26ee9259c47e8c067d39aee748', class: "flex-adjustable", layout: "horizontal", scale: "s", expanded: true, "expand-disabled": true }, h("calcite-action-group", { key: 'ca20537be7a679c37ae72ba6556a2448c3ff3a3b', scale: "s" }, h("calcite-action", { key: 'b9bdd5a0687931d2b40103ec1e506b18292d2bfa', active: this.openedResultPanel === "output", text: this.messages.output ?? "Output", textEnabled: true, scale: "s", icon: "list-show-all", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "output" }), h("calcite-action", { key: '74fc4b880b1a60221b06ea758c45bc965723b3f0', active: this.openedResultPanel === "console", text: this.messages.console ?? "Console", textEnabled: true, scale: "s", icon: "console", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "console" }), h("calcite-action", { key: 'fc747cc2177d5fcd08ba1dcfa052893e963b28c0', active: this.openedResultPanel === "log", text: this.messages.log ?? "Log", textEnabled: true, scale: "s", icon: "list", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "log" }))), h("calcite-action", { key: '6fd3159fd471b10d76f7906fec19298301126829', scale: "s", icon: "x", text: this.messages.close ?? "", onClick: this._emitClose })), h("article", { key: 'a60c039cec36a4408044e37d8b46d29bcda6e6a3', class: "flex-adjustable" }, this.loading ? (h("calcite-loader", { scale: "s", type: "indeterminate", label: "" })) : (h("div", { class: "flex-column y-scrollable-container" }, this.renderOutputPanel(), this.renderConsolePanel(), this.renderLogPanel())))));
474
+ return (h(Host, { key: 'a9686019caaf1b001b0500d36539817f5de98bde' }, h("header", { key: 'ab5192ba30c67df933b0b61d8ab1875278aef3a5', class: "flex-row" }, h("calcite-action-bar", { key: '6ed2b45b6d1257c1d0d21bcb7158485e3133035a', class: "flex-adjustable", layout: "horizontal", scale: "s", expanded: true, "expand-disabled": true }, h("calcite-action-group", { key: '85fccd7ecd4d87f1d83e19c561b8020008ffe323', scale: "s" }, h("calcite-action", { key: 'c6e8663a817c53f7c9864cd4acaa734f4d80b1c5', active: this.openedResultPanel === "output", text: this.messages.output ?? "", textEnabled: true, scale: "s", icon: "list-show-all", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "output" }), h("calcite-action", { key: 'b38da4019d3f2acde28e4c528be9fcdc8db04728', active: this.openedResultPanel === "console", text: this.messages.console ?? "", textEnabled: true, scale: "s", icon: "console", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "console" }), h("calcite-action", { key: 'da45ab9baa6cab3d1ad88dc15547395e86cb3f08', active: this.openedResultPanel === "log", text: this.messages.log ?? "", textEnabled: true, scale: "s", icon: "list", iconFlipRtl: true, onClick: this._switchResultPanel, "data-panel-name": "log" }))), h("calcite-action", { key: '0110dc0164551a5b3f560fbd4ddac4c73109707b', scale: "s", icon: "x", text: this.messages.close ?? "", onClick: this._emitClose })), h("article", { key: 'fb31b6f32eae1d7ee0ff5ea78e057f79c95ea8d2', class: "flex-adjustable" }, this.loading ? (h("calcite-loader", { scale: "s", type: "indeterminate", label: "" })) : (h("div", { class: "flex-column y-scrollable-container" }, this.renderOutputPanel(), this.renderConsolePanel(), this.renderLogPanel())))));
473
475
  }
474
476
  static get assetsDirs() { return ["assets"]; }
475
477
  get el() { return this; }
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
6
  import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
7
7
  import { g as generateColorizeStyles, o as onColorizeThemeChanged, c as convertMarkdownString, a as colorizeCodeElement } from './markdown.js';
8
8
  import { f as filterCollection } from './utilities.js';
9
- import { u as useControllerManager } from './chunk-IHYYRFLQ.js';
10
- import { t as setFocusOnElement } from './index2.js';
9
+ import { u as useControllerManager } from './chunk-2JTWBRMN.js';
10
+ import { r as setFocusOnElement } from './index2.js';
11
11
  import { u as useT9n } from './useT9n.js';
12
12
  import "@esri/calcite-components/dist/components/calcite-list-item-group.js";
13
13
  import "@esri/calcite-components/dist/components/calcite-list-item.js";
@@ -34,6 +34,7 @@ const ArcgisArcadeSuggestionsStyle0 = arcadeSuggestionsCss;
34
34
 
35
35
  const __cmpMeta = [1,"arcgis-arcade-suggestions",{"suggestions":[1040],"_selectedSuggestion":[32],"_filterValue":[32],"_colorizeStyle":[32]},undefined,{"suggestions":["suggestionsPropChanged"]}];
36
36
  const ArcgisArcadeSuggestions = /*@__PURE__*/ proxyCustomElement(class ArcgisArcadeSuggestions extends HTMLElement {
37
+ connectedCallback() { this.manager._connectedCallback(); }
37
38
  constructor() {
38
39
  super();
39
40
  this.__registerHost();
@@ -86,6 +87,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
86
87
  this._themeChangedListener = onColorizeThemeChanged(() => (this._colorizeStyle = generateColorizeStyles()));
87
88
  }
88
89
  disconnectedCallback() {
90
+ this.manager._disconnectedCallback();
89
91
  this._flowObserver?.disconnect();
90
92
  this._themeChangedListener?.dispose();
91
93
  }
@@ -123,7 +125,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
123
125
  renderSuggestionListItems(suggestions) {
124
126
  suggestions = filterCollection(suggestions, "label", this._filterValue);
125
127
  if (!suggestions.length) {
126
- return h("div", { class: "notice-container" }, this.messages.noitems ?? "No item");
128
+ return h("div", { class: "notice-container" }, this.messages.noitems);
127
129
  }
128
130
  return suggestions.map((suggestion) => (h("calcite-list-item", { label: suggestion.label, description: suggestion.description, onCalciteListItemSelect: this._emitItemSelected, onKeyPress: this._emitItemSelected, "data-item": suggestion }, h("calcite-action", { slot: "actions-end", text: this.messages.expand ?? "", scale: "s", icon: "chevron-right", iconFlipRtl: true, onClick: this._showSuggestionDetail, "data-item": suggestion }))));
129
131
  }
@@ -135,7 +137,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
135
137
  return (h("calcite-flow-item", { heading: this.messages.suggestions, closable: true, onCalciteFlowItemClose: this._emitClose, beforeBack: this._beforeBack }, h("calcite-button", { width: "half", slot: "footer", appearance: "outline", kind: "brand", iconStart: "code", scale: "s", onClick: this._emitItemSelected, ref: (e) => void e?.setFocus(), "data-item": suggestion }, this.messages.insert), h("calcite-block", { open: true, heading: suggestion.label, description: suggestion.description }, h("div", { innerHTML: convertMarkdownString(suggestion.documentation) }), h("pre", null, h("code", { ref: (e) => e === undefined ? undefined : void colorizeCodeElement(e, suggestion.code).catch(console.error) })))));
136
138
  }
137
139
  render() {
138
- return (h(Host, { key: 'fa11f8f0541f31b0979b1efb8cfa48e8808eff67' }, h("style", { key: 'b3cb5ad5e4f9b29b499482b6bd908283a7b3a639' }, this._colorizeStyle), h("calcite-flow", { key: '2827b51aa567edd908a84183ced66999eea3a0a8', ref: (ref) => this.flowFocusHandler(ref) }, h("calcite-flow-item", { key: 'd35292ff615f7cfb26f5d8b88074a9191a7d190c', heading: this.messages.suggestions, closable: true, onCalciteFlowItemClose: this._emitClose }, h("calcite-input", { key: 'f62fe1c21a55a0bb21b65638554735803b620283', value: this._filterValue, icon: "magnifying-glass", clearable: true, onCalciteInputInput: this._updateFilterValue, class: "sticky", scale: "m" }), h("calcite-list", { key: 'bb4c1d9d41a7005f9f768d3ab619200fd697e4f8' }, this.renderSuggestionGroups())), this.renderSuggestionFlowItem())));
140
+ return (h(Host, { key: 'fc55be12efad3be68c0612c086f468826a9b13b7' }, h("style", { key: '5274396deaed7ea9f9275773bb9a2090f6713ad8' }, this._colorizeStyle), h("calcite-flow", { key: '94643eecc38f1cea329db6e2b4c4ec6477e6a081', ref: (ref) => this.flowFocusHandler(ref) }, h("calcite-flow-item", { key: '9fd69601bbeb818527bb521cc288706a5cebc4b2', heading: this.messages.suggestions, closable: true, onCalciteFlowItemClose: this._emitClose }, h("calcite-input", { key: 'd95ed08a58313c952e397e641d6d9d55a1d5d3d9', value: this._filterValue, icon: "magnifying-glass", clearable: true, onCalciteInputInput: this._updateFilterValue, class: "sticky", scale: "m" }), h("calcite-list", { key: 'c63c404469b5c21f867e763a3865f60104e0c23c' }, this.renderSuggestionGroups())), this.renderSuggestionFlowItem())));
139
141
  }
140
142
  static get assetsDirs() { return ["assets"]; }
141
143
  get el() { return this; }