@deephaven/components 0.46.1-beta.2 → 0.46.1-beta.4

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.
Files changed (111) hide show
  1. package/dist/AutoCompleteInput.js +40 -34
  2. package/dist/AutoCompleteInput.js.map +1 -1
  3. package/dist/AutoResizeTextarea.js +2 -1
  4. package/dist/AutoResizeTextarea.js.map +1 -1
  5. package/dist/BasicModal.js +48 -33
  6. package/dist/BasicModal.js.map +1 -1
  7. package/dist/Button.js +19 -8
  8. package/dist/Button.js.map +1 -1
  9. package/dist/ButtonGroup.js +5 -3
  10. package/dist/ButtonGroup.js.map +1 -1
  11. package/dist/ButtonOld.js +5 -3
  12. package/dist/ButtonOld.js.map +1 -1
  13. package/dist/CardFlip.js +14 -9
  14. package/dist/CardFlip.js.map +1 -1
  15. package/dist/Checkbox.js +23 -19
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/Collapse.js +12 -9
  18. package/dist/Collapse.js.map +1 -1
  19. package/dist/ComboBox.js +61 -51
  20. package/dist/ComboBox.js.map +1 -1
  21. package/dist/CopyButton.js +5 -3
  22. package/dist/CopyButton.js.map +1 -1
  23. package/dist/CustomTimeSelect.js +92 -84
  24. package/dist/CustomTimeSelect.js.map +1 -1
  25. package/dist/DateInput.js +19 -17
  26. package/dist/DateInput.js.map +1 -1
  27. package/dist/DateTimeInput.js +20 -18
  28. package/dist/DateTimeInput.js.map +1 -1
  29. package/dist/DebouncedSearchInput.js +2 -1
  30. package/dist/DebouncedSearchInput.js.map +1 -1
  31. package/dist/DraggableItemList.js +97 -80
  32. package/dist/DraggableItemList.js.map +1 -1
  33. package/dist/EditableItemList.js +53 -46
  34. package/dist/EditableItemList.js.map +1 -1
  35. package/dist/HierarchicalCheckboxMenu.js +59 -49
  36. package/dist/HierarchicalCheckboxMenu.js.map +1 -1
  37. package/dist/ItemList.js +42 -37
  38. package/dist/ItemList.js.map +1 -1
  39. package/dist/ItemListItem.js +5 -3
  40. package/dist/ItemListItem.js.map +1 -1
  41. package/dist/LoadingOverlay.js +28 -20
  42. package/dist/LoadingOverlay.js.map +1 -1
  43. package/dist/LoadingSpinner.js +13 -10
  44. package/dist/LoadingSpinner.js.map +1 -1
  45. package/dist/MaskedInput.js +2 -1
  46. package/dist/MaskedInput.js.map +1 -1
  47. package/dist/Option.js +5 -3
  48. package/dist/Option.js.map +1 -1
  49. package/dist/RadioGroup.js +14 -10
  50. package/dist/RadioGroup.js.map +1 -1
  51. package/dist/RadioItem.js +23 -19
  52. package/dist/RadioItem.js.map +1 -1
  53. package/dist/RandomAreaPlotAnimation.js +8 -6
  54. package/dist/RandomAreaPlotAnimation.js.map +1 -1
  55. package/dist/SearchInput.js +26 -21
  56. package/dist/SearchInput.js.map +1 -1
  57. package/dist/Select.js +5 -3
  58. package/dist/Select.js.map +1 -1
  59. package/dist/SelectValueList.js +29 -24
  60. package/dist/SelectValueList.js.map +1 -1
  61. package/dist/SocketedButton.js +13 -10
  62. package/dist/SocketedButton.js.map +1 -1
  63. package/dist/TimeInput.js +2 -1
  64. package/dist/TimeInput.js.map +1 -1
  65. package/dist/TimeSlider.js +123 -106
  66. package/dist/TimeSlider.js.map +1 -1
  67. package/dist/ToastNotification.js +35 -27
  68. package/dist/ToastNotification.js.map +1 -1
  69. package/dist/UISwitch.js +7 -5
  70. package/dist/UISwitch.js.map +1 -1
  71. package/dist/ValidateLabelInput.js +33 -24
  72. package/dist/ValidateLabelInput.js.map +1 -1
  73. package/dist/context-actions/ContextActions.js +7 -5
  74. package/dist/context-actions/ContextActions.js.map +1 -1
  75. package/dist/context-actions/ContextMenu.js +44 -41
  76. package/dist/context-actions/ContextMenu.js.map +1 -1
  77. package/dist/context-actions/ContextMenuItem.js +34 -24
  78. package/dist/context-actions/ContextMenuItem.js.map +1 -1
  79. package/dist/context-actions/ContextMenuRoot.js +6 -4
  80. package/dist/context-actions/ContextMenuRoot.js.map +1 -1
  81. package/dist/context-actions/GlobalContextActions.js +3 -3
  82. package/dist/context-actions/GlobalContextActions.js.map +1 -1
  83. package/dist/menu-actions/DropdownMenu.js +19 -16
  84. package/dist/menu-actions/DropdownMenu.js.map +1 -1
  85. package/dist/menu-actions/Menu.js +8 -9
  86. package/dist/menu-actions/Menu.js.map +1 -1
  87. package/dist/modal/DebouncedModal.js +14 -9
  88. package/dist/modal/DebouncedModal.js.map +1 -1
  89. package/dist/modal/InfoModal.js +22 -13
  90. package/dist/modal/InfoModal.js.map +1 -1
  91. package/dist/modal/Modal.js +70 -60
  92. package/dist/modal/Modal.js.map +1 -1
  93. package/dist/modal/ModalBody.js +5 -3
  94. package/dist/modal/ModalBody.js.map +1 -1
  95. package/dist/modal/ModalFooter.js +5 -3
  96. package/dist/modal/ModalFooter.js.map +1 -1
  97. package/dist/modal/ModalHeader.js +19 -13
  98. package/dist/modal/ModalHeader.js.map +1 -1
  99. package/dist/navigation/Menu.js +15 -12
  100. package/dist/navigation/Menu.js.map +1 -1
  101. package/dist/navigation/MenuItem.js +29 -22
  102. package/dist/navigation/MenuItem.js.map +1 -1
  103. package/dist/navigation/Page.js +35 -26
  104. package/dist/navigation/Page.js.map +1 -1
  105. package/dist/navigation/Stack.js +33 -20
  106. package/dist/navigation/Stack.js.map +1 -1
  107. package/dist/popper/Popper.js +31 -25
  108. package/dist/popper/Popper.js.map +1 -1
  109. package/dist/popper/Tooltip.js +18 -13
  110. package/dist/popper/Tooltip.js.map +1 -1
  111. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["classNames","React","useCallback","useEffect","useRef","useState","ReactDOM","CSSTransition","ThemeExport","Modal","className","children","role","keyboard","isOpen","centered","size","onOpened","onClosed","toggle","dataTestId","element","background","backgroundClicked","setBackgroundClicked","handleKeyDown","event","key","addKeydownEventListener","window","addEventListener","removeEventListener","open","closed","current","document","createElement","setAttribute","body","appendChild","onExited","removeChild","undefined","createPortal","appearActive","appearDone","transitionMs","zIndex","e","target","display"],"sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport { CSSTransition } from 'react-transition-group';\nimport ThemeExport from '../ThemeExport';\n\ninterface ModalProps {\n className?: string;\n children?: ReactNode;\n role?: string;\n keyboard?: boolean;\n isOpen?: boolean;\n centered?: boolean;\n size?: 'sm' | 'lg' | 'xl' | undefined;\n onOpened?: () => void;\n onClosed?: () => void;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction Modal({\n className = 'theme-bg-light',\n children,\n role = 'role',\n keyboard = true,\n isOpen = false,\n centered = false,\n size,\n onOpened,\n onClosed,\n toggle,\n 'data-testid': dataTestId,\n}: ModalProps): React.ReactElement | null {\n const element = useRef<HTMLElement>();\n const background = useRef<HTMLDivElement>(null);\n const [backgroundClicked, setBackgroundClicked] = useState(false);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent): void => {\n switch (event.key) {\n case 'Escape':\n toggle?.();\n break;\n default:\n break;\n }\n },\n [toggle]\n );\n\n useEffect(\n function addKeydownEventListener() {\n if (isOpen && keyboard) {\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }\n },\n [handleKeyDown, isOpen, keyboard]\n );\n\n useEffect(\n function open() {\n if (isOpen && onOpened) {\n onOpened();\n }\n },\n [onOpened, isOpen]\n );\n\n useEffect(\n function closed() {\n if (!isOpen && onClosed) {\n onClosed();\n }\n },\n [onClosed, isOpen]\n );\n\n if (isOpen && !element.current) {\n element.current = document.createElement('div');\n element.current.setAttribute(\n 'style',\n 'padding-right: 15px; display: block'\n );\n element.current.setAttribute('role', 'presentation');\n document.body.appendChild(element.current);\n }\n\n const onExited = () => {\n if (element.current) {\n document.body.removeChild(element.current);\n element.current = undefined;\n }\n };\n\n return element.current\n ? ReactDOM.createPortal(\n <>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearActive: 'show',\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n className={classNames('modal-backdrop fade')}\n style={{ zIndex: 1050 }}\n />\n </CSSTransition>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n ref={background}\n className=\"modal fade\"\n onMouseDown={e => {\n if (e.target === background.current) {\n setBackgroundClicked(true);\n } else {\n setBackgroundClicked(false);\n }\n }}\n onMouseUp={e => {\n if (\n backgroundClicked &&\n e.target === background.current &&\n toggle !== undefined\n ) {\n toggle();\n }\n }}\n role=\"dialog\"\n style={{ display: 'block' }}\n >\n <div\n className={classNames(`modal-dialog ${className}`, {\n 'modal-lg': size === 'lg',\n 'modal-sm': size === 'sm',\n 'modal-xl': size === 'xl',\n 'modal-dialog-centered': centered,\n })}\n style={{ zIndex: 1040 }}\n >\n <div\n className=\"modal-content\"\n role=\"presentation\"\n data-testid={dataTestId}\n >\n {children}\n </div>\n </div>\n </div>\n </CSSTransition>\n </>,\n element.current\n )\n : null;\n}\n\nexport default Modal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["classNames","React","useCallback","useEffect","useRef","useState","ReactDOM","CSSTransition","ThemeExport","Modal","className","children","role","keyboard","isOpen","centered","size","onOpened","onClosed","toggle","dataTestId","element","background","backgroundClicked","setBackgroundClicked","handleKeyDown","event","key","addKeydownEventListener","window","addEventListener","removeEventListener","open","closed","current","document","createElement","setAttribute","body","appendChild","onExited","removeChild","undefined","createPortal","appearActive","appearDone","transitionMs","zIndex","e","target","display"],"sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport { CSSTransition } from 'react-transition-group';\nimport ThemeExport from '../ThemeExport';\n\ninterface ModalProps {\n className?: string;\n children?: ReactNode;\n role?: string;\n keyboard?: boolean;\n isOpen?: boolean;\n centered?: boolean;\n size?: 'sm' | 'lg' | 'xl' | undefined;\n onOpened?: () => void;\n onClosed?: () => void;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction Modal({\n className = 'theme-bg-light',\n children,\n role = 'role',\n keyboard = true,\n isOpen = false,\n centered = false,\n size,\n onOpened,\n onClosed,\n toggle,\n 'data-testid': dataTestId,\n}: ModalProps): React.ReactElement | null {\n const element = useRef<HTMLElement>();\n const background = useRef<HTMLDivElement>(null);\n const [backgroundClicked, setBackgroundClicked] = useState(false);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent): void => {\n switch (event.key) {\n case 'Escape':\n toggle?.();\n break;\n default:\n break;\n }\n },\n [toggle]\n );\n\n useEffect(\n function addKeydownEventListener() {\n if (isOpen && keyboard) {\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }\n },\n [handleKeyDown, isOpen, keyboard]\n );\n\n useEffect(\n function open() {\n if (isOpen && onOpened) {\n onOpened();\n }\n },\n [onOpened, isOpen]\n );\n\n useEffect(\n function closed() {\n if (!isOpen && onClosed) {\n onClosed();\n }\n },\n [onClosed, isOpen]\n );\n\n if (isOpen && !element.current) {\n element.current = document.createElement('div');\n element.current.setAttribute(\n 'style',\n 'padding-right: 15px; display: block'\n );\n element.current.setAttribute('role', 'presentation');\n document.body.appendChild(element.current);\n }\n\n const onExited = () => {\n if (element.current) {\n document.body.removeChild(element.current);\n element.current = undefined;\n }\n };\n\n return element.current\n ? ReactDOM.createPortal(\n <>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearActive: 'show',\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n className={classNames('modal-backdrop fade')}\n style={{ zIndex: 1050 }}\n />\n </CSSTransition>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n ref={background}\n className=\"modal fade\"\n onMouseDown={e => {\n if (e.target === background.current) {\n setBackgroundClicked(true);\n } else {\n setBackgroundClicked(false);\n }\n }}\n onMouseUp={e => {\n if (\n backgroundClicked &&\n e.target === background.current &&\n toggle !== undefined\n ) {\n toggle();\n }\n }}\n role=\"dialog\"\n style={{ display: 'block' }}\n >\n <div\n className={classNames(`modal-dialog ${className}`, {\n 'modal-lg': size === 'lg',\n 'modal-sm': size === 'sm',\n 'modal-xl': size === 'xl',\n 'modal-dialog-centered': centered,\n })}\n style={{ zIndex: 1040 }}\n >\n <div\n className=\"modal-content\"\n role=\"presentation\"\n data-testid={dataTestId}\n >\n {children}\n </div>\n </div>\n </div>\n </CSSTransition>\n </>,\n element.current\n )\n : null;\n}\n\nexport default Modal;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  function ModalBody(_ref) {
3
4
  var {
4
5
  className = 'modal-body',
@@ -6,11 +7,12 @@ function ModalBody(_ref) {
6
7
  children,
7
8
  'data-testid': dataTestId
8
9
  } = _ref;
9
- return /*#__PURE__*/React.createElement("div", {
10
+ return /*#__PURE__*/_jsx("div", {
10
11
  className: className,
11
12
  "data-testid": dataTestId,
12
- style: style
13
- }, children);
13
+ style: style,
14
+ children: children
15
+ });
14
16
  }
15
17
  export default ModalBody;
16
18
  //# sourceMappingURL=ModalBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalBody.js","names":["React","ModalBody","className","style","children","dataTestId"],"sources":["../../src/modal/ModalBody.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalBodyProps {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalBody({\n className = 'modal-body',\n style,\n children,\n 'data-testid': dataTestId,\n}: ModalBodyProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId} style={style}>\n {children}\n </div>\n );\n}\n\nexport default ModalBody;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AASrE,SAASC,SAAS,OAKe;EAAA,IALd;IACjBC,SAAS,GAAG,YAAY;IACxBC,KAAK;IACLC,QAAQ;IACR,aAAa,EAAEC;EACD,CAAC;EACf,oBACE;IAAK,SAAS,EAAEH,SAAU;IAAC,eAAaG,UAAW;IAAC,KAAK,EAAEF;EAAM,GAC9DC,QAAQ,CACL;AAEV;AAEA,eAAeH,SAAS"}
1
+ {"version":3,"file":"ModalBody.js","names":["React","ModalBody","className","style","children","dataTestId"],"sources":["../../src/modal/ModalBody.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalBodyProps {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalBody({\n className = 'modal-body',\n style,\n children,\n 'data-testid': dataTestId,\n}: ModalBodyProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId} style={style}>\n {children}\n </div>\n );\n}\n\nexport default ModalBody;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AAAC;AAStE,SAASC,SAAS,OAKe;EAAA,IALd;IACjBC,SAAS,GAAG,YAAY;IACxBC,KAAK;IACLC,QAAQ;IACR,aAAa,EAAEC;EACD,CAAC;EACf,oBACE;IAAK,SAAS,EAAEH,SAAU;IAAC,eAAaG,UAAW;IAAC,KAAK,EAAEF,KAAM;IAAA,UAC9DC;EAAQ,EACL;AAEV;AAEA,eAAeH,SAAS"}
@@ -1,14 +1,16 @@
1
1
  import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  function ModalFooter(_ref) {
3
4
  var {
4
5
  className = 'modal-footer',
5
6
  children,
6
7
  'data-testid': dataTestId
7
8
  } = _ref;
8
- return /*#__PURE__*/React.createElement("div", {
9
+ return /*#__PURE__*/_jsx("div", {
9
10
  className: className,
10
- "data-testid": dataTestId
11
- }, children);
11
+ "data-testid": dataTestId,
12
+ children: children
13
+ });
12
14
  }
13
15
  export default ModalFooter;
14
16
  //# sourceMappingURL=ModalFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFooter.js","names":["React","ModalFooter","className","children","dataTestId"],"sources":["../../src/modal/ModalFooter.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from 'react';\n\ninterface ModalFooterProps {\n className?: string;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalFooter({\n className = 'modal-footer',\n children,\n 'data-testid': dataTestId,\n}: ModalFooterProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId}>\n {children}\n </div>\n );\n}\n\nexport default ModalFooter;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAmC,OAAO;AAQtD,SAASC,WAAW,OAIe;EAAA,IAJd;IACnBC,SAAS,GAAG,cAAc;IAC1BC,QAAQ;IACR,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,EAAEF,SAAU;IAAC,eAAaE;EAAW,GAChDD,QAAQ,CACL;AAEV;AAEA,eAAeF,WAAW"}
1
+ {"version":3,"file":"ModalFooter.js","names":["React","ModalFooter","className","children","dataTestId"],"sources":["../../src/modal/ModalFooter.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from 'react';\n\ninterface ModalFooterProps {\n className?: string;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalFooter({\n className = 'modal-footer',\n children,\n 'data-testid': dataTestId,\n}: ModalFooterProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId}>\n {children}\n </div>\n );\n}\n\nexport default ModalFooter;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAmC,OAAO;AAAC;AAQvD,SAASC,WAAW,OAIe;EAAA,IAJd;IACnBC,SAAS,GAAG,cAAc;IAC1BC,QAAQ;IACR,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,EAAEF,SAAU;IAAC,eAAaE,UAAW;IAAA,UAChDD;EAAQ,EACL;AAEV;AAEA,eAAeF,WAAW"}
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
4
  function ModalHeader(_ref) {
3
5
  var {
4
6
  className,
@@ -8,20 +10,24 @@ function ModalHeader(_ref) {
8
10
  toggle,
9
11
  'data-testid': dataTestId
10
12
  } = _ref;
11
- return /*#__PURE__*/React.createElement("div", {
13
+ return /*#__PURE__*/_jsxs("div", {
12
14
  className: "modal-header ".concat(className),
13
- style: style
14
- }, /*#__PURE__*/React.createElement("h5", {
15
- className: "modal-title"
16
- }, children), closeButton && /*#__PURE__*/React.createElement("button", {
17
- type: "button",
18
- className: "close",
19
- "data-dismiss": "modal",
20
- "aria-label": "Close",
21
- onClick: toggle
22
- }, /*#__PURE__*/React.createElement("span", {
23
- "aria-hidden": "true"
24
- }, "\xD7")));
15
+ style: style,
16
+ children: [/*#__PURE__*/_jsx("h5", {
17
+ className: "modal-title",
18
+ children: children
19
+ }), closeButton && /*#__PURE__*/_jsx("button", {
20
+ type: "button",
21
+ className: "close",
22
+ "data-dismiss": "modal",
23
+ "aria-label": "Close",
24
+ onClick: toggle,
25
+ children: /*#__PURE__*/_jsx("span", {
26
+ "aria-hidden": "true",
27
+ children: "\xD7"
28
+ })
29
+ })]
30
+ });
25
31
  }
26
32
  export default ModalHeader;
27
33
  //# sourceMappingURL=ModalHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","names":["React","ModalHeader","className","children","closeButton","style","toggle","dataTestId"],"sources":["../../src/modal/ModalHeader.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalHeaderProps {\n className?: string;\n children?: ReactNode;\n closeButton?: boolean;\n style?: CSSProperties;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction ModalHeader({\n className,\n children,\n closeButton = true,\n style,\n toggle,\n 'data-testid': dataTestId,\n}: ModalHeaderProps): ReactElement {\n return (\n <div className={`modal-header ${className}`} style={style}>\n <h5 className=\"modal-title\">{children}</h5>\n {closeButton && (\n <button\n type=\"button\"\n className=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n onClick={toggle}\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n )}\n </div>\n );\n}\n\nexport default ModalHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AAWrE,SAASC,WAAW,OAOe;EAAA,IAPd;IACnBC,SAAS;IACTC,QAAQ;IACRC,WAAW,GAAG,IAAI;IAClBC,KAAK;IACLC,MAAM;IACN,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,yBAAkBL,SAAS,CAAG;IAAC,KAAK,EAAEG;EAAM,gBACxD;IAAI,SAAS,EAAC;EAAa,GAAEF,QAAQ,CAAM,EAC1CC,WAAW,iBACV;IACE,IAAI,EAAC,QAAQ;IACb,SAAS,EAAC,OAAO;IACjB,gBAAa,OAAO;IACpB,cAAW,OAAO;IAClB,OAAO,EAAEE;EAAO,gBAEhB;IAAM,eAAY;EAAM,GAAC,MAAO,CAAO,CAE1C,CACG;AAEV;AAEA,eAAeL,WAAW"}
1
+ {"version":3,"file":"ModalHeader.js","names":["React","ModalHeader","className","children","closeButton","style","toggle","dataTestId"],"sources":["../../src/modal/ModalHeader.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalHeaderProps {\n className?: string;\n children?: ReactNode;\n closeButton?: boolean;\n style?: CSSProperties;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction ModalHeader({\n className,\n children,\n closeButton = true,\n style,\n toggle,\n 'data-testid': dataTestId,\n}: ModalHeaderProps): ReactElement {\n return (\n <div className={`modal-header ${className}`} style={style}>\n <h5 className=\"modal-title\">{children}</h5>\n {closeButton && (\n <button\n type=\"button\"\n className=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n onClick={toggle}\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n )}\n </div>\n );\n}\n\nexport default ModalHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AAAC;AAAA;AAWtE,SAASC,WAAW,OAOe;EAAA,IAPd;IACnBC,SAAS;IACTC,QAAQ;IACRC,WAAW,GAAG,IAAI;IAClBC,KAAK;IACLC,MAAM;IACN,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,yBAAkBL,SAAS,CAAG;IAAC,KAAK,EAAEG,KAAM;IAAA,wBACxD;MAAI,SAAS,EAAC,aAAa;MAAA,UAAEF;IAAQ,EAAM,EAC1CC,WAAW,iBACV;MACE,IAAI,EAAC,QAAQ;MACb,SAAS,EAAC,OAAO;MACjB,gBAAa,OAAO;MACpB,cAAW,OAAO;MAClB,OAAO,EAAEE,MAAO;MAAA,uBAEhB;QAAM,eAAY,MAAM;QAAA,UAAC;MAAO;IAAO,EAE1C;EAAA,EACG;AAEV;AAEA,eAAeL,WAAW"}
@@ -1,25 +1,28 @@
1
1
  import React from 'react';
2
2
  import MenuItem from "./MenuItem.js";
3
3
  import "./Menu.css";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
4
5
  export function Menu(_ref) {
5
6
  var {
6
7
  items,
7
8
  onSelect: _onSelect = () => undefined,
8
9
  'data-testid': dataTestId
9
10
  } = _ref;
10
- return /*#__PURE__*/React.createElement("div", {
11
+ return /*#__PURE__*/_jsx("div", {
11
12
  className: "navigation-menu-view",
12
- "data-testid": dataTestId
13
- }, /*#__PURE__*/React.createElement("ul", {
14
- className: "navigation-menu-list"
15
- }, items.map((item, itemIndex) => /*#__PURE__*/React.createElement("li", {
16
- key: item.title
17
- }, /*#__PURE__*/React.createElement(MenuItem, {
18
- item: item,
19
- onSelect: () => {
20
- _onSelect(itemIndex);
21
- }
22
- })))));
13
+ "data-testid": dataTestId,
14
+ children: /*#__PURE__*/_jsx("ul", {
15
+ className: "navigation-menu-list",
16
+ children: items.map((item, itemIndex) => /*#__PURE__*/_jsx("li", {
17
+ children: /*#__PURE__*/_jsx(MenuItem, {
18
+ item: item,
19
+ onSelect: () => {
20
+ _onSelect(itemIndex);
21
+ }
22
+ })
23
+ }, item.title))
24
+ })
25
+ });
23
26
  }
24
27
  export default Menu;
25
28
  //# sourceMappingURL=Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","MenuItem","Menu","items","onSelect","undefined","dataTestId","map","item","itemIndex","title"],"sources":["../../src/navigation/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport MenuItem, { MenuItemDef } from './MenuItem';\nimport './Menu.scss';\n\nexport type MenuSelectCallback = (itemIndex: number) => void;\n\nexport type MenuProps = {\n items: readonly MenuItemDef[];\n onSelect?: MenuSelectCallback;\n 'data-testid'?: string;\n};\n\nexport function Menu({\n items,\n onSelect = () => undefined,\n 'data-testid': dataTestId,\n}: MenuProps): JSX.Element {\n return (\n <div className=\"navigation-menu-view\" data-testid={dataTestId}>\n <ul className=\"navigation-menu-list\">\n {items.map((item, itemIndex) => (\n <li key={item.title}>\n <MenuItem\n item={item}\n onSelect={() => {\n onSelect(itemIndex);\n }}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n}\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAAC,OACnBC,QAAQ;AAAA;AAWf,OAAO,SAASC,IAAI,OAIO;EAAA,IAJN;IACnBC,KAAK;IACLC,QAAQ,EAARA,SAAQ,GAAG,MAAMC,SAAS;IAC1B,aAAa,EAAEC;EACN,CAAC;EACV,oBACE;IAAK,SAAS,EAAC,sBAAsB;IAAC,eAAaA;EAAW,gBAC5D;IAAI,SAAS,EAAC;EAAsB,GACjCH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,SAAS,kBACzB;IAAI,GAAG,EAAED,IAAI,CAACE;EAAM,gBAClB,oBAAC,QAAQ;IACP,IAAI,EAAEF,IAAK;IACX,QAAQ,EAAE,MAAM;MACdJ,SAAQ,CAACK,SAAS,CAAC;IACrB;EAAE,EACF,CAEL,CAAC,CACC,CACD;AAEV;AAEA,eAAeP,IAAI"}
1
+ {"version":3,"file":"Menu.js","names":["React","MenuItem","Menu","items","onSelect","undefined","dataTestId","map","item","itemIndex","title"],"sources":["../../src/navigation/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport MenuItem, { MenuItemDef } from './MenuItem';\nimport './Menu.scss';\n\nexport type MenuSelectCallback = (itemIndex: number) => void;\n\nexport type MenuProps = {\n items: readonly MenuItemDef[];\n onSelect?: MenuSelectCallback;\n 'data-testid'?: string;\n};\n\nexport function Menu({\n items,\n onSelect = () => undefined,\n 'data-testid': dataTestId,\n}: MenuProps): JSX.Element {\n return (\n <div className=\"navigation-menu-view\" data-testid={dataTestId}>\n <ul className=\"navigation-menu-list\">\n {items.map((item, itemIndex) => (\n <li key={item.title}>\n <MenuItem\n item={item}\n onSelect={() => {\n onSelect(itemIndex);\n }}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n}\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAAC,OACnBC,QAAQ;AAAA;AAAA;AAWf,OAAO,SAASC,IAAI,OAIO;EAAA,IAJN;IACnBC,KAAK;IACLC,QAAQ,EAARA,SAAQ,GAAG,MAAMC,SAAS;IAC1B,aAAa,EAAEC;EACN,CAAC;EACV,oBACE;IAAK,SAAS,EAAC,sBAAsB;IAAC,eAAaA,UAAW;IAAA,uBAC5D;MAAI,SAAS,EAAC,sBAAsB;MAAA,UACjCH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,SAAS,kBACzB;QAAA,uBACE,KAAC,QAAQ;UACP,IAAI,EAAED,IAAK;UACX,QAAQ,EAAE,MAAM;YACdJ,SAAQ,CAACK,SAAS,CAAC;UACrB;QAAE;MACF,GANKD,IAAI,CAACE,KAAK,CAQpB;IAAC;EACC,EACD;AAEV;AAEA,eAAeR,IAAI"}
@@ -3,6 +3,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
3
  import { vsChevronRight } from '@deephaven/icons';
4
4
  import "./MenuItem.css";
5
5
  import UISwitch from "../UISwitch.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
8
  function isSwitchMenuItemType(item) {
7
9
  return item.isOn !== undefined;
8
10
  }
@@ -29,7 +31,7 @@ export function MenuItem(_ref) {
29
31
  }
30
32
  return onSelect;
31
33
  }, [item, onSelect]);
32
- return /*#__PURE__*/React.createElement("div", {
34
+ return /*#__PURE__*/_jsxs("div", {
33
35
  className: "btn btn-navigation-menu-item",
34
36
  "data-testid": "menu-item-".concat(title),
35
37
  onClick: handleSelect,
@@ -39,27 +41,32 @@ export function MenuItem(_ref) {
39
41
  }
40
42
  },
41
43
  tabIndex: 0,
42
- role: "menuitem"
43
- }, icon !== undefined && /*#__PURE__*/React.createElement("div", {
44
- className: "icon"
45
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
46
- icon: icon
47
- })), /*#__PURE__*/React.createElement("div", {
48
- className: "title"
49
- }, title), subtitle !== undefined && /*#__PURE__*/React.createElement("div", {
50
- className: "shortcut"
51
- }, subtitle), /*#__PURE__*/React.createElement("div", {
52
- className: "accessory",
53
- "data-testid": dataTestId
54
- }, isSwitchMenuItemType(item) ? /*#__PURE__*/React.createElement(UISwitch, {
55
- on: item.isOn,
56
- onClick: event => {
57
- event.stopPropagation();
58
- handleSelect();
59
- }
60
- }) : /*#__PURE__*/React.createElement(FontAwesomeIcon, {
61
- icon: vsChevronRight
62
- })));
44
+ role: "menuitem",
45
+ children: [icon !== undefined && /*#__PURE__*/_jsx("div", {
46
+ className: "icon",
47
+ children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
48
+ icon: icon
49
+ })
50
+ }), /*#__PURE__*/_jsx("div", {
51
+ className: "title",
52
+ children: title
53
+ }), subtitle !== undefined && /*#__PURE__*/_jsx("div", {
54
+ className: "shortcut",
55
+ children: subtitle
56
+ }), /*#__PURE__*/_jsx("div", {
57
+ className: "accessory",
58
+ "data-testid": dataTestId,
59
+ children: isSwitchMenuItemType(item) ? /*#__PURE__*/_jsx(UISwitch, {
60
+ on: item.isOn,
61
+ onClick: event => {
62
+ event.stopPropagation();
63
+ handleSelect();
64
+ }
65
+ }) : /*#__PURE__*/_jsx(FontAwesomeIcon, {
66
+ icon: vsChevronRight
67
+ })
68
+ })]
69
+ });
63
70
  }
64
71
  export default MenuItem;
65
72
  //# sourceMappingURL=MenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useMemo","FontAwesomeIcon","vsChevronRight","UISwitch","isSwitchMenuItemType","item","isOn","undefined","MenuItem","onSelect","dataTestId","icon","subtitle","title","handleSelect","onChange","event","key","stopPropagation"],"sources":["../../src/navigation/MenuItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsChevronRight } from '@deephaven/icons';\nimport './MenuItem.scss';\n\nimport UISwitch from '../UISwitch';\n\nexport type MenuItemDef = {\n title: string;\n subtitle?: string;\n icon?: IconProp;\n};\n\nexport type SwitchMenuItemDef = MenuItemDef & {\n isOn: boolean;\n onChange: (isOn: boolean) => void;\n};\n\nfunction isSwitchMenuItemType(item: MenuItemDef): item is SwitchMenuItemDef {\n return (item as SwitchMenuItemDef).isOn !== undefined;\n}\n\nexport type MenuItemProps = {\n item: MenuItemDef;\n onSelect?: () => void;\n 'data-testid'?: string;\n};\n\n/**\n * @param props.item The menu item to set. Set a SwitchMenuItemDef to show a switch.\n * @param props.onSelect Called when the menu item is selected\n */\nexport function MenuItem({\n item,\n onSelect = () => undefined,\n 'data-testid': dataTestId,\n}: MenuItemProps): JSX.Element {\n const { icon, subtitle, title } = item;\n const handleSelect = useMemo(() => {\n if (isSwitchMenuItemType(item)) {\n return () => {\n item.onChange(!item.isOn);\n };\n }\n return onSelect;\n }, [item, onSelect]);\n return (\n <div\n className=\"btn btn-navigation-menu-item\"\n data-testid={`menu-item-${title}`}\n onClick={handleSelect}\n onKeyDown={event => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleSelect();\n }\n }}\n tabIndex={0}\n role=\"menuitem\"\n >\n {icon !== undefined && (\n <div className=\"icon\">\n <FontAwesomeIcon icon={icon} />\n </div>\n )}\n <div className=\"title\">{title}</div>\n {subtitle !== undefined && <div className=\"shortcut\">{subtitle}</div>}\n <div className=\"accessory\" data-testid={dataTestId}>\n {isSwitchMenuItemType(item) ? (\n <UISwitch\n on={item.isOn}\n onClick={event => {\n event.stopPropagation();\n handleSelect();\n }}\n />\n ) : (\n <FontAwesomeIcon icon={vsChevronRight} />\n )}\n </div>\n </div>\n );\n}\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,cAAc,QAAQ,kBAAkB;AAAC;AAAA,OAG3CC,QAAQ;AAaf,SAASC,oBAAoB,CAACC,IAAiB,EAA6B;EAC1E,OAAQA,IAAI,CAAuBC,IAAI,KAAKC,SAAS;AACvD;AAQA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQ,OAIO;EAAA,IAJN;IACvBH,IAAI;IACJI,QAAQ,GAAG,MAAMF,SAAS;IAC1B,aAAa,EAAEG;EACF,CAAC;EACd,IAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGR,IAAI;EACtC,IAAMS,YAAY,GAAGd,OAAO,CAAC,MAAM;IACjC,IAAII,oBAAoB,CAACC,IAAI,CAAC,EAAE;MAC9B,OAAO,MAAM;QACXA,IAAI,CAACU,QAAQ,CAAC,CAACV,IAAI,CAACC,IAAI,CAAC;MAC3B,CAAC;IACH;IACA,OAAOG,QAAQ;EACjB,CAAC,EAAE,CAACJ,IAAI,EAAEI,QAAQ,CAAC,CAAC;EACpB,oBACE;IACE,SAAS,EAAC,8BAA8B;IACxC,mCAA0BI,KAAK,CAAG;IAClC,OAAO,EAAEC,YAAa;IACtB,SAAS,EAAEE,KAAK,IAAI;MAClB,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;QAC9CH,YAAY,EAAE;MAChB;IACF,CAAE;IACF,QAAQ,EAAE,CAAE;IACZ,IAAI,EAAC;EAAU,GAEdH,IAAI,KAAKJ,SAAS,iBACjB;IAAK,SAAS,EAAC;EAAM,gBACnB,oBAAC,eAAe;IAAC,IAAI,EAAEI;EAAK,EAAG,CAElC,eACD;IAAK,SAAS,EAAC;EAAO,GAAEE,KAAK,CAAO,EACnCD,QAAQ,KAAKL,SAAS,iBAAI;IAAK,SAAS,EAAC;EAAU,GAAEK,QAAQ,CAAO,eACrE;IAAK,SAAS,EAAC,WAAW;IAAC,eAAaF;EAAW,GAChDN,oBAAoB,CAACC,IAAI,CAAC,gBACzB,oBAAC,QAAQ;IACP,EAAE,EAAEA,IAAI,CAACC,IAAK;IACd,OAAO,EAAEU,KAAK,IAAI;MAChBA,KAAK,CAACE,eAAe,EAAE;MACvBJ,YAAY,EAAE;IAChB;EAAE,EACF,gBAEF,oBAAC,eAAe;IAAC,IAAI,EAAEZ;EAAe,EACvC,CACG,CACF;AAEV;AAEA,eAAeM,QAAQ"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useMemo","FontAwesomeIcon","vsChevronRight","UISwitch","isSwitchMenuItemType","item","isOn","undefined","MenuItem","onSelect","dataTestId","icon","subtitle","title","handleSelect","onChange","event","key","stopPropagation"],"sources":["../../src/navigation/MenuItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsChevronRight } from '@deephaven/icons';\nimport './MenuItem.scss';\n\nimport UISwitch from '../UISwitch';\n\nexport type MenuItemDef = {\n title: string;\n subtitle?: string;\n icon?: IconProp;\n};\n\nexport type SwitchMenuItemDef = MenuItemDef & {\n isOn: boolean;\n onChange: (isOn: boolean) => void;\n};\n\nfunction isSwitchMenuItemType(item: MenuItemDef): item is SwitchMenuItemDef {\n return (item as SwitchMenuItemDef).isOn !== undefined;\n}\n\nexport type MenuItemProps = {\n item: MenuItemDef;\n onSelect?: () => void;\n 'data-testid'?: string;\n};\n\n/**\n * @param props.item The menu item to set. Set a SwitchMenuItemDef to show a switch.\n * @param props.onSelect Called when the menu item is selected\n */\nexport function MenuItem({\n item,\n onSelect = () => undefined,\n 'data-testid': dataTestId,\n}: MenuItemProps): JSX.Element {\n const { icon, subtitle, title } = item;\n const handleSelect = useMemo(() => {\n if (isSwitchMenuItemType(item)) {\n return () => {\n item.onChange(!item.isOn);\n };\n }\n return onSelect;\n }, [item, onSelect]);\n return (\n <div\n className=\"btn btn-navigation-menu-item\"\n data-testid={`menu-item-${title}`}\n onClick={handleSelect}\n onKeyDown={event => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleSelect();\n }\n }}\n tabIndex={0}\n role=\"menuitem\"\n >\n {icon !== undefined && (\n <div className=\"icon\">\n <FontAwesomeIcon icon={icon} />\n </div>\n )}\n <div className=\"title\">{title}</div>\n {subtitle !== undefined && <div className=\"shortcut\">{subtitle}</div>}\n <div className=\"accessory\" data-testid={dataTestId}>\n {isSwitchMenuItemType(item) ? (\n <UISwitch\n on={item.isOn}\n onClick={event => {\n event.stopPropagation();\n handleSelect();\n }}\n />\n ) : (\n <FontAwesomeIcon icon={vsChevronRight} />\n )}\n </div>\n </div>\n );\n}\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,cAAc,QAAQ,kBAAkB;AAAC;AAAA,OAG3CC,QAAQ;AAAA;AAAA;AAaf,SAASC,oBAAoB,CAACC,IAAiB,EAA6B;EAC1E,OAAQA,IAAI,CAAuBC,IAAI,KAAKC,SAAS;AACvD;AAQA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQ,OAIO;EAAA,IAJN;IACvBH,IAAI;IACJI,QAAQ,GAAG,MAAMF,SAAS;IAC1B,aAAa,EAAEG;EACF,CAAC;EACd,IAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGR,IAAI;EACtC,IAAMS,YAAY,GAAGd,OAAO,CAAC,MAAM;IACjC,IAAII,oBAAoB,CAACC,IAAI,CAAC,EAAE;MAC9B,OAAO,MAAM;QACXA,IAAI,CAACU,QAAQ,CAAC,CAACV,IAAI,CAACC,IAAI,CAAC;MAC3B,CAAC;IACH;IACA,OAAOG,QAAQ;EACjB,CAAC,EAAE,CAACJ,IAAI,EAAEI,QAAQ,CAAC,CAAC;EACpB,oBACE;IACE,SAAS,EAAC,8BAA8B;IACxC,mCAA0BI,KAAK,CAAG;IAClC,OAAO,EAAEC,YAAa;IACtB,SAAS,EAAEE,KAAK,IAAI;MAClB,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;QAC9CH,YAAY,EAAE;MAChB;IACF,CAAE;IACF,QAAQ,EAAE,CAAE;IACZ,IAAI,EAAC,UAAU;IAAA,WAEdH,IAAI,KAAKJ,SAAS,iBACjB;MAAK,SAAS,EAAC,MAAM;MAAA,uBACnB,KAAC,eAAe;QAAC,IAAI,EAAEI;MAAK;IAAG,EAElC,eACD;MAAK,SAAS,EAAC,OAAO;MAAA,UAAEE;IAAK,EAAO,EACnCD,QAAQ,KAAKL,SAAS,iBAAI;MAAK,SAAS,EAAC,UAAU;MAAA,UAAEK;IAAQ,EAAO,eACrE;MAAK,SAAS,EAAC,WAAW;MAAC,eAAaF,UAAW;MAAA,UAChDN,oBAAoB,CAACC,IAAI,CAAC,gBACzB,KAAC,QAAQ;QACP,EAAE,EAAEA,IAAI,CAACC,IAAK;QACd,OAAO,EAAEU,KAAK,IAAI;UAChBA,KAAK,CAACE,eAAe,EAAE;UACvBJ,YAAY,EAAE;QAChB;MAAE,EACF,gBAEF,KAAC,eAAe;QAAC,IAAI,EAAEZ;MAAe;IACvC,EACG;EAAA,EACF;AAEV;AAEA,eAAeM,QAAQ"}
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  import { vsClose, vsChevronLeft } from '@deephaven/icons';
3
3
  import "./Page.css";
