@i-novus/n2o-components 7.28.15 → 7.28.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.
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { TooltipTheme } from './TooltipComponent';
3
+ import { type TooltipFloating } from './useTooltipFloating';
4
+ import { Trigger, type TooltipTrigger } from './useTooltipTrigger';
5
+ export interface Props extends TooltipFloating {
6
+ hint: ReactNode | string | number;
7
+ className?: string;
8
+ trigger?: Trigger;
9
+ children: TooltipTrigger['children'];
10
+ closeOnClickOutside: boolean;
11
+ theme?: TooltipTheme;
12
+ }
13
+ export declare function Tooltip({ hint, className, children, theme, closeOnClickOutside, placement, delay, trigger, container, }: Props): JSX.Element;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { TooltipComponent } from './TooltipComponent';
3
+ import { useTooltipFloating, Container } from './useTooltipFloating';
4
+ import { useTooltipTrigger, Trigger } from './useTooltipTrigger';
5
+ export function Tooltip({ hint, className, children, theme, closeOnClickOutside = true, placement = 'top', delay = 0, trigger = Trigger.HOVER, container = Container.TARGET, }) {
6
+ const { open, handleOpen, handleClose, toggle, refs, floatingRef, floatingStyles, portal, } = useTooltipFloating({
7
+ delay,
8
+ placement,
9
+ container,
10
+ closeOnClickOutside: closeOnClickOutside && trigger === Trigger.CLICK,
11
+ });
12
+ const triggerElement = useTooltipTrigger({
13
+ children,
14
+ refs,
15
+ trigger,
16
+ handleOpen,
17
+ handleClose,
18
+ toggle,
19
+ });
20
+ return (React.createElement(React.Fragment, null,
21
+ triggerElement,
22
+ React.createElement(TooltipComponent, { floatingRef: floatingRef, style: floatingStyles, className: className, visible: open, portal: portal, theme: theme }, hint)));
23
+ }
24
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/display/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAwB,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAA;AAWrF,MAAM,UAAU,OAAO,CAAC,EACpB,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,mBAAmB,GAAG,IAAI,EAC1B,SAAS,GAAG,KAAK,EACjB,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,OAAO,CAAC,KAAK,EACvB,SAAS,GAAG,SAAS,CAAC,MAAM,GACxB;IACJ,MAAM,EACF,IAAI,EACJ,UAAU,EACV,WAAW,EACX,MAAM,EACN,IAAI,EACJ,WAAW,EACX,cAAc,EACd,MAAM,GACT,GAAG,kBAAkB,CAAC;QACnB,KAAK;QACL,SAAS;QACT,SAAS;QACT,mBAAmB,EAAE,mBAAmB,IAAI,OAAO,KAAK,OAAO,CAAC,KAAK;KACxE,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACrC,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,UAAU;QACV,WAAW;QACX,MAAM;KACT,CAAC,CAAA;IAEF,OAAO,CACH;QACK,cAAc;QACf,oBAAC,gBAAgB,IACb,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,IAEX,IAAI,CACU,CACpB,CACN,CAAA;AACL,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export declare enum TooltipTheme {
3
+ DARK = "DARK",
4
+ LIGHT = "light"
5
+ }
6
+ export interface TooltipContentProps {
7
+ floatingRef(node: HTMLElement | null): void;
8
+ style: CSSProperties;
9
+ className?: string;
10
+ children: ReactNode;
11
+ visible: boolean;
12
+ portal?: boolean;
13
+ theme?: TooltipTheme;
14
+ }
15
+ export declare const TooltipComponent: ({ floatingRef, style, className, children, visible, portal, theme, }: TooltipContentProps) => JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import classNames from 'classnames';
3
+ import { FloatingPortal } from '@floating-ui/react';
4
+ import { Text } from '../../Typography/Text';
5
+ export var TooltipTheme;
6
+ (function (TooltipTheme) {
7
+ TooltipTheme["DARK"] = "DARK";
8
+ TooltipTheme["LIGHT"] = "light";
9
+ })(TooltipTheme || (TooltipTheme = {}));
10
+ export const TooltipComponent = ({ floatingRef, style, className, children, visible, portal = false, theme = TooltipTheme.DARK, }) => {
11
+ if (!visible) {
12
+ return null;
13
+ }
14
+ const content = (React.createElement("div", { ref: floatingRef, style: style, className: classNames('tooltip-container', 'tooltip-inner', 'py-1 px-2 rounded text-sm', className, {
15
+ 'bg-dark text-white': theme === TooltipTheme.DARK,
16
+ 'bg-white text-dark border border-gray-200 shadow-sm': theme === TooltipTheme.LIGHT,
17
+ }) },
18
+ React.createElement(Text, null, children)));
19
+ return portal ? React.createElement(FloatingPortal, null, content) : content;
20
+ };
21
+ //# sourceMappingURL=TooltipComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipComponent.js","sourceRoot":"","sources":["../../../src/display/Tooltip/TooltipComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAA;AACvD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAYD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,WAAW,EACX,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,YAAY,CAAC,IAAI,GACP,EAAE,EAAE;IACtB,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,CAAA;KAAE;IAE7B,MAAM,OAAO,GAAG,CACZ,6BACI,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CACjB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACT;YACI,oBAAoB,EAAE,KAAK,KAAK,YAAY,CAAC,IAAI;YACjD,qDAAqD,EAAE,KAAK,KAAK,YAAY,CAAC,KAAK;SACtF,CACJ;QAED,oBAAC,IAAI,QAAE,QAAQ,CAAQ,CACrB,CACT,CAAA;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,oBAAC,cAAc,QAAE,OAAO,CAAkB,CAAC,CAAC,CAAC,OAAO,CAAA;AACxE,CAAC,CAAA"}