@onepercentio/one-ui 0.8.5-beta.7 → 0.9.0

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 (66) hide show
  1. package/WebpackConfigs/email-templates.js +35 -3
  2. package/cypress/support/component-index.html +4 -0
  3. package/dist/assets/styles/variables.scss +1 -0
  4. package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +6 -0
  5. package/dist/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
  6. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +17 -10
  7. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +10 -5
  8. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
  9. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +21 -24
  10. package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +3 -1
  11. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +1 -0
  12. package/dist/components/AnchoredTooltip/AnchoredTooltip.js.map +1 -1
  13. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +1 -1
  14. package/dist/components/AnimatedEntrance/AnimatedEntrance.js.map +1 -1
  15. package/dist/components/Collapsable/Collapsable.d.ts +5 -1
  16. package/dist/components/Collapsable/Collapsable.js +37 -7
  17. package/dist/components/Collapsable/Collapsable.js.map +1 -1
  18. package/dist/components/Collapsable/Collapsable.module.scss +5 -0
  19. package/dist/components/EmailInput/EmailInput.d.ts +2 -2
  20. package/dist/components/FadeIn/FadeIn.d.ts +1 -0
  21. package/dist/components/FadeIn/FadeIn.js +14 -2
  22. package/dist/components/FadeIn/FadeIn.js.map +1 -1
  23. package/dist/components/Input/Input.d.ts +1 -1
  24. package/dist/components/Loader/Loader.d.ts +3 -2
  25. package/dist/components/Loader/Loader.js +14 -2
  26. package/dist/components/Loader/Loader.js.map +1 -1
  27. package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +28 -0
  28. package/dist/components/PaginationIndicator/PaginationIndicator.js +136 -0
  29. package/dist/components/PaginationIndicator/PaginationIndicator.js.map +1 -0
  30. package/dist/components/PaginationIndicator/PaginationIndicator.module.scss +48 -0
  31. package/dist/components/PaginationIndicator/index.d.ts +1 -0
  32. package/dist/components/PaginationIndicator/index.js +9 -0
  33. package/dist/components/PaginationIndicator/index.js.map +1 -0
  34. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
  35. package/dist/components/Select/Select.d.ts +3 -1
  36. package/dist/components/Select/Select.js +2 -2
  37. package/dist/components/Select/Select.js.map +1 -1
  38. package/dist/components/Tabs/Tabs.d.ts +3 -1
  39. package/dist/components/Tabs/Tabs.js +17 -9
  40. package/dist/components/Tabs/Tabs.js.map +1 -1
  41. package/dist/components/Tabs/Tabs.module.scss +0 -1
  42. package/dist/context/AsyncProcessQueue.js +9 -13
  43. package/dist/context/AsyncProcessQueue.js.map +1 -1
  44. package/dist/context/CustomBrowserRouter.d.ts +9 -1
  45. package/dist/context/CustomBrowserRouter.js +3 -2
  46. package/dist/context/CustomBrowserRouter.js.map +1 -1
  47. package/dist/context/OneUIProvider.d.ts +10 -1
  48. package/dist/context/OneUIProvider.js +1 -1
  49. package/dist/context/OneUIProvider.js.map +1 -1
  50. package/dist/hooks/ui/useBreakpoint.d.ts +5 -0
  51. package/dist/hooks/ui/useBreakpoint.js +25 -0
  52. package/dist/hooks/ui/useBreakpoint.js.map +1 -0
  53. package/dist/hooks/ui/usePaginationControls.d.ts +14 -0
  54. package/dist/hooks/ui/usePaginationControls.js +92 -0
  55. package/dist/hooks/ui/usePaginationControls.js.map +1 -0
  56. package/dist/hooks/ui/usePaginationControls.module.scss +16 -0
  57. package/dist/hooks/useAsyncControl.d.ts +4 -1
  58. package/dist/hooks/useAsyncControl.js +14 -4
  59. package/dist/hooks/useAsyncControl.js.map +1 -1
  60. package/dist/hooks/useContainedRepositioning.d.ts +3 -1
  61. package/dist/hooks/useContainedRepositioning.js +13 -10
  62. package/dist/hooks/useContainedRepositioning.js.map +1 -1
  63. package/dist/hooks/usePaginationControls.d.ts +5 -0
  64. package/dist/hooks/usePaginationControls.js +8 -0
  65. package/dist/hooks/usePaginationControls.js.map +1 -0
  66. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const throttle_1 = __importDefault(require("lodash/throttle"));
