@arcgis/coding-components 1.0.0-beta.9 → 4.28.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +1 -1
  2. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ar.json +858 -192
  3. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bg.json +821 -155
  4. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bs.json +829 -163
  5. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ca.json +829 -163
  6. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.cs.json +829 -163
  7. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.da.json +829 -163
  8. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.de.json +829 -163
  9. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.el.json +858 -192
  10. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.en.json +853 -187
  11. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.es.json +829 -163
  12. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.et.json +829 -163
  13. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fi.json +858 -192
  14. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fr.json +829 -163
  15. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.he.json +858 -192
  16. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hr.json +829 -163
  17. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hu.json +829 -163
  18. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.id.json +858 -192
  19. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.it.json +821 -155
  20. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ja.json +859 -193
  21. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ko.json +859 -193
  22. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lt.json +829 -163
  23. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lv.json +829 -163
  24. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nb.json +829 -163
  25. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nl.json +829 -163
  26. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pl.json +829 -163
  27. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-BR.json +829 -163
  28. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-PT.json +829 -163
  29. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ro.json +829 -163
  30. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ru.json +858 -192
  31. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sk.json +829 -163
  32. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sl.json +829 -163
  33. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sr.json +845 -179
  34. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sv.json +829 -163
  35. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.th.json +858 -192
  36. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.tr.json +858 -192
  37. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.uk.json +858 -192
  38. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.vi.json +858 -192
  39. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-CN.json +859 -193
  40. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-HK.json +859 -193
  41. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-TW.json +859 -193
  42. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ar.json +1 -2
  43. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bg.json +1 -2
  44. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bs.json +1 -2
  45. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ca.json +1 -2
  46. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.cs.json +1 -2
  47. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.da.json +1 -2
  48. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.de.json +1 -2
  49. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.el.json +1 -2
  50. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.en.json +1 -2
  51. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.es.json +1 -2
  52. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.et.json +1 -2
  53. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fi.json +1 -2
  54. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fr.json +1 -2
  55. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.he.json +1 -2
  56. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hr.json +1 -2
  57. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hu.json +1 -2
  58. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.id.json +1 -2
  59. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.it.json +1 -2
  60. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ja.json +1 -2
  61. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ko.json +1 -2
  62. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lt.json +1 -2
  63. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lv.json +1 -2
  64. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nb.json +1 -2
  65. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nl.json +1 -2
  66. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pl.json +1 -2
  67. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-BR.json +1 -2
  68. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-PT.json +1 -2
  69. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ro.json +1 -2
  70. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ru.json +1 -2
  71. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sk.json +1 -2
  72. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sl.json +1 -2
  73. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sr.json +1 -2
  74. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sv.json +1 -2
  75. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.th.json +1 -2
  76. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.tr.json +1 -2
  77. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.uk.json +1 -2
  78. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.vi.json +1 -2
  79. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-CN.json +1 -2
  80. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-HK.json +1 -2
  81. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-TW.json +1 -2
  82. package/dist/arcgis-coding-components/index.esm.js +1 -1
  83. package/dist/arcgis-coding-components/p-3af16d99.js +1 -0
  84. package/dist/arcgis-coding-components/{p-ee4aaf72.js → p-46aaf7d4.js} +1 -1
  85. package/dist/arcgis-coding-components/{p-ed254359.js → p-4bd9d791.js} +2 -2
  86. package/dist/arcgis-coding-components/{p-2eee5b07.js → p-73aa96ee.js} +7 -7
  87. package/dist/arcgis-coding-components/{p-63d6d128.js → p-81676e51.js} +1 -1
  88. package/dist/arcgis-coding-components/p-a8a8510a.entry.js +1 -0
  89. package/dist/arcgis-coding-components/{p-616bcc2c.js → p-a9ec2366.js} +1 -1
  90. package/dist/arcgis-coding-components/{p-41feaa6e.js → p-bf7a8d89.js} +1 -1
  91. package/dist/arcgis-coding-components/{p-c14a46af.js → p-f418c117.js} +1 -1
  92. package/dist/arcgis-coding-components/{p-b866ffa3.js → p-f6b45c23.js} +1 -1
  93. package/dist/cjs/{arcade-defaults-f77b7bae.js → arcade-defaults-3bd0c14d.js} +3271 -3169
  94. package/dist/cjs/arcade-mode-070b367b.js +600 -0
  95. package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +51 -30
  96. package/dist/cjs/{cssMode-c21a8b34.js → cssMode-bb33401a.js} +1 -1
  97. package/dist/cjs/{html-baddeebf.js → html-6a48c22b.js} +1 -1
  98. package/dist/cjs/{htmlMode-3ca73779.js → htmlMode-dd092c6e.js} +1 -1
  99. package/dist/cjs/index.cjs.js +3 -5
  100. package/dist/cjs/{javascript-4226e8d4.js → javascript-06348a03.js} +2 -2
  101. package/dist/cjs/{jsonMode-4496d6b9.js → jsonMode-d987edf0.js} +1 -1
  102. package/dist/cjs/{tsMode-6fa6f2f6.js → tsMode-4c122a19.js} +1 -1
  103. package/dist/cjs/{typescript-5b6bab68.js → typescript-a09007d1.js} +1 -1
  104. package/dist/components/arcade-api.js +3 -2
  105. package/dist/components/arcade-contribution.js +1 -1
  106. package/dist/components/arcade-defaults.js +7 -24
  107. package/dist/components/arcade-mode.js +3 -3
  108. package/dist/components/arcade-results.js +40 -10
  109. package/dist/components/arcade-suggestions.js +2 -1
  110. package/dist/components/arcade-variables.js +2 -2
  111. package/dist/components/arcgis-arcade-editor.js +2 -2
  112. package/dist/components/code-editor.js +9 -2
  113. package/dist/components/fields.js +125 -0
  114. package/dist/components/index.js +1 -7
  115. package/dist/components/index2.js +282 -32
  116. package/dist/components/markdown.js +1 -1
  117. package/dist/components/utilities.js +2 -334
  118. package/dist/esm/{arcade-defaults-24670a1d.js → arcade-defaults-e4176a6a.js} +3270 -3171
  119. package/dist/esm/arcade-mode-e62d056a.js +596 -0
  120. package/dist/esm/arcgis-arcade-api_6.entry.js +49 -28
  121. package/dist/esm/{cssMode-0ae84348.js → cssMode-3544cc9c.js} +1 -1
  122. package/dist/esm/{html-c18864a6.js → html-a801d6a9.js} +1 -1
  123. package/dist/esm/{htmlMode-426699f2.js → htmlMode-fec36926.js} +1 -1
  124. package/dist/esm/index.js +1 -7
  125. package/dist/esm/{javascript-982f2d73.js → javascript-17b4c349.js} +2 -2
  126. package/dist/esm/{jsonMode-170e0a0e.js → jsonMode-f533b728.js} +1 -1
  127. package/dist/esm/{tsMode-99d2e8e5.js → tsMode-49d8893e.js} +1 -1
  128. package/dist/esm/{typescript-de4f8a27.js → typescript-34fa1e83.js} +1 -1
  129. package/dist/types/index.d.ts +2 -4
  130. package/dist/types/utils/arcade-executor.d.ts +35 -3
  131. package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +6 -0
  132. package/dist/types/utils/fields.d.ts +10 -0
  133. package/dist/types/utils/profile/types.d.ts +2 -2
  134. package/dist/types/utils/utilities.d.ts +0 -6
  135. package/package.json +8 -8
  136. package/dist/arcgis-coding-components/p-4d7cdaf4.js +0 -1
  137. package/dist/arcgis-coding-components/p-7d6c922f.entry.js +0 -1
  138. package/dist/cjs/arcade-mode-4b1d5adc.js +0 -600
  139. package/dist/esm/arcade-mode-dc10ed9f.js +0 -596
@@ -0,0 +1,125 @@
1
+ const amd = "define" in window && typeof window.define === "function" && "amd" in window.define;
2
+ function requireModule(modulePath) {
3
+ return new Promise((resolve) => window.require([modulePath], (moduleDefault) => {
4
+ resolve(moduleDefault);
5
+ }));
6
+ }
7
+ async function importLayersFeatureLayer() {
8
+ if (amd) {
9
+ return requireModule("esri/layers/FeatureLayer");
10
+ }
11
+ const module = await import('@arcgis/core/layers/FeatureLayer.js');
12
+ return module.default;
13
+ }
14
+ async function importPortalPortalItem() {
15
+ if (amd) {
16
+ return requireModule("esri/portal/PortalItem");
17
+ }
18
+ const module = await import('@arcgis/core/portal/PortalItem.js');
19
+ return module.default;
20
+ }
21
+ async function importWebMap() {
22
+ if (amd) {
23
+ return requireModule("esri/WebMap");
24
+ }
25
+ const module = await import('@arcgis/core/WebMap.js');
26
+ return module.default;
27
+ }
28
+ async function importArcade() {
29
+ if (amd) {
30
+ return requireModule("esri/arcade");
31
+ }
32
+ const module = await import('@arcgis/core/arcade.js');
33
+ return module;
34
+ }
35
+ async function importRequest() {
36
+ if (amd) {
37
+ return requireModule("esri/request");
38
+ }
39
+ const module = await import('@arcgis/core/request.js');
40
+ return module.default;
41
+ }
42
+
43
+ /**
44
+ * Returns an icon name for the field type
45
+ */
46
+ function fieldTypeToIconName(field) {
47
+ switch (field?.type) {
48
+ case "oid":
49
+ return "key";
50
+ case "small-integer":
51
+ case "big-integer":
52
+ case "integer":
53
+ case "single":
54
+ case "double":
55
+ case "long":
56
+ return "number";
57
+ case "global-id":
58
+ case "guid":
59
+ return "key";
60
+ case "string":
61
+ return "string";
62
+ case "date":
63
+ return "date-time";
64
+ case "date-only":
65
+ return "calendar";
66
+ case "time-only":
67
+ return "clock";
68
+ case "timestamp-offset":
69
+ return "time-zone";
70
+ default:
71
+ return "cube";
72
+ }
73
+ }
74
+ /**
75
+ * Returns the Arcade type for the given field.
76
+ */
77
+ function fieldTypeToArcadeType(field) {
78
+ switch (field?.type) {
79
+ case "small-integer":
80
+ case "integer":
81
+ case "big-integer":
82
+ case "single":
83
+ case "double":
84
+ case "long":
85
+ case "oid":
86
+ return "number";
87
+ case "global-id":
88
+ case "guid":
89
+ case "string":
90
+ return "text";
91
+ case "date":
92
+ return "date";
93
+ case "date-only":
94
+ return "dateOnly";
95
+ case "time-only":
96
+ return "time";
97
+ default:
98
+ return "text";
99
+ }
100
+ }
101
+ function supportedFields(fields) {
102
+ return (fields ?? []).filter((field) => {
103
+ switch (field.type) {
104
+ case "string":
105
+ case "small-integer":
106
+ case "integer":
107
+ case "big-integer":
108
+ case "single":
109
+ case "double":
110
+ case "long":
111
+ case "date":
112
+ case "date-only":
113
+ case "time-only":
114
+ case "timestamp-offset":
115
+ case "oid":
116
+ case "guid":
117
+ case "global-id":
118
+ return true;
119
+ default:
120
+ return false;
121
+ }
122
+ });
123
+ }
124
+
125
+ export { importLayersFeatureLayer as a, importWebMap as b, importRequest as c, fieldTypeToArcadeType as d, importArcade as e, fieldTypeToIconName as f, importPortalPortalItem as i, supportedFields as s };
@@ -1,14 +1,8 @@
1
1
  export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
