@arcgis/lumina-toolkit 5.2.0-next.129 → 5.2.0-next.130

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.
@@ -1,3 +1,14 @@
1
- import type { reEmitEvent as reEmitEventAliased } from "@arcgis/lumina/controllers/accessor";
1
+ import type { Evented } from "@arcgis/core/core/Evented.js";
2
+ import type { EventEmitter } from "@arcgis/lumina";
2
3
 
3
- export const reEmitEvent: typeof reEmitEventAliased;
4
+ /**
5
+ * Re-emit an event from the accessor instance on the component
6
+ *
7
+ * @param getEventedAccessor
8
+ * @param eventName
9
+ * @example
10
+ * ```tsx
11
+ * arcgisGo = reEmitEvent<HomeViewModelGoEvent>(() => this.viewModel, "go");
12
+ * ```
13
+ */
14
+ export function reEmitEvent<T>(getEventedAccessor: () => Evented, eventName: string): EventEmitter<T>;
package/dist/store.d.ts CHANGED
@@ -1,7 +1,16 @@
1
- import type { createLegacyStore as createLegacyStoreAliased, createStore as createStoreAliased, ObservableMap as ObservableMapAliased } from "@arcgis/lumina/controllers/accessor";
1
+ import type Accessor from "@arcgis/core/core/Accessor.js";
2
+ import type { ObservableMap as ObservableMapAliased } from "@arcgis/lumina/controllers/accessor";
2
3
 
3
- export const createStore: typeof createStoreAliased;
4
+ /**
5
+ * @param initializer
6
+ * @see https://webgis.esri.com/references/lumina/state-management#createstore
7
+ */
8
+ export function createStore<T extends object>(initializer: T | (() => T)): Accessor & T;
4
9
 
5
- export const createLegacyStore: typeof createLegacyStoreAliased;
10
+ /**
11
+ * @deprecated Use createStore instead.
12
+ * @param defaultState
13
+ */
14
+ export function createLegacyStore<T extends object>(defaultState: T | (() => T)): ObservableMap<T>;
6
15
 
7
16
  export type ObservableMap<T> = ObservableMapAliased<T>;
@@ -1,16 +1,22 @@
1
1
  import type coreAccessor from "@arcgis/core/core/Accessor.js";
2
2
  import type { LitElement } from "@arcgis/lumina";
3
- import type { AccessorController as AccessorControllerAliased, getAccessorControllerBoundProperties as getAccessorControllerBoundPropertiesAliased, makeAccessorController as makeAccessorControllerAliased, makeBinderProxy as makeBinderProxyAliased, AccessorControllerRequires as AccessorControllerRequiresAliased } from "@arcgis/lumina/controllers/accessor";
3
+ import type { AccessorController as AccessorControllerAliased, makeAccessorController as makeAccessorControllerAliased, makeBinderProxy as makeBinderProxyAliased, AccessorControllerRequires as AccessorControllerRequiresAliased } from "@arcgis/lumina/controllers/accessor";
4
4
 
5
5
  /**
6
+ * Given an Accessor class, create a controller that will do two-way binding of
7
+ * props between the component and the Accessor.
8
+ *
9
+ * See https://webgis.esri.com/references/lumina/controllers/useAccessor for
10
+ * documentation & examples.
11
+ *
6
12
  * @param createInstance
7
13
  * @param options
8
14
  */
9
- export function makeAccessorController<Props, Accessor extends InstanceType<typeof AccessorControllerAliased>["exports"], OmitProps extends string = never>(createInstance: ((props?: Props) => Accessor) | (new (props?: Props) => Accessor), options?: Parameters<typeof makeAccessorControllerAliased<Props, Accessor, OmitProps>>[1]): (component: AccessorControllerRequires<Props, Accessor, OmitProps>) => Accessor;
15
+ export function makeAccessorController<Props, Accessor extends coreAccessor, OmitProps extends string = never>(createInstance: ((props?: Props) => Accessor) | (new (props?: Props) => Accessor), options?: Parameters<typeof makeAccessorControllerAliased<Props, Accessor, OmitProps>>[1]): (component: AccessorControllerRequires<Props, Accessor, OmitProps>) => Accessor;
10
16
 
11
17
  export const AccessorController: typeof AccessorControllerAliased;
12
18
 
13
- export type AccessorController<Props, Accessor extends InstanceType<typeof AccessorControllerAliased>["exports"], ExtraRequires = Record<never, never>> = AccessorControllerAliased<Props, Accessor, ExtraRequires>;
19
+ export type AccessorController<Props, Accessor extends coreAccessor, ExtraRequires = Record<never, never>> = AccessorControllerAliased<Props, Accessor, ExtraRequires>;
14
20
 
15
21
  /**
16
22
  * @param instance
@@ -18,8 +24,16 @@ export type AccessorController<Props, Accessor extends InstanceType<typeof Acces
18
24
  */
19
25
  export function reCreateAccessor(instance: coreAccessor, component: LitElement): void;
20
26
 
21
- export const makeBinderProxy: typeof makeBinderProxyAliased;
27
+ /**
28
+ * @param component
29
+ * @param accessorControllerRef
30
+ * @param accessorControllerIndex
31
+ * @param instance
32
+ * @param boundProperties
33
+ */
34
+ export function makeBinderProxy(component: LitElement, accessorControllerRef: Parameters<typeof makeBinderProxyAliased>[1], accessorControllerIndex: number, instance: coreAccessor, boundProperties: Map<string, string>): unknown;
22
35
 
23
- export const getAccessorControllerBoundProperties: typeof getAccessorControllerBoundPropertiesAliased;
36
+ /** @param controller */
37
+ export function getAccessorControllerBoundProperties<Accessor extends coreAccessor>(controller: AccessorController<unknown, Accessor>): Map<string & keyof Accessor, string>;
24
38
 
25
- export type AccessorControllerRequires<Props, Accessor extends InstanceType<typeof AccessorControllerAliased>["exports"], OmitProps extends string = never> = AccessorControllerRequiresAliased<Props, Accessor, OmitProps>;
39
+ export type AccessorControllerRequires<Props, Accessor extends coreAccessor, OmitProps extends string = never> = AccessorControllerRequiresAliased<Props, Accessor, OmitProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/lumina-toolkit",
3
- "version": "5.2.0-next.129",
3
+ "version": "5.2.0-next.130",
4
4
  "description": "Higher level utilities on top of @arcgis/lumina",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -18,7 +18,7 @@
18
18
  "tslib": "^2.8.1"
19
19
  },
20
20
  "peerDependencies": {
21
- "@arcgis/core": "5.2.0-next.129",
22
- "@arcgis/lumina": "5.2.0-next.129"
21
+ "@arcgis/core": "5.2.0-next.130",
22
+ "@arcgis/lumina": "5.2.0-next.130"
23
23
  }
24
24
  }