7
+ const react_1 = require("react");
8
+ /**
9
+ * A hook to trigger changes when the screen resizes
10
+ * @returns If the current resolution is lower than the specified width
11
+ */
12
+ function useBreakpoint(breakInto) {
13
+ const [lowerThanBreakpoint, setIsLowerThanBreakpoint] = (0, react_1.useState)(() => window.visualViewport.width < breakInto);
14
+ (0, react_1.useEffect)(() => {
15
+ const onResizeThrottle = (0, throttle_1.default)(() => {
16
+ setIsLowerThanBreakpoint(window.visualViewport.width < breakInto);
17
+ }, 1000 / 4);
18
+ const onResize = () => onResizeThrottle();
19
+ window.addEventListener("resize", onResize);
20
+ return () => window.removeEventListener("resize", onResize);
21
+ }, []);
22
+ return lowerThanBreakpoint;
23
+ }
24
+ exports.default = useBreakpoint;
25
+ //# sourceMappingURL=useBreakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint.js","sourceRoot":"","sources":["../../../src/hooks/ui/useBreakpoint.tsx"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,iCAA4C;AAE5C;;;GAGG;AACH,SAAwB,aAAa,CAAC,SAAiB;IACrD,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,GAAG,IAAA,gBAAQ,EAC9D,GAAG,EAAE,CAAC,MAAM,CAAC,cAAe,CAAC,KAAK,GAAG,SAAS,CAC/C,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;YACrC,wBAAwB,CAAC,MAAM,CAAC,cAAe,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QACrE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAbD,gCAaC"}
@@ -0,0 +1,14 @@
1
+ import { RefObject } from "react";
2
+ /**
3
+ * This hook handles the display of pagination controls for the user to move to another page
4
+ */
5
+ export default function usePaginationControls(containerRef: RefObject<HTMLDivElement>, { snapToPage, }?: {
6
+ snapToPage?: boolean;
7
+ }): {
8
+ controls: JSX.Element[];
9
+ checkControlsRequirement: () => void;
10
+ };
11
+ export declare enum usePaginationControlsTestIds {
12
+ LEFT_CONTROL = "page-l",
13
+ RIGHT_CONTROL = "page-r"
14
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.usePaginationControlsTestIds = void 0;
30
+ const throttle_1 = __importDefault(require("lodash/throttle"));
31
+ const react_1 = __importStar(require("react"));
32
+ const FadeIn_1 = __importDefault(require("../../components/FadeIn"));
33
+ const OneUIProvider_1 = require("../../context/OneUIProvider");
34
+ const usePaginationControls_module_scss_1 = __importDefault(require("./usePaginationControls.module.scss"));
35
+ /**
36
+ * This hook handles the display of pagination controls for the user to move to another page
37
+ */
38
+ function usePaginationControls(containerRef, { snapToPage, } = {}) {
39
+ const [[leftControl, rightControl], setControls] = (0, react_1.useState)([false, false]);
40
+ const LeftControl = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.LeftControl");
41
+ const RightControl = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.RightControl");
42
+ const className = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.className", "");
43
+ function move(direction) {
44
+ return () => {
45
+ const rest = containerRef.current.scrollLeft % containerRef.current.clientWidth;
46
+ const snapOffset = snapToPage
47
+ ? direction === "l"
48
+ ? rest
49
+ ? containerRef.current.clientWidth - rest
50
+ : 0
51
+ : rest
52
+ : 0;
53
+ containerRef.current.scrollBy({
54
+ left: (containerRef.current.clientWidth - snapOffset) *
55
+ (direction === "l" ? -1 : 1),
56
+ behavior: "smooth",
57
+ });
58
+ };
59
+ }
60
+ function checkControlsRequirement() {
61
+ const el = containerRef.current;
62
+ const shouldHaveAnyControl = el.scrollWidth > el.clientWidth;
63
+ if (!shouldHaveAnyControl)
64
+ setControls([false, false]);
65
+ else {
66
+ const shouldHaveRightControl = el.scrollLeft < el.scrollWidth - el.clientWidth;
67
+ const shouldHaveLeftControl = el.scrollLeft > 0;
68
+ setControls([shouldHaveLeftControl, shouldHaveRightControl]);
69
+ }
70
+ }
71
+ (0, react_1.useEffect)(() => {
72
+ const el = containerRef.current;
73
+ const throttledCheck = (0, throttle_1.default)(checkControlsRequirement, 1000 / 4);
74
+ checkControlsRequirement();
75
+ el.addEventListener("scroll", throttledCheck);
76
+ return () => el.removeEventListener("scroll", throttledCheck);
77
+ }, []);
78
+ return {
79
+ controls: [
80
+ react_1.default.createElement(FadeIn_1.default, { active: leftControl, className: `${usePaginationControls_module_scss_1.default.left} ${usePaginationControls_module_scss_1.default.control} ${className}`, "data-testid": usePaginationControlsTestIds.LEFT_CONTROL, onClick: move("l") }, leftControl && react_1.default.createElement(LeftControl, null)),
81
+ react_1.default.createElement(FadeIn_1.default, { active: rightControl, className: `${usePaginationControls_module_scss_1.default.right} ${usePaginationControls_module_scss_1.default.control} ${className}`, "data-testid": usePaginationControlsTestIds.RIGHT_CONTROL, onClick: move("r") }, rightControl && react_1.default.createElement(RightControl, null)),
82
+ ],
83
+ checkControlsRequirement,
84
+ };
85
+ }
86
+ exports.default = usePaginationControls;
87
+ var usePaginationControlsTestIds;
88
+ (function (usePaginationControlsTestIds) {
89
+ usePaginationControlsTestIds["LEFT_CONTROL"] = "page-l";
90
+ usePaginationControlsTestIds["RIGHT_CONTROL"] = "page-r";
91
+ })(usePaginationControlsTestIds = exports.usePaginationControlsTestIds || (exports.usePaginationControlsTestIds = {}));
92
+ //# sourceMappingURL=usePaginationControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaginationControls.js","sourceRoot":"","sources":["../../../src/hooks/ui/usePaginationControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ .control {
2
+ position: absolute;
3
+ top: 0px;
4
+ bottom: 0px;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ }
9
+
10
+ .right {
11
+ right: 0px;
12
+ }
13
+
14
+ .left {
15
+ left: 0px;
16
+ }
@@ -1,5 +1,8 @@
1
1
  /// <reference types="react" />
