@onepercentio/one-ui 0.2.8 → 0.3.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.
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +6 -2
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +10 -7
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +1 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.stories.d.ts +3 -2
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +1 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js.map +1 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +1 -0
- package/dist/hooks/useForm.d.ts +2 -0
- package/dist/hooks/useRebound.d.ts +9 -0
- package/dist/hooks/useRebound.js +24 -0
- package/dist/hooks/useRebound.js.map +1 -0
- package/package.json +1 -1
- package/scripts/start-emulator.js +2 -0
|
@@ -2,9 +2,13 @@ import React, { PropsWithChildren } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* A component that you can put anywhere but hides when small enough and shows the control via a fixed floating button
|
|
4
4
|
**/
|
|
5
|
-
export default function AdaptiveSidebar({ children, className, visibilityControlComponent: VisibilityControlComponent, ...props }: PropsWithChildren<{
|
|
5
|
+
export default function AdaptiveSidebar({ open: externalOpen, children, className, visibilityControlComponent: VisibilityControlComponent, ...props }: PropsWithChildren<{
|
|
6
|
+
/** To control AdaptiveSidebar externally
|
|
7
|
+
* (created for flows that requires floating views when on mobile)
|
|
8
|
+
**/
|
|
9
|
+
open?: boolean;
|
|
6
10
|
className?: string;
|
|
7
|
-
visibilityControlComponent
|
|
11
|
+
visibilityControlComponent?: (props: {
|
|
8
12
|
open: boolean;
|
|
9
13
|
}) => React.ReactElement;
|
|
10
14
|
} & React.HTMLProps<HTMLDivElement>>): JSX.Element;
|
|
@@ -46,9 +46,10 @@ const DefaultVisibilityControl = ({ open }) => (react_1.default.createElement(Mu
|
|
|
46
46
|
* A component that you can put anywhere but hides when small enough and shows the control via a fixed floating button
|
|
47
47
|
**/
|
|
48
48
|
function AdaptiveSidebar(_a) {
|
|
49
|
-
var { children, className = "", visibilityControlComponent: VisibilityControlComponent = DefaultVisibilityControl } = _a, props = __rest(_a, ["children", "className", "visibilityControlComponent"]);
|
|
49
|
+
var { open: externalOpen, children, className = "", visibilityControlComponent: VisibilityControlComponent = DefaultVisibilityControl } = _a, props = __rest(_a, ["open", "children", "className", "visibilityControlComponent"]);
|
|
50
50
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
51
51
|
const containerRef = (0, react_1.useRef)(null);
|
|
52
|
+
const _open = externalOpen === undefined ? open : externalOpen;
|
|
52
53
|
(0, react_1.useEffect)(() => {
|
|
53
54
|
if (process.env.NODE_ENV === "test")
|
|
54
55
|
return;
|
|
@@ -57,14 +58,16 @@ function AdaptiveSidebar(_a) {
|
|
|
57
58
|
behavior: "smooth",
|
|
58
59
|
top: 0,
|
|
59
60
|
});
|
|
60
|
-
}, [
|
|
61
|
+
}, [_open]);
|
|
62
|
+
const externalControl = externalOpen !== undefined;
|
|
61
63
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
62
|
-
react_1.default.createElement("div", Object.assign({ ref: containerRef, className: `${AdaptiveSidebar_module_scss_1.default.container} ${
|
|
64
|
+
react_1.default.createElement("div", Object.assign({ ref: containerRef, className: `${AdaptiveSidebar_module_scss_1.default.container} ${!externalControl &&
|
|
65
|
+
DefaultVisibilityControl === VisibilityControlComponent
|
|
63
66
|
? AdaptiveSidebar_module_scss_1.default.defaultPadding
|
|
64
|
-
: ""} ${
|
|
65
|
-
react_1.default.createElement(ScrollAndFocusLock_1.default, { open:
|
|
66
|
-
react_1.default.createElement("div", { className: AdaptiveSidebar_module_scss_1.default.hamburger, onClick: () => setOpen((a) => !a) },
|
|
67
|
-
react_1.default.createElement(VisibilityControlComponent, { open:
|
|
67
|
+
: ""} ${_open ? AdaptiveSidebar_module_scss_1.default.open : AdaptiveSidebar_module_scss_1.default.closed} ${className}` }, props),
|
|
68
|
+
react_1.default.createElement(ScrollAndFocusLock_1.default, { open: _open }, children)),
|
|
69
|
+
!externalControl && (react_1.default.createElement("div", { className: AdaptiveSidebar_module_scss_1.default.hamburger, onClick: () => setOpen((a) => !a) },
|
|
70
|
+
react_1.default.createElement(VisibilityControlComponent, { open: _open })))));
|
|
68
71
|
}
|
|
69
72
|
exports.default = AdaptiveSidebar;
|
|
70
73
|
//# sourceMappingURL=AdaptiveSidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdaptiveSidebar.js","sourceRoot":"","sources":["../../../src/components/AdaptiveSidebar/AdaptiveSidebar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8E;AAC9E,uFAA+D;AAC/D,yFAAiE;AACjE,gGAAmD;AAEnD,MAAM,wBAAwB,GAAG,CAAC,EAAE,IAAI,EAAqB,EAAE,EAAE,CAAC,CAChE,8BAAC,gCAAsB,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAI,CACzE,CAAC;AAEF;;IAEI;AACJ,SAAwB,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"AdaptiveSidebar.js","sourceRoot":"","sources":["../../../src/components/AdaptiveSidebar/AdaptiveSidebar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8E;AAC9E,uFAA+D;AAC/D,yFAAiE;AACjE,gGAAmD;AAEnD,MAAM,wBAAwB,GAAG,CAAC,EAAE,IAAI,EAAqB,EAAE,EAAE,CAAC,CAChE,8BAAC,gCAAsB,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAI,CACzE,CAAC;AAEF;;IAEI;AACJ,SAAwB,eAAe,CAAC,EAkBvC;QAlBuC,EACtC,IAAI,EAAE,YAAY,EAClB,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,0BAA0B,EACxB,0BAA0B,GAAG,wBAAwB,OAaxD,EAZI,KAAK,cAN8B,+DAOvC,CADS;IAaR,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO;QAC5C,YAAY,CAAC,OAAQ,CAAC,QAAQ,CAAC;YAC7B,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,CAAC;SACP,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,CAAC;IAEnD,OAAO,CACL;QACE,qDACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,GAAG,qCAAM,CAAC,SAAS,IAC5B,CAAC,eAAe;gBAChB,wBAAwB,KAAK,0BAA0B;gBACrD,CAAC,CAAC,qCAAM,CAAC,cAAc;gBACvB,CAAC,CAAC,EACN,IAAI,KAAK,CAAC,CAAC,CAAC,qCAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAM,CAAC,MAAM,IAAI,SAAS,EAAE,IAClD,KAAK;YAET,8BAAC,4BAAkB,IAAC,IAAI,EAAE,KAAK,IAAG,QAAQ,CAAsB,CAC5D;QACL,CAAC,eAAe,IAAI,CACnB,uCAAK,SAAS,EAAE,qCAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,8BAAC,0BAA0B,IAAC,IAAI,EAAE,KAAK,GAAI,CACvC,CACP,CACA,CACJ,CAAC;AACJ,CAAC;AAtDD,kCAsDC"}
|
|
@@ -8,10 +8,11 @@ export default _default;
|
|
|
8
8
|
export declare const InitialImplementation: {
|
|
9
9
|
(args: any): JSX.Element;
|
|
10
10
|
args: Partial<{
|
|
11
|
+
open?: boolean | undefined;
|
|
11
12
|
className?: string | undefined;
|
|
12
|
-
visibilityControlComponent
|
|
13
|
+
visibilityControlComponent?: ((props: {
|
|
13
14
|
open: boolean;
|
|
14
|
-
}) => React.ReactElement<any, string | React.JSXElementConstructor<any
|
|
15
|
+
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) | undefined;
|
|
15
16
|
} & React.HTMLProps<HTMLDivElement> & {
|
|
16
17
|
children?: React.ReactNode;
|
|
17
18
|
}>;
|
|
@@ -101,7 +101,7 @@ exports.updateTooltipPosition = updateTooltipPosition;
|
|
|
101
101
|
function AnchoredTooltip(props) {
|
|
102
102
|
const { open, children, anchorRef } = props;
|
|
103
103
|
const tooltipRef = (0, react_1.useRef)(null);
|
|
104
|
-
const
|
|
104
|
+
const className = (0, OneUIProvider_1.useOneUIConfig)("component.tooltip.className");
|
|
105
105
|
(0, react_1.useEffect)(() => {
|
|
106
106
|
if (open) {
|
|
107
107
|
if (anchorRef.current && tooltipRef.current)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchoredTooltip.js","sourceRoot":"","sources":["../../../src/components/AnchoredTooltip/AnchoredTooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAMe;AACf,+
|
|
1
|
+
{"version":3,"file":"AnchoredTooltip.js","sourceRoot":"","sources":["../../../src/components/AnchoredTooltip/AnchoredTooltip.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/useForm.d.ts
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/**
|
|
3
|
+
* This hook adds a prop that you can toggle and returns to initial
|
|
4
|
+
* state after a defined time (usefull for notification)
|
|
5
|
+
*/
|
|
6
|
+
export default function useRebound<T extends any>(initialValue: T, timeoutSec?: number): {
|
|
7
|
+
current: T;
|
|
8
|
+
setState: import("react").Dispatch<import("react").SetStateAction<T>>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
/**
|
|
5
|
+
* This hook adds a prop that you can toggle and returns to initial
|
|
6
|
+
* state after a defined time (usefull for notification)
|
|
7
|
+
*/
|
|
8
|
+
function useRebound(initialValue, timeoutSec = 1) {
|
|
9
|
+
const [state, setState] = (0, react_1.useState)(initialValue);
|
|
10
|
+
(0, react_1.useEffect)(() => {
|
|
11
|
+
if (state !== initialValue) {
|
|
12
|
+
const timeout = setTimeout(() => {
|
|
13
|
+
setState(initialValue);
|
|
14
|
+
}, timeoutSec * 1000);
|
|
15
|
+
return () => clearTimeout(timeout);
|
|
16
|
+
}
|
|
17
|
+
}, [state]);
|
|
18
|
+
return {
|
|
19
|
+
current: state,
|
|
20
|
+
setState
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
exports.default = useRebound;
|
|
24
|
+
//# sourceMappingURL=useRebound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRebound.js","sourceRoot":"","sources":["../../src/hooks/useRebound.ts"],"names":[],"mappings":";;AAAA,iCAA2C;AAE3C;;;GAGG;AACH,SAAwB,UAAU,CAAgB,YAAe,EAAE,aAAqB,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAI,YAAY,CAAC,CAAA;IAEnD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,KAAK,KAAK,YAAY,EAAE;YACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,CAAC,YAAY,CAAC,CAAA;YAC1B,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;YAEtB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACtC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO;QACH,OAAO,EAAE,KAAK;QACd,QAAQ;KACX,CAAA;AACL,CAAC;AAhBD,6BAgBC"}
|
package/package.json
CHANGED