@venizia/ardor-react 0.4.0 → 0.4.2

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.
@@ -5,7 +5,7 @@ export const createAppDispatch = () => {
5
5
  const useMultipleAppDispatch = () => {
6
6
  const dispatch = useAppDispatch();
7
7
  const multipleDispatch = React.useCallback((...actions) => {
8
- actions.forEach(action => {
8
+ actions.forEach((action) => {
9
9
  if (action) {
10
10
  dispatch(action);
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-dispatch.js","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAE7B,EAAE;IACJ,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAa,CAAC;IAE1D,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAIlC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,GAAG,OAA6B,EAAE,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;QAEF,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"use-app-dispatch.js","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAE7B,EAAE;IACJ,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAa,CAAC;IAE1D,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAIlC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,GAAG,OAA6B,EAAE,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;QAEF,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- import { type AnyType } from '@venizia/ardor-kernel';
2
1
  import { type Container, type TClass } from '@venizia/ignis-inversion';
3
2
  import { type TUseInjectableKeys } from './use-injectable.js';
4
3
  /** By class: the return type is inferred from the target. */
@@ -13,9 +12,9 @@ export interface IUseArtifactByKey {
13
12
  key: TUseInjectableKeys;
14
13
  target?: never;
15
14
  }
16
- export declare const useService: <TInstance = AnyType>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
17
- export declare const useProvider: <TInstance = AnyType>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
18
- export declare const useComponent: <TInstance = AnyType>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
19
- export declare const useConfiguration: <TInstance = AnyType>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
20
- export declare const useRepository: <TInstance = AnyType>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
15
+ export declare const useService: <TInstance = unknown>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
16
+ export declare const useProvider: <TInstance = unknown>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
17
+ export declare const useComponent: <TInstance = unknown>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
18
+ export declare const useConfiguration: <TInstance = unknown>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
19
+ export declare const useRepository: <TInstance = unknown>(opts: IUseArtifactByTarget<TInstance> | IUseArtifactByKey) => TInstance;
21
20
  //# sourceMappingURL=use-artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-artifact.d.ts","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAE1B,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB,CAAC,SAAS;IAC7C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAgCD,eAAO,MAAM,UAAU,GAAI,SAAS,GAAG,OAAO,EAC5C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,SAAS,GAAG,OAAO,EAC7C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,SAAS,GAAG,OAAO,EAC9C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,OAAO,EAClD,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,aAAa,GAAI,SAAS,GAAG,OAAO,EAC/C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC"}
1
+ {"version":3,"file":"use-artifact.d.ts","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAE1B,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB,CAAC,SAAS;IAC7C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAgCD,eAAO,MAAM,UAAU,GAAI,SAAS,GAAG,OAAO,EAC5C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,SAAS,GAAG,OAAO,EAC7C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,SAAS,GAAG,OAAO,EAC9C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,OAAO,EAClD,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,aAAa,GAAI,SAAS,GAAG,OAAO,EAC/C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-artifact.js","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EACL,aAAa,EACb,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAgB1B;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAY,IAI1C,EAAa,EAAE;IACd,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE1C,mFAAmF;IACnF,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,4EAA4E;aACtK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAY,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,OAAO;IACpC,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,QAAQ;IACrC,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,SAAS;IACtC,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,aAAa;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,UAAU;IACvC,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"use-artifact.js","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EACL,aAAa,EACb,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAgB1B;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAY,IAI1C,EAAa,EAAE;IACd,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE1C,mFAAmF;IACnF,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,4EAA4E;aACtK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAY,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,OAAO;IACpC,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,QAAQ;IACrC,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,SAAS;IACtC,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,aAAa;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,UAAU;IACvC,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-autosave.d.ts","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC3D,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,SA4CpF,CAAC"}
1
+ {"version":3,"file":"use-autosave.d.ts","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC3D,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,eAAO,MAAM,WAAW,GAAI,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,SA4CpF,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
+ import { Logger } from '@venizia/ardor-kernel';
2
3
  import { useDebounce } from './use-debounce.js';
4
+ const logger = Logger.getInstance({ scope: 'useAutosave' });
3
5
  export const useAutosave = (opts) => {
4
6
  const { data, onSave, interval = 2000, enableSaveOnUnmount, enabled = true } = opts;
5
7
  const valueOnCleanup = React.useRef(data);
@@ -16,7 +18,7 @@ export const useAutosave = (opts) => {
16
18
  return;
17
19
  }
18
20
  Promise.resolve(handleSave.current(debouncedValueToSave)).catch((error) => {
19
- console.error('[useAutosave] Failed to save debounced value | error: %s', error);
21
+ logger.error('[useAutosave] Failed to save debounced value | error: %s', error);
20
22
  });
21
23
  return () => { };
22
24
  }, [debouncedValueToSave]);
@@ -34,7 +36,7 @@ export const useAutosave = (opts) => {
34
36
  return;
35
37
  }
36
38
  Promise.resolve(handleSave.current(valueOnCleanup.current)).catch((error) => {
37
- console.error('[useAutosave] Failed to save value on unmount | error: %s', error);
39
+ logger.error('[useAutosave] Failed to save value on unmount | error: %s', error);
38
40
  });
39
41
  };
40
42
  }, [enableSaveOnUnmount]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-autosave.js","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiB,IAAyC,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,mBAAmB,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEpF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC;QAC3D,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,QAAQ;QACf,OAAO;KACR,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACjF,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACnF,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"use-autosave.js","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiB,IAAyC,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,mBAAmB,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEpF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC;QAC3D,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,QAAQ;QACf,OAAO;KACR,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACjF,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACnF,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-confirm.d.ts","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,QAAO,iBAgC7B,CAAC"}
1
+ {"version":3,"file":"use-confirm.d.ts","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,QAAO,iBA+B7B,CAAC"}
@@ -1,29 +1,27 @@
1
1
  import React from 'react';
2
2
  export const useConfirm = () => {
3
- const [resolve, setResolve] = React.useState();
3
+ const settle = React.useRef(undefined);
4
4
  const [message, setMessage] = React.useState();
5
5
  const confirm = React.useCallback((opts) => {
6
- return new Promise(_resolve => {
7
- setResolve(() => {
8
- return (value) => {
9
- return _resolve(value);
10
- };
11
- });
6
+ // A prompt that is replaced was not confirmed: settle it, or its caller waits forever.
7
+ settle.current?.(false);
8
+ return new Promise((resolve) => {
9
+ settle.current = resolve;
12
10
  setMessage(opts.message);
13
11
  });
14
12
  }, []);
15
13
  const handleClose = React.useCallback(() => {
16
- setResolve(undefined);
14
+ settle.current = undefined;
17
15
  setMessage(undefined);
18
16
  }, []);
19
17
  const handleConfirm = React.useCallback(() => {
20
- resolve?.(true);
18
+ settle.current?.(true);
21
19
  handleClose();
22
- }, [handleClose, resolve]);
20
+ }, [handleClose]);
23
21
  const handleAbort = React.useCallback(() => {
24
- resolve?.(false);
22
+ settle.current?.(false);
25
23
  handleClose();
26
- }, [handleClose, resolve]);
24
+ }, [handleClose]);
27
25
  return { message, confirm, handleClose, handleConfirm, handleAbort };
28
26
  };
29
27
  //# sourceMappingURL=use-confirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-confirm.js","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAsB,EAAE;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAA4B,CAAC;IAEzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAyB,EAAE,EAAE;QAC9D,OAAO,IAAI,OAAO,CAAU,QAAQ,CAAC,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,KAAc,EAAE,EAAE;oBACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACvE,CAAC,CAAC"}
1
+ {"version":3,"file":"use-confirm.js","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAsB,EAAE;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAA+C,SAAS,CAAC,CAAC;IAErF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAyB,EAAE,EAAE;QAC9D,uFAAuF;QACvF,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACvE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,kBAAkB,QAAO,yBAmBrC,CAAC"}
1
+ {"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,kBAAkB,QAAO,yBAmBrC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
+ import { Logger } from '@venizia/ardor-kernel';
3
+ const logger = Logger.getInstance({ scope: 'useCopyToClipboard' });
2
4
  export const useCopyToClipboard = () => {
3
5
  const copy = React.useCallback(async (opts) => {
4
6
  if (!navigator?.clipboard) {
5
- console.warn('Clipboard not supported');
7
+ logger.warn('[copy] The clipboard is not supported');
6
8
  return false;
7
9
  }
8
10
  const { value } = opts;
@@ -11,7 +13,7 @@ export const useCopyToClipboard = () => {
11
13
  return true;
12
14
  }
13
15
  catch (error) {
14
- console.warn('Copy failed', error);
16
+ logger.warn('[copy] Copy failed | error: %s', error);
15
17
  return false;
16
18
  }
17
19
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"use-copy-to-clipboard.js","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA8B,EAAE;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QAC/D,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"use-copy-to-clipboard.js","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAMnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA8B,EAAE;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QAC/D,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Container, type TClass } from '@venizia/ignis-inversion';
2
- import type { AnyType, CoreBindings, ValueOf } from '@venizia/ardor-kernel';
2
+ import type { CoreBindings, ValueOf } from '@venizia/ardor-kernel';
3
3
  export interface IUseInjectableKeysOverrides {
4
4
  }
5
5
  export type TUseInjectableKeysDefault = Extract<ValueOf<typeof CoreBindings>, string>;
@@ -11,13 +11,11 @@ export type TUseInjectableOptions = {
11
11
  } | {
12
12
  container?: Container;
13
13
  key?: never;
14
- target: TClass<AnyType>;
14
+ target: TClass<unknown>;
15
15
  };
16
16
  /**
17
- * The container an injectable hook resolves from: the one passed in, else the one the application
18
- * context holds. Shared so that every hook built on `useInjectable` reads the SAME container it
19
- * resolves from - a hook that re-derived it would be checking one container and resolving from
20
- * another, and the check would pass by accident.
17
+ * The container an injectable hook resolves from: the one passed in, else the application's. Shared,
18
+ * so a hook never checks one container and resolves from another.
21
19
  */
22
20
  export declare const useInjectableContainer: (opts?: {
23
21
  container?: Container;
@@ -1 +1 @@
1
- {"version":3,"file":"use-injectable.d.ts","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG5E,MAAM,WAAW,2BAA2B;CAAG;AAE/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,2BAA2B,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,SAWzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,EAAE,MAAM,qBAAqB,cA6BnE,CAAC"}
1
+ {"version":3,"file":"use-injectable.d.ts","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGnE,MAAM,WAAW,2BAA2B;CAAG;AAE/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,2BAA2B,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,SAWzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,EAAE,MAAM,qBAAqB,cA6BnE,CAAC"}
@@ -2,10 +2,8 @@ import React from 'react';
2
2
  import { getError } from '@venizia/ignis-inversion';
3
3
  import { ApplicationContext } from '../contexts/application.js';
4
4
  /**
5
- * The container an injectable hook resolves from: the one passed in, else the one the application
6
- * context holds. Shared so that every hook built on `useInjectable` reads the SAME container it
7
- * resolves from - a hook that re-derived it would be checking one container and resolving from
8
- * another, and the check would pass by accident.
5
+ * The container an injectable hook resolves from: the one passed in, else the application's. Shared,
6
+ * so a hook never checks one container and resolves from another.
9
7
  */
10
8
  export const useInjectableContainer = (opts) => {
11
9
  const applicationContext = React.useContext(ApplicationContext);
@@ -1 +1 @@
1
- {"version":3,"file":"use-injectable.js","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAY7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAgC,EAAa,EAAE;IACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAElE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAY,IAA2B,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,gBAAgB,GAAG,sNAAsN;aACnP,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,+EAA+E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,iDAAiD,MAAM,CAAC,IAAI,iKAAiK;SACvO,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"use-injectable.js","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAY7D;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAgC,EAAa,EAAE;IACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAElE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAY,IAA2B,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,gBAAgB,GAAG,sNAAsN;aACnP,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,+EAA+E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,iDAAiD,MAAM,CAAC,IAAI,iKAAiK;SACvO,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -5,5 +5,6 @@ export interface IUseSizerReturn {
5
5
  width: number;
6
6
  height: number;
7
7
  }
8
+ /** The offset size of the element with the id, kept up to date by a `ResizeObserver`. */
8
9
  export declare const useSizer: (opts: IUseSizerOptions) => IUseSizerReturn;
9
10
  //# sourceMappingURL=use-sizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,KAAG,eAsCjD,CAAC"}
1
+ {"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,yFAAyF;AACzF,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,KAAG,eAuBjD,CAAC"}
@@ -1,33 +1,23 @@
1
1
  import React from 'react';
2
+ /** The offset size of the element with the id, kept up to date by a `ResizeObserver`. */
2
3
  export const useSizer = (opts) => {
3
4
  const { containerId } = opts;
4
5
  const [width, setWidth] = React.useState(0);
5
6
  const [height, setHeight] = React.useState(0);
6
- const cached = React.useRef({ width, height });
7
7
  React.useEffect(() => {
8
8
  const container = document.getElementById(containerId);
9
9
  if (!container) {
10
10
  return;
11
11
  }
12
12
  const sizeObserver = new ResizeObserver(() => {
13
- if (container.offsetWidth !== cached.current.width) {
14
- setWidth(container.clientWidth + 1);
15
- }
16
- if (container.offsetHeight !== cached.current.height) {
17
- setHeight(container.offsetHeight + 1);
18
- }
13
+ setWidth(container.offsetWidth);
14
+ setHeight(container.offsetHeight);
19
15
  });
20
16
  sizeObserver.observe(container);
21
17
  return () => {
22
18
  sizeObserver.disconnect();
23
19
  };
24
20
  }, [containerId]);
25
- React.useEffect(() => {
26
- cached.current.width = width;
27
- }, [width]);
28
- React.useEffect(() => {
29
- cached.current.height = height;
30
- }, [height]);
31
21
  return { width, height };
32
22
  };
33
23
  //# sourceMappingURL=use-sizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-sizer.js","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAmB,EAAE;IAClE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAElF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC3C,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnD,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,SAAS,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrD,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"use-sizer.js","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,yFAAyF;AACzF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAmB,EAAE;IAClE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC3C,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAChC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-window-dimensions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;CAsB/B,CAAC"}
1
+ {"version":3,"file":"use-window-dimensions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB;;;CAkB/B,CAAC"}
@@ -1,16 +1,19 @@
1
1
  import React from 'react';
2
+ import { isBrowser } from '@venizia/ardor-kernel';
3
+ const readWindowDimensions = () => {
4
+ // Where there is no window (a server render) the size is 0 x 0 until the browser measures it.
5
+ return isBrowser()
6
+ ? { width: window.innerWidth, height: window.innerHeight }
7
+ : { width: 0, height: 0 };
8
+ };
2
9
  export const useWindowDimensions = () => {
3
- const [windowDimensions, setWindowDimensions] = React.useState({
4
- width: window.innerWidth,
5
- height: window.innerHeight,
6
- });
10
+ const [windowDimensions, setWindowDimensions] = React.useState(readWindowDimensions);
7
11
  React.useEffect(() => {
8
12
  const resizeHandler = () => {
9
- setWindowDimensions({
10
- width: window.innerWidth,
11
- height: window.innerHeight,
12
- });
13
+ setWindowDimensions(readWindowDimensions());
13
14
  };
15
+ // The state may have been 0 x 0 from a server render.
16
+ resizeHandler();
14
17
  window.addEventListener('resize', resizeHandler);
15
18
  return () => {
16
19
  window.removeEventListener('resize', resizeHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"use-window-dimensions.js","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7D,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,WAAW;KAC3B,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,mBAAmB,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"use-window-dimensions.js","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,8FAA8F;IAC9F,OAAO,SAAS,EAAE;QAChB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;QAC1D,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAErF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,sDAAsD;QACtD,aAAa,EAAE,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ardor-react",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "ARDOR React bindings - the application context, the injectable and logger hooks that read it, typed Redux hook factories, and the framework-agnostic UI hooks (debounce, autosave, confirm, clipboard, sizer, window dimensions). No react-admin.",
5
5
  "keywords": [
6
6
  "ardor",
@@ -54,11 +54,11 @@
54
54
  "access": "public"
55
55
  },
56
56
  "scripts": {
57
- "force-update": "sh ../../scripts/force-update.sh",
57
+ "force-update": "sh ../../scripts/build/force-update.sh",
58
58
  "prepublishOnly": "make rebuild"
59
59
  },
60
60
  "dependencies": {
61
- "@venizia/ardor-kernel": "0.4.0",
61
+ "@venizia/ardor-kernel": "0.4.2",
62
62
  "lodash": "^4.18.1"
63
63
  },
64
64
  "devDependencies": {
@@ -69,11 +69,11 @@
69
69
  "@types/bun": "^1.4.3",
70
70
  "@types/lodash": "^4.17.27",
71
71
  "@types/react": "^19",
72
- "@venizia/dev-configs": "^0.4.0",
73
- "@venizia/ignis-filter": "^0.4.0",
74
- "@venizia/ignis-helpers": "^0.4.0",
75
- "@venizia/ignis-inversion": "^0.4.0",
76
- "@venizia/ignis-kernel": "^0.4.0",
72
+ "@venizia/dev-configs": "^0.4.2",
73
+ "@venizia/ignis-filter": "^0.4.2",
74
+ "@venizia/ignis-helpers": "^0.4.2",
75
+ "@venizia/ignis-inversion": "^0.4.2",
76
+ "@venizia/ignis-kernel": "^0.4.2",
77
77
  "eslint": "^10.13.0",
78
78
  "oxlint": "1.89.0",
79
79
  "oxlint-tsgolint": "7.0.2004",
@@ -86,10 +86,10 @@
86
86
  },
87
87
  "peerDependencies": {
88
88
  "@reduxjs/toolkit": ">=2.13.0",
89
- "@venizia/ignis-filter": "^0.4.0",
90
- "@venizia/ignis-helpers": "^0.4.0",
91
- "@venizia/ignis-inversion": "^0.4.0",
92
- "@venizia/ignis-kernel": "^0.4.0",
89
+ "@venizia/ignis-filter": "^0.4.1",
90
+ "@venizia/ignis-helpers": "^0.4.1",
91
+ "@venizia/ignis-inversion": "^0.4.1",
92
+ "@venizia/ignis-kernel": "^0.4.1",
93
93
  "react": ">=19.3.1",
94
94
  "react-redux": ">=9.3.0",
95
95
  "reflect-metadata": ">=0.2.2"