@redsift/popovers 11.8.3 → 11.9.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/_internal/Toggletip2.js +169 -0
- package/_internal/Toggletip2.js.map +1 -0
- package/_internal/ToggletipContent.js +226 -0
- package/_internal/ToggletipContent.js.map +1 -0
- package/_internal/ToggletipTrigger.js +78 -0
- package/_internal/ToggletipTrigger.js.map +1 -0
- package/_internal/toggletip-content.js +2 -0
- package/_internal/toggletip-content.js.map +1 -0
- package/_internal/toggletip-trigger.js +2 -0
- package/_internal/toggletip-trigger.js.map +1 -0
- package/_internal/toggletip.js +4 -0
- package/_internal/toggletip.js.map +1 -0
- package/_internal/useToggletipContext.js +14 -0
- package/_internal/useToggletipContext.js.map +1 -0
- package/index.d.ts +238 -1
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import React, { useRef, useState, useEffect, useCallback } from 'react';
|
|
2
|
+
import { useId, useTheme, partitionComponents, isComponent, ThemeProvider } from '@redsift/design-system';
|
|
3
|
+
import { T as ToggletipContext } from './useToggletipContext.js';
|
|
4
|
+
import { T as ToggletipPlacement, a as ToggletipContent } from './ToggletipContent.js';
|
|
5
|
+
import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
|
|
6
|
+
import { offset, flip, shift, arrow, size, useFloating, autoUpdate, useClientPoint, useHover, safePolygon, useDismiss, useRole, useInteractions } from '@floating-ui/react';
|
|
7
|
+
import { T as ToggletipTrigger } from './ToggletipTrigger.js';
|
|
8
|
+
|
|
9
|
+
function useToggletip(_ref) {
|
|
10
|
+
let {
|
|
11
|
+
color,
|
|
12
|
+
defaultOpen,
|
|
13
|
+
delay,
|
|
14
|
+
isModal,
|
|
15
|
+
isOpen: propsIsOpen,
|
|
16
|
+
maxWidth,
|
|
17
|
+
minWidth,
|
|
18
|
+
offset: propsOffset,
|
|
19
|
+
onOpen,
|
|
20
|
+
placement,
|
|
21
|
+
role: propsRole,
|
|
22
|
+
toggletipId: propsToggletipId,
|
|
23
|
+
triggerClassName,
|
|
24
|
+
width,
|
|
25
|
+
setHideInsteadOfClose,
|
|
26
|
+
hideInsteadOfClose
|
|
27
|
+
} = _ref;
|
|
28
|
+
const arrowRef = useRef(null);
|
|
29
|
+
const [isOpen, setIsOpen] = useState(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
|
|
30
|
+
const [_id] = useId();
|
|
31
|
+
const toggletipId = propsToggletipId !== null && propsToggletipId !== void 0 ? propsToggletipId : _id;
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setIsOpen(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
|
|
34
|
+
}, [propsIsOpen, defaultOpen]);
|
|
35
|
+
const handleOpen = useCallback(collapsed => {
|
|
36
|
+
if (onOpen) {
|
|
37
|
+
onOpen(collapsed);
|
|
38
|
+
}
|
|
39
|
+
if (propsIsOpen === undefined || propsIsOpen === null) {
|
|
40
|
+
setIsOpen(collapsed);
|
|
41
|
+
}
|
|
42
|
+
}, [onOpen]);
|
|
43
|
+
const middleware = [offset(propsOffset !== null && propsOffset !== void 0 ? propsOffset : 8), flip({
|
|
44
|
+
fallbackAxisSideDirection: 'start'
|
|
45
|
+
}), shift({
|
|
46
|
+
padding: 8
|
|
47
|
+
}), arrow({
|
|
48
|
+
element: arrowRef
|
|
49
|
+
})];
|
|
50
|
+
middleware.push(size({
|
|
51
|
+
apply(_ref2) {
|
|
52
|
+
let {
|
|
53
|
+
availableHeight,
|
|
54
|
+
availableWidth,
|
|
55
|
+
rects,
|
|
56
|
+
elements
|
|
57
|
+
} = _ref2;
|
|
58
|
+
Object.assign(elements.floating.style, _objectSpread2(_objectSpread2(_objectSpread2({
|
|
59
|
+
maxHeight: `${availableHeight}px`
|
|
60
|
+
}, minWidth !== undefined && {
|
|
61
|
+
minWidth: `${minWidth === 'available-width' ? availableWidth : minWidth === 'trigger-width' ? rects.reference.width : minWidth}px`
|
|
62
|
+
}), width !== undefined && {
|
|
63
|
+
width: `${width === 'available-width' ? availableWidth : width === 'trigger-width' ? rects.reference.width : width}px`
|
|
64
|
+
}), maxWidth !== undefined && {
|
|
65
|
+
maxWidth: `${maxWidth === 'available-width' ? availableWidth : maxWidth === 'trigger-width' ? rects.reference.width : maxWidth}px`
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
const data = useFloating({
|
|
70
|
+
placement: placement === 'client-point' ? 'left' : placement,
|
|
71
|
+
open: isOpen,
|
|
72
|
+
onOpenChange: handleOpen,
|
|
73
|
+
whileElementsMounted: autoUpdate,
|
|
74
|
+
middleware
|
|
75
|
+
});
|
|
76
|
+
const context = data.context;
|
|
77
|
+
const clientPoint = useClientPoint(context, {
|
|
78
|
+
enabled: placement === 'client-point'
|
|
79
|
+
});
|
|
80
|
+
const hover = useHover(context, {
|
|
81
|
+
move: false,
|
|
82
|
+
delay: {
|
|
83
|
+
open: delay,
|
|
84
|
+
close: 0
|
|
85
|
+
},
|
|
86
|
+
handleClose: safePolygon()
|
|
87
|
+
});
|
|
88
|
+
const dismiss = useDismiss(context);
|
|
89
|
+
const role = useRole(context, {
|
|
90
|
+
role: propsRole
|
|
91
|
+
});
|
|
92
|
+
const interactions = useInteractions([hover, dismiss, role, clientPoint]);
|
|
93
|
+
return React.useMemo(() => _objectSpread2(_objectSpread2(_objectSpread2({
|
|
94
|
+
color,
|
|
95
|
+
isOpen,
|
|
96
|
+
handleOpen
|
|
97
|
+
}, interactions), data), {}, {
|
|
98
|
+
arrowRef,
|
|
99
|
+
isModal,
|
|
100
|
+
triggerClassName,
|
|
101
|
+
setHideInsteadOfClose,
|
|
102
|
+
hideInsteadOfClose,
|
|
103
|
+
toggletipId
|
|
104
|
+
}), [color, isOpen, handleOpen, interactions, data, arrowRef, isModal, triggerClassName, setHideInsteadOfClose, hideInsteadOfClose, toggletipId]);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const COMPONENT_NAME = 'Toggletip';
|
|
108
|
+
const CLASSNAME = 'redsift-toggletip';
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The Toggletip component.
|
|
112
|
+
*/
|
|
113
|
+
const BaseToggletip = props => {
|
|
114
|
+
var _overrideDisplayName$, _overrideDisplayName$2, _overrideDisplayName$3, _overrideDisplayName$4;
|
|
115
|
+
const {
|
|
116
|
+
children,
|
|
117
|
+
color,
|
|
118
|
+
defaultOpen,
|
|
119
|
+
isModal = false,
|
|
120
|
+
isOpen,
|
|
121
|
+
maxWidth,
|
|
122
|
+
minWidth,
|
|
123
|
+
offset,
|
|
124
|
+
onOpen,
|
|
125
|
+
overrideDisplayName,
|
|
126
|
+
placement = ToggletipPlacement.bottom,
|
|
127
|
+
role = 'dialog',
|
|
128
|
+
theme: propsTheme,
|
|
129
|
+
toggletipId,
|
|
130
|
+
triggerClassName,
|
|
131
|
+
width
|
|
132
|
+
} = props;
|
|
133
|
+
const theme = useTheme(propsTheme);
|
|
134
|
+
const [hideInsteadOfClose, setHideInsteadOfClose] = useState(false);
|
|
135
|
+
const toggletip = useToggletip({
|
|
136
|
+
color,
|
|
137
|
+
defaultOpen,
|
|
138
|
+
isModal,
|
|
139
|
+
isOpen,
|
|
140
|
+
maxWidth,
|
|
141
|
+
minWidth,
|
|
142
|
+
offset,
|
|
143
|
+
onOpen,
|
|
144
|
+
placement,
|
|
145
|
+
role,
|
|
146
|
+
toggletipId,
|
|
147
|
+
triggerClassName,
|
|
148
|
+
setHideInsteadOfClose,
|
|
149
|
+
hideInsteadOfClose,
|
|
150
|
+
width
|
|
151
|
+
});
|
|
152
|
+
const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [isComponent((_overrideDisplayName$ = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.trigger) !== null && _overrideDisplayName$ !== void 0 ? _overrideDisplayName$ : 'ToggletipTrigger'), isComponent((_overrideDisplayName$2 = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.content) !== null && _overrideDisplayName$2 !== void 0 ? _overrideDisplayName$2 : 'ToggletipContent')]);
|
|
153
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
154
|
+
value: {
|
|
155
|
+
theme
|
|
156
|
+
}
|
|
157
|
+
}, /*#__PURE__*/React.createElement(ToggletipContext.Provider, {
|
|
158
|
+
value: toggletip
|
|
159
|
+
}, trigger && isComponent((_overrideDisplayName$3 = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.trigger) !== null && _overrideDisplayName$3 !== void 0 ? _overrideDisplayName$3 : 'ToggletipTrigger')(trigger) ? trigger : null, content && isComponent((_overrideDisplayName$4 = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.content) !== null && _overrideDisplayName$4 !== void 0 ? _overrideDisplayName$4 : 'ToggletipContent')(content) ? content : null));
|
|
160
|
+
};
|
|
161
|
+
BaseToggletip.className = CLASSNAME;
|
|
162
|
+
BaseToggletip.displayName = COMPONENT_NAME;
|
|
163
|
+
const Toggletip = Object.assign(BaseToggletip, {
|
|
164
|
+
Trigger: ToggletipTrigger,
|
|
165
|
+
Content: ToggletipContent
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
export { BaseToggletip as B, Toggletip as T, useToggletip as u };
|
|
169
|
+
//# sourceMappingURL=Toggletip2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggletip2.js","sources":["../../src/components/toggletip/useToggletip.tsx","../../src/components/toggletip/Toggletip.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n useDismiss,\n useRole,\n useInteractions,\n useClientPoint,\n arrow,\n safePolygon,\n useHover,\n} from '@floating-ui/react';\nimport { HiddenToggletipState, ToggletipProps } from './types';\nimport { useId } from '@redsift/design-system';\n\nexport function useToggletip({\n color,\n defaultOpen,\n delay,\n isModal,\n isOpen: propsIsOpen,\n maxWidth,\n minWidth,\n offset: propsOffset,\n onOpen,\n placement,\n role: propsRole,\n toggletipId: propsToggletipId,\n triggerClassName,\n width,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n}: Omit<ToggletipProps, 'children'> & HiddenToggletipState) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const [_id] = useId();\n const toggletipId = propsToggletipId ?? _id;\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const middleware = [\n offset(propsOffset ?? 8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ];\n\n middleware.push(\n size({\n apply({ availableHeight, availableWidth, rects, elements }) {\n Object.assign(elements.floating.style, {\n maxHeight: `${availableHeight}px`,\n ...(minWidth !== undefined && {\n minWidth: `${\n minWidth === 'available-width'\n ? availableWidth\n : minWidth === 'trigger-width'\n ? rects.reference.width\n : minWidth\n }px`,\n }),\n ...(width !== undefined && {\n width: `${\n width === 'available-width' ? availableWidth : width === 'trigger-width' ? rects.reference.width : width\n }px`,\n }),\n ...(maxWidth !== undefined && {\n maxWidth: `${\n maxWidth === 'available-width'\n ? availableWidth\n : maxWidth === 'trigger-width'\n ? rects.reference.width\n : maxWidth\n }px`,\n }),\n });\n },\n })\n );\n\n const data = useFloating({\n placement: placement === 'client-point' ? 'left' : placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware,\n });\n\n const context = data.context;\n const clientPoint = useClientPoint(context, { enabled: placement === 'client-point' });\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n handleClose: safePolygon(),\n });\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: propsRole });\n\n const interactions = useInteractions([hover, dismiss, role, clientPoint]);\n\n return React.useMemo(\n () => ({\n color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n toggletipId,\n }),\n [\n color,\n isOpen,\n handleOpen,\n interactions,\n data,\n arrowRef,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n toggletipId,\n ]\n );\n}\n","import React, { useState } from 'react';\nimport { partitionComponents, isComponent, useTheme, ThemeProvider } from '@redsift/design-system';\nimport { ToggletipContent } from '../toggletip-content';\nimport { ToggletipTrigger } from '../toggletip-trigger';\n\nimport { ToggletipContext } from './context';\nimport { ToggletipPlacement, ToggletipProps } from './types';\nimport { useToggletip } from './useToggletip';\n\nconst COMPONENT_NAME = 'Toggletip';\nconst CLASSNAME = 'redsift-toggletip';\n\n/**\n * The Toggletip component.\n */\nexport const BaseToggletip: React.FC<ToggletipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n color,\n defaultOpen,\n isModal = false,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n overrideDisplayName,\n placement = ToggletipPlacement.bottom,\n role = 'dialog',\n theme: propsTheme,\n toggletipId,\n triggerClassName,\n width,\n } = props;\n\n const theme = useTheme(propsTheme);\n const [hideInsteadOfClose, setHideInsteadOfClose] = useState(false);\n\n const toggletip = useToggletip({\n color,\n defaultOpen,\n isModal,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n placement,\n role,\n toggletipId,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n width,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent(overrideDisplayName?.trigger ?? 'ToggletipTrigger'),\n isComponent(overrideDisplayName?.content ?? 'ToggletipContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <ToggletipContext.Provider value={toggletip}>\n {trigger && isComponent(overrideDisplayName?.trigger ?? 'ToggletipTrigger')(trigger) ? trigger : null}\n {content && isComponent(overrideDisplayName?.content ?? 'ToggletipContent')(content) ? content : null}\n </ToggletipContext.Provider>\n </ThemeProvider>\n );\n};\nBaseToggletip.className = CLASSNAME;\nBaseToggletip.displayName = COMPONENT_NAME;\n\nexport const Toggletip = Object.assign(BaseToggletip, {\n Trigger: ToggletipTrigger,\n Content: ToggletipContent,\n});\n"],"names":["useToggletip","_ref","color","defaultOpen","delay","isModal","isOpen","propsIsOpen","maxWidth","minWidth","offset","propsOffset","onOpen","placement","role","propsRole","toggletipId","propsToggletipId","triggerClassName","width","setHideInsteadOfClose","hideInsteadOfClose","arrowRef","useRef","setIsOpen","useState","_id","useId","useEffect","handleOpen","useCallback","collapsed","undefined","middleware","flip","fallbackAxisSideDirection","shift","padding","arrow","element","push","size","apply","_ref2","availableHeight","availableWidth","rects","elements","Object","assign","floating","style","_objectSpread","maxHeight","reference","data","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","context","clientPoint","useClientPoint","enabled","hover","useHover","move","close","handleClose","safePolygon","dismiss","useDismiss","useRole","interactions","useInteractions","React","useMemo","COMPONENT_NAME","CLASSNAME","BaseToggletip","props","_overrideDisplayName$","_overrideDisplayName$2","_overrideDisplayName$3","_overrideDisplayName$4","children","overrideDisplayName","ToggletipPlacement","bottom","theme","propsTheme","useTheme","toggletip","trigger","content","partitionComponents","Children","toArray","isComponent","createElement","ThemeProvider","value","ToggletipContext","Provider","className","displayName","Toggletip","Trigger","ToggletipTrigger","Content","ToggletipContent"],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { b as _extends, _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { forwardRef, useContext } from 'react';
|
|
3
|
+
import { useMergeRefs, FloatingPortal } from '@floating-ui/react';
|
|
4
|
+
import { baseContainer, Theme, AppContainerContext, useTheme } from '@redsift/design-system';
|
|
5
|
+
import styled, { css } from 'styled-components';
|
|
6
|
+
import classNames from 'classnames';
|
|
7
|
+
import { u as useToggletipContext } from './useToggletipContext.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Context props.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component variant.
|
|
15
|
+
*/
|
|
16
|
+
const ToggletipPlacement = {
|
|
17
|
+
top: 'top',
|
|
18
|
+
right: 'right',
|
|
19
|
+
bottom: 'bottom',
|
|
20
|
+
left: 'left',
|
|
21
|
+
'top-start': 'top-start',
|
|
22
|
+
'top-end': 'top-end',
|
|
23
|
+
'right-start': 'right-start',
|
|
24
|
+
'right-end': 'right-end',
|
|
25
|
+
'bottom-start': 'bottom-start',
|
|
26
|
+
'bottom-end': 'bottom-end',
|
|
27
|
+
'left-start': 'left-start',
|
|
28
|
+
'left-end': 'left-end'
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Component props.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Component style.
|
|
37
|
+
*/
|
|
38
|
+
const StyledToggletipContent = styled.div`
|
|
39
|
+
${baseContainer}
|
|
40
|
+
${_ref => {
|
|
41
|
+
let {
|
|
42
|
+
$theme
|
|
43
|
+
} = _ref;
|
|
44
|
+
return css`
|
|
45
|
+
color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
46
|
+
background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});
|
|
47
|
+
`;
|
|
48
|
+
}}
|
|
49
|
+
|
|
50
|
+
align-items: center;
|
|
51
|
+
border-radius: 4px;
|
|
52
|
+
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);
|
|
53
|
+
display: flex;
|
|
54
|
+
filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));
|
|
55
|
+
font-family: var(--redsift-typography-toggletip-font-family);
|
|
56
|
+
font-size: var(--redsift-typography-toggletip-font-size);
|
|
57
|
+
font-weight: var(--redsift-typography-toggletip-font-weight);
|
|
58
|
+
line-height: var(--redsift-typography-toggletip-line-height);
|
|
59
|
+
max-width: calc(100vw - 48px);
|
|
60
|
+
padding: 4px 8px;
|
|
61
|
+
z-index: var(--redsift-layout-z-index-toggletip);
|
|
62
|
+
|
|
63
|
+
.redsift-toggletip-content__arrow {
|
|
64
|
+
position: absolute;
|
|
65
|
+
width: 0;
|
|
66
|
+
height: 0;
|
|
67
|
+
border-color: ${_ref2 => {
|
|
68
|
+
let {
|
|
69
|
+
$theme
|
|
70
|
+
} = _ref2;
|
|
71
|
+
return $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`;
|
|
72
|
+
}};
|
|
73
|
+
border-style: solid;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
${_ref3 => {
|
|
77
|
+
let {
|
|
78
|
+
$placement
|
|
79
|
+
} = _ref3;
|
|
80
|
+
switch ($placement) {
|
|
81
|
+
case ToggletipPlacement['right-start']:
|
|
82
|
+
return css`
|
|
83
|
+
border-bottom-left-radius: 0;
|
|
84
|
+
`;
|
|
85
|
+
case ToggletipPlacement['right-end']:
|
|
86
|
+
return css`
|
|
87
|
+
border-top-left-radius: 0;
|
|
88
|
+
`;
|
|
89
|
+
case ToggletipPlacement['left-start']:
|
|
90
|
+
return css`
|
|
91
|
+
border-bottom-right-radius: 0;
|
|
92
|
+
`;
|
|
93
|
+
case ToggletipPlacement['left-end']:
|
|
94
|
+
return css`
|
|
95
|
+
border-top-right-radius: 0;
|
|
96
|
+
`;
|
|
97
|
+
default:
|
|
98
|
+
return css``;
|
|
99
|
+
}
|
|
100
|
+
}}
|
|
101
|
+
|
|
102
|
+
${_ref4 => {
|
|
103
|
+
let {
|
|
104
|
+
$placement
|
|
105
|
+
} = _ref4;
|
|
106
|
+
switch ($placement) {
|
|
107
|
+
case ToggletipPlacement.left:
|
|
108
|
+
case ToggletipPlacement['left-end']:
|
|
109
|
+
case ToggletipPlacement['left-start']:
|
|
110
|
+
return css`
|
|
111
|
+
.redsift-toggletip-content__arrow {
|
|
112
|
+
border-width: 6px 0 6px 6px;
|
|
113
|
+
border-top-color: transparent;
|
|
114
|
+
border-right-color: transparent;
|
|
115
|
+
border-bottom-color: transparent;
|
|
116
|
+
}
|
|
117
|
+
`;
|
|
118
|
+
case ToggletipPlacement.top:
|
|
119
|
+
case ToggletipPlacement['top-end']:
|
|
120
|
+
case ToggletipPlacement['top-start']:
|
|
121
|
+
return css`
|
|
122
|
+
.redsift-toggletip-content__arrow {
|
|
123
|
+
border-width: 6px 6px 0;
|
|
124
|
+
border-right-color: transparent;
|
|
125
|
+
border-bottom-color: transparent;
|
|
126
|
+
border-left-color: transparent;
|
|
127
|
+
}
|
|
128
|
+
`;
|
|
129
|
+
case ToggletipPlacement.right:
|
|
130
|
+
case ToggletipPlacement['right-end']:
|
|
131
|
+
case ToggletipPlacement['right-start']:
|
|
132
|
+
return css`
|
|
133
|
+
.redsift-toggletip-content__arrow {
|
|
134
|
+
border-width: 6px 6px 6px 0;
|
|
135
|
+
border-top-color: transparent;
|
|
136
|
+
border-bottom-color: transparent;
|
|
137
|
+
border-left-color: transparent;
|
|
138
|
+
}
|
|
139
|
+
`;
|
|
140
|
+
case ToggletipPlacement.bottom:
|
|
141
|
+
case ToggletipPlacement['bottom-end']:
|
|
142
|
+
case ToggletipPlacement['bottom-start']:
|
|
143
|
+
default:
|
|
144
|
+
return css`
|
|
145
|
+
.redsift-toggletip-content__arrow {
|
|
146
|
+
border-width: 0 6px 6px;
|
|
147
|
+
border-top-color: transparent;
|
|
148
|
+
border-right-color: transparent;
|
|
149
|
+
border-left-color: transparent;
|
|
150
|
+
}
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
}}
|
|
154
|
+
`;
|
|
155
|
+
|
|
156
|
+
const COMPONENT_NAME = 'ToggletipContent';
|
|
157
|
+
const CLASSNAME = 'redsift-toggletip-content';
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* The ToggletipContent component.
|
|
161
|
+
*/
|
|
162
|
+
const ToggletipContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
163
|
+
const {
|
|
164
|
+
children,
|
|
165
|
+
className,
|
|
166
|
+
style,
|
|
167
|
+
theme: propsTheme
|
|
168
|
+
} = props;
|
|
169
|
+
const appContainerState = useContext(AppContainerContext);
|
|
170
|
+
const {
|
|
171
|
+
getFloatingProps,
|
|
172
|
+
isOpen,
|
|
173
|
+
placement,
|
|
174
|
+
refs,
|
|
175
|
+
strategy,
|
|
176
|
+
x,
|
|
177
|
+
y,
|
|
178
|
+
middlewareData: {
|
|
179
|
+
arrow: {
|
|
180
|
+
x: arrowX,
|
|
181
|
+
y: arrowY
|
|
182
|
+
} = {}
|
|
183
|
+
}
|
|
184
|
+
} = useToggletipContext();
|
|
185
|
+
const theme = useTheme ? useTheme(propsTheme) : undefined;
|
|
186
|
+
const popoverRef = useMergeRefs([refs.setFloating, ref]);
|
|
187
|
+
const {
|
|
188
|
+
arrowRef
|
|
189
|
+
} = useToggletipContext();
|
|
190
|
+
const staticSide = {
|
|
191
|
+
top: 'bottom',
|
|
192
|
+
right: 'left',
|
|
193
|
+
bottom: 'top',
|
|
194
|
+
left: 'right'
|
|
195
|
+
}[placement.split('-')[0]];
|
|
196
|
+
return /*#__PURE__*/React.createElement(FloatingPortal, {
|
|
197
|
+
root: appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.appContainerRef.current
|
|
198
|
+
}, isOpen && /*#__PURE__*/React.createElement(StyledToggletipContent, _extends({
|
|
199
|
+
className: classNames(ToggletipContent.className, className),
|
|
200
|
+
ref: popoverRef,
|
|
201
|
+
$theme: theme
|
|
202
|
+
}, getFloatingProps(props), {
|
|
203
|
+
style: _objectSpread2({
|
|
204
|
+
position: strategy,
|
|
205
|
+
top: y !== null && y !== void 0 ? y : 0,
|
|
206
|
+
left: x !== null && x !== void 0 ? x : 0,
|
|
207
|
+
visibility: x == null ? 'hidden' : 'visible'
|
|
208
|
+
}, style),
|
|
209
|
+
$placement: placement
|
|
210
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
211
|
+
ref: arrowRef,
|
|
212
|
+
className: `${ToggletipContent.className}__arrow`,
|
|
213
|
+
style: {
|
|
214
|
+
left: arrowX != null ? `${arrowX}px` : '',
|
|
215
|
+
top: arrowY != null ? `${arrowY}px` : '',
|
|
216
|
+
[staticSide]: '-6px'
|
|
217
|
+
}
|
|
218
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
219
|
+
className: `${ToggletipContent.className}__inner`
|
|
220
|
+
}, children)));
|
|
221
|
+
});
|
|
222
|
+
ToggletipContent.className = CLASSNAME;
|
|
223
|
+
ToggletipContent.displayName = COMPONENT_NAME;
|
|
224
|
+
|
|
225
|
+
export { ToggletipPlacement as T, ToggletipContent as a };
|
|
226
|
+
//# sourceMappingURL=ToggletipContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggletipContent.js","sources":["../../src/components/toggletip/types.ts","../../src/components/toggletip-content/styles.ts","../../src/components/toggletip-content/ToggletipContent.tsx"],"sourcesContent":["import { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { useToggletip } from './useToggletip';\n\n/**\n * Context props.\n */\nexport type HiddenToggletipState = {\n /** Whether the toggletip should be hidden or removed from the DOM. */\n hideInsteadOfClose?: boolean;\n /** Method to set the hideInsteadOfClose prop. */\n setHideInsteadOfClose?: Dispatch<SetStateAction<boolean>>;\n};\nexport type ToggletipState =\n | (ReturnType<typeof useToggletip> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n } & HiddenToggletipState)\n | null;\n\n/**\n * Component variant.\n */\nexport const ToggletipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type ToggletipPlacement = ValueOf<typeof ToggletipPlacement>;\n\n/**\n * Component props.\n */\nexport interface ToggletipProps {\n /** Toggletip content width. Can be either based on the trigger, the available space or define with a number of pixels. */\n width?: 'trigger-width' | 'available-width' | number;\n /** Toggletip content min width. Can be either based on the trigger, the available space or define with a number of pixels. */\n minWidth?: 'trigger-width' | 'available-width' | number;\n /** Toggletip content max width. Can be either based on the trigger, the available space or define with a number of pixels. */\n maxWidth?: 'trigger-width' | 'available-width' | number;\n /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\n /** Children. Can only be ToggletipTrigger and ToggletipContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the toggletip. */\n placement?: ToggletipPlacement | 'client-point';\n /** Whether the toggletip is a modal or not. */\n isModal?: boolean;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Space between trigger and content (in pixels). */\n offset?: number;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Allows other components to be treated as trigger and content. */\n overrideDisplayName?: {\n content?: string;\n trigger?: string;\n };\n /** Id to the toggletip content. */\n toggletipId?: string;\n /** Role to apply to the toggletip. */\n role?: 'dialog';\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledToggletipProps = ToggletipProps;\n","import styled, { css } from 'styled-components';\nimport { Theme, baseContainer } from '@redsift/design-system';\nimport { ToggletipPlacement } from '../toggletip';\nimport { StyledToggletipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledToggletipContent = styled.div<StyledToggletipContentProps>`\n ${baseContainer}\n ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n align-items: center;\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-toggletip-font-family);\n font-size: var(--redsift-typography-toggletip-font-size);\n font-weight: var(--redsift-typography-toggletip-font-weight);\n line-height: var(--redsift-typography-toggletip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-toggletip);\n\n .redsift-toggletip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: ${({ $theme }) =>\n $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`};\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case ToggletipPlacement['right-start']:\n return css`\n border-bottom-left-radius: 0;\n `;\n case ToggletipPlacement['right-end']:\n return css`\n border-top-left-radius: 0;\n `;\n case ToggletipPlacement['left-start']:\n return css`\n border-bottom-right-radius: 0;\n `;\n case ToggletipPlacement['left-end']:\n return css`\n border-top-right-radius: 0;\n `;\n default:\n return css``;\n }\n }}\n\n ${({ $placement }) => {\n switch ($placement) {\n case ToggletipPlacement.left:\n case ToggletipPlacement['left-end']:\n case ToggletipPlacement['left-start']:\n return css`\n .redsift-toggletip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case ToggletipPlacement.top:\n case ToggletipPlacement['top-end']:\n case ToggletipPlacement['top-start']:\n return css`\n .redsift-toggletip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case ToggletipPlacement.right:\n case ToggletipPlacement['right-end']:\n case ToggletipPlacement['right-start']:\n return css`\n .redsift-toggletip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case ToggletipPlacement.bottom:\n case ToggletipPlacement['bottom-end']:\n case ToggletipPlacement['bottom-start']:\n default:\n return css`\n .redsift-toggletip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, useContext } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } from '@redsift/design-system';\nimport { ToggletipContentProps } from './types';\nimport { ToggletipPlacement, useToggletipContext } from '../toggletip';\nimport { StyledToggletipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'ToggletipContent';\nconst CLASSNAME = 'redsift-toggletip-content';\n\n/**\n * The ToggletipContent component.\n */\nexport const ToggletipContent: Comp<ToggletipContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme } = props;\n const appContainerState = useContext(AppContainerContext);\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useToggletipContext();\n const theme = useTheme ? useTheme(propsTheme) : undefined;\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useToggletipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledToggletipContent\n className={classNames(ToggletipContent.className, className)}\n ref={popoverRef}\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n $placement={placement as ToggletipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${ToggletipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${ToggletipContent.className}__inner`}>{children}</div>\n </StyledToggletipContent>\n )}\n </FloatingPortal>\n );\n});\nToggletipContent.className = CLASSNAME;\nToggletipContent.displayName = COMPONENT_NAME;\n"],"names":["ToggletipPlacement","top","right","bottom","left","StyledToggletipContent","styled","div","baseContainer","_ref","$theme","css","Theme","dark","_ref2","_ref3","$placement","_ref4","COMPONENT_NAME","CLASSNAME","ToggletipContent","forwardRef","props","ref","children","className","style","theme","propsTheme","appContainerState","useContext","AppContainerContext","getFloatingProps","isOpen","placement","refs","strategy","x","y","middlewareData","arrow","arrowX","arrowY","useToggletipContext","useTheme","undefined","popoverRef","useMergeRefs","setFloating","arrowRef","staticSide","split","React","createElement","FloatingPortal","root","appContainerRef","current","_extends","classNames","_objectSpread","position","visibility","displayName"],"mappings":";;;;;;;;AAIA;AACA;AACA;;AAcA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZ,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,SAAS,EAAE,SAAS;AACpB,EAAA,aAAa,EAAE,aAAa;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAA;AACd,EAAU;;AAGV;AACA;AACA;;ACpCA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGC,MAAM,CAACC,GAAiC,CAAA;AAC9E,EAAA,EAAIC,aAAc,CAAA;AAClB,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AACxB,uCAAyCD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AACzF,kDAAoDH,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,OAAQ,CAAA;AAC9F,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAA,EAAoBC,KAAA,IAAA;EAAA,IAAC;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAI,KAAA,CAAA;EAAA,OACzBJ,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAGF,GAAI,CAAA,kCAAA,CAAmC,GAAGA,GAAI,CAAmC,kCAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AAChH;AACA;AACA;AACA,EAAA,EAAII,KAAA,IAAoB;EAAA,IAAnB;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,KAAA,CAAA;AACf,EAAA,QAAQC,UAAU;IAChB,KAAKhB,kBAAkB,CAAC,aAAa,CAAC;AACpC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAAC,WAAW,CAAC;AAClC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAAC,YAAY,CAAC;AACnC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAAC,UAAU,CAAC;AACjC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;AACH,IAAA;AACE,MAAA,OAAOA,GAAI,CAAC,CAAA,CAAA;AAChB,GAAA;AACF,CAAE,CAAA;AACJ;AACA,EAAA,EAAIM,KAAA,IAAoB;EAAA,IAAnB;AAAED,IAAAA,UAAAA;AAAW,GAAC,GAAAC,KAAA,CAAA;AACf,EAAA,QAAQD,UAAU;IAChB,KAAKhB,kBAAkB,CAACI,IAAI,CAAA;IAC5B,KAAKJ,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACnC,KAAKA,kBAAkB,CAAC,YAAY,CAAC;AACnC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAACC,GAAG,CAAA;IAC3B,KAAKD,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAClC,KAAKA,kBAAkB,CAAC,WAAW,CAAC;AAClC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAACE,KAAK,CAAA;IAC7B,KAAKF,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACpC,KAAKA,kBAAkB,CAAC,aAAa,CAAC;AACpC,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKX,kBAAkB,CAACG,MAAM,CAAA;IAC9B,KAAKH,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACrC,KAAKA,kBAAkB,CAAC,cAAc,CAAC,CAAA;AACvC,IAAA;AACE,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AACL,GAAA;AACF,CAAE,CAAA;AACJ,CAAC;;ACpGD,MAAMO,cAAc,GAAG,kBAAkB,CAAA;AACzC,MAAMC,SAAS,GAAG,2BAA2B,CAAA;;AAE7C;AACA;AACA;AACO,MAAMC,gBAA6D,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtG,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,KAAK;AAAEC,IAAAA,KAAK,EAAEC,UAAAA;AAAW,GAAC,GAAGN,KAAK,CAAA;AAC/D,EAAA,MAAMO,iBAAiB,GAAGC,UAAU,CAACC,mBAAmB,CAAC,CAAA;EACzD,MAAM;IACJC,gBAAgB;IAChBC,MAAM;IACNC,SAAS;IACTC,IAAI;IACJC,QAAQ;IACRC,CAAC;IACDC,CAAC;AACDC,IAAAA,cAAc,EAAE;AAAEC,MAAAA,KAAK,EAAE;AAAEH,QAAAA,CAAC,EAAEI,MAAM;AAAEH,QAAAA,CAAC,EAAEI,MAAAA;AAAO,OAAC,GAAG,EAAC;AAAE,KAAA;GACxD,GAAGC,mBAAmB,EAAE,CAAA;EACzB,MAAMhB,KAAK,GAAGiB,QAAQ,GAAGA,QAAQ,CAAChB,UAAU,CAAC,GAAGiB,SAAS,CAAA;EACzD,MAAMC,UAAU,GAAGC,YAAY,CAAC,CAACZ,IAAI,CAACa,WAAW,EAAEzB,GAAG,CAAC,CAAC,CAAA;EAExD,MAAM;AAAE0B,IAAAA,QAAAA;GAAU,GAAGN,mBAAmB,EAAE,CAAA;AAE1C,EAAA,MAAMO,UAAU,GAAG;AACjBjD,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,KAAK;AACbC,IAAAA,IAAI,EAAE,OAAA;GACP,CAAC8B,SAAS,CAACiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1B,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,cAAc,EAAA;IAACC,IAAI,EAAE1B,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAE2B,eAAe,CAACC,OAAAA;GACtDxB,EAAAA,MAAM,iBACLmB,KAAA,CAAAC,aAAA,CAAChD,sBAAsB,EAAAqD,QAAA,CAAA;IACrBjC,SAAS,EAAEkC,UAAU,CAACvC,gBAAgB,CAACK,SAAS,EAAEA,SAAS,CAAE;AAC7DF,IAAAA,GAAG,EAAEuB,UAAW;AAChBpC,IAAAA,MAAM,EAAEiB,KAAAA;GACJK,EAAAA,gBAAgB,CAACV,KAAK,CAAC,EAAA;AAC3BI,IAAAA,KAAK,EAAAkC,cAAA,CAAA;AACHC,MAAAA,QAAQ,EAAEzB,QAAQ;AAClBnC,MAAAA,GAAG,EAAEqC,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACXlC,MAAAA,IAAI,EAAEiC,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACZyB,MAAAA,UAAU,EAAEzB,CAAC,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAA;AAAS,KAAA,EACzCX,KAAK,CACR;AACFV,IAAAA,UAAU,EAAEkB,SAAAA;GAEZkB,CAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE9B,IAAAA,GAAG,EAAE0B,QAAS;AACdxB,IAAAA,SAAS,EAAG,CAAA,EAAEL,gBAAgB,CAACK,SAAU,CAAS,OAAA,CAAA;AAClDC,IAAAA,KAAK,EAAE;MACLtB,IAAI,EAAEqC,MAAM,IAAI,IAAI,GAAI,CAAEA,EAAAA,MAAO,CAAG,EAAA,CAAA,GAAG,EAAE;MACzCxC,GAAG,EAAEyC,MAAM,IAAI,IAAI,GAAI,CAAEA,EAAAA,MAAO,CAAG,EAAA,CAAA,GAAG,EAAE;AACxC,MAAA,CAACQ,UAAU,GAAI,MAAA;AACjB,KAAA;AAAE,GACH,CAAC,eACFE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK5B,IAAAA,SAAS,EAAG,CAAA,EAAEL,gBAAgB,CAACK,SAAU,CAAA,OAAA,CAAA;GAAWD,EAAAA,QAAc,CACjD,CAEZ,CAAC,CAAA;AAErB,CAAC,EAAC;AACFJ,gBAAgB,CAACK,SAAS,GAAGN,SAAS,CAAA;AACtCC,gBAAgB,CAAC2C,WAAW,GAAG7C,cAAc;;;;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { b as _extends, _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { useMergeRefs } from '@floating-ui/react';
|
|
4
|
+
import { focusRing, isComponent } from '@redsift/design-system';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import { u as useToggletipContext } from './useToggletipContext.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Component style.
|
|
11
|
+
*/
|
|
12
|
+
const StyledToggletipTrigger = styled.button`
|
|
13
|
+
background: none;
|
|
14
|
+
border: none;
|
|
15
|
+
padding: 0;
|
|
16
|
+
margin: 0;
|
|
17
|
+
font: inherit;
|
|
18
|
+
color: inherit;
|
|
19
|
+
text-decoration: inherit;
|
|
20
|
+
cursor: default;
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
|
|
23
|
+
${focusRing}
|
|
24
|
+
`;
|
|
25
|
+
|
|
26
|
+
const COMPONENT_NAME = 'ToggletipTrigger';
|
|
27
|
+
const CLASSNAME = 'redsift-toggletip-trigger';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The ToggletipTrigger component.
|
|
31
|
+
*/
|
|
32
|
+
const ToggletipTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
33
|
+
const {
|
|
34
|
+
children
|
|
35
|
+
} = props;
|
|
36
|
+
const {
|
|
37
|
+
getReferenceProps,
|
|
38
|
+
isOpen,
|
|
39
|
+
handleOpen,
|
|
40
|
+
refs,
|
|
41
|
+
toggletipId,
|
|
42
|
+
triggerClassName,
|
|
43
|
+
color
|
|
44
|
+
} = useToggletipContext();
|
|
45
|
+
const childrenRef = children.ref;
|
|
46
|
+
const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);
|
|
47
|
+
if (isComponent('Icon')(children) || isComponent('Text')(children)) {
|
|
48
|
+
return /*#__PURE__*/React.createElement(StyledToggletipTrigger, _extends({}, getReferenceProps(_objectSpread2(_objectSpread2({
|
|
49
|
+
ref: triggerRef
|
|
50
|
+
}, props), {}, {
|
|
51
|
+
'aria-describedby': toggletipId
|
|
52
|
+
})), {
|
|
53
|
+
type: "button",
|
|
54
|
+
"aria-expanded": isOpen,
|
|
55
|
+
onClick: undefined,
|
|
56
|
+
onKeyDown: e => {
|
|
57
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
if (props.onClick) {
|
|
60
|
+
props.onClick(e);
|
|
61
|
+
} else {
|
|
62
|
+
handleOpen(!isOpen);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
className: classNames(triggerClassName)
|
|
67
|
+
}), /*#__PURE__*/React.cloneElement(children, _objectSpread2(_objectSpread2({}, children.props), {}, {
|
|
68
|
+
isActive: isOpen,
|
|
69
|
+
color: color !== null && color !== void 0 ? color : children.props.color
|
|
70
|
+
})));
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
});
|
|
74
|
+
ToggletipTrigger.className = CLASSNAME;
|
|
75
|
+
ToggletipTrigger.displayName = COMPONENT_NAME;
|
|
76
|
+
|
|
77
|
+
export { ToggletipTrigger as T };
|
|
78
|
+
//# sourceMappingURL=ToggletipTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggletipTrigger.js","sources":["../../src/components/toggletip-trigger/styles.ts","../../src/components/toggletip-trigger/ToggletipTrigger.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { StyledToggletipTriggerProps } from './types';\nimport { focusRing } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledToggletipTrigger = styled.button<StyledToggletipTriggerProps>`\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-decoration: inherit;\n cursor: default;\n display: inline-flex;\n\n ${focusRing}\n`;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { useToggletipContext } from '../toggletip';\nimport { ToggletipTriggerProps } from './types';\nimport classNames from 'classnames';\nimport { StyledToggletipTrigger } from './styles';\n\nconst COMPONENT_NAME = 'ToggletipTrigger';\nconst CLASSNAME = 'redsift-toggletip-trigger';\n\n/**\n * The ToggletipTrigger component.\n */\nexport const ToggletipTrigger: Comp<ToggletipTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs, toggletipId, triggerClassName, color } = useToggletipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (isComponent('Icon')(children) || isComponent('Text')(children)) {\n return (\n <StyledToggletipTrigger\n {...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': toggletipId,\n })}\n type=\"button\"\n aria-expanded={isOpen}\n onClick={undefined}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (props.onClick) {\n props.onClick(e as never);\n } else {\n handleOpen(!isOpen);\n }\n }\n }}\n className={classNames(triggerClassName)}\n >\n {React.cloneElement(children as ReactElement, {\n ...children.props,\n isActive: isOpen,\n color: color ?? children.props.color,\n })}\n </StyledToggletipTrigger>\n );\n }\n\n return null;\n});\nToggletipTrigger.className = CLASSNAME;\nToggletipTrigger.displayName = COMPONENT_NAME;\n"],"names":["StyledToggletipTrigger","styled","button","focusRing","COMPONENT_NAME","CLASSNAME","ToggletipTrigger","forwardRef","props","ref","children","getReferenceProps","isOpen","handleOpen","refs","toggletipId","triggerClassName","color","useToggletipContext","childrenRef","triggerRef","useMergeRefs","setReference","isComponent","React","createElement","_extends","_objectSpread","type","onClick","undefined","onKeyDown","e","key","preventDefault","className","classNames","cloneElement","isActive","displayName"],"mappings":";;;;;;;;AAIA;AACA;AACA;AACO,MAAMA,sBAAsB,GAAGC,MAAM,CAACC,MAAoC,CAAA;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,SAAU,CAAA;AACd,CAAC;;ACVD,MAAMC,cAAc,GAAG,kBAAkB,CAAA;AACzC,MAAMC,SAAS,GAAG,2BAA2B,CAAA;;AAE7C;AACA;AACA;AACO,MAAMC,gBAAgE,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACzG,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGF,KAAK,CAAA;EAE1B,MAAM;IAAEG,iBAAiB;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,WAAW;IAAEC,gBAAgB;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,mBAAmB,EAAE,CAAA;AACnH,EAAA,MAAMC,WAAW,GAAIT,QAAQ,CAASD,GAAG,CAAA;AACzC,EAAA,MAAMW,UAAU,GAAGC,YAAY,CAAC,CAACP,IAAI,CAACQ,YAAY,EAAEb,GAAG,EAAEU,WAAW,CAAC,CAAC,CAAA;AAEtE,EAAA,IAAII,WAAW,CAAC,MAAM,CAAC,CAACb,QAAQ,CAAC,IAAIa,WAAW,CAAC,MAAM,CAAC,CAACb,QAAQ,CAAC,EAAE;AAClE,IAAA,oBACEc,KAAA,CAAAC,aAAA,CAACzB,sBAAsB,EAAA0B,QAAA,CAAA,EAAA,EACjBf,iBAAiB,CAAAgB,cAAA,CAAAA,cAAA,CAAA;AACnBlB,MAAAA,GAAG,EAAEW,UAAAA;AAAU,KAAA,EACZZ,KAAK,CAAA,EAAA,EAAA,EAAA;AACR,MAAA,kBAAkB,EAAEO,WAAAA;AAAW,KAAA,CAChC,CAAC,EAAA;AACFa,MAAAA,IAAI,EAAC,QAAQ;AACb,MAAA,eAAA,EAAehB,MAAO;AACtBiB,MAAAA,OAAO,EAAEC,SAAU;MACnBC,SAAS,EAAGC,CAAC,IAAK;QAChB,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,EAAE;UACtCD,CAAC,CAACE,cAAc,EAAE,CAAA;UAClB,IAAI1B,KAAK,CAACqB,OAAO,EAAE;AACjBrB,YAAAA,KAAK,CAACqB,OAAO,CAACG,CAAU,CAAC,CAAA;AAC3B,WAAC,MAAM;YACLnB,UAAU,CAAC,CAACD,MAAM,CAAC,CAAA;AACrB,WAAA;AACF,SAAA;OACA;MACFuB,SAAS,EAAEC,UAAU,CAACpB,gBAAgB,CAAA;AAAE,KAAA,CAAA,eAEvCQ,KAAK,CAACa,YAAY,CAAC3B,QAAQ,EAAAiB,cAAA,CAAAA,cAAA,CAAA,EAAA,EACvBjB,QAAQ,CAACF,KAAK,CAAA,EAAA,EAAA,EAAA;AACjB8B,MAAAA,QAAQ,EAAE1B,MAAM;MAChBK,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIP,QAAQ,CAACF,KAAK,CAACS,KAAAA;AAAK,KAAA,CACrC,CACqB,CAAC,CAAA;AAE7B,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,EAAC;AACFX,gBAAgB,CAAC6B,SAAS,GAAG9B,SAAS,CAAA;AACtCC,gBAAgB,CAACiC,WAAW,GAAGnC,cAAc;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggletip-content.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggletip-trigger.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { T as ToggletipContext, u as useToggletipContext } from './useToggletipContext.js';
|
|
2
|
+
export { T as ToggletipPlacement } from './ToggletipContent.js';
|
|
3
|
+
export { B as BaseToggletip, T as Toggletip, u as useToggletip } from './Toggletip2.js';
|
|
4
|
+
//# sourceMappingURL=toggletip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggletip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
const ToggletipContext = /*#__PURE__*/React.createContext(null);
|
|
4
|
+
|
|
5
|
+
const useToggletipContext = () => {
|
|
6
|
+
const context = React.useContext(ToggletipContext);
|
|
7
|
+
if (context == null) {
|
|
8
|
+
throw new Error('Toggletip components must be wrapped in <Toggletip />');
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { ToggletipContext as T, useToggletipContext as u };
|
|
14
|
+
//# sourceMappingURL=useToggletipContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToggletipContext.js","sources":["../../src/components/toggletip/context.ts","../../src/components/toggletip/useToggletipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { ToggletipState } from './types';\n\nexport const ToggletipContext = React.createContext<ToggletipState | null>(null);\n","import React from 'react';\nimport { ToggletipContext } from './context';\n\nexport const useToggletipContext = () => {\n const context = React.useContext(ToggletipContext);\n\n if (context == null) {\n throw new Error('Toggletip components must be wrapped in <Toggletip />');\n }\n\n return context;\n};\n"],"names":["ToggletipContext","React","createContext","useToggletipContext","context","useContext","Error"],"mappings":";;AAGO,MAAMA,gBAAgB,gBAAGC,KAAK,CAACC,aAAa,CAAwB,IAAI;;ACAlEC,MAAAA,mBAAmB,GAAGA,MAAM;AACvC,EAAA,MAAMC,OAAO,GAAGH,KAAK,CAACI,UAAU,CAACL,gBAAgB,CAAC,CAAA;EAElD,IAAII,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC,CAAA;AAC1E,GAAA;AAEA,EAAA,OAAOF,OAAO,CAAA;AAChB;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -966,4 +966,241 @@ declare const WithTooltip: {
|
|
|
966
966
|
} & Omit<_redsift_design_system.LinkButtonProps, "ref">, HTMLButtonElement>;
|
|
967
967
|
};
|
|
968
968
|
|
|
969
|
-
|
|
969
|
+
declare function useToggletip({ color, defaultOpen, delay, isModal, isOpen: propsIsOpen, maxWidth, minWidth, offset: propsOffset, onOpen, placement, role: propsRole, toggletipId: propsToggletipId, triggerClassName, width, setHideInsteadOfClose, hideInsteadOfClose, }: Omit<ToggletipProps, 'children'> & HiddenToggletipState): {
|
|
970
|
+
arrowRef: React$1.MutableRefObject<null>;
|
|
971
|
+
isModal: boolean | undefined;
|
|
972
|
+
triggerClassName: string | undefined;
|
|
973
|
+
setHideInsteadOfClose: React$1.Dispatch<React$1.SetStateAction<boolean>> | undefined;
|
|
974
|
+
hideInsteadOfClose: boolean | undefined;
|
|
975
|
+
toggletipId: string;
|
|
976
|
+
placement: _floating_ui_utils.Placement;
|
|
977
|
+
strategy: _floating_ui_utils.Strategy;
|
|
978
|
+
middlewareData: _floating_ui_core.MiddlewareData;
|
|
979
|
+
x: number;
|
|
980
|
+
y: number;
|
|
981
|
+
isPositioned: boolean;
|
|
982
|
+
update: () => void;
|
|
983
|
+
floatingStyles: React$1.CSSProperties;
|
|
984
|
+
refs: {
|
|
985
|
+
reference: React$1.MutableRefObject<_floating_ui_react_dom.ReferenceType | null>;
|
|
986
|
+
floating: React$1.MutableRefObject<HTMLElement | null>;
|
|
987
|
+
setReference: (node: _floating_ui_react_dom.ReferenceType | null) => void;
|
|
988
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
989
|
+
} & _floating_ui_react.ExtendedRefs<_floating_ui_react.ReferenceType>;
|
|
990
|
+
elements: {
|
|
991
|
+
reference: _floating_ui_react_dom.ReferenceType | null;
|
|
992
|
+
floating: HTMLElement | null;
|
|
993
|
+
} & _floating_ui_react.ExtendedElements<_floating_ui_react.ReferenceType>;
|
|
994
|
+
context: {
|
|
995
|
+
x: number;
|
|
996
|
+
y: number;
|
|
997
|
+
placement: _floating_ui_utils.Placement;
|
|
998
|
+
strategy: _floating_ui_utils.Strategy;
|
|
999
|
+
middlewareData: _floating_ui_core.MiddlewareData;
|
|
1000
|
+
isPositioned: boolean;
|
|
1001
|
+
update: () => void;
|
|
1002
|
+
floatingStyles: React$1.CSSProperties;
|
|
1003
|
+
open: boolean;
|
|
1004
|
+
onOpenChange: (open: boolean, event?: Event | undefined, reason?: _floating_ui_react.OpenChangeReason | undefined) => void;
|
|
1005
|
+
events: _floating_ui_react.FloatingEvents;
|
|
1006
|
+
dataRef: React$1.MutableRefObject<_floating_ui_react.ContextData>;
|
|
1007
|
+
nodeId: string | undefined;
|
|
1008
|
+
floatingId: string | undefined;
|
|
1009
|
+
refs: _floating_ui_react.ExtendedRefs<_floating_ui_react.ReferenceType>;
|
|
1010
|
+
elements: _floating_ui_react.ExtendedElements<_floating_ui_react.ReferenceType>;
|
|
1011
|
+
};
|
|
1012
|
+
getReferenceProps: (userProps?: React$1.HTMLProps<Element> | undefined) => Record<string, unknown>;
|
|
1013
|
+
getFloatingProps: (userProps?: React$1.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
|
|
1014
|
+
getItemProps: (userProps?: (Omit<React$1.HTMLProps<HTMLElement>, "active" | "selected"> & {
|
|
1015
|
+
active?: boolean | undefined;
|
|
1016
|
+
selected?: boolean | undefined;
|
|
1017
|
+
}) | undefined) => Record<string, unknown>;
|
|
1018
|
+
color: string | undefined;
|
|
1019
|
+
isOpen: boolean | undefined;
|
|
1020
|
+
handleOpen: (collapsed: boolean) => void;
|
|
1021
|
+
};
|
|
1022
|
+
|
|
1023
|
+
/**
|
|
1024
|
+
* Context props.
|
|
1025
|
+
*/
|
|
1026
|
+
type HiddenToggletipState = {
|
|
1027
|
+
/** Whether the toggletip should be hidden or removed from the DOM. */
|
|
1028
|
+
hideInsteadOfClose?: boolean;
|
|
1029
|
+
/** Method to set the hideInsteadOfClose prop. */
|
|
1030
|
+
setHideInsteadOfClose?: Dispatch<SetStateAction<boolean>>;
|
|
1031
|
+
};
|
|
1032
|
+
type ToggletipState = (ReturnType<typeof useToggletip> & {
|
|
1033
|
+
/** Class name to append to the trigger. */
|
|
1034
|
+
readonly triggerClassName?: string;
|
|
1035
|
+
} & HiddenToggletipState) | null;
|
|
1036
|
+
/**
|
|
1037
|
+
* Component variant.
|
|
1038
|
+
*/
|
|
1039
|
+
declare const ToggletipPlacement: {
|
|
1040
|
+
readonly top: "top";
|
|
1041
|
+
readonly right: "right";
|
|
1042
|
+
readonly bottom: "bottom";
|
|
1043
|
+
readonly left: "left";
|
|
1044
|
+
readonly 'top-start': "top-start";
|
|
1045
|
+
readonly 'top-end': "top-end";
|
|
1046
|
+
readonly 'right-start': "right-start";
|
|
1047
|
+
readonly 'right-end': "right-end";
|
|
1048
|
+
readonly 'bottom-start': "bottom-start";
|
|
1049
|
+
readonly 'bottom-end': "bottom-end";
|
|
1050
|
+
readonly 'left-start': "left-start";
|
|
1051
|
+
readonly 'left-end': "left-end";
|
|
1052
|
+
};
|
|
1053
|
+
type ToggletipPlacement = ValueOf<typeof ToggletipPlacement>;
|
|
1054
|
+
/**
|
|
1055
|
+
* Component props.
|
|
1056
|
+
*/
|
|
1057
|
+
interface ToggletipProps {
|
|
1058
|
+
/** Toggletip content width. Can be either based on the trigger, the available space or define with a number of pixels. */
|
|
1059
|
+
width?: 'trigger-width' | 'available-width' | number;
|
|
1060
|
+
/** Toggletip content min width. Can be either based on the trigger, the available space or define with a number of pixels. */
|
|
1061
|
+
minWidth?: 'trigger-width' | 'available-width' | number;
|
|
1062
|
+
/** Toggletip content max width. Can be either based on the trigger, the available space or define with a number of pixels. */
|
|
1063
|
+
maxWidth?: 'trigger-width' | 'available-width' | number;
|
|
1064
|
+
/** Button color that will be forward to the trigger. */
|
|
1065
|
+
color?: ButtonColor;
|
|
1066
|
+
/** Children. Can only be ToggletipTrigger and ToggletipContent. */
|
|
1067
|
+
children: ReactNode;
|
|
1068
|
+
/**
|
|
1069
|
+
* Default open status.
|
|
1070
|
+
* Used for uncontrolled version.
|
|
1071
|
+
*/
|
|
1072
|
+
defaultOpen?: boolean;
|
|
1073
|
+
/** Delay time (in ms) for the tooltip to show up. */
|
|
1074
|
+
delay?: number;
|
|
1075
|
+
/** Default placement of the toggletip. */
|
|
1076
|
+
placement?: ToggletipPlacement | 'client-point';
|
|
1077
|
+
/** Whether the toggletip is a modal or not. */
|
|
1078
|
+
isModal?: boolean;
|
|
1079
|
+
/**
|
|
1080
|
+
* Whether the component is opened or not.
|
|
1081
|
+
* Used for controlled version.
|
|
1082
|
+
*/
|
|
1083
|
+
isOpen?: boolean;
|
|
1084
|
+
/** Space between trigger and content (in pixels). */
|
|
1085
|
+
offset?: number;
|
|
1086
|
+
/** Method to handle component change. */
|
|
1087
|
+
onOpen?: (open: boolean) => void;
|
|
1088
|
+
/** Allows other components to be treated as trigger and content. */
|
|
1089
|
+
overrideDisplayName?: {
|
|
1090
|
+
content?: string;
|
|
1091
|
+
trigger?: string;
|
|
1092
|
+
};
|
|
1093
|
+
/** Id to the toggletip content. */
|
|
1094
|
+
toggletipId?: string;
|
|
1095
|
+
/** Role to apply to the toggletip. */
|
|
1096
|
+
role?: 'dialog';
|
|
1097
|
+
/** Theme. */
|
|
1098
|
+
theme?: Theme;
|
|
1099
|
+
/** Class name to append to the trigger. */
|
|
1100
|
+
triggerClassName?: string;
|
|
1101
|
+
}
|
|
1102
|
+
type StyledToggletipProps = ToggletipProps;
|
|
1103
|
+
|
|
1104
|
+
declare const ToggletipContext: React$1.Context<ToggletipState>;
|
|
1105
|
+
|
|
1106
|
+
/**
|
|
1107
|
+
* Component props.
|
|
1108
|
+
*/
|
|
1109
|
+
interface ToggletipContentProps extends ComponentProps<'div'>, Omit<ContainerProps, keyof InternalSpacingProps> {
|
|
1110
|
+
/** Theme. */
|
|
1111
|
+
theme?: Theme;
|
|
1112
|
+
}
|
|
1113
|
+
type StyledToggletipContentProps = ToggletipContentProps & {
|
|
1114
|
+
$placement: ToggletipPlacement;
|
|
1115
|
+
$theme: Theme;
|
|
1116
|
+
};
|
|
1117
|
+
|
|
1118
|
+
/**
|
|
1119
|
+
* The ToggletipContent component.
|
|
1120
|
+
*/
|
|
1121
|
+
declare const ToggletipContent: Comp<ToggletipContentProps, HTMLDivElement>;
|
|
1122
|
+
|
|
1123
|
+
/**
|
|
1124
|
+
* Component props.
|
|
1125
|
+
*/
|
|
1126
|
+
interface ToggletipTriggerProps extends ComponentProps<'button'>, StylingProps {
|
|
1127
|
+
}
|
|
1128
|
+
type StyledToggletipTriggerProps = ToggletipTriggerProps & {};
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* The ToggletipTrigger component.
|
|
1132
|
+
*/
|
|
1133
|
+
declare const ToggletipTrigger: Comp<ToggletipTriggerProps, HTMLButtonElement>;
|
|
1134
|
+
|
|
1135
|
+
/**
|
|
1136
|
+
* The Toggletip component.
|
|
1137
|
+
*/
|
|
1138
|
+
declare const BaseToggletip: React$1.FC<ToggletipProps> & {
|
|
1139
|
+
displayName?: string;
|
|
1140
|
+
className?: string;
|
|
1141
|
+
};
|
|
1142
|
+
declare const Toggletip: React$1.FC<ToggletipProps> & {
|
|
1143
|
+
displayName?: string | undefined;
|
|
1144
|
+
className?: string | undefined;
|
|
1145
|
+
} & {
|
|
1146
|
+
Trigger: _redsift_design_system.Comp<ToggletipTriggerProps, HTMLButtonElement>;
|
|
1147
|
+
Content: _redsift_design_system.Comp<ToggletipContentProps, HTMLDivElement>;
|
|
1148
|
+
};
|
|
1149
|
+
|
|
1150
|
+
declare const useToggletipContext: () => {
|
|
1151
|
+
arrowRef: React$1.MutableRefObject<null>;
|
|
1152
|
+
isModal: boolean | undefined;
|
|
1153
|
+
triggerClassName: string | undefined;
|
|
1154
|
+
setHideInsteadOfClose: React$1.Dispatch<React$1.SetStateAction<boolean>> | undefined;
|
|
1155
|
+
hideInsteadOfClose: boolean | undefined;
|
|
1156
|
+
toggletipId: string;
|
|
1157
|
+
placement: _floating_ui_utils.Placement;
|
|
1158
|
+
strategy: _floating_ui_utils.Strategy;
|
|
1159
|
+
middlewareData: _floating_ui_core.MiddlewareData;
|
|
1160
|
+
x: number;
|
|
1161
|
+
y: number;
|
|
1162
|
+
isPositioned: boolean;
|
|
1163
|
+
update: () => void;
|
|
1164
|
+
floatingStyles: React$1.CSSProperties;
|
|
1165
|
+
refs: {
|
|
1166
|
+
reference: React$1.MutableRefObject<_floating_ui_react_dom.ReferenceType | null>;
|
|
1167
|
+
floating: React$1.MutableRefObject<HTMLElement | null>;
|
|
1168
|
+
setReference: (node: _floating_ui_react_dom.ReferenceType | null) => void;
|
|
1169
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
1170
|
+
} & _floating_ui_react.ExtendedRefs<_floating_ui_react.ReferenceType>;
|
|
1171
|
+
elements: {
|
|
1172
|
+
reference: _floating_ui_react_dom.ReferenceType | null;
|
|
1173
|
+
floating: HTMLElement | null;
|
|
1174
|
+
} & _floating_ui_react.ExtendedElements<_floating_ui_react.ReferenceType>;
|
|
1175
|
+
context: {
|
|
1176
|
+
x: number;
|
|
1177
|
+
y: number;
|
|
1178
|
+
placement: _floating_ui_utils.Placement;
|
|
1179
|
+
strategy: _floating_ui_utils.Strategy;
|
|
1180
|
+
middlewareData: _floating_ui_core.MiddlewareData;
|
|
1181
|
+
isPositioned: boolean;
|
|
1182
|
+
update: () => void;
|
|
1183
|
+
floatingStyles: React$1.CSSProperties;
|
|
1184
|
+
open: boolean;
|
|
1185
|
+
onOpenChange: (open: boolean, event?: Event | undefined, reason?: _floating_ui_react.OpenChangeReason | undefined) => void;
|
|
1186
|
+
events: _floating_ui_react.FloatingEvents;
|
|
1187
|
+
dataRef: React$1.MutableRefObject<_floating_ui_react.ContextData>;
|
|
1188
|
+
nodeId: string | undefined;
|
|
1189
|
+
floatingId: string | undefined;
|
|
1190
|
+
refs: _floating_ui_react.ExtendedRefs<_floating_ui_react.ReferenceType>;
|
|
1191
|
+
elements: _floating_ui_react.ExtendedElements<_floating_ui_react.ReferenceType>;
|
|
1192
|
+
};
|
|
1193
|
+
getReferenceProps: (userProps?: React$1.HTMLProps<Element> | undefined) => Record<string, unknown>;
|
|
1194
|
+
getFloatingProps: (userProps?: React$1.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
|
|
1195
|
+
getItemProps: (userProps?: (Omit<React$1.HTMLProps<HTMLElement>, "active" | "selected"> & {
|
|
1196
|
+
active?: boolean | undefined;
|
|
1197
|
+
selected?: boolean | undefined;
|
|
1198
|
+
}) | undefined) => Record<string, unknown>;
|
|
1199
|
+
color: string | undefined;
|
|
1200
|
+
isOpen: boolean | undefined;
|
|
1201
|
+
handleOpen: (collapsed: boolean) => void;
|
|
1202
|
+
} & {
|
|
1203
|
+
readonly triggerClassName?: string | undefined;
|
|
1204
|
+
} & HiddenToggletipState;
|
|
1205
|
+
|
|
1206
|
+
export { BaseDialog, BaseDialogContent, BasePopover, BaseToggletip, BaseTooltip, ButtonLinkWithTooltip, ButtonWithTooltip, Dialog, DialogContent, DialogContentActions, DialogContentActionsProps, DialogContentBody, DialogContentBodyProps, DialogContentHeader, DialogContentHeaderProps, DialogContentProps, DialogContext, DialogProps, DialogSize, DialogState, DialogTrigger, DialogTriggerProps, HiddenPopoverState, HiddenToggletipState, IconButtonLinkWithTooltip, IconButtonWithTooltip, LinkButtonWithTooltip, LinkWithTooltip, Popover, PopoverContent, PopoverContentProps, PopoverContext, PopoverPlacement, PopoverProps, PopoverState, PopoverTrigger, PopoverTriggerProps, StyledDialogContentActionsProps, StyledDialogContentBodyProps, StyledDialogContentHeaderProps, StyledDialogContentProps, StyledDialogProps, StyledPopoverContent, StyledPopoverContentProps, StyledPopoverProps, StyledToastContainerProps, StyledToastProps, StyledToggletipContentProps, StyledToggletipProps, StyledToggletipTriggerProps, StyledTooltipContentProps, StyledTooltipProps, Toast, ToastContainer, ToastContainerProps, ToastOptions, ToastPlacement, ToastProps, ToastVariant, Toggletip, ToggletipContent, ToggletipContentProps, ToggletipContext, ToggletipPlacement, ToggletipProps, ToggletipState, ToggletipTrigger, ToggletipTriggerProps, Tooltip, TooltipContent, TooltipContentProps, TooltipContext, TooltipPlacement, TooltipProps, TooltipState, TooltipTrigger, TooltipTriggerProps, WithTooltip, sizeToDimension, useDialog, useDialogContext, usePopover, usePopoverContext, useToast, useToastProps, useToastReturnType, useToggletip, useToggletipContext, useTooltip, useTooltipContext };
|
package/index.js
CHANGED
|
@@ -16,4 +16,8 @@ export { T as ToastContainer, u as useToast } from './_internal/useToast.js';
|
|
|
16
16
|
export { T as TooltipContext, u as useTooltipContext } from './_internal/useTooltipContext.js';
|
|
17
17
|
export { a as TooltipContent, T as TooltipPlacement } from './_internal/types.js';
|
|
18
18
|
export { T as TooltipTrigger } from './_internal/TooltipTrigger.js';
|
|
19
|
+
export { T as ToggletipContext, u as useToggletipContext } from './_internal/useToggletipContext.js';
|
|
20
|
+
export { a as ToggletipContent, T as ToggletipPlacement } from './_internal/ToggletipContent.js';
|
|
21
|
+
export { B as BaseToggletip, T as Toggletip, u as useToggletip } from './_internal/Toggletip2.js';
|
|
22
|
+
export { T as ToggletipTrigger } from './_internal/ToggletipTrigger.js';
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"test": "yarn test:unit && yarn test:storybook"
|
|
31
31
|
},
|
|
32
32
|
"types": "index.d.ts",
|
|
33
|
-
"version": "11.
|
|
33
|
+
"version": "11.9.0",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@floating-ui/react": "^0.27.5",
|
|
36
36
|
"classnames": "^2.3.1",
|
|
@@ -86,11 +86,11 @@
|
|
|
86
86
|
"ts-jest": "^28.0.3"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@redsift/design-system": "^11.
|
|
90
|
-
"@redsift/icons": "^11.
|
|
89
|
+
"@redsift/design-system": "^11.9.0-0",
|
|
90
|
+
"@redsift/icons": "^11.9.0-0",
|
|
91
91
|
"react": ">=17",
|
|
92
92
|
"react-dom": ">=17",
|
|
93
93
|
"styled-components": "^5.3.5"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "10bc298f5ff0cf5aa232f597f597ac2b7ccba5be"
|
|
96
96
|
}
|