@arcgis/lumina 4.31.0-next.98 → 4.31.1

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.
@@ -156,8 +156,17 @@ export declare class LitElement extends OriginalLitElement implements ComponentL
156
156
  * }
157
157
  * ```
158
158
  */
159
- listen<K extends keyof HTMLElementEventMap>(type: K, listener: (this: this, event: HTMLElementEventMap[K]) => unknown, options?: AddEventListenerOptions | boolean): void;
160
- listen(type: string, listener: (this: this, event: Event) => unknown, options?: AddEventListenerOptions | boolean): void;
159
+ listen<K extends keyof HTMLElementEventMap>(name: K, listener: (this: this, event: HTMLElementEventMap[K]) => unknown, options?: AddEventListenerOptions | boolean): void;
160
+ listen(name: string, listener: (this: this, event: Event) => unknown, options?: AddEventListenerOptions | boolean): void;
161
+ listen<EventType extends Event = CustomEvent<"Provide type like this.listenOn<ToEvents<ArcgisCounter>['arcgisClick']>() to get type-checked payload type">>(name: string,
162
+ /**
163
+ * The "NoInfer" here forces type argument to be specified explicitly.
164
+ * Without it, the following would be allowed:
165
+ * ```tsx
166
+ * this.listen("focus",(event:NotFocusEvent)=>{....})
167
+ * ```
168
+ */
169
+ listener: (this: this, event: NoInfer<EventType>) => unknown, options?: AddEventListenerOptions | boolean): void;
161
170
  /**
162
171
  * A helper for setting even listener on any element (or window / document).
163
172
  *
@@ -195,7 +204,15 @@ export declare class LitElement extends OriginalLitElement implements ComponentL
195
204
  listenOn<Name extends keyof HTMLElementEventMap>(target: HTMLElement, name: Name, listener: Listener<this, HTMLElementEventMap[Name] & {
196
205
  currentTarget: HTMLElement;
197
206
  }>, options?: AddEventListenerOptions | boolean): void;
198
- listenOn<EventType extends Event = CustomEvent<"Provide type like this.listenOn<ToEvents<ArcgisCounter>['arcgisClick']>() to get type-checked payload type">, Target = EventTarget>(target: Target, name: string, listener: Listener<this, EventType & {
207
+ listenOn<EventType extends Event = CustomEvent<"Provide type like this.listenOn<ToEvents<ArcgisCounter>['arcgisClick']>() to get type-checked payload type">, Target = EventTarget>(target: Target, name: string,
208
+ /**
209
+ * The "NoInfer" here forces type argument to be specified explicitly.
210
+ * Without it, the following would be allowed:
211
+ * ```tsx
212
+ * this.listen("focus",(event:NotFocusEvent)=>{....})
213
+ * ```
214
+ */
215
+ listener: Listener<this, NoInfer<EventType> & {
199
216
  currentTarget: Target;
200
217
  }>, options?: AddEventListenerOptions | boolean): void;
201
218
  /**
@@ -4,7 +4,10 @@ import type { LitElement } from "./LitElement";
4
4
  * Instead, a proxy element is present and should be used for all DOM actions.
5
5
  *
6
6
  * In practice, this means using this.el.getAttribute() instead of
7
- * this.getAttribute() and etc for each DOM method
7
+ * this.getAttribute() and etc for each DOM method.
8
+ *
9
+ * To detect incorrect usages, this function overwrites each DOM member on the
10
+ * LitElement prototype with an exception-throwing function.
8
11
  *
9
12
  * This code does not ship in production builds.
10
13
  */
package/dist/index.js CHANGED
@@ -61,11 +61,22 @@ import { Deferred, camelToKebab } from "@arcgis/components-utils";
61
61
  // src/devOnlyDetectIncorrectLazyUsages.ts
62
62
  function devOnlyDetectIncorrectLazyUsages(LitClass) {
63
63
  const genericPrototype = LitClass.prototype;
64
+ const firstGetter = Object.getOwnPropertyDescriptor(genericPrototype, "innerText");
65
+ const secondGetter = Object.getOwnPropertyDescriptor(genericPrototype, "innerHTML");
66
+ if (firstGetter === secondGetter && firstGetter !== void 0) {
67
+ return;
68
+ }
64
69
  const allowList = /* @__PURE__ */ new Set([
65
70
  // We shouldn't be overwriting this property
66
71
  "constructor",
67
72
  // Called by Lit - we proxy it to this.el in ProxyComponent
68
- "setAttribute"
73
+ "setAttribute",
74
+ // Called by Lit SSR - we proxy it to this.el in ProxyComponent
75
+ "removeAttribute",
76
+ // Called by Lit - we proxy it to this.el in ProxyComponent
77
+ "isConnected",
78
+ // Called by Lit, but only in dev mode for warnings, so we don't have to proxy.
79
+ "localName"
69
80
  ]);
70
81
  const customErrorMessages = {
71
82
  addEventListener: "use this.listen() or this.el.addEventListener()"
@@ -75,28 +86,36 @@ function devOnlyDetectIncorrectLazyUsages(LitClass) {
75
86
  ...Object.getOwnPropertyDescriptors(Element.prototype),
76
87
  ...Object.getOwnPropertyDescriptors(Node.prototype),
77
88
  ...Object.getOwnPropertyDescriptors(EventTarget.prototype)
78
- }).filter(([key, { value }]) => typeof value === "function" && !allowList.has(key)).forEach(([key]) => {
79
- genericPrototype[key] = (...args) => {
89
+ }).forEach(([key, value]) => {
90
+ if (allowList.has(key)) {
91
+ return;
92
+ }
93
+ const callback = (...args) => {
80
94
  if (key === "hasAttribute" && args[0] === "defer-hydration") {
81
95
  return false;
82
96
  }
83
97
  throw new Error(
84
- `You should not be calling this.${key}() directly as it won't work correctly in lazy-builds. Instead, ${customErrorMessages[key] ?? `use this.el.${key}()`}`
98
+ `You should not be trying to access this.${key} directly as it won't work correctly in lazy-builds. Instead, ${customErrorMessages[key] ?? `use this.el.${key}`}`
85
99
  );
