@evlop/commons 1.0.347 → 1.0.349

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/cjs/src/components/RenderInBackground.d.ts +1 -1
  2. package/dist/cjs/src/components/RenderInBackground.d.ts.map +1 -1
  3. package/dist/cjs/src/components/RenderInBackground.js.map +1 -1
  4. package/dist/cjs/src/hooks/index.d.ts +1 -0
  5. package/dist/cjs/src/hooks/index.d.ts.map +1 -1
  6. package/dist/cjs/src/hooks/index.js +1 -0
  7. package/dist/cjs/src/hooks/index.js.map +1 -1
  8. package/dist/cjs/src/hooks/useSharedState.d.ts +4 -0
  9. package/dist/cjs/src/hooks/useSharedState.d.ts.map +1 -0
  10. package/dist/cjs/src/hooks/useSharedState.js +42 -0
  11. package/dist/cjs/src/hooks/useSharedState.js.map +1 -0
  12. package/dist/esm/src/components/RenderInBackground.d.ts +1 -1
  13. package/dist/esm/src/components/RenderInBackground.d.ts.map +1 -1
  14. package/dist/esm/src/components/RenderInBackground.js.map +1 -1
  15. package/dist/esm/src/hooks/index.d.ts +1 -0
  16. package/dist/esm/src/hooks/index.d.ts.map +1 -1
  17. package/dist/esm/src/hooks/index.js +1 -0
  18. package/dist/esm/src/hooks/index.js.map +1 -1
  19. package/dist/esm/src/hooks/useSharedState.d.ts +4 -0
  20. package/dist/esm/src/hooks/useSharedState.d.ts.map +1 -0
  21. package/dist/esm/src/hooks/useSharedState.js +38 -0
  22. package/dist/esm/src/hooks/useSharedState.js.map +1 -0
  23. package/dist/types/src/components/RenderInBackground.d.ts +1 -1
  24. package/dist/types/src/components/RenderInBackground.d.ts.map +1 -1
  25. package/dist/types/src/hooks/index.d.ts +1 -0
  26. package/dist/types/src/hooks/index.d.ts.map +1 -1
  27. package/dist/types/src/hooks/useSharedState.d.ts +4 -0
  28. package/dist/types/src/hooks/useSharedState.d.ts.map +1 -0
  29. package/package.json +1 -1
@@ -3,6 +3,6 @@ interface RenderInBackgroundProps {
3
3
  children: React.ReactNode;
4
4
  fallback?: React.ReactNode;
5
5
  }
6
- export declare const RenderInBackground: ({ children, fallback }: RenderInBackgroundProps) => React.ReactNode;
6
+ export declare const RenderInBackground: React.FC<RenderInBackgroundProps>;
7
7
  export {};
8
8
  //# sourceMappingURL=RenderInBackground.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,oBAczB,CAAA"}
