@deephaven/components 0.22.3-deep-bot-test.14 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/AutoCompleteInput.js +12 -85
  2. package/dist/AutoCompleteInput.js.map +1 -1
  3. package/dist/AutoResizeTextarea.d.ts +5 -5
  4. package/dist/AutoResizeTextarea.d.ts.map +1 -1
  5. package/dist/AutoResizeTextarea.js +8 -23
  6. package/dist/AutoResizeTextarea.js.map +1 -1
  7. package/dist/BasicModal.d.ts +28 -1
  8. package/dist/BasicModal.d.ts.map +1 -1
  9. package/dist/BasicModal.js +2 -8
  10. package/dist/BasicModal.js.map +1 -1
  11. package/dist/Button.d.ts +9 -9
  12. package/dist/Button.d.ts.map +1 -1
  13. package/dist/Button.js +8 -34
  14. package/dist/Button.js.map +1 -1
  15. package/dist/ButtonGroup.d.ts +7 -7
  16. package/dist/ButtonGroup.d.ts.map +1 -1
  17. package/dist/ButtonGroup.js +2 -4
  18. package/dist/ButtonGroup.js.map +1 -1
  19. package/dist/ButtonOld.js.map +1 -1
  20. package/dist/CardFlip.d.ts +2 -2
  21. package/dist/CardFlip.d.ts.map +1 -1
  22. package/dist/CardFlip.js +2 -7
  23. package/dist/CardFlip.js.map +1 -1
  24. package/dist/Checkbox.js +3 -14
  25. package/dist/Checkbox.js.map +1 -1
  26. package/dist/Collapse.d.ts +1 -1
  27. package/dist/Collapse.js +0 -15
  28. package/dist/Collapse.js.map +1 -1
  29. package/dist/ComboBox.js +4 -83
  30. package/dist/ComboBox.js.map +1 -1
  31. package/dist/CopyButton.d.ts +2 -2
  32. package/dist/CopyButton.d.ts.map +1 -1
  33. package/dist/CopyButton.js +2 -4
  34. package/dist/CopyButton.js.map +1 -1
  35. package/dist/CustomTimeSelect.d.ts +3 -3
  36. package/dist/CustomTimeSelect.d.ts.map +1 -1
  37. package/dist/CustomTimeSelect.js +2 -86
  38. package/dist/CustomTimeSelect.js.map +1 -1
  39. package/dist/DateInput.d.ts +1 -1
  40. package/dist/DateInput.d.ts.map +1 -1
  41. package/dist/DateInput.js.map +1 -1
  42. package/dist/DateInputUtils.js +0 -7
  43. package/dist/DateInputUtils.js.map +1 -1
  44. package/dist/DateTimeInput.d.ts +1 -1
  45. package/dist/DateTimeInput.d.ts.map +1 -1
  46. package/dist/DateTimeInput.js +7 -10
  47. package/dist/DateTimeInput.js.map +1 -1
  48. package/dist/DebouncedSearchInput.js +0 -14
  49. package/dist/DebouncedSearchInput.js.map +1 -1
  50. package/dist/DragUtils.d.ts +1 -1
  51. package/dist/DragUtils.d.ts.map +1 -1
  52. package/dist/DragUtils.js +4 -16
  53. package/dist/DragUtils.js.map +1 -1
  54. package/dist/DraggableItemList.d.ts +4 -4
  55. package/dist/DraggableItemList.d.ts.map +1 -1
  56. package/dist/DraggableItemList.js +22 -44
  57. package/dist/DraggableItemList.js.map +1 -1
  58. package/dist/EditableItemList.d.ts +1 -1
  59. package/dist/EditableItemList.d.ts.map +1 -1
  60. package/dist/EditableItemList.js +2 -6
  61. package/dist/EditableItemList.js.map +1 -1
  62. package/dist/HierarchicalCheckboxMenu.d.ts +3 -3
  63. package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
  64. package/dist/HierarchicalCheckboxMenu.js +6 -28
  65. package/dist/HierarchicalCheckboxMenu.js.map +1 -1
  66. package/dist/ItemList.d.ts +5 -5
  67. package/dist/ItemList.d.ts.map +1 -1
  68. package/dist/ItemList.js +22 -115
  69. package/dist/ItemList.js.map +1 -1
  70. package/dist/ItemListItem.d.ts +0 -1
  71. package/dist/ItemListItem.d.ts.map +1 -1
  72. package/dist/ItemListItem.js +26 -50
  73. package/dist/ItemListItem.js.map +1 -1
  74. package/dist/LoadingOverlay.d.ts +2 -2
  75. package/dist/LoadingOverlay.d.ts.map +1 -1
  76. package/dist/LoadingOverlay.js +3 -5
  77. package/dist/LoadingOverlay.js.map +1 -1
  78. package/dist/LoadingSpinner.d.ts +2 -2
  79. package/dist/LoadingSpinner.d.ts.map +1 -1
  80. package/dist/LoadingSpinner.js +2 -4
  81. package/dist/LoadingSpinner.js.map +1 -1
  82. package/dist/MaskedInput.d.ts +2 -2
  83. package/dist/MaskedInput.d.ts.map +1 -1
  84. package/dist/MaskedInput.js +26 -85
  85. package/dist/MaskedInput.js.map +1 -1
  86. package/dist/Option.d.ts +2 -2
  87. package/dist/Option.d.ts.map +1 -1
  88. package/dist/Option.js +2 -4
  89. package/dist/Option.js.map +1 -1
  90. package/dist/RadioGroup.d.ts +2 -2
  91. package/dist/RadioGroup.d.ts.map +1 -1
  92. package/dist/RadioGroup.js +4 -6
  93. package/dist/RadioGroup.js.map +1 -1
  94. package/dist/RadioItem.d.ts +1 -1
  95. package/dist/RadioItem.d.ts.map +1 -1
  96. package/dist/RadioItem.js +0 -1
  97. package/dist/RadioItem.js.map +1 -1
  98. package/dist/SearchInput.js +2 -13
  99. package/dist/SearchInput.js.map +1 -1
  100. package/dist/Select.d.ts +2 -2
  101. package/dist/Select.d.ts.map +1 -1
  102. package/dist/Select.js +2 -4
  103. package/dist/Select.js.map +1 -1
  104. package/dist/SelectValueList.d.ts +1 -1
  105. package/dist/SelectValueList.d.ts.map +1 -1
  106. package/dist/SelectValueList.js +0 -28
  107. package/dist/SelectValueList.js.map +1 -1
  108. package/dist/SocketedButton.d.ts +1 -1
  109. package/dist/SocketedButton.d.ts.map +1 -1
  110. package/dist/SocketedButton.js.map +1 -1
  111. package/dist/ThemeExport.d.ts +4 -4
  112. package/dist/ThemeExport.js +0 -4
  113. package/dist/ThemeExport.js.map +1 -1
  114. package/dist/TimeInput.d.ts +2 -2
  115. package/dist/TimeInput.d.ts.map +1 -1
  116. package/dist/TimeInput.js +2 -12
  117. package/dist/TimeInput.js.map +1 -1
  118. package/dist/TimeSlider.d.ts +2 -2
  119. package/dist/TimeSlider.d.ts.map +1 -1
  120. package/dist/TimeSlider.js +19 -33
  121. package/dist/TimeSlider.js.map +1 -1
  122. package/dist/ToastNotification.d.ts +6 -6
  123. package/dist/ToastNotification.d.ts.map +1 -1
  124. package/dist/ToastNotification.js +2 -4
  125. package/dist/ToastNotification.js.map +1 -1
  126. package/dist/UISwitch.d.ts +2 -2
  127. package/dist/UISwitch.d.ts.map +1 -1
  128. package/dist/UISwitch.js +2 -4
  129. package/dist/UISwitch.js.map +1 -1
  130. package/dist/ValidateLabelInput.d.ts +1 -1
  131. package/dist/ValidateLabelInput.d.ts.map +1 -1
  132. package/dist/ValidateLabelInput.js +3 -3
  133. package/dist/ValidateLabelInput.js.map +1 -1
  134. package/dist/context-actions/ContextActionUtils.d.ts +3 -3
  135. package/dist/context-actions/ContextActionUtils.d.ts.map +1 -1
  136. package/dist/context-actions/ContextActionUtils.js +9 -40
  137. package/dist/context-actions/ContextActionUtils.js.map +1 -1
  138. package/dist/context-actions/ContextActions.js +1 -34
  139. package/dist/context-actions/ContextActions.js.map +1 -1
  140. package/dist/context-actions/ContextMenu.js +29 -110
  141. package/dist/context-actions/ContextMenu.js.map +1 -1
  142. package/dist/context-actions/ContextMenuItem.d.ts.map +1 -1
  143. package/dist/context-actions/ContextMenuItem.js +3 -19
  144. package/dist/context-actions/ContextMenuItem.js.map +1 -1
  145. package/dist/context-actions/ContextMenuRoot.d.ts +1 -1
  146. package/dist/context-actions/ContextMenuRoot.d.ts.map +1 -1
  147. package/dist/context-actions/ContextMenuRoot.js +7 -26
  148. package/dist/context-actions/ContextMenuRoot.js.map +1 -1
  149. package/dist/context-actions/GlobalContextAction.js +0 -15
  150. package/dist/context-actions/GlobalContextAction.js.map +1 -1
  151. package/dist/context-actions/GlobalContextActions.js +0 -6
  152. package/dist/context-actions/GlobalContextActions.js.map +1 -1
  153. package/dist/context-actions/index.js.map +1 -1
  154. package/dist/index.js.map +1 -1
  155. package/dist/menu-actions/DropdownMenu.d.ts +3 -3
  156. package/dist/menu-actions/DropdownMenu.d.ts.map +1 -1
  157. package/dist/menu-actions/DropdownMenu.js +4 -32
  158. package/dist/menu-actions/DropdownMenu.js.map +1 -1
  159. package/dist/menu-actions/Menu.d.ts +3 -3
  160. package/dist/menu-actions/Menu.d.ts.map +1 -1
  161. package/dist/menu-actions/Menu.js +7 -52
  162. package/dist/menu-actions/Menu.js.map +1 -1
  163. package/dist/menu-actions/index.d.ts +2 -1
  164. package/dist/menu-actions/index.d.ts.map +1 -1
  165. package/dist/menu-actions/index.js +2 -2
  166. package/dist/menu-actions/index.js.map +1 -1
  167. package/dist/modal/Modal.d.ts +2 -2
  168. package/dist/modal/Modal.d.ts.map +1 -1
  169. package/dist/modal/Modal.js +3 -9
  170. package/dist/modal/Modal.js.map +1 -1
  171. package/dist/modal/ModalBody.d.ts +1 -1
  172. package/dist/modal/ModalBody.d.ts.map +1 -1
  173. package/dist/modal/ModalBody.js +2 -4
  174. package/dist/modal/ModalBody.js.map +1 -1
  175. package/dist/modal/ModalFooter.d.ts +1 -1
  176. package/dist/modal/ModalFooter.d.ts.map +1 -1
  177. package/dist/modal/ModalFooter.js +2 -4
  178. package/dist/modal/ModalFooter.js.map +1 -1
  179. package/dist/modal/ModalHeader.d.ts +1 -1
  180. package/dist/modal/ModalHeader.d.ts.map +1 -1
  181. package/dist/modal/ModalHeader.js +2 -4
  182. package/dist/modal/ModalHeader.js.map +1 -1
  183. package/dist/modal/index.js.map +1 -1
  184. package/dist/navigation/Menu.d.ts +3 -3
  185. package/dist/navigation/Menu.d.ts.map +1 -1
  186. package/dist/navigation/Menu.js +2 -2
  187. package/dist/navigation/Menu.js.map +1 -1
  188. package/dist/navigation/MenuItem.d.ts +4 -4
  189. package/dist/navigation/MenuItem.d.ts.map +1 -1
  190. package/dist/navigation/MenuItem.js +4 -7
  191. package/dist/navigation/MenuItem.js.map +1 -1
  192. package/dist/navigation/Page.d.ts +2 -2
  193. package/dist/navigation/Page.d.ts.map +1 -1
  194. package/dist/navigation/Page.js +2 -3
  195. package/dist/navigation/Page.js.map +1 -1
  196. package/dist/navigation/Stack.d.ts +2 -2
  197. package/dist/navigation/Stack.d.ts.map +1 -1
  198. package/dist/navigation/Stack.js +3 -6
  199. package/dist/navigation/Stack.js.map +1 -1
  200. package/dist/navigation/index.js.map +1 -1
  201. package/dist/popper/Popper.d.ts +2 -2
  202. package/dist/popper/Popper.d.ts.map +1 -1
  203. package/dist/popper/Popper.js +13 -46
  204. package/dist/popper/Popper.js.map +1 -1
  205. package/dist/popper/Tooltip.d.ts +1 -1
  206. package/dist/popper/Tooltip.d.ts.map +1 -1
  207. package/dist/popper/Tooltip.js +0 -56
  208. package/dist/popper/Tooltip.js.map +1 -1
  209. package/dist/popper/index.js.map +1 -1
  210. package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
  211. package/dist/shortcuts/Shortcut.d.ts +2 -2
  212. package/dist/shortcuts/Shortcut.d.ts.map +1 -1
  213. package/dist/shortcuts/Shortcut.js +19 -76
  214. package/dist/shortcuts/Shortcut.js.map +1 -1
  215. package/dist/shortcuts/ShortcutRegistry.d.ts +1 -1
  216. package/dist/shortcuts/ShortcutRegistry.d.ts.map +1 -1
  217. package/dist/shortcuts/ShortcutRegistry.js +3 -18
  218. package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
  219. package/dist/shortcuts/index.js.map +1 -1
  220. package/package.json +8 -8
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { MenuItemDef } from './MenuItem';
3
3
  import './Menu.scss';