4
4
  import Button from "../Button.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
5
7
  /**
6
8
  * A page view with a back button in the bottom left, a title at the top, and a close button in the top right.
7
9
  * Back and close buttons will only appear if `onBack` and/or `onClose` callbacks are set.
@@ -14,33 +16,40 @@ export function Page(_ref) {
14
16
  title,
15
17
  'data-testid': dataTestId
16
18
  } = _ref;
17
- return /*#__PURE__*/React.createElement("div", {
19
+ return /*#__PURE__*/_jsxs("div", {
18
20
  className: "navigation-page",
19
- "data-testid": dataTestId
20
- }, /*#__PURE__*/React.createElement("div", {
21
- className: "navigation-title-bar"
22
- }, /*#__PURE__*/React.createElement("div", {
23
- className: "navigation-left-buttons"
24
- }, onBack !== undefined && /*#__PURE__*/React.createElement(Button, {
25
- kind: "ghost",
26
- className: "btn-back",
27
- "data-testid": "btn-page-back",
28
- onClick: onBack,
29
- icon: vsChevronLeft
30
- }, "Back")), /*#__PURE__*/React.createElement("div", {
31
- className: "navigation-title"
32
- }, title), /*#__PURE__*/React.createElement("div", {
33
- className: "navigation-right-buttons"
34
- }, onClose !== undefined && /*#__PURE__*/React.createElement(Button, {
35
- kind: "ghost",
36
- className: "btn-close px-2 m-1",
37
- "data-testid": "btn-page-close",
38
- onClick: onClose,
39
- icon: vsClose,
40
- tooltip: "Close"
41
- }))), /*#__PURE__*/React.createElement("div", {
42
- className: "navigation-content"
43
- }, children));
21
+ "data-testid": dataTestId,
22
+ children: [/*#__PURE__*/_jsxs("div", {
23
+ className: "navigation-title-bar",
24
+ children: [/*#__PURE__*/_jsx("div", {
25
+ className: "navigation-left-buttons",
26
+ children: onBack !== undefined && /*#__PURE__*/_jsx(Button, {
27
+ kind: "ghost",
28
+ className: "btn-back",
29
+ "data-testid": "btn-page-back",
30
+ onClick: onBack,
31
+ icon: vsChevronLeft,
32
+ children: "Back"
33
+ })
34
+ }), /*#__PURE__*/_jsx("div", {
35
+ className: "navigation-title",
36
+ children: title
37
+ }), /*#__PURE__*/_jsx("div", {
38
+ className: "navigation-right-buttons",
39
+ children: onClose !== undefined && /*#__PURE__*/_jsx(Button, {
40
+ kind: "ghost",
41
+ className: "btn-close px-2 m-1",
42
+ "data-testid": "btn-page-close",
43
+ onClick: onClose,
44
+ icon: vsClose,
45
+ tooltip: "Close"
46
+ })
47
+ })]
48
+ }), /*#__PURE__*/_jsx("div", {
49
+ className: "navigation-content",
50
+ children: children
51
+ })]
52
+ });
44
53
  }