86
100
  };
101
+ if (typeof value === "function") {
102
+ genericPrototype[key] = callback;
103
+ } else {
104
+ Object.defineProperty(genericPrototype, key, { get: callback, set: callback });
105
+ }
87
106
  });
88
107
  }
89
108
 
90
109
  // src/lifecycleSupport.ts
91
- function attachToAncestor(child, el) {
92
- let ancestor = el;
110
+ function attachToAncestor(child) {
111
+ let ancestor = child;
93
112
  while (ancestor = ancestor.parentNode ?? ancestor.host) {
94
113
  if (ancestor?.constructor?.lumina) {
95
114
  const litParent = ancestor;
96
115
  if (!litParent.manager?.loadedCalled) {
97
116
  litParent._offspring.push(child);
98
117
  }
99
- return litParent._postLoad?.promise;
118
+ return litParent._postLoad.promise;
100
119
  }
101
120
  }
102
121
  return false;
@@ -151,6 +170,7 @@ function createLazyElement([tagName, [load, compactMeta = ""]]) {
151
170
  };
152
171
  customElements.define(tagName, ProxyClass);
153
172
  }
173
+ var defineProperty = Object.defineProperty;
154
174
  function parseCondensedProp(propAndAttribute) {
155
175
  const name = propAndAttribute.split(lazyMetaSubItemJoiner);
156
176
  return name.length === 1 ? [name[0], camelToKebab(name[0])] : name;
@@ -194,7 +214,10 @@ var ProxyComponent = class extends HtmlElement {
194
214
  if (ProxyClass._LitConstructor) {
195
215
  this._initializeComponent({ a: ProxyClass._LitConstructor });
196
216
  } else {
197
- void ProxyClass._loadPromise.then(this._initializeComponent.bind(this)).catch(this._postLoaded.reject);
217
+ void ProxyClass._loadPromise.then(this._initializeComponent.bind(this)).catch((error) => {
218
+ console.error(error);
219
+ this._postLoaded.reject(error);
220
+ });
198
221
  }
199
222
  if (process.env.NODE_ENV !== "production") {
200
223
  ProxyClass._hmrInstances ??= [];
@@ -211,7 +234,7 @@ var ProxyComponent = class extends HtmlElement {
211
234
  this._syncMethods?.forEach(this._bindSync, this);
212
235
  }
213
236
  static _bindProp(propName) {
214
- Object.defineProperty(this.prototype, propName, {
237
+ defineProperty(this.prototype, propName, {
215
238
  configurable: true,
216
239
  enumerable: true,
217
240
  get() {
@@ -226,7 +249,7 @@ var ProxyComponent = class extends HtmlElement {
226
249
  });
227
250
  }
228
251
  static _bindAsync(methodName) {
229
- Object.defineProperty(this.prototype, methodName, {
252
+ defineProperty(this.prototype, methodName, {
230
253
  async value(...args) {
231
254
  if (!this._litElement) {
232
255
  await this._postLoaded.promise;
@@ -240,7 +263,7 @@ var ProxyComponent = class extends HtmlElement {
240
263
  });
241
264
  }
242
265
  static _bindSync(methodName) {
243
- Object.defineProperty(this.prototype, methodName, {
266
+ defineProperty(this.prototype, methodName, {
244
267
  value(...args) {
245
268
  if (process.env.NODE_ENV === "development" && !this._litElement) {
246
269
  const ProxyClass = this.constructor;
@@ -313,7 +336,7 @@ var ProxyComponent = class extends HtmlElement {
313
336
  this._litElement?.connectedCallback();
314
337
  } else {
315
338
  queueMicrotask(() => {
316
- this._ancestorLoad = attachToAncestor(this, this);
339
+ this._ancestorLoad = attachToAncestor(this);
317
340
  });
318
341
  }
319
342
  }
@@ -352,10 +375,23 @@ var ProxyComponent = class extends HtmlElement {
352
375
  const isFirstInitialization = !ProxyClass._LitConstructor;
353
376
  if (isFirstInitialization) {
354
377
  ProxyClass._LitConstructor = LitConstructor;
355
- LitConstructor.prototype.removeAttribute = removeAttribute;
356
- LitConstructor.prototype.setAttribute = setAttribute;
378
+ LitConstructor.prototype.removeAttribute = function(qualifiedName) {
379
+ HTMLElement.prototype.removeAttribute.call(this.el, qualifiedName);
380
+ };
381
+ LitConstructor.prototype.setAttribute = function(qualifiedName, value) {
382
+ HTMLElement.prototype.setAttribute.call(this.el, qualifiedName, value);
383
+ };
384
+ defineProperty(LitConstructor.prototype, "isConnected", {
385
+ get() {
386
+ return this.el.isConnected;
387
+ }
388
+ });
357
389
  if (process.env.NODE_ENV !== "production" && LitConstructor.shadowRootOptions !== noShadowRoot) {
358
- devOnlyDetectIncorrectLazyUsages(Object.getPrototypeOf(LitConstructor));
390
+ let prototype = LitConstructor;
391
+ while (prototype && !Object.hasOwn(prototype, "lumina")) {
392
+ prototype = Object.getPrototypeOf(prototype);
393
+ }
394
+ devOnlyDetectIncorrectLazyUsages(LitConstructor);
359
395
  }
360
396
  customElements.define(lazyTagName, LitConstructor);
361
397
  }
@@ -381,26 +417,20 @@ var ProxyComponent = class extends HtmlElement {
381
417
  const missingFromLit = lazyObserved.filter((attribute) => !litObserved.includes(attribute));
382
418
  if (missingFromLazy.length > 0) {
383
419
  console.warn(
384
- `The following attributes on <${ProxyClass._name}> are present on the Lit element, but are missing from the lazy proxy component: ${missingFromLazy.join(", ")}. This either indicates a bug in Lumina, or you are creating the attribute dynamically in a way that compiler can not infer statically. For these attributes, lazy-loading version of your component won't work correctly, thus this must be resolved`
420
+ `The following attributes on <${ProxyClass._name}> are present on the Lit element, but are missing from the lazy proxy component: ${missingFromLazy.join(", ")}. This either indicates a bug in Lumina, or you are creating the attribute dynamically in a way that compiler cannot infer statically. For these attributes, lazy-loading version of your component won't work correctly, thus this must be resolved`
385
421
  );
386
422
  }
387
423
  if (missingFromLit.length > 0) {
388
424
  console.warn(
389
- `The following attributes on <${ProxyClass._name}> are defined on the lazy proxy component, but not on the actual Lit element: ${missingFromLit.join(", ")}. This either indicates a bug in Lumina, or you are creating the attribute dynamically in a way that compiler can not infer statically. This is a non-critical issue, but does indicate that something is going wrong and should be fixed`
425
+ `The following attributes on <${ProxyClass._name}> are defined on the lazy proxy component, but not on the actual Lit element: ${missingFromLit.join(", ")}. This either indicates a bug in Lumina, or you are creating the attribute dynamically in a way that compiler cannot infer statically. This is a non-critical issue, but does indicate that something is going wrong and should be fixed`
390
426
  );
391
427
  }
392
428
  }
393
429
  if (this.isConnected) {
394
- litElement.connectedCallback();
430
+ litElement.connectedCallback?.();
395
431
  }
396
432
  }
397
433
  };
398
- function removeAttribute(qualifiedName) {
399
- HTMLElement.prototype.removeAttribute.call(this.el, qualifiedName);
400
- }
401
- function setAttribute(qualifiedName, value) {
402
- HTMLElement.prototype.setAttribute.call(this.el, qualifiedName, value);
403
- }
404
434
  function syncLitElement([key, value]) {
405
435
  this[key] = value;
406
436
  }
@@ -542,13 +572,6 @@ var LitElement = class _LitElement extends OriginalLitElement {
542
572
  * @internal
543
573
  */
544
574
  this._offspring = this.constructor.lazy?._offspring ?? [];
545
- /**
546
- * Promise that resolves once parent's load() completed. False if there is no
547
- * parent
548
- *
549
- * @internal
550
- */
551
- this._ancestorLoad = this.constructor.lazy?._ancestorLoad;
552
575
  this._postLoaded = this.constructor.lazy?._postLoaded ?? new Deferred2();
553
576
  this._enableUpdating = this.enableUpdating;
554
577
  this.enableUpdating = emptyFunction;
@@ -618,7 +641,12 @@ var LitElement = class _LitElement extends OriginalLitElement {
618
641
  const isFirstCall = !this.manager.connectedCalled;
619
642
  super.connectedCallback();
620
643
  if (isFirstCall) {
621
- queueMicrotask(() => void this._load().catch(this._postLoaded.reject));
644
+ queueMicrotask(
645
+ () => void this._load().catch((error) => {
646
+ console.error(error);
647
+ this._postLoaded.reject(error);
648
+ })
649
+ );
622
650
  }
623
651
  }
624
652
  /**
@@ -652,7 +680,7 @@ var LitElement = class _LitElement extends OriginalLitElement {
652
680
  }
653
681
  /** Do asynchronous component load */
654
682
  async _load() {
655
- const parentLoadPromise = this._ancestorLoad ?? attachToAncestor(this, this);
683
+ const parentLoadPromise = this.el._ancestorLoad ?? attachToAncestor(this.el);
656
684
  if (parentLoadPromise) {
657
685
  await parentLoadPromise;
658
686
  }
@@ -746,8 +774,9 @@ function makeRuntime(options) {
746
774
  }
747
775
 
748
776
  // src/jsx/jsx.ts
749
- import { directive as litDirective } from "lit-html/directive.js";
777
+ import { directive as litDirective, Directive } from "lit-html/directive.js";
750
778
  import { noChange as litNoChange, nothing as litNothing } from "lit-html";
779
+ var Fragment = void 0;
751
780
  var bindAttribute = void 0;
752
781
  var bindBooleanAttribute = void 0;
753
782
  var bindProperty = void 0;
@@ -755,6 +784,33 @@ var bindEvent = void 0;
755
784
  var nothing = litNothing;
756
785
  var noChange = litNoChange;
757
786
  var directive = litDirective;
787
+ var DynamicHtmlValueDirective = class extends Directive {
788
+ update(part, [prop, value]) {
789
+ if (process.env.NODE_ENV !== "production") {
790
+ if (part.type !== 6) {
791
+ throw new Error("DynamicHtmlValueDirective can only be used in the element part position");
792
+ }
793
+ if (prop !== "value" && prop !== "defaultValue") {
794
+ throw new Error('Expected the first argument to DynamicHtmlValueDirective to be "value" or "defaultValue"');
795
+ }
796
+ if (typeof value === "object" && value != null) {
797
+ throw new Error(
798
+ `Tried to set an object as the value/defaultValue prop in a <${part.element.tagName}> element.`
799
+ );
800
+ }
801
+ }
802
+ const element = part.element;
803
+ const tagName = element.tagName;
804
+ if (prop === "value" ? tagName === "INPUT" : tagName === "BUTTON" || tagName === "DATA") {
805
+ element[prop] = value;
806
+ } else if (value != null) {
807
+ element.setAttribute("value", value);
808
+ } else {
809
+ element.removeAttribute("value");
810
+ }
811
+ }
812
+ };
813
+ var dynamicValueDirective = directive(DynamicHtmlValueDirective);
758
814
 
759
815
  // src/jsx/directives.ts
760
816
  import { classMap } from "lit-html/directives/class-map.js";
@@ -782,6 +838,7 @@ function createPrototypeProxy(tagName) {
782
838
  return customElement;
783
839
  }
784
840
  export {
841
+ Fragment,
785
842
  LitElement,
786
843
  bindAttribute,
787
844
  bindBooleanAttribute,
@@ -790,6 +847,7 @@ export {
790
847
  createEvent,
791
848
  createPrototypeProxy,
792
849
  directive,
850
+ dynamicValueDirective,
793
851
  handleComponentMetaUpdate,
794
852
  handleHmrUpdate,
795
853
  makeDefineCustomElements,
package/dist/jsx/jsx.d.ts CHANGED
@@ -9,12 +9,10 @@
9
9
  /// <reference path="../typings/jsxGlobals.d.ts" />
10
10
  import type { Properties as CssProperties } from "csstype";
11
11
  import type { TemplateResult } from "lit-html";
12
- import type { DirectiveResult } from "lit-html/directive.js";
13
- import type { ClassMapDirective } from "lit-html/directives/class-map.js";
12
+ import type { DirectiveResult, DirectiveClass } from "lit-html/directive.js";
13
+ import type { ClassMapDirective, ClassInfo } from "lit-html/directives/class-map.js";
14
14
  import type { StyleMapDirective } from "lit-html/directives/style-map.js";
15
15
  import type { Ref } from "lit-html/directives/ref.js";
16
- import type { ClassInfo } from "lit/directives/class-map.js";
17
- import type { DirectiveClass } from "lit/directive.js";
18
16
  /**
19
17
  * The "h" namespace is used to import JSX types for elements and attributes.
20
18
  * It is imported in order to avoid conflicting global JSX issues.
@@ -24,31 +22,21 @@ export declare namespace h {
24
22
  export type { LuminaJsx as JSX };
25
23
  }
26
24
  /**
27
- * Fragment
28
- *
29
- * @remarks
30
- * This function is not actually defined in the code since references to it will
31
- * be removed at build time by the jsxToLitHtml plugin.
25
+ * The references to this function are removed at build time.
32
26
  */
33
- export declare function Fragment(props: {
27
+ export declare const Fragment: (props: {
34
28
  children?: JsxNode;
35
- }): TemplateResult;
36
- /**
37
- * @remarks
38
- * This function is not actually defined in the code since references to it will
39
- * be removed at build time by the jsxToLitHtml plugin.
40
- */
41
- export declare function h(sel: any, data?: any, text?: any): TemplateResult;
29
+ }) => TemplateResult;
42
30
  /**
43
- * @remarks
44
- * This function is not actually defined in the code since references to it will
45
- * be removed at build time by the jsxToLitHtml plugin.
31
+ * @internal
32
+ * The references to this function are removed at build time. You do not need
33
+ * to import it directly
46
34
  */
47
35
  export declare function jsx(type: string, props: unknown, key?: unknown): JsxNode;
48
36
  /**
49
- * @remarks
50
- * This function is not actually defined in the code since references to it will
51
- * be removed at build time by the jsxToLitHtml plugin.
37
+ * @internal
38
+ * The references to this function are removed at build time. You do not need
39
+ * to import it directly
52
40
  */
53
41
  export declare function jsxs(type: string, props: unknown, key?: unknown): JsxNode;
54
42
  /**
@@ -215,6 +203,14 @@ export declare const noChange: never;
215
203
  * "never" to allow it be set as a value for any JSX attribute.
216
204
  */
217
205
  export declare const directive: <C extends DirectiveClass>(c: C) => (...values: Parameters<InstanceType<C>["render"]>) => never;
206
+ /**
207
+ * Do not import this directly. It will be inserted automatically by JSX to
208
+ * lit-html transformer when you are setting "value" or "defaultValue" JSX prop
209
+ * in an element with dynamic tag name.
210
+ *
211
+ * @internal
212
+ */
213
+ export declare const dynamicValueDirective: (...values: never) => never;
218
214
  /**
219
215
  * this.el property on a component only has the public properties of the
220
216
  * component. All internal methods, properties, as well as LitElement methods
@@ -1078,6 +1074,7 @@ export declare namespace LuminaJsx {
1078
1074
  fetchPriority?: "high" | "low" | "auto";
1079
1075
  }
1080
1076
  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1077
+ autocomplete?: AutoFill;
1081
1078
  accept?: string;
1082
1079
  alt?: string;
1083
1080
  autofocus?: boolean;
@@ -1409,6 +1406,7 @@ export declare namespace LuminaJsx {
1409
1406
  required?: boolean;
1410
1407
  rows?: number | string;
1411
1408
  value?: string | number;
1409
+ defaultValue?: string | number;
1412
1410
  wrap?: "hard" | "soft" | "off";
1413
1411
  maxLength?: number | string;
1414
1412
  minLength?: number | string;
@@ -105,7 +105,7 @@ export declare abstract class ProxyComponent extends HtmlElement {
105
105
  /**
106
106
  * Direct offspring that should be awaited before loaded() is emitted
107
107
  */
108
- _offspring: (Partial<Pick<LitElement, "manager">> & Pick<LitElement, "componentOnReady">)[];
108
+ _offspring: (Element & Partial<Pick<LitElement, "manager">> & Pick<LitElement, "componentOnReady">)[];
109
109
  /**
110
110
  * Promise that resolves once parent's load() completed. False if there is no
111
111
  * parent
@@ -5,4 +5,4 @@ import type { ProxyComponent } from "./lazyLoad";
5
5
  * Also, return a promise that will delay our load() until parent's load()
6
6
  * is completed.
7
7
  */
8
- export declare function attachToAncestor(child: ProxyComponent["_offspring"][number], el: HTMLElement): Promise<void> | false;
8
+ export declare function attachToAncestor(child: ProxyComponent["_offspring"][number]): Promise<void> | false;
package/dist/runtime.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { LitElement } from "./LitElement";
3
3
  /**
4
4
  * `@arcgis/lumina` package may be bundled once but used by multiple packages with
5
5
  * different configuration options. For that reason, the configuration options
6
- * can not be a global object, but has to be an object that you pass around.
6
+ * cannot be a global object, but has to be an object that you pass around.
7
7
  */
8
8
  export type Runtime = RuntimeOptions & {
9
9
  /**
@@ -2,7 +2,7 @@
2
2
  import { getWindow } from "@lit-labs/ssr/lib/dom-shim.js";
3
3
  import { render } from "@lit-labs/ssr/lib/render.js";
4
4
  import { html } from "@lit-labs/ssr/lib/server-template.js";
5
- import { unsafeStatic, withStatic } from "lit/static-html.js";
5
+ import { unsafeStatic, withStatic } from "lit-html/static.js";
6
6
  import { collectResult } from "@lit-labs/ssr/lib/render-result.js";
7
7
  import { RenderResultReadable } from "@lit-labs/ssr/lib/render-result-readable.js";
8
8
  var staticHtml = withStatic(html);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/lumina",
3
- "version": "4.31.0-next.98",
3
+ "version": "4.31.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -17,33 +17,14 @@
17
17
  "files": [
18
18
  "dist/"
19
19
  ],
20
- "publishConfig": {
21
- "registry": "https://registry.npmjs.org/",
22
- "access": "public"
23
- },
24
20
  "license": "SEE LICENSE IN LICENSE.md",
25
- "scripts": {
26
- "build": "tsup",
27
- "build:dev": "tsup --sourcemap",
28
- "watch": "yarn build:dev --watch",
29
- "clean": "rimraf ./dist ./build ./turbo ./node_modules"
30
- },
31
21
  "dependencies": {
32
- "@arcgis/components-controllers": "4.31.0-next.98",
33
- "@arcgis/components-utils": "4.31.0-next.98",
22
+ "@arcgis/components-controllers": "4.31.1",
23
+ "@arcgis/components-utils": "4.31.1",
34
24
  "@lit-labs/ssr": "^3.2.2",
35
25
  "@lit-labs/ssr-client": "^1.1.7",
36
26
  "csstype": "^3.1.3",
37
27
  "lit": "^3.1.2",
38
28
  "tslib": "^2.7.0"
39
- },
40
- "devDependencies": {
41
- "@arcgis/typescript-config": "4.31.0-next.98",
42
- "@types/node": "^20.2.5",
43
- "eslint": "^8.55.0",
44
- "rimraf": "^5.0.0",
45
- "tsup": "^8.2.4",
46
- "typescript": "~5.4.0"
47
- },
48
- "gitHead": "cbe08697f9589db42635f6184bf7bd3dafcb2d79"
49
- }
29
+ }
30
+ }