4
- export declare type MenuSelectCallback = (itemIndex: number) => void;
5
- export declare type MenuProps = {
4
+ export type MenuSelectCallback = (itemIndex: number) => void;
5
+ export type MenuProps = {
6
6
  items: MenuItemDef[];
7
7
  onSelect?: MenuSelectCallback;
8
8
  'data-testid'?: string;
9
9
  };
10
- export declare const Menu: ({ items, onSelect, "data-testid": dataTestId, }: MenuProps) => JSX.Element;
10
+ export declare function Menu({ items, onSelect, 'data-testid': dataTestId, }: MenuProps): JSX.Element;
11
11
  export default Menu;
12
12
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/navigation/Menu.tsx"],"names":[],"mappings":";AACA,OAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,aAAa,CAAC;AAErB,oBAAY,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,IAAI,oDAId,SAAS,KAAG,WAed,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/navigation/Menu.tsx"],"names":[],"mappings":";AACA,OAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,QAA0B,EAC1B,aAAa,EAAE,UAAU,GAC1B,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAiBzB;AAED,eAAe,IAAI,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import MenuItem from "./MenuItem.js";
3
3
  import "./Menu.css";
4
- export var Menu = _ref => {
4
+ export function Menu(_ref) {
5
5
  var {
6
6
  items,
7
7
  onSelect: _onSelect = () => undefined,
@@ -20,6 +20,6 @@ export var Menu = _ref => {
20
20
  _onSelect(itemIndex);
21
21
  }
22
22
  })))));