45
54
  export default Page;
46
55
  //# sourceMappingURL=Page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","names":["React","vsClose","vsChevronLeft","Button","Page","children","onBack","onClose","title","dataTestId","undefined"],"sources":["../../src/navigation/Page.tsx"],"sourcesContent":["import React from 'react';\nimport { vsClose, vsChevronLeft } from '@deephaven/icons';\nimport './Page.scss';\nimport Button from '../Button';\n\nexport type PageProps = {\n children: React.ReactNode;\n onBack?: () => void;\n onClose?: () => void;\n title: string;\n 'data-testid'?: string;\n};\n\n/**\n * A page view with a back button in the bottom left, a title at the top, and a close button in the top right.\n * Back and close buttons will only appear if `onBack` and/or `onClose` callbacks are set.\n */\nexport function Page({\n children,\n onBack,\n onClose,\n title,\n 'data-testid': dataTestId,\n}: PageProps): JSX.Element {\n return (\n <div className=\"navigation-page\" data-testid={dataTestId}>\n <div className=\"navigation-title-bar\">\n <div className=\"navigation-left-buttons\">\n {onBack !== undefined && (\n <Button\n kind=\"ghost\"\n className=\"btn-back\"\n data-testid=\"btn-page-back\"\n onClick={onBack}\n icon={vsChevronLeft}\n >\n Back\n </Button>\n )}\n </div>\n <div className=\"navigation-title\">{title}</div>\n <div className=\"navigation-right-buttons\">\n {onClose !== undefined && (\n <Button\n kind=\"ghost\"\n className=\"btn-close px-2 m-1\"\n data-testid=\"btn-page-close\"\n onClick={onClose}\n icon={vsClose}\n tooltip=\"Close\"\n />\n )}\n </div>\n </div>\n <div className=\"navigation-content\">{children}</div>\n </div>\n );\n}\n\nexport default Page;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,EAAEC,aAAa,QAAQ,kBAAkB;AAAC;AAAA,OAEnDC,MAAM;AAUb;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAI,OAMO;EAAA,IANN;IACnBC,QAAQ;IACRC,MAAM;IACNC,OAAO;IACPC,KAAK;IACL,aAAa,EAAEC;EACN,CAAC;EACV,oBACE;IAAK,SAAS,EAAC,iBAAiB;IAAC,eAAaA;EAAW,gBACvD;IAAK,SAAS,EAAC;EAAsB,gBACnC;IAAK,SAAS,EAAC;EAAyB,GACrCH,MAAM,KAAKI,SAAS,iBACnB,oBAAC,MAAM;IACL,IAAI,EAAC,OAAO;IACZ,SAAS,EAAC,UAAU;IACpB,eAAY,eAAe;IAC3B,OAAO,EAAEJ,MAAO;IAChB,IAAI,EAAEJ;EAAc,GACrB,MAED,CACD,CACG,eACN;IAAK,SAAS,EAAC;EAAkB,GAAEM,KAAK,CAAO,eAC/C;IAAK,SAAS,EAAC;EAA0B,GACtCD,OAAO,KAAKG,SAAS,iBACpB,oBAAC,MAAM;IACL,IAAI,EAAC,OAAO;IACZ,SAAS,EAAC,oBAAoB;IAC9B,eAAY,gBAAgB;IAC5B,OAAO,EAAEH,OAAQ;IACjB,IAAI,EAAEN,OAAQ;IACd,OAAO,EAAC;EAAO,EAElB,CACG,CACF,eACN;IAAK,SAAS,EAAC;EAAoB,GAAEI,QAAQ,CAAO,CAChD;AAEV;AAEA,eAAeD,IAAI"}