1
+ {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiBhE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderInBackground.js","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8E;AAC9E,sEAA8C;AAE9C,MAAM,eAAe,GAAG,8BAAC,wBAAc,OAAG,CAAC;AAOpC,MAAM,kBAAkB,GAAG,CAAC,EAC/B,QAAQ,EACR,QAAQ,GAAG,eAAe,EACJ,EAAE,EAAE;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAA,uBAAe,EAAC,GAAG,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA;AAjBY,QAAA,kBAAkB,sBAiB9B"}
1
+ {"version":3,"file":"RenderInBackground.js","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8E;AAC9E,sEAA8C;AAE9C,MAAM,eAAe,GAAG,8BAAC,wBAAc,OAAG,CAAC;AAOpC,MAAM,kBAAkB,GAAsC,CAAC,EAClE,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC7B,EAAE,EAAE;IACD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAA,uBAAe,EAAC,GAAG,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA;AAjBY,QAAA,kBAAkB,sBAiB9B"}
@@ -24,4 +24,5 @@ export * from './useAction';
24
24
  export * from './usePastePlainText';
25
25
  export * from './useResponsive';
26
26
  export * from './useSession';
27
+ export * from './useSharedState';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -40,4 +40,5 @@ __exportStar(require("./useAction"), exports);
40
40
  __exportStar(require("./usePastePlainText"), exports);
41
41
  __exportStar(require("./useResponsive"), exports);
42
42
  __exportStar(require("./useSession"), exports);
43
+ __exportStar(require("./useSharedState"), exports);
43
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,yDAAuC;AACvC,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,wDAAsC;AACtC,4DAA0C;AAC1C,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,kDAAgC;AAChC,8CAA4B;AAC5B,sDAAoC;AACpC,kDAAgC;AAChC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,yDAAuC;AACvC,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,wDAAsC;AACtC,4DAA0C;AAC1C,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,kDAAgC;AAChC,8CAA4B;AAC5B,sDAAoC;AACpC,kDAAgC;AAChC,+CAA6B;AAC7B,mDAAiC"}
@@ -0,0 +1,4 @@
1
+ type SetStateAction<T> = T | ((prev: T) => T);
2
+ export declare const useSharedState: <T>(name: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
3
+ export default useSharedState;
4
+ //# sourceMappingURL=useSharedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,MAAM,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqBvG,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSharedState = void 0;
4
+ const react_1 = require("react");
5
+ const events_1 = require("events");
6
+ // Single global emitter and value store
7
+ const globalEmitter = new events_1.EventEmitter();
8
+ const globalValues = new Map();
9
+ function getEventName(name) {
10
+ return `state/${name}/updated`;
11
+ }
12
+ function getGlobalValueOrDefault(name, defaultValue) {
13
+ return globalValues.has(name) ? globalValues.get(name) : defaultValue;
14
+ }
15
+ const updateGlobalValue = (name, next, defaultValue) => {
16
+ const prev = (globalValues.has(name) ? globalValues.get(name) : defaultValue);
17
+ const nextValue = typeof next === 'function' ? next(prev) : next;
18
+ if (Object.is(nextValue, prev))
19
+ return;
20
+ globalValues.set(name, nextValue);
21
+ globalEmitter.emit(getEventName(name), nextValue);
22
+ };
23
+ const useSharedState = (name, defaultValue) => {
24
+ const [value, _setValue] = (0, react_1.useState)(() => getGlobalValueOrDefault(name, defaultValue));
25
+ (0, react_1.useEffect)(() => {
26
+ const eventName = getEventName(name);
27
+ const onChange = (next) => _setValue(next);
28
+ // Ensure local state syncs with current shared value
29
+ const current = getGlobalValueOrDefault(name, defaultValue);
30
+ if (!Object.is(value, current))
31
+ _setValue(current);
32
+ globalEmitter.addListener(eventName, onChange);
33
+ return () => {
34
+ globalEmitter.removeListener(eventName, onChange);
35
+ };
36
+ }, [name]);
37
+ const setSharedValue = (0, react_1.useCallback)((next) => updateGlobalValue(name, next, defaultValue), [name, defaultValue]);
38
+ return [value, setSharedValue];
39
+ };
40
+ exports.useSharedState = useSharedState;
41
+ exports.default = exports.useSharedState;
42
+ //# sourceMappingURL=useSharedState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AACzD,mCAAsC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,SAAS,IAAI,UAAU,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAI,IAAY,EAAE,YAAe;IAC/D,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/E,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAK,IAAY,EAAE,IAAuB,EAAE,YAAgB,EAAQ,EAAE;IAC5F,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAC;IACnF,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;QAAE,OAAO;IACvC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC,CAAC;AAEG,MAAM,cAAc,GAAG,CAAK,IAAY,EAAE,YAAe,EAA0C,EAAE;IAC1G,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAI,GAAG,EAAE,CAAC,uBAAuB,CAAI,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7F,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,qDAAqD;QACrD,MAAM,OAAO,GAAG,uBAAuB,CAAI,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB;AAEF,kBAAe,sBAAc,CAAC"}
@@ -3,6 +3,6 @@ interface RenderInBackgroundProps {
3
3
  children: React.ReactNode;
4
4
  fallback?: React.ReactNode;
5
5
  }
6
- export declare const RenderInBackground: ({ children, fallback }: RenderInBackgroundProps) => React.ReactNode;
6
+ export declare const RenderInBackground: React.FC<RenderInBackgroundProps>;
7
7
  export {};
8
8
  //# sourceMappingURL=RenderInBackground.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,oBAczB,CAAA"}
1
+ {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiBhE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderInBackground.js","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,eAAe,GAAG,oBAAC,cAAc,OAAG,CAAC;AAO3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAC/B,QAAQ,EACR,QAAQ,GAAG,eAAe,EACJ,EAAE,EAAE;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACX,eAAe,CAAC,GAAG,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"RenderInBackground.js","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,eAAe,GAAG,oBAAC,cAAc,OAAG,CAAC;AAO3C,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAClE,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC7B,EAAE,EAAE;IACD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACX,eAAe,CAAC,GAAG,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA"}
@@ -24,4 +24,5 @@ export * from './useAction';
24
24
  export * from './usePastePlainText';
25
25
  export * from './useResponsive';
26
26
  export * from './useSession';
27
+ export * from './useSharedState';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -24,4 +24,5 @@ export * from './useAction';
24
24
  export * from './usePastePlainText';
25
25
  export * from './useResponsive';
26
26
  export * from './useSession';
27
+ export * from './useSharedState';
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ type SetStateAction<T> = T | ((prev: T) => T);
2
+ export declare const useSharedState: <T>(name: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
3
+ export default useSharedState;
4
+ //# sourceMappingURL=useSharedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,MAAM,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqBvG,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { EventEmitter } from 'events';
3
+ // Single global emitter and value store
4
+ const globalEmitter = new EventEmitter();
5
+ const globalValues = new Map();
6
+ function getEventName(name) {
7
+ return `state/${name}/updated`;
8
+ }
9
+ function getGlobalValueOrDefault(name, defaultValue) {
10
+ return globalValues.has(name) ? globalValues.get(name) : defaultValue;
11
+ }
12
+ const updateGlobalValue = (name, next, defaultValue) => {
13
+ const prev = (globalValues.has(name) ? globalValues.get(name) : defaultValue);
14
+ const nextValue = typeof next === 'function' ? next(prev) : next;
15
+ if (Object.is(nextValue, prev))
16
+ return;
17
+ globalValues.set(name, nextValue);
18
+ globalEmitter.emit(getEventName(name), nextValue);
19
+ };
20
+ export const useSharedState = (name, defaultValue) => {
21
+ const [value, _setValue] = useState(() => getGlobalValueOrDefault(name, defaultValue));
22
+ useEffect(() => {
23
+ const eventName = getEventName(name);
24
+ const onChange = (next) => _setValue(next);
25
+ // Ensure local state syncs with current shared value
26
+ const current = getGlobalValueOrDefault(name, defaultValue);
27
+ if (!Object.is(value, current))
28
+ _setValue(current);
29
+ globalEmitter.addListener(eventName, onChange);
30
+ return () => {
31
+ globalEmitter.removeListener(eventName, onChange);
32
+ };
33
+ }, [name]);
34
+ const setSharedValue = useCallback((next) => updateGlobalValue(name, next, defaultValue), [name, defaultValue]);
35
+ return [value, setSharedValue];
36
+ };
37
+ export default useSharedState;
38
+ //# sourceMappingURL=useSharedState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,SAAS,IAAI,UAAU,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAI,IAAY,EAAE,YAAe;IAC/D,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/E,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAK,IAAY,EAAE,IAAuB,EAAE,YAAgB,EAAQ,EAAE;IAC5F,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAC;IACnF,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;QAAE,OAAO;IACvC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAK,IAAY,EAAE,YAAe,EAA0C,EAAE;IAC1G,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAI,GAAG,EAAE,CAAC,uBAAuB,CAAI,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7F,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,qDAAqD;QACrD,MAAM,OAAO,GAAG,uBAAuB,CAAI,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -3,6 +3,6 @@ interface RenderInBackgroundProps {
3
3
  children: React.ReactNode;
4
4
  fallback?: React.ReactNode;
5
5
  }
6
- export declare const RenderInBackground: ({ children, fallback }: RenderInBackgroundProps) => React.ReactNode;
6
+ export declare const RenderInBackground: React.FC<RenderInBackgroundProps>;
7
7
  export {};
8
8
  //# sourceMappingURL=RenderInBackground.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,oBAczB,CAAA"}
1
+ {"version":3,"file":"RenderInBackground.d.ts","sourceRoot":"","sources":["../../../../src/components/RenderInBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiBhE,CAAA"}
@@ -24,4 +24,5 @@ export * from './useAction';
24
24
  export * from './usePastePlainText';
25
25
  export * from './useResponsive';
26
26
  export * from './useSession';
27
+ export * from './useSharedState';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ type SetStateAction<T> = T | ((prev: T) => T);
2
+ export declare const useSharedState: <T>(name: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
3
+ export default useSharedState;
4
+ //# sourceMappingURL=useSharedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,MAAM,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqBvG,CAAC;AAEF,eAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evlop/commons",
3
- "version": "1.0.347",
3
+ "version": "1.0.349",
4
4
  "description": "",
5
5
  "main": "dist/cjs/main.js",
6
6
  "module": "dist/esm/main.js",