2
- import { a as arcadeDefaults } from './arcade-defaults.js';
2
+ export { a as arcade } from './arcade-defaults.js';
3
3
  export { ArcgisArcadeApi, defineCustomElement as defineCustomElementArcgisArcadeApi } from './arcgis-arcade-api.js';
4
4
  export { ArcgisArcadeEditor, defineCustomElement as defineCustomElementArcgisArcadeEditor } from './arcgis-arcade-editor.js';
5
5
  export { ArcgisArcadeResults, defineCustomElement as defineCustomElementArcgisArcadeResults } from './arcgis-arcade-results.js';
6
6
  export { ArcgisArcadeSuggestions, defineCustomElement as defineCustomElementArcgisArcadeSuggestions } from './arcgis-arcade-suggestions.js';
7
7
  export { ArcgisArcadeVariables, defineCustomElement as defineCustomElementArcgisArcadeVariables } from './arcgis-arcade-variables.js';
8
8
  export { ArcgisCodeEditor, defineCustomElement as defineCustomElementArcgisCodeEditor } from './arcgis-code-editor.js';
9
-
10
- const arcade = {
11
- setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults)
12
- };
13
-
14
- export { arcade };
@@ -1,43 +1,293 @@
1
- const amd = "define" in window && typeof window.define === "function" && "amd" in window.define;
2
- function requireModule(modulePath) {
3
- return new Promise((resolve) => window.require([modulePath], (moduleDefault) => {
4
- resolve(moduleDefault);
5
- }));
6
- }
7
- async function importLayersFeatureLayer() {
8
- if (amd) {
9
- return requireModule("esri/layers/FeatureLayer");
1
+ // src/deferred.ts
2
+ var Deferred = class {
3
+ /**
4
+ * Creates a new deferred promise.
5
+ */
6
+ constructor() {
7
+ this.resolve = () => void 0;
8
+ this.reject = () => void 0;
9
+ this.promise = new Promise((resolve, reject) => {
10
+ this.resolve = resolve;
11
+ this.reject = reject;
12
+ });
13
+ }
14
+ };
15
+
16
+ // src/dom.ts
17
+ function inTargetElement(element, targetElement) {
18
+ let currentElement = element;
19
+ while (currentElement) {
20
+ if (currentElement === targetElement) {
21
+ return true;
22
+ }
23
+ if (!currentElement.parentNode) {
24
+ return false;
25
+ }
26
+ if (currentElement.parentNode instanceof ShadowRoot) {
27
+ currentElement = currentElement.parentNode.host;
28
+ } else {
29
+ currentElement = currentElement.parentNode;
10
30
  }
11
- const module = await import('@arcgis/core/layers/FeatureLayer.js');
12
- return module.default;
31
+ }
32
+ return false;
13
33
  }
14
- async function importPortalPortalItem() {
15
- if (amd) {
16
- return requireModule("esri/portal/PortalItem");
34
+ function observeAncestorsMutation(element, attributeFilter, callback = () => void 0) {
35
+ if (!attributeFilter || attributeFilter.length <= 0) {
36
+ return void 0;
37
+ }
38
+ const mutationObserver = new MutationObserver((mutations) => {
39
+ for (const mutation of mutations) {
40
+ if (inTargetElement(element, mutation.target)) {
41
+ callback();
42
+ }
17
43
  }
18
- const module = await import('@arcgis/core/portal/PortalItem.js');
19
- return module.default;
44
+ });
45
+ mutationObserver.observe(document.documentElement, {
46
+ attributes: true,
47
+ attributeFilter,
48
+ subtree: true
49
+ });
50
+ return mutationObserver;
20
51
  }
21
- async function importWebMap() {
22
- if (amd) {
23
- return requireModule("esri/WebMap");
52
+ function closestElement(base, selector) {
53
+ let currentElement = base;
54
+ while (currentElement) {
55
+ const element = currentElement.closest(selector);
56
+ if (element) {
57
+ return element;
24
58
  }
25
- const module = await import('@arcgis/core/WebMap.js');
26
- return module.default;
59
+ const rootElement = currentElement.getRootNode();
60
+ if (rootElement === document) {
61
+ return null;
62
+ }
63
+ currentElement = rootElement.host;
64
+ }
65
+ return null;
66
+ }
67
+ function getElementTheme(base) {
68
+ const themeElt = closestElement(base, ":is(.calcite-mode-light, .calcite-mode-dark)");
69
+ return themeElt && themeElt.classList.contains("calcite-mode-dark") ? "dark" : "light";
70
+ }
71
+ function getElementAttribute(el, prop, fallbackValue) {
72
+ const closest = closestElement(el, `[${prop}]`);
73
+ return closest?.getAttribute(prop) ?? fallbackValue;
27
74
  }
28
- async function importArcade() {
29
- if (amd) {
30
- return requireModule("esri/arcade");
75
+ function isElement(ref) {
76
+ return ref.nodeType === Node.ELEMENT_NODE;
77
+ }
78
+ function setFocus(ref, selector = "") {
79
+ if (!isElement(ref)) {
80
+ return false;
81
+ }
82
+ if (ref.matches(selector)) {
83
+ setTimeout(() => ref?.setFocus(), 0);
84
+ return true;
85
+ }
86
+ for (let i = 0; i < ref.children.length; i++) {
87
+ if (setFocus(ref.children[i], selector)) {
88
+ return true;
89
+ }
90
+ }
91
+ const shadowRoot = ref.shadowRoot;
92
+ if (shadowRoot) {
93
+ for (let i = 0; i < shadowRoot.children.length; i++) {
94
+ if (setFocus(shadowRoot.children[i], selector)) {
95
+ return true;
96
+ }
31
97
  }
32
- const module = await import('@arcgis/core/arcade.js');
33
- return module;
98
+ }
99
+ return false;
34
100
  }
35
- async function importRequest() {
36
- if (amd) {
37
- return requireModule("esri/request");
101
+ function setFocusOnElement(ref, selector) {
102
+ if (!ref || !ref.shadowRoot) {
103
+ return;
104
+ }
105
+ if (ref.hasAttribute("hydrated") || ref.hasAttribute("calcite-hydrated")) {
106
+ setFocus(ref, selector);
107
+ return;
108
+ }
109
+ const mutationObserver = new MutationObserver(() => {
110
+ mutationObserver.disconnect();
111
+ setFocus(ref, selector);
112
+ });
113
+ mutationObserver.observe(ref, {
114
+ attributes: true,
115
+ attributeFilter: ["hydrated", "calcite-hydrated"]
116
+ });
117
+ }
118
+
119
+ // src/guid.ts
120
+ function gen(count) {
121
+ let out = "";
122
+ for (let i = 0; i < count; i++) {
123
+ out += ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
124
+ }
125
+ return out;
126
+ }
127
+ function generateGuid() {
128
+ return [gen(2), gen(1), gen(1), gen(1), gen(3)].join("-");
129
+ }
130
+
131
+ // src/intl.ts
132
+ var SupportedLocales = /* @__PURE__ */ new Set([
133
+ "ar",
134
+ "bg",
135
+ "bs",
136
+ "ca",
137
+ "cs",
138
+ "da",
139
+ "de",
140
+ "el",
141
+ "en",
142
+ "es",
143
+ "et",
144
+ "fi",
145
+ "fr",
146
+ "he",
147
+ "hr",
148
+ "hu",
149
+ "id",
150
+ "it",
151
+ "ja",
152
+ "ko",
153
+ "lt",
154
+ "lv",
155
+ "nl",
156
+ "nb",
157
+ "pl",
158
+ "pt-BR",
159
+ "pt-PT",
160
+ "ro",
161
+ "ru",
162
+ "sk",
163
+ "sl",
164
+ "sr",
165
+ "sv",
166
+ "th",
167
+ "tr",
168
+ "uk",
169
+ "vi",
170
+ "zh-CN",
171
+ "zh-HK",
172
+ "zh-TW"
173
+ ]);
174
+ var t9nStringsCache = /* @__PURE__ */ new Map();
175
+ async function fetchT9NStringsBundle(locale, assetsPath, prefix = "") {
176
+ const filePath = `${assetsPath}/${prefix}${locale}.json`;
177
+ if (t9nStringsCache.has(filePath)) {
178
+ return t9nStringsCache.get(filePath);
179
+ }
180
+ try {
181
+ const response = await fetch(filePath);
182
+ if (response.ok) {
183
+ const stringBundle2 = await response.json();
184
+ t9nStringsCache.set(filePath, stringBundle2);
185
+ return stringBundle2;
38
186
  }
39
- const module = await import('@arcgis/core/request.js');
40
- return module.default;
187
+ if (locale === "en") {
188
+ t9nStringsCache.set(filePath, void 0);
189
+ return void 0;
190
+ }
191
+ const stringBundle = await fetchT9NStringsBundle("en", assetsPath, prefix);
192
+ t9nStringsCache.set(filePath, stringBundle);
193
+ return stringBundle;
194
+ } catch (e) {
195
+ t9nStringsCache.set(filePath, void 0);
196
+ return void 0;
197
+ }
198
+ }
199
+ function getElementLocale(el) {
200
+ const lang = getElementAttribute(el, "lang", navigator?.language || "en");
201
+ if (SupportedLocales.has(lang)) {
202
+ return lang;
203
+ }
204
+ const rootCode = lang.slice(0, 2);
205
+ return SupportedLocales.has(rootCode) ? rootCode : "en";
206
+ }
207
+ var observersMap = /* @__PURE__ */ new WeakMap();
208
+ var assetsPathMap = /* @__PURE__ */ new WeakMap();
209
+ var t9nStringsMap = /* @__PURE__ */ new WeakMap();
210
+ async function startLocaleObserver(component, assetsPath, callback) {
211
+ assetsPathMap.set(component, assetsPath);
212
+ observersMap.set(
213
+ component,
214
+ observeAncestorsMutation(component._hostElt, ["lang"], () => {
215
+ updateComponentLocateState(component, callback);
216
+ })
217
+ );
218
+ await updateComponentLocateState(component, callback);
219
+ }
220
+ function stopLocaleObserver(component) {
221
+ observersMap.get(component)?.disconnect();
222
+ observersMap.delete(component);
223
+ assetsPathMap.delete(component);
224
+ }
225
+ async function updateComponentLocateState(component, callback) {
226
+ const locale = getElementLocale(component._hostElt);
227
+ if (locale === component._locale) {
228
+ return;
229
+ }
230
+ let t9nStrings = t9nStringsMap.get(component);
231
+ if (!t9nStrings) {
232
+ const assetsPath = assetsPathMap.get(component) ?? "";
233
+ const assetName = component._hostElt.tagName.toLowerCase().replace("arcgis-", "");
234
+ const t9nAssetsPath = `${assetsPath}/${assetName}/t9n`;
235
+ const prefix = `${assetName}.t9n.`;
236
+ component._locale = locale;
237
+ t9nStrings = await fetchT9NStringsBundle(component._locale, t9nAssetsPath, prefix);
238
+ }
239
+ component._t9nStrings = t9nStrings;
240
+ await callback?.call(component);
241
+ }
242
+
243
+ // src/strings.ts
244
+ var doubleQuote = '"';
245
+ var singleQuote = "'";
246
+ function repeatString(value, n) {
247
+ return new Array(n + 1).join(value);
248
+ }
249
+ function quoteString(value) {
250
+ let quote = doubleQuote;
251
+ let alternateQuote = singleQuote;
252
+ const avoidEscape = value.indexOf(quote) >= 0 && value.indexOf(alternateQuote) < 0;
253
+ if (avoidEscape) {
254
+ alternateQuote = doubleQuote;
255
+ quote = singleQuote;
256
+ }
257
+ const alternateEscape = new RegExp("(^|[^\\\\])((?:\\\\{2})*)((?:\\\\" + alternateQuote + ")+)", "g");
258
+ value = value.replace(
259
+ alternateEscape,
260
+ (_, boundaryChar, leadingEscapedSlashes, escapedQuoteChars) => (
261
+ // We divide the escapedQuoteChars by 2 since there are 2 characters in each escaped part ('\\"'.length === 2)
262
+ boundaryChar + leadingEscapedSlashes + repeatString(alternateQuote, escapedQuoteChars.length / 2)
263
+ )
264
+ );
265
+ const quoteEscape = new RegExp("(^|[^\\\\])((?:\\\\{2})*)(" + quote + "+)", "g");
266
+ value = value.replace(
267
+ quoteEscape,
268
+ (_, boundaryChar, leadingEscapedSlashes, quoteChars) => boundaryChar + leadingEscapedSlashes + repeatString("\\" + quote, quoteChars.length)
269
+ );
270
+ return quote + value + quote;
271
+ }
272
+ function createFilterExpression(filterWord) {
273
+ const sanitizedWord = filterWord ? filterWord.replaceAll(/[-[\]/{}()*+?.\\^$|]/g, "\\$&") : "^.*$";
274
+ return new RegExp(sanitizedWord, "i");
275
+ }
276
+ function setValuesInString(message, values = {}) {
277
+ return (message ?? "").replace(/\{(.*?)\}/g, (match, valueName) => {
278
+ return values[valueName] ?? match;
279
+ });
280
+ }
281
+ function addLTRMark(value) {
282
+ return "\u200E" + (value ?? "") + "\u200E";
283
+ }
284
+
285
+ // src/type-guards.ts
286
+ function isNotNull(item) {
287
+ return item !== null;
288
+ }
289
+ function isNotUndefined(item) {
290
+ return item !== void 0;
41
291
  }
42
292
 
43
- export { importLayersFeatureLayer as a, importWebMap as b, importRequest as c, importArcade as d, importPortalPortalItem as i };
293
+ export { Deferred as D, SupportedLocales as S, isNotUndefined as a, addLTRMark as b, getElementTheme as c, startLocaleObserver as d, stopLocaleObserver as e, fetchT9NStringsBundle as f, generateGuid as g, setFocusOnElement as h, isNotNull as i, createFilterExpression as j, observeAncestorsMutation as o, quoteString as q, setValuesInString as s };
@@ -47,7 +47,7 @@ function commonjsRequire () {
47
47
 
48
48
  var marked_umd = createCommonjsModule(function (module, exports) {
49
49
  /**
50
- * marked v5.1.1 - a markdown parser
50
+ * marked v5.1.2 - a markdown parser
51
51
  * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)
52
52
  * https://github.com/markedjs/marked
53
53
  */