1
+ {"version":3,"file":"Page.js","names":["React","vsClose","vsChevronLeft","Button","Page","children","onBack","onClose","title","dataTestId","undefined"],"sources":["../../src/navigation/Page.tsx"],"sourcesContent":["import React from 'react';\nimport { vsClose, vsChevronLeft } from '@deephaven/icons';\nimport './Page.scss';\nimport Button from '../Button';\n\nexport type PageProps = {\n children: React.ReactNode;\n onBack?: () => void;\n onClose?: () => void;\n title: string;\n 'data-testid'?: string;\n};\n\n/**\n * A page view with a back button in the bottom left, a title at the top, and a close button in the top right.\n * Back and close buttons will only appear if `onBack` and/or `onClose` callbacks are set.\n */\nexport function Page({\n children,\n onBack,\n onClose,\n title,\n 'data-testid': dataTestId,\n}: PageProps): JSX.Element {\n return (\n <div className=\"navigation-page\" data-testid={dataTestId}>\n <div className=\"navigation-title-bar\">\n <div className=\"navigation-left-buttons\">\n {onBack !== undefined && (\n <Button\n kind=\"ghost\"\n className=\"btn-back\"\n data-testid=\"btn-page-back\"\n onClick={onBack}\n icon={vsChevronLeft}\n >\n Back\n </Button>\n )}\n </div>\n <div className=\"navigation-title\">{title}</div>\n <div className=\"navigation-right-buttons\">\n {onClose !== undefined && (\n <Button\n kind=\"ghost\"\n className=\"btn-close px-2 m-1\"\n data-testid=\"btn-page-close\"\n onClick={onClose}\n icon={vsClose}\n tooltip=\"Close\"\n />\n )}\n </div>\n </div>\n <div className=\"navigation-content\">{children}</div>\n </div>\n );\n}\n\nexport default Page;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,EAAEC,aAAa,QAAQ,kBAAkB;AAAC;AAAA,OAEnDC,MAAM;AAAA;AAAA;AAUb;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAI,OAMO;EAAA,IANN;IACnBC,QAAQ;IACRC,MAAM;IACNC,OAAO;IACPC,KAAK;IACL,aAAa,EAAEC;EACN,CAAC;EACV,oBACE;IAAK,SAAS,EAAC,iBAAiB;IAAC,eAAaA,UAAW;IAAA,wBACvD;MAAK,SAAS,EAAC,sBAAsB;MAAA,wBACnC;QAAK,SAAS,EAAC,yBAAyB;QAAA,UACrCH,MAAM,KAAKI,SAAS,iBACnB,KAAC,MAAM;UACL,IAAI,EAAC,OAAO;UACZ,SAAS,EAAC,UAAU;UACpB,eAAY,eAAe;UAC3B,OAAO,EAAEJ,MAAO;UAChB,IAAI,EAAEJ,aAAc;UAAA,UACrB;QAED;MACD,EACG,eACN;QAAK,SAAS,EAAC,kBAAkB;QAAA,UAAEM;MAAK,EAAO,eAC/C;QAAK,SAAS,EAAC,0BAA0B;QAAA,UACtCD,OAAO,KAAKG,SAAS,iBACpB,KAAC,MAAM;UACL,IAAI,EAAC,OAAO;UACZ,SAAS,EAAC,oBAAoB;UAC9B,eAAY,gBAAgB;UAC5B,OAAO,EAAEH,OAAQ;UACjB,IAAI,EAAEN,OAAQ;UACd,OAAO,EAAC;QAAO;MAElB,EACG;IAAA,EACF,eACN;MAAK,SAAS,EAAC,oBAAoB;MAAA,UAAEI;IAAQ,EAAO;EAAA,EAChD;AAEV;AAEA,eAAeD,IAAI"}
@@ -3,6 +3,9 @@ import { CSSTransition } from 'react-transition-group';
3
3
  import { usePrevious } from '@deephaven/react-hooks';
4
4
  import ThemeExport from "../ThemeExport.js";
5
5
  import "./Stack.css";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { Fragment as _Fragment } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
9
  /**
7
10
  * Pass a full navigation stack of children, and then automatically does a sliding animation when the stack changes.
8
11
  * Adding items to the stack will do a "push" animation, and removing items from the stack will do a "pop" animation.
@@ -57,26 +60,36 @@ export function Stack(_ref) {
57
60
  var popComplete = useCallback(() => {
58
61
  setPoppingView(null);
59
62
  }, []);
60
- return /*#__PURE__*/React.createElement("div", {
61
- className: "navigation-stack"
62
- }, /*#__PURE__*/React.createElement("div", {
63
- className: "main-view",
64
- "data-testid": dataTestId
65
- }, mainView), /*#__PURE__*/React.createElement(CSSTransition, {
66
- in: poppingView != null,
67
- timeout: ThemeExport.transitionMidMs,
68
- classNames: "slide-right",
69
- onEntered: popComplete
70
- }, /*#__PURE__*/React.createElement(React.Fragment, null, poppingView != null && /*#__PURE__*/React.createElement("div", {
71
- className: "popping-view"
72
- }, poppingView))), /*#__PURE__*/React.createElement(CSSTransition, {
73
- in: pushingView != null,
74
- timeout: ThemeExport.transitionMidMs,
75
- classNames: "slide-left",
76
- onEntered: pushComplete
77
- }, /*#__PURE__*/React.createElement(React.Fragment, null, pushingView != null && /*#__PURE__*/React.createElement("div", {
78
- className: "pushing-view"
79
- }, pushingView))));
63
+ return /*#__PURE__*/_jsxs("div", {
64
+ className: "navigation-stack",
65
+ children: [/*#__PURE__*/_jsx("div", {
66
+ className: "main-view",
67
+ "data-testid": dataTestId,
68
+ children: mainView
69
+ }), /*#__PURE__*/_jsx(CSSTransition, {
70
+ in: poppingView != null,
71
+ timeout: ThemeExport.transitionMidMs,
72
+ classNames: "slide-right",
73
+ onEntered: popComplete,
74
+ children: /*#__PURE__*/_jsx(_Fragment, {
75
+ children: poppingView != null && /*#__PURE__*/_jsx("div", {
76
+ className: "popping-view",
77
+ children: poppingView
78
+ })
79
+ })
80
+ }), /*#__PURE__*/_jsx(CSSTransition, {
81
+ in: pushingView != null,
82
+ timeout: ThemeExport.transitionMidMs,
83
+ classNames: "slide-left",
84
+ onEntered: pushComplete,
85
+ children: /*#__PURE__*/_jsx(_Fragment, {
86
+ children: pushingView != null && /*#__PURE__*/_jsx("div", {
87
+ className: "pushing-view",
88
+ children: pushingView
89
+ })
90
+ })
91
+ })]
92
+ });
80
93
  }