2
- export default function useAsyncControl<E = any, F = {}>(functionsToWrap?: F): {
2
+ import { Primitive } from "type-fest";
3
+ export default function useAsyncControl<E = any, F extends {
4
+ [f: string]: ((...args: any[]) => Promise<any>) | Object | Primitive;
5
+ } = {}>(functionsToWrap?: F): {
3
6
  process: (asyncFn: () => Promise<any>) => Promise<any>;
4
7
  loading: boolean;
5
8
  error: Error | E | undefined;
@@ -29,12 +29,22 @@ function useAsyncControl(functionsToWrap) {
29
29
  setLoading(false);
30
30
  }
31
31
  }), []);
32
- return Object.assign({ process: _process, loading,
32
+ const { functionsToMemoize, other } = Object.entries(functionsToWrap || {}).reduce((r, [k, func]) => {
33
+ return Object.assign(Object.assign({}, r), (typeof func === "function"
34
+ ? {
35
+ functionsToMemoize: Object.assign(Object.assign({}, r.functionsToMemoize), { [k]: func }),
36
+ }
37
+ : {
38
+ other: Object.assign(Object.assign({}, r.other), { [k]: func }),
39
+ }));
40
+ }, {
41
+ functionsToMemoize: {},
42
+ other: {},
43
+ });
44
+ return Object.assign(Object.assign({ process: _process, loading,
33
45
  error,
34
46
  setError,
35
- setLoading }, Object.entries(functionsToWrap || {}).reduce((r, [k, func]) => {
36
- return Object.assign(Object.assign({}, r), { [k]: typeof func === "function" ? (...args) => _process(() => func(...args)) : func });
37
- }, {}));
47
+ setLoading }, other), Object.entries(functionsToMemoize).reduce((r, [k, v]) => (Object.assign(Object.assign({}, r), { [k]: (0, react_1.useMemo)(() => (...args) => _process(() => v(...args)), [v]) })), {}));
38
48
  }
