@koine/react 1.0.14 → 1.0.17

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 (197) hide show
  1. package/Details/Details.d.ts +6 -12
  2. package/hooks/useScrollPosition.d.ts +1 -1
  3. package/node/Alert/Alert.js +14 -0
  4. package/node/Alert/index.js +4 -0
  5. package/node/Animations/Reveal.js +21 -0
  6. package/node/Animations/Underline.js +8 -0
  7. package/node/Animations/index.js +6 -0
  8. package/node/Animations/useReveal.js +75 -0
  9. package/node/Autocomplete/AutocompleteDownshift.js +161 -0
  10. package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +356 -0
  11. package/node/Autocomplete/AutocompleteMui.js +180 -0
  12. package/node/Autocomplete/AutocompleteReach.js +115 -0
  13. package/node/Autocomplete/components.js +37 -0
  14. package/node/Autocomplete/helpers.js +32 -0
  15. package/node/Autocomplete/index.js +7 -0
  16. package/node/Bg/BgColor.js +25 -0
  17. package/node/Bg/BgPhoto.js +20 -0
  18. package/node/Bg/BgSvg.js +16 -0
  19. package/node/Bg/index.js +6 -0
  20. package/node/Breadcrumbs/Breadcrumbs.js +31 -0
  21. package/node/Breadcrumbs/index.js +4 -0
  22. package/node/Buttons/Button.js +17 -0
  23. package/node/Buttons/ButtonComposite.js +32 -0
  24. package/node/Buttons/ButtonFab.js +9 -0
  25. package/node/Buttons/ButtonLink.js +15 -0
  26. package/node/Buttons/IconButton.js +10 -0
  27. package/node/Buttons/index.js +8 -0
  28. package/node/Calendar/CalendarDaygridCell.js +61 -0
  29. package/node/Calendar/CalendarDaygridNav.js +28 -0
  30. package/node/Calendar/CalendarDaygridTable.js +61 -0
  31. package/node/Calendar/CalendarLegend.js +20 -0
  32. package/node/Calendar/calendar-api-google.js +131 -0
  33. package/node/Calendar/index.js +9 -0
  34. package/node/Calendar/types.js +2 -0
  35. package/node/Calendar/useCalendar.js +187 -0
  36. package/node/Calendar/utils.js +215 -0
  37. package/node/Carousel/Carousel.js +381 -0
  38. package/node/Carousel/CarouselCss.js +27 -0
  39. package/node/Carousel/index.js +4 -0
  40. package/node/Collapsable/Collapsable.js +4 -0
  41. package/node/Collapsable/CollapsableReach.js +253 -0
  42. package/node/Collapsable/index.js +5 -0
  43. package/node/Debug/Debug.js +13 -0
  44. package/node/Debug/index.js +4 -0
  45. package/node/Details/Details.js +67 -0
  46. package/node/Details/index.js +4 -0
  47. package/node/Dialog/DialogMui.js +83 -0
  48. package/node/Dialog/css/bare.js +24 -0
  49. package/node/Dialog/index.js +5 -0
  50. package/node/Dialog/m/bare.js +55 -0
  51. package/node/Dialog/m/basic.js +35 -0
  52. package/node/Dialog/m/index.js +8 -0
  53. package/node/Dialog/sc/bare.js +46 -0
  54. package/node/Dialog/sc/framer.js +19 -0
  55. package/node/Dialog/sc/framerMaterial.js +19 -0
  56. package/node/Dialog/sc/material.js +24 -0
  57. package/node/Dialog/tw/bare.js +45 -0
  58. package/node/Dialog/tw/elegant.js +23 -0
  59. package/node/Dialog/tw/framer.js +19 -0
  60. package/node/Dialog/tw/framerMaterial.js +19 -0
  61. package/node/Dialog/tw/material.js +23 -0
  62. package/node/Editor/Editor--tiptap.js +31 -0
  63. package/node/Editor/components.js +15 -0
  64. package/node/Editor/index.js +4 -0
  65. package/node/Favicon/FaviconTags.js +19 -0
  66. package/node/Favicon/index.js +4 -0
  67. package/node/Form/Form.js +65 -0
  68. package/node/Form/index.js +4 -0
  69. package/node/Form/sc/bare.js +23 -0
  70. package/node/Forms/Checkbox/Checkbox.js +21 -0
  71. package/node/Forms/Checkbox/index.js +4 -0
  72. package/node/Forms/Feedback/Feedback.js +13 -0
  73. package/node/Forms/Feedback/index.js +4 -0
  74. package/node/Forms/Field/Field.js +52 -0
  75. package/node/Forms/Field/FieldControl.js +51 -0
  76. package/node/Forms/Field/FieldHint.js +7 -0
  77. package/node/Forms/Field/index.js +5 -0
  78. package/node/Forms/Input/Input.js +20 -0
  79. package/node/Forms/Input/index.js +4 -0
  80. package/node/Forms/InputGroup/InputGroup.js +19 -0
  81. package/node/Forms/InputGroup/index.js +4 -0
  82. package/node/Forms/Label/Label.js +9 -0
  83. package/node/Forms/Label/index.js +4 -0
  84. package/node/Forms/Password/Password.js +20 -0
  85. package/node/Forms/Password/index.js +4 -0
  86. package/node/Forms/Radio/Radio.js +28 -0
  87. package/node/Forms/Radio/index.js +4 -0
  88. package/node/Forms/Switch/Switch.js +23 -0
  89. package/node/Forms/Switch/index.js +4 -0
  90. package/node/Forms/Textarea/Textarea.js +15 -0
  91. package/node/Forms/Textarea/TextareaRich.js +31 -0
  92. package/node/Forms/Textarea/index.js +5 -0
  93. package/node/Forms/Toggle/Toggle.js +37 -0
  94. package/node/Forms/Toggle/index.js +4 -0
  95. package/node/Forms/Toggle/useToggle.js +149 -0
  96. package/node/Forms/antispam.js +61 -0
  97. package/node/Forms/helpers.js +52 -0
  98. package/node/Forms/index.js +19 -0
  99. package/node/Forms/styles.js +32 -0
  100. package/node/Gauge/Gauge.js +106 -0
  101. package/node/Grid/Grid.js +56 -0
  102. package/node/Grid/index.js +4 -0
  103. package/node/Hamburger/Hamburger.js +56 -0
  104. package/node/Hamburger/index.js +4 -0
  105. package/node/Header/index.js +4 -0
  106. package/node/Header/useHeader.js +34 -0
  107. package/node/Hidden/Hidden.js +13 -0
  108. package/node/Hidden/index.js +4 -0
  109. package/node/Img/index.js +4 -0
  110. package/node/Img/sc/bare.js +42 -0
  111. package/node/Img/types.js +2 -0
  112. package/node/Link/Link.js +7 -0
  113. package/node/Link/LinkBlank.js +21 -0
  114. package/node/Link/index.js +5 -0
  115. package/node/Menu/Menu.js +7 -0
  116. package/node/Menu/index.js +4 -0
  117. package/node/MenuItem/MenuItem.js +7 -0
  118. package/node/MenuItem/index.js +4 -0
  119. package/node/Meta/Meta.js +9 -0
  120. package/node/Meta/index.js +4 -0
  121. package/node/NoJs/NoJs.js +10 -0
  122. package/node/NoJs/index.js +4 -0
  123. package/node/Pagination/PaginationNav.js +65 -0
  124. package/node/Pagination/PaginationResults.js +15 -0
  125. package/node/Pagination/index.js +5 -0
  126. package/node/Pill/Pill.js +10 -0
  127. package/node/Pill/index.js +4 -0
  128. package/node/Progress/ProgressCircular.js +19 -0
  129. package/node/Progress/ProgressLinear.js +28 -0
  130. package/node/Progress/ProgressOverlay.js +28 -0
  131. package/node/Progress/index.js +6 -0
  132. package/node/Rating/Rating.js +76 -0
  133. package/node/Rating/index.js +57 -0
  134. package/node/Select/SelectDownshift.js +41 -0
  135. package/node/Select/components.js +15 -0
  136. package/node/Select/index.js +7 -0
  137. package/node/Sidebar/Sidebar.js +27 -0
  138. package/node/Sidebar/index.js +4 -0
  139. package/node/Spacing/Spacing.js +49 -0
  140. package/node/Spacing/index.js +4 -0
  141. package/node/Sticky/Sticky.js +222 -0
  142. package/node/Sticky/StickyCss.js +10 -0
  143. package/node/Sticky/index.js +4 -0
  144. package/node/Tabs/TabsMui.js +49 -0
  145. package/node/Tabs/index.js +4 -0
  146. package/node/Tabs/sc/bare.js +87 -0
  147. package/node/Tabs/tw/bare.js +20 -0
  148. package/node/Tabs/tw/material.js +21 -0
  149. package/node/Tabs/useTabs.js +48 -0
  150. package/node/Typography/CopyPasteVisible.js +7 -0
  151. package/node/Typography/Native.js +17 -0
  152. package/node/Typography/ReadMore.js +47 -0
  153. package/node/Typography/TextLoop.js +51 -0
  154. package/node/Typography/TypeStairs.js +53 -0
  155. package/node/Typography/index.js +8 -0
  156. package/node/css/index.js +36 -0
  157. package/node/helpers/classed.js +72 -0
  158. package/node/helpers/extend-component.js +16 -0
  159. package/node/helpers/index.js +5 -0
  160. package/node/hooks/index.js +18 -0
  161. package/node/hooks/types.js +2 -0
  162. package/node/hooks/useAsyncFn.js +40 -0
  163. package/node/hooks/useDateLocale.js +42 -0
  164. package/node/hooks/useEffectOnce.js +12 -0
  165. package/node/hooks/useFirstMountState.js +16 -0
  166. package/node/hooks/useFocus.js +15 -0
  167. package/node/hooks/useId.js +12 -0
  168. package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
  169. package/node/hooks/useMount.js +13 -0
  170. package/node/hooks/useMountedState.js +19 -0
  171. package/node/hooks/usePrevious.js +12 -0
  172. package/node/hooks/useScrollPosition.js +84 -0
  173. package/node/hooks/useScrollTo.js +25 -0
  174. package/node/hooks/useTraceUpdate.js +25 -0
  175. package/node/hooks/useUpdateEffect.js +18 -0
  176. package/node/hooks/useWindowSize.js +17 -0
  177. package/node/index.js +8 -0
  178. package/node/m/MotionProvider.js +43 -0
  179. package/node/m/index.js +9 -0
  180. package/node/m/lite.js +4 -0
  181. package/node/m/max.js +4 -0
  182. package/node/sc/index.js +37 -0
  183. package/node/scm/index.js +36 -0
  184. package/node/shared/index.js +11 -0
  185. package/node/styles/Body.js +16 -0
  186. package/node/styles/Global.js +21 -0
  187. package/node/styles/index.js +10 -0
  188. package/node/styles/media.js +160 -0
  189. package/node/styles/spacing.js +52 -0
  190. package/node/styles/styled.js +17 -0
  191. package/node/styles/theme--vanilla.js +61 -0
  192. package/node/styles/theme.js +45 -0
  193. package/node/tw/index.js +36 -0
  194. package/node/twm/index.js +36 -0
  195. package/node/types.js +2 -0
  196. package/package.json +3 -3
  197. package/styles/theme--vanilla.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { type WithComponents, type Simplify } from "../helpers";
3
- export declare type OwnProps = React.ComponentProps<"details"> & {
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: React.PropsWithChildren<{}>;
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: Pick<Simplify<WithComponents<OwnProps, Components>>, "key" | "summary" | keyof import("react").DetailsHTMLAttributes<HTMLDetailsElement> | "ariaExpand" | "ariaCollapse" | "recalc" | keyof Components> & import("react").RefAttributes<HTMLDivElement>) => import("react").FunctionComponentElement<any>) & {
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 | undefined, useWindow?: boolean | undefined, wait?: number | undefined, boundingElement?: ElementRef | undefined) => void;
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,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Alert"), exports);
@@ -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
+ // );