81
94
  export default Stack;
82
95
  //# sourceMappingURL=Stack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","names":["React","useState","useEffect","useMemo","useCallback","CSSTransition","usePrevious","ThemeExport","Stack","children","dataTestId","childrenArray","Children","toArray","prevChildrenArray","mainView","setMainView","length","pushingView","setPushingView","poppingView","setPoppingView","initAnimation","undefined","topChild","pushComplete","popComplete","transitionMidMs"],"sources":["../../src/navigation/Stack.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport ThemeExport from '../ThemeExport';\nimport './Stack.scss';\n\nexport type StackProps = {\n children: React.ReactNode | React.ReactNode[];\n 'data-testid'?: string;\n};\n\n/**\n * Pass a full navigation stack of children, and then automatically does a sliding animation when the stack changes.\n * Adding items to the stack will do a \"push\" animation, and removing items from the stack will do a \"pop\" animation.\n */\nexport function Stack({\n children,\n 'data-testid': dataTestId,\n}: StackProps): JSX.Element {\n const childrenArray = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n const prevChildrenArray = usePrevious(childrenArray);\n const [mainView, setMainView] = useState<React.ReactNode>(\n childrenArray[childrenArray.length - 1]\n );\n\n const [pushingView, setPushingView] = useState<React.ReactNode>(null);\n const [poppingView, setPoppingView] = useState<React.ReactNode>(null);\n\n /**\n * To do the animation effect, we just need to set the proper pushing/popping views when the stack changes.\n * `mainView` - The main view of the stack, stationary, filling the container.\n * `pushingView` - A view that's currently being pushed. Slides from off screen right to overtop of `mainView`.\n * `poppingView` - A view that's currently being popped. Slides from overtop of `mainView` to right off screen.\n *\n * When the `pushingView` or `poppingView` is set, that will kick off their animation.\n * Completion of the animation is handled in `pushComplete` or `popComplete`, and then the stack is in an idle state again.\n */\n useEffect(\n function initAnimation() {\n if (\n prevChildrenArray === undefined ||\n childrenArray === prevChildrenArray\n ) {\n return;\n }\n const topChild = childrenArray[childrenArray.length - 1];\n if (\n childrenArray.length === prevChildrenArray.length ||\n prevChildrenArray.length === 0 ||\n pushingView !== null ||\n poppingView !== null\n ) {\n // 1) Stack is the same size, we've just mounted, or we're already in an animation - just update the view\n if (pushingView !== null && topChild !== pushingView) {\n // Stack was updated mid animation\n setPushingView(topChild);\n } else if (topChild !== poppingView && topChild !== mainView) {\n // Replace the current view\n setMainView(topChild);\n }\n } else if (childrenArray.length > prevChildrenArray.length) {\n // 2) Stack has grown - start the push animation\n setPushingView(topChild);\n } else if (childrenArray.length < prevChildrenArray.length) {\n // 3) Stack has shrunk - start the pop animation\n setMainView(topChild);\n setPoppingView(prevChildrenArray[prevChildrenArray.length - 1]);\n }\n },\n [childrenArray, prevChildrenArray, pushingView, poppingView, mainView]\n );\n\n const pushComplete = useCallback(() => {\n setMainView(pushingView);\n setPushingView(null);\n }, [pushingView]);\n\n const popComplete = useCallback(() => {\n setPoppingView(null);\n }, []);\n\n return (\n <div className=\"navigation-stack\">\n <div className=\"main-view\" data-testid={dataTestId}>\n {mainView}\n </div>\n\n <CSSTransition\n in={poppingView != null}\n timeout={ThemeExport.transitionMidMs}\n classNames=\"slide-right\"\n onEntered={popComplete}\n >\n {/* Without the fragment, the transition doesn't work. Without the conditional render, the stack is blank */}\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>\n {poppingView != null && (\n <div className=\"popping-view\">{poppingView}</div>\n )}\n </>\n </CSSTransition>\n <CSSTransition\n in={pushingView != null}\n timeout={ThemeExport.transitionMidMs}\n classNames=\"slide-left\"\n onEntered={pushComplete}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>\n {pushingView != null && (\n <div className=\"pushing-view\">{pushingView}</div>\n )}\n </>\n </CSSTransition>\n </div>\n );\n}\n\nexport default Stack;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AACxE,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,WAAW,QAAQ,wBAAwB;AAAC,OAC9CC,WAAW;AAAA;AAQlB;AACA;AACA;AACA;AACA,OAAO,SAASC,KAAK,OAGO;EAAA,IAHN;IACpBC,QAAQ;IACR,aAAa,EAAEC;EACL,CAAC;EACX,IAAMC,aAAa,GAAGR,OAAO,CAC3B,MAAMH,KAAK,CAACY,QAAQ,CAACC,OAAO,CAACJ,QAAQ,CAAC,EACtC,CAACA,QAAQ,CAAC,CACX;EACD,IAAMK,iBAAiB,GAAGR,WAAW,CAACK,aAAa,CAAC;EACpD,IAAM,CAACI,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CACtCU,aAAa,CAACA,aAAa,CAACM,MAAM,GAAG,CAAC,CAAC,CACxC;EAED,IAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGlB,QAAQ,CAAkB,IAAI,CAAC;EACrE,IAAM,CAACmB,WAAW,EAAEC,cAAc,CAAC,GAAGpB,QAAQ,CAAkB,IAAI,CAAC;;EAErE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,SAAS,CACP,SAASoB,aAAa,GAAG;IACvB,IACER,iBAAiB,KAAKS,SAAS,IAC/BZ,aAAa,KAAKG,iBAAiB,EACnC;MACA;IACF;IACA,IAAMU,QAAQ,GAAGb,aAAa,CAACA,aAAa,CAACM,MAAM,GAAG,CAAC,CAAC;IACxD,IACEN,aAAa,CAACM,MAAM,KAAKH,iBAAiB,CAACG,MAAM,IACjDH,iBAAiB,CAACG,MAAM,KAAK,CAAC,IAC9BC,WAAW,KAAK,IAAI,IACpBE,WAAW,KAAK,IAAI,EACpB;MACA;MACA,IAAIF,WAAW,KAAK,IAAI,IAAIM,QAAQ,KAAKN,WAAW,EAAE;QACpD;QACAC,cAAc,CAACK,QAAQ,CAAC;MAC1B,CAAC,MAAM,IAAIA,QAAQ,KAAKJ,WAAW,IAAII,QAAQ,KAAKT,QAAQ,EAAE;QAC5D;QACAC,WAAW,CAACQ,QAAQ,CAAC;MACvB;IACF,CAAC,MAAM,IAAIb,aAAa,CAACM,MAAM,GAAGH,iBAAiB,CAACG,MAAM,EAAE;MAC1D;MACAE,cAAc,CAACK,QAAQ,CAAC;IAC1B,CAAC,MAAM,IAAIb,aAAa,CAACM,MAAM,GAAGH,iBAAiB,CAACG,MAAM,EAAE;MAC1D;MACAD,WAAW,CAACQ,QAAQ,CAAC;MACrBH,cAAc,CAACP,iBAAiB,CAACA,iBAAiB,CAACG,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE;EACF,CAAC,EACD,CAACN,aAAa,EAAEG,iBAAiB,EAAEI,WAAW,EAAEE,WAAW,EAAEL,QAAQ,CAAC,CACvE;EAED,IAAMU,YAAY,GAAGrB,WAAW,CAAC,MAAM;IACrCY,WAAW,CAACE,WAAW,CAAC;IACxBC,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC,EAAE,CAACD,WAAW,CAAC,CAAC;EAEjB,IAAMQ,WAAW,GAAGtB,WAAW,CAAC,MAAM;IACpCiB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAK,SAAS,EAAC;EAAkB,gBAC/B;IAAK,SAAS,EAAC,WAAW;IAAC,eAAaX;EAAW,GAChDK,QAAQ,CACL,eAEN,oBAAC,aAAa;IACZ,EAAE,EAAEK,WAAW,IAAI,IAAK;IACxB,OAAO,EAAEb,WAAW,CAACoB,eAAgB;IACrC,UAAU,EAAC,aAAa;IACxB,SAAS,EAAED;EAAY,gBAIvB,0CACGN,WAAW,IAAI,IAAI,iBAClB;IAAK,SAAS,EAAC;EAAc,GAAEA,WAAW,CAC3C,CACA,CACW,eAChB,oBAAC,aAAa;IACZ,EAAE,EAAEF,WAAW,IAAI,IAAK;IACxB,OAAO,EAAEX,WAAW,CAACoB,eAAgB;IACrC,UAAU,EAAC,YAAY;IACvB,SAAS,EAAEF;EAAa,gBAGxB,0CACGP,WAAW,IAAI,IAAI,iBAClB;IAAK,SAAS,EAAC;EAAc,GAAEA,WAAW,CAC3C,CACA,CACW,CACZ;AAEV;AAEA,eAAeV,KAAK"}
1
+ {"version":3,"file":"Stack.js","names":["React","useState","useEffect","useMemo","useCallback","CSSTransition","usePrevious","ThemeExport","Stack","children","dataTestId","childrenArray","Children","toArray","prevChildrenArray","mainView","setMainView","length","pushingView","setPushingView","poppingView","setPoppingView","initAnimation","undefined","topChild","pushComplete","popComplete","transitionMidMs"],"sources":["../../src/navigation/Stack.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport ThemeExport from '../ThemeExport';\nimport './Stack.scss';\n\nexport type StackProps = {\n children: React.ReactNode | React.ReactNode[];\n 'data-testid'?: string;\n};\n\n/**\n * Pass a full navigation stack of children, and then automatically does a sliding animation when the stack changes.\n * Adding items to the stack will do a \"push\" animation, and removing items from the stack will do a \"pop\" animation.\n */\nexport function Stack({\n children,\n 'data-testid': dataTestId,\n}: StackProps): JSX.Element {\n const childrenArray = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n const prevChildrenArray = usePrevious(childrenArray);\n const [mainView, setMainView] = useState<React.ReactNode>(\n childrenArray[childrenArray.length - 1]\n );\n\n const [pushingView, setPushingView] = useState<React.ReactNode>(null);\n const [poppingView, setPoppingView] = useState<React.ReactNode>(null);\n\n /**\n * To do the animation effect, we just need to set the proper pushing/popping views when the stack changes.\n * `mainView` - The main view of the stack, stationary, filling the container.\n * `pushingView` - A view that's currently being pushed. Slides from off screen right to overtop of `mainView`.\n * `poppingView` - A view that's currently being popped. Slides from overtop of `mainView` to right off screen.\n *\n * When the `pushingView` or `poppingView` is set, that will kick off their animation.\n * Completion of the animation is handled in `pushComplete` or `popComplete`, and then the stack is in an idle state again.\n */\n useEffect(\n function initAnimation() {\n if (\n prevChildrenArray === undefined ||\n childrenArray === prevChildrenArray\n ) {\n return;\n }\n const topChild = childrenArray[childrenArray.length - 1];\n if (\n childrenArray.length === prevChildrenArray.length ||\n prevChildrenArray.length === 0 ||\n pushingView !== null ||\n poppingView !== null\n ) {\n // 1) Stack is the same size, we've just mounted, or we're already in an animation - just update the view\n if (pushingView !== null && topChild !== pushingView) {\n // Stack was updated mid animation\n setPushingView(topChild);\n } else if (topChild !== poppingView && topChild !== mainView) {\n // Replace the current view\n setMainView(topChild);\n }\n } else if (childrenArray.length > prevChildrenArray.length) {\n // 2) Stack has grown - start the push animation\n setPushingView(topChild);\n } else if (childrenArray.length < prevChildrenArray.length) {\n // 3) Stack has shrunk - start the pop animation\n setMainView(topChild);\n setPoppingView(prevChildrenArray[prevChildrenArray.length - 1]);\n }\n },\n [childrenArray, prevChildrenArray, pushingView, poppingView, mainView]\n );\n\n const pushComplete = useCallback(() => {\n setMainView(pushingView);\n setPushingView(null);\n }, [pushingView]);\n\n const popComplete = useCallback(() => {\n setPoppingView(null);\n }, []);\n\n return (\n <div className=\"navigation-stack\">\n <div className=\"main-view\" data-testid={dataTestId}>\n {mainView}\n </div>\n\n <CSSTransition\n in={poppingView != null}\n timeout={ThemeExport.transitionMidMs}\n classNames=\"slide-right\"\n onEntered={popComplete}\n >\n {/* Without the fragment, the transition doesn't work. Without the conditional render, the stack is blank */}\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>\n {poppingView != null && (\n <div className=\"popping-view\">{poppingView}</div>\n )}\n </>\n </CSSTransition>\n <CSSTransition\n in={pushingView != null}\n timeout={ThemeExport.transitionMidMs}\n classNames=\"slide-left\"\n onEntered={pushComplete}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>\n {pushingView != null && (\n <div className=\"pushing-view\">{pushingView}</div>\n )}\n </>\n </CSSTransition>\n </div>\n );\n}\n\nexport default Stack;\n"],"mappings":"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"}
@@ -28,6 +28,8 @@ import PopperJs from 'popper.js';
28
28
  import PropTypes from 'prop-types';