23
- };
23
+ }
24
24
  export default Menu;
25
25
  //# 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: MenuItemDef[];\n onSelect?: MenuSelectCallback;\n 'data-testid'?: string;\n};\n\nexport const Menu = ({\n items,\n onSelect = () => undefined,\n 'data-testid': dataTestId,\n}: MenuProps): JSX.Element => (\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\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;OACOC,Q;;AAWP,OAAO,IAAMC,IAAI,GAAG;EAAA,IAAC;IACnBC,KADmB;IAEnBC,QAAQ,EAARA,SAAQ,GAAG,MAAMC,SAFE;IAGnB,eAAeC;EAHI,CAAD;EAAA,oBAKlB;IAAK,SAAS,EAAC,sBAAf;IAAsC,eAAaA;EAAnD,gBACE;IAAI,SAAS,EAAC;EAAd,GACGH,KAAK,CAACI,GAAN,CAAU,CAACC,IAAD,EAAOC,SAAP,kBACT;IAAI,GAAG,EAAED,IAAI,CAACE;EAAd,gBACE,oBAAC,QAAD;IACE,IAAI,EAAEF,IADR;IAEE,QAAQ,EAAE,MAAM;MACdJ,SAAQ,CAACK,SAAD,CAAR;IACD;EAJH,EADF,CADD,CADH,CADF,CALkB;AAAA,CAAb;AAqBP,eAAeP,IAAf"}
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: 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,16 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  import { IconProp } from '@fortawesome/fontawesome-svg-core';
3
3
  import './MenuItem.scss';
