@onepercentio/one-ui 0.4.0 → 0.5.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.
Files changed (100) hide show
  1. package/cypress/support/commands.ts +1 -0
  2. package/dist/components/AdaptiveButton/AdaptiveButton.js +17 -15
  3. package/dist/components/AdaptiveButton/AdaptiveButton.js.map +1 -1
  4. package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +18 -0
  5. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +122 -0
  6. package/dist/components/AnimatedEntrance/AnimatedEntrance.js.map +1 -0
  7. package/dist/components/AnimatedEntrance/AnimatedEntrance.module.scss +106 -0
  8. package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.d.ts +14 -0
  9. package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.js +67 -0
  10. package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.js.map +1 -0
  11. package/dist/components/AnimatedEntrance/index.d.ts +1 -0
  12. package/dist/components/AnimatedEntrance/index.js +9 -0
  13. package/dist/components/AnimatedEntrance/index.js.map +1 -0
  14. package/dist/components/Button/Button.d.ts +7 -0
  15. package/dist/components/Button/Button.js +5 -3
  16. package/dist/components/Button/Button.js.map +1 -1
  17. package/dist/components/Button/Button.stories.d.ts +2 -6
  18. package/dist/components/Button/Button.stories.js +29 -5
  19. package/dist/components/Button/Button.stories.js.map +1 -1
  20. package/dist/components/CheckBox/CheckBox.stories.js +25 -2
  21. package/dist/components/CheckBox/CheckBox.stories.js.map +1 -1
  22. package/dist/components/Collapsable/Collapsable.d.ts +0 -2
  23. package/dist/components/Collapsable/Collapsable.js +0 -2
  24. package/dist/components/Collapsable/Collapsable.js.map +1 -1
  25. package/dist/components/Countdown/Countdown.stories.js +25 -2
  26. package/dist/components/Countdown/Countdown.stories.js.map +1 -1
  27. package/dist/components/Form/Form.d.ts +3 -1
  28. package/dist/components/Form/Form.js +2 -2
  29. package/dist/components/Form/Form.js.map +1 -1
  30. package/dist/components/Form/Form.stories.d.ts +13 -0
  31. package/dist/components/Form/Form.stories.js +36 -0
  32. package/dist/components/Form/Form.stories.js.map +1 -0
  33. package/dist/components/Input/Input.js +2 -1
  34. package/dist/components/Input/Input.js.map +1 -1
  35. package/dist/components/InstantCounter/InstantCounter.stories.d.ts +13 -0
  36. package/dist/components/InstantCounter/InstantCounter.stories.js +48 -3
  37. package/dist/components/InstantCounter/InstantCounter.stories.js.map +1 -1
  38. package/dist/components/LinkToId/LinkToId.stories.d.ts +7 -0
  39. package/dist/components/LinkToId/LinkToId.stories.js +15 -0
  40. package/dist/components/LinkToId/LinkToId.stories.js.map +1 -0
  41. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.d.ts +7 -0
  42. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.js +15 -0
  43. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.js.map +1 -0
  44. package/dist/components/PasswordInput/PasswordInput.js +1 -1
  45. package/dist/components/PasswordInput/PasswordInput.js.map +1 -1
  46. package/dist/components/PasswordInput/PasswordInput.stories.d.ts +45 -0
  47. package/dist/components/PasswordInput/PasswordInput.stories.js +22 -0
  48. package/dist/components/PasswordInput/PasswordInput.stories.js.map +1 -0
  49. package/dist/components/Portal/Portal.js +40 -5
  50. package/dist/components/Portal/Portal.js.map +1 -1
  51. package/dist/components/Portal/Portal.stories.d.ts +7 -0
  52. package/dist/components/Portal/Portal.stories.js +15 -0
  53. package/dist/components/Portal/Portal.stories.js.map +1 -0
  54. package/dist/components/Portal/index.d.ts +1 -1
  55. package/dist/components/Portal/index.js +2 -1
  56. package/dist/components/Portal/index.js.map +1 -1
  57. package/dist/components/SectionContainer/SectionContainer.stories.d.ts +14 -0
  58. package/dist/components/SectionContainer/SectionContainer.stories.js +15 -0
  59. package/dist/components/SectionContainer/SectionContainer.stories.js.map +1 -0
  60. package/dist/components/Tabs/Tabs.js +1 -1
  61. package/dist/components/Tabs/Tabs.js.map +1 -1
  62. package/dist/components/Tabs/Tabs.stories.d.ts +17 -0
  63. package/dist/components/Tabs/Tabs.stories.js +57 -0
  64. package/dist/components/Tabs/Tabs.stories.js.map +1 -0
  65. package/dist/components/Text/Text.d.ts +8 -3
  66. package/dist/components/Text/Text.js +5 -3
  67. package/dist/components/Text/Text.js.map +1 -1
  68. package/dist/components/Text/Text.stories.d.ts +2 -7
  69. package/dist/components/Text/Text.stories.js +26 -3
  70. package/dist/components/Text/Text.stories.js.map +1 -1
  71. package/dist/components/Transition/Transition.js +4 -4
  72. package/dist/components/Transition/Transition.js.map +1 -1
  73. package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +1 -0
  74. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +3 -1
  75. package/dist/components/UncontrolledTransition/UncontrolledTransition.js.map +1 -1
  76. package/dist/components/UncontrolledTransition/UncontrolledTransition.stories.d.ts +2 -0
  77. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.d.ts +4 -6
  78. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +3 -2
  79. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js.map +1 -1
  80. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.stories.d.ts +3 -8
  81. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +6 -2
  82. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js.map +1 -1
  83. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.module.scss +5 -0
  84. package/dist/context/OneUIProvider.d.ts +1 -1
  85. package/dist/context/OneUIProvider.js +15 -4
  86. package/dist/context/OneUIProvider.js.map +1 -1
  87. package/dist/hooks/shims/ObjectWatchShim.js +24 -17
  88. package/dist/hooks/shims/ObjectWatchShim.js.map +1 -1
  89. package/dist/hooks/useAsyncControl.d.ts +3 -3
  90. package/dist/hooks/useAsyncControl.js +7 -7
  91. package/dist/hooks/useAsyncControl.js.map +1 -1
  92. package/dist/hooks/useFirestoreWatch.d.ts +12 -0
  93. package/dist/hooks/useFirestoreWatch.js +38 -0
  94. package/dist/hooks/useFirestoreWatch.js.map +1 -0
  95. package/dist/hooks/useObserve.js +5 -5
  96. package/dist/hooks/useObserve.js.map +1 -1
  97. package/dist/hooks/usePooledOperation.d.ts +1 -1
  98. package/package.json +12 -6
  99. package/src/types.d.ts +28 -0
  100. package/cypress/support/commands.js +0 -25
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // @ts-nocheck
3
3
  // object.watch
