@deephaven/components 0.9.2-beta.0 → 0.9.3-fix-fontawesome.2

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.
@@ -254,6 +254,10 @@ class Tooltip extends Component {
254
254
  this.setState({
255
255
  isShown: false
256
256
  });
257
+ var {
258
+ onExited
259
+ } = this.props;
260
+ onExited();
257
261
  }
258
262
 
259
263
  stopShowingTooltip() {
@@ -313,7 +317,8 @@ _defineProperty(Tooltip, "defaultProps", {
313
317
  popperClassName: '',
314
318
  reshowTimeout: Tooltip.defaultReshowTimeout,
315
319
  timeout: Tooltip.defaultTimeout,
316
- referenceObject: null
320
+ referenceObject: null,
321
+ onExited: () => undefined
317
322
  });
318
323
 
319
324
  export default Tooltip;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/popper/Tooltip.tsx"],"names":["React","Component","classNames","Log","Popper","log","module","Tooltip","handleHidden","shownTooltipCount","lastHiddenTime","Date","now","handleShown","constructor","props","handleMouseMove","bind","handleMouseLeave","handleWindowMouseMove","handleWheel","handleTimeout","handleExited","stopShowingTooltip","container","createRef","popper","parent","timer","state","isShown","componentDidMount","startListening","timeout","show","componentDidUpdate","prevProps","prevState","oldIsShown","componentWillUnmount","stopListening","stopListeningWindow","stopTimer","current","parentElement","error","addEventListener","removeEventListener","startListeningWindow","window","startTimer","element","matches","hide","interactive","event","mouseX","clientX","mouseY","clientY","popperRect","getBoundingClientRect","parentRect","left","width","top","height","reshowTimeout","timerTimeout","triggerReshowThreshold","setTimeout","clearTimeout","setState","update","scheduleUpdate","render","children","options","referenceObject","popperClassName","display","defaultReshowTimeout","defaultTimeout"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport Popper, { PopperOptions, ReferenceObject } from './Popper';\n\nconst log = Log.module('Tooltip');\n\ninterface TooltipProps {\n interactive: boolean;\n options: PopperOptions;\n timeout: number;\n reshowTimeout: number;\n children: React.ReactNode;\n popperClassName: string;\n referenceObject: ReferenceObject;\n}\n\ninterface TooltipState {\n isShown: boolean;\n}\n\n/**\n * Component that can be added to an element to automatically display a tooltip.\n * Content is mounted lazily, so don't worry about complex tooltips!\n *\n * Usage:\n * <div className=\"parent-container\">\n * Hover this container to see a tooltip\n * <Tooltip>\n * <div>My tooltip content goes here!</div>\n * </Tooltip>\n * </div>\n */\nclass Tooltip extends Component<TooltipProps, TooltipState> {\n static defaultTimeout = 500;\n\n static defaultReshowTimeout = 100;\n\n static triggerReshowThreshold = 300;\n\n static shownTooltipCount = 0;\n\n static lastHiddenTime = Date.now();\n\n static defaultProps = {\n interactive: false,\n options: {},\n popperClassName: '',\n reshowTimeout: Tooltip.defaultReshowTimeout,\n timeout: Tooltip.defaultTimeout,\n referenceObject: null,\n };\n\n static handleHidden(): void {\n Tooltip.shownTooltipCount -= 1;\n\n if (Tooltip.shownTooltipCount === 0) {\n Tooltip.lastHiddenTime = Date.now();\n }\n }\n\n static handleShown(): void {\n Tooltip.shownTooltipCount += 1;\n }\n\n constructor(props: TooltipProps) {\n super(props);\n\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleWindowMouseMove = this.handleWindowMouseMove.bind(this);\n this.handleWheel = this.handleWheel.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.stopShowingTooltip = this.stopShowingTooltip.bind(this);\n\n this.container = React.createRef();\n this.popper = React.createRef();\n this.parent = null;\n this.timer = null;\n\n this.state = {\n isShown: false,\n };\n }\n\n componentDidMount(): void {\n this.startListening();\n\n const { timeout } = this.props;\n if (timeout === 0) {\n this.show();\n }\n }\n\n componentDidUpdate(prevProps: TooltipProps, prevState: TooltipState): void {\n const { isShown: oldIsShown } = prevState;\n const { isShown } = this.state;\n\n if (isShown !== oldIsShown) {\n if (isShown) {\n Tooltip.handleShown();\n } else {\n Tooltip.handleHidden();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.stopListening();\n this.stopListeningWindow();\n this.stopTimer();\n\n const { isShown } = this.state;\n\n if (isShown) {\n Tooltip.handleHidden();\n }\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n popper: React.RefObject<Popper>;\n\n parent: HTMLElement | null;\n\n // This is platform dependent of Node/DOM\n // Jest requires Node types\n timer: number | null;\n\n startListening(): void {\n if (!this.container.current || !this.container.current.parentElement) {\n log.error(\"Tooltip doesn't have a container or a parent set!\");\n return;\n }\n\n this.parent = this.container.current.parentElement;\n this.parent.addEventListener('mousemove', this.handleMouseMove);\n this.parent.addEventListener('mouseleave', this.handleMouseLeave);\n this.parent.addEventListener('mousedown', this.stopShowingTooltip);\n }\n\n stopListening(): void {\n if (!this.parent) {\n return;\n }\n\n this.parent.removeEventListener('mousemove', this.handleMouseMove);\n this.parent.removeEventListener('mouseleave', this.handleMouseLeave);\n this.parent.removeEventListener('mousedown', this.stopShowingTooltip);\n }\n\n startListeningWindow(): void {\n window.addEventListener('mousemove', this.handleWindowMouseMove, true);\n window.addEventListener('contextmenu', this.stopShowingTooltip, true);\n window.addEventListener('wheel', this.handleWheel);\n }\n\n stopListeningWindow(): void {\n window.removeEventListener('mousemove', this.handleWindowMouseMove, true);\n window.removeEventListener('contextmenu', this.stopShowingTooltip, true);\n window.removeEventListener('wheel', this.handleWheel);\n }\n\n handleMouseMove(): void {\n this.startTimer();\n }\n\n handleWheel(): void {\n const { isShown } = this.state;\n if (this.popper.current && this.parent && isShown) {\n if (\n !this.popper.current.element.matches(':hover') &&\n !this.parent.matches(':hover')\n ) {\n this.stopTimer();\n this.hide();\n }\n }\n }\n\n handleMouseLeave(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n const { interactive } = this.props;\n if (!interactive && isShown) {\n this.hide();\n }\n }\n\n handleTimeout(): void {\n this.show();\n }\n\n handleWindowMouseMove(event: MouseEvent): void {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { isShown } = this.state;\n\n if (!this.popper.current || !this.parent) {\n return;\n }\n const popperRect = this.popper.current.element.getBoundingClientRect();\n const parentRect = this.parent.getBoundingClientRect();\n\n if (\n mouseX >= popperRect.left &&\n mouseX <= popperRect.left + popperRect.width &&\n mouseY >= popperRect.top &&\n mouseY <= popperRect.top + popperRect.height\n ) {\n this.handleMouseMove();\n } else if (\n mouseX >= parentRect.left &&\n mouseX <= parentRect.left + parentRect.width &&\n mouseY >= parentRect.top &&\n mouseY <= parentRect.top + parentRect.height\n ) {\n this.handleMouseMove();\n } else if (isShown) {\n this.stopTimer();\n this.hide();\n }\n }\n\n startTimer(): void {\n this.stopTimer();\n\n const { timeout, reshowTimeout } = this.props;\n let timerTimeout = timeout;\n if (\n Tooltip.shownTooltipCount > 0 ||\n Date.now() - Tooltip.lastHiddenTime < Tooltip.triggerReshowThreshold\n ) {\n timerTimeout = reshowTimeout;\n }\n this.timer = window.setTimeout(this.handleTimeout, timerTimeout);\n }\n\n stopTimer(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n show(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n if (!isShown) {\n this.popper.current?.show();\n this.setState({ isShown: true });\n\n const { interactive } = this.props;\n if (interactive) {\n this.startListeningWindow();\n }\n }\n }\n\n hide(): void {\n this.popper.current?.hide();\n this.stopListeningWindow();\n }\n\n update(): void {\n this.popper.current?.scheduleUpdate();\n }\n\n handleExited(): void {\n this.setState({ isShown: false });\n }\n\n stopShowingTooltip(): void {\n const { isShown } = this.state;\n this.stopTimer();\n if (isShown) {\n this.hide();\n }\n }\n\n render(): JSX.Element {\n const {\n interactive,\n children,\n options,\n referenceObject,\n popperClassName,\n } = this.props;\n const { isShown } = this.state;\n return (\n <div ref={this.container} style={{ display: 'none' }}>\n <Popper\n className={classNames(popperClassName)}\n options={options}\n ref={this.popper}\n onExited={this.handleExited}\n interactive={interactive}\n referenceObject={referenceObject}\n >\n <div className=\"tooltip-content\"> {isShown && children}</div>\n </Popper>\n </div>\n );\n }\n}\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../src/popper/Tooltip.tsx"],"names":["React","Component","classNames","Log","Popper","log","module","Tooltip","handleHidden","shownTooltipCount","lastHiddenTime","Date","now","handleShown","constructor","props","handleMouseMove","bind","handleMouseLeave","handleWindowMouseMove","handleWheel","handleTimeout","handleExited","stopShowingTooltip","container","createRef","popper","parent","timer","state","isShown","componentDidMount","startListening","timeout","show","componentDidUpdate","prevProps","prevState","oldIsShown","componentWillUnmount","stopListening","stopListeningWindow","stopTimer","current","parentElement","error","addEventListener","removeEventListener","startListeningWindow","window","startTimer","element","matches","hide","interactive","event","mouseX","clientX","mouseY","clientY","popperRect","getBoundingClientRect","parentRect","left","width","top","height","reshowTimeout","timerTimeout","triggerReshowThreshold","setTimeout","clearTimeout","setState","update","scheduleUpdate","onExited","render","children","options","referenceObject","popperClassName","display","defaultReshowTimeout","defaultTimeout","undefined"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport Popper, { PopperOptions, ReferenceObject } from './Popper';\n\nconst log = Log.module('Tooltip');\n\ntype TooltipProps = typeof Tooltip.defaultProps & {\n children: React.ReactNode;\n interactive?: boolean;\n options?: PopperOptions;\n popperClassName?: string;\n reshowTimeout?: number;\n timeout?: number;\n referenceObject?: ReferenceObject | null;\n onExited?: () => void;\n};\ninterface TooltipState {\n isShown: boolean;\n}\n\n/**\n * Component that can be added to an element to automatically display a tooltip.\n * Content is mounted lazily, so don't worry about complex tooltips!\n *\n * Usage:\n * <div className=\"parent-container\">\n * Hover this container to see a tooltip\n * <Tooltip>\n * <div>My tooltip content goes here!</div>\n * </Tooltip>\n * </div>\n */\nclass Tooltip extends Component<TooltipProps, TooltipState> {\n static defaultTimeout = 500;\n\n static defaultReshowTimeout = 100;\n\n static triggerReshowThreshold = 300;\n\n static shownTooltipCount = 0;\n\n static lastHiddenTime = Date.now();\n\n static defaultProps = {\n interactive: false,\n options: {},\n popperClassName: '',\n reshowTimeout: Tooltip.defaultReshowTimeout,\n timeout: Tooltip.defaultTimeout,\n referenceObject: null,\n onExited: (): void => undefined,\n };\n\n static handleHidden(): void {\n Tooltip.shownTooltipCount -= 1;\n\n if (Tooltip.shownTooltipCount === 0) {\n Tooltip.lastHiddenTime = Date.now();\n }\n }\n\n static handleShown(): void {\n Tooltip.shownTooltipCount += 1;\n }\n\n constructor(props: TooltipProps) {\n super(props);\n\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleWindowMouseMove = this.handleWindowMouseMove.bind(this);\n this.handleWheel = this.handleWheel.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.stopShowingTooltip = this.stopShowingTooltip.bind(this);\n\n this.container = React.createRef();\n this.popper = React.createRef();\n this.parent = null;\n this.timer = null;\n\n this.state = {\n isShown: false,\n };\n }\n\n componentDidMount(): void {\n this.startListening();\n\n const { timeout } = this.props;\n if (timeout === 0) {\n this.show();\n }\n }\n\n componentDidUpdate(prevProps: TooltipProps, prevState: TooltipState): void {\n const { isShown: oldIsShown } = prevState;\n const { isShown } = this.state;\n\n if (isShown !== oldIsShown) {\n if (isShown) {\n Tooltip.handleShown();\n } else {\n Tooltip.handleHidden();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.stopListening();\n this.stopListeningWindow();\n this.stopTimer();\n\n const { isShown } = this.state;\n\n if (isShown) {\n Tooltip.handleHidden();\n }\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n popper: React.RefObject<Popper>;\n\n parent: HTMLElement | null;\n\n // This is platform dependent of Node/DOM\n // Jest requires Node types\n timer: number | null;\n\n startListening(): void {\n if (!this.container.current || !this.container.current.parentElement) {\n log.error(\"Tooltip doesn't have a container or a parent set!\");\n return;\n }\n\n this.parent = this.container.current.parentElement;\n this.parent.addEventListener('mousemove', this.handleMouseMove);\n this.parent.addEventListener('mouseleave', this.handleMouseLeave);\n this.parent.addEventListener('mousedown', this.stopShowingTooltip);\n }\n\n stopListening(): void {\n if (!this.parent) {\n return;\n }\n\n this.parent.removeEventListener('mousemove', this.handleMouseMove);\n this.parent.removeEventListener('mouseleave', this.handleMouseLeave);\n this.parent.removeEventListener('mousedown', this.stopShowingTooltip);\n }\n\n startListeningWindow(): void {\n window.addEventListener('mousemove', this.handleWindowMouseMove, true);\n window.addEventListener('contextmenu', this.stopShowingTooltip, true);\n window.addEventListener('wheel', this.handleWheel);\n }\n\n stopListeningWindow(): void {\n window.removeEventListener('mousemove', this.handleWindowMouseMove, true);\n window.removeEventListener('contextmenu', this.stopShowingTooltip, true);\n window.removeEventListener('wheel', this.handleWheel);\n }\n\n handleMouseMove(): void {\n this.startTimer();\n }\n\n handleWheel(): void {\n const { isShown } = this.state;\n if (this.popper.current && this.parent && isShown) {\n if (\n !this.popper.current.element.matches(':hover') &&\n !this.parent.matches(':hover')\n ) {\n this.stopTimer();\n this.hide();\n }\n }\n }\n\n handleMouseLeave(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n const { interactive } = this.props;\n if (!interactive && isShown) {\n this.hide();\n }\n }\n\n handleTimeout(): void {\n this.show();\n }\n\n handleWindowMouseMove(event: MouseEvent): void {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { isShown } = this.state;\n\n if (!this.popper.current || !this.parent) {\n return;\n }\n const popperRect = this.popper.current.element.getBoundingClientRect();\n const parentRect = this.parent.getBoundingClientRect();\n\n if (\n mouseX >= popperRect.left &&\n mouseX <= popperRect.left + popperRect.width &&\n mouseY >= popperRect.top &&\n mouseY <= popperRect.top + popperRect.height\n ) {\n this.handleMouseMove();\n } else if (\n mouseX >= parentRect.left &&\n mouseX <= parentRect.left + parentRect.width &&\n mouseY >= parentRect.top &&\n mouseY <= parentRect.top + parentRect.height\n ) {\n this.handleMouseMove();\n } else if (isShown) {\n this.stopTimer();\n this.hide();\n }\n }\n\n startTimer(): void {\n this.stopTimer();\n\n const { timeout, reshowTimeout } = this.props;\n let timerTimeout = timeout;\n if (\n Tooltip.shownTooltipCount > 0 ||\n Date.now() - Tooltip.lastHiddenTime < Tooltip.triggerReshowThreshold\n ) {\n timerTimeout = reshowTimeout;\n }\n this.timer = window.setTimeout(this.handleTimeout, timerTimeout);\n }\n\n stopTimer(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n show(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n if (!isShown) {\n this.popper.current?.show();\n this.setState({ isShown: true });\n\n const { interactive } = this.props;\n if (interactive) {\n this.startListeningWindow();\n }\n }\n }\n\n hide(): void {\n this.popper.current?.hide();\n this.stopListeningWindow();\n }\n\n update(): void {\n this.popper.current?.scheduleUpdate();\n }\n\n handleExited(): void {\n this.setState({ isShown: false });\n const { onExited } = this.props;\n onExited();\n }\n\n stopShowingTooltip(): void {\n const { isShown } = this.state;\n this.stopTimer();\n if (isShown) {\n this.hide();\n }\n }\n\n render(): JSX.Element {\n const {\n interactive,\n children,\n options,\n referenceObject,\n popperClassName,\n } = this.props;\n const { isShown } = this.state;\n return (\n <div ref={this.container} style={{ display: 'none' }}>\n <Popper\n className={classNames(popperClassName)}\n options={options}\n ref={this.popper}\n onExited={this.handleExited}\n interactive={interactive}\n referenceObject={referenceObject}\n >\n <div className=\"tooltip-content\"> {isShown && children}</div>\n </Popper>\n </div>\n );\n }\n}\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/components",
3
- "version": "0.9.2-beta.0+039d224",
3
+ "version": "0.9.3-fix-fontawesome.2+750dfef",
4
4
  "description": "Deephaven React component library",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -29,10 +29,10 @@
29
29
  "start": "cross-env NODE_ENV=development npm run watch"
30
30
  },
31
31
  "dependencies": {
32
- "@deephaven/icons": "^0.9.2-beta.0+039d224",
33
- "@deephaven/react-hooks": "^0.9.2-beta.0+039d224",
34
- "@deephaven/utils": "^0.9.2-beta.0+039d224",
35
- "@fortawesome/fontawesome-svg-core": "^1.2.32",
32
+ "@deephaven/icons": "^0.9.3-fix-fontawesome.2+750dfef",
33
+ "@deephaven/react-hooks": "^0.9.3-fix-fontawesome.2+750dfef",
34
+ "@deephaven/utils": "^0.9.3-fix-fontawesome.2+750dfef",
35
+ "@fortawesome/fontawesome-svg-core": "1.2.36",
36
36
  "@fortawesome/react-fontawesome": "^0.1.12",
37
37
  "bootstrap": "4.4.1",
38
38
  "classnames": "^2.3.1",
@@ -57,9 +57,9 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@babel/cli": "^7.16.0",
60
- "@deephaven/log": "^0.9.2-beta.0+039d224",
61
- "@deephaven/mocks": "^0.9.2-beta.0+039d224",
62
- "@deephaven/tsconfig": "^0.9.2-beta.0+039d224",
60
+ "@deephaven/log": "^0.9.3-fix-fontawesome.2+750dfef",
61
+ "@deephaven/mocks": "^0.9.3-fix-fontawesome.2+750dfef",
62
+ "@deephaven/tsconfig": "^0.9.3-fix-fontawesome.2+750dfef",
63
63
  "@types/bootstrap": "^4.4.1",
64
64
  "@types/jquery": "^3.5.1",
65
65
  "@types/lodash.flatten": "^4.4.0",
@@ -90,5 +90,5 @@
90
90
  "publishConfig": {
91
91
  "access": "public"
92
92
  },
93
- "gitHead": "039d224e3f0ad8ed3ed2a7f201f3069bfd71361d"
93
+ "gitHead": "750dfef4f31ee521fbf805ac8ffa4588d05c697c"
94
94
  }