@koine/react 1.0.13 → 1.0.16
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/Details/Details.d.ts +6 -12
- package/hooks/useScrollPosition.d.ts +1 -1
- package/node/Alert/Alert.js +14 -0
- package/node/Alert/index.js +4 -0
- package/node/Animations/Reveal.js +21 -0
- package/node/Animations/Underline.js +8 -0
- package/node/Animations/index.js +6 -0
- package/node/Animations/useReveal.js +75 -0
- package/node/Autocomplete/AutocompleteDownshift.js +161 -0
- package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +356 -0
- package/node/Autocomplete/AutocompleteMui.js +180 -0
- package/node/Autocomplete/AutocompleteReach.js +115 -0
- package/node/Autocomplete/components.js +37 -0
- package/node/Autocomplete/helpers.js +32 -0
- package/node/Autocomplete/index.js +7 -0
- package/node/Bg/BgColor.js +25 -0
- package/node/Bg/BgPhoto.js +20 -0
- package/node/Bg/BgSvg.js +16 -0
- package/node/Bg/index.js +6 -0
- package/node/Breadcrumbs/Breadcrumbs.js +31 -0
- package/node/Breadcrumbs/index.js +4 -0
- package/node/Buttons/Button.js +17 -0
- package/node/Buttons/ButtonComposite.js +32 -0
- package/node/Buttons/ButtonFab.js +9 -0
- package/node/Buttons/ButtonLink.js +15 -0
- package/node/Buttons/IconButton.js +10 -0
- package/node/Buttons/index.js +8 -0
- package/node/Calendar/CalendarDaygridCell.js +61 -0
- package/node/Calendar/CalendarDaygridNav.js +28 -0
- package/node/Calendar/CalendarDaygridTable.js +61 -0
- package/node/Calendar/CalendarLegend.js +20 -0
- package/node/Calendar/calendar-api-google.js +131 -0
- package/node/Calendar/index.js +9 -0
- package/node/Calendar/types.js +2 -0
- package/node/Calendar/useCalendar.js +187 -0
- package/node/Calendar/utils.js +215 -0
- package/node/Carousel/Carousel.js +381 -0
- package/node/Carousel/CarouselCss.js +27 -0
- package/node/Carousel/index.js +4 -0
- package/node/Collapsable/Collapsable.js +4 -0
- package/node/Collapsable/CollapsableReach.js +253 -0
- package/node/Collapsable/index.js +5 -0
- package/node/Debug/Debug.js +13 -0
- package/node/Debug/index.js +4 -0
- package/node/Details/Details.js +67 -0
- package/node/Details/index.js +4 -0
- package/node/Dialog/DialogMui.js +83 -0
- package/node/Dialog/css/bare.js +24 -0
- package/node/Dialog/index.js +5 -0
- package/node/Dialog/m/bare.js +55 -0
- package/node/Dialog/m/basic.js +35 -0
- package/node/Dialog/m/index.js +8 -0
- package/node/Dialog/sc/bare.js +46 -0
- package/node/Dialog/sc/framer.js +19 -0
- package/node/Dialog/sc/framerMaterial.js +19 -0
- package/node/Dialog/sc/material.js +24 -0
- package/node/Dialog/tw/bare.js +45 -0
- package/node/Dialog/tw/elegant.js +23 -0
- package/node/Dialog/tw/framer.js +19 -0
- package/node/Dialog/tw/framerMaterial.js +19 -0
- package/node/Dialog/tw/material.js +23 -0
- package/node/Editor/Editor--tiptap.js +31 -0
- package/node/Editor/components.js +15 -0
- package/node/Editor/index.js +4 -0
- package/node/Favicon/FaviconTags.js +19 -0
- package/node/Favicon/index.js +4 -0
- package/node/Form/Form.js +65 -0
- package/node/Form/index.js +4 -0
- package/node/Form/sc/bare.js +23 -0
- package/node/Forms/Checkbox/Checkbox.js +21 -0
- package/node/Forms/Checkbox/index.js +4 -0
- package/node/Forms/Feedback/Feedback.js +13 -0
- package/node/Forms/Feedback/index.js +4 -0
- package/node/Forms/Field/Field.js +52 -0
- package/node/Forms/Field/FieldControl.js +51 -0
- package/node/Forms/Field/FieldHint.js +7 -0
- package/node/Forms/Field/index.js +5 -0
- package/node/Forms/Input/Input.js +20 -0
- package/node/Forms/Input/index.js +4 -0
- package/node/Forms/InputGroup/InputGroup.js +19 -0
- package/node/Forms/InputGroup/index.js +4 -0
- package/node/Forms/Label/Label.js +9 -0
- package/node/Forms/Label/index.js +4 -0
- package/node/Forms/Password/Password.js +20 -0
- package/node/Forms/Password/index.js +4 -0
- package/node/Forms/Radio/Radio.js +28 -0
- package/node/Forms/Radio/index.js +4 -0
- package/node/Forms/Switch/Switch.js +23 -0
- package/node/Forms/Switch/index.js +4 -0
- package/node/Forms/Textarea/Textarea.js +15 -0
- package/node/Forms/Textarea/TextareaRich.js +31 -0
- package/node/Forms/Textarea/index.js +5 -0
- package/node/Forms/Toggle/Toggle.js +37 -0
- package/node/Forms/Toggle/index.js +4 -0
- package/node/Forms/Toggle/useToggle.js +149 -0
- package/node/Forms/antispam.js +61 -0
- package/node/Forms/helpers.js +52 -0
- package/node/Forms/index.js +19 -0
- package/node/Forms/styles.js +32 -0
- package/node/Gauge/Gauge.js +106 -0
- package/node/Grid/Grid.js +56 -0
- package/node/Grid/index.js +4 -0
- package/node/Hamburger/Hamburger.js +56 -0
- package/node/Hamburger/index.js +4 -0
- package/node/Header/index.js +4 -0
- package/node/Header/useHeader.js +34 -0
- package/node/Hidden/Hidden.js +13 -0
- package/node/Hidden/index.js +4 -0
- package/node/Img/index.js +4 -0
- package/node/Img/sc/bare.js +42 -0
- package/node/Img/types.js +2 -0
- package/node/Link/Link.js +7 -0
- package/node/Link/LinkBlank.js +21 -0
- package/node/Link/index.js +5 -0
- package/node/Menu/Menu.js +7 -0
- package/node/Menu/index.js +4 -0
- package/node/MenuItem/MenuItem.js +7 -0
- package/node/MenuItem/index.js +4 -0
- package/node/Meta/Meta.js +9 -0
- package/node/Meta/index.js +4 -0
- package/node/NoJs/NoJs.js +10 -0
- package/node/NoJs/index.js +4 -0
- package/node/Pagination/PaginationNav.js +65 -0
- package/node/Pagination/PaginationResults.js +15 -0
- package/node/Pagination/index.js +5 -0
- package/node/Pill/Pill.js +10 -0
- package/node/Pill/index.js +4 -0
- package/node/Progress/ProgressCircular.js +19 -0
- package/node/Progress/ProgressLinear.js +28 -0
- package/node/Progress/ProgressOverlay.js +28 -0
- package/node/Progress/index.js +6 -0
- package/node/Rating/Rating.js +76 -0
- package/node/Rating/index.js +57 -0
- package/node/Select/SelectDownshift.js +41 -0
- package/node/Select/components.js +15 -0
- package/node/Select/index.js +7 -0
- package/node/Sidebar/Sidebar.js +27 -0
- package/node/Sidebar/index.js +4 -0
- package/node/Spacing/Spacing.js +49 -0
- package/node/Spacing/index.js +4 -0
- package/node/Sticky/Sticky.js +222 -0
- package/node/Sticky/StickyCss.js +10 -0
- package/node/Sticky/index.js +4 -0
- package/node/Tabs/TabsMui.js +49 -0
- package/node/Tabs/index.js +4 -0
- package/node/Tabs/sc/bare.js +87 -0
- package/node/Tabs/tw/bare.js +20 -0
- package/node/Tabs/tw/material.js +21 -0
- package/node/Tabs/useTabs.js +48 -0
- package/node/Typography/CopyPasteVisible.js +7 -0
- package/node/Typography/Native.js +17 -0
- package/node/Typography/ReadMore.js +47 -0
- package/node/Typography/TextLoop.js +51 -0
- package/node/Typography/TypeStairs.js +53 -0
- package/node/Typography/index.js +8 -0
- package/node/css/index.js +36 -0
- package/node/helpers/classed.js +72 -0
- package/node/helpers/extend-component.js +16 -0
- package/node/helpers/index.js +5 -0
- package/node/hooks/index.js +18 -0
- package/node/hooks/types.js +2 -0
- package/node/hooks/useAsyncFn.js +40 -0
- package/node/hooks/useDateLocale.js +42 -0
- package/node/hooks/useEffectOnce.js +12 -0
- package/node/hooks/useFirstMountState.js +16 -0
- package/node/hooks/useFocus.js +15 -0
- package/node/hooks/useId.js +12 -0
- package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/node/hooks/useMount.js +13 -0
- package/node/hooks/useMountedState.js +19 -0
- package/node/hooks/usePrevious.js +12 -0
- package/node/hooks/useScrollPosition.js +84 -0
- package/node/hooks/useScrollTo.js +25 -0
- package/node/hooks/useTraceUpdate.js +25 -0
- package/node/hooks/useUpdateEffect.js +18 -0
- package/node/hooks/useWindowSize.js +17 -0
- package/node/index.js +8 -0
- package/node/m/MotionProvider.js +43 -0
- package/node/m/index.js +9 -0
- package/node/m/lite.js +4 -0
- package/node/m/max.js +4 -0
- package/node/sc/index.js +37 -0
- package/node/scm/index.js +36 -0
- package/node/shared/index.js +11 -0
- package/node/styles/Body.js +16 -0
- package/node/styles/Global.js +21 -0
- package/node/styles/index.js +10 -0
- package/node/styles/media.js +160 -0
- package/node/styles/spacing.js +52 -0
- package/node/styles/styled.js +17 -0
- package/node/styles/theme--vanilla.js +61 -0
- package/node/styles/theme.js +45 -0
- package/node/tw/index.js +36 -0
- package/node/twm/index.js +36 -0
- package/node/types.js +2 -0
- package/package.json +2 -1
- package/styles/theme--vanilla.d.ts +1 -1
package/Details/Details.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type WithComponents, type Simplify } from "../helpers";
|
|
3
|
-
export declare type OwnProps = React.
|
|
3
|
+
export declare type OwnProps = React.ComponentPropsWithoutRef<"details"> & {
|
|
4
4
|
open?: boolean;
|
|
5
5
|
onChange?: () => any;
|
|
6
6
|
summary: null | React.ReactNode;
|
|
@@ -16,7 +16,7 @@ export declare type OwnProps = React.ComponentProps<"details"> & {
|
|
|
16
16
|
export declare type Components = {
|
|
17
17
|
Root: {
|
|
18
18
|
type: "details";
|
|
19
|
-
props:
|
|
19
|
+
props: {};
|
|
20
20
|
};
|
|
21
21
|
Summary: {
|
|
22
22
|
type: "summary";
|
|
@@ -47,9 +47,7 @@ export declare type ComponentsProps = {
|
|
|
47
47
|
export declare type Props = Simplify<WithComponents<OwnProps, Components>>;
|
|
48
48
|
export declare type DetailsProps = Props;
|
|
49
49
|
export declare type KoineDetailsProps = Props;
|
|
50
|
-
export declare const Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement
|
|
51
|
-
children?: import("react").ReactNode;
|
|
52
|
-
}>;
|
|
50
|
+
export declare const Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement>>>;
|
|
53
51
|
export declare const Summary: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "key" | keyof import("react").HTMLAttributes<HTMLElement>> & {
|
|
54
52
|
$open: OwnProps["open"];
|
|
55
53
|
} & Pick<OwnProps, "onChange"> & {
|
|
@@ -67,10 +65,8 @@ export declare const Content: import("react").ElementType<Omit<Pick<import("reac
|
|
|
67
65
|
} & Pick<OwnProps, "onChange"> & {
|
|
68
66
|
children?: import("react").ReactNode;
|
|
69
67
|
}>;
|
|
70
|
-
export declare const KoineDetails: ((props:
|
|
71
|
-
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement
|
|
72
|
-
children?: import("react").ReactNode;
|
|
73
|
-
}>;
|
|
68
|
+
export declare const KoineDetails: ((props: Simplify<WithComponents<OwnProps, Components>> & import("react").RefAttributes<HTMLDetailsElement>) => import("react").FunctionComponentElement<any>) & {
|
|
69
|
+
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement>>>;
|
|
74
70
|
Summary: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "key" | keyof import("react").HTMLAttributes<HTMLElement>> & {
|
|
75
71
|
$open: OwnProps["open"];
|
|
76
72
|
} & Pick<OwnProps, "onChange"> & {
|
|
@@ -90,9 +86,7 @@ export declare const KoineDetails: ((props: Pick<Simplify<WithComponents<OwnProp
|
|
|
90
86
|
}>;
|
|
91
87
|
} & {
|
|
92
88
|
defaultProps: {
|
|
93
|
-
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement
|
|
94
|
-
children?: import("react").ReactNode;
|
|
95
|
-
}>;
|
|
89
|
+
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>, "key" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement>>>;
|
|
96
90
|
Summary: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "key" | keyof import("react").HTMLAttributes<HTMLElement>> & {
|
|
97
91
|
$open: OwnProps["open"];
|
|
98
92
|
} & Pick<OwnProps, "onChange"> & {
|
|
@@ -11,5 +11,5 @@ declare type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
|
|
|
11
11
|
* - reused internal helper functions
|
|
12
12
|
* - compacted object arguments in functions as plain argument list to improve compression
|
|
13
13
|
*/
|
|
14
|
-
export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef
|
|
14
|
+
export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, useWindow?: boolean, wait?: number, boundingElement?: ElementRef) => void;
|
|
15
15
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alert = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
|
|
7
|
+
var AlertRoot = styled_components_1.default.div(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n font-size: 12px;\n ", "\n"], ["\n font-size: 12px;\n ", "\n"])), function (p) { return (p.$danger ? "color: var(--danger)" : ""); });
|
|
8
|
+
var AlertInner = styled_components_1.default.div(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n padding: 1em;\n background-color: rgba(0, 0, 0, 0.05);\n /* border: 1px solid var(--grey700); */\n /* background: pink; */\n /* color: red; */\n"], ["\n padding: 1em;\n background-color: rgba(0, 0, 0, 0.05);\n /* border: 1px solid var(--grey700); */\n /* background: pink; */\n /* color: red; */\n"])));
|
|
9
|
+
var Alert = function (_a) {
|
|
10
|
+
var $danger = _a.$danger, children = _a.children, props = tslib_1.__rest(_a, ["$danger", "children"]);
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)(AlertRoot, tslib_1.__assign({ "$danger": $danger }, props, { children: (0, jsx_runtime_1.jsx)(AlertInner, { children: children }) })));
|
|
12
|
+
};
|
|
13
|
+
exports.Alert = Alert;
|
|
14
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Reveal = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var framer_motion_1 = require("framer-motion");
|
|
7
|
+
var useReveal_1 = require("./useReveal");
|
|
8
|
+
var Reveal = function (_a) {
|
|
9
|
+
var children = _a.children, direction = _a.direction, offsetStartY = _a.offsetStartY, offsetEndY = _a.offsetEndY, offsetStartX = _a.offsetStartX, props = tslib_1.__rest(_a, ["children", "direction", "offsetStartY", "offsetEndY", "offsetStartX"]);
|
|
10
|
+
var effectOptions = { direction: direction, offsetStartY: offsetStartY, offsetEndY: offsetEndY, offsetStartX: offsetStartX };
|
|
11
|
+
var prefersReducedMotion = (0, framer_motion_1.useReducedMotion)();
|
|
12
|
+
var _b = (0, useReveal_1.useReveal)(effectOptions), ref = _b.ref, startY = _b.startY, endY = _b.endY, startX = _b.startX;
|
|
13
|
+
var scrollYProgress = (0, framer_motion_1.useViewportScroll)().scrollYProgress;
|
|
14
|
+
var xRange = (0, framer_motion_1.useTransform)(scrollYProgress, [startY, endY], [startX, 0]);
|
|
15
|
+
var opacityRange = (0, framer_motion_1.useTransform)(scrollYProgress, [startY, endY], [0, 1]);
|
|
16
|
+
var x = (0, framer_motion_1.useSpring)(xRange, { stiffness: 400, damping: 90 });
|
|
17
|
+
var opacity = (0, framer_motion_1.useSpring)(opacityRange);
|
|
18
|
+
// console.log("start, end", startY, endY)
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(framer_motion_1.motion.div, tslib_1.__assign({}, props, { ref: ref, style: prefersReducedMotion ? {} : { x: x, opacity: opacity } }, { children: children })));
|
|
20
|
+
};
|
|
21
|
+
exports.Reveal = Reveal;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnderlineSkewed = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
|
|
6
|
+
var framer_motion_1 = require("framer-motion");
|
|
7
|
+
exports.UnderlineSkewed = (0, styled_components_1.default)(framer_motion_1.m.i)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: 50%;\n left: 15%;\n right: 15%;\n height: 20px;\n margin-top: -10px;\n z-index: 0;\n pointer-events: none;\n background: var(--accent400);\n transform: skewY(-5deg);\n"], ["\n display: block;\n position: absolute;\n top: 50%;\n left: 15%;\n right: 15%;\n height: 20px;\n margin-top: -10px;\n z-index: 0;\n pointer-events: none;\n background: var(--accent400);\n transform: skewY(-5deg);\n"])));
|
|
8
|
+
var templateObject_1;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./Reveal"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./Underline"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./useReveal"), exports);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useReveal = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useReveal(_a) {
|
|
6
|
+
var _b = _a.direction, direction = _b === void 0 ? "left" : _b, _c = _a.offsetStartY, offsetStartY = _c === void 0 ? -2 : _c, _d = _a.offsetEndY, offsetEndY = _d === void 0 ? 0 : _d, _e = _a.offsetStartX, offsetStartX = _e === void 0 ? "all" : _e;
|
|
7
|
+
var ref = (0, react_1.useRef)(null);
|
|
8
|
+
var _f = (0, react_1.useState)(0), startY = _f[0], setStartY = _f[1];
|
|
9
|
+
var _g = (0, react_1.useState)(0), endY = _g[0], setEndY = _g[1];
|
|
10
|
+
var _h = (0, react_1.useState)(0), startX = _h[0], setStartX = _h[1];
|
|
11
|
+
(0, react_1.useEffect)(function () {
|
|
12
|
+
if (!ref.current) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
var rect = ref.current.getBoundingClientRect();
|
|
16
|
+
// scroll position from top of the window
|
|
17
|
+
var scrollTop = window.scrollY || document.documentElement.scrollTop;
|
|
18
|
+
var elementHeight = rect.height;
|
|
19
|
+
// rect.top is the distance from the currently visible viewport to the top
|
|
20
|
+
// of the given element
|
|
21
|
+
// so distanceTop is the distance between the top edge of the window and the
|
|
22
|
+
// top edge of the given element
|
|
23
|
+
var elementTop = rect.top;
|
|
24
|
+
var distanceTop = elementTop + scrollTop;
|
|
25
|
+
var offsetTop = offsetStartY ? elementHeight * offsetStartY : 0;
|
|
26
|
+
var offsetBottom = offsetEndY ? elementHeight * offsetEndY : offsetTop;
|
|
27
|
+
// the distance of the element from the top divided by the full height
|
|
28
|
+
// of the window gives back the start position of the given element in
|
|
29
|
+
// a scale from 0 to 1
|
|
30
|
+
var startY = (distanceTop + offsetTop) / document.body.clientHeight;
|
|
31
|
+
// same for the end, we just add the given element height to the first value
|
|
32
|
+
var endY = (distanceTop + elementHeight + offsetBottom) / document.body.clientHeight;
|
|
33
|
+
var startX;
|
|
34
|
+
if (offsetStartX === "all") {
|
|
35
|
+
startX = direction === "left" ? -rect.right : rect.left;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
startX = rect.width * offsetStartX;
|
|
39
|
+
startX = direction === "left" ? -startX : startX;
|
|
40
|
+
}
|
|
41
|
+
// addMarker(startY + "px");
|
|
42
|
+
// addMarker(endY + "px");
|
|
43
|
+
// console.log("start", startY, "end", endY, "startX", startX)
|
|
44
|
+
setStartY(startY);
|
|
45
|
+
setEndY(endY);
|
|
46
|
+
setStartX(startX);
|
|
47
|
+
// addMarker(startY * 100 + "%", "blue", "fixed");
|
|
48
|
+
// addMarker(endY * 100 + "%", "blue", "fixed");
|
|
49
|
+
}, [
|
|
50
|
+
setStartY,
|
|
51
|
+
setEndY,
|
|
52
|
+
setStartX,
|
|
53
|
+
offsetStartY,
|
|
54
|
+
offsetEndY,
|
|
55
|
+
offsetStartX,
|
|
56
|
+
direction,
|
|
57
|
+
]);
|
|
58
|
+
return { ref: ref, startY: startY, endY: endY, startX: startX };
|
|
59
|
+
}
|
|
60
|
+
exports.useReveal = useReveal;
|
|
61
|
+
// function addMarker(top: string, color = "red", position = "absolute") {
|
|
62
|
+
// const div = document.createElement("div");
|
|
63
|
+
// div.setAttribute(
|
|
64
|
+
// "style",
|
|
65
|
+
// `
|
|
66
|
+
// position: ${position};
|
|
67
|
+
// top: ${top};
|
|
68
|
+
// left: 0;
|
|
69
|
+
// right: 0;
|
|
70
|
+
// height: 1px;
|
|
71
|
+
// background: ${color};
|
|
72
|
+
// `
|
|
73
|
+
// );
|
|
74
|
+
// document.body.appendChild(div);
|
|
75
|
+
// }
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Autocomplete = void 0;
|
|
4
|
+
// TODO: remove, just use mui version...
|
|
5
|
+
exports.Autocomplete = null;
|
|
6
|
+
// import {
|
|
7
|
+
// forwardRef,
|
|
8
|
+
// useCallback,
|
|
9
|
+
// useState,
|
|
10
|
+
// ForwardedRef,
|
|
11
|
+
// ReactNode,
|
|
12
|
+
// ComponentPropsWithRef,
|
|
13
|
+
// CSSProperties,
|
|
14
|
+
// } from "react";
|
|
15
|
+
// import { useCombobox } from "downshift";
|
|
16
|
+
// import { SetRequired } from "@koine/utils";
|
|
17
|
+
// // import debounce from "lodash.debounce";
|
|
18
|
+
// import {
|
|
19
|
+
// AutocompleteRoot,
|
|
20
|
+
// AutocompleteLabel,
|
|
21
|
+
// AutocompleteInputWrap,
|
|
22
|
+
// AutocompleteInput,
|
|
23
|
+
// AutocompleteInputArrow,
|
|
24
|
+
// AutocompleteMenu,
|
|
25
|
+
// AutocompleteMenuItem,
|
|
26
|
+
// } from "./components";
|
|
27
|
+
// import { defaultOptionsFilterFn, triggerOnChange } from "../Forms/helpers";
|
|
28
|
+
// import { InputProgress } from "../Forms/styles";
|
|
29
|
+
// export type AutocompleteOption = Option;
|
|
30
|
+
// export type AutocompleteValue = null | AutocompleteOption;
|
|
31
|
+
// export type AutocompleteProps = SetRequired<
|
|
32
|
+
// Omit<ComponentPropsWithRef<"input">, "onSelect">,
|
|
33
|
+
// "onChange" | "name"
|
|
34
|
+
// > & {
|
|
35
|
+
// freeSolo?: boolean;
|
|
36
|
+
// onSelect?: (option?: AutocompleteValue) => any;
|
|
37
|
+
// options?: AutocompleteOption[];
|
|
38
|
+
// loadOptions: (query?: string) => Promise<AutocompleteOption[]>;
|
|
39
|
+
// label?: string | ReactNode;
|
|
40
|
+
// className?: string;
|
|
41
|
+
// style?: CSSProperties;
|
|
42
|
+
// $ref: ForwardedRef<HTMLInputElement>;
|
|
43
|
+
// };
|
|
44
|
+
// export const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
|
|
45
|
+
// function Autocomplete(
|
|
46
|
+
// {
|
|
47
|
+
// freeSolo,
|
|
48
|
+
// onSelect,
|
|
49
|
+
// options = [],
|
|
50
|
+
// label,
|
|
51
|
+
// name,
|
|
52
|
+
// value,
|
|
53
|
+
// onChange,
|
|
54
|
+
// loadOptions,
|
|
55
|
+
// className,
|
|
56
|
+
// style,
|
|
57
|
+
// $ref,
|
|
58
|
+
// ...props
|
|
59
|
+
// },
|
|
60
|
+
// ref
|
|
61
|
+
// ) {
|
|
62
|
+
// const [items, setItems] = useState(options);
|
|
63
|
+
// const [loading, setLoading] = useState(false);
|
|
64
|
+
// const triggerChange = useCallback(
|
|
65
|
+
// (selectedItem?: AutocompleteValue, inputValue?: string) => {
|
|
66
|
+
// const value = freeSolo ? inputValue : selectedItem?.value;
|
|
67
|
+
// triggerOnChange(onChange, name, value || "");
|
|
68
|
+
// if (onSelect) onSelect(selectedItem);
|
|
69
|
+
// },
|
|
70
|
+
// [onChange, onSelect, name, freeSolo]
|
|
71
|
+
// );
|
|
72
|
+
// const handleInputValueChange = useCallback(
|
|
73
|
+
// async ({ inputValue }) => {
|
|
74
|
+
// if (inputValue) {
|
|
75
|
+
// if (loadOptions) {
|
|
76
|
+
// setLoading(true);
|
|
77
|
+
// try {
|
|
78
|
+
// const newOptions = await loadOptions(inputValue);
|
|
79
|
+
// setItems(newOptions);
|
|
80
|
+
// } catch (e) {}
|
|
81
|
+
// setLoading(false);
|
|
82
|
+
// } else {
|
|
83
|
+
// setItems(defaultOptionsFilterFn(options, inputValue));
|
|
84
|
+
// }
|
|
85
|
+
// } else {
|
|
86
|
+
// setItems(options);
|
|
87
|
+
// // clear like behaviour
|
|
88
|
+
// triggerChange({ value: "", label: "" });
|
|
89
|
+
// }
|
|
90
|
+
// },
|
|
91
|
+
// [loadOptions, triggerChange]
|
|
92
|
+
// );
|
|
93
|
+
// const {
|
|
94
|
+
// isOpen,
|
|
95
|
+
// // selectedItem,
|
|
96
|
+
// getToggleButtonProps,
|
|
97
|
+
// getLabelProps,
|
|
98
|
+
// getMenuProps,
|
|
99
|
+
// getInputProps,
|
|
100
|
+
// getComboboxProps,
|
|
101
|
+
// highlightedIndex,
|
|
102
|
+
// getItemProps,
|
|
103
|
+
// openMenu,
|
|
104
|
+
// } = useCombobox<null | AutocompleteOption>({
|
|
105
|
+
// id: `Autocomplete-${name}`,
|
|
106
|
+
// items,
|
|
107
|
+
// // initialInputValue: value,
|
|
108
|
+
// onSelectedItemChange: ({ selectedItem, inputValue }) => {
|
|
109
|
+
// triggerChange(selectedItem, inputValue);
|
|
110
|
+
// },
|
|
111
|
+
// // itemToString: (item) => (item ? item.label || item.value : ""),
|
|
112
|
+
// onInputValueChange: handleInputValueChange,
|
|
113
|
+
// });
|
|
114
|
+
// // const debouncedInputValueChangeHandler = useCallback(
|
|
115
|
+
// // debounce(handleInputValueChange, 200),
|
|
116
|
+
// // [handleInputValueChange]
|
|
117
|
+
// // );
|
|
118
|
+
// return (
|
|
119
|
+
// <AutocompleteRoot className={className} style={style}>
|
|
120
|
+
// {label && (
|
|
121
|
+
// <AutocompleteLabel {...getLabelProps()}>{label}</AutocompleteLabel>
|
|
122
|
+
// )}
|
|
123
|
+
// <AutocompleteInputWrap {...getComboboxProps()}>
|
|
124
|
+
// <AutocompleteInput
|
|
125
|
+
// {...getInputProps({
|
|
126
|
+
// onFocus: openMenu,
|
|
127
|
+
// onClick: openMenu,
|
|
128
|
+
// ref: $ref || ref,
|
|
129
|
+
// // itemRef: ref,
|
|
130
|
+
// })}
|
|
131
|
+
// {...props}
|
|
132
|
+
// />
|
|
133
|
+
// {!!items.length && (
|
|
134
|
+
// <AutocompleteInputArrow
|
|
135
|
+
// {...getToggleButtonProps()}
|
|
136
|
+
// aria-label={"toggle menu"}
|
|
137
|
+
// />
|
|
138
|
+
// )}
|
|
139
|
+
// {loading && <InputProgress />}
|
|
140
|
+
// </AutocompleteInputWrap>
|
|
141
|
+
// <AutocompleteMenu {...getMenuProps()}>
|
|
142
|
+
// {isOpen &&
|
|
143
|
+
// items
|
|
144
|
+
// // .filter(item => !inputValue || item.includes(inputValue))
|
|
145
|
+
// .map(
|
|
146
|
+
// (item, index) =>
|
|
147
|
+
// item && (
|
|
148
|
+
// <AutocompleteMenuItem
|
|
149
|
+
// $active={highlightedIndex === index}
|
|
150
|
+
// key={`${item.value}${index}`}
|
|
151
|
+
// {...getItemProps({ item, index })}
|
|
152
|
+
// >
|
|
153
|
+
// {item.label}
|
|
154
|
+
// </AutocompleteMenuItem>
|
|
155
|
+
// )
|
|
156
|
+
// )}
|
|
157
|
+
// </AutocompleteMenu>
|
|
158
|
+
// </AutocompleteRoot>
|
|
159
|
+
// );
|
|
160
|
+
// }
|
|
161
|
+
// );
|