@venizia/ardor-react 0.3.7 → 0.4.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.
@@ -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,CAAC,QAAQ,EAAE,EAAE;YACvC,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.3.7",
3
+ "version": "0.4.1",
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",
@@ -16,24 +16,29 @@
16
16
  "venizia"
17
17
  ],
18
18
  "homepage": "https://ardor.venizia.ai",
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/VENIZIA-AI/ardor.git",
22
- "directory": "packages/react"
23
- },
24
19
  "bugs": {
25
20
  "url": "https://github.com/VENIZIA-AI/ardor/issues"
26
21
  },
22
+ "license": "MIT",
27
23
  "author": {
28
24
  "name": "VENIZIA AI Developer",
29
25
  "email": "developer@venizia.ai",
30
26
  "url": "https://venizia.ai"
31
27
  },
32
- "license": "MIT",
33
- "engines": {
34
- "bun": ">=1.4"
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/VENIZIA-AI/ardor.git",
31
+ "directory": "packages/react"
35
32
  },
33
+ "files": [
34
+ "README.md",
35
+ "LICENSE.md",
36
+ "dist",
37
+ "!/**/__tests__",
38
+ "!**/*.tsbuildinfo"
39
+ ],
36
40
  "type": "module",
41
+ "sideEffects": false,
37
42
  "main": "./dist/index.js",
38
43
  "module": "./dist/index.js",
39
44
  "types": "./dist/index.d.ts",
@@ -45,40 +50,17 @@
45
50
  },
46
51
  "./package.json": "./package.json"
47
52
  },
48
- "sideEffects": false,
49
- "files": [
50
- "README.md",
51
- "LICENSE.md",
52
- "dist",
53
- "!/**/__tests__",
54
- "!**/*.tsbuildinfo"
55
- ],
56
53
  "publishConfig": {
57
54
  "access": "public"
58
55
  },
59
56
  "scripts": {
60
- "force-update": "sh ../../scripts/force-update.sh",
57
+ "force-update": "sh ../../scripts/build/force-update.sh",
61
58
  "prepublishOnly": "make rebuild"
62
59
  },
63
60
  "dependencies": {
64
- "@venizia/ardor-kernel": "0.3.7",
61
+ "@venizia/ardor-kernel": "0.4.1",
65
62
  "lodash": "^4.18.1"
66
63
  },
67
- "peerDependencies": {
68
- "@reduxjs/toolkit": ">=2.13.0",
69
- "@venizia/ignis-filter": "^0.3.6",
70
- "@venizia/ignis-helpers": "^0.3.6",
71
- "@venizia/ignis-inversion": "^0.3.7",
72
- "@venizia/ignis-kernel": "^0.3.6",
73
- "react": ">=19.3.1",
74
- "react-redux": ">=9.3.0",
75
- "reflect-metadata": ">=0.2.2"
76
- },
77
- "peerDependenciesMeta": {
78
- "@reduxjs/toolkit": {
79
- "optional": true
80
- }
81
- },
82
64
  "devDependencies": {
83
65
  "@happy-dom/global-registrator": "^21.0.4",
84
66
  "@reduxjs/toolkit": "^2.13.0",
@@ -87,13 +69,12 @@
87
69
  "@types/bun": "^1.4.3",
88
70
  "@types/lodash": "^4.17.27",
89
71
  "@types/react": "^19",
90
- "@venizia/dev-configs": "^0.3.6",
91
- "@venizia/ignis-filter": "^0.3.6",
92
- "@venizia/ignis-helpers": "^0.3.6",
93
- "@venizia/ignis-inversion": "^0.3.7",
94
- "@venizia/ignis-kernel": "^0.3.6",
72
+ "@venizia/dev-configs": "^0.4.1",
73
+ "@venizia/ignis-filter": "^0.4.1",
74
+ "@venizia/ignis-helpers": "^0.4.1",
75
+ "@venizia/ignis-inversion": "^0.4.1",
76
+ "@venizia/ignis-kernel": "^0.4.1",
95
77
  "eslint": "^10.13.0",
96
- "oxfmt": "0.74.0",
97
78
  "oxlint": "1.89.0",
98
79
  "oxlint-tsgolint": "7.0.2004",
99
80
  "react": "^19.3.1",
@@ -103,6 +84,21 @@
103
84
  "tsc-alias": "~1.8.17",
104
85
  "typescript": "^6.0.3"
105
86
  },
87
+ "peerDependencies": {
88
+ "@reduxjs/toolkit": ">=2.13.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
+ "react": ">=19.3.1",
94
+ "react-redux": ">=9.3.0",
95
+ "reflect-metadata": ">=0.2.2"
96
+ },
97
+ "peerDependenciesMeta": {
98
+ "@reduxjs/toolkit": {
99
+ "optional": true
100
+ }
101
+ },
106
102
  "size-limit": [
107
103
  {
108
104
  "path": "dist/index.js",
@@ -117,5 +113,8 @@
117
113
  ],
118
114
  "limit": "2.5 KB"
119
115
  }
120
- ]
116
+ ],
117
+ "engines": {
118
+ "bun": ">=1.4"
119
+ }
121
120
  }