4
- export declare type MenuItemDef = {
4
+ export type MenuItemDef = {
5
5
  title: string;
6
6
  subtitle?: string;
7
7
  icon?: IconProp;
8
8
  };
9
- export declare type SwitchMenuItemDef = MenuItemDef & {
9
+ export type SwitchMenuItemDef = MenuItemDef & {
10
10
  isOn: boolean;
11
11
  onChange: (isOn: boolean) => void;
12
12
  };
13
- export declare type MenuItemProps = {
13
+ export type MenuItemProps = {
14
14
  item: MenuItemDef;
15
15
  onSelect?: () => void;
16
16
  'data-testid'?: string;
@@ -19,6 +19,6 @@ export declare type MenuItemProps = {
19
19
  * @param props.item The menu item to set. Set a SwitchMenuItemDef to show a switch.
20
20
  * @param props.onSelect Called when the menu item is selected
21
21
  */
22
- export declare const MenuItem: ({ item, onSelect, "data-testid": dataTestId, }: MenuItemProps) => JSX.Element;
22
+ export declare function MenuItem({ item, onSelect, 'data-testid': dataTestId, }: MenuItemProps): JSX.Element;
23
23
  export default MenuItem;
24
24
  //# sourceMappingURL=MenuItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../src/navigation/MenuItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,iBAAiB,CAAC;AAIzB,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,oBAAY,iBAAiB,GAAG,WAAW,GAAG;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAMF,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,mDAIlB,aAAa,KAAG,WA2ClB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../src/navigation/MenuItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,iBAAiB,CAAC;AAIzB,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAMF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,QAA0B,EAC1B,aAAa,EAAE,UAAU,GAC1B,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA6C7B;AAED,eAAe,QAAQ,CAAC"}
@@ -3,16 +3,14 @@ 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
-
7
6
  function isSwitchMenuItemType(item) {
8
7
  return item.isOn !== undefined;
9
8
  }
10
-
11
9
  /**
12
10
  * @param props.item The menu item to set. Set a SwitchMenuItemDef to show a switch.
13
11
  * @param props.onSelect Called when the menu item is selected
14
12
  */
15
- export var MenuItem = _ref => {
13
+ export function MenuItem(_ref) {
16
14
  var {
17
15
  item,
18
16
  onSelect = () => undefined,
@@ -29,7 +27,6 @@ export var MenuItem = _ref => {
29
27
  item.onChange(!item.isOn);
30
28
  };
31
29
  }
32
-
33
30
  return onSelect;
34
31
  }, [item, onSelect]);
35
32
  return /*#__PURE__*/React.createElement("div", {
@@ -54,15 +51,15 @@ export var MenuItem = _ref => {
54
51
  }, subtitle), /*#__PURE__*/React.createElement("div", {
55
52
  className: "accessory",
56
53
  "data-testid": dataTestId
57
- }, isSwitchMenuItemType(item) && /*#__PURE__*/React.createElement(UISwitch, {
54
+ }, isSwitchMenuItemType(item) ? /*#__PURE__*/React.createElement(UISwitch, {
58
55
  on: item.isOn,
59
56
  onClick: event => {
60
57
  event.stopPropagation();
61
58
  handleSelect();
62
59
  }
63
- }) || /*#__PURE__*/React.createElement(FontAwesomeIcon, {
60
+ }) : /*#__PURE__*/React.createElement(FontAwesomeIcon, {
64
61
  icon: vsChevronRight
65
62
  })));
66
- };
63
+ }
67
64
  export default MenuItem;
68
65
  //# 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 const 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 )) || <FontAwesomeIcon icon={vsChevronRight} />}\n </div>\n </div>\n );\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AAEA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,cAAT,QAA+B,kBAA/B;;OAGOC,Q;;AAaP,SAASC,oBAAT,CAA8BC,IAA9B,EAA4E;EAC1E,OAAQA,IAAD,CAA4BC,IAA5B,KAAqCC,SAA5C;AACD;;AAQD;AACA;AACA;AACA;AACA,OAAO,IAAMC,QAAQ,GAAG,QAIU;EAAA,IAJT;IACvBH,IADuB;IAEvBI,QAAQ,GAAG,MAAMF,SAFM;IAGvB,eAAeG;EAHQ,CAIS;EAChC,IAAM;IAAEC,IAAF;IAAQC,QAAR;IAAkBC;EAAlB,IAA4BR,IAAlC;EACA,IAAMS,YAAY,GAAGd,OAAO,CAAC,MAAM;IACjC,IAAII,oBAAoB,CAACC,IAAD,CAAxB,EAAgC;MAC9B,OAAO,MAAM;QACXA,IAAI,CAACU,QAAL,CAAc,CAACV,IAAI,CAACC,IAApB;MACD,CAFD;IAGD;;IACD,OAAOG,QAAP;EACD,CAP2B,EAOzB,CAACJ,IAAD,EAAOI,QAAP,CAPyB,CAA5B;EAQA,oBACE;IACE,SAAS,EAAC,8BADZ;IAEE,mCAA0BI,KAA1B,CAFF;IAGE,OAAO,EAAEC,YAHX;IAIE,SAAS,EAAEE,KAAK,IAAI;MAClB,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAA3C,EAAgD;QAC9CH,YAAY;MACb;IACF,CARH;IASE,QAAQ,EAAE,CATZ;IAUE,IAAI,EAAC;EAVP,GAYGH,IAAI,KAAKJ,SAAT,iBACC;IAAK,SAAS,EAAC;EAAf,gBACE,oBAAC,eAAD;IAAiB,IAAI,EAAEI;EAAvB,EADF,CAbJ,eAiBE;IAAK,SAAS,EAAC;EAAf,GAAwBE,KAAxB,CAjBF,EAkBGD,QAAQ,KAAKL,SAAb,iBAA0B;IAAK,SAAS,EAAC;EAAf,GAA2BK,QAA3B,CAlB7B,eAmBE;IAAK,SAAS,EAAC,WAAf;IAA2B,eAAaF;EAAxC,GACIN,oBAAoB,CAACC,IAAD,CAApB,iBACA,oBAAC,QAAD;IACE,EAAE,EAAEA,IAAI,CAACC,IADX;IAEE,OAAO,EAAEU,KAAK,IAAI;MAChBA,KAAK,CAACE,eAAN;MACAJ,YAAY;IACb;EALH,EADD,iBAQK,oBAAC,eAAD;IAAiB,IAAI,EAAEZ;EAAvB,EATR,CAnBF,CADF;AAiCD,CA/CM;AAiDP,eAAeM,QAAf"}
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,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import './Page.scss';
3
- export declare type PageProps = {
3
+ export type PageProps = {
4
4
  children: React.ReactNode;
5
5
  onBack?: () => void;
6
6
  onClose?: () => void;
@@ -11,6 +11,6 @@ export declare type PageProps = {
11
11
  * A page view with a back button in the bottom left, a title at the top, and a close button in the top right.
12
12
  * Back and close buttons will only appear if `onBack` and/or `onClose` callbacks are set.
13
13
  */
14
- export declare const Page: ({ children, onBack, onClose, title, "data-testid": dataTestId, }: PageProps) => JSX.Element;
14
+ export declare function Page({ children, onBack, onClose, title, 'data-testid': dataTestId, }: PageProps): JSX.Element;
15
15
  export default Page;
16
16
  //# sourceMappingURL=Page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/navigation/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,aAAa,CAAC;AAGrB,oBAAY,SAAS,GAAG;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,qEAMd,SAAS,KAAG,WAgCd,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/navigation/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,aAAa,CAAC;AAGrB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAkCzB;AAED,eAAe,IAAI,CAAC"}
@@ -2,12 +2,11 @@ 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
-
6
5
  /**
7
6
  * A page view with a back button in the bottom left, a title at the top, and a close button in the top right.
8
7
  * Back and close buttons will only appear if `onBack` and/or `onClose` callbacks are set.
9
8
  */
10
- export var Page = _ref => {
9
+ export function Page(_ref) {
11
10
  var {
12
11
  children,
13
12
  onBack,
@@ -42,6 +41,6 @@ export var Page = _ref => {
42
41
  }))), /*#__PURE__*/React.createElement("div", {
43
42
  className: "navigation-content"
44
43
  }, children));
45
- };
44
+ }
46
45
  export default Page;
47
46
  //# 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 const Page = ({\n children,\n onBack,\n onClose,\n title,\n 'data-testid': dataTestId,\n}: PageProps): JSX.Element => (\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\nexport default Page;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,EAAkBC,aAAlB,QAAuC,kBAAvC;;OAEOC,M;;AAUP;AACA;AACA;AACA;AACA,OAAO,IAAMC,IAAI,GAAG;EAAA,IAAC;IACnBC,QADmB;IAEnBC,MAFmB;IAGnBC,OAHmB;IAInBC,KAJmB;IAKnB,eAAeC;EALI,CAAD;EAAA,oBAOlB;IAAK,SAAS,EAAC,iBAAf;IAAiC,eAAaA;EAA9C,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,GACGH,MAAM,KAAKI,SAAX,iBACC,oBAAC,MAAD;IACE,IAAI,EAAC,OADP;IAEE,SAAS,EAAC,UAFZ;IAGE,eAAY,eAHd;IAIE,OAAO,EAAEJ,MAJX;IAKE,IAAI,EAAEJ;EALR,UAFJ,CADF,eAcE;IAAK,SAAS,EAAC;EAAf,GAAmCM,KAAnC,CAdF,eAeE;IAAK,SAAS,EAAC;EAAf,GACGD,OAAO,KAAKG,SAAZ,iBACC,oBAAC,MAAD;IACE,IAAI,EAAC,OADP;IAEE,SAAS,EAAC,oBAFZ;IAGE,eAAY,gBAHd;IAIE,OAAO,EAAEH,OAJX;IAKE,IAAI,EAAEN,OALR;IAME,OAAO,EAAC;EANV,EAFJ,CAfF,CADF,eA6BE;IAAK,SAAS,EAAC;EAAf,GAAqCI,QAArC,CA7BF,CAPkB;AAAA,CAAb;AAwCP,eAAeD,IAAf"}
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,UAIvB,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,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import './Stack.scss';
3
- export declare type StackProps = {
3
+ export type StackProps = {
4
4
  children: React.ReactNode | React.ReactNode[];
5
5
  'data-testid'?: string;
6
6
  };
@@ -8,6 +8,6 @@ export declare type StackProps = {
8
8
  * Pass a full navigation stack of children, and then automatically does a sliding animation when the stack changes.
9
9
  * Adding items to the stack will do a "push" animation, and removing items from the stack will do a "pop" animation.
10
10
  */
11
- export declare const Stack: ({ children, "data-testid": dataTestId, }: StackProps) => JSX.Element;
11
+ export declare function Stack({ children, 'data-testid': dataTestId, }: StackProps): JSX.Element;
12
12
  export default Stack;
13
13
  //# sourceMappingURL=Stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/navigation/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,cAAc,CAAC;AAEtB,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,6CAGf,UAAU,KAAG,WAiGf,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/navigation/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAoG1B;AAED,eAAe,KAAK,CAAC"}
@@ -3,12 +3,11 @@ 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
-
7
6
  /**
8
7
  * Pass a full navigation stack of children, and then automatically does a sliding animation when the stack changes.
9
8
  * Adding items to the stack will do a "push" animation, and removing items from the stack will do a "pop" animation.
10
9
  */
11
- export var Stack = _ref => {
10
+ export function Stack(_ref) {
12
11
  var {
13
12
  children,
14
13
  'data-testid': dataTestId
@@ -18,6 +17,7 @@ export var Stack = _ref => {
18
17
  var [mainView, setMainView] = useState(childrenArray[childrenArray.length - 1]);
19
18
  var [pushingView, setPushingView] = useState(null);
20
19
  var [poppingView, setPoppingView] = useState(null);
20
+
21
21
  /**
22
22
  * To do the animation effect, we just need to set the proper pushing/popping views when the stack changes.
23
23
  * `mainView` - The main view of the stack, stationary, filling the container.
@@ -27,14 +27,11 @@ export var Stack = _ref => {
27
27
  * When the `pushingView` or `poppingView` is set, that will kick off their animation.
28
28
  * Completion of the animation is handled in `pushComplete` or `popComplete`, and then the stack is in an idle state again.
29
29
  */
30
-
31
30
  useEffect(function initAnimation() {
32
31
  if (prevChildrenArray === undefined || childrenArray === prevChildrenArray) {
33
32
  return;
34
33
  }
35
-
36
34
  var topChild = childrenArray[childrenArray.length - 1];
37
-
38
35
  if (childrenArray.length === prevChildrenArray.length || prevChildrenArray.length === 0 || pushingView !== null || poppingView !== null) {
39
36
  // 1) Stack is the same size, we've just mounted, or we're already in an animation - just update the view
40
37
  if (pushingView !== null && topChild !== pushingView) {
@@ -80,6 +77,6 @@ export var Stack = _ref => {
80
77
  }, /*#__PURE__*/React.createElement(React.Fragment, null, pushingView != null && /*#__PURE__*/React.createElement("div", {
81
78
  className: "pushing-view"
82
79
  }, pushingView))));
83
- };
80
+ }
84
81
  export default Stack;
85
82
  //# 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 const Stack = ({\n children,\n 'data-testid': dataTestId,\n}: StackProps): JSX.Element => {\n const childrenArray = useMemo(() => 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 <>\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 <>\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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"}
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(() => 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Menu","MenuItem","Page","Stack"],"sources":["../../src/navigation/index.ts"],"sourcesContent":["export { default as Menu } from './Menu';\nexport type { MenuProps } from './Menu';\nexport { default as MenuItem } from './MenuItem';\nexport type { SwitchMenuItemDef, MenuItemDef, MenuItemProps } from './MenuItem';\nexport { default as Page } from './Page';\nexport type { PageProps } from './Page';\nexport { default as Stack } from './Stack';\n"],"mappings":"SAASA,OAAO,IAAIC,I;SAEXD,OAAO,IAAIE,Q;SAEXF,OAAO,IAAIG,I;SAEXH,OAAO,IAAII,K"}
1
+ {"version":3,"file":"index.js","names":["default","Menu","MenuItem","Page","Stack"],"sources":["../../src/navigation/index.ts"],"sourcesContent":["export { default as Menu } from './Menu';\nexport type { MenuProps } from './Menu';\nexport { default as MenuItem } from './MenuItem';\nexport type { SwitchMenuItemDef, MenuItemDef, MenuItemProps } from './MenuItem';\nexport { default as Page } from './Page';\nexport type { PageProps } from './Page';\nexport { default as Stack } from './Stack';\n"],"mappings":"SAASA,OAAO,IAAIC,IAAI;AAAA,SAEfD,OAAO,IAAIE,QAAQ;AAAA,SAEnBF,OAAO,IAAIG,IAAI;AAAA,SAEfH,OAAO,IAAII,KAAK"}
@@ -36,7 +36,7 @@ interface PopperState {
36
36
  }
37
37
  declare class Popper extends Component<PopperProps, PopperState> {
38
38
  static propTypes: {
39
- children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
39
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
40
40
  options: PropTypes.Requireable<PropTypes.InferProps<{}>>;
41
41
  className: PropTypes.Requireable<string>;
42
42
  timeout: PropTypes.Requireable<number>;
@@ -51,7 +51,7 @@ declare class Popper extends Component<PopperProps, PopperState> {
51
51
  static defaultProps: {
52
52
  options: {};
53
53
  className: string;
54
- timeout: number;
54
+ timeout: 150;
55
55
  onEntered(): void;
56
56
  onExited(): void;
57
57
  isShown: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../src/popper/Popper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,eAAe,CAAC;AAEvB,UAAU,WAAW;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED,cAAM,MAAO,SAAQ,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACtD,MAAM,CAAC,SAAS;;;;;;;;;;;;MAYd;IAEF,MAAM,CAAC,YAAY;;;;qBAIJ,IAAI;oBAGL,IAAI;;;;;;MAQhB;gBAEU,KAAK,EAAE,WAAW;IAsB9B,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAehD,oBAAoB,IAAI,IAAI;IAI5B,OAAO,EAAE,cAAc,CAAC;IAExB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAG3C,GAAG,EAAE,MAAM,CAAC;IAEZ,wFAAwF;IACxF,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI;IAYlE,UAAU,IAAI,IAAI;IA2ClB,aAAa,CAAC,WAAW,UAAO,GAAG,IAAI;IAsBvC,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAIZ,cAAc,IAAI,IAAI;IAKtB,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IASrC,WAAW,IAAI,IAAI;IAKnB,UAAU,IAAI,IAAI;IASlB,aAAa,IAAI,GAAG,CAAC,OAAO;IAwC5B,MAAM,IAAI,GAAG,CAAC,OAAO;CActB;AAED,eAAe,MAAM,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../src/popper/Popper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,eAAe,CAAC;AAEvB,UAAU,WAAW;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED,cAAM,MAAO,SAAQ,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACtD,MAAM,CAAC,SAAS;;;;;;;;;;;;MAYd;IAEF,MAAM,CAAC,YAAY;;;;qBAIJ,IAAI;oBAGL,IAAI;;;;;;MAQhB;gBAEU,KAAK,EAAE,WAAW;IAsB9B,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAehD,oBAAoB,IAAI,IAAI;IAI5B,OAAO,EAAE,cAAc,CAAC;IAExB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAG3C,GAAG,EAAE,MAAM,CAAC;IAEZ,wFAAwF;IACxF,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI;IAYlE,UAAU,IAAI,IAAI;IA2ClB,aAAa,CAAC,WAAW,UAAO,GAAG,IAAI;IAsBvC,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAIZ,cAAc,IAAI,IAAI;IAKtB,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IASrC,WAAW,IAAI,IAAI;IAKnB,UAAU,IAAI,IAAI;IASlB,aAAa,IAAI,GAAG,CAAC,OAAO;IAyC5B,MAAM,IAAI,GAAG,CAAC,OAAO;CActB;AAED,eAAe,MAAM,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
@@ -1,9 +1,6 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  /**
8
5
  * A component for creating popover dialogs. Only requires child element.
9
6
  *
@@ -20,6 +17,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
20
17
  * <ChildContent />
21
18
  * </Popper>
22
19
  */
20
+
23
21
  import React, { Component } from 'react';
24
22
  import ReactDOM from 'react-dom';
25
23
  import classNames from 'classnames';
@@ -28,25 +26,21 @@ import PopperJs from 'popper.js';
28
26
  import PropTypes from 'prop-types';
29
27
  import ThemeExport from "../ThemeExport.js";
30
28
  import "./Popper.css";
31
-
32
29
  class Popper extends Component {
33
30
  constructor(props) {
34
31
  super(props);
35
-
36
32
  _defineProperty(this, "element", void 0);
37
-
38
33
  _defineProperty(this, "container", void 0);
39
-
40
34
  _defineProperty(this, "rAF", void 0);
41
-
42
35
  this.handleEnter = this.handleEnter.bind(this);
43
36
  this.handleExit = this.handleExit.bind(this);
44
37
  this.handleBlur = this.handleBlur.bind(this);
45
38
  this.element = document.createElement('div');
46
39
  this.element.className = 'popper-container';
47
- this.container = /*#__PURE__*/React.createRef(); // cancelAnimationFrame does nothing if the handle isn't recognized
48
- // requestAnimationFrame provides a non-zero number, so 0 as a default should be safe
40
+ this.container = /*#__PURE__*/React.createRef();
49
41
 
42
+ // cancelAnimationFrame does nothing if the handle isn't recognized
43
+ // requestAnimationFrame provides a non-zero number, so 0 as a default should be safe
50
44
  this.rAF = 0;
51
45
  var {
52
46
  isShown
@@ -56,12 +50,10 @@ class Popper extends Component {
56
50
  popper: null
57
51
  };
58
52
  }
59
-
60
53
  componentDidUpdate(prevProps) {
61
54
  var {
62
55
  isShown
63
56
  } = this.props;
64
-
65
57
  if (prevProps.isShown !== isShown) {
66
58
  if (isShown) {
67
59
  cancelAnimationFrame(this.rAF);
@@ -73,20 +65,16 @@ class Popper extends Component {
73
65
  }
74
66
  }
75
67
  }
76
-
77
68
  componentWillUnmount() {
78
69
  this.destroyPopper(false);
79
70
  }
80
-
81
71
  /** Goes through an element and it's parents until the first visible element is found */
82
72
  getVisibleElement(element) {
83
73
  if (element == null || element.clientHeight > 0 || element.clientWidth > 0) {
84
74
  return element;
85
75
  }
86
-
87
76
  return this.getVisibleElement(element.parentElement);
88
77
  }
89
-
90
78
  initPopper() {
91
79
  var {
92
80
  popper
@@ -95,15 +83,12 @@ class Popper extends Component {
95
83
  closeOnBlur,
96
84
  referenceObject
97
85
  } = this.props;
98
-
99
86
  if (popper) {
100
87
  return;
101
88
  }
102
-
103
89
  if (this.container.current === null) {
104
90
  return;
105
91
  }
106
-
107
92
  var {
108
93
  options
109
94
  } = this.props;
@@ -112,87 +97,77 @@ class Popper extends Component {
112
97
  }, options);
113
98
  document.body.appendChild(this.element);
114
99
  var parent = this.getVisibleElement(this.container.current);
115
-
116
100
  if (parent == null) {
117
101
  parent = this.container.current;
118
102
  }
119
-
120
103
  popper = new PopperJs(referenceObject || parent, this.element, options);
121
- popper.scheduleUpdate(); // delayed due to scheduleUpdate
104
+ popper.scheduleUpdate();
122
105
 
106
+ // delayed due to scheduleUpdate
123
107
  cancelAnimationFrame(this.rAF);
124
108
  this.rAF = window.requestAnimationFrame(() => {
125
109
  // for blur on close to work, focus needs to be on or within the popper
126
110
  if (closeOnBlur && !this.element.contains(document.activeElement)) {
127
111
  // only set focus, if a focus isn't already set within
128
112
  var elem = this.element.firstElementChild;
129
-
130
113
  if (elem instanceof HTMLElement) {
131
114
  elem.focus(); // first child of the portal element
132
115
  }
133
116
  }
134
117
  });
118
+
135
119
  this.setState({
136
120
  popper
137
121
  });
138
122
  }
139
-
140
123
  destroyPopper() {
141
124
  var updateState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
142
125
  cancelAnimationFrame(this.rAF);
143
126
  var {
144
127
  popper
145
128
  } = this.state;
146
-
147
129
  if (!popper) {
148
130
  return;
149
131
  }
132
+ popper.destroy();
150
133
 
151
- popper.destroy(); // If component is exiting and unmounted in
134
+ // If component is exiting and unmounted in
152
135
  // the same frame, destroy can be called twice.
153
136
  // Check to make sure removeChild isn't called twice.
154
-
155
137
  if (document.body.contains(this.element)) {
156
138
  document.body.removeChild(this.element);
157
139
  }
158
-
159
140
  if (updateState) {
160
141
  this.setState({
161
142
  popper: null
162
143
  });
163
144
  }
164
145
  }
165
-
166
146
  show() {
167
147
  this.initPopper();
168
148
  this.setState({
169
149
  show: true
170
150
  });
171
151
  }
172
-
173
152
  hide() {
174
153
  this.setState({
175
154
  show: false
176
155
  });
177
156
  }
178
-
179
157
  scheduleUpdate() {
180
158
  var {
181
159
  popper
182
160
  } = this.state;
183
161
  if (popper) popper.scheduleUpdate();
184
162
  }
185
-
186
163
  handleBlur(e) {
187
164
  if (!(e.relatedTarget instanceof HTMLElement)) {
188
165
  return;
189
166
  }
190
-
191
167
  if (!this.element.contains(e.relatedTarget)) {
192
168
  this.hide();
193
169
  }
194
170
  }
195
-
196
171
  handleEnter() {
197
172
  var {
198
173
  onEntered
@@ -207,11 +182,9 @@ class Popper extends Component {
207
182
  var {
208
183
  show
209
184
  } = this.state;
210
-
211
185
  if (!show) {
212
186
  this.destroyPopper();
213
187
  }
214
-
215
188
  onExited(); // trigger any parent component waiting for exited handler
216
189
  }
217
190
 
@@ -253,7 +226,6 @@ class Popper extends Component {
253
226
  "x-arrow": ""
254
227
  }))));
255
228
  }
256
-
257
229
  render() {
258
230
  var {
259
231
  popper
@@ -270,9 +242,7 @@ class Popper extends Component {
270
242
  "data-testid": dataTestId
271
243
  }, popper && /*#__PURE__*/ReactDOM.createPortal(this.renderContent(), this.element));
272
244
  }
273
-
274
245
  }
275
-
276
246
  _defineProperty(Popper, "propTypes", {
277
247
  children: PropTypes.node.isRequired,
278
248
  options: PropTypes.shape({}),
@@ -286,24 +256,21 @@ _defineProperty(Popper, "propTypes", {
286
256
  referenceObject: PropTypes.shape({}),
287
257
  'data-testid': PropTypes.string
288
258
  });
289
-
290
259
  _defineProperty(Popper, "defaultProps", {
291
260
  options: {},
292
261
  className: '',
293
262
  timeout: ThemeExport.transitionMs,
294
-
295
- onEntered() {// no-op
263
+ onEntered() {
264
+ // no-op
296
265
  },
297
-
298
- onExited() {// no-op
266
+ onExited() {
267
+ // no-op
299
268
  },
300
-
301
269
  isShown: false,
302
270
  interactive: false,
303
271
  closeOnBlur: false,
304
272
  referenceObject: null,
305
273
  'data-testid': undefined
306
274
  });
307
-
308
275
  export default Popper;
309
276
  //# sourceMappingURL=Popper.js.map