4
- if (!Object.prototype.watch)
4
+ if (!Object.prototype.watch) {
5
5
  Object.prototype.watch = function (propsToWatchFor, handler) {
6
6
  (this._handlers || (this._handlers = [])).push(handler);
7
7
  propsToWatchFor.forEach((prop) => {
@@ -20,26 +20,33 @@ if (!Object.prototype.watch)
20
20
  newval = val;
21
21
  return true;
22
22
  };
23
- if (delete this[prop]) {
24
- // can't watch constants
25
- if (Object.defineProperty) {
26
- // ECMAScript 5
27
- Object.defineProperty(this, prop, {
28
- get: getter,
29
- set: setter,
30
- });
31
- }
32
- else if (Object.prototype.__defineGetter__ &&
33
- Object.prototype.__defineSetter__) {
34
- // legacy
35
- Object.prototype.__defineGetter__.call(this, prop, getter);
36
- Object.prototype.__defineSetter__.call(this, prop, setter);
23
+ try {
24
+ if (delete this[prop]) {
25
+ // can't watch constants
26
+ if (Object.defineProperty) {
27
+ // ECMAScript 5
28
+ Object.defineProperty(this, prop, {
29
+ get: getter,
30
+ set: setter,
31
+ });
32
+ }
33
+ else if (Object.prototype.__defineGetter__ &&
34
+ Object.prototype.__defineSetter__) {
35
+ // legacy
36
+ Object.prototype.__defineGetter__.call(this, prop, getter);
37
+ Object.prototype.__defineSetter__.call(this, prop, setter);
38
+ }
37
39
  }
38
40
  }
41
+ catch (e) { }
39
42
  });
40
- this.unwatch = () => {
43
+ return () => {
41
44
  this._handlers.splice(this._handlers.indexOf(handler), 1);
42
45
  };
43
- return this.unwatch;
44
46
  };
47
+ Object.defineProperty(Object.prototype, 'watch', {
48
+ enumerable: false,
49
+ configurable: true
50
+ });
51
+ }
45
52
  //# sourceMappingURL=ObjectWatchShim.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectWatchShim.js","sourceRoot":"","sources":["../../../src/hooks/shims/ObjectWatchShim.ts"],"names":[],"mappings":";AAAA,cAAc;AACd,eAAe;AACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK;IACzB,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,eAAe,EAAE,OAAO;QACzD,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EACrB,MAAM,GAAG,MAAM,EACf,MAAM,GAAG;gBACP,OAAO,MAAM,CAAC;YAChB,CAAC,EACD,MAAM,GAAG,UAAU,GAAG;gBACpB,IAAI,IAAI,CAAC,WAAW;oBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;oBACjC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS;wBAChC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC,WAAW,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC;gBAChB,MAAM,GAAG,GAAG,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACJ,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrB,wBAAwB;gBACxB,IAAI,MAAM,CAAC,cAAc,EAAE;oBACzB,yBAAyB;oBACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;wBAChC,GAAG,EAAE,MAAM;wBACX,GAAG,EAAE,MAAM;qBACZ,CAAC,CAAC;iBACJ;qBACI,IACH,MAAM,CAAC,SAAS,CAAC,gBAAgB;oBACjC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EACjC;oBACA,SAAS;oBACT,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC3D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;iBAC5D;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"ObjectWatchShim.js","sourceRoot":"","sources":["../../../src/hooks/shims/ObjectWatchShim.ts"],"names":[],"mappings":";AAAA,cAAc;AACd,eAAe;AACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;IAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,eAAe,EAAE,OAAO;QACzD,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EACrB,MAAM,GAAG,MAAM,EACf,MAAM,GAAG;gBACP,OAAO,MAAM,CAAC;YAChB,CAAC,EACD,MAAM,GAAG,UAAU,GAAG;gBACpB,IAAI,IAAI,CAAC,WAAW;oBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;oBACjC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS;wBAChC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC,WAAW,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC;gBAChB,MAAM,GAAG,GAAG,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACJ,IAAI;gBAEF,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrB,wBAAwB;oBACxB,IAAI,MAAM,CAAC,cAAc,EAAE;wBACzB,yBAAyB;wBACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;4BAChC,GAAG,EAAE,MAAM;4BACX,GAAG,EAAE,MAAM;yBACZ,CAAC,CAAC;qBACJ;yBACI,IACH,MAAM,CAAC,SAAS,CAAC,gBAAgB;wBACjC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EACjC;wBACA,SAAS;wBACT,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC3D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;qBAC5D;iBACF;aACF;YAAC,OAAO,CAAC,EAAE,GAAG;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;CACJ"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { CommonErrorCodes } from "../types";
3
- export default function useAsyncControl<E extends CommonErrorCodes>(): {
4
- process: (asyncFn: () => Promise<any>) => Promise<void>;
3
+ export default function useAsyncControl<E extends CommonErrorCodes, F = any>(functionsToWrap?: F): {
4
+ process: (asyncFn: () => Promise<any>) => Promise<any>;
5
5
  loading: boolean;
6
6
  error: E | undefined;
7
7
  setError: import("react").Dispatch<import("react").SetStateAction<E | undefined>>;
8
8
  setLoading: import("react").Dispatch<import("react").SetStateAction<boolean>>;
9
- };
9
+ } & F;
@@ -10,31 +10,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const react_1 = require("react");
13
- function useAsyncControl() {
13
+ function useAsyncControl(functionsToWrap) {
14
14
  const [error, setError] = (0, react_1.useState)();
15
15
  const [loading, setLoading] = (0, react_1.useState)(false);
16
16
  const _process = (0, react_1.useCallback)((asyncFn) => __awaiter(this, void 0, void 0, function* () {
17
17
  try {
18
18
  setLoading(true);
19
19
  setError(undefined);
20
- yield asyncFn();
20
+ return yield asyncFn();
21
21
  }
22
22
  catch (e) {
23
23
  if (process.env.NODE_ENV === "development")
24
24
  console.error(e);
25
25
  setError("UNEXPECTED_ERROR");
26
+ throw e;
26
27
  }
27
28
  finally {
28
29
  setLoading(false);
29
30
  }
30
31
  }), []);
31
- return {
32
- process: _process,
33
- loading,
32
+ return Object.assign({ process: _process, loading,
34
33
  error,
35
34
  setError,
36
- setLoading,
37
- };
35
+ setLoading }, Object.entries(functionsToWrap || {}).reduce((r, [k, func]) => {
36
+ return Object.assign(Object.assign({}, r), { [k]: (...args) => _process(() => func(...args)) });
37
+ }, {}));
38
38
  }
39
39
  exports.default = useAsyncControl;
40
40
  //# sourceMappingURL=useAsyncControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAsyncControl.js","sourceRoot":"","sources":["../../src/hooks/useAsyncControl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8C;AAG9C,SAAwB,eAAe;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAK,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAO,OAA2B,EAAE,EAAE;QACjE,IAAI;YACF,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,OAAO,EAAE,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,kBAAuB,CAAC,CAAC;SACnC;gBAAS;YACR,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;IACH,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAxBD,kCAwBC"}
1
+ {"version":3,"file":"useAsyncControl.js","sourceRoot":"","sources":["../../src/hooks/useAsyncControl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8C;AAG9C,SAAwB,eAAe,CAAsC,eAAmB;IAC9F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAK,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAO,OAA2B,EAAE,EAAE;QACjE,IAAI;YACF,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,MAAM,OAAO,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,kBAAuB,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;IACH,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;IAEP,uBACE,OAAO,EAAE,QAAQ,EACjB,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU,IACP,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QAC/D,uCACK,CAAC,KACJ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC,IAChE;IACH,CAAC,EAAE,EAAO,CAAM,EAChB;AACJ,CAAC;AA/BD,kCA+BC"}
@@ -0,0 +1,12 @@
1
+ import { DocumentChangeType, Unsubscribe } from "firebase/firestore";
2
+ declare type SnapshotFactoryCb<D extends any> = (changes: {
3
+ doc: D;
4
+ type: DocumentChangeType;
5
+ }[]) => void;
6
+ export declare type SnapshotFactoryReturn<D extends {
7
+ id: string;
8
+ }> = (cb: SnapshotFactoryCb<D>) => Unsubscribe;
9
+ export default function useFirestoreWatch<D extends {
10
+ id: string;
11
+ }, P extends any[]>(queryFactory: (...params: P) => SnapshotFactoryReturn<D>, params: P): D[] | undefined;
12
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
4
+ function useFirestoreWatch(queryFactory, params) {
5
+ const [docsList, updateList] = (0, react_1.useState)();
6
+ (0, react_1.useEffect)(() => {
7
+ const unsub = queryFactory(...params)((changes) => {
8
+ updateList((prevList = []) => {
9
+ for (let docChange of changes) {
10
+ switch (docChange.type) {
11
+ case 'added':
12
+ if (!prevList.find((f) => f.id === docChange.doc.id)) {
13
+ prevList.unshift(docChange.doc);
14
+ }
15
+ break;
16
+ case 'modified':
17
+ prevList = prevList.map((item) => {
18
+ if (item.id === docChange.doc.id)
19
+ for (let key in docChange.doc) {
20
+ item[key] = docChange.doc[key];
21
+ }
22
+ return item;
23
+ });
24
+ break;
25
+ case 'removed':
26
+ prevList = prevList.filter((item) => item.id !== docChange.doc.id);
27
+ break;
28
+ }
29
+ }
30
+ return [...prevList];
31
+ });
32
+ });
33
+ return unsub;
34
+ }, params);
35
+ return docsList;
36
+ }
37
+ exports.default = useFirestoreWatch;
38
+ //# sourceMappingURL=useFirestoreWatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFirestoreWatch.js","sourceRoot":"","sources":["../../src/hooks/useFirestoreWatch.ts"],"names":[],"mappings":";;AAAA,iCAA4C;AAU5C,SAAwB,iBAAiB,CAA4C,YAAwD,EAAE,MAAS;IACpJ,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAO,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,UAAU,CAAC,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE;gBACzB,KAAK,IAAI,SAAS,IAAI,OAAO,EAAE;oBAC3B,QAAQ,SAAS,CAAC,IAAI,EAAE;wBACpB,KAAK,OAAO;4BACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gCAClD,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;6BAClC;4BACD,MAAK;wBACT,KAAK,UAAU;4BACX,QAAQ,GAAG,QAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gCAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE;oCAC5B,KAAK,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE;wCAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qCAClC;gCACL,OAAO,IAAI,CAAA;4BACf,CAAC,CAAC,CAAA;4BACF,MAAK;wBACT,KAAK,SAAS;4BACV,QAAQ,GAAG,QAAS,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE,CACzC,CAAA;4BACD,MAAK;qBACZ;iBACJ;gBAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;QAEN,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,OAAO,QAAQ,CAAC;AACpB,CAAC;AAtCD,oCAsCC"}
@@ -6,12 +6,12 @@ function useObserve(toObserve, keysToObserve) {
6
6
  const [_, ss] = (0, react_1.useState)(0);
7
7
  (0, react_1.useLayoutEffect)(() => {
8
8
  const arr = Array.isArray(toObserve) ? toObserve : [toObserve];
9
- for (let object of arr)
10
- return object.watch(keysToObserve, () => {
11
- ss((p) => {
12
- return p + 1;
13
- });
9
+ const unwatchers = arr.map(object => object.watch(keysToObserve, () => {
10
+ ss((p) => {
11
+ return p + 1;
14
12
  });
13
+ }));
14
+ return () => unwatchers.forEach(unwatch => unwatch());
15
15
  }, [toObserve]);
16
16
  }
17
17
  exports.default = useObserve;
@@ -1 +1 @@
1
- {"version":3,"file":"useObserve.js","sourceRoot":"","sources":["../../src/hooks/useObserve.ts"],"names":[],"mappings":";;AAAA,iCAA6D;AAC7D,sCAAoC;AAOpC,SAAwB,UAAU,CAChC,SAAkB,EAClB,aAA0B;IAE1B,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAC5B,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC9D,KAAK,IAAI,MAAM,IAAI,GAAG;YACpB,OAAQ,MAAiB,CAAC,KAAK,CAAC,aAAoB,EAAE,GAAG,EAAE;gBACzD,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,CAAA;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,CAAC;AAdD,6BAcC"}
1
+ {"version":3,"file":"useObserve.js","sourceRoot":"","sources":["../../src/hooks/useObserve.ts"],"names":[],"mappings":";;AAAA,iCAA6D;AAC7D,sCAAoC;AAOpC,SAAwB,UAAU,CAChC,SAAkB,EAClB,aAA0B;IAE1B,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAC5B,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,MAAiB,CAAC,KAAK,CAAC,aAAoB,EAAE,GAAG,EAAE;YACvF,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAA;QAEH,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,CAAC;AAfD,6BAeC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export default function usePooledOperation(): {
5
5
  /** Indicates when it's loading */
6
- loading: boolean;
6
+ loading: any;
7
7
  /** Indicates error of pooling or request */
8
8
  error: boolean;
9
9
  /** Retries the operation based on the current failed step */
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.4.0",
3
+ "version": "0.5.2",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "files": [
6
6
  "dist",
7
7
  "WebpackConfigs",
8
- "cypress/support"
8
+ "cypress/support",
9
+ "src/types.d.ts"
9
10
  ],
10
11
  "bin": {
11
12
  "start-emulator": "scripts/start-emulator.js"
@@ -18,7 +19,7 @@
18
19
  "@babel/core": "^7.16.0",
19
20
  "@cypress/react": "^5.12.5",
20
21
  "@firebase/rules-unit-testing": "^2.0.2",
21
- "@muritavo/cypress-toolkit": "^0.0.3",
22
+ "@muritavo/cypress-toolkit": "^0.1.0",
22
23
  "@muritavo/webpack-microfrontend-scripts": "^0.0.16",
23
24
  "@storybook/addon-actions": "^6.4.18",
24
25
  "@storybook/addon-essentials": "^6.4.18",
@@ -50,6 +51,8 @@
50
51
  "node-sass": "^6.0.1",
51
52
  "os-browserify": "^0.3.0",
52
53
  "react": "^18.0.0",
54
+ "react-docgen-typescript": "^2.2.2",
55
+ "react-docgen-typescript-plugin": "^1.0.1",
53
56
  "react-dom": "^18.0.0",
54
57
  "react-intl": "^5.24.4",
55
58
  "react-scripts": "^5.0.0",
@@ -69,6 +72,7 @@
69
72
  "@types/lodash": "^4.14.177",
70
73
  "bignumber.js": "^9.0.2",
71
74
  "deepdash": "^5.3.9",
75
+ "eslint-plugin-import-helpers": "^1.2.1",
72
76
  "identity-obj-proxy": "^3.0.0",
73
77
  "kill-port": "^2.0.0",
74
78
  "lodash": "^4.17.21",
@@ -78,7 +82,8 @@
78
82
  },
79
83
  "resolutions": {
80
84
  "**/html-webpack-plugin": "^5",
81
- "**/webpack": "^5"
85
+ "**/webpack": "^5",
86
+ "**/react-docgen-typescript": "^2"
82
87
  },
83
88
  "scripts": {
84
89
  "storybook": "start-storybook -p 6006",
@@ -90,7 +95,8 @@
90
95
  "dev": "tsc --watch",
91
96
  "test:watch": "jest --watchAll --coverage",
92
97
  "deploy:storybook": "yarn build-storybook && firebase deploy --only hosting",
93
- "test:e2e:watch": "cypress open --component",
98
+ "test:e2e:watch": "cypress open --component --port 6005 --browser firefox",
99
+ "test:e2e": "cypress run --component --port 6015 --browser chrome",
94
100
  "prepublish": "yarn build"
95
101
  },
96
102
  "browserslist": {
@@ -109,4 +115,4 @@
109
115
  "chroma-js": "^2.4.2",
110
116
  "use-wallet": "0.13.5"
111
117
  }
112
- }
118
+ }
package/src/types.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ export type CommonErrorCodes = "UNEXPECTED_ERROR";
2
+
3
+ type Decompose<O extends object> = O;
4
+
5
+ export type BasicContext<T extends object> = {
6
+ set: <P extends keyof T>(p: P, value: T[typeof p]) => void;
7
+ } & T;
8
+
9
+ /**
10
+ * This is usefull for omitting props from union
11
+ * Check whz contestation model to see an example
12
+ *
13
+ * If different models with different properties use the native Omit<O>
14
+ * Their differences are also omitted generating a single model
15
+ *
16
+ * This typing solves that
17
+ */
18
+ export type DistributiveOmit<T, K extends keyof any> = T extends any
19
+ ? Omit<T, K>
20
+ : never;
21
+
22
+ declare global {
23
+ interface Window {
24
+ ethereum: any;
25
+ PRERENDER: boolean;
26
+ Cypress: any;
27
+ }
28
+ }
@@ -1,25 +0,0 @@
1
- // ***********************************************
2
- // This example commands.js shows you how to
3
- // create various custom commands and overwrite
4
- // existing commands.
5
- //
6
- // For more comprehensive examples of custom
7
- // commands please read more here:
8
- // https://on.cypress.io/custom-commands
9
- // ***********************************************
10
- //
11
- //
12
- // -- This is a parent command --
13
- // Cypress.Commands.add('login', (email, password) => { ... })
14
- //
15
- //
16
- // -- This is a child command --
17
- // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
18
- //
19
- //
20
- // -- This is a dual command --
21
- // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
22
- //
23
- //
24
- // -- This will overwrite an existing command --
25
- // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })