From 0798aa5cedad2a599829f2b13d4573c64a081c29 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 15 Aug 2022 21:36:53 -0300 Subject: modal, popover and portal for select input --- .../taler-wallet-webextension/src/mui/Popover.tsx | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 packages/taler-wallet-webextension/src/mui/Popover.tsx (limited to 'packages/taler-wallet-webextension/src/mui/Popover.tsx') diff --git a/packages/taler-wallet-webextension/src/mui/Popover.tsx b/packages/taler-wallet-webextension/src/mui/Popover.tsx new file mode 100644 index 000000000..408f87987 --- /dev/null +++ b/packages/taler-wallet-webextension/src/mui/Popover.tsx @@ -0,0 +1,59 @@ +import { css } from "@linaria/core"; +import { h, JSX, VNode, ComponentChildren } from "preact"; +// eslint-disable-next-line import/extensions +import { alpha } from "./colors/manipulation"; +// eslint-disable-next-line import/extensions +import { theme } from "./style"; + +const baseStyle = css``; + +interface Props { + class: string; + children: ComponentChildren; +} + +export function Popover({ class: _class, children, ...rest }: Props): VNode { + return ( +
+ {children} +
+ ); +} + +function getOffsetTop(rect: any, vertical: any): number { + let offset = 0; + + if (typeof vertical === "number") { + offset = vertical; + } else if (vertical === "center") { + offset = rect.height / 2; + } else if (vertical === "bottom") { + offset = rect.height; + } + + return offset; +} + +function getOffsetLeft(rect: any, horizontal: any): number { + let offset = 0; + + if (typeof horizontal === "number") { + offset = horizontal; + } else if (horizontal === "center") { + offset = rect.width / 2; + } else if (horizontal === "right") { + offset = rect.width; + } + + return offset; +} + +function getTransformOriginValue(transformOrigin): string { + return [transformOrigin.horizontal, transformOrigin.vertical] + .map((n) => (typeof n === "number" ? `${n}px` : n)) + .join(" "); +} + +function resolveAnchorEl(anchorEl: any): any { + return typeof anchorEl === "function" ? anchorEl() : anchorEl; +} -- cgit v1.2.3