29
29
  import ThemeExport from "../ThemeExport.js";
30
30
  import "./Popper.css";
31
+ import { jsx as _jsx } from "react/jsx-runtime";
32
+ import { jsxs as _jsxs } from "react/jsx-runtime";
31
33
  class Popper extends Component {
32
34
  constructor(props) {
33
35
  super(props);
@@ -206,32 +208,35 @@ class Popper extends Component {
206
208
  var {
207
209
  show
208
210
  } = this.state;
209
- return /*#__PURE__*/React.createElement(CSSTransition, {
211
+ return /*#__PURE__*/_jsx(CSSTransition, {
210
212
  in: show,
211
213
  timeout: timeout,
212
214
  classNames: "popper-transition",
213
215
  onEntered: this.handleEnter,
214
- onExited: this.handleExit
215
- }, /*#__PURE__*/React.createElement("div", {
216
- onClick: e => {
217
- // stop click events from escaping popper
218
- e.stopPropagation();
219
- },
220
- onKeyDown: e => {
221
- if (e.key === 'Escape') this.hide();
222
- },
223
- className: classNames('popper', {
224
- interactive
225
- }, className),
226
- onBlur: closeOnBlur ? this.handleBlur : undefined,
227
- tabIndex: closeOnBlur ? -1 : undefined,
228
- role: "presentation"
229
- }, /*#__PURE__*/React.createElement("div", {
230
- className: "popper-content"
231
- }, children, /*#__PURE__*/React.createElement("div", {
232
- className: "popper-arrow",
233
- "x-arrow": ""
234
- }))));
216
+ onExited: this.handleExit,
217
+ children: /*#__PURE__*/_jsx("div", {
218
+ onClick: e => {
219
+ // stop click events from escaping popper
220
+ e.stopPropagation();
221
+ },
222
+ onKeyDown: e => {
223
+ if (e.key === 'Escape') this.hide();
224
+ },
225
+ className: classNames('popper', {
226
+ interactive
227
+ }, className),
228
+ onBlur: closeOnBlur ? this.handleBlur : undefined,
229
+ tabIndex: closeOnBlur ? -1 : undefined,
230
+ role: "presentation",
231
+ children: /*#__PURE__*/_jsxs("div", {
232
+ className: "popper-content",
233
+ children: [children, /*#__PURE__*/_jsx("div", {
234
+ className: "popper-arrow",
235
+ "x-arrow": ""
236
+ })]
237
+ })
238
+ })
239
+ });
235
240
  }
236
241
  render() {
237
242
  var {
@@ -240,14 +245,15 @@ class Popper extends Component {
240
245
  var {
241
246
  'data-testid': dataTestId
242
247
  } = this.props;
243
- return /*#__PURE__*/React.createElement("div", {
248
+ return /*#__PURE__*/_jsx("div", {
244
249
  className: "popper-parent-container",
245
250
  ref: this.container,
246
251
  style: {
247
252
  display: 'none'
248
253
  },
249
- "data-testid": dataTestId
250
- }, popper && /*#__PURE__*/ReactDOM.createPortal(this.renderContent(), this.element));
254
+ "data-testid": dataTestId,
255
+ children: popper && /*#__PURE__*/ReactDOM.createPortal(this.renderContent(), this.element)
256
+ });
251
257
  }
252
258
  }
253
259
  _defineProperty(Popper, "propTypes", {