@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
@@ -2,14 +2,13 @@ import React, { useState, useRef, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import "./AutoResizeTextarea.css";
5
-
6
5
  /**
7
6
  * Makes a textarea that auto resizes based on contents, its height grows with new lines.
8
7
  * If a delimeter is set, such as " -" or " ", as used by jvm args or env vars
9
8
  * then the field will also "explode" the value by the delimiter over new lines
10
9
  * on focus, and implode on blur. By default, it doesn't word wrap.
11
10
  */
12
- var AutoResizeTextarea = _ref => {
11
+ function AutoResizeTextarea(_ref) {
13
12
  var {
14
13
  className = '',
15
14
  value: propsValue,
@@ -28,7 +27,6 @@ var AutoResizeTextarea = _ref => {
28
27
  // keep state value in sync with prop changes
29
28
  setValue(propsValue);
30
29
  }, [propsValue]);
31
-
32
30
  function explode(input) {
33
31
  // split by delimiter, commonly " " or " -"
34
32
  // strip empty strings (if delimiter is space, and there are multiple spaces in a row)
@@ -36,68 +34,56 @@ var AutoResizeTextarea = _ref => {
36
34
  return input.trim().split(delimiter).filter(string => string) // remove empty strings
37
35
  .join("\n".concat(delimiter.trim()));
38
36
  }
39
-
40
37
  function implode(input) {
41
38
  return input.split('\n').map(string => string.trim()).join(' ');
42
39
  }
43
-
44
40
  function reCalculateLayout() {
45
41
  if (!element.current) {
46
42
  return;
47
43
  }
48
-
49
44
  element.current.style.height = '0'; // shrink component to get scrollHeight
50
-
51
- var resizedHeight = element.current.scrollHeight + (element.current.offsetHeight - element.current.clientHeight); // accounts for border, padding is captured by scroll height
52
-
45
+ var resizedHeight = element.current.scrollHeight + (element.current.offsetHeight - element.current.clientHeight);
46
+ // accounts for border, padding is captured by scroll height
53
47
  if (resizedHeight > 0) element.current.style.height = "".concat(resizedHeight, "px");
54
48
  }
55
-
56
49
  function handleChange(event) {
57
50
  var newValue = event.target.value;
58
-
59
51
  if (isPastedChange) {
60
52
  if (delimiter) newValue = explode(newValue);
61
53
  setIsPastedChange(false);
62
54
  }
63
-
64
55
  setValue(newValue);
65
56
  onChange(newValue);
66
57
  }
67
-
68
58
  function handleFocus() {
69
59
  if (!element.current) {
70
60
  return;
71
61
  }
72
-
73
62
  if (delimiter) {
74
63
  setValue(explode(value));
75
64
  reCalculateLayout();
76
65
  }
66
+ element.current.scrollLeft = 0;
67
+ // scroll left as it can be disorienting if you click on a long line
68
+ }
77
69
 
78
- element.current.scrollLeft = 0; // scroll left as it can be disorienting if you click on a long line
79
- } // make it explode when dragging the resize handle
70
+ // make it explode when dragging the resize handle
80
71
  // by making it trigger focus (which normally doesn't
81
72
  // trigger when just resizing).
82
-
83
-
84
73
  function handleMouseDown() {
85
74
  if (!element.current) return;
86
75
  if (document.activeElement === element.current) return;
87
76
  element.current.focus();
88
77
  }
89
-
90
78
  function handleBlur() {
91
79
  if (delimiter) {
92
80
  setValue(implode(value));
93
81
  onChange(implode(value));
94
82
  }
95
83
  }
96
-
97
84
  function handlePaste() {
98
85
  setIsPastedChange(true);
99
86
  }
100
-
101
87
  useEffect(function reCalculate() {
102
88
  reCalculateLayout();
103
89
  }, [value]);
@@ -117,8 +103,7 @@ var AutoResizeTextarea = _ref => {
117
103
  disabled: disabled,
118
104
  "data-testid": dataTestId
119
105
  });
120
- };
121
-
106
+ }
122
107
  AutoResizeTextarea.propTypes = {
123
108
  value: PropTypes.string.isRequired,
124
109
  onChange: PropTypes.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useRef","useEffect","PropTypes","classNames","AutoResizeTextarea","className","value","propsValue","onChange","spellCheck","placeholder","disabled","delimiter","id","dataTestId","setValue","isPastedChange","setIsPastedChange","element","syncStateWithProp","explode","input","trim","split","filter","string","join","implode","map","reCalculateLayout","current","style","height","resizedHeight","scrollHeight","offsetHeight","clientHeight","handleChange","event","newValue","target","handleFocus","scrollLeft","handleMouseDown","document","activeElement","focus","handleBlur","handlePaste","reCalculate","propTypes","isRequired","func","bool","defaultProps","undefined"],"sources":["../src/AutoResizeTextarea.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport './AutoResizeTextarea.scss';\n\ninterface AutoResizeTextareaProps {\n value: string;\n onChange: (val: string) => void;\n className?: string;\n spellCheck?: boolean;\n placeholder?: string;\n disabled?: boolean;\n delimiter?: string;\n id?: string;\n 'data-testid'?: string;\n}\n\n/**\n * Makes a textarea that auto resizes based on contents, its height grows with new lines.\n * If a delimeter is set, such as \" -\" or \" \", as used by jvm args or env vars\n * then the field will also \"explode\" the value by the delimiter over new lines\n * on focus, and implode on blur. By default, it doesn't word wrap.\n */\nconst AutoResizeTextarea = ({\n className = '',\n value: propsValue,\n onChange,\n spellCheck = false,\n placeholder = '',\n disabled = false,\n delimiter = '',\n id = '',\n 'data-testid': dataTestId,\n}: AutoResizeTextareaProps): JSX.Element => {\n const [value, setValue] = useState(propsValue);\n const [isPastedChange, setIsPastedChange] = useState(false);\n const element = useRef<HTMLTextAreaElement>(null);\n\n useEffect(\n function syncStateWithProp() {\n // keep state value in sync with prop changes\n setValue(propsValue);\n },\n [propsValue]\n );\n\n function explode(input: string) {\n // split by delimiter, commonly \" \" or \" -\"\n // strip empty strings (if delimiter is space, and there are multiple spaces in a row)\n // and join with new line and a trimmed delimeter (get rid of leading spaces)\n return input\n .trim()\n .split(delimiter)\n .filter(string => string) // remove empty strings\n .join(`\\n${delimiter.trim()}`);\n }\n\n function implode(input: string) {\n return input\n .split('\\n')\n .map(string => string.trim())\n .join(' ');\n }\n\n function reCalculateLayout() {\n if (!element.current) {\n return;\n }\n element.current.style.height = '0'; // shrink component to get scrollHeight\n const resizedHeight =\n element.current.scrollHeight +\n (element.current.offsetHeight - element.current.clientHeight);\n // accounts for border, padding is captured by scroll height\n if (resizedHeight > 0) element.current.style.height = `${resizedHeight}px`;\n }\n\n function handleChange(event: React.ChangeEvent<HTMLTextAreaElement>) {\n let newValue = event.target.value;\n if (isPastedChange) {\n if (delimiter) newValue = explode(newValue);\n setIsPastedChange(false);\n }\n setValue(newValue);\n onChange(newValue);\n }\n\n function handleFocus() {\n if (!element.current) {\n return;\n }\n if (delimiter) {\n setValue(explode(value));\n reCalculateLayout();\n }\n element.current.scrollLeft = 0;\n // scroll left as it can be disorienting if you click on a long line\n }\n\n // make it explode when dragging the resize handle\n // by making it trigger focus (which normally doesn't\n // trigger when just resizing).\n function handleMouseDown() {\n if (!element.current) return;\n if (document.activeElement === element.current) return;\n element.current.focus();\n }\n\n function handleBlur() {\n if (delimiter) {\n setValue(implode(value));\n onChange(implode(value));\n }\n }\n\n function handlePaste() {\n setIsPastedChange(true);\n }\n\n useEffect(\n function reCalculate() {\n reCalculateLayout();\n },\n [value]\n );\n\n return (\n <textarea\n ref={element}\n id={id}\n className={classNames(className, 'auto-resize-textarea form-control')}\n placeholder={placeholder}\n value={value}\n rows={1}\n onChange={handleChange}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n onBlur={handleBlur}\n onPaste={handlePaste}\n spellCheck={spellCheck}\n disabled={disabled}\n data-testid={dataTestId}\n />\n );\n};\n\nAutoResizeTextarea.propTypes = {\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n spellCheck: PropTypes.bool,\n disabled: PropTypes.bool,\n delimiter: PropTypes.string,\n id: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nAutoResizeTextarea.defaultProps = {\n className: '',\n id: '',\n placeholder: '',\n disabled: false,\n spellCheck: false,\n delimiter: '',\n 'data-testid': undefined,\n};\n\nexport default AutoResizeTextarea;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,MAA1B,EAAkCC,SAAlC,QAAmD,OAAnD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,kBAAkB,GAAG,QAUiB;EAAA,IAVhB;IAC1BC,SAAS,GAAG,EADc;IAE1BC,KAAK,EAAEC,UAFmB;IAG1BC,QAH0B;IAI1BC,UAAU,GAAG,KAJa;IAK1BC,WAAW,GAAG,EALY;IAM1BC,QAAQ,GAAG,KANe;IAO1BC,SAAS,GAAG,EAPc;IAQ1BC,EAAE,GAAG,EARqB;IAS1B,eAAeC;EATW,CAUgB;EAC1C,IAAM,CAACR,KAAD,EAAQS,QAAR,IAAoBhB,QAAQ,CAACQ,UAAD,CAAlC;EACA,IAAM,CAACS,cAAD,EAAiBC,iBAAjB,IAAsClB,QAAQ,CAAC,KAAD,CAApD;EACA,IAAMmB,OAAO,GAAGlB,MAAM,CAAsB,IAAtB,CAAtB;EAEAC,SAAS,CACP,SAASkB,iBAAT,GAA6B;IAC3B;IACAJ,QAAQ,CAACR,UAAD,CAAR;EACD,CAJM,EAKP,CAACA,UAAD,CALO,CAAT;;EAQA,SAASa,OAAT,CAAiBC,KAAjB,EAAgC;IAC9B;IACA;IACA;IACA,OAAOA,KAAK,CACTC,IADI,GAEJC,KAFI,CAEEX,SAFF,EAGJY,MAHI,CAGGC,MAAM,IAAIA,MAHb,EAGqB;IAHrB,CAIJC,IAJI,aAIMd,SAAS,CAACU,IAAV,EAJN,EAAP;EAKD;;EAED,SAASK,OAAT,CAAiBN,KAAjB,EAAgC;IAC9B,OAAOA,KAAK,CACTE,KADI,CACE,IADF,EAEJK,GAFI,CAEAH,MAAM,IAAIA,MAAM,CAACH,IAAP,EAFV,EAGJI,IAHI,CAGC,GAHD,CAAP;EAID;;EAED,SAASG,iBAAT,GAA6B;IAC3B,IAAI,CAACX,OAAO,CAACY,OAAb,EAAsB;MACpB;IACD;;IACDZ,OAAO,CAACY,OAAR,CAAgBC,KAAhB,CAAsBC,MAAtB,GAA+B,GAA/B,CAJ2B,CAIS;;IACpC,IAAMC,aAAa,GACjBf,OAAO,CAACY,OAAR,CAAgBI,YAAhB,IACChB,OAAO,CAACY,OAAR,CAAgBK,YAAhB,GAA+BjB,OAAO,CAACY,OAAR,CAAgBM,YADhD,CADF,CAL2B,CAQ3B;;IACA,IAAIH,aAAa,GAAG,CAApB,EAAuBf,OAAO,CAACY,OAAR,CAAgBC,KAAhB,CAAsBC,MAAtB,aAAkCC,aAAlC;EACxB;;EAED,SAASI,YAAT,CAAsBC,KAAtB,EAAqE;IACnE,IAAIC,QAAQ,GAAGD,KAAK,CAACE,MAAN,CAAalC,KAA5B;;IACA,IAAIU,cAAJ,EAAoB;MAClB,IAAIJ,SAAJ,EAAe2B,QAAQ,GAAGnB,OAAO,CAACmB,QAAD,CAAlB;MACftB,iBAAiB,CAAC,KAAD,CAAjB;IACD;;IACDF,QAAQ,CAACwB,QAAD,CAAR;IACA/B,QAAQ,CAAC+B,QAAD,CAAR;EACD;;EAED,SAASE,WAAT,GAAuB;IACrB,IAAI,CAACvB,OAAO,CAACY,OAAb,EAAsB;MACpB;IACD;;IACD,IAAIlB,SAAJ,EAAe;MACbG,QAAQ,CAACK,OAAO,CAACd,KAAD,CAAR,CAAR;MACAuB,iBAAiB;IAClB;;IACDX,OAAO,CAACY,OAAR,CAAgBY,UAAhB,GAA6B,CAA7B,CARqB,CASrB;EACD,CA/DyC,CAiE1C;EACA;EACA;;;EACA,SAASC,eAAT,GAA2B;IACzB,IAAI,CAACzB,OAAO,CAACY,OAAb,EAAsB;IACtB,IAAIc,QAAQ,CAACC,aAAT,KAA2B3B,OAAO,CAACY,OAAvC,EAAgD;IAChDZ,OAAO,CAACY,OAAR,CAAgBgB,KAAhB;EACD;;EAED,SAASC,UAAT,GAAsB;IACpB,IAAInC,SAAJ,EAAe;MACbG,QAAQ,CAACY,OAAO,CAACrB,KAAD,CAAR,CAAR;MACAE,QAAQ,CAACmB,OAAO,CAACrB,KAAD,CAAR,CAAR;IACD;EACF;;EAED,SAAS0C,WAAT,GAAuB;IACrB/B,iBAAiB,CAAC,IAAD,CAAjB;EACD;;EAEDhB,SAAS,CACP,SAASgD,WAAT,GAAuB;IACrBpB,iBAAiB;EAClB,CAHM,EAIP,CAACvB,KAAD,CAJO,CAAT;EAOA,oBACE;IACE,GAAG,EAAEY,OADP;IAEE,EAAE,EAAEL,EAFN;IAGE,SAAS,EAAEV,UAAU,CAACE,SAAD,EAAY,mCAAZ,CAHvB;IAIE,WAAW,EAAEK,WAJf;IAKE,KAAK,EAAEJ,KALT;IAME,IAAI,EAAE,CANR;IAOE,QAAQ,EAAE+B,YAPZ;IAQE,OAAO,EAAEI,WARX;IASE,WAAW,EAAEE,eATf;IAUE,MAAM,EAAEI,UAVV;IAWE,OAAO,EAAEC,WAXX;IAYE,UAAU,EAAEvC,UAZd;IAaE,QAAQ,EAAEE,QAbZ;IAcE,eAAaG;EAdf,EADF;AAkBD,CAxHD;;AA0HAV,kBAAkB,CAAC8C,SAAnB,GAA+B;EAC7B5C,KAAK,EAAEJ,SAAS,CAACuB,MAAV,CAAiB0B,UADK;EAE7B3C,QAAQ,EAAEN,SAAS,CAACkD,IAAV,CAAeD,UAFI;EAG7B9C,SAAS,EAAEH,SAAS,CAACuB,MAHQ;EAI7Bf,WAAW,EAAER,SAAS,CAACuB,MAJM;EAK7BhB,UAAU,EAAEP,SAAS,CAACmD,IALO;EAM7B1C,QAAQ,EAAET,SAAS,CAACmD,IANS;EAO7BzC,SAAS,EAAEV,SAAS,CAACuB,MAPQ;EAQ7BZ,EAAE,EAAEX,SAAS,CAACuB,MARe;EAS7B,eAAevB,SAAS,CAACuB;AATI,CAA/B;AAYArB,kBAAkB,CAACkD,YAAnB,GAAkC;EAChCjD,SAAS,EAAE,EADqB;EAEhCQ,EAAE,EAAE,EAF4B;EAGhCH,WAAW,EAAE,EAHmB;EAIhCC,QAAQ,EAAE,KAJsB;EAKhCF,UAAU,EAAE,KALoB;EAMhCG,SAAS,EAAE,EANqB;EAOhC,eAAe2C;AAPiB,CAAlC;AAUA,eAAenD,kBAAf"}
1
+ {"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useRef","useEffect","PropTypes","classNames","AutoResizeTextarea","className","value","propsValue","onChange","spellCheck","placeholder","disabled","delimiter","id","dataTestId","setValue","isPastedChange","setIsPastedChange","element","syncStateWithProp","explode","input","trim","split","filter","string","join","implode","map","reCalculateLayout","current","style","height","resizedHeight","scrollHeight","offsetHeight","clientHeight","handleChange","event","newValue","target","handleFocus","scrollLeft","handleMouseDown","document","activeElement","focus","handleBlur","handlePaste","reCalculate","propTypes","isRequired","func","bool","defaultProps","undefined"],"sources":["../src/AutoResizeTextarea.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport './AutoResizeTextarea.scss';\n\ninterface AutoResizeTextareaProps {\n value: string;\n onChange: (val: string) => void;\n className?: string;\n spellCheck?: boolean;\n placeholder?: string;\n disabled?: boolean;\n delimiter?: string;\n id?: string;\n 'data-testid'?: string;\n}\n\n/**\n * Makes a textarea that auto resizes based on contents, its height grows with new lines.\n * If a delimeter is set, such as \" -\" or \" \", as used by jvm args or env vars\n * then the field will also \"explode\" the value by the delimiter over new lines\n * on focus, and implode on blur. By default, it doesn't word wrap.\n */\nfunction AutoResizeTextarea({\n className = '',\n value: propsValue,\n onChange,\n spellCheck = false,\n placeholder = '',\n disabled = false,\n delimiter = '',\n id = '',\n 'data-testid': dataTestId,\n}: AutoResizeTextareaProps): JSX.Element {\n const [value, setValue] = useState(propsValue);\n const [isPastedChange, setIsPastedChange] = useState(false);\n const element = useRef<HTMLTextAreaElement>(null);\n\n useEffect(\n function syncStateWithProp() {\n // keep state value in sync with prop changes\n setValue(propsValue);\n },\n [propsValue]\n );\n\n function explode(input: string) {\n // split by delimiter, commonly \" \" or \" -\"\n // strip empty strings (if delimiter is space, and there are multiple spaces in a row)\n // and join with new line and a trimmed delimeter (get rid of leading spaces)\n return input\n .trim()\n .split(delimiter)\n .filter(string => string) // remove empty strings\n .join(`\\n${delimiter.trim()}`);\n }\n\n function implode(input: string) {\n return input\n .split('\\n')\n .map(string => string.trim())\n .join(' ');\n }\n\n function reCalculateLayout() {\n if (!element.current) {\n return;\n }\n element.current.style.height = '0'; // shrink component to get scrollHeight\n const resizedHeight =\n element.current.scrollHeight +\n (element.current.offsetHeight - element.current.clientHeight);\n // accounts for border, padding is captured by scroll height\n if (resizedHeight > 0) element.current.style.height = `${resizedHeight}px`;\n }\n\n function handleChange(event: React.ChangeEvent<HTMLTextAreaElement>) {\n let newValue = event.target.value;\n if (isPastedChange) {\n if (delimiter) newValue = explode(newValue);\n setIsPastedChange(false);\n }\n setValue(newValue);\n onChange(newValue);\n }\n\n function handleFocus() {\n if (!element.current) {\n return;\n }\n if (delimiter) {\n setValue(explode(value));\n reCalculateLayout();\n }\n element.current.scrollLeft = 0;\n // scroll left as it can be disorienting if you click on a long line\n }\n\n // make it explode when dragging the resize handle\n // by making it trigger focus (which normally doesn't\n // trigger when just resizing).\n function handleMouseDown() {\n if (!element.current) return;\n if (document.activeElement === element.current) return;\n element.current.focus();\n }\n\n function handleBlur() {\n if (delimiter) {\n setValue(implode(value));\n onChange(implode(value));\n }\n }\n\n function handlePaste() {\n setIsPastedChange(true);\n }\n\n useEffect(\n function reCalculate() {\n reCalculateLayout();\n },\n [value]\n );\n\n return (\n <textarea\n ref={element}\n id={id}\n className={classNames(className, 'auto-resize-textarea form-control')}\n placeholder={placeholder}\n value={value}\n rows={1}\n onChange={handleChange}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n onBlur={handleBlur}\n onPaste={handlePaste}\n spellCheck={spellCheck}\n disabled={disabled}\n data-testid={dataTestId}\n />\n );\n}\n\nAutoResizeTextarea.propTypes = {\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n spellCheck: PropTypes.bool,\n disabled: PropTypes.bool,\n delimiter: PropTypes.string,\n id: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nAutoResizeTextarea.defaultProps = {\n className: '',\n id: '',\n placeholder: '',\n disabled: false,\n spellCheck: false,\n delimiter: '',\n 'data-testid': undefined,\n};\n\nexport default AutoResizeTextarea;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import PropTypes from 'prop-types';
2
3
  interface BasicModalProps {
3
4
  isOpen: boolean;
4
5
  headerText: string;
@@ -26,6 +27,32 @@ interface BasicModalProps {
26
27
  * @param confirmButtonText optional text for the confirm button, defaults to 'Okay'
27
28
  * @param discardButtonText optional text for the discard button, defaults to 'Discard'
28
29
  */
29
- declare const BasicModal: React.FC<BasicModalProps>;
30
+ declare function BasicModal(props: BasicModalProps): JSX.Element;
31
+ declare namespace BasicModal {
32
+ var propTypes: {
33
+ isOpen: PropTypes.Validator<boolean>;
34
+ headerText: PropTypes.Validator<string>;
35
+ bodyText: PropTypes.Validator<NonNullable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>>;
36
+ onCancel: PropTypes.Requireable<(...args: any[]) => any>;
37
+ onConfirm: PropTypes.Validator<(...args: any[]) => any>;
38
+ onDiscard: PropTypes.Requireable<(...args: any[]) => any>;
39
+ onModalDisable: PropTypes.Requireable<(...args: any[]) => any>;
40
+ cancelButtonText: PropTypes.Requireable<string>;
41
+ confirmButtonText: PropTypes.Requireable<string>;
42
+ discardButtonText: PropTypes.Requireable<string>;
43
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
44
+ 'data-testid': PropTypes.Requireable<string>;
45
+ };
46
+ var defaultProps: {
47
+ children: undefined;
48
+ cancelButtonText: string;
49
+ confirmButtonText: string;
50
+ discardButtonText: string;
51
+ onCancel: undefined;
52
+ onDiscard: undefined;
53
+ onModalDisable: undefined;
54
+ 'data-testid': undefined;
55
+ };
56
+ }
30
57
  export default BasicModal;
31
58
  //# sourceMappingURL=BasicModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicModal.d.ts","sourceRoot":"","sources":["../src/BasicModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8GzC,CAAC;AA4BF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BasicModal.d.ts","sourceRoot":"","sources":["../src/BasicModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,eA8GzC;kBA9GQ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;AA0InB,eAAe,UAAU,CAAC"}
@@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
3
3
  import ButtonGroup from "./ButtonGroup.js";
4
4
  import Button from "./Button.js";
5
5
  import { Modal, ModalBody, ModalFooter, ModalHeader } from "./modal/index.js";
6
-
7
6
  /**
8
7
  * A basic modal dialog with two buttons: cancel / confirm.
9
8
  *
@@ -17,7 +16,7 @@ import { Modal, ModalBody, ModalFooter, ModalHeader } from "./modal/index.js";
17
16
  * @param confirmButtonText optional text for the confirm button, defaults to 'Okay'
18
17
  * @param discardButtonText optional text for the discard button, defaults to 'Discard'
19
18
  */
20
- var BasicModal = props => {
19
+ function BasicModal(props) {
21
20
  var {
22
21
  isOpen,
23
22
  headerText,
@@ -38,21 +37,17 @@ var BasicModal = props => {
38
37
  if (disableModalCheckbox.current !== null && disableModalCheckbox.current.checked && onModalDisable) {
39
38
  onModalDisable();
40
39
  }
41
-
42
40
  onConfirm();
43
41
  }, [onConfirm, onModalDisable]);
44
42
  var modalBody = '';
45
-
46
43
  if (isOpen) {
47
44
  modalBody = typeof bodyText === 'function' ? bodyText() : bodyText;
48
45
  }
49
-
50
46
  return /*#__PURE__*/React.createElement(Modal, {
51
47
  isOpen: isOpen,
52
48
  className: "theme-bg-light",
53
49
  onOpened: () => {
54
50
  var _confirmButton$curren;
55
-
56
51
  (_confirmButton$curren = confirmButton.current) === null || _confirmButton$curren === void 0 ? void 0 : _confirmButton$curren.focus();
57
52
  }
58
53
  }, /*#__PURE__*/React.createElement(ModalHeader, {
@@ -86,8 +81,7 @@ var BasicModal = props => {
86
81
  ref: confirmButton,
87
82
  "data-testid": dataTestId !== undefined ? "".concat(dataTestId, "-btn-confirm") : undefined
88
83
  }, confirmButtonText), children)));
89
- };
90
-
84
+ }
91
85
  BasicModal.propTypes = {
92
86
  isOpen: PropTypes.bool.isRequired,
93
87
  headerText: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"BasicModal.js","names":["React","useRef","useCallback","PropTypes","ButtonGroup","Button","Modal","ModalBody","ModalFooter","ModalHeader","BasicModal","props","isOpen","headerText","bodyText","onCancel","onConfirm","onDiscard","onModalDisable","cancelButtonText","confirmButtonText","discardButtonText","children","dataTestId","confirmButton","disableModalCheckbox","onConfirmClicked","current","checked","modalBody","focus","undefined","propTypes","bool","isRequired","string","oneOfType","func","node","defaultProps"],"sources":["../src/BasicModal.tsx"],"sourcesContent":["import React, { useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonGroup from './ButtonGroup';\nimport Button from './Button';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from './modal';\n\ninterface BasicModalProps {\n isOpen: boolean;\n headerText: string;\n bodyText: string | (() => string);\n onCancel?: () => void;\n onConfirm: () => void;\n onDiscard?: () => void;\n onModalDisable?: () => void;\n cancelButtonText?: string;\n confirmButtonText?: string;\n discardButtonText?: string;\n children?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n/**\n * A basic modal dialog with two buttons: cancel / confirm.\n *\n * @param isOpen indicates if the modal dialog is open\n * @param headerText text displayed in the modal header\n * @param bodyText text displayed in the modal body\n * @param onCancel callback for the cancel button; if not provided, button not shown\n * @param onConfirm callback for the confirm button\n * @param onDiscard callback for the discard button; if not provided, button not shown\n * @param cancelButtonText optional text for the cancel button, defaults to 'Cancel'\n * @param confirmButtonText optional text for the confirm button, defaults to 'Okay'\n * @param discardButtonText optional text for the discard button, defaults to 'Discard'\n */\nconst BasicModal: React.FC<BasicModalProps> = props => {\n const {\n isOpen,\n headerText,\n bodyText,\n onCancel,\n onConfirm,\n onDiscard,\n onModalDisable,\n cancelButtonText = 'Cancel',\n confirmButtonText = 'Okay',\n discardButtonText = 'Discard',\n children,\n 'data-testid': dataTestId,\n } = props;\n\n const confirmButton = useRef<HTMLButtonElement>(null);\n\n const disableModalCheckbox = useRef<HTMLInputElement>(null);\n\n const onConfirmClicked = useCallback(() => {\n if (\n disableModalCheckbox.current !== null &&\n disableModalCheckbox.current.checked &&\n onModalDisable\n ) {\n onModalDisable();\n }\n onConfirm();\n }, [onConfirm, onModalDisable]);\n\n let modalBody = '';\n if (isOpen) {\n modalBody = typeof bodyText === 'function' ? bodyText() : bodyText;\n }\n\n return (\n <Modal\n isOpen={isOpen}\n className=\"theme-bg-light\"\n onOpened={() => {\n confirmButton.current?.focus();\n }}\n >\n <ModalHeader closeButton={false}>{headerText}</ModalHeader>\n <ModalBody>{modalBody}</ModalBody>\n <ModalFooter>\n {onModalDisable && (\n <div className=\"custom-control custom-checkbox form-group mr-auto\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"move-confirmation-checkbox\"\n defaultChecked={false}\n ref={disableModalCheckbox}\n data-testid={\n dataTestId !== undefined\n ? `${dataTestId}-checkbox-confirm`\n : undefined\n }\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"move-confirmation-checkbox\"\n >\n Don&#39;t ask me again\n </label>\n </div>\n )}\n {onDiscard && (\n <Button\n kind=\"secondary\"\n className=\"mr-auto\"\n data-dismiss=\"modal\"\n onClick={onDiscard}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-discard` : undefined\n }\n >\n {discardButtonText}\n </Button>\n )}\n {onCancel && (\n <Button\n kind=\"secondary\"\n data-dismiss=\"modal\"\n onClick={onCancel}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-cancel` : undefined\n }\n >\n {cancelButtonText}\n </Button>\n )}\n <ButtonGroup>\n <Button\n kind=\"primary\"\n onClick={onConfirmClicked}\n ref={confirmButton}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-confirm` : undefined\n }\n >\n {confirmButtonText}\n </Button>\n {children}\n </ButtonGroup>\n </ModalFooter>\n </Modal>\n );\n};\n\nBasicModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n headerText: PropTypes.string.isRequired,\n bodyText: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func.isRequired,\n onDiscard: PropTypes.func,\n onModalDisable: PropTypes.func,\n cancelButtonText: PropTypes.string,\n confirmButtonText: PropTypes.string,\n discardButtonText: PropTypes.string,\n children: PropTypes.node,\n 'data-testid': PropTypes.string,\n};\n\nBasicModal.defaultProps = {\n children: undefined,\n cancelButtonText: 'Cancel',\n confirmButtonText: 'Okay',\n discardButtonText: 'Discard',\n onCancel: undefined,\n onDiscard: undefined,\n onModalDisable: undefined,\n 'data-testid': undefined,\n};\n\nexport default BasicModal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BasicModal.js","names":["React","useRef","useCallback","PropTypes","ButtonGroup","Button","Modal","ModalBody","ModalFooter","ModalHeader","BasicModal","props","isOpen","headerText","bodyText","onCancel","onConfirm","onDiscard","onModalDisable","cancelButtonText","confirmButtonText","discardButtonText","children","dataTestId","confirmButton","disableModalCheckbox","onConfirmClicked","current","checked","modalBody","focus","undefined","propTypes","bool","isRequired","string","oneOfType","func","node","defaultProps"],"sources":["../src/BasicModal.tsx"],"sourcesContent":["import React, { useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonGroup from './ButtonGroup';\nimport Button from './Button';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from './modal';\n\ninterface BasicModalProps {\n isOpen: boolean;\n headerText: string;\n bodyText: string | (() => string);\n onCancel?: () => void;\n onConfirm: () => void;\n onDiscard?: () => void;\n onModalDisable?: () => void;\n cancelButtonText?: string;\n confirmButtonText?: string;\n discardButtonText?: string;\n children?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n/**\n * A basic modal dialog with two buttons: cancel / confirm.\n *\n * @param isOpen indicates if the modal dialog is open\n * @param headerText text displayed in the modal header\n * @param bodyText text displayed in the modal body\n * @param onCancel callback for the cancel button; if not provided, button not shown\n * @param onConfirm callback for the confirm button\n * @param onDiscard callback for the discard button; if not provided, button not shown\n * @param cancelButtonText optional text for the cancel button, defaults to 'Cancel'\n * @param confirmButtonText optional text for the confirm button, defaults to 'Okay'\n * @param discardButtonText optional text for the discard button, defaults to 'Discard'\n */\nfunction BasicModal(props: BasicModalProps) {\n const {\n isOpen,\n headerText,\n bodyText,\n onCancel,\n onConfirm,\n onDiscard,\n onModalDisable,\n cancelButtonText = 'Cancel',\n confirmButtonText = 'Okay',\n discardButtonText = 'Discard',\n children,\n 'data-testid': dataTestId,\n } = props;\n\n const confirmButton = useRef<HTMLButtonElement>(null);\n\n const disableModalCheckbox = useRef<HTMLInputElement>(null);\n\n const onConfirmClicked = useCallback(() => {\n if (\n disableModalCheckbox.current !== null &&\n disableModalCheckbox.current.checked &&\n onModalDisable\n ) {\n onModalDisable();\n }\n onConfirm();\n }, [onConfirm, onModalDisable]);\n\n let modalBody = '';\n if (isOpen) {\n modalBody = typeof bodyText === 'function' ? bodyText() : bodyText;\n }\n\n return (\n <Modal\n isOpen={isOpen}\n className=\"theme-bg-light\"\n onOpened={() => {\n confirmButton.current?.focus();\n }}\n >\n <ModalHeader closeButton={false}>{headerText}</ModalHeader>\n <ModalBody>{modalBody}</ModalBody>\n <ModalFooter>\n {onModalDisable && (\n <div className=\"custom-control custom-checkbox form-group mr-auto\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"move-confirmation-checkbox\"\n defaultChecked={false}\n ref={disableModalCheckbox}\n data-testid={\n dataTestId !== undefined\n ? `${dataTestId}-checkbox-confirm`\n : undefined\n }\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"move-confirmation-checkbox\"\n >\n Don&#39;t ask me again\n </label>\n </div>\n )}\n {onDiscard && (\n <Button\n kind=\"secondary\"\n className=\"mr-auto\"\n data-dismiss=\"modal\"\n onClick={onDiscard}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-discard` : undefined\n }\n >\n {discardButtonText}\n </Button>\n )}\n {onCancel && (\n <Button\n kind=\"secondary\"\n data-dismiss=\"modal\"\n onClick={onCancel}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-cancel` : undefined\n }\n >\n {cancelButtonText}\n </Button>\n )}\n <ButtonGroup>\n <Button\n kind=\"primary\"\n onClick={onConfirmClicked}\n ref={confirmButton}\n data-testid={\n dataTestId !== undefined ? `${dataTestId}-btn-confirm` : undefined\n }\n >\n {confirmButtonText}\n </Button>\n {children}\n </ButtonGroup>\n </ModalFooter>\n </Modal>\n );\n}\n\nBasicModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n headerText: PropTypes.string.isRequired,\n bodyText: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func.isRequired,\n onDiscard: PropTypes.func,\n onModalDisable: PropTypes.func,\n cancelButtonText: PropTypes.string,\n confirmButtonText: PropTypes.string,\n discardButtonText: PropTypes.string,\n children: PropTypes.node,\n 'data-testid': PropTypes.string,\n};\n\nBasicModal.defaultProps = {\n children: undefined,\n cancelButtonText: 'Cancel',\n confirmButtonText: 'Okay',\n discardButtonText: 'Discard',\n onCancel: undefined,\n onDiscard: undefined,\n onModalDisable: undefined,\n 'data-testid': undefined,\n};\n\nexport default BasicModal;\n"],"mappings":"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"}
package/dist/Button.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
3
3
  declare const BUTTON_KINDS: readonly ["primary", "secondary", "tertiary", "success", "danger", "inline", "ghost"];
4
- declare type ButtonTuple = typeof BUTTON_KINDS;
5
- export declare type ButtonKind = ButtonTuple[number];
4
+ type ButtonTuple = typeof BUTTON_KINDS;
5
+ export type ButtonKind = ButtonTuple[number];
6
6
  declare const VARIANT_KINDS: readonly ["group-end"];
7
- declare type VariantTuple = typeof VARIANT_KINDS;
8
- declare type VariantKind = VariantTuple[number];
9
- declare type ButtonTypes = 'submit' | 'reset' | 'button';
7
+ type VariantTuple = typeof VARIANT_KINDS;
8
+ type VariantKind = VariantTuple[number];
9
+ type ButtonTypes = 'submit' | 'reset' | 'button';
10
10
  interface BaseButtonProps extends React.ComponentPropsWithRef<'button'> {
11
11
  kind: ButtonKind;
12
12
  type?: ButtonTypes;
@@ -16,20 +16,20 @@ interface BaseButtonProps extends React.ComponentPropsWithRef<'button'> {
16
16
  active?: boolean;
17
17
  'data-testid'?: string;
18
18
  }
19
- declare type ButtonWithChildren = BaseButtonProps & {
19
+ type ButtonWithChildren = BaseButtonProps & {
20
20
  children: React.ReactNode;
21
21
  };
22
- declare type IconOnlyButtonStringTooltip = BaseButtonProps & {
22
+ type IconOnlyButtonStringTooltip = BaseButtonProps & {
23
23
  tooltip: string;
24
24
  icon: IconDefinition | JSX.Element;
25
25
  children?: undefined;
26
26
  };
27
- declare type IconOnlyButtonJsxTooltip = BaseButtonProps & {
27
+ type IconOnlyButtonJsxTooltip = BaseButtonProps & {
28
28
  tooltip: JSX.Element;
29
29
  'aria-label': string;
30
30
  icon: IconDefinition | JSX.Element;
31
31
  children?: undefined;
32
32
  };
33
- declare const Button: React.ForwardRefExoticComponent<(Pick<ButtonWithChildren, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "dir" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active"> | Pick<IconOnlyButtonStringTooltip, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "dir" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active"> | Pick<IconOnlyButtonJsxTooltip, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "dir" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active">) & React.RefAttributes<HTMLButtonElement>>;
33
+ declare const Button: React.ForwardRefExoticComponent<(Pick<ButtonWithChildren, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active"> | Pick<IconOnlyButtonStringTooltip, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active"> | Pick<IconOnlyButtonJsxTooltip, "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onFocus" | "onBlur" | "data-testid" | "key" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "children" | "tooltip" | "onClick" | "tabIndex" | "role" | "spellCheck" | "id" | "onMouseDown" | "onPaste" | "autoFocus" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "kind" | "icon" | "variant" | "active">) & React.RefAttributes<HTMLButtonElement>>;
34
34
  export default Button;
35
35
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,QAAA,MAAM,YAAY,uFAQR,CAAC;AACX,aAAK,WAAW,GAAG,OAAO,YAAY,CAAC;AACvC,oBAAY,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE7C,QAAA,MAAM,aAAa,wBAAyB,CAAC;AAC7C,aAAK,YAAY,GAAG,OAAO,aAAa,CAAC;AACzC,aAAK,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAExC,aAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,UAAU,eAAgB,SAAQ,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC;IACrE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,aAAK,2BAA2B,GAAG,eAAe,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,aAAK,wBAAwB,GAAG,eAAe,GAAG;IAChD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAmCF,QAAA,MAAM,MAAM,4wcAyGX,CAAC;AA+EF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,QAAA,MAAM,YAAY,uFAQR,CAAC;AACX,KAAK,WAAW,GAAG,OAAO,YAAY,CAAC;AACvC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE7C,QAAA,MAAM,aAAa,wBAAyB,CAAC;AAC7C,KAAK,YAAY,GAAG,OAAO,aAAa,CAAC;AACzC,KAAK,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAExC,KAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,UAAU,eAAgB,SAAQ,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC;IACrE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,2BAA2B,GAAG,eAAe,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,wBAAwB,GAAG,eAAe,GAAG;IAChD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAmCF,QAAA,MAAM,MAAM,4wcAyGX,CAAC;AA+EF,eAAe,MAAM,CAAC"}
package/dist/Button.js CHANGED
@@ -5,27 +5,20 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
5
  import { Tooltip } from "./popper/index.js";
6
6
  var BUTTON_KINDS = ['primary', 'secondary', 'tertiary', 'success', 'danger', 'inline', 'ghost'];
7
7
  var VARIANT_KINDS = ['group-end'];
8
-
9
8
  function getClassName(kind, iconOnly) {
10
9
  switch (kind) {
11
10
  case 'primary':
12
11
  return 'btn-primary';
13
-
14
12
  case 'secondary':
15
13
  return 'btn-outline-primary';
16
-
17
14
  case 'tertiary':
18
15
  return 'btn-secondary';
19
-
20
16
  case 'success':
21
17
  return 'btn-success';
22
-
23
18
  case 'danger':
24
19
  return 'btn-danger';
25
-
26
20
  case 'inline':
27
21
  return 'btn-inline';
28
-
29
22
  case 'ghost':
30
23
  return classNames('btn-link', {
31
24
  'btn-link-icon': iconOnly,
@@ -33,14 +26,12 @@ function getClassName(kind, iconOnly) {
33
26
  });
34
27
  }
35
28
  }
36
-
37
29
  function getVariantClasses(kind) {
38
30
  switch (kind) {
39
31
  case 'group-end':
40
32
  return classNames('pl-2', 'pr-3');
41
33
  }
42
34
  }
43
-
44
35
  var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
45
36
  var {
46
37
  kind,
@@ -67,36 +58,30 @@ var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
67
58
  var iconOnly = Boolean(icon && children == null);
68
59
  var btnClassName = getClassName(kind, iconOnly);
69
60
  var variantClassName;
70
-
71
61
  if (variant) {
72
62
  variantClassName = getVariantClasses(variant);
73
63
  }
74
-
75
64
  var iconElem;
76
-
77
65
  if (icon) {
78
66
  iconElem = /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(FontAwesomeIcon, {
79
67
  icon: icon
80
68
  });
81
69
  }
82
-
83
70
  var tooltipElem;
84
-
85
71
  if (tooltip !== undefined) {
86
72
  tooltipElem = typeof tooltip === 'string' ? /*#__PURE__*/React.createElement(Tooltip, null, tooltip) : tooltip;
87
- } // use tooltip as arial-label for iconOnly buttons only
88
- // if tooltip is also a string and aria-label is not set
89
-
73
+ }
90
74
 
75
+ // use tooltip as arial-label for iconOnly buttons only
76
+ // if tooltip is also a string and aria-label is not set
91
77
  var ariaLabelString = ariaLabel;
92
-
93
78
  if (ariaLabel === undefined && iconOnly && tooltip != null && typeof tooltip === 'string') {
94
79
  ariaLabelString = tooltip;
95
80
  }
96
-
97
81
  var button = /*#__PURE__*/React.createElement("button", {
98
82
  "data-testid": dataTestId,
99
- ref: ref // eslint-disable-next-line react/button-has-type
83
+ ref: ref
84
+ // eslint-disable-next-line react/button-has-type
100
85
  ,
101
86
  type: type,
102
87
  className: classNames('btn', btnClassName, variantClassName, {
@@ -113,7 +98,9 @@ var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
113
98
  disabled: disabled,
114
99
  tabIndex: tabIndex,
115
100
  "aria-label": ariaLabelString
116
- }, icon && iconElem, children, tooltip != null && (disabled === undefined || !disabled) && tooltipElem); // disabled buttons tooltips need a wrapped element to receive pointer events
101
+ }, icon && iconElem, children, tooltip != null && (disabled === undefined || !disabled) && tooltipElem);
102
+
103
+ // disabled buttons tooltips need a wrapped element to receive pointer events
117
104
  // https://jakearchibald.com/2017/events-and-disabled-form-fields/
118
105
 
119
106
  return disabled !== undefined && disabled ? /*#__PURE__*/React.createElement("span", {
@@ -125,58 +112,45 @@ Button.propTypes = {
125
112
  kind: PropTypes.oneOf(BUTTON_KINDS).isRequired,
126
113
  variant: PropTypes.oneOf(VARIANT_KINDS),
127
114
  type: PropTypes.oneOf(['submit', 'reset', 'button']),
128
-
129
115
  tooltip(props) {
130
116
  var {
131
117
  tooltip,
132
118
  icon,
133
119
  children
134
120
  } = props;
135
-
136
121
  if (tooltip === undefined && icon != null && children == null) {
137
122
  return new Error('Tooltip is required for icon only buttons');
138
123
  }
139
-
140
124
  return null;
141
125
  },
142
-
143
126
  icon(props) {
144
127
  var {
145
128
  children,
146
129
  icon
147
130
  } = props;
148
-
149
131
  if (icon == null && children == null) {
150
132
  return new Error('Icon is required if no children are provided');
151
133
  }
152
-
153
134
  if (children == null && ! /*#__PURE__*/React.isValidElement(icon) && (icon == null || icon.iconName === '' || icon.iconName == null)) {
154
135
  return new Error('Icon must be react element or fontawesome IconDefinition');
155
136
  }
156
-
157
137
  return null;
158
138
  },
159
-
160
139
  disabled: PropTypes.bool,
161
140
  active: PropTypes.bool,
162
-
163
141
  onClick(props) {
164
142
  var {
165
143
  onClick,
166
144
  type
167
145
  } = props;
168
-
169
146
  if (type === 'button' && typeof onClick !== 'function') {
170
147
  return new Error('type button requires an onClick function');
171
148
  }
172
-
173
149
  if (onClick !== undefined && typeof onClick !== 'function') {
174
150
  return new Error('onClick must be a function');
175
151
  }
176
-
177
152
  return null;
178
153
  },
179
-
180
154
  onContextMenu: PropTypes.func,
181
155
  onMouseUp: PropTypes.func,
182
156
  onMouseDown: PropTypes.func,