39
49
  exports.default = useAsyncControl;
40
50
  //# 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,CAAkB,eAAmB;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAa,CAAC;IAChD,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,CAAM,CAAC,CAAC;YACjB,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,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IACpG;IACH,CAAC,EAAE,EAAO,CAAM,EAChB;AACJ,CAAC;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"useAsyncControl.js","sourceRoot":"","sources":["../../src/hooks/useAsyncControl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAAuD;AAGvD,SAAwB,eAAe,CAKrC,eAAmB;IACnB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAa,CAAC;IAChD,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,CAAM,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;IACH,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAClD,eAAe,IAAI,EAAE,CACtB,CAAC,MAAM,CACN,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,uCACK,CAAC,GACD,CAAC,OAAO,IAAI,KAAK,UAAU;YAC5B,CAAC,CAAC;gBACE,kBAAkB,kCACb,CAAC,CAAC,kBAAkB,KACvB,CAAC,CAAC,CAAC,EAAE,IAAI,GACV;aACF;YACH,CAAC,CAAC;gBACE,KAAK,kCACA,CAAC,CAAC,KAAK,KACV,CAAC,CAAC,CAAC,EAAE,IAAI,GACV;aACF,CAAC,EACN;IACJ,CAAC,EACD;QACE,kBAAkB,EAAE,EAAE;QACtB,KAAK,EAAE,EAAE;KAIV,CACF,CAAC;IAEF,qCACE,OAAO,EAAE,QAAQ,EACjB,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU,IACP,KAAK,GACL,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCACV,CAAC,KACJ,CAAC,CAAC,CAAC,EAAE,IAAA,eAAO,EACV,GAAG,EAAE,CACH,CAAC,GAAG,IAAW,EAAE,EAAE,CACjB,QAAQ,CAAC,GAAG,EAAE,CAAE,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC,EACvC,CAAC,CAAC,CAAC,CACJ,IACD,EACF,EAAO,CACR,EACD;AACJ,CAAC;AAzED,kCAyEC"}
@@ -3,11 +3,13 @@
3
3
  * This hook takes an html and checks if its outside its parent
4
4
  * If it is, it should move it so it can be totally visible inside the container
5
5
  */
6
- export default function useContainedRepositioning(focused: boolean, getParent: (el: HTMLElement) => HTMLElement, { offset, scale }?: {
6
+ export default function useContainedRepositioning(focused: boolean, getParent: (el: HTMLElement) => HTMLElement, { offset, scale, offsetLimit, }?: {
7
7
  /** The offset the element will be moved by from the closest bound */
8
8
  offset?: number;
9
9
  /** The scaled element width to be considered. usefull for when the focused element will change size */
10
10
  scale?: number;
11
+ /** Limit offset */
12
+ offsetLimit?: number;
11
13
  }): {
12
14
  elementToCheck: import("react").RefObject<HTMLDivElement>;
13
15
  };
@@ -9,7 +9,7 @@ const react_1 = require("react");
9
9
  * This hook takes an html and checks if its outside its parent
10
10
  * If it is, it should move it so it can be totally visible inside the container
11
11
  */
12
- function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1 } = {}) {
12
+ function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1, offsetLimit = Number.POSITIVE_INFINITY, } = {}) {
13
13
  const elementToCheck = (0, react_1.useRef)(null);
14
14
  (0, react_1.useEffect)(() => {
15
15
  const el = elementToCheck.current;
@@ -32,19 +32,23 @@ function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1
32
32
  const offsetOfScale = (elWidth - curr.clientWidth) / 2;
33
33
  const cardLimit = curr.offsetLeft - offsetOfScale + alreadyRight + elWidth;
34
34
  const exceedingSpace = cardLimit - limitOffset;
35
- const offsetLeft = curr.offsetLeft - offsetOfScale + alreadyRight - relativeParent.scrollLeft;
35
+ const offsetLeft = curr.offsetLeft -
36
+ offsetOfScale +
37
+ alreadyRight -
38
+ relativeParent.scrollLeft;
36
39
  const isOverflowedRight = exceedingSpace > 0;
37
40
  const isOverflowedLeft = offsetLeft < 0;
38
- const limit = (exceedingSpace + -offsetLeft);
41
+ const limit = exceedingSpace + -offsetLeft;
39
42
  if (isOverflowedRight) {
40
- curr.style.right = `${exceedingSpace - -Math.min(Math.abs(limit / 2), offset)}px`;
43
+ const val = Math.min(exceedingSpace - -Math.min(Math.abs(limit / 2), offset), offsetLimit);
44
+ curr.style.right = `${val}px`;
41
45
  }
42
- ;
43
46
  if (isOverflowedLeft) {
44
- curr.style.right = `${offsetLeft - Math.min(Math.abs(limit) / 2, offset)}px`;
47
+ const val = Math.max(offsetLeft - Math.min(Math.abs(limit) / 2, offset), -offsetLimit);
48
+ curr.style.right = `${val}px`;
45
49
  }
46
50
  if (isOverflowedLeft || isOverflowedRight) {
47
- curr.style.zIndex = '1000';
51
+ curr.style.zIndex = "1000";
48
52
  }
49
53
  }, 50);
50
54
  reposition();
@@ -56,9 +60,8 @@ function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1
56
60
  el.style.right = `0px`;
57
61
  const restore = ({ propertyName, currentTarget }) => {
58
62
  const targetTransformation = window.getComputedStyle(currentTarget).right;
59
- if (propertyName === "right" &&
60
- targetTransformation === "0px") {
61
- curr.style.zIndex = '';
63
+ if (propertyName === "right" && targetTransformation === "0px") {
64
+ curr.style.zIndex = "";
62
65
  el.removeEventListener("transitionend", restore);
63
66
  }
64
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useContainedRepositioning.js","sourceRoot":"","sources":["../../src/hooks/useContainedRepositioning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useContainedRepositioning.js","sourceRoot":"","sources":["../../src/hooks/useContainedRepositioning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { RefObject } from "react";
2
+ /**
3
+ * This hook handles the display of pagination controls for the user to move to another page
4
+ */
5
+ export default function usePaginationControls(containerRef: RefObject<HTMLDivElement>): void;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * This hook handles the display of pagination controls for the user to move to another page
5
+ */
6
+ function usePaginationControls(containerRef) { }
7
+ exports.default = usePaginationControls;
8
+ //# sourceMappingURL=usePaginationControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaginationControls.js","sourceRoot":"","sources":["../../src/hooks/usePaginationControls.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,SAAwB,qBAAqB,CAC3C,YAAuC,IACtC,CAAC;AAFJ,wCAEI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.8.5-beta.7",
3
+ "version": "0.9.0",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "repository": "git@github.com:onepercentio/one-ui.git",
6
6
  "author": "Murilo Oliveira de Araujo <muritavo@outlook.com>",
@@ -12,7 +12,7 @@
12
12
  "@firebase/rules-unit-testing": "^2.0.2",
13
13
  "@metamask/providers": "^9.1.0",
14
14
  "@muritavo/cypress-toolkit": "^0.8.0",
15
- "@muritavo/webpack-microfrontend-scripts": "^0.0.23",
15
+ "@muritavo/webpack-microfrontend-scripts": "^0.0.24",
16
16
  "@storybook/addon-actions": "^6.4.18",
17
17
  "@storybook/addon-essentials": "^6.4.18",
18
18
  "@storybook/addon-links": "^6.4.18",