@deephaven/components 0.22.3-embed-pandas.11 → 0.23.1-beta.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 (223) 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 +22 -0
  32. package/dist/CopyButton.d.ts.map +1 -0
  33. package/dist/CopyButton.js +30 -0
  34. package/dist/CopyButton.js.map +1 -0
  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 -15
  135. package/dist/context-actions/ContextActionUtils.d.ts.map +1 -1
  136. package/dist/context-actions/ContextActionUtils.js +8 -85
  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.d.ts +1 -0
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +1 -0
  157. package/dist/index.js.map +1 -1
  158. package/dist/menu-actions/DropdownMenu.d.ts +3 -3
  159. package/dist/menu-actions/DropdownMenu.d.ts.map +1 -1
  160. package/dist/menu-actions/DropdownMenu.js +4 -32
  161. package/dist/menu-actions/DropdownMenu.js.map +1 -1
  162. package/dist/menu-actions/Menu.d.ts +3 -3
  163. package/dist/menu-actions/Menu.d.ts.map +1 -1
  164. package/dist/menu-actions/Menu.js +7 -52
  165. package/dist/menu-actions/Menu.js.map +1 -1
  166. package/dist/menu-actions/index.d.ts +2 -1
  167. package/dist/menu-actions/index.d.ts.map +1 -1
  168. package/dist/menu-actions/index.js +2 -2
  169. package/dist/menu-actions/index.js.map +1 -1
  170. package/dist/modal/Modal.d.ts +2 -2
  171. package/dist/modal/Modal.d.ts.map +1 -1
  172. package/dist/modal/Modal.js +3 -9
  173. package/dist/modal/Modal.js.map +1 -1
  174. package/dist/modal/ModalBody.d.ts +1 -1
  175. package/dist/modal/ModalBody.d.ts.map +1 -1
  176. package/dist/modal/ModalBody.js +2 -4
  177. package/dist/modal/ModalBody.js.map +1 -1
  178. package/dist/modal/ModalFooter.d.ts +1 -1
  179. package/dist/modal/ModalFooter.d.ts.map +1 -1
  180. package/dist/modal/ModalFooter.js +2 -4
  181. package/dist/modal/ModalFooter.js.map +1 -1
  182. package/dist/modal/ModalHeader.d.ts +1 -1
  183. package/dist/modal/ModalHeader.d.ts.map +1 -1
  184. package/dist/modal/ModalHeader.js +2 -4
  185. package/dist/modal/ModalHeader.js.map +1 -1
  186. package/dist/modal/index.js.map +1 -1
  187. package/dist/navigation/Menu.d.ts +3 -3
  188. package/dist/navigation/Menu.d.ts.map +1 -1
  189. package/dist/navigation/Menu.js +2 -2
  190. package/dist/navigation/Menu.js.map +1 -1
  191. package/dist/navigation/MenuItem.d.ts +4 -4
  192. package/dist/navigation/MenuItem.d.ts.map +1 -1
  193. package/dist/navigation/MenuItem.js +4 -7
  194. package/dist/navigation/MenuItem.js.map +1 -1
  195. package/dist/navigation/Page.d.ts +2 -2
  196. package/dist/navigation/Page.d.ts.map +1 -1
  197. package/dist/navigation/Page.js +2 -3
  198. package/dist/navigation/Page.js.map +1 -1
  199. package/dist/navigation/Stack.d.ts +2 -2
  200. package/dist/navigation/Stack.d.ts.map +1 -1
  201. package/dist/navigation/Stack.js +3 -6
  202. package/dist/navigation/Stack.js.map +1 -1
  203. package/dist/navigation/index.js.map +1 -1
  204. package/dist/popper/Popper.d.ts +2 -2
  205. package/dist/popper/Popper.d.ts.map +1 -1
  206. package/dist/popper/Popper.js +13 -46
  207. package/dist/popper/Popper.js.map +1 -1
  208. package/dist/popper/Tooltip.d.ts +1 -1
  209. package/dist/popper/Tooltip.d.ts.map +1 -1
  210. package/dist/popper/Tooltip.js +0 -56
  211. package/dist/popper/Tooltip.js.map +1 -1
  212. package/dist/popper/index.js.map +1 -1
  213. package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
  214. package/dist/shortcuts/Shortcut.d.ts +2 -2
  215. package/dist/shortcuts/Shortcut.d.ts.map +1 -1
  216. package/dist/shortcuts/Shortcut.js +19 -76
  217. package/dist/shortcuts/Shortcut.js.map +1 -1
  218. package/dist/shortcuts/ShortcutRegistry.d.ts +1 -1
  219. package/dist/shortcuts/ShortcutRegistry.d.ts.map +1 -1
  220. package/dist/shortcuts/ShortcutRegistry.js +3 -18
  221. package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
  222. package/dist/shortcuts/index.js.map +1 -1
  223. package/package.json +8 -8
package/dist/Option.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
-
3
- var Option = _ref => {
2
+ function Option(_ref) {
4
3
  var {
5
4
  children,
6
5
  disabled,
@@ -12,7 +11,6 @@ var Option = _ref => {
12
11
  disabled: disabled,
13
12
  "data-testid": dataTestId
14
13
  }, children);
15
- };
16
-
14
+ }
17
15
  export default Option;
18
16
  //# sourceMappingURL=Option.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["React","Option","children","disabled","value","dataTestId"],"sources":["../src/Option.tsx"],"sourcesContent":["import React from 'react';\n\nexport type OptionProps = {\n children: React.ReactNode;\n disabled?: boolean;\n value: string;\n 'data-testid'?: string;\n};\n\nconst Option = ({\n children,\n disabled,\n value,\n 'data-testid': dataTestId,\n}: OptionProps): JSX.Element => (\n <option value={value} disabled={disabled} data-testid={dataTestId}>\n {children}\n </option>\n);\n\nexport default Option;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AASA,IAAMC,MAAM,GAAG;EAAA,IAAC;IACdC,QADc;IAEdC,QAFc;IAGdC,KAHc;IAId,eAAeC;EAJD,CAAD;EAAA,oBAMb;IAAQ,KAAK,EAAED,KAAf;IAAsB,QAAQ,EAAED,QAAhC;IAA0C,eAAaE;EAAvD,GACGH,QADH,CANa;AAAA,CAAf;;AAWA,eAAeD,MAAf"}
1
+ {"version":3,"file":"Option.js","names":["React","Option","children","disabled","value","dataTestId"],"sources":["../src/Option.tsx"],"sourcesContent":["import React from 'react';\n\nexport type OptionProps = {\n children: React.ReactNode;\n disabled?: boolean;\n value: string;\n 'data-testid'?: string;\n};\n\nfunction Option({\n children,\n disabled,\n value,\n 'data-testid': dataTestId,\n}: OptionProps): JSX.Element {\n return (\n <option value={value} disabled={disabled} data-testid={dataTestId}>\n {children}\n </option>\n );\n}\n\nexport default Option;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AASzB,SAASC,MAAM,OAKc;EAAA,IALb;IACdC,QAAQ;IACRC,QAAQ;IACRC,KAAK;IACL,aAAa,EAAEC;EACJ,CAAC;EACZ,oBACE;IAAQ,KAAK,EAAED,KAAM;IAAC,QAAQ,EAAED,QAAS;IAAC,eAAaE;EAAW,GAC/DH,QAAQ,CACF;AAEb;AAEA,eAAeD,MAAM"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type RadioGroupProps = {
2
+ type RadioGroupProps = {
3
3
  /** The radio items to populate this radio. Should be of type RadioItem. */
4
4
  children?: React.ReactElement | React.ReactElement[];
5
5
  /** The name to use for the radio items. If not specified, a name is automatically generated */
@@ -18,6 +18,6 @@ declare type RadioGroupProps = {
18
18
  * <RadioItem .../>
19
19
  * </RadioGroup>
20
20
  */
21
- declare const RadioGroup: (props: RadioGroupProps) => JSX.Element;
21
+ declare function RadioGroup(props: RadioGroupProps): JSX.Element;
22
22
  export default RadioGroup;
23
23
  //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../src/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,aAAK,eAAe,GAAG;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAErD,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAErD,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,UAAW,eAAe,KAAG,WA2B5C,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../src/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,KAAK,eAAe,GAAG;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAErD,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAErD,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA2BvD;AAED,eAAe,UAAU,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import React, { useState } from 'react';
2
2
  import shortid from 'shortid';
3
-
4
3
  /**
5
4
  * A group of radio buttons. Use with RadioItems to populate, eg.
6
5
  * <RadioGroup>
@@ -8,7 +7,7 @@ import shortid from 'shortid';
8
7
  * <RadioItem .../>
9
8
  * </RadioGroup>
10
9
  */
11
- var RadioGroup = props => {
10
+ function RadioGroup(props) {
12
11
  var {
13
12
  children,
14
13
  disabled = false,
@@ -17,11 +16,11 @@ var RadioGroup = props => {
17
16
  value = '',
18
17
  'data-testid': dataTestId
19
18
  } = props;
20
- var [name] = useState(propsName !== null && propsName !== void 0 ? propsName : shortid()); // Need to use "text" type so we can apply a pattern and make selection properly
19
+ var [name] = useState(propsName !== null && propsName !== void 0 ? propsName : shortid());
21
20
 
21
+ // Need to use "text" type so we can apply a pattern and make selection properly
22
22
  return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(children, child => {
23
23
  var _child$props$onChange, _child$props$disabled;
24
-
25
24
  return child ? /*#__PURE__*/React.cloneElement(child, {
26
25
  name,
27
26
  onChange: (_child$props$onChange = child.props.onChange) !== null && _child$props$onChange !== void 0 ? _child$props$onChange : onChange,
@@ -30,7 +29,6 @@ var RadioGroup = props => {
30
29
  'data-testid': dataTestId
31
30
  }) : null;
32
31
  }));
33
- };
34
-
32
+ }
35
33
  export default RadioGroup;
36
34
  //# sourceMappingURL=RadioGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["React","useState","shortid","RadioGroup","props","children","disabled","name","propsName","onChange","value","dataTestId","Children","map","child","cloneElement","checked"],"sources":["../src/RadioGroup.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport shortid from 'shortid';\n\ntype RadioGroupProps = {\n /** The radio items to populate this radio. Should be of type RadioItem. */\n children?: React.ReactElement | React.ReactElement[];\n\n /** The name to use for the radio items. If not specified, a name is automatically generated */\n name?: string;\n\n /** Triggered when a radio button is changed */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n\n /** The currently selected value. Will automatically set the `checked` attribute of the RadioItem. */\n value?: string;\n\n disabled?: boolean;\n 'data-testid'?: string;\n};\n\n/**\n * A group of radio buttons. Use with RadioItems to populate, eg.\n * <RadioGroup>\n * <RadioItem .../>\n * <RadioItem .../>\n * </RadioGroup>\n */\nconst RadioGroup = (props: RadioGroupProps): JSX.Element => {\n const {\n children,\n disabled = false,\n name: propsName,\n onChange,\n value = '',\n 'data-testid': dataTestId,\n } = props;\n const [name] = useState(propsName ?? shortid());\n\n // Need to use \"text\" type so we can apply a pattern and make selection properly\n return (\n <>\n {React.Children.map(children, child =>\n child\n ? React.cloneElement(child, {\n name,\n onChange: child.props.onChange ?? onChange,\n checked: value === child.props.value,\n disabled: child.props.disabled ?? disabled,\n 'data-testid': dataTestId,\n })\n : null\n )}\n </>\n );\n};\n\nexport default RadioGroup;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,OAAP,MAAoB,SAApB;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,UAAU,GAAIC,KAAD,IAAyC;EAC1D,IAAM;IACJC,QADI;IAEJC,QAAQ,GAAG,KAFP;IAGJC,IAAI,EAAEC,SAHF;IAIJC,QAJI;IAKJC,KAAK,GAAG,EALJ;IAMJ,eAAeC;EANX,IAOFP,KAPJ;EAQA,IAAM,CAACG,IAAD,IAASN,QAAQ,CAACO,SAAD,aAACA,SAAD,cAACA,SAAD,GAAcN,OAAO,EAArB,CAAvB,CAT0D,CAW1D;;EACA,oBACE,0CACGF,KAAK,CAACY,QAAN,CAAeC,GAAf,CAAmBR,QAAnB,EAA6BS,KAAK;IAAA;;IAAA,OACjCA,KAAK,gBACDd,KAAK,CAACe,YAAN,CAAmBD,KAAnB,EAA0B;MACxBP,IADwB;MAExBE,QAAQ,2BAAEK,KAAK,CAACV,KAAN,CAAYK,QAAd,yEAA0BA,QAFV;MAGxBO,OAAO,EAAEN,KAAK,KAAKI,KAAK,CAACV,KAAN,CAAYM,KAHP;MAIxBJ,QAAQ,2BAAEQ,KAAK,CAACV,KAAN,CAAYE,QAAd,yEAA0BA,QAJV;MAKxB,eAAeK;IALS,CAA1B,CADC,GAQD,IAT6B;EAAA,CAAlC,CADH,CADF;AAeD,CA3BD;;AA6BA,eAAeR,UAAf"}
1
+ {"version":3,"file":"RadioGroup.js","names":["React","useState","shortid","RadioGroup","props","children","disabled","name","propsName","onChange","value","dataTestId","Children","map","child","cloneElement","checked"],"sources":["../src/RadioGroup.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport shortid from 'shortid';\n\ntype RadioGroupProps = {\n /** The radio items to populate this radio. Should be of type RadioItem. */\n children?: React.ReactElement | React.ReactElement[];\n\n /** The name to use for the radio items. If not specified, a name is automatically generated */\n name?: string;\n\n /** Triggered when a radio button is changed */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n\n /** The currently selected value. Will automatically set the `checked` attribute of the RadioItem. */\n value?: string;\n\n disabled?: boolean;\n 'data-testid'?: string;\n};\n\n/**\n * A group of radio buttons. Use with RadioItems to populate, eg.\n * <RadioGroup>\n * <RadioItem .../>\n * <RadioItem .../>\n * </RadioGroup>\n */\nfunction RadioGroup(props: RadioGroupProps): JSX.Element {\n const {\n children,\n disabled = false,\n name: propsName,\n onChange,\n value = '',\n 'data-testid': dataTestId,\n } = props;\n const [name] = useState(propsName ?? shortid());\n\n // Need to use \"text\" type so we can apply a pattern and make selection properly\n return (\n <>\n {React.Children.map(children, child =>\n child\n ? React.cloneElement(child, {\n name,\n onChange: child.props.onChange ?? onChange,\n checked: value === child.props.value,\n disabled: child.props.disabled ?? disabled,\n 'data-testid': dataTestId,\n })\n : null\n )}\n </>\n );\n}\n\nexport default RadioGroup;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,OAAO,MAAM,SAAS;AAmB7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAU,CAACC,KAAsB,EAAe;EACvD,IAAM;IACJC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChBC,IAAI,EAAEC,SAAS;IACfC,QAAQ;IACRC,KAAK,GAAG,EAAE;IACV,aAAa,EAAEC;EACjB,CAAC,GAAGP,KAAK;EACT,IAAM,CAACG,IAAI,CAAC,GAAGN,QAAQ,CAACO,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIN,OAAO,EAAE,CAAC;;EAE/C;EACA,oBACE,0CACGF,KAAK,CAACY,QAAQ,CAACC,GAAG,CAACR,QAAQ,EAAES,KAAK;IAAA;IAAA,OACjCA,KAAK,gBACDd,KAAK,CAACe,YAAY,CAACD,KAAK,EAAE;MACxBP,IAAI;MACJE,QAAQ,2BAAEK,KAAK,CAACV,KAAK,CAACK,QAAQ,yEAAIA,QAAQ;MAC1CO,OAAO,EAAEN,KAAK,KAAKI,KAAK,CAACV,KAAK,CAACM,KAAK;MACpCJ,QAAQ,2BAAEQ,KAAK,CAACV,KAAK,CAACE,QAAQ,yEAAIA,QAAQ;MAC1C,aAAa,EAAEK;IACjB,CAAC,CAAC,GACF,IAAI;EAAA,EACT,CACA;AAEP;AAEA,eAAeR,UAAU"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type RadioItemProps = {
2
+ type RadioItemProps = {
3
3
  /** Whether this value is currently checked or not */
4
4
  checked?: boolean;
5
5
  /** The node/text to put in the label of this radio item */
@@ -1 +1 @@
1
- {"version":3,"file":"RadioItem.d.ts","sourceRoot":"","sources":["../src/RadioItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,aAAK,cAAc,GAAG;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAEtD,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,SAAS,yFA2Cd,CAAC;AAgBF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"RadioItem.d.ts","sourceRoot":"","sources":["../src/RadioItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,KAAK,cAAc,GAAG;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAEtD,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,SAAS,yFA2Cd,CAAC;AAgBF,eAAe,SAAS,CAAC"}
package/dist/RadioItem.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import classNames from 'classnames';
3
3
  import shortid from 'shortid';
4
-
5
4
  /**
6
5
  * A RadioItem to be used within the Radio component.
7
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RadioItem.js","names":["React","useState","classNames","shortid","RadioItem","forwardRef","props","ref","checked","children","className","disabled","inputClassName","isInvalid","labelClassName","name","onChange","value","dataTestId","id","displayName","defaultProps","undefined"],"sources":["../src/RadioItem.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\ntype RadioItemProps = {\n /** Whether this value is currently checked or not */\n checked?: boolean;\n\n /** The node/text to put in the label of this radio item */\n children: React.ReactNode;\n\n /** An extra class name to add to the outer div component */\n className?: string;\n\n /** An extra class for disabling the radio button component */\n disabled?: boolean;\n\n /** An extra class name for the input component */\n inputClassName?: string;\n\n /** The value is invalid, style to show it's invalid */\n isInvalid?: boolean;\n\n /** An extra class name for the label component */\n labelClassName?: string;\n\n /** The name for this RadioItem. Should be specified by the parent Radio component */\n name?: string;\n\n /** Triggered when the input is checked/unchecked. Provided by the parent Radio component. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** The value to associate with this radio item */\n value: string;\n\n /** An id used for test */\n 'data-testid'?: string;\n};\n\n/**\n * A RadioItem to be used within the Radio component.\n */\nconst RadioItem = React.forwardRef<HTMLInputElement, RadioItemProps>(\n (props: RadioItemProps, ref) => {\n const {\n checked,\n children,\n className = '',\n disabled = false,\n inputClassName = '',\n isInvalid = false,\n labelClassName = '',\n name,\n onChange,\n value,\n 'data-testid': dataTestId,\n } = props;\n\n const [id] = useState(shortid());\n\n return (\n <div className={classNames('custom-control custom-radio', className)}>\n <input\n type=\"radio\"\n id={id}\n data-testid={dataTestId}\n name={name}\n ref={ref}\n className={classNames('custom-control-input', inputClassName, {\n 'is-invalid': isInvalid,\n })}\n checked={checked}\n disabled={disabled}\n value={value}\n onChange={onChange}\n />\n <label\n className={classNames('custom-control-label', labelClassName)}\n htmlFor={id}\n >\n {children}\n </label>\n </div>\n );\n }\n);\n\nRadioItem.displayName = 'RadioItem';\n\nRadioItem.defaultProps = {\n checked: undefined,\n className: '',\n disabled: false,\n inputClassName: '',\n isInvalid: false,\n labelClassName: '',\n name: undefined,\n onChange: undefined,\n 'data-testid': undefined,\n};\n\nexport default RadioItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,OAAP,MAAoB,SAApB;;AAqCA;AACA;AACA;AACA,IAAMC,SAAS,gBAAGJ,KAAK,CAACK,UAAN,CAChB,CAACC,KAAD,EAAwBC,GAAxB,KAAgC;EAC9B,IAAM;IACJC,OADI;IAEJC,QAFI;IAGJC,SAAS,GAAG,EAHR;IAIJC,QAAQ,GAAG,KAJP;IAKJC,cAAc,GAAG,EALb;IAMJC,SAAS,GAAG,KANR;IAOJC,cAAc,GAAG,EAPb;IAQJC,IARI;IASJC,QATI;IAUJC,KAVI;IAWJ,eAAeC;EAXX,IAYFZ,KAZJ;EAcA,IAAM,CAACa,EAAD,IAAOlB,QAAQ,CAACE,OAAO,EAAR,CAArB;EAEA,oBACE;IAAK,SAAS,EAAED,UAAU,CAAC,6BAAD,EAAgCQ,SAAhC;EAA1B,gBACE;IACE,IAAI,EAAC,OADP;IAEE,EAAE,EAAES,EAFN;IAGE,eAAaD,UAHf;IAIE,IAAI,EAAEH,IAJR;IAKE,GAAG,EAAER,GALP;IAME,SAAS,EAAEL,UAAU,CAAC,sBAAD,EAAyBU,cAAzB,EAAyC;MAC5D,cAAcC;IAD8C,CAAzC,CANvB;IASE,OAAO,EAAEL,OATX;IAUE,QAAQ,EAAEG,QAVZ;IAWE,KAAK,EAAEM,KAXT;IAYE,QAAQ,EAAED;EAZZ,EADF,eAeE;IACE,SAAS,EAAEd,UAAU,CAAC,sBAAD,EAAyBY,cAAzB,CADvB;IAEE,OAAO,EAAEK;EAFX,GAIGV,QAJH,CAfF,CADF;AAwBD,CA1Ce,CAAlB;AA6CAL,SAAS,CAACgB,WAAV,GAAwB,WAAxB;AAEAhB,SAAS,CAACiB,YAAV,GAAyB;EACvBb,OAAO,EAAEc,SADc;EAEvBZ,SAAS,EAAE,EAFY;EAGvBC,QAAQ,EAAE,KAHa;EAIvBC,cAAc,EAAE,EAJO;EAKvBC,SAAS,EAAE,KALY;EAMvBC,cAAc,EAAE,EANO;EAOvBC,IAAI,EAAEO,SAPiB;EAQvBN,QAAQ,EAAEM,SARa;EASvB,eAAeA;AATQ,CAAzB;AAYA,eAAelB,SAAf"}
1
+ {"version":3,"file":"RadioItem.js","names":["React","useState","classNames","shortid","RadioItem","forwardRef","props","ref","checked","children","className","disabled","inputClassName","isInvalid","labelClassName","name","onChange","value","dataTestId","id","displayName","defaultProps","undefined"],"sources":["../src/RadioItem.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\ntype RadioItemProps = {\n /** Whether this value is currently checked or not */\n checked?: boolean;\n\n /** The node/text to put in the label of this radio item */\n children: React.ReactNode;\n\n /** An extra class name to add to the outer div component */\n className?: string;\n\n /** An extra class for disabling the radio button component */\n disabled?: boolean;\n\n /** An extra class name for the input component */\n inputClassName?: string;\n\n /** The value is invalid, style to show it's invalid */\n isInvalid?: boolean;\n\n /** An extra class name for the label component */\n labelClassName?: string;\n\n /** The name for this RadioItem. Should be specified by the parent Radio component */\n name?: string;\n\n /** Triggered when the input is checked/unchecked. Provided by the parent Radio component. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** The value to associate with this radio item */\n value: string;\n\n /** An id used for test */\n 'data-testid'?: string;\n};\n\n/**\n * A RadioItem to be used within the Radio component.\n */\nconst RadioItem = React.forwardRef<HTMLInputElement, RadioItemProps>(\n (props: RadioItemProps, ref) => {\n const {\n checked,\n children,\n className = '',\n disabled = false,\n inputClassName = '',\n isInvalid = false,\n labelClassName = '',\n name,\n onChange,\n value,\n 'data-testid': dataTestId,\n } = props;\n\n const [id] = useState(shortid());\n\n return (\n <div className={classNames('custom-control custom-radio', className)}>\n <input\n type=\"radio\"\n id={id}\n data-testid={dataTestId}\n name={name}\n ref={ref}\n className={classNames('custom-control-input', inputClassName, {\n 'is-invalid': isInvalid,\n })}\n checked={checked}\n disabled={disabled}\n value={value}\n onChange={onChange}\n />\n <label\n className={classNames('custom-control-label', labelClassName)}\n htmlFor={id}\n >\n {children}\n </label>\n </div>\n );\n }\n);\n\nRadioItem.displayName = 'RadioItem';\n\nRadioItem.defaultProps = {\n checked: undefined,\n className: '',\n disabled: false,\n inputClassName: '',\n isInvalid: false,\n labelClassName: '',\n name: undefined,\n onChange: undefined,\n 'data-testid': undefined,\n};\n\nexport default RadioItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,SAAS;AAqC7B;AACA;AACA;AACA,IAAMC,SAAS,gBAAGJ,KAAK,CAACK,UAAU,CAChC,CAACC,KAAqB,EAAEC,GAAG,KAAK;EAC9B,IAAM;IACJC,OAAO;IACPC,QAAQ;IACRC,SAAS,GAAG,EAAE;IACdC,QAAQ,GAAG,KAAK;IAChBC,cAAc,GAAG,EAAE;IACnBC,SAAS,GAAG,KAAK;IACjBC,cAAc,GAAG,EAAE;IACnBC,IAAI;IACJC,QAAQ;IACRC,KAAK;IACL,aAAa,EAAEC;EACjB,CAAC,GAAGZ,KAAK;EAET,IAAM,CAACa,EAAE,CAAC,GAAGlB,QAAQ,CAACE,OAAO,EAAE,CAAC;EAEhC,oBACE;IAAK,SAAS,EAAED,UAAU,CAAC,6BAA6B,EAAEQ,SAAS;EAAE,gBACnE;IACE,IAAI,EAAC,OAAO;IACZ,EAAE,EAAES,EAAG;IACP,eAAaD,UAAW;IACxB,IAAI,EAAEH,IAAK;IACX,GAAG,EAAER,GAAI;IACT,SAAS,EAAEL,UAAU,CAAC,sBAAsB,EAAEU,cAAc,EAAE;MAC5D,YAAY,EAAEC;IAChB,CAAC,CAAE;IACH,OAAO,EAAEL,OAAQ;IACjB,QAAQ,EAAEG,QAAS;IACnB,KAAK,EAAEM,KAAM;IACb,QAAQ,EAAED;EAAS,EACnB,eACF;IACE,SAAS,EAAEd,UAAU,CAAC,sBAAsB,EAAEY,cAAc,CAAE;IAC9D,OAAO,EAAEK;EAAG,GAEXV,QAAQ,CACH,CACJ;AAEV,CAAC,CACF;AAEDL,SAAS,CAACgB,WAAW,GAAG,WAAW;AAEnChB,SAAS,CAACiB,YAAY,GAAG;EACvBb,OAAO,EAAEc,SAAS;EAClBZ,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE,KAAK;EACfC,cAAc,EAAE,EAAE;EAClBC,SAAS,EAAE,KAAK;EAChBC,cAAc,EAAE,EAAE;EAClBC,IAAI,EAAEO,SAAS;EACfN,QAAQ,EAAEM,SAAS;EACnB,aAAa,EAAEA;AACjB,CAAC;AAED,eAAelB,SAAS"}
@@ -1,26 +1,19 @@
1
1
  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; }
2
-
3
2
  import React, { PureComponent } from 'react';
4
3
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
4
  import { vsSearch } from '@deephaven/icons';
6
5
  import classNames from 'classnames';
7
6
  import "./SearchInput.css";
8
-
9
7
  class SearchInput extends PureComponent {
10
8
  constructor(props) {
11
9
  super(props);
12
-
13
10
  _defineProperty(this, "inputField", void 0);
14
-
15
11
  this.inputField = /*#__PURE__*/React.createRef();
16
12
  }
17
-
18
13
  focus() {
19
14
  var _this$inputField$curr;
20
-
21
15
  (_this$inputField$curr = this.inputField.current) === null || _this$inputField$curr === void 0 ? void 0 : _this$inputField$curr.focus();
22
16
  }
23
-
24
17
  render() {
25
18
  var {
26
19
  value,
@@ -56,20 +49,16 @@ class SearchInput extends PureComponent {
56
49
  icon: vsSearch
57
50
  })));
58
51
  }
59
-
60
52
  }
61
-
62
53
  _defineProperty(SearchInput, "defaultProps", {
63
54
  placeholder: 'Search',
64
55
  className: '',
65
56
  matchCount: null,
66
-
67
- onKeyDown() {// no-op
57
+ onKeyDown() {
58
+ // no-op
68
59
  },
69
-
70
60
  id: '',
71
61
  'data-testid': undefined
72
62
  });
73
-
74
63
  export default SearchInput;
75
64
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","names":["React","PureComponent","FontAwesomeIcon","vsSearch","classNames","SearchInput","constructor","props","inputField","createRef","focus","current","render","value","placeholder","onBlur","onChange","className","disabled","matchCount","id","onKeyDown","dataTestId","undefined"],"sources":["../src/SearchInput.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsSearch } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport './SearchInput.scss';\n\ninterface SearchInputProps {\n value: string;\n placeholder: string;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n className: string;\n disabled?: boolean;\n matchCount: number;\n id: string;\n 'data-testid'?: string;\n}\n\nclass SearchInput extends PureComponent<SearchInputProps> {\n static defaultProps = {\n placeholder: 'Search',\n className: '',\n matchCount: null,\n onKeyDown(): void {\n // no-op\n },\n id: '',\n 'data-testid': undefined,\n };\n\n constructor(props: SearchInputProps) {\n super(props);\n this.inputField = React.createRef();\n }\n\n inputField: React.RefObject<HTMLInputElement>;\n\n focus(): void {\n this.inputField.current?.focus();\n }\n\n render(): JSX.Element {\n const {\n value,\n placeholder,\n onBlur,\n onChange,\n className,\n disabled,\n matchCount,\n id,\n onKeyDown,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div className={classNames('search-group', className)}>\n <input\n type=\"search\"\n value={value}\n onBlur={onBlur}\n onChange={onChange}\n onKeyDown={onKeyDown}\n className=\"form-control\"\n disabled={disabled}\n placeholder={placeholder}\n ref={this.inputField}\n id={id}\n data-testid={dataTestId}\n />\n {matchCount != null && (\n <span className=\"search-match\">{matchCount}</span>\n )}\n <span className=\"search-icon\">\n <FontAwesomeIcon icon={vsSearch} />\n </span>\n </div>\n );\n }\n}\n\nexport default SearchInput;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;;AAgBA,MAAMC,WAAN,SAA0BJ,aAA1B,CAA0D;EAYxDK,WAAW,CAACC,KAAD,EAA0B;IACnC,MAAMA,KAAN;;IADmC;;IAEnC,KAAKC,UAAL,gBAAkBR,KAAK,CAACS,SAAN,EAAlB;EACD;;EAIDC,KAAK,GAAS;IAAA;;IACZ,8BAAKF,UAAL,CAAgBG,OAAhB,gFAAyBD,KAAzB;EACD;;EAEDE,MAAM,GAAgB;IACpB,IAAM;MACJC,KADI;MAEJC,WAFI;MAGJC,MAHI;MAIJC,QAJI;MAKJC,SALI;MAMJC,QANI;MAOJC,UAPI;MAQJC,EARI;MASJC,SATI;MAUJ,eAAeC;IAVX,IAWF,KAAKf,KAXT;IAYA,oBACE;MAAK,SAAS,EAAEH,UAAU,CAAC,cAAD,EAAiBa,SAAjB;IAA1B,gBACE;MACE,IAAI,EAAC,QADP;MAEE,KAAK,EAAEJ,KAFT;MAGE,MAAM,EAAEE,MAHV;MAIE,QAAQ,EAAEC,QAJZ;MAKE,SAAS,EAAEK,SALb;MAME,SAAS,EAAC,cANZ;MAOE,QAAQ,EAAEH,QAPZ;MAQE,WAAW,EAAEJ,WARf;MASE,GAAG,EAAE,KAAKN,UATZ;MAUE,EAAE,EAAEY,EAVN;MAWE,eAAaE;IAXf,EADF,EAcGH,UAAU,IAAI,IAAd,iBACC;MAAM,SAAS,EAAC;IAAhB,GAAgCA,UAAhC,CAfJ,eAiBE;MAAM,SAAS,EAAC;IAAhB,gBACE,oBAAC,eAAD;MAAiB,IAAI,EAAEhB;IAAvB,EADF,CAjBF,CADF;EAuBD;;AA3DuD;;gBAApDE,W,kBACkB;EACpBS,WAAW,EAAE,QADO;EAEpBG,SAAS,EAAE,EAFS;EAGpBE,UAAU,EAAE,IAHQ;;EAIpBE,SAAS,GAAS,CAChB;EACD,CANmB;;EAOpBD,EAAE,EAAE,EAPgB;EAQpB,eAAeG;AARK,C;;AA6DxB,eAAelB,WAAf"}
1
+ {"version":3,"file":"SearchInput.js","names":["React","PureComponent","FontAwesomeIcon","vsSearch","classNames","SearchInput","constructor","props","inputField","createRef","focus","current","render","value","placeholder","onBlur","onChange","className","disabled","matchCount","id","onKeyDown","dataTestId","undefined"],"sources":["../src/SearchInput.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsSearch } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport './SearchInput.scss';\n\ninterface SearchInputProps {\n value: string;\n placeholder: string;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n className: string;\n disabled?: boolean;\n matchCount: number;\n id: string;\n 'data-testid'?: string;\n}\n\nclass SearchInput extends PureComponent<SearchInputProps> {\n static defaultProps = {\n placeholder: 'Search',\n className: '',\n matchCount: null,\n onKeyDown(): void {\n // no-op\n },\n id: '',\n 'data-testid': undefined,\n };\n\n constructor(props: SearchInputProps) {\n super(props);\n this.inputField = React.createRef();\n }\n\n inputField: React.RefObject<HTMLInputElement>;\n\n focus(): void {\n this.inputField.current?.focus();\n }\n\n render(): JSX.Element {\n const {\n value,\n placeholder,\n onBlur,\n onChange,\n className,\n disabled,\n matchCount,\n id,\n onKeyDown,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div className={classNames('search-group', className)}>\n <input\n type=\"search\"\n value={value}\n onBlur={onBlur}\n onChange={onChange}\n onKeyDown={onKeyDown}\n className=\"form-control\"\n disabled={disabled}\n placeholder={placeholder}\n ref={this.inputField}\n id={id}\n data-testid={dataTestId}\n />\n {matchCount != null && (\n <span className=\"search-match\">{matchCount}</span>\n )}\n <span className=\"search-icon\">\n <FontAwesomeIcon icon={vsSearch} />\n </span>\n </div>\n );\n }\n}\n\nexport default SearchInput;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,OAAOC,UAAU,MAAM,YAAY;AAAC;AAgBpC,MAAMC,WAAW,SAASJ,aAAa,CAAmB;EAYxDK,WAAW,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;IAAC;IACb,IAAI,CAACC,UAAU,gBAAGR,KAAK,CAACS,SAAS,EAAE;EACrC;EAIAC,KAAK,GAAS;IAAA;IACZ,6BAAI,CAACF,UAAU,CAACG,OAAO,0DAAvB,sBAAyBD,KAAK,EAAE;EAClC;EAEAE,MAAM,GAAgB;IACpB,IAAM;MACJC,KAAK;MACLC,WAAW;MACXC,MAAM;MACNC,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,UAAU;MACVC,EAAE;MACFC,SAAS;MACT,aAAa,EAAEC;IACjB,CAAC,GAAG,IAAI,CAACf,KAAK;IACd,oBACE;MAAK,SAAS,EAAEH,UAAU,CAAC,cAAc,EAAEa,SAAS;IAAE,gBACpD;MACE,IAAI,EAAC,QAAQ;MACb,KAAK,EAAEJ,KAAM;MACb,MAAM,EAAEE,MAAO;MACf,QAAQ,EAAEC,QAAS;MACnB,SAAS,EAAEK,SAAU;MACrB,SAAS,EAAC,cAAc;MACxB,QAAQ,EAAEH,QAAS;MACnB,WAAW,EAAEJ,WAAY;MACzB,GAAG,EAAE,IAAI,CAACN,UAAW;MACrB,EAAE,EAAEY,EAAG;MACP,eAAaE;IAAW,EACxB,EACDH,UAAU,IAAI,IAAI,iBACjB;MAAM,SAAS,EAAC;IAAc,GAAEA,UAAU,CAC3C,eACD;MAAM,SAAS,EAAC;IAAa,gBAC3B,oBAAC,eAAe;MAAC,IAAI,EAAEhB;IAAS,EAAG,CAC9B,CACH;EAEV;AACF;AAAC,gBA5DKE,WAAW,kBACO;EACpBS,WAAW,EAAE,QAAQ;EACrBG,SAAS,EAAE,EAAE;EACbE,UAAU,EAAE,IAAI;EAChBE,SAAS,GAAS;IAChB;EAAA,CACD;EACDD,EAAE,EAAE,EAAE;EACN,aAAa,EAAEG;AACjB,CAAC;AAoDH,eAAelB,WAAW"}
package/dist/Select.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type SelectProps = {
2
+ export type SelectProps = {
3
3
  children: React.ReactNode;
4
4
  onBlur?: React.FocusEventHandler<HTMLSelectElement>;
5
5
  onChange: (value: string) => void;
@@ -10,6 +10,6 @@ export declare type SelectProps = {
10
10
  disabled?: boolean;
11
11
  'data-testid'?: string;
12
12
  };
13
- declare const Select: ({ children, onBlur, onChange, className, defaultValue, name, value, disabled, "data-testid": dataTestId, }: SelectProps) => JSX.Element;
13
+ declare function Select({ children, onBlur, onChange, className, defaultValue, name, value, disabled, 'data-testid': dataTestId, }: SelectProps): JSX.Element;
14
14
  export default Select;
15
15
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,oBAAY,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,MAAM,+GAUT,WAAW,KAAG,WAsBhB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,MAAM,CAAC,EACd,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAsB3B;AAED,eAAe,MAAM,CAAC"}
package/dist/Select.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import classNames from 'classnames';
3
-
4
- var Select = _ref => {
3
+ function Select(_ref) {
5
4
  var {
6
5
  children,
7
6
  onBlur,
@@ -26,7 +25,6 @@ var Select = _ref => {
26
25
  disabled: disabled,
27
26
  "data-testid": dataTestId
28
27
  }, children);
29
- };
30
-
28
+ }
31
29
  export default Select;
32
30
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","useCallback","classNames","Select","children","onBlur","onChange","className","defaultValue","name","value","disabled","dataTestId","handleChange","event","target"],"sources":["../src/Select.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport classNames from 'classnames';\n\nexport type SelectProps = {\n children: React.ReactNode;\n onBlur?: React.FocusEventHandler<HTMLSelectElement>;\n onChange: (value: string) => void;\n className?: string;\n defaultValue?: string;\n name?: string;\n value?: string;\n disabled?: boolean;\n 'data-testid'?: string;\n};\n\nconst Select = ({\n children,\n onBlur,\n onChange,\n className,\n defaultValue,\n name,\n value,\n disabled,\n 'data-testid': dataTestId,\n}: SelectProps): JSX.Element => {\n const handleChange = useCallback(\n event => {\n onChange(event.target.value);\n },\n [onChange]\n );\n\n return (\n <select\n className={classNames('custom-select', className)}\n onBlur={onBlur}\n onChange={handleChange}\n defaultValue={defaultValue}\n value={value}\n name={name}\n disabled={disabled}\n data-testid={dataTestId}\n >\n {children}\n </select>\n );\n};\n\nexport default Select;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAcA,IAAMC,MAAM,GAAG,QAUiB;EAAA,IAVhB;IACdC,QADc;IAEdC,MAFc;IAGdC,QAHc;IAIdC,SAJc;IAKdC,YALc;IAMdC,IANc;IAOdC,KAPc;IAQdC,QARc;IASd,eAAeC;EATD,CAUgB;EAC9B,IAAMC,YAAY,GAAGZ,WAAW,CAC9Ba,KAAK,IAAI;IACPR,QAAQ,CAACQ,KAAK,CAACC,MAAN,CAAaL,KAAd,CAAR;EACD,CAH6B,EAI9B,CAACJ,QAAD,CAJ8B,CAAhC;EAOA,oBACE;IACE,SAAS,EAAEJ,UAAU,CAAC,eAAD,EAAkBK,SAAlB,CADvB;IAEE,MAAM,EAAEF,MAFV;IAGE,QAAQ,EAAEQ,YAHZ;IAIE,YAAY,EAAEL,YAJhB;IAKE,KAAK,EAAEE,KALT;IAME,IAAI,EAAED,IANR;IAOE,QAAQ,EAAEE,QAPZ;IAQE,eAAaC;EARf,GAUGR,QAVH,CADF;AAcD,CAhCD;;AAkCA,eAAeD,MAAf"}
1
+ {"version":3,"file":"Select.js","names":["React","useCallback","classNames","Select","children","onBlur","onChange","className","defaultValue","name","value","disabled","dataTestId","handleChange","event","target"],"sources":["../src/Select.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport classNames from 'classnames';\n\nexport type SelectProps = {\n children: React.ReactNode;\n onBlur?: React.FocusEventHandler<HTMLSelectElement>;\n onChange: (value: string) => void;\n className?: string;\n defaultValue?: string;\n name?: string;\n value?: string;\n disabled?: boolean;\n 'data-testid'?: string;\n};\n\nfunction Select({\n children,\n onBlur,\n onChange,\n className,\n defaultValue,\n name,\n value,\n disabled,\n 'data-testid': dataTestId,\n}: SelectProps): JSX.Element {\n const handleChange = useCallback(\n event => {\n onChange(event.target.value);\n },\n [onChange]\n );\n\n return (\n <select\n className={classNames('custom-select', className)}\n onBlur={onBlur}\n onChange={handleChange}\n defaultValue={defaultValue}\n value={value}\n name={name}\n disabled={disabled}\n data-testid={dataTestId}\n >\n {children}\n </select>\n );\n}\n\nexport default Select;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,UAAU,MAAM,YAAY;AAcnC,SAASC,MAAM,OAUc;EAAA,IAVb;IACdC,QAAQ;IACRC,MAAM;IACNC,QAAQ;IACRC,SAAS;IACTC,YAAY;IACZC,IAAI;IACJC,KAAK;IACLC,QAAQ;IACR,aAAa,EAAEC;EACJ,CAAC;EACZ,IAAMC,YAAY,GAAGZ,WAAW,CAC9Ba,KAAK,IAAI;IACPR,QAAQ,CAACQ,KAAK,CAACC,MAAM,CAACL,KAAK,CAAC;EAC9B,CAAC,EACD,CAACJ,QAAQ,CAAC,CACX;EAED,oBACE;IACE,SAAS,EAAEJ,UAAU,CAAC,eAAe,EAAEK,SAAS,CAAE;IAClD,MAAM,EAAEF,MAAO;IACf,QAAQ,EAAEQ,YAAa;IACvB,YAAY,EAAEL,YAAa;IAC3B,KAAK,EAAEE,KAAM;IACb,IAAI,EAAED,IAAK;IACX,QAAQ,EAAEE,QAAS;IACnB,eAAaC;EAAW,GAEvBR,QAAQ,CACF;AAEb;AAEA,eAAeD,MAAM"}
@@ -6,7 +6,7 @@ export interface SelectItem<T> {
6
6
  displayValue?: string;
7
7
  isSelected: boolean;
8
8
  }
9
- declare type SelectValueListProps<T> = {
9
+ type SelectValueListProps<T> = {
10
10
  className?: string;
11
11
  disabled: boolean;
12
12
  isInvalid?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectValueList.d.ts","sourceRoot":"","sources":["../src/SelectValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,aAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,cAAM,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY;;;sBAGL,IAAI;;MAEhB;gBAEU,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAY1C,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAI1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,aAAa,eAEE,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,iCAPD,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,EAoBd;IAEF,cAAc,WAEH,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,6BAJT,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,EAqBlB;IAEF,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAarC,YAAY,IAAI,IAAI;IAIpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYrC,kBAAkB,IAAI,IAAI;IAmB1B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ7C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,MAAM,IAAI,GAAG,CAAC,OAAO;CAiDtB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"SelectValueList.d.ts","sourceRoot":"","sources":["../src/SelectValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,cAAM,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY;;;sBAGL,IAAI;;MAEhB;gBAEU,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAY1C,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAI1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,aAAa,eAEE,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,iCAPD,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,EAoBd;IAEF,cAAc,WAEH,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,6BAJT,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,EAqBlB;IAEF,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAarC,YAAY,IAAI,IAAI;IAIpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYrC,kBAAkB,IAAI,IAAI;IAmB1B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ7C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,MAAM,IAAI,GAAG,CAAC,OAAO;CAiDtB;AAED,eAAe,eAAe,CAAC"}
@@ -1,11 +1,9 @@
1
1
  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; }
2
-
3
2
  import React, { PureComponent } from 'react';
4
3
  import "./SelectValueList.css";
5
4
  import classNames from 'classnames';
6
5
  import memoize from 'memoizee';
7
6
  import Checkbox from "./Checkbox.js";
8
-
9
7
  /**
10
8
  * Select values from a long scrollable list.
11
9
  * Swaps items in and out for infinite scrolling
@@ -13,13 +11,9 @@ import Checkbox from "./Checkbox.js";
13
11
  class SelectValueList extends PureComponent {
14
12
  constructor(props) {
15
13
  super(props);
16
-
17
14
  _defineProperty(this, "list", void 0);
18
-
19
15
  _defineProperty(this, "topRow", void 0);
20
-
21
16
  _defineProperty(this, "bottomRow", void 0);
22
-
23
17
  _defineProperty(this, "getCachedItem", memoize((itemIndex, key, value, displayValue, rowHeight, isSelected, disabled) => {
24
18
  var style = {
25
19
  height: rowHeight
@@ -42,10 +36,8 @@ class SelectValueList extends PureComponent {
42
36
  }, {
43
37
  max: 1000
44
38
  }));
45
-
46
39
  _defineProperty(this, "getCachedItems", memoize((items, rowHeight, offset, disabled) => {
47
40
  var itemElements = [];
48
-
49
41
  for (var i = 0; i < items.length; i += 1) {
50
42
  var item = items[i];
51
43
  var {
@@ -53,19 +45,15 @@ class SelectValueList extends PureComponent {
53
45
  displayValue,
54
46
  isSelected
55
47
  } = item;
56
-
57
48
  var _itemIndex = offset + i;
58
-
59
49
  var key = _itemIndex;
60
50
  var element = this.getCachedItem(_itemIndex, key, _value, displayValue, rowHeight, isSelected, disabled);
61
51
  itemElements.push(element);
62
52
  }
63
-
64
53
  return itemElements;
65
54
  }, {
66
55
  max: 1
67
56
  }));
68
-
69
57
  this.handleBlur = this.handleBlur.bind(this);
70
58
  this.handleScroll = this.handleScroll.bind(this);
71
59
  this.handleSelect = this.handleSelect.bind(this);
@@ -73,15 +61,12 @@ class SelectValueList extends PureComponent {
73
61
  this.topRow = null;
74
62
  this.bottomRow = null;
75
63
  }
76
-
77
64
  componentDidMount() {
78
65
  this.sendViewportUpdate();
79
66
  }
80
-
81
67
  componentDidUpdate() {
82
68
  this.sendViewportUpdate();
83
69
  }
84
-
85
70
  handleBlur(e) {
86
71
  if (!e.relatedTarget || this.list.current && e.relatedTarget instanceof HTMLElement && !this.list.current.contains(e.relatedTarget)) {
87
72
  // Next focused element is outside of the list
@@ -91,11 +76,9 @@ class SelectValueList extends PureComponent {
91
76
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
92
77
  }
93
78
  }
94
-
95
79
  handleScroll() {
96
80
  this.sendViewportUpdate();
97
81
  }
98
-
99
82
  handleSelect(itemIndex) {
100
83
  var {
101
84
  items,
@@ -103,7 +86,6 @@ class SelectValueList extends PureComponent {
103
86
  onSelect
104
87
  } = this.props;
105
88
  var visibleItemIndex = itemIndex - offset;
106
-
107
89
  if (visibleItemIndex >= 0 && visibleItemIndex < items.length) {
108
90
  var item = items[visibleItemIndex];
109
91
  var {
@@ -114,12 +96,10 @@ class SelectValueList extends PureComponent {
114
96
  onSelect(itemIndex, null);
115
97
  }
116
98
  }
117
-
118
99
  sendViewportUpdate() {
119
100
  if (!this.list.current || this.list.current.clientHeight === 0) {
120
101
  return;
121
102
  }
122
-
123
103
  var {
124
104
  onViewportChange,
125
105
  rowHeight
@@ -128,30 +108,25 @@ class SelectValueList extends PureComponent {
128
108
  var bottom = top + this.list.current.clientHeight;
129
109
  var topRow = Math.floor(top / rowHeight);
130
110
  var bottomRow = Math.ceil(bottom / rowHeight);
131
-
132
111
  if (this.topRow !== topRow || this.bottomRow !== bottomRow) {
133
112
  this.topRow = topRow;
134
113
  this.bottomRow = bottomRow;
135
114
  onViewportChange(topRow, bottomRow);
136
115
  }
137
116
  }
138
-
139
117
  getElement(itemIndex) {
140
118
  if (this.list.current == null) {
141
119
  return null;
142
120
  }
143
-
144
121
  var elements = this.list.current.querySelectorAll('.value-list-item');
145
122
  return elements[itemIndex];
146
123
  }
147
-
148
124
  scrollIntoView(index) {
149
125
  var element = this.getElement(index);
150
126
  element === null || element === void 0 ? void 0 : element.scrollIntoView({
151
127
  block: 'center'
152
128
  });
153
129
  }
154
-
155
130
  render() {
156
131
  var {
157
132
  className,
@@ -187,15 +162,12 @@ class SelectValueList extends PureComponent {
187
162
  }
188
163
  }, itemElements)));
189
164
  }
190
-
191
165
  }
192
-
193
166
  _defineProperty(SelectValueList, "defaultProps", {
194
167
  disabled: false,
195
168
  rowHeight: 21,
196
169
  onBlur: () => undefined,
197
170
  'data-testid': undefined
198
171
  });
199
-
200
172
  export default SelectValueList;
201
173
  //# sourceMappingURL=SelectValueList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectValueList.js","names":["React","PureComponent","classNames","memoize","Checkbox","SelectValueList","constructor","props","itemIndex","key","value","displayValue","rowHeight","isSelected","disabled","style","height","text","handleSelect","max","items","offset","itemElements","i","length","item","element","getCachedItem","push","handleBlur","bind","handleScroll","list","createRef","topRow","bottomRow","componentDidMount","sendViewportUpdate","componentDidUpdate","e","relatedTarget","current","HTMLElement","contains","onBlur","onSelect","visibleItemIndex","clientHeight","onViewportChange","top","scrollTop","bottom","Math","floor","ceil","getElement","elements","querySelectorAll","scrollIntoView","index","block","render","className","isInvalid","itemCount","dataTestId","getCachedItems","position","left","undefined"],"sources":["../src/SelectValueList.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport './SelectValueList.scss';\nimport classNames from 'classnames';\nimport memoize from 'memoizee';\nimport Checkbox from './Checkbox';\n\nexport interface SelectItem<T> {\n value: T;\n displayValue?: string;\n isSelected: boolean;\n}\n\ntype SelectValueListProps<T> = {\n className?: string;\n disabled: boolean;\n isInvalid?: boolean;\n // Total item count\n itemCount: number;\n rowHeight: number;\n\n // Offset of the top item in the items array\n offset: number;\n items: SelectItem<T>[];\n\n onBlur?: React.FocusEventHandler<Element>;\n onSelect(itemIndex: number, value: T | null): void;\n onViewportChange(topRow: number, bottomRow: number): void;\n\n 'data-testid'?: string;\n};\n\n/**\n * Select values from a long scrollable list.\n * Swaps items in and out for infinite scrolling\n */\nclass SelectValueList<T> extends PureComponent<SelectValueListProps<T>> {\n static defaultProps = {\n disabled: false,\n rowHeight: 21,\n onBlur: (): void => undefined,\n 'data-testid': undefined,\n };\n\n constructor(props: SelectValueListProps<T>) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n\n this.list = React.createRef();\n this.topRow = null;\n this.bottomRow = null;\n }\n\n componentDidMount(): void {\n this.sendViewportUpdate();\n }\n\n componentDidUpdate(): void {\n this.sendViewportUpdate();\n }\n\n list: React.RefObject<HTMLDivElement>;\n\n topRow: number | null;\n\n bottomRow: number | null;\n\n getCachedItem = memoize(\n (\n itemIndex: number,\n key: number,\n value: T,\n displayValue: string | undefined,\n rowHeight: number,\n isSelected: boolean,\n disabled: boolean\n ): JSX.Element => {\n const style = {\n height: rowHeight,\n };\n const text = displayValue != null ? displayValue : value;\n\n return (\n // Tab index is needed so the item could be a related target in the blur event details\n <li className=\"value-list-item\" style={style} key={key} tabIndex={-1}>\n <Checkbox\n checked={isSelected}\n disabled={disabled}\n onChange={() => this.handleSelect(itemIndex)}\n >\n {text}\n </Checkbox>\n </li>\n );\n },\n { max: 1000 }\n );\n\n getCachedItems = memoize(\n (\n items: SelectItem<T>[],\n rowHeight: number,\n offset: number,\n disabled: boolean\n ): React.ReactNode => {\n const itemElements: JSX.Element[] = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const { value, displayValue, isSelected } = item;\n const itemIndex = offset + i;\n const key = itemIndex;\n const element = this.getCachedItem(\n itemIndex,\n key,\n value,\n displayValue,\n rowHeight,\n isSelected,\n disabled\n );\n itemElements.push(element);\n }\n return itemElements;\n },\n { max: 1 }\n );\n\n handleBlur(e: React.FocusEvent): void {\n if (\n !e.relatedTarget ||\n (this.list.current &&\n e.relatedTarget instanceof HTMLElement &&\n !this.list.current.contains(e.relatedTarget))\n ) {\n // Next focused element is outside of the list\n const { onBlur } = this.props;\n onBlur?.(e);\n }\n }\n\n handleScroll(): void {\n this.sendViewportUpdate();\n }\n\n handleSelect(itemIndex: number): void {\n const { items, offset, onSelect } = this.props;\n const visibleItemIndex = itemIndex - offset;\n if (visibleItemIndex >= 0 && visibleItemIndex < items.length) {\n const item = items[visibleItemIndex];\n const { value } = item;\n onSelect(itemIndex, value);\n } else {\n onSelect(itemIndex, null);\n }\n }\n\n sendViewportUpdate(): void {\n if (!this.list.current || this.list.current.clientHeight === 0) {\n return;\n }\n\n const { onViewportChange, rowHeight } = this.props;\n const top = this.list.current.scrollTop;\n const bottom = top + this.list.current.clientHeight;\n\n const topRow = Math.floor(top / rowHeight);\n const bottomRow = Math.ceil(bottom / rowHeight);\n\n if (this.topRow !== topRow || this.bottomRow !== bottomRow) {\n this.topRow = topRow;\n this.bottomRow = bottomRow;\n onViewportChange(topRow, bottomRow);\n }\n }\n\n getElement(itemIndex: number): Element | null {\n if (this.list.current == null) {\n return null;\n }\n const elements = this.list.current.querySelectorAll('.value-list-item');\n return elements[itemIndex];\n }\n\n scrollIntoView(index: number): void {\n const element = this.getElement(index);\n element?.scrollIntoView({ block: 'center' });\n }\n\n render(): JSX.Element {\n const {\n className,\n disabled,\n isInvalid,\n items,\n itemCount,\n offset,\n rowHeight,\n 'data-testid': dataTestId,\n } = this.props;\n const itemElements = this.getCachedItems(\n items,\n rowHeight,\n offset,\n disabled\n );\n\n return (\n <div\n className={classNames(\n 'select-value-list-scroll-pane h-100 w-100',\n { 'is-invalid': isInvalid },\n className\n )}\n onBlur={this.handleBlur}\n onScroll={this.handleScroll}\n ref={this.list}\n data-testid={dataTestId}\n >\n <div\n className=\"select-value-list\"\n style={{ height: itemCount * rowHeight }}\n >\n <ol\n className=\"select-value-list-content\"\n style={{\n position: 'absolute',\n height: items.length * rowHeight,\n top: offset * rowHeight,\n left: 0,\n }}\n >\n {itemElements}\n </ol>\n </div>\n </div>\n );\n }\n}\n\nexport default SelectValueList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectValueList.js","names":["React","PureComponent","classNames","memoize","Checkbox","SelectValueList","constructor","props","itemIndex","key","value","displayValue","rowHeight","isSelected","disabled","style","height","text","handleSelect","max","items","offset","itemElements","i","length","item","element","getCachedItem","push","handleBlur","bind","handleScroll","list","createRef","topRow","bottomRow","componentDidMount","sendViewportUpdate","componentDidUpdate","e","relatedTarget","current","HTMLElement","contains","onBlur","onSelect","visibleItemIndex","clientHeight","onViewportChange","top","scrollTop","bottom","Math","floor","ceil","getElement","elements","querySelectorAll","scrollIntoView","index","block","render","className","isInvalid","itemCount","dataTestId","getCachedItems","position","left","undefined"],"sources":["../src/SelectValueList.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport './SelectValueList.scss';\nimport classNames from 'classnames';\nimport memoize from 'memoizee';\nimport Checkbox from './Checkbox';\n\nexport interface SelectItem<T> {\n value: T;\n displayValue?: string;\n isSelected: boolean;\n}\n\ntype SelectValueListProps<T> = {\n className?: string;\n disabled: boolean;\n isInvalid?: boolean;\n // Total item count\n itemCount: number;\n rowHeight: number;\n\n // Offset of the top item in the items array\n offset: number;\n items: SelectItem<T>[];\n\n onBlur?: React.FocusEventHandler<Element>;\n onSelect(itemIndex: number, value: T | null): void;\n onViewportChange(topRow: number, bottomRow: number): void;\n\n 'data-testid'?: string;\n};\n\n/**\n * Select values from a long scrollable list.\n * Swaps items in and out for infinite scrolling\n */\nclass SelectValueList<T> extends PureComponent<SelectValueListProps<T>> {\n static defaultProps = {\n disabled: false,\n rowHeight: 21,\n onBlur: (): void => undefined,\n 'data-testid': undefined,\n };\n\n constructor(props: SelectValueListProps<T>) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n\n this.list = React.createRef();\n this.topRow = null;\n this.bottomRow = null;\n }\n\n componentDidMount(): void {\n this.sendViewportUpdate();\n }\n\n componentDidUpdate(): void {\n this.sendViewportUpdate();\n }\n\n list: React.RefObject<HTMLDivElement>;\n\n topRow: number | null;\n\n bottomRow: number | null;\n\n getCachedItem = memoize(\n (\n itemIndex: number,\n key: number,\n value: T,\n displayValue: string | undefined,\n rowHeight: number,\n isSelected: boolean,\n disabled: boolean\n ): JSX.Element => {\n const style = {\n height: rowHeight,\n };\n const text = displayValue != null ? displayValue : value;\n\n return (\n // Tab index is needed so the item could be a related target in the blur event details\n <li className=\"value-list-item\" style={style} key={key} tabIndex={-1}>\n <Checkbox\n checked={isSelected}\n disabled={disabled}\n onChange={() => this.handleSelect(itemIndex)}\n >\n {text}\n </Checkbox>\n </li>\n );\n },\n { max: 1000 }\n );\n\n getCachedItems = memoize(\n (\n items: SelectItem<T>[],\n rowHeight: number,\n offset: number,\n disabled: boolean\n ): React.ReactNode => {\n const itemElements: JSX.Element[] = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const { value, displayValue, isSelected } = item;\n const itemIndex = offset + i;\n const key = itemIndex;\n const element = this.getCachedItem(\n itemIndex,\n key,\n value,\n displayValue,\n rowHeight,\n isSelected,\n disabled\n );\n itemElements.push(element);\n }\n return itemElements;\n },\n { max: 1 }\n );\n\n handleBlur(e: React.FocusEvent): void {\n if (\n !e.relatedTarget ||\n (this.list.current &&\n e.relatedTarget instanceof HTMLElement &&\n !this.list.current.contains(e.relatedTarget))\n ) {\n // Next focused element is outside of the list\n const { onBlur } = this.props;\n onBlur?.(e);\n }\n }\n\n handleScroll(): void {\n this.sendViewportUpdate();\n }\n\n handleSelect(itemIndex: number): void {\n const { items, offset, onSelect } = this.props;\n const visibleItemIndex = itemIndex - offset;\n if (visibleItemIndex >= 0 && visibleItemIndex < items.length) {\n const item = items[visibleItemIndex];\n const { value } = item;\n onSelect(itemIndex, value);\n } else {\n onSelect(itemIndex, null);\n }\n }\n\n sendViewportUpdate(): void {\n if (!this.list.current || this.list.current.clientHeight === 0) {\n return;\n }\n\n const { onViewportChange, rowHeight } = this.props;\n const top = this.list.current.scrollTop;\n const bottom = top + this.list.current.clientHeight;\n\n const topRow = Math.floor(top / rowHeight);\n const bottomRow = Math.ceil(bottom / rowHeight);\n\n if (this.topRow !== topRow || this.bottomRow !== bottomRow) {\n this.topRow = topRow;\n this.bottomRow = bottomRow;\n onViewportChange(topRow, bottomRow);\n }\n }\n\n getElement(itemIndex: number): Element | null {\n if (this.list.current == null) {\n return null;\n }\n const elements = this.list.current.querySelectorAll('.value-list-item');\n return elements[itemIndex];\n }\n\n scrollIntoView(index: number): void {\n const element = this.getElement(index);\n element?.scrollIntoView({ block: 'center' });\n }\n\n render(): JSX.Element {\n const {\n className,\n disabled,\n isInvalid,\n items,\n itemCount,\n offset,\n rowHeight,\n 'data-testid': dataTestId,\n } = this.props;\n const itemElements = this.getCachedItems(\n items,\n rowHeight,\n offset,\n disabled\n );\n\n return (\n <div\n className={classNames(\n 'select-value-list-scroll-pane h-100 w-100',\n { 'is-invalid': isInvalid },\n className\n )}\n onBlur={this.handleBlur}\n onScroll={this.handleScroll}\n ref={this.list}\n data-testid={dataTestId}\n >\n <div\n className=\"select-value-list\"\n style={{ height: itemCount * rowHeight }}\n >\n <ol\n className=\"select-value-list-content\"\n style={{\n position: 'absolute',\n height: items.length * rowHeight,\n top: offset * rowHeight,\n left: 0,\n }}\n >\n {itemElements}\n </ol>\n </div>\n </div>\n );\n }\n}\n\nexport default SelectValueList;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import './SocketedButton.scss';
3
- declare type SocketedButtonProps = {
3
+ type SocketedButtonProps = {
4
4
  children?: React.ReactNode;
5
5
  className?: string;
6
6
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SocketedButton.d.ts","sourceRoot":"","sources":["../src/SocketedButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,uBAAuB,CAAC;AAE/B,aAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,cAAc,+FAiDnB,CAAC;AAkBF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"SocketedButton.d.ts","sourceRoot":"","sources":["../src/SocketedButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,uBAAuB,CAAC;AAE/B,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,cAAc,+FAiDnB,CAAC;AAkBF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SocketedButton.js","names":["React","classNames","dhExclamation","vsLink","FontAwesomeIcon","SocketedButton","forwardRef","props","ref","children","className","disabled","isLinked","isLinkedSource","isInvalid","onClick","onMouseEnter","onMouseLeave","style","dataTestId","undefined","displayName","defaultProps"],"sources":["../src/SocketedButton.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { dhExclamation, vsLink } from '@deephaven/icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport './SocketedButton.scss';\n\ntype SocketedButtonProps = {\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n isLinked?: boolean;\n isLinkedSource?: boolean;\n isInvalid?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n style?: React.CSSProperties;\n 'data-testid'?: string;\n};\n\nconst SocketedButton = React.forwardRef<HTMLButtonElement, SocketedButtonProps>(\n (props: SocketedButtonProps, ref) => {\n const {\n children,\n className,\n disabled,\n isLinked,\n isLinkedSource,\n isInvalid,\n onClick,\n onMouseEnter,\n onMouseLeave,\n style,\n 'data-testid': dataTestId,\n } = props;\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames(\n 'btn-socketed',\n {\n 'btn-socketed-linked':\n (isLinked !== undefined && isLinked) || isLinkedSource,\n },\n { 'btn-socketed-linked-source': isLinkedSource },\n { 'is-invalid': isInvalid },\n className\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n disabled={disabled}\n data-testid={dataTestId}\n >\n {children}\n <FontAwesomeIcon\n icon={vsLink}\n className=\"linked btn-socketed-icon\"\n transform=\"down-1\"\n />\n <FontAwesomeIcon\n icon={dhExclamation}\n className=\"is-invalid btn-socketed-icon\"\n />\n </button>\n );\n }\n);\n\nSocketedButton.displayName = 'SocketedButton';\n\nSocketedButton.defaultProps = {\n children: undefined,\n className: '',\n disabled: false,\n isLinked: false,\n isLinkedSource: false,\n isInvalid: false,\n onClick: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n style: undefined,\n 'data-testid': undefined,\n};\n\nexport default SocketedButton;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,kBAAtC;AACA,SAASC,eAAT,QAAgC,gCAAhC;;AAkBA,IAAMC,cAAc,gBAAGL,KAAK,CAACM,UAAN,CACrB,CAACC,KAAD,EAA6BC,GAA7B,KAAqC;EACnC,IAAM;IACJC,QADI;IAEJC,SAFI;IAGJC,QAHI;IAIJC,QAJI;IAKJC,cALI;IAMJC,SANI;IAOJC,OAPI;IAQJC,YARI;IASJC,YATI;IAUJC,KAVI;IAWJ,eAAeC;EAXX,IAYFZ,KAZJ;EAaA,oBACE;IACE,GAAG,EAAEC,GADP;IAEE,IAAI,EAAC,QAFP;IAGE,SAAS,EAAEP,UAAU,CACnB,cADmB,EAEnB;MACE,uBACGW,QAAQ,KAAKQ,SAAb,IAA0BR,QAA3B,IAAwCC;IAF5C,CAFmB,EAMnB;MAAE,8BAA8BA;IAAhC,CANmB,EAOnB;MAAE,cAAcC;IAAhB,CAPmB,EAQnBJ,SARmB,CAHvB;IAaE,OAAO,EAAEK,OAbX;IAcE,YAAY,EAAEC,YAdhB;IAeE,YAAY,EAAEC,YAfhB;IAgBE,KAAK,EAAEC,KAhBT;IAiBE,QAAQ,EAAEP,QAjBZ;IAkBE,eAAaQ;EAlBf,GAoBGV,QApBH,eAqBE,oBAAC,eAAD;IACE,IAAI,EAAEN,MADR;IAEE,SAAS,EAAC,0BAFZ;IAGE,SAAS,EAAC;EAHZ,EArBF,eA0BE,oBAAC,eAAD;IACE,IAAI,EAAED,aADR;IAEE,SAAS,EAAC;EAFZ,EA1BF,CADF;AAiCD,CAhDoB,CAAvB;AAmDAG,cAAc,CAACgB,WAAf,GAA6B,gBAA7B;AAEAhB,cAAc,CAACiB,YAAf,GAA8B;EAC5Bb,QAAQ,EAAEW,SADkB;EAE5BV,SAAS,EAAE,EAFiB;EAG5BC,QAAQ,EAAE,KAHkB;EAI5BC,QAAQ,EAAE,KAJkB;EAK5BC,cAAc,EAAE,KALY;EAM5BC,SAAS,EAAE,KANiB;EAO5BC,OAAO,EAAEK,SAPmB;EAQ5BJ,YAAY,EAAEI,SARc;EAS5BH,YAAY,EAAEG,SATc;EAU5BF,KAAK,EAAEE,SAVqB;EAW5B,eAAeA;AAXa,CAA9B;AAcA,eAAef,cAAf"}
1
+ {"version":3,"file":"SocketedButton.js","names":["React","classNames","dhExclamation","vsLink","FontAwesomeIcon","SocketedButton","forwardRef","props","ref","children","className","disabled","isLinked","isLinkedSource","isInvalid","onClick","onMouseEnter","onMouseLeave","style","dataTestId","undefined","displayName","defaultProps"],"sources":["../src/SocketedButton.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { dhExclamation, vsLink } from '@deephaven/icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport './SocketedButton.scss';\n\ntype SocketedButtonProps = {\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n isLinked?: boolean;\n isLinkedSource?: boolean;\n isInvalid?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n style?: React.CSSProperties;\n 'data-testid'?: string;\n};\n\nconst SocketedButton = React.forwardRef<HTMLButtonElement, SocketedButtonProps>(\n (props: SocketedButtonProps, ref) => {\n const {\n children,\n className,\n disabled,\n isLinked,\n isLinkedSource,\n isInvalid,\n onClick,\n onMouseEnter,\n onMouseLeave,\n style,\n 'data-testid': dataTestId,\n } = props;\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames(\n 'btn-socketed',\n {\n 'btn-socketed-linked':\n (isLinked !== undefined && isLinked) || isLinkedSource,\n },\n { 'btn-socketed-linked-source': isLinkedSource },\n { 'is-invalid': isInvalid },\n className\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n disabled={disabled}\n data-testid={dataTestId}\n >\n {children}\n <FontAwesomeIcon\n icon={vsLink}\n className=\"linked btn-socketed-icon\"\n transform=\"down-1\"\n />\n <FontAwesomeIcon\n icon={dhExclamation}\n className=\"is-invalid btn-socketed-icon\"\n />\n </button>\n );\n }\n);\n\nSocketedButton.displayName = 'SocketedButton';\n\nSocketedButton.defaultProps = {\n children: undefined,\n className: '',\n disabled: false,\n isLinked: false,\n isLinkedSource: false,\n isInvalid: false,\n onClick: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n style: undefined,\n 'data-testid': undefined,\n};\n\nexport default SocketedButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,aAAa,EAAEC,MAAM,QAAQ,kBAAkB;AACxD,SAASC,eAAe,QAAQ,gCAAgC;AAAC;AAkBjE,IAAMC,cAAc,gBAAGL,KAAK,CAACM,UAAU,CACrC,CAACC,KAA0B,EAAEC,GAAG,KAAK;EACnC,IAAM;IACJC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,cAAc;IACdC,SAAS;IACTC,OAAO;IACPC,YAAY;IACZC,YAAY;IACZC,KAAK;IACL,aAAa,EAAEC;EACjB,CAAC,GAAGZ,KAAK;EACT,oBACE;IACE,GAAG,EAAEC,GAAI;IACT,IAAI,EAAC,QAAQ;IACb,SAAS,EAAEP,UAAU,CACnB,cAAc,EACd;MACE,qBAAqB,EAClBW,QAAQ,KAAKQ,SAAS,IAAIR,QAAQ,IAAKC;IAC5C,CAAC,EACD;MAAE,4BAA4B,EAAEA;IAAe,CAAC,EAChD;MAAE,YAAY,EAAEC;IAAU,CAAC,EAC3BJ,SAAS,CACT;IACF,OAAO,EAAEK,OAAQ;IACjB,YAAY,EAAEC,YAAa;IAC3B,YAAY,EAAEC,YAAa;IAC3B,KAAK,EAAEC,KAAM;IACb,QAAQ,EAAEP,QAAS;IACnB,eAAaQ;EAAW,GAEvBV,QAAQ,eACT,oBAAC,eAAe;IACd,IAAI,EAAEN,MAAO;IACb,SAAS,EAAC,0BAA0B;IACpC,SAAS,EAAC;EAAQ,EAClB,eACF,oBAAC,eAAe;IACd,IAAI,EAAED,aAAc;IACpB,SAAS,EAAC;EAA8B,EACxC,CACK;AAEb,CAAC,CACF;AAEDG,cAAc,CAACgB,WAAW,GAAG,gBAAgB;AAE7ChB,cAAc,CAACiB,YAAY,GAAG;EAC5Bb,QAAQ,EAAEW,SAAS;EACnBV,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE,KAAK;EACfC,QAAQ,EAAE,KAAK;EACfC,cAAc,EAAE,KAAK;EACrBC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAEK,SAAS;EAClBJ,YAAY,EAAEI,SAAS;EACvBH,YAAY,EAAEG,SAAS;EACvBF,KAAK,EAAEE,SAAS;EAChB,aAAa,EAAEA;AACjB,CAAC;AAED,eAAef,cAAc"}
@@ -1,8 +1,8 @@
1
1
  declare const _default: Readonly<{
2
- transitionMs: number;
3
- transitionMidMs: number;
4
- transitionLongMs: number;
5
- transitionSlowMs: number;
2
+ transitionMs: 150;
3
+ transitionMidMs: 200;
4
+ transitionLongMs: 300;
5
+ transitionSlowMs: 1000;
6
6
  }>;
7
7
  export default _default;
8
8
  //# sourceMappingURL=ThemeExport.d.ts.map
@@ -1,12 +1,8 @@
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
  import ThemeExport from "./ThemeExport.module.css"; // Note that TypeScript does not know what keys exist on ThemeExport.module.scss
8
5
  // It only knows it's an object with strings for keys and values
9
-
10
6
  export default Object.freeze(_objectSpread({
11
7
  transitionMs: 150,
12
8
  transitionMidMs: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeExport.js","names":["ThemeExport","Object","freeze","transitionMs","transitionMidMs","transitionLongMs","transitionSlowMs"],"sources":["../src/ThemeExport.ts"],"sourcesContent":["import ThemeExport from './ThemeExport.module.scss';\n\n// Note that TypeScript does not know what keys exist on ThemeExport.module.scss\n// It only knows it's an object with strings for keys and values\nexport default Object.freeze({\n transitionMs: 150,\n transitionMidMs: 200,\n transitionLongMs: 300,\n transitionSlowMs: 1000,\n ...ThemeExport,\n});\n"],"mappings":";;;;;;OAAOA,W,kCAEP;AACA;;AACA,eAAeC,MAAM,CAACC,MAAP;EACbC,YAAY,EAAE,GADD;EAEbC,eAAe,EAAE,GAFJ;EAGbC,gBAAgB,EAAE,GAHL;EAIbC,gBAAgB,EAAE;AAJL,GAKVN,WALU,EAAf"}
1
+ {"version":3,"file":"ThemeExport.js","names":["ThemeExport","Object","freeze","transitionMs","transitionMidMs","transitionLongMs","transitionSlowMs"],"sources":["../src/ThemeExport.ts"],"sourcesContent":["import ThemeExport from './ThemeExport.module.scss';\n\n// Note that TypeScript does not know what keys exist on ThemeExport.module.scss\n// It only knows it's an object with strings for keys and values\nexport default Object.freeze({\n transitionMs: 150,\n transitionMidMs: 200,\n transitionLongMs: 300,\n transitionSlowMs: 1000,\n ...ThemeExport,\n});\n"],"mappings":";;;OAAOA,WAAW,kCAElB;AACA;AACA,eAAeC,MAAM,CAACC,MAAM;EAC1BC,YAAY,EAAE,GAAG;EACjBC,eAAe,EAAE,GAAG;EACpBC,gBAAgB,EAAE,GAAG;EACrBC,gBAAgB,EAAE;AAAI,GACnBN,WAAW,EACd"}