@onepercentio/one-ui 0.8.5-beta.9 → 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 (61) hide show
  1. package/cypress/support/component-index.html +4 -0
  2. package/dist/assets/styles/variables.scss +1 -0
  3. package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +6 -0
  4. package/dist/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
  5. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +17 -10
  6. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +10 -5
  7. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
  8. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +21 -24
  9. package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +3 -1
  10. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +1 -0
  11. package/dist/components/AnchoredTooltip/AnchoredTooltip.js.map +1 -1
  12. package/dist/components/Collapsable/Collapsable.d.ts +5 -1
  13. package/dist/components/Collapsable/Collapsable.js +37 -7
  14. package/dist/components/Collapsable/Collapsable.js.map +1 -1
  15. package/dist/components/Collapsable/Collapsable.module.scss +5 -0
  16. package/dist/components/EmailInput/EmailInput.d.ts +2 -2
  17. package/dist/components/FadeIn/FadeIn.d.ts +1 -0
  18. package/dist/components/FadeIn/FadeIn.js +14 -2
  19. package/dist/components/FadeIn/FadeIn.js.map +1 -1
  20. package/dist/components/Input/Input.d.ts +1 -1
  21. package/dist/components/Loader/Loader.d.ts +3 -2
  22. package/dist/components/Loader/Loader.js +14 -2
  23. package/dist/components/Loader/Loader.js.map +1 -1
  24. package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +28 -0
  25. package/dist/components/PaginationIndicator/PaginationIndicator.js +136 -0
  26. package/dist/components/PaginationIndicator/PaginationIndicator.js.map +1 -0
  27. package/dist/components/PaginationIndicator/PaginationIndicator.module.scss +48 -0
  28. package/dist/components/PaginationIndicator/index.d.ts +1 -0
  29. package/dist/components/PaginationIndicator/index.js +9 -0
  30. package/dist/components/PaginationIndicator/index.js.map +1 -0
  31. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
  32. package/dist/components/Select/Select.d.ts +3 -1
  33. package/dist/components/Select/Select.js +2 -2
  34. package/dist/components/Select/Select.js.map +1 -1
  35. package/dist/components/Tabs/Tabs.d.ts +3 -1
  36. package/dist/components/Tabs/Tabs.js +17 -9
  37. package/dist/components/Tabs/Tabs.js.map +1 -1
  38. package/dist/components/Tabs/Tabs.module.scss +0 -1
  39. package/dist/context/CustomBrowserRouter.d.ts +9 -1
  40. package/dist/context/CustomBrowserRouter.js +3 -2
  41. package/dist/context/CustomBrowserRouter.js.map +1 -1
  42. package/dist/context/OneUIProvider.d.ts +10 -1
  43. package/dist/context/OneUIProvider.js +1 -1
  44. package/dist/context/OneUIProvider.js.map +1 -1
  45. package/dist/hooks/ui/useBreakpoint.d.ts +5 -0
  46. package/dist/hooks/ui/useBreakpoint.js +25 -0
  47. package/dist/hooks/ui/useBreakpoint.js.map +1 -0
  48. package/dist/hooks/ui/usePaginationControls.d.ts +14 -0
  49. package/dist/hooks/ui/usePaginationControls.js +92 -0
  50. package/dist/hooks/ui/usePaginationControls.js.map +1 -0
  51. package/dist/hooks/ui/usePaginationControls.module.scss +16 -0
  52. package/dist/hooks/useAsyncControl.d.ts +4 -1
  53. package/dist/hooks/useAsyncControl.js +14 -4
  54. package/dist/hooks/useAsyncControl.js.map +1 -1
  55. package/dist/hooks/useContainedRepositioning.d.ts +3 -1
  56. package/dist/hooks/useContainedRepositioning.js +13 -10
  57. package/dist/hooks/useContainedRepositioning.js.map +1 -1
  58. package/dist/hooks/usePaginationControls.d.ts +5 -0
  59. package/dist/hooks/usePaginationControls.js +8 -0
  60. package/dist/hooks/usePaginationControls.js.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1,136 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.PaginationIndicatorView = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const eachBallWidthEm = 1.2;
29
+ const pushToborder = 7 * eachBallWidthEm;
30
+ /**
31
+ * A cool component to indicate how many pages are
32
+ **/
33
+ function PaginationIndicatorView({ size, page, pages, className, }) {
34
+ const rand = (0, react_1.useMemo)(() => Math.random().toString(), []);
35
+ const pageIndex = page - 1;
36
+ const numBalls = (0, react_1.useMemo)(() => {
37
+ const numBalls = pages >= 7 ? 7 : Math.ceil(pages) + 1;
38
+ return numBalls;
39
+ }, [pages]);
40
+ const maxBallsOffset = (0, react_1.useMemo)(() => (numBalls - 1) / 2, [numBalls]);
41
+ const prevVal = (0, react_1.useRef)(0);
42
+ const balls = (0, react_1.useMemo)(() => {
43
+ const lastPages = pages + 1 - maxBallsOffset;
44
+ const isCenterPage = numBalls >= 7 && pageIndex > maxBallsOffset && pageIndex < lastPages;
45
+ let modulus = pageIndex % (1 + (maxBallsOffset - Math.floor(maxBallsOffset)));
46
+ const resetPageIndex = isCenterPage
47
+ ? maxBallsOffset + modulus
48
+ : pageIndex > lastPages - 1
49
+ ? numBalls - 1 - (pages - pageIndex)
50
+ : pageIndex;
51
+ prevVal.current = modulus;
52
+ const left = 1.2 * resetPageIndex;
53
+ return new Array(numBalls + 1 + (isCenterPage && pages >= 7 && page < lastPages ? 1 : 0))
54
+ .fill(undefined)
55
+ .map((_, i) => {
56
+ const isLastBall = i === numBalls + 1;
57
+ const isFirstBall = i === 1;
58
+ if (i === 0)
59
+ return (react_1.default.createElement("circle", { fill: "#fff", r: `${0.45}em`, cx: `${pushToborder}em`, cy: "0.5em" }));
60
+ const ballSize = numBalls < 7 || pages === 6
61
+ ? 0.5
62
+ : page <= maxBallsOffset + 1 && isLastBall
63
+ ? 0
64
+ : page >= lastPages + 1 && isFirstBall
65
+ ? 0
66
+ : isCenterPage
67
+ ? isFirstBall
68
+ ? 0.5 - modulus * 0.5
69
+ : isLastBall
70
+ ? modulus * 0.5
71
+ : 0.5
72
+ : 0.5;
73
+ return (react_1.default.createElement("circle", { fill: "#fff", r: `${ballSize * 0.6}em`, cx: `${pushToborder + (i - 1) * eachBallWidthEm - left}em`, cy: "0.5em" }));
74
+ });
75
+ }, [maxBallsOffset, pageIndex, pages]);
76
+ const [guideBall, ...pageBalls] = balls;
77
+ return (react_1.default.createElement("svg", { version: "1.1", xmlns: "http://www.w3.org/2000/svg", className: className, style: {
78
+ width: `${eachBallWidthEm * 7 * 2}em`,
79
+ minWidth: `${eachBallWidthEm * 7 * 2}em`,
80
+ height: "1em",
81
+ fontSize: `${size}px`,
82
+ } },
83
+ react_1.default.createElement("filter", { id: `goo-${rand}` },
84
+ react_1.default.createElement("feGaussianBlur", { in: "SourceGraphic", result: "blur", stdDeviation: "5" }),
85
+ react_1.default.createElement("feColorMatrix", { in: "blur", mode: "matrix", values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7", result: "goo" }),
86
+ react_1.default.createElement("feBlend", { in2: "goo", in: "SourceGraphic", result: "mix" })),
87
+ react_1.default.createElement("mask", { id: `mask-${rand}` },
88
+ react_1.default.createElement("g", { filter: `url(#${`goo-${rand}`})` },
89
+ [pageBalls],
90
+ guideBall)),
91
+ react_1.default.createElement("rect", { x: "0", y: "0", mask: `url(#${`mask-${rand}`})`, width: "100%", height: "100%", style: { fill: "var(--digital-blue)" } })));
92
+ }
93
+ exports.PaginationIndicatorView = PaginationIndicatorView;
94
+ function _PaginationIndicator({ scrollableRef, estimatedWidth, size, mode = "scroll", className = "", }, ref) {
95
+ const [currentPage, setCurrentPage] = (0, react_1.useState)(1);
96
+ const [defs, setDefs] = (0, react_1.useState)();
97
+ const refreshPages = (0, react_1.useCallback)(() => {
98
+ const maxWidth = estimatedWidth || scrollableRef.current.scrollWidth;
99
+ setDefs({
100
+ pages: Math.ceil(maxWidth / scrollableRef.current.clientWidth) - 1,
101
+ });
102
+ }, [estimatedWidth]);
103
+ (0, react_1.useEffect)(() => refreshPages(), [refreshPages]);
104
+ const updatePageIndicators = (0, react_1.useCallback)((target, pages) => {
105
+ if (mode === "page") {
106
+ const eachPageWidth = scrollableRef.current.clientWidth;
107
+ const page = 1 + target.scrollLeft / eachPageWidth;
108
+ setCurrentPage(page);
109
+ }
110
+ else {
111
+ const maxWidth = estimatedWidth || scrollableRef.current.scrollWidth;
112
+ const availableTOScroll = maxWidth - scrollableRef.current.clientWidth;
113
+ if (availableTOScroll === 0)
114
+ return setCurrentPage(1);
115
+ const page = 1 + ((target.scrollLeft * 100) / availableTOScroll / 100) * pages;
116
+ setCurrentPage(page);
117
+ }
118
+ }, []);
119
+ (0, react_1.useImperativeHandle)(ref, () => ({
120
+ refreshPages,
121
+ }), []);
122
+ (0, react_1.useEffect)(() => {
123
+ if (!defs)
124
+ return;
125
+ const el = scrollableRef.current;
126
+ const onScroll = (e) => updatePageIndicators(e.currentTarget, defs.pages);
127
+ updatePageIndicators(el, defs.pages);
128
+ el.addEventListener("scroll", onScroll);
129
+ return () => {
130
+ el.removeEventListener("scroll", onScroll);
131
+ };
132
+ }, [defs]);
133
+ return !defs ? null : (react_1.default.createElement(PaginationIndicatorView, { pages: defs.pages, page: currentPage, size: size, className: className }));
134
+ }
135
+ exports.default = (0, react_1.forwardRef)(_PaginationIndicator);
136
+ //# sourceMappingURL=PaginationIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationIndicator.js","sourceRoot":"","sources":["../../../src/components/PaginationIndicator/PaginationIndicator.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ $x: 0.1em;
2
+
3
+ .root {
4
+ position: relative;
5
+ height: 1.5em;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ filter: contrast(20);
10
+ background-color: #fff;
11
+ overflow: hidden;
12
+ > * {
13
+ height: 1em * 1.2;
14
+ width: 1em * 1.2;
15
+ margin: 0px 0.1em;
16
+ border-radius: 0.5em * 1.2;
17
+ background-color: #000;
18
+ position: relative;
19
+ filter: blur($x);
20
+ opacity: 0.485;
21
+ // animation-name: a;
22
+ // animation-iteration-count: infinite;
23
+ // animation-duration: 1s;
24
+ // animation-timing-function: linear;
25
+ // animation-direction: alternate;
26
+ }
27
+ &::after {
28
+ content: " ";
29
+ position: absolute;
30
+ background-color: #00f;
31
+ filter: blur($x * 2);
32
+ height: 1em * 0.8;
33
+ width: 1em * 0.8;
34
+ border-radius: 0.5em;
35
+ }
36
+ }
37
+
38
+ // @keyframes a {
39
+ // 0% {
40
+ // right: 2em;
41
+ // }
42
+ // 50% {
43
+ // right: 0em;
44
+ // }
45
+ // 100% {
46
+ // right: -2em;
47
+ // }
48
+ // }
@@ -0,0 +1 @@
1
+ export { default } from './PaginationIndicator';
@@ -0,0 +1,9 @@
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
+ exports.default = void 0;
7
+ var PaginationIndicator_1 = require("./PaginationIndicator");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(PaginationIndicator_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PaginationIndicator/index.tsx"],"names":[],"mappings":";;;;;;AAAA,6DAAgD;AAAvC,+HAAA,OAAO,OAAA"}
@@ -36,7 +36,7 @@ declare const _default: React.ForwardRefExoticComponent<(({
36
36
  } & React.ClassAttributes<any> & React.ImgHTMLAttributes<HTMLImageElement>) | undefined;
37
37
  Icon?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
38
38
  onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
39
- } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange"> & React.RefAttributes<any>, "ref" | "value" | "onChange">) & React.RefAttributes<{
39
+ } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "onChange" | "ref"> & React.RefAttributes<any>, "value" | "onChange" | "ref">) & React.RefAttributes<{
40
40
  validatePassword: (pass: string) => boolean;
41
41
  }>>;
42
42
  export default _default;
@@ -7,10 +7,12 @@ export declare type SelectItem = {
7
7
  /**
8
8
  * A dropdown select
9
9
  **/
10
- declare function Select<I extends SelectItem>({ items, selected, label, onClick, loading, ...otherProps }: {
10
+ declare function Select<I extends SelectItem>({ items, selected, label, onClick, loading, rootClassName, dropdownClassName, ...otherProps }: {
11
11
  loading?: boolean;
12
12
  items: Readonly<I[]>;
13
13
  onClick: (i: I) => void;
14
+ rootClassName?: string;
15
+ dropdownClassName?: string;
14
16
  } & ({
15
17
  selected?: I["value"];
16
18
  label: string;
@@ -48,7 +48,7 @@ const OneUIProvider_1 = require("../../context/OneUIProvider");
48
48
  * A dropdown select
49
49
  **/
50
50
  function Select(_a) {
51
- var { items, selected, label, onClick, loading } = _a, otherProps = __rest(_a, ["items", "selected", "label", "onClick", "loading"]);
51
+ var { items, selected, label, onClick, loading, rootClassName = "", dropdownClassName = "" } = _a, otherProps = __rest(_a, ["items", "selected", "label", "onClick", "loading", "rootClassName", "dropdownClassName"]);
52
52
  const { StateIndicator } = (0, OneUIProvider_1.useOneUIContext)().component.select;
53
53
  const _selected = (0, react_1.useMemo)(() => {
54
54
  return items.find((a) => a.value === selected);
@@ -66,7 +66,7 @@ function Select(_a) {
66
66
  return (react_1.default.createElement(Collapsable_1.default, { title: react_1.default.createElement(Input_1.default, Object.assign({}, otherProps, { className: `${Select_module_scss_1.default.input} ${!items.length ? Select_module_scss_1.default.empty : ""}`, value: (_selected === null || _selected === void 0 ? void 0 : _selected.label) || label, disabled: true, Icon: react_1.default.createElement("div", { className: `${Select_module_scss_1.default.indicator}` }, loading ? react_1.default.createElement(Loader_1.default, null) : react_1.default.createElement(StateIndicator, { open: !!open })) })), id: undefined, mode: "float", open: open, onToggleOpen: (open) => {
67
67
  if (items.length)
68
68
  setOpen(open);
69
- }, className: otherProps.disabled ? "disabled" : "", contentClassName: `${Select_module_scss_1.default.optionsContainer}` },
69
+ }, className: `${otherProps.disabled ? "disabled" : ""} ${rootClassName}`, contentClassName: `${Select_module_scss_1.default.optionsContainer} ${dropdownClassName}` },
70
70
  react_1.default.createElement("div", { className: Select_module_scss_1.default.items, onClick: (e) => {
71
71
  e.stopPropagation();
72
72
  setOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Show tabs for toggling between options
3
3
  **/
4
- export default function Tabs<O extends string>({ options, selected, onSelect }: {
4
+ export default function Tabs<O extends string>({ options, selected, onSelect, itemClassName, className, }: {
5
5
  options: Readonly<{
6
6
  id: O;
7
7
  label: string;
8
8
  }[]>;
9
9
  selected?: O;
10
10
  onSelect: (option: O) => void;
11
+ itemClassName?: string;
12
+ className?: string;
11
13
  }): JSX.Element;
@@ -31,19 +31,27 @@ const Tabs_module_scss_1 = __importDefault(require("./Tabs.module.scss"));
31
31
  /**
32
32
  * Show tabs for toggling between options
33
33
  **/
34
- function Tabs({ options, selected, onSelect }) {
34
+ function Tabs({ options, selected, onSelect, itemClassName = "", className = "", }) {
35
35
  const selectedRef = (0, react_1.useRef)(null);
36
36
  const guideRef = (0, react_1.useRef)(null);
37
37
  (0, react_1.useEffect)(() => {
38
- guideRef.current.style['opacity'] = selectedRef.current ? "1" : "0";
39
- guideRef.current.style['width'] = selectedRef.current ? selectedRef.current.clientWidth + "px" : "0px";
40
- guideRef.current.style['left'] = selectedRef.current ? selectedRef.current.offsetLeft + "px" : "initial";
41
- guideRef.current.style['top'] = selectedRef.current ? selectedRef.current.offsetTop + selectedRef.current.clientHeight + "px" : "initial";
38
+ guideRef.current.style["opacity"] = selectedRef.current
39
+ ? "1"
40
+ : guideRef.current.style["opacity"];
41
+ guideRef.current.style["width"] = selectedRef.current
42
+ ? selectedRef.current.clientWidth + "px"
43
+ : "0px";
44
+ guideRef.current.style["left"] = selectedRef.current
45
+ ? selectedRef.current.offsetLeft + "px"
46
+ : guideRef.current.style["left"] || "initial";
47
+ guideRef.current.style["top"] = selectedRef.current
48
+ ? selectedRef.current.offsetTop + selectedRef.current.clientHeight + "px"
49
+ : guideRef.current.style["top"] || "initial";
42
50
  }, [selected]);
43
- return react_1.default.createElement(react_1.default.Fragment, null,
44
- react_1.default.createElement("div", { className: Tabs_module_scss_1.default.container },
45
- options.map(o => react_1.default.createElement("p", { ref: selected === o.id ? selectedRef : undefined, onClick: () => onSelect(o.id), className: selected === o.id ? Tabs_module_scss_1.default.selected : "", key: o.id, "data-testid": "tab-option" }, o.label)),
46
- react_1.default.createElement("div", { ref: guideRef, className: Tabs_module_scss_1.default.guide, "data-testid": "tab-guide" })));
51
+ return (react_1.default.createElement(react_1.default.Fragment, null,
52
+ react_1.default.createElement("div", { className: `${Tabs_module_scss_1.default.container} ${className}` },
53
+ options.map((o) => (react_1.default.createElement("p", { ref: selected === o.id ? selectedRef : undefined, onClick: () => onSelect(o.id), className: `${selected === o.id ? Tabs_module_scss_1.default.selected : ""} ${itemClassName}`, key: o.id, "data-testid": "tab-option" }, o.label))),
54
+ react_1.default.createElement("div", { ref: guideRef, className: Tabs_module_scss_1.default.guide, "data-testid": "tab-guide" }))));
47
55
  }
48
56
  exports.default = Tabs;
49
57
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiD;AACjD,0EAAwC;AAExC;;IAEI;AACJ,SAAwB,IAAI,CAAmB,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAGxB;IAC/C,MAAM,WAAW,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrE,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACxG,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/I,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO;QACH,uCAAK,SAAS,EAAE,0BAAM,CAAC,SAAS;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,qCAAG,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,iBAAc,YAAY,IAAE,CAAC,CAAC,KAAK,CAAK,CAAC;YAC7M,uCAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAM,CAAC,KAAK,iBAAc,WAAW,GAAE,CACpE,CACP,CAAC;AACR,CAAC;AAlBD,uBAkBC"}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiD;AACjD,0EAAwC;AAExC;;IAEI;AACJ,SAAwB,IAAI,CAAmB,EAC7C,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,SAAS,GAAG,EAAE,GAYf;IACC,MAAM,WAAW,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,OAAO;YACtD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO;YACpD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI;YACxC,CAAC,CAAC,KAAK,CAAC;QACV,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO;YACnD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI;YACvC,CAAC,CAAC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QACjD,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO;YAClD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI;YACzE,CAAC,CAAC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;IAClD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO,CACL;QACE,uCAAK,SAAS,EAAE,GAAG,0BAAM,CAAC,SAAS,IAAI,SAAS,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,qCACE,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAChD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7B,SAAS,EAAE,GACT,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EACxC,IAAI,aAAa,EAAE,EACnB,GAAG,EAAE,CAAC,CAAC,EAAE,iBACG,YAAY,IAEvB,CAAC,CAAC,KAAK,CACN,CACL,CAAC;YACF,uCAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAM,CAAC,KAAK,iBAAc,WAAW,GAAG,CACnE,CACL,CACJ,CAAC;AACJ,CAAC;AAtDD,uBAsDC"}
@@ -7,7 +7,6 @@
7
7
  align-items: flex-start;
8
8
  p {
9
9
  cursor: pointer;
10
- margin: 1em 2em;
11
10
  &.selected {
12
11
  font-weight: bold;
13
12
  }
@@ -1,5 +1,13 @@
1
+ import { createBrowserHistory } from "history";
1
2
  import { PropsWithChildren } from "react";
2
3
  export declare type CustomState = {
3
4
  internalNavigation?: boolean;
4
5
  };
5
- export default function CustomBrowserRouter({ children, }: PropsWithChildren<{}>): JSX.Element;
6
+ export default function CustomBrowserRouter({ children, beforeRouteChange, }: PropsWithChildren<{
7
+ /**
8
+ * Allows the dev to modify the route before commiting the route change
9
+ *
10
+ * @returns The new route
11
+ */
12
+ beforeRouteChange?: (newRoute: string, history: ReturnType<typeof createBrowserHistory>) => string;
13
+ }>): JSX.Element;
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_router_dom_1 = require("react-router-dom");
27
27
  const history_1 = require("history");
28
28
  const react_1 = __importStar(require("react"));
29
- function CustomBrowserRouter({ children, }) {
29
+ function CustomBrowserRouter({ children, beforeRouteChange = (s) => s, }) {
30
30
  const { current: historyCustom } = (0, react_1.useRef)((0, history_1.createBrowserHistory)());
31
31
  (0, react_1.useLayoutEffect)(() => {
32
32
  function overrideFunction(name) {
@@ -42,7 +42,8 @@ function CustomBrowserRouter({ children, }) {
42
42
  name === "replace"
43
43
  ? (_d = (_c = history.state) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.internalNavigation
44
44
  : true;
45
- return orig(route, state, ...args);
45
+ const modifiedRoute = beforeRouteChange(route, historyCustom);
46
+ return orig(modifiedRoute, state, ...args);
46
47
  };
47
48
  }
48
49
  overrideFunction("push");
@@ -1 +1 @@
1
- {"version":3,"file":"CustomBrowserRouter.js","sourceRoot":"","sources":["../../src/context/CustomBrowserRouter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAsD;AACtD,qCAA+C;AAC/C,+CAKe;AAMf,SAAwB,mBAAmB,CAAC,EAC1C,QAAQ,GACc;IACtB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAA,cAAM,EAAC,IAAA,8BAAoB,GAAO,CAAC,CAAC;IACvE,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,SAAS,gBAAgB,CAAC,IAAgC;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAQ,CAAC;YACvC,aAAqB,CAAC,IAAI,CAAC,GAAG,CAC7B,KAAa,EACb,KAAyB,EACzB,GAAG,IAAW,EACd,EAAE;;gBACF,MAAM,+BAA+B,GACnC,IAAI,KAAK,SAAS,KAAI,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAE,kBAAkB,CAAA,CAAC;gBACjE,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC;gBAC1C,IAAI,CAAC,cAAc,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK;oBAC/D,KAAK,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK;oBACP,KAAK,CAAC,kBAAkB;wBACtB,IAAI,KAAK,SAAS;4BAChB,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAE,kBAAkB;4BAC1C,CAAC,CAAC,IAAI,CAAC;gBACb,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,OAAO,8BAAC,yBAAM,IAAC,OAAO,EAAE,aAAa,IAAG,QAAQ,CAAU,CAAC;AAC7D,CAAC;AA7BD,sCA6BC"}
1
+ {"version":3,"file":"CustomBrowserRouter.js","sourceRoot":"","sources":["../../src/context/CustomBrowserRouter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAsD;AACtD,qCAA+C;AAC/C,+CAKe;AAMf,SAAwB,mBAAmB,CAAC,EAC1C,QAAQ,EACR,iBAAiB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAW5B;IACA,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAA,cAAM,EAAC,IAAA,8BAAoB,GAAO,CAAC,CAAC;IACvE,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,SAAS,gBAAgB,CAAC,IAAgC;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAQ,CAAC;YACvC,aAAqB,CAAC,IAAI,CAAC,GAAG,CAC7B,KAAa,EACb,KAAyB,EACzB,GAAG,IAAW,EACd,EAAE;;gBACF,MAAM,+BAA+B,GACnC,IAAI,KAAK,SAAS,KAAI,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAE,kBAAkB,CAAA,CAAC;gBACjE,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC;gBAC1C,IAAI,CAAC,cAAc,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK;oBAC/D,KAAK,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK;oBACP,KAAK,CAAC,kBAAkB;wBACtB,IAAI,KAAK,SAAS;4BAChB,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAE,kBAAkB;4BAC1C,CAAC,CAAC,IAAI,CAAC;gBACb,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,OAAO,8BAAC,yBAAM,IAAC,OAAO,EAAE,aAAa,IAAG,QAAQ,CAAU,CAAC;AAC7D,CAAC;AAzCD,sCAyCC"}
@@ -1,5 +1,5 @@
1
1
  import { Get } from "type-fest";
2
- import React from "react";
2
+ import React, { ReactElement } from "react";
3
3
  import { PropsWithChildren } from "react";
4
4
  import { FieldPath } from "../utils";
5
5
  declare type DeepPartial<T> = {
@@ -64,6 +64,15 @@ export declare type ContextSpecs = {
64
64
  className?: string;
65
65
  };
66
66
  };
67
+ hook: {
68
+ ui: {
69
+ usePaginationControls: {
70
+ LeftControl: () => ReactElement;
71
+ RightControl: () => ReactElement;
72
+ className?: string;
73
+ };
74
+ };
75
+ };
67
76
  };
68
77
  declare type ContextConfigSpecs = DeepPartial<ContextSpecs>;
69
78
  export default function OneUIProvider({ children, config, }: PropsWithChildren<{
@@ -61,7 +61,7 @@ function useOneUIConfig(prop, defaultValue) {
61
61
  const context = (0, react_2.useContext)(Context);
62
62
  if (process.env.NODE_ENV === "development") {
63
63
  const val = (0, get_1.default)(context, prop);
64
- if (typeof val === "string")
64
+ if (typeof val === "string" || typeof val === "function")
65
65
  return val;
66
66
  return ErrorWrapper(val || defaultValue);
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OneUIProvider.js","sourceRoot":"","sources":["../../src/context/OneUIProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OneUIProvider.js","sourceRoot":"","sources":["../../src/context/OneUIProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A hook to trigger changes when the screen resizes
3
+ * @returns If the current resolution is lower than the specified width
4
+ */
5
+ export default function useBreakpoint(breakInto: number): boolean;
@@ -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;