@semcore/base-components 17.0.0-prerelease.29 → 17.0.0-prerelease.31
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/CHANGELOG.md +1 -1
- package/lib/cjs/components/ellipsis/Ellipsis.types.js.map +1 -1
- package/lib/cjs/components/ellipsis/EllipsisManager.js +16 -3
- package/lib/cjs/components/ellipsis/EllipsisManager.js.map +1 -1
- package/lib/cjs/components/hint/Hint.js +38 -28
- package/lib/cjs/components/hint/Hint.js.map +1 -1
- package/lib/cjs/components/hint/Middleware.js +4 -2
- package/lib/cjs/components/hint/Middleware.js.map +1 -1
- package/lib/cjs/components/hint/style/hint.shadow.css +3 -2
- package/lib/es6/components/ellipsis/Ellipsis.types.js.map +1 -1
- package/lib/es6/components/ellipsis/EllipsisManager.js +16 -3
- package/lib/es6/components/ellipsis/EllipsisManager.js.map +1 -1
- package/lib/es6/components/hint/Hint.js +38 -28
- package/lib/es6/components/hint/Hint.js.map +1 -1
- package/lib/es6/components/hint/Middleware.js +4 -2
- package/lib/es6/components/hint/Middleware.js.map +1 -1
- package/lib/es6/components/hint/style/hint.shadow.css +3 -2
- package/lib/esm/components/ellipsis/EllipsisManager.mjs +17 -4
- package/lib/esm/components/flex-box/invalid-state-box/InvalidStateBox.mjs +1 -2
- package/lib/esm/components/flex-box/screen-reader-only-box/ScreenReaderOnlyBox.mjs +1 -2
- package/lib/esm/components/hint/Hint.mjs +39 -30
- package/lib/esm/components/hint/Middleware.mjs +4 -2
- package/lib/esm/components/hint/style/hint.shadow.css +3 -2
- package/lib/esm/components/neighbor-location/NeighborLocation.mjs +1 -1
- package/lib/esm/index.mjs +24 -24
- package/lib/types/components/ellipsis/Ellipsis.types.d.ts +5 -5
- package/package.json +3 -3
|
@@ -45,16 +45,16 @@ const keyframes = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start
|
|
|
45
45
|
import { Box } from '../flex-box';
|
|
46
46
|
import { Portal } from '../portal';
|
|
47
47
|
/*!__reshadow-styles__:"./style/hint.shadow.css"*/
|
|
48
|
-
const styles = (/*__reshadow_css_start__*/_sstyled2.insert(/*__inner_css_start__*/".
|
|
48
|
+
const styles = (/*__reshadow_css_start__*/_sstyled2.insert(/*__inner_css_start__*/".___SHintPopper_19wzn_gg_{width:-moz-max-content;width:max-content;position:absolute;top:0;left:0;max-width:250px;word-wrap:break-word;opacity:0;pointer-events:none;background:var(--intergalactic-tooltip-invert, #191b23);border:1px solid var(--intergalactic-border-tooltip-invert, #6c6e79);color:var(--intergalactic-text-primary-invert, #ffffff);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-2x, 8px);border-radius:var(--intergalactic-rounded-small, 4px);font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));animation-fill-mode:both;animation-timing-function:var(--timingFunction_19wzn);animation-duration:var(--durationFinalize_19wzn);animation-name:var(--keyframesFinalize_19wzn)}.___SHintPopper_19wzn_gg_.__visible_19wzn_gg_{animation-duration:var(--durationInitialize_19wzn);animation-name:var(--keyframesInitialize_19wzn)}@media (prefers-reduced-motion){.___SHintPopper_19wzn_gg_,.___SHintPopper_19wzn_gg_.__visible_19wzn_gg_{animation-timing-function:step-end;animation-iteration-count:1}}", /*__inner_css_end__*/"19wzn_gg_"),
|
|
49
49
|
/*__reshadow_css_end__*/
|
|
50
50
|
{
|
|
51
|
-
"__SHintPopper": "
|
|
52
|
-
"_visible": "
|
|
53
|
-
"--timingFunction": "--
|
|
54
|
-
"--durationFinalize": "--
|
|
55
|
-
"--keyframesFinalize": "--
|
|
56
|
-
"--durationInitialize": "--
|
|
57
|
-
"--keyframesInitialize": "--
|
|
51
|
+
"__SHintPopper": "___SHintPopper_19wzn_gg_",
|
|
52
|
+
"_visible": "__visible_19wzn_gg_",
|
|
53
|
+
"--timingFunction": "--timingFunction_19wzn",
|
|
54
|
+
"--durationFinalize": "--durationFinalize_19wzn",
|
|
55
|
+
"--keyframesFinalize": "--keyframesFinalize_19wzn",
|
|
56
|
+
"--durationInitialize": "--durationInitialize_19wzn",
|
|
57
|
+
"--keyframesInitialize": "--keyframesInitialize_19wzn"
|
|
58
58
|
});
|
|
59
59
|
const enhances = [zIndexStackingEnhance('z-index-tooltip'), cssVariableEnhance({
|
|
60
60
|
variable: '--intergalactic-duration-popper',
|
|
@@ -88,7 +88,7 @@ class HintPopperRoot extends Component {
|
|
|
88
88
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
|
89
89
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
90
90
|
this.state = {
|
|
91
|
-
innerVisible:
|
|
91
|
+
innerVisible: null,
|
|
92
92
|
calculatedPlacement: props.placement
|
|
93
93
|
};
|
|
94
94
|
}
|
|
@@ -98,8 +98,12 @@ class HintPopperRoot extends Component {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
componentDidMount() {
|
|
101
|
-
const
|
|
102
|
-
|
|
101
|
+
const {
|
|
102
|
+
triggerRef,
|
|
103
|
+
children
|
|
104
|
+
} = this.asProps;
|
|
105
|
+
const trigger = triggerRef.current;
|
|
106
|
+
if (trigger && children) {
|
|
103
107
|
this.subscribe(trigger);
|
|
104
108
|
}
|
|
105
109
|
}
|
|
@@ -176,7 +180,6 @@ class HintPopperRoot extends Component {
|
|
|
176
180
|
left: `${x}px`,
|
|
177
181
|
top: `${y}px`
|
|
178
182
|
});
|
|
179
|
-
popperElement.style.visibility = 'visible';
|
|
180
183
|
this.setState({
|
|
181
184
|
innerVisible: true,
|
|
182
185
|
calculatedPlacement: placement
|
|
@@ -194,43 +197,50 @@ class HintPopperRoot extends Component {
|
|
|
194
197
|
if (this.showTimer) {
|
|
195
198
|
clearTimeout(this.showTimer);
|
|
196
199
|
}
|
|
197
|
-
this.
|
|
198
|
-
innerVisible: false
|
|
199
|
-
});
|
|
200
|
-
this.hideTimer = window.setTimeout(() => {
|
|
201
|
-
this.hintRef.current?.style.setProperty('visibility', 'hidden');
|
|
202
|
-
this.handlers.visible(false);
|
|
200
|
+
if (this.state.innerVisible) {
|
|
203
201
|
this.setState({
|
|
204
|
-
innerVisible:
|
|
202
|
+
innerVisible: false
|
|
205
203
|
});
|
|
206
|
-
|
|
204
|
+
this.hideTimer = window.setTimeout(() => {
|
|
205
|
+
this.handlers.visible(false);
|
|
206
|
+
this.setState({
|
|
207
|
+
innerVisible: null
|
|
208
|
+
});
|
|
209
|
+
}, hideTimeout);
|
|
210
|
+
}
|
|
207
211
|
}
|
|
208
212
|
handleFocus(e) {
|
|
209
|
-
if (e.target
|
|
213
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && lastInteraction.isKeyboard()) {
|
|
210
214
|
this.showHint(e.target);
|
|
211
215
|
}
|
|
212
216
|
}
|
|
213
217
|
handleBlur(e) {
|
|
214
|
-
if (e.target
|
|
218
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
215
219
|
this.hideHint();
|
|
216
220
|
}
|
|
217
221
|
}
|
|
218
222
|
handleKeyDown(e) {
|
|
219
|
-
if (e.key === 'Escape' && e.target
|
|
223
|
+
if (e.key === 'Escape' && this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && this.state.innerVisible) {
|
|
220
224
|
e.stopPropagation();
|
|
221
225
|
this.hideHint();
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
handleMouseEnter(e) {
|
|
225
|
-
if (e.target
|
|
229
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
226
230
|
this.showHint(e.target, e);
|
|
227
231
|
}
|
|
228
232
|
}
|
|
229
233
|
handleMouseLeave(e) {
|
|
230
|
-
if (e.target
|
|
234
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
231
235
|
this.hideHint();
|
|
232
236
|
}
|
|
233
237
|
}
|
|
238
|
+
isCompatibleElement(target) {
|
|
239
|
+
return target instanceof HTMLElement || target instanceof SVGElement;
|
|
240
|
+
}
|
|
241
|
+
sameAsTrigger(e) {
|
|
242
|
+
return this.asProps.triggerRef.current === e.target;
|
|
243
|
+
}
|
|
234
244
|
keyframesKey(placement) {
|
|
235
245
|
if (!placement) {
|
|
236
246
|
return 'opacity';
|
|
@@ -281,7 +291,7 @@ class HintPopperRoot extends Component {
|
|
|
281
291
|
if (canUseDOM()) {
|
|
282
292
|
this.setTriggerAriaLabel();
|
|
283
293
|
}
|
|
284
|
-
if (!visible) {
|
|
294
|
+
if (!visible && innerVisible === null) {
|
|
285
295
|
return null;
|
|
286
296
|
}
|
|
287
297
|
const duration = propToArray(Number(this.asProps.duration));
|
|
@@ -298,8 +308,8 @@ class HintPopperRoot extends Component {
|
|
|
298
308
|
"durationInitialize": `${duration[0]}ms`,
|
|
299
309
|
"durationFinalize": `${duration[1]}ms`,
|
|
300
310
|
"timingFunction": timingFunction,
|
|
301
|
-
"keyframesInitialize": keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`],
|
|
302
|
-
"keyframesFinalize": keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`],
|
|
311
|
+
"keyframesInitialize": innerVisible === true ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`] : undefined,
|
|
312
|
+
"keyframesFinalize": innerVisible === false ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`] : undefined,
|
|
303
313
|
"use:data-ui-name": 'Hint'
|
|
304
314
|
}, _ref)
|
|
305
315
|
}), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hint.js","names":["computePosition","flip","offset","shift","createComponent","Root","sstyled","Component","lastInteraction","canUseDOM","getAccessibleName","cssVariableEnhance","zIndexStackingEnhance","React","Middleware","keyframes","_sstyled","insert","Box","Portal","styles","_sstyled2","enhances","variable","fallback","map","v","Number","parseInt","toString","prop","propToArray","Array","isArray","keyframesMap","Map","HintPopperRoot","constructor","props","_defineProperty","createRef","handleFocus","bind","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","state","innerVisible","visible","calculatedPlacement","placement","uncontrolledProps","componentDidMount","trigger","asProps","triggerRef","current","subscribe","componentWillUnmount","unsubscribe","componentDidUpdate","prevProps","requestAnimationFrame","showHint","hideHint","addEventListener","removeEventListener","node","mouseEvent","timeout","showTimeout","hideTimer","clearTimeout","showTimer","window","setTimeout","handlers","popperElement","hintRef","middleware","padding","verticalPlacement","startsWith","undefined","push","verticalCursorAnchoring","x","clientX","then","y","Object","assign","style","left","top","visibility","setState","hideTimeout","setProperty","e","target","HTMLElement","isKeyboard","key","stopPropagation","keyframesKey","has","get","keyframe","set","setTriggerAriaLabel","children","textContent","ariaLabel","label","setAttribute","render","_ref","_ref2","SHintPopper","Children","parentZIndexStacking","timingFunction","duration","createElement","cn","_assignProps","defaultVisible","Hint"],"sources":["../../../../src/components/hint/Hint.tsx"],"sourcesContent":["import { computePosition, flip, offset, shift, type Placement } from '@floating-ui/dom';\nimport { createComponent, Root, sstyled, Component, lastInteraction } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { getAccessibleName } from '@semcore/core/lib/utils/getAccessibleName';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport { zIndexStackingEnhance } from '@semcore/core/lib/utils/zIndexStacking';\nimport type { DataType } from 'csstype';\nimport React from 'react';\n\nimport { Middleware } from './Middleware';\nimport keyframes from '../animation/style/keyframes.shadow.css';\nimport { Box } from '../flex-box';\nimport { Portal } from '../portal';\nimport styles from './style/hint.shadow.css';\n\ntype Handlers = {\n visible: null;\n};\n\nexport type SimpleHintPopperProps = {\n /** Ref to the trigger element */\n triggerRef: React.RefObject<HTMLElement | null>;\n /**\n * The position of the popper relative to the trigger that called it.\n * @default top\n */\n placement?: Placement;\n /**\n * Timer to show and hide the popper\n * @default [500, 500]\n */\n timeout?: DefaultProps['timeout'];\n /**\n * Hint content.\n * Better to use here some short text.\n * */\n children: React.ReactNode;\n\n /** Popper visibility value */\n visible?: boolean;\n /** Default popper visibility\n * @default false */\n defaultVisible?: boolean;\n /** Function called when visibility changes */\n onVisibleChange?: (visible: boolean, e?: Event) => boolean | void;\n};\n\ntype DefaultProps = {\n defaultVisible?: boolean;\n timeout: number | [number, number];\n timingFunction: DataType.EasingFunction;\n placement?: Placement;\n};\n\ntype State = {\n innerVisible: boolean | null;\n calculatedPlacement?: Placement;\n};\n\nconst enhances = [\n zIndexStackingEnhance('z-index-tooltip'),\n cssVariableEnhance({\n variable: '--intergalactic-duration-popper',\n fallback: '200',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'duration',\n }),\n cssVariableEnhance({\n variable: '--intergalactic-spacing-1x',\n fallback: '4',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'offset',\n }),\n cssVariableEnhance({\n variable: '--intergalactic-spacing-1x',\n fallback: '4',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'padding',\n }),\n] as const;\n\nfunction propToArray(prop: number | [number, number]): [number, number] {\n return Array.isArray(prop) ? prop : [prop, prop];\n}\n\nconst keyframesMap = new Map<Placement, string>();\n\nclass HintPopperRoot extends Component<SimpleHintPopperProps, typeof enhances, Handlers, DefaultProps, State> {\n public readonly hintRef = React.createRef<HTMLElement>();\n\n static style = Object.assign(keyframes, styles);\n\n private showTimer?: number;\n private hideTimer?: number;\n\n static enhance = enhances;\n\n static defaultProps: DefaultProps = {\n defaultVisible: false,\n timeout: [500, 500],\n timingFunction: 'ease-out',\n placement: 'top',\n };\n\n constructor(props: SimpleHintPopperProps) {\n super(props);\n\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.state = {\n innerVisible: props.visible ?? null,\n calculatedPlacement: props.placement,\n };\n }\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n componentDidMount() {\n const trigger = this.asProps.triggerRef.current;\n\n if (trigger) {\n this.subscribe(trigger);\n }\n }\n\n componentWillUnmount() {\n const trigger = this.asProps.triggerRef.current;\n\n if (trigger) {\n this.unsubscribe(trigger);\n }\n }\n\n componentDidUpdate(prevProps: SimpleHintPopperProps) {\n if (prevProps.visible !== this.props.visible) {\n requestAnimationFrame(() => {\n const trigger = this.props.triggerRef.current;\n\n if (this.props.visible && trigger) {\n this.showHint(trigger);\n } else {\n this.hideHint();\n }\n });\n }\n }\n\n private subscribe(trigger: HTMLElement) {\n trigger.addEventListener('focus', this.handleFocus);\n trigger.addEventListener('blur', this.handleBlur);\n trigger.addEventListener('mouseenter', this.handleMouseEnter);\n trigger.addEventListener('mouseleave', this.handleMouseLeave);\n trigger.addEventListener('keydown', this.handleKeyDown);\n\n if (this.asProps.visible) {\n this.showHint(trigger);\n }\n }\n\n private unsubscribe(trigger: HTMLElement) {\n trigger.removeEventListener('focus', this.handleFocus);\n trigger.removeEventListener('blur', this.handleBlur);\n trigger.removeEventListener('mouseenter', this.handleMouseEnter);\n trigger.removeEventListener('mouseleave', this.handleMouseLeave);\n trigger.removeEventListener('keydown', this.handleKeyDown);\n\n this.hideHint();\n }\n\n private showHint(node: HTMLElement, mouseEvent?: MouseEvent): void {\n const { placement, timeout } = this.asProps;\n\n const showTimeout = Array.isArray(timeout) ? timeout[0] : timeout;\n\n if (this.hideTimer) {\n clearTimeout(this.hideTimer);\n }\n\n this.showTimer = window.setTimeout(() => {\n this.handlers.visible(true);\n\n window.setTimeout(() => {\n const popperElement = this.hintRef.current;\n if (popperElement) {\n const middleware = [\n offset(Number(this.asProps.offset)),\n flip(),\n shift({ padding: Number(this.asProps.padding) }),\n ];\n const verticalPlacement = !placement || placement.startsWith('top') || placement.startsWith('bottom');\n if (mouseEvent !== undefined && verticalPlacement) {\n middleware.push(\n Middleware.verticalCursorAnchoring({ x: mouseEvent.clientX }),\n shift({ padding: Number(this.asProps.padding) }),\n );\n }\n\n computePosition(node, popperElement, {\n placement: placement,\n middleware,\n }).then(({ x, y, placement }) => {\n Object.assign(popperElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n popperElement.style.visibility = 'visible';\n\n this.setState({ innerVisible: true, calculatedPlacement: placement });\n });\n }\n }, 10);\n }, showTimeout);\n }\n\n private hideHint(): void {\n const { timeout } = this.asProps;\n\n const hideTimeout = Array.isArray(timeout) ? timeout[1] : timeout;\n\n if (this.showTimer) {\n clearTimeout(this.showTimer);\n }\n\n this.setState({ innerVisible: false });\n\n this.hideTimer = window.setTimeout(() => {\n this.hintRef.current?.style.setProperty('visibility', 'hidden');\n this.handlers.visible(false);\n this.setState({ innerVisible: null });\n }, hideTimeout);\n }\n\n private handleFocus(e: FocusEvent): void {\n if (e.target instanceof HTMLElement && this.asProps.triggerRef.current === e.target && lastInteraction.isKeyboard()) {\n this.showHint(e.target);\n }\n }\n\n private handleBlur(e: FocusEvent): void {\n if (e.target instanceof HTMLElement && this.asProps.triggerRef.current === e.target) {\n this.hideHint();\n }\n }\n\n private handleKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Escape' && e.target instanceof HTMLElement && this.asProps.triggerRef.current === e.target && this.state.innerVisible) {\n e.stopPropagation();\n this.hideHint();\n }\n }\n\n private handleMouseEnter(e: MouseEvent): void {\n if (e.target instanceof HTMLElement && this.asProps.triggerRef.current === e.target) {\n this.showHint(e.target, e);\n }\n }\n\n private handleMouseLeave(e: MouseEvent): void {\n if (e.target instanceof HTMLElement && this.asProps.triggerRef.current === e.target) {\n this.hideHint();\n }\n }\n\n private keyframesKey(placement?: Placement) {\n if (!placement) {\n return 'opacity';\n }\n\n if (keyframesMap.has(placement)) {\n return keyframesMap.get(placement)!;\n }\n\n let keyframe: string = 'opacity';\n\n if (placement.startsWith('left')) keyframe = 'scale-left';\n if (placement.startsWith('right')) keyframe = 'scale-right';\n if (placement.startsWith('bottom')) keyframe = 'scale-bottom';\n if (placement.startsWith('top')) keyframe = 'scale-top';\n\n keyframesMap.set(placement, keyframe);\n\n return keyframe;\n }\n\n private setTriggerAriaLabel() {\n const { triggerRef, children } = this.asProps;\n\n requestAnimationFrame(() => {\n const trigger = triggerRef.current;\n\n if (trigger) {\n const textContent = trigger.textContent;\n const ariaLabel = getAccessibleName(trigger);\n\n if (!textContent && !ariaLabel) {\n const label = (typeof children === 'string' || typeof children === 'number')\n ? children.toString()\n : (this.hintRef.current?.textContent ?? '');\n triggerRef.current?.setAttribute('aria-label', label);\n }\n }\n });\n }\n\n render() {\n const SHintPopper = Root;\n const { visible, Children, parentZIndexStacking, styles, timingFunction } = this.asProps;\n const { innerVisible, calculatedPlacement } = this.state;\n\n if (canUseDOM()) {\n this.setTriggerAriaLabel();\n }\n\n if (!visible) {\n return null;\n }\n\n const duration = propToArray(Number(this.asProps.duration));\n\n /* `visible && innerVisible === null` - is a condition to start showing right after hover/focus */\n const showHint = (visible && innerVisible === null) || innerVisible === true;\n\n return sstyled(styles)(\n <Portal>\n <SHintPopper\n render={Box}\n ref={this.hintRef}\n aria-hidden={true}\n role={undefined}\n zIndex={parentZIndexStacking}\n use:visible={showHint}\n durationInitialize={`${duration[0]}ms`}\n durationFinalize={`${duration[1]}ms`}\n timingFunction={timingFunction}\n keyframesInitialize={keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`]}\n keyframesFinalize={keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`]}\n use:data-ui-name='Hint'\n >\n <Children />\n </SHintPopper>\n </Portal>,\n );\n }\n}\n\nexport const Hint = createComponent<'div', SimpleHintPopperProps>(HintPopperRoot);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Hint.js","names":["computePosition","flip","offset","shift","createComponent","Root","sstyled","Component","lastInteraction","canUseDOM","getAccessibleName","cssVariableEnhance","zIndexStackingEnhance","React","Middleware","keyframes","_sstyled","insert","Box","Portal","styles","_sstyled2","enhances","variable","fallback","map","v","Number","parseInt","toString","prop","propToArray","Array","isArray","keyframesMap","Map","HintPopperRoot","constructor","props","_defineProperty","createRef","handleFocus","bind","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","state","innerVisible","calculatedPlacement","placement","uncontrolledProps","visible","componentDidMount","triggerRef","children","asProps","trigger","current","subscribe","componentWillUnmount","unsubscribe","componentDidUpdate","prevProps","requestAnimationFrame","showHint","hideHint","addEventListener","removeEventListener","node","mouseEvent","timeout","showTimeout","hideTimer","clearTimeout","showTimer","window","setTimeout","handlers","popperElement","hintRef","middleware","padding","verticalPlacement","startsWith","undefined","push","verticalCursorAnchoring","x","clientX","then","y","Object","assign","style","left","top","setState","hideTimeout","e","isCompatibleElement","target","sameAsTrigger","isKeyboard","key","stopPropagation","HTMLElement","SVGElement","keyframesKey","has","get","keyframe","set","setTriggerAriaLabel","textContent","ariaLabel","label","setAttribute","render","_ref","_ref2","SHintPopper","Children","parentZIndexStacking","timingFunction","duration","createElement","cn","_assignProps","defaultVisible","Hint"],"sources":["../../../../src/components/hint/Hint.tsx"],"sourcesContent":["import { computePosition, flip, offset, shift, type Placement } from '@floating-ui/dom';\nimport { createComponent, Root, sstyled, Component, lastInteraction } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { getAccessibleName } from '@semcore/core/lib/utils/getAccessibleName';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport { zIndexStackingEnhance } from '@semcore/core/lib/utils/zIndexStacking';\nimport type { DataType } from 'csstype';\nimport React from 'react';\n\nimport { Middleware } from './Middleware';\nimport keyframes from '../animation/style/keyframes.shadow.css';\nimport { Box } from '../flex-box';\nimport { Portal } from '../portal';\nimport styles from './style/hint.shadow.css';\n\ntype Handlers = {\n visible: null;\n};\n\nexport type SimpleHintPopperProps = {\n /** Ref to the trigger element */\n triggerRef: React.RefObject<HTMLElement | null>;\n /**\n * The position of the popper relative to the trigger that called it.\n * @default top\n */\n placement?: Placement;\n /**\n * Timer to show and hide the popper\n * @default [500, 500]\n */\n timeout?: DefaultProps['timeout'];\n /**\n * Hint content.\n * Better to use here some short text.\n * */\n children: React.ReactNode;\n\n /** Popper visibility value */\n visible?: boolean;\n /** Default popper visibility\n * @default false */\n defaultVisible?: boolean;\n /** Function called when visibility changes */\n onVisibleChange?: (visible: boolean, e?: Event) => boolean | void;\n};\n\ntype DefaultProps = {\n defaultVisible?: boolean;\n timeout: number | [number, number];\n timingFunction: DataType.EasingFunction;\n placement?: Placement;\n};\n\ntype State = {\n innerVisible: boolean | null;\n calculatedPlacement?: Placement;\n};\n\nconst enhances = [\n zIndexStackingEnhance('z-index-tooltip'),\n cssVariableEnhance({\n variable: '--intergalactic-duration-popper',\n fallback: '200',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'duration',\n }),\n cssVariableEnhance({\n variable: '--intergalactic-spacing-1x',\n fallback: '4',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'offset',\n }),\n cssVariableEnhance({\n variable: '--intergalactic-spacing-1x',\n fallback: '4',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'padding',\n }),\n] as const;\n\nfunction propToArray(prop: number | [number, number]): [number, number] {\n return Array.isArray(prop) ? prop : [prop, prop];\n}\n\nconst keyframesMap = new Map<Placement, string>();\n\nclass HintPopperRoot extends Component<SimpleHintPopperProps, typeof enhances, Handlers, DefaultProps, State> {\n public readonly hintRef = React.createRef<HTMLElement>();\n\n static style = Object.assign(keyframes, styles);\n\n private showTimer?: number;\n private hideTimer?: number;\n\n static enhance = enhances;\n\n static defaultProps: DefaultProps = {\n defaultVisible: false,\n timeout: [500, 500],\n timingFunction: 'ease-out',\n placement: 'top',\n };\n\n constructor(props: SimpleHintPopperProps) {\n super(props);\n\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.state = {\n innerVisible: null,\n calculatedPlacement: props.placement,\n };\n }\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n componentDidMount() {\n const { triggerRef, children } = this.asProps;\n const trigger = triggerRef.current;\n\n if (trigger && children) {\n this.subscribe(trigger);\n }\n }\n\n componentWillUnmount() {\n const trigger = this.asProps.triggerRef.current;\n\n if (trigger) {\n this.unsubscribe(trigger);\n }\n }\n\n componentDidUpdate(prevProps: SimpleHintPopperProps) {\n if (prevProps.visible !== this.props.visible) {\n requestAnimationFrame(() => {\n const trigger = this.props.triggerRef.current;\n\n if (this.props.visible && trigger) {\n this.showHint(trigger);\n } else {\n this.hideHint();\n }\n });\n }\n }\n\n private subscribe(trigger: HTMLElement) {\n trigger.addEventListener('focus', this.handleFocus);\n trigger.addEventListener('blur', this.handleBlur);\n trigger.addEventListener('mouseenter', this.handleMouseEnter);\n trigger.addEventListener('mouseleave', this.handleMouseLeave);\n trigger.addEventListener('keydown', this.handleKeyDown);\n\n if (this.asProps.visible) {\n this.showHint(trigger);\n }\n }\n\n private unsubscribe(trigger: HTMLElement) {\n trigger.removeEventListener('focus', this.handleFocus);\n trigger.removeEventListener('blur', this.handleBlur);\n trigger.removeEventListener('mouseenter', this.handleMouseEnter);\n trigger.removeEventListener('mouseleave', this.handleMouseLeave);\n trigger.removeEventListener('keydown', this.handleKeyDown);\n\n this.hideHint();\n }\n\n private showHint(node: Element, mouseEvent?: MouseEvent): void {\n const { placement, timeout } = this.asProps;\n\n const showTimeout = Array.isArray(timeout) ? timeout[0] : timeout;\n\n if (this.hideTimer) {\n clearTimeout(this.hideTimer);\n }\n\n this.showTimer = window.setTimeout(() => {\n this.handlers.visible(true);\n\n window.setTimeout(() => {\n const popperElement = this.hintRef.current;\n if (popperElement) {\n const middleware = [\n offset(Number(this.asProps.offset)),\n flip(),\n shift({ padding: Number(this.asProps.padding) }),\n ];\n const verticalPlacement = !placement || placement.startsWith('top') || placement.startsWith('bottom');\n if (mouseEvent !== undefined && verticalPlacement) {\n middleware.push(\n Middleware.verticalCursorAnchoring({ x: mouseEvent.clientX }),\n shift({ padding: Number(this.asProps.padding) }),\n );\n }\n\n computePosition(node, popperElement, {\n placement: placement,\n middleware,\n }).then(({ x, y, placement }) => {\n Object.assign(popperElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n this.setState({ innerVisible: true, calculatedPlacement: placement });\n });\n }\n }, 10);\n }, showTimeout);\n }\n\n private hideHint(): void {\n const { timeout } = this.asProps;\n\n const hideTimeout = Array.isArray(timeout) ? timeout[1] : timeout;\n\n if (this.showTimer) {\n clearTimeout(this.showTimer);\n }\n\n if (this.state.innerVisible) {\n this.setState({ innerVisible: false });\n\n this.hideTimer = window.setTimeout(() => {\n this.handlers.visible(false);\n this.setState({ innerVisible: null });\n }, hideTimeout);\n }\n }\n\n private handleFocus(e: FocusEvent): void {\n if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && lastInteraction.isKeyboard()) {\n this.showHint(e.target);\n }\n }\n\n private handleBlur(e: FocusEvent): void {\n if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {\n this.hideHint();\n }\n }\n\n private handleKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Escape' && this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && this.state.innerVisible) {\n e.stopPropagation();\n this.hideHint();\n }\n }\n\n private handleMouseEnter(e: MouseEvent): void {\n if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {\n this.showHint(e.target, e);\n }\n }\n\n private handleMouseLeave(e: MouseEvent): void {\n if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {\n this.hideHint();\n }\n }\n\n private isCompatibleElement(target: unknown): target is HTMLElement | SVGElement {\n return target instanceof HTMLElement || target instanceof SVGElement;\n }\n\n private sameAsTrigger(e: MouseEvent | KeyboardEvent | FocusEvent): boolean {\n return this.asProps.triggerRef.current === e.target;\n }\n\n private keyframesKey(placement?: Placement) {\n if (!placement) {\n return 'opacity';\n }\n\n if (keyframesMap.has(placement)) {\n return keyframesMap.get(placement)!;\n }\n\n let keyframe: string = 'opacity';\n\n if (placement.startsWith('left')) keyframe = 'scale-left';\n if (placement.startsWith('right')) keyframe = 'scale-right';\n if (placement.startsWith('bottom')) keyframe = 'scale-bottom';\n if (placement.startsWith('top')) keyframe = 'scale-top';\n\n keyframesMap.set(placement, keyframe);\n\n return keyframe;\n }\n\n private setTriggerAriaLabel() {\n const { triggerRef, children } = this.asProps;\n\n requestAnimationFrame(() => {\n const trigger = triggerRef.current;\n\n if (trigger) {\n const textContent = trigger.textContent;\n const ariaLabel = getAccessibleName(trigger);\n\n if (!textContent && !ariaLabel) {\n const label = (typeof children === 'string' || typeof children === 'number')\n ? children.toString()\n : (this.hintRef.current?.textContent ?? '');\n triggerRef.current?.setAttribute('aria-label', label);\n }\n }\n });\n }\n\n render() {\n const SHintPopper = Root;\n const { visible, Children, parentZIndexStacking, styles, timingFunction } = this.asProps;\n const { innerVisible, calculatedPlacement } = this.state;\n\n if (canUseDOM()) {\n this.setTriggerAriaLabel();\n }\n\n if (!visible && innerVisible === null) {\n return null;\n }\n\n const duration = propToArray(Number(this.asProps.duration));\n\n /* `visible && innerVisible === null` - is a condition to start showing right after hover/focus */\n const showHint = (visible && innerVisible === null) || innerVisible === true;\n\n return sstyled(styles)(\n <Portal>\n <SHintPopper\n render={Box}\n ref={this.hintRef}\n aria-hidden={true}\n role={undefined}\n zIndex={parentZIndexStacking}\n use:visible={showHint}\n durationInitialize={`${duration[0]}ms`}\n durationFinalize={`${duration[1]}ms`}\n timingFunction={timingFunction}\n keyframesInitialize={innerVisible === true ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`] : undefined}\n keyframesFinalize={innerVisible === false ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`] : undefined}\n use:data-ui-name='Hint'\n >\n <Children />\n </SHintPopper>\n </Portal>,\n );\n }\n}\n\nexport const Hint = createComponent<'div', SimpleHintPopperProps>(HintPopperRoot);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,10 +5,12 @@ export class Middleware {
|
|
|
5
5
|
fn(state) {
|
|
6
6
|
const {
|
|
7
7
|
rects,
|
|
8
|
-
x
|
|
8
|
+
x,
|
|
9
|
+
elements
|
|
9
10
|
} = state;
|
|
11
|
+
const referenceLeft = elements.reference.getBoundingClientRect().left;
|
|
10
12
|
return {
|
|
11
|
-
x: rects.floating.width > rects.reference.width ? x : mouseCursorPosition.x - rects.floating.width / 2
|
|
13
|
+
x: rects.floating.width > rects.reference.width ? x : referenceLeft > rects.reference.x ? mouseCursorPosition.x - referenceLeft + rects.reference.x - rects.floating.width / 2 : mouseCursorPosition.x - rects.floating.width / 2
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.js","names":["Middleware","verticalCursorAnchoring","mouseCursorPosition","name","fn","state","rects","x","
|
|
1
|
+
{"version":3,"file":"Middleware.js","names":["Middleware","verticalCursorAnchoring","mouseCursorPosition","name","fn","state","rects","x","elements","referenceLeft","reference","getBoundingClientRect","left","floating","width"],"sources":["../../../../src/components/hint/Middleware.ts"],"sourcesContent":["import type { MiddlewareState } from '@floating-ui/dom';\n\ntype MouseEnterCursorPosition = {\n x: number;\n};\n\nexport class Middleware {\n public static verticalCursorAnchoring(mouseCursorPosition: MouseEnterCursorPosition) {\n return {\n name: 'verticalCursorAnchoring',\n fn(state: MiddlewareState) {\n const { rects, x, elements } = state;\n const referenceLeft = elements.reference.getBoundingClientRect().left;\n\n return {\n x: rects.floating.width > rects.reference.width\n ? x\n : referenceLeft > rects.reference.x\n ? mouseCursorPosition.x - referenceLeft + rects.reference.x - rects.floating.width / 2\n : mouseCursorPosition.x - rects.floating.width / 2,\n };\n },\n };\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,UAAU,CAAC;EACtB,OAAcC,uBAAuBA,CAACC,mBAA6C,EAAE;IACnF,OAAO;MACLC,IAAI,EAAE,yBAAyB;MAC/BC,EAAEA,CAACC,KAAsB,EAAE;QACzB,MAAM;UAAEC,KAAK;UAAEC,CAAC;UAAEC;QAAS,CAAC,GAAGH,KAAK;QACpC,MAAMI,aAAa,GAAGD,QAAQ,CAACE,SAAS,CAACC,qBAAqB,CAAC,CAAC,CAACC,IAAI;QAErE,OAAO;UACLL,CAAC,EAAED,KAAK,CAACO,QAAQ,CAACC,KAAK,GAAGR,KAAK,CAACI,SAAS,CAACI,KAAK,GAC3CP,CAAC,GACDE,aAAa,GAAGH,KAAK,CAACI,SAAS,CAACH,CAAC,GAC/BL,mBAAmB,CAACK,CAAC,GAAGE,aAAa,GAAGH,KAAK,CAACI,SAAS,CAACH,CAAC,GAAGD,KAAK,CAACO,QAAQ,CAACC,KAAK,GAAG,CAAC,GACpFZ,mBAAmB,CAACK,CAAC,GAAGD,KAAK,CAACO,QAAQ,CAACC,KAAK,GAAG;QACvD,CAAC;MACH;IACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -4,8 +4,9 @@ SHintPopper {
|
|
|
4
4
|
top: 0;
|
|
5
5
|
left: 0;
|
|
6
6
|
max-width: 250px;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
overflow-wrap: break-word;
|
|
8
|
+
opacity: 0;
|
|
9
|
+
pointer-events: none;
|
|
9
10
|
|
|
10
11
|
background: var(--intergalactic-tooltip-invert, #191b23);
|
|
11
12
|
border: 1px solid var(--intergalactic-border-tooltip-invert, #6c6e79);
|
|
@@ -167,17 +167,30 @@ class EllipsisManager {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
handleCopy(event) {
|
|
170
|
-
var _a, _b;
|
|
170
|
+
var _a, _b, _c;
|
|
171
171
|
if (event instanceof ClipboardEvent && event.target instanceof HTMLElement && event.target.parentElement instanceof HTMLElement) {
|
|
172
172
|
const selection = window.getSelection();
|
|
173
|
-
|
|
173
|
+
let ellipsis = this.ellipsisEntities.get(event.target);
|
|
174
|
+
if (event.target.getAttribute("aria-hidden") === "true") {
|
|
175
|
+
ellipsis = this.ellipsisEntities.get(event.target.parentElement);
|
|
176
|
+
}
|
|
174
177
|
if (selection && ellipsis) {
|
|
175
178
|
const ellipsisSpans = ellipsis.element.childNodes;
|
|
176
179
|
const croppedSpan = ellipsisSpans[0];
|
|
180
|
+
const lastSpan = ellipsisSpans[ellipsisSpans.length - 2];
|
|
177
181
|
const fullSpan = ellipsisSpans[ellipsisSpans.length - 1];
|
|
178
|
-
const
|
|
179
|
-
const
|
|
182
|
+
const croppedLength = (_a = croppedSpan == null ? void 0 : croppedSpan.textContent) == null ? void 0 : _a.length;
|
|
183
|
+
const lastLength = (_b = lastSpan == null ? void 0 : lastSpan.textContent) == null ? void 0 : _b.length;
|
|
184
|
+
const anchorInCropped = selection.anchorNode === (croppedSpan == null ? void 0 : croppedSpan.childNodes[0]);
|
|
185
|
+
const anchorInLast = selection.anchorNode === (lastSpan == null ? void 0 : lastSpan.childNodes[0]);
|
|
186
|
+
const focusInCropped = selection.focusNode === (croppedSpan == null ? void 0 : croppedSpan.childNodes[0]);
|
|
187
|
+
const focusInLast = selection.focusNode === (lastSpan == null ? void 0 : lastSpan.childNodes[0]);
|
|
188
|
+
const anchorOffset = selection.anchorOffset;
|
|
189
|
+
const focusOffset = selection.focusOffset;
|
|
190
|
+
const isCroppedSelected = anchorInCropped && focusOffset === croppedLength || anchorInLast && anchorOffset === lastLength && focusInCropped && focusOffset === 0 || focusInLast && focusOffset === lastLength;
|
|
191
|
+
const isFullSelected = selection.focusNode === (fullSpan == null ? void 0 : fullSpan.childNodes[0]) && focusOffset === ((_c = fullSpan == null ? void 0 : fullSpan.textContent) == null ? void 0 : _c.length);
|
|
180
192
|
if ((fullSpan == null ? void 0 : fullSpan.textContent) && (!(selection.focusNode instanceof Text) || isCroppedSelected || isFullSelected)) {
|
|
193
|
+
event.preventDefault();
|
|
181
194
|
navigator.clipboard.writeText(fullSpan.textContent);
|
|
182
195
|
}
|
|
183
196
|
}
|
|
@@ -53,18 +53,18 @@ const styles = (
|
|
|
53
53
|
/*__reshadow_css_start__*/
|
|
54
54
|
(sstyled.insert(
|
|
55
55
|
/*__inner_css_start__*/
|
|
56
|
-
".
|
|
56
|
+
".___SHintPopper_19wzn_gg_{width:-moz-max-content;width:max-content;position:absolute;top:0;left:0;max-width:250px;word-wrap:break-word;opacity:0;pointer-events:none;background:var(--intergalactic-tooltip-invert, #191b23);border:1px solid var(--intergalactic-border-tooltip-invert, #6c6e79);color:var(--intergalactic-text-primary-invert, #ffffff);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-2x, 8px);border-radius:var(--intergalactic-rounded-small, 4px);font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));animation-fill-mode:both;animation-timing-function:var(--timingFunction_19wzn);animation-duration:var(--durationFinalize_19wzn);animation-name:var(--keyframesFinalize_19wzn)}.___SHintPopper_19wzn_gg_.__visible_19wzn_gg_{animation-duration:var(--durationInitialize_19wzn);animation-name:var(--keyframesInitialize_19wzn)}@media (prefers-reduced-motion){.___SHintPopper_19wzn_gg_,.___SHintPopper_19wzn_gg_.__visible_19wzn_gg_{animation-timing-function:step-end;animation-iteration-count:1}}",
|
|
57
57
|
/*__inner_css_end__*/
|
|
58
|
-
"
|
|
58
|
+
"19wzn_gg_"
|
|
59
59
|
), /*__reshadow_css_end__*/
|
|
60
60
|
{
|
|
61
|
-
"__SHintPopper": "
|
|
62
|
-
"_visible": "
|
|
63
|
-
"--timingFunction": "--
|
|
64
|
-
"--durationFinalize": "--
|
|
65
|
-
"--keyframesFinalize": "--
|
|
66
|
-
"--durationInitialize": "--
|
|
67
|
-
"--keyframesInitialize": "--
|
|
61
|
+
"__SHintPopper": "___SHintPopper_19wzn_gg_",
|
|
62
|
+
"_visible": "__visible_19wzn_gg_",
|
|
63
|
+
"--timingFunction": "--timingFunction_19wzn",
|
|
64
|
+
"--durationFinalize": "--durationFinalize_19wzn",
|
|
65
|
+
"--keyframesFinalize": "--keyframesFinalize_19wzn",
|
|
66
|
+
"--durationInitialize": "--durationInitialize_19wzn",
|
|
67
|
+
"--keyframesInitialize": "--keyframesInitialize_19wzn"
|
|
68
68
|
})
|
|
69
69
|
);
|
|
70
70
|
const enhances = [zIndexStackingEnhance("z-index-tooltip"), cssVariableEnhance({
|
|
@@ -99,7 +99,7 @@ class HintPopperRoot extends Component {
|
|
|
99
99
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
|
100
100
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
101
101
|
this.state = {
|
|
102
|
-
innerVisible:
|
|
102
|
+
innerVisible: null,
|
|
103
103
|
calculatedPlacement: props.placement
|
|
104
104
|
};
|
|
105
105
|
}
|
|
@@ -109,8 +109,12 @@ class HintPopperRoot extends Component {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
componentDidMount() {
|
|
112
|
-
const
|
|
113
|
-
|
|
112
|
+
const {
|
|
113
|
+
triggerRef,
|
|
114
|
+
children
|
|
115
|
+
} = this.asProps;
|
|
116
|
+
const trigger = triggerRef.current;
|
|
117
|
+
if (trigger && children) {
|
|
114
118
|
this.subscribe(trigger);
|
|
115
119
|
}
|
|
116
120
|
}
|
|
@@ -187,7 +191,6 @@ class HintPopperRoot extends Component {
|
|
|
187
191
|
left: `${x}px`,
|
|
188
192
|
top: `${y}px`
|
|
189
193
|
});
|
|
190
|
-
popperElement.style.visibility = "visible";
|
|
191
194
|
this.setState({
|
|
192
195
|
innerVisible: true,
|
|
193
196
|
calculatedPlacement: placement2
|
|
@@ -205,44 +208,50 @@ class HintPopperRoot extends Component {
|
|
|
205
208
|
if (this.showTimer) {
|
|
206
209
|
clearTimeout(this.showTimer);
|
|
207
210
|
}
|
|
208
|
-
this.
|
|
209
|
-
innerVisible: false
|
|
210
|
-
});
|
|
211
|
-
this.hideTimer = window.setTimeout(() => {
|
|
212
|
-
var _a;
|
|
213
|
-
(_a = this.hintRef.current) == null ? void 0 : _a.style.setProperty("visibility", "hidden");
|
|
214
|
-
this.handlers.visible(false);
|
|
211
|
+
if (this.state.innerVisible) {
|
|
215
212
|
this.setState({
|
|
216
|
-
innerVisible:
|
|
213
|
+
innerVisible: false
|
|
217
214
|
});
|
|
218
|
-
|
|
215
|
+
this.hideTimer = window.setTimeout(() => {
|
|
216
|
+
this.handlers.visible(false);
|
|
217
|
+
this.setState({
|
|
218
|
+
innerVisible: null
|
|
219
|
+
});
|
|
220
|
+
}, hideTimeout);
|
|
221
|
+
}
|
|
219
222
|
}
|
|
220
223
|
handleFocus(e) {
|
|
221
|
-
if (e.target
|
|
224
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && lastInteraction.isKeyboard()) {
|
|
222
225
|
this.showHint(e.target);
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
228
|
handleBlur(e) {
|
|
226
|
-
if (e.target
|
|
229
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
227
230
|
this.hideHint();
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
handleKeyDown(e) {
|
|
231
|
-
if (e.key === "Escape" && e.target
|
|
234
|
+
if (e.key === "Escape" && this.isCompatibleElement(e.target) && this.sameAsTrigger(e) && this.state.innerVisible) {
|
|
232
235
|
e.stopPropagation();
|
|
233
236
|
this.hideHint();
|
|
234
237
|
}
|
|
235
238
|
}
|
|
236
239
|
handleMouseEnter(e) {
|
|
237
|
-
if (e.target
|
|
240
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
238
241
|
this.showHint(e.target, e);
|
|
239
242
|
}
|
|
240
243
|
}
|
|
241
244
|
handleMouseLeave(e) {
|
|
242
|
-
if (e.target
|
|
245
|
+
if (this.isCompatibleElement(e.target) && this.sameAsTrigger(e)) {
|
|
243
246
|
this.hideHint();
|
|
244
247
|
}
|
|
245
248
|
}
|
|
249
|
+
isCompatibleElement(target) {
|
|
250
|
+
return target instanceof HTMLElement || target instanceof SVGElement;
|
|
251
|
+
}
|
|
252
|
+
sameAsTrigger(e) {
|
|
253
|
+
return this.asProps.triggerRef.current === e.target;
|
|
254
|
+
}
|
|
246
255
|
keyframesKey(placement) {
|
|
247
256
|
if (!placement) {
|
|
248
257
|
return "opacity";
|
|
@@ -293,7 +302,7 @@ class HintPopperRoot extends Component {
|
|
|
293
302
|
if (canUseDOM()) {
|
|
294
303
|
this.setTriggerAriaLabel();
|
|
295
304
|
}
|
|
296
|
-
if (!visible) {
|
|
305
|
+
if (!visible && innerVisible === null) {
|
|
297
306
|
return null;
|
|
298
307
|
}
|
|
299
308
|
const duration = propToArray(Number(this.asProps.duration));
|
|
@@ -308,8 +317,8 @@ class HintPopperRoot extends Component {
|
|
|
308
317
|
"durationInitialize": `${duration[0]}ms`,
|
|
309
318
|
"durationFinalize": `${duration[1]}ms`,
|
|
310
319
|
"timingFunction": timingFunction,
|
|
311
|
-
"keyframesInitialize": keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`],
|
|
312
|
-
"keyframesFinalize": keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`],
|
|
320
|
+
"keyframesInitialize": innerVisible === true ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-in`] : void 0,
|
|
321
|
+
"keyframesFinalize": innerVisible === false ? keyframes[`@${this.keyframesKey(calculatedPlacement)}-out`] : void 0,
|
|
313
322
|
"use:data-ui-name": "Hint"
|
|
314
323
|
}, _ref)
|
|
315
324
|
}), /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {}))));
|
|
@@ -5,10 +5,12 @@ class Middleware {
|
|
|
5
5
|
fn(state) {
|
|
6
6
|
const {
|
|
7
7
|
rects,
|
|
8
|
-
x
|
|
8
|
+
x,
|
|
9
|
+
elements
|
|
9
10
|
} = state;
|
|
11
|
+
const referenceLeft = elements.reference.getBoundingClientRect().left;
|
|
10
12
|
return {
|
|
11
|
-
x: rects.floating.width > rects.reference.width ? x : mouseCursorPosition.x - rects.floating.width / 2
|
|
13
|
+
x: rects.floating.width > rects.reference.width ? x : referenceLeft > rects.reference.x ? mouseCursorPosition.x - referenceLeft + rects.reference.x - rects.floating.width / 2 : mouseCursorPosition.x - rects.floating.width / 2
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
};
|
|
@@ -4,8 +4,9 @@ SHintPopper {
|
|
|
4
4
|
top: 0;
|
|
5
5
|
left: 0;
|
|
6
6
|
max-width: 250px;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
overflow-wrap: break-word;
|
|
8
|
+
opacity: 0;
|
|
9
|
+
pointer-events: none;
|
|
9
10
|
|
|
10
11
|
background: var(--intergalactic-tooltip-invert, #191b23);
|
|
11
12
|
border: 1px solid var(--intergalactic-border-tooltip-invert, #6c6e79);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { createComponent,
|
|
2
|
+
import { createComponent, Component, assignProps, register } from "@semcore/core";
|
|
3
3
|
import getOriginChildren from "@semcore/core/lib/utils/getOriginChildren";
|
|
4
4
|
import isNode from "@semcore/core/lib/utils/isNode";
|
|
5
5
|
import React from "react";
|
package/lib/esm/index.mjs
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { defaultBreakpoints } from "./components/breakpoints/index.mjs";
|
|
2
2
|
import { Col } from "./components/grid/index.mjs";
|
|
3
|
-
import { default as default2 } from "./components/
|
|
4
|
-
import { default as default3 } from "./components/flex-box/
|
|
5
|
-
import { default as default4 } from "./components/
|
|
3
|
+
import { default as default2 } from "./components/grid/Grid.mjs";
|
|
4
|
+
import { default as default3 } from "./components/flex-box/Box/useBox.mjs";
|
|
5
|
+
import { default as default4 } from "./components/flex-box/Flex/useFlex.mjs";
|
|
6
6
|
import { default as default5, animationContext } from "./components/animation/Animation.mjs";
|
|
7
|
-
import { default as default6 } from "./components/
|
|
8
|
-
import { default as default7 } from "./components/animation/
|
|
9
|
-
import { default as default8 } from "./components/animation/Collapse.mjs";
|
|
10
|
-
import { default as default9 } from "./components/animation/Scale.mjs";
|
|
11
|
-
import { default as default10 } from "./components/animation/Slide.mjs";
|
|
7
|
+
import { default as default6 } from "./components/flex-box/Box/index.mjs";
|
|
8
|
+
import { default as default7 } from "./components/animation/Collapse.mjs";
|
|
12
9
|
import { DEFAULT_MEDIA, MediaList, createBreakpoints } from "./components/breakpoints/Breakpoints.mjs";
|
|
13
10
|
import { Ellipsis } from "./components/ellipsis/Ellipsis.mjs";
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { InvalidStateBox } from "./components/flex-box/invalid-state-box/InvalidStateBox.mjs";
|
|
17
|
-
import { ScreenReaderOnly } from "./components/flex-box/screen-reader-only-box/ScreenReaderOnlyBox.mjs";
|
|
11
|
+
import { default as default8 } from "./components/animation/FadeInOut.mjs";
|
|
12
|
+
import { default as default9 } from "./components/flex-box/Flex/index.mjs";
|
|
18
13
|
import { Hint } from "./components/hint/Hint.mjs";
|
|
14
|
+
import { InvalidStateBox } from "./components/flex-box/invalid-state-box/InvalidStateBox.mjs";
|
|
19
15
|
import { NeighborLocation, NeighborLocationRoot, useNeighborLocationDetect } from "./components/neighbor-location/NeighborLocation.mjs";
|
|
20
16
|
import { OutsideClick } from "./components/outside-click/OutsideClick.mjs";
|
|
21
17
|
import { Popper, isInputTriggerTag } from "./components/popper/Popper.mjs";
|
|
22
|
-
import { default as
|
|
18
|
+
import { default as default10, PortalContext, PortalProvider } from "./components/portal/Portal.mjs";
|
|
19
|
+
import { default as default11 } from "./components/animation/Scale.mjs";
|
|
20
|
+
import { ScreenReaderOnly } from "./components/flex-box/screen-reader-only-box/ScreenReaderOnlyBox.mjs";
|
|
23
21
|
import { ScrollArea, eventCalculate } from "./components/scroll-area/ScrollArea.mjs";
|
|
22
|
+
import { default as default12 } from "./components/animation/Slide.mjs";
|
|
23
|
+
import { default as default13 } from "./components/animation/Transform.mjs";
|
|
24
24
|
import { hideScrollBarsFromScreenReadersContext } from "./components/scroll-area/ScrollBar.mjs";
|
|
25
25
|
export {
|
|
26
26
|
default5 as Animation,
|
|
27
|
-
|
|
27
|
+
default6 as Box,
|
|
28
28
|
Col,
|
|
29
|
-
|
|
29
|
+
default7 as Collapse,
|
|
30
30
|
DEFAULT_MEDIA,
|
|
31
31
|
Ellipsis,
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
default8 as FadeInOut,
|
|
33
|
+
default9 as Flex,
|
|
34
34
|
Hint,
|
|
35
35
|
InvalidStateBox,
|
|
36
36
|
MediaList,
|
|
@@ -38,22 +38,22 @@ export {
|
|
|
38
38
|
NeighborLocationRoot,
|
|
39
39
|
OutsideClick,
|
|
40
40
|
Popper,
|
|
41
|
-
|
|
41
|
+
default10 as Portal,
|
|
42
42
|
PortalContext,
|
|
43
43
|
PortalProvider,
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
default2 as Row,
|
|
45
|
+
default11 as Scale,
|
|
46
46
|
ScreenReaderOnly,
|
|
47
47
|
ScrollArea,
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
default12 as Slide,
|
|
49
|
+
default13 as Transform,
|
|
50
50
|
animationContext,
|
|
51
51
|
createBreakpoints,
|
|
52
52
|
defaultBreakpoints,
|
|
53
53
|
eventCalculate,
|
|
54
54
|
hideScrollBarsFromScreenReadersContext,
|
|
55
55
|
isInputTriggerTag,
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
default3 as useBox,
|
|
57
|
+
default4 as useFlex,
|
|
58
58
|
useNeighborLocationDetect
|
|
59
59
|
};
|