@webiny/ui 5.34.8 → 5.35.0-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 (382) hide show
  1. package/Accordion/Accordion.js +4 -14
  2. package/Accordion/Accordion.js.map +1 -1
  3. package/Accordion/Accordion.stories.js +0 -8
  4. package/Accordion/Accordion.stories.js.map +1 -1
  5. package/Accordion/AccordionItem.d.ts +4 -1
  6. package/Accordion/AccordionItem.js +5 -26
  7. package/Accordion/AccordionItem.js.map +1 -1
  8. package/Accordion/AccordionItemActions.js +2 -10
  9. package/Accordion/AccordionItemActions.js.map +1 -1
  10. package/Accordion/index.js +0 -4
  11. package/Accordion/index.js.map +1 -1
  12. package/Alert/Alert.js +3 -10
  13. package/Alert/Alert.js.map +1 -1
  14. package/Alert/Alert.stories.js +0 -6
  15. package/Alert/Alert.stories.js.map +1 -1
  16. package/Alert/index.js +0 -2
  17. package/Alert/index.js.map +1 -1
  18. package/AutoComplete/AutoComplete.js +38 -88
  19. package/AutoComplete/AutoComplete.js.map +1 -1
  20. package/AutoComplete/AutoComplete.stories.js +0 -7
  21. package/AutoComplete/AutoComplete.stories.js.map +1 -1
  22. package/AutoComplete/MultiAutoComplete.js +52 -128
  23. package/AutoComplete/MultiAutoComplete.js.map +1 -1
  24. package/AutoComplete/MultiAutoComplete.stories.js +0 -8
  25. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -1
  26. package/AutoComplete/index.js +0 -4
  27. package/AutoComplete/index.js.map +1 -1
  28. package/AutoComplete/styles.js +0 -2
  29. package/AutoComplete/styles.js.map +1 -1
  30. package/AutoComplete/utils.js +0 -8
  31. package/AutoComplete/utils.js.map +1 -1
  32. package/Avatar/Avatar.js +7 -18
  33. package/Avatar/Avatar.js.map +1 -1
  34. package/Avatar/Avatar.stories.js +0 -6
  35. package/Avatar/Avatar.stories.js.map +1 -1
  36. package/Avatar/index.js +0 -2
  37. package/Avatar/index.js.map +1 -1
  38. package/Button/Button.js +39 -59
  39. package/Button/Button.js.map +1 -1
  40. package/Button/Button.stories.js +0 -10
  41. package/Button/Button.stories.js.map +1 -1
  42. package/Button/Button.styles.js +0 -2
  43. package/Button/Button.styles.js.map +1 -1
  44. package/Button/CopyButton/CopyButton.js +2 -12
  45. package/Button/CopyButton/CopyButton.js.map +1 -1
  46. package/Button/CopyButton/CopyButton.stories.js +0 -7
  47. package/Button/CopyButton/CopyButton.stories.js.map +1 -1
  48. package/Button/IconButton/IconButton.js +6 -11
  49. package/Button/IconButton/IconButton.js.map +1 -1
  50. package/Button/IconButton/IconButton.stories.js +0 -9
  51. package/Button/IconButton/IconButton.stories.js.map +1 -1
  52. package/Button/index.js +0 -6
  53. package/Button/index.js.map +1 -1
  54. package/Carousel/Carousel.js +0 -14
  55. package/Carousel/Carousel.js.map +1 -1
  56. package/Carousel/Carouser.stories.js +0 -7
  57. package/Carousel/Carouser.stories.js.map +1 -1
  58. package/Carousel/index.js +0 -2
  59. package/Carousel/index.js.map +1 -1
  60. package/Checkbox/Checkbox.d.ts +1 -0
  61. package/Checkbox/Checkbox.js +13 -31
  62. package/Checkbox/Checkbox.js.map +1 -1
  63. package/Checkbox/Checkbox.stories.js +0 -8
  64. package/Checkbox/Checkbox.stories.js.map +1 -1
  65. package/Checkbox/Checkbox.styles.js +0 -2
  66. package/Checkbox/Checkbox.styles.js.map +1 -1
  67. package/Checkbox/CheckboxGroup.js +7 -24
  68. package/Checkbox/CheckboxGroup.js.map +1 -1
  69. package/Checkbox/CheckboxGroup.stories.js +2 -10
  70. package/Checkbox/CheckboxGroup.stories.js.map +1 -1
  71. package/Checkbox/index.js +0 -3
  72. package/Checkbox/index.js.map +1 -1
  73. package/Chips/Chip.js +1 -8
  74. package/Chips/Chip.js.map +1 -1
  75. package/Chips/Chips.js +3 -13
  76. package/Chips/Chips.js.map +1 -1
  77. package/Chips/Chips.stories.js +0 -8
  78. package/Chips/Chips.stories.js.map +1 -1
  79. package/Chips/index.js +0 -4
  80. package/Chips/index.js.map +1 -1
  81. package/Chips/styles.js +0 -2
  82. package/Chips/styles.js.map +1 -1
  83. package/CodeEditor/CodeEditor.js +8 -36
  84. package/CodeEditor/CodeEditor.js.map +1 -1
  85. package/CodeEditor/CodeEditor.stories.js +0 -10
  86. package/CodeEditor/CodeEditor.stories.js.map +1 -1
  87. package/CodeEditor/index.js +0 -2
  88. package/CodeEditor/index.js.map +1 -1
  89. package/ColorPicker/ColorPicker.js +7 -31
  90. package/ColorPicker/ColorPicker.js.map +1 -1
  91. package/ColorPicker/ColorPicker.stories.js +0 -8
  92. package/ColorPicker/ColorPicker.stories.js.map +1 -1
  93. package/ColorPicker/index.js +0 -2
  94. package/ColorPicker/index.js.map +1 -1
  95. package/ConfirmationDialog/ConfirmationDialog.js +33 -65
  96. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  97. package/ConfirmationDialog/ConfirmationDialog.stories.js +0 -7
  98. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -1
  99. package/ConfirmationDialog/index.js +0 -4
  100. package/ConfirmationDialog/index.js.map +1 -1
  101. package/ConfirmationDialog/withConfirmation.js +0 -5
  102. package/ConfirmationDialog/withConfirmation.js.map +1 -1
  103. package/DataTable/DataTable.d.ts +14 -1
  104. package/DataTable/DataTable.js +60 -45
  105. package/DataTable/DataTable.js.map +1 -1
  106. package/DataTable/DataTable.stories.js +0 -6
  107. package/DataTable/DataTable.stories.js.map +1 -1
  108. package/DataTable/index.js +0 -2
  109. package/DataTable/index.js.map +1 -1
  110. package/DataTable/styled.d.ts +29 -1
  111. package/DataTable/styled.js +25 -7
  112. package/DataTable/styled.js.map +1 -1
  113. package/DelayedOnChange/DelayedOnChange.js +19 -35
  114. package/DelayedOnChange/DelayedOnChange.js.map +1 -1
  115. package/DelayedOnChange/index.js +0 -3
  116. package/DelayedOnChange/index.js.map +1 -1
  117. package/DelayedOnChange/withDelayedOnChange.js +3 -9
  118. package/DelayedOnChange/withDelayedOnChange.js.map +1 -1
  119. package/Dialog/Dialog.js +5 -40
  120. package/Dialog/Dialog.js.map +1 -1
  121. package/Dialog/Dialog.stories.js +0 -7
  122. package/Dialog/Dialog.stories.js.map +1 -1
  123. package/Dialog/index.js +0 -2
  124. package/Dialog/index.js.map +1 -1
  125. package/Drawer/Drawer.js +0 -9
  126. package/Drawer/Drawer.js.map +1 -1
  127. package/Drawer/Drawer.stories.js +0 -8
  128. package/Drawer/Drawer.stories.js.map +1 -1
  129. package/Drawer/index.js +0 -2
  130. package/Drawer/index.js.map +1 -1
  131. package/DynamicFieldset/Fieldset.js +7 -34
  132. package/DynamicFieldset/Fieldset.js.map +1 -1
  133. package/DynamicFieldset/index.js +0 -2
  134. package/DynamicFieldset/index.js.map +1 -1
  135. package/Elevation/Elevation.js +0 -5
  136. package/Elevation/Elevation.js.map +1 -1
  137. package/Elevation/Elevation.stories.js +0 -8
  138. package/Elevation/Elevation.stories.js.map +1 -1
  139. package/Elevation/index.js +0 -2
  140. package/Elevation/index.js.map +1 -1
  141. package/FormElementMessage/FormElementMessage.js +0 -5
  142. package/FormElementMessage/FormElementMessage.js.map +1 -1
  143. package/FormElementMessage/index.js +0 -1
  144. package/FormElementMessage/index.js.map +1 -1
  145. package/FullName/FullName.js +0 -7
  146. package/FullName/FullName.js.map +1 -1
  147. package/FullName/index.js +0 -2
  148. package/FullName/index.js.map +1 -1
  149. package/Grid/Grid.js +1 -9
  150. package/Grid/Grid.js.map +1 -1
  151. package/Grid/Grid.stories.js +0 -6
  152. package/Grid/Grid.stories.js.map +1 -1
  153. package/Grid/index.js +0 -2
  154. package/Grid/index.js.map +1 -1
  155. package/Helpers/ClassNames.js +0 -9
  156. package/Helpers/ClassNames.js.map +1 -1
  157. package/Helpers/index.js +0 -1
  158. package/Helpers/index.js.map +1 -1
  159. package/Icon/Icon.js +1 -7
  160. package/Icon/Icon.js.map +1 -1
  161. package/Icon/Icon.stories.js +0 -10
  162. package/Icon/Icon.stories.js.map +1 -1
  163. package/Icon/index.js +0 -2
  164. package/Icon/index.js.map +1 -1
  165. package/Image/Image.js +0 -8
  166. package/Image/Image.js.map +1 -1
  167. package/Image/Image.stories.js +0 -7
  168. package/Image/Image.stories.js.map +1 -1
  169. package/Image/index.js +0 -2
  170. package/Image/index.js.map +1 -1
  171. package/ImageEditor/ImageEditor.js +46 -107
  172. package/ImageEditor/ImageEditor.js.map +1 -1
  173. package/ImageEditor/index.js +0 -2
  174. package/ImageEditor/index.js.map +1 -1
  175. package/ImageEditor/toolbar/crop.js +1 -16
  176. package/ImageEditor/toolbar/crop.js.map +1 -1
  177. package/ImageEditor/toolbar/filter.js +11 -36
  178. package/ImageEditor/toolbar/filter.js.map +1 -1
  179. package/ImageEditor/toolbar/flip.js +0 -17
  180. package/ImageEditor/toolbar/flip.js.map +1 -1
  181. package/ImageEditor/toolbar/icons/index.js +0 -8
  182. package/ImageEditor/toolbar/icons/index.js.map +1 -1
  183. package/ImageEditor/toolbar/index.js +0 -5
  184. package/ImageEditor/toolbar/index.js.map +1 -1
  185. package/ImageEditor/toolbar/rotate.js +8 -43
  186. package/ImageEditor/toolbar/rotate.js.map +1 -1
  187. package/ImageUpload/Image.js +10 -34
  188. package/ImageUpload/Image.js.map +1 -1
  189. package/ImageUpload/ImageEditorDialog.js +11 -33
  190. package/ImageUpload/ImageEditorDialog.js.map +1 -1
  191. package/ImageUpload/MultiImageUpload.js +111 -175
  192. package/ImageUpload/MultiImageUpload.js.map +1 -1
  193. package/ImageUpload/MultiImageUpload.stories.js +0 -8
  194. package/ImageUpload/MultiImageUpload.stories.js.map +1 -1
  195. package/ImageUpload/SingleImageUpload.js +38 -79
  196. package/ImageUpload/SingleImageUpload.js.map +1 -1
  197. package/ImageUpload/SingleImageUpload.stories.js +0 -8
  198. package/ImageUpload/SingleImageUpload.stories.js.map +1 -1
  199. package/ImageUpload/index.js +0 -5
  200. package/ImageUpload/index.js.map +1 -1
  201. package/ImageUpload/styled.d.ts +27 -17
  202. package/ImageUpload/styled.js +0 -5
  203. package/ImageUpload/styled.js.map +1 -1
  204. package/Input/Input.js +34 -60
  205. package/Input/Input.js.map +1 -1
  206. package/Input/Input.stories.js +0 -13
  207. package/Input/Input.stories.js.map +1 -1
  208. package/Input/__tests__/Input.test.js +4 -30
  209. package/Input/__tests__/Input.test.js.map +1 -1
  210. package/Input/index.js +0 -2
  211. package/Input/index.js.map +1 -1
  212. package/List/CollapsibleList/CollapsibleList.stories.js +0 -8
  213. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -1
  214. package/List/CollapsibleList/index.js +0 -6
  215. package/List/CollapsibleList/index.js.map +1 -1
  216. package/List/DataList/DataList.js +7 -45
  217. package/List/DataList/DataList.js.map +1 -1
  218. package/List/DataList/DataList.stories.js +2 -10
  219. package/List/DataList/DataList.stories.js.map +1 -1
  220. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +8 -6
  221. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +8 -18
  222. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -1
  223. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +3 -14
  224. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -1
  225. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +3 -12
  226. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -1
  227. package/List/DataList/DataListModalOverlay/index.js +0 -3
  228. package/List/DataList/DataListModalOverlay/index.js.map +1 -1
  229. package/List/DataList/DataListWithSections.js +4 -48
  230. package/List/DataList/DataListWithSections.js.map +1 -1
  231. package/List/DataList/Loader.js +0 -7
  232. package/List/DataList/Loader.js.map +1 -1
  233. package/List/DataList/NoData.js +0 -7
  234. package/List/DataList/NoData.js.map +1 -1
  235. package/List/DataList/icons/index.js +0 -29
  236. package/List/DataList/icons/index.js.map +1 -1
  237. package/List/DataList/index.js +0 -6
  238. package/List/DataList/index.js.map +1 -1
  239. package/List/List.js +0 -39
  240. package/List/List.js.map +1 -1
  241. package/List/List.stories.js +0 -12
  242. package/List/List.stories.js.map +1 -1
  243. package/List/icons/index.js +0 -3
  244. package/List/icons/index.js.map +1 -1
  245. package/List/index.js +0 -4
  246. package/List/index.js.map +1 -1
  247. package/Menu/Menu.js +2 -28
  248. package/Menu/Menu.js.map +1 -1
  249. package/Menu/Menu.stories.js +0 -7
  250. package/Menu/Menu.stories.js.map +1 -1
  251. package/Menu/index.js +0 -2
  252. package/Menu/index.js.map +1 -1
  253. package/Mosaic/Mosaic.js +3 -7
  254. package/Mosaic/Mosaic.js.map +1 -1
  255. package/Mosaic/Mosaic.stories.js +0 -6
  256. package/Mosaic/Mosaic.stories.js.map +1 -1
  257. package/Mosaic/index.js +0 -2
  258. package/Mosaic/index.js.map +1 -1
  259. package/Progress/CircularProgress.js +6 -14
  260. package/Progress/CircularProgress.js.map +1 -1
  261. package/Progress/index.js +0 -2
  262. package/Progress/index.js.map +1 -1
  263. package/Radio/Radio.js +9 -28
  264. package/Radio/Radio.js.map +1 -1
  265. package/Radio/Radio.styles.js +0 -2
  266. package/Radio/Radio.styles.js.map +1 -1
  267. package/Radio/RadioGroup.js +5 -21
  268. package/Radio/RadioGroup.js.map +1 -1
  269. package/Radio/RadioGroup.stories.js +2 -10
  270. package/Radio/RadioGroup.stories.js.map +1 -1
  271. package/Radio/index.js +0 -3
  272. package/Radio/index.js.map +1 -1
  273. package/RichTextEditor/RichTextEditor.js +30 -64
  274. package/RichTextEditor/RichTextEditor.js.map +1 -1
  275. package/RichTextEditor/RichTextEditor.stories.js +0 -7
  276. package/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  277. package/RichTextEditor/createPropsFromConfig.js +0 -4
  278. package/RichTextEditor/createPropsFromConfig.js.map +1 -1
  279. package/RichTextEditor/index.js +0 -3
  280. package/RichTextEditor/index.js.map +1 -1
  281. package/Ripple/Ripple.js +0 -6
  282. package/Ripple/Ripple.js.map +1 -1
  283. package/Ripple/Ripple.stories.js +0 -12
  284. package/Ripple/Ripple.stories.js.map +1 -1
  285. package/Ripple/index.js +0 -2
  286. package/Ripple/index.js.map +1 -1
  287. package/Scrollbar/Scrollbar.js +0 -5
  288. package/Scrollbar/Scrollbar.js.map +1 -1
  289. package/Scrollbar/Scrollbar.stories.js +0 -6
  290. package/Scrollbar/Scrollbar.stories.js.map +1 -1
  291. package/Scrollbar/index.js +0 -2
  292. package/Scrollbar/index.js.map +1 -1
  293. package/Section/Section.stories.js +0 -7
  294. package/Section/Section.stories.js.map +1 -1
  295. package/Section/index.js +2 -12
  296. package/Section/index.js.map +1 -1
  297. package/Select/Select.js +9 -32
  298. package/Select/Select.js.map +1 -1
  299. package/Select/Select.stories.js +0 -8
  300. package/Select/Select.stories.js.map +1 -1
  301. package/Select/index.js +0 -2
  302. package/Select/index.js.map +1 -1
  303. package/Skeleton/Skeleton.d.ts +6 -2
  304. package/Skeleton/Skeleton.js +8 -11
  305. package/Skeleton/Skeleton.js.map +1 -1
  306. package/Skeleton/Skeleton.stories.js +0 -6
  307. package/Skeleton/Skeleton.stories.js.map +1 -1
  308. package/Skeleton/index.js +0 -2
  309. package/Skeleton/index.js.map +1 -1
  310. package/Slider/Slider.js +7 -29
  311. package/Slider/Slider.js.map +1 -1
  312. package/Slider/Slider.stories.js +1 -9
  313. package/Slider/Slider.stories.js.map +1 -1
  314. package/Slider/index.js +0 -2
  315. package/Slider/index.js.map +1 -1
  316. package/Snackbar/Snackbar.js +0 -19
  317. package/Snackbar/Snackbar.js.map +1 -1
  318. package/Snackbar/Snackbar.stories.js +0 -23
  319. package/Snackbar/Snackbar.stories.js.map +1 -1
  320. package/Snackbar/index.js +0 -1
  321. package/Snackbar/index.js.map +1 -1
  322. package/Switch/Switch.js +5 -28
  323. package/Switch/Switch.js.map +1 -1
  324. package/Switch/Switch.stories.js +0 -8
  325. package/Switch/Switch.stories.js.map +1 -1
  326. package/Switch/index.js +0 -2
  327. package/Switch/index.js.map +1 -1
  328. package/Tabs/Tab.js +0 -9
  329. package/Tabs/Tab.js.map +1 -1
  330. package/Tabs/Tabs.js +15 -29
  331. package/Tabs/Tabs.js.map +1 -1
  332. package/Tabs/Tabs.stories.js +0 -10
  333. package/Tabs/Tabs.stories.js.map +1 -1
  334. package/Tabs/index.js +0 -4
  335. package/Tabs/index.js.map +1 -1
  336. package/Tags/Tags.js +13 -37
  337. package/Tags/Tags.js.map +1 -1
  338. package/Tags/Tags.stories.js +0 -8
  339. package/Tags/Tags.stories.js.map +1 -1
  340. package/Tags/index.js +0 -2
  341. package/Tags/index.js.map +1 -1
  342. package/Tooltip/Tooltip.js +0 -19
  343. package/Tooltip/Tooltip.js.map +1 -1
  344. package/Tooltip/Tooltip.stories.js +0 -6
  345. package/Tooltip/Tooltip.stories.js.map +1 -1
  346. package/Tooltip/index.js +0 -2
  347. package/Tooltip/index.js.map +1 -1
  348. package/TopAppBar/TopAppBar.js +1 -8
  349. package/TopAppBar/TopAppBar.js.map +1 -1
  350. package/TopAppBar/TopAppBar.stories.js +3 -16
  351. package/TopAppBar/TopAppBar.stories.js.map +1 -1
  352. package/TopAppBar/TopAppBarActionItem.js +0 -5
  353. package/TopAppBar/TopAppBarActionItem.js.map +1 -1
  354. package/TopAppBar/TopAppBarNavigationIcon.js +0 -5
  355. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -1
  356. package/TopAppBar/TopAppBarPrimary.js +1 -8
  357. package/TopAppBar/TopAppBarPrimary.js.map +1 -1
  358. package/TopAppBar/TopAppBarSecondary.js +3 -10
  359. package/TopAppBar/TopAppBarSecondary.js.map +1 -1
  360. package/TopAppBar/TopAppBarSection.js +1 -8
  361. package/TopAppBar/TopAppBarSection.js.map +1 -1
  362. package/TopAppBar/TopAppBarTitle.js +1 -8
  363. package/TopAppBar/TopAppBarTitle.js.map +1 -1
  364. package/TopAppBar/index.js +0 -14
  365. package/TopAppBar/index.js.map +1 -1
  366. package/TopProgressBar/TopProgressBar.js +0 -5
  367. package/TopProgressBar/TopProgressBar.js.map +1 -1
  368. package/TopProgressBar/TopProgressBar.stories.js +1 -8
  369. package/TopProgressBar/TopProgressBar.stories.js.map +1 -1
  370. package/TopProgressBar/hoc/index.js +0 -2
  371. package/TopProgressBar/hoc/index.js.map +1 -1
  372. package/TopProgressBar/hoc/withTopProgressBar.js +2 -8
  373. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -1
  374. package/TopProgressBar/index.js +0 -2
  375. package/TopProgressBar/index.js.map +1 -1
  376. package/Typography/Typography.js +0 -5
  377. package/Typography/Typography.js.map +1 -1
  378. package/Typography/Typography.stories.js +0 -6
  379. package/Typography/Typography.stories.js.map +1 -1
  380. package/Typography/index.js +0 -2
  381. package/Typography/index.js.map +1 -1
  382. package/package.json +16 -15
@@ -1,54 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Placement = exports.AutoComplete = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
27
-
28
17
  var _react = _interopRequireDefault(require("react"));
29
-
30
18
  var _downshift = _interopRequireDefault(require("downshift"));
31
-
32
19
  var _Input = require("../Input");
33
-
34
20
  var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
21
  var _Elevation = require("../Elevation");
37
-
38
22
  var _Typography = require("../Typography");
39
-
40
23
  var _keycode = _interopRequireDefault(require("keycode"));
41
-
42
24
  var _styles = require("./styles");
43
-
44
25
  var _utils = require("./utils");
45
-
46
26
  var _reactSpinnerMaterial = _interopRequireDefault(require("react-spinner-material"));
47
-
48
27
  var _emotion = require("emotion");
49
-
50
28
  var _excluded = ["className", "options", "onChange", "value", "onInput", "validation", "placement"],
51
- _excluded2 = ["getInputProps", "openMenu"];
29
+ _excluded2 = ["getInputProps", "openMenu"];
52
30
  var menuStyles = /*#__PURE__*/(0, _emotion.css)({
53
31
  top: "unset !important",
54
32
  bottom: 75
@@ -64,12 +42,10 @@ var listStyles = /*#__PURE__*/(0, _emotion.css)({
64
42
  }, "label:listStyles;");
65
43
  var Placement;
66
44
  exports.Placement = Placement;
67
-
68
45
  (function (Placement) {
69
46
  Placement["top"] = "top";
70
47
  Placement["bottom"] = "bottom";
71
48
  })(Placement || (exports.Placement = Placement = {}));
72
-
73
49
  var Spinner = function Spinner() {
74
50
  return /*#__PURE__*/_react.default.createElement(_reactSpinnerMaterial.default, {
75
51
  size: 24,
@@ -78,11 +54,10 @@ var Spinner = function Spinner() {
78
54
  visible: true
79
55
  });
80
56
  };
81
-
82
57
  var OptionsList = function OptionsList(_ref) {
83
58
  var placement = _ref.placement,
84
- getMenuProps = _ref.getMenuProps,
85
- children = _ref.children;
59
+ getMenuProps = _ref.getMenuProps,
60
+ children = _ref.children;
86
61
  return /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
87
62
  z: 1,
88
63
  className: (0, _classnames.default)((0, _defineProperty2.default)({}, menuStyles, placement === Placement.top))
@@ -90,21 +65,15 @@ var OptionsList = function OptionsList(_ref) {
90
65
  className: (0, _classnames.default)("autocomplete__options-list", listStyles)
91
66
  }, getMenuProps()), children));
92
67
  };
93
-
94
68
  var AutoComplete = /*#__PURE__*/function (_React$Component) {
95
69
  (0, _inherits2.default)(AutoComplete, _React$Component);
96
-
97
70
  var _super = (0, _createSuper2.default)(AutoComplete);
98
-
99
71
  function AutoComplete() {
100
72
  var _this;
101
-
102
73
  (0, _classCallCheck2.default)(this, AutoComplete);
103
-
104
74
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
105
75
  args[_key] = arguments[_key];
106
76
  }
107
-
108
77
  _this = _super.call.apply(_super, [this].concat(args));
109
78
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
110
79
  inputValue: ""
@@ -112,20 +81,16 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
112
81
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "downshift", /*#__PURE__*/_react.default.createRef());
113
82
  return _this;
114
83
  }
115
-
116
84
  (0, _createClass2.default)(AutoComplete, [{
117
85
  key: "componentDidUpdate",
118
86
  value: function componentDidUpdate(previousProps) {
119
87
  var _this2 = this;
120
-
121
88
  var _this$props = this.props,
122
- value = _this$props.value,
123
- options = _this$props.options;
89
+ value = _this$props.value,
90
+ options = _this$props.options;
124
91
  var previousValue = previousProps.value;
125
-
126
92
  if (!(0, _isEqual2.default)(value, previousValue)) {
127
93
  var item = null;
128
-
129
94
  if (value) {
130
95
  if (typeof value === "object") {
131
96
  item = value;
@@ -135,36 +100,31 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
135
100
  }) || null;
136
101
  }
137
102
  }
138
-
139
103
  var downshift = this.downshift.current;
140
104
  downshift && downshift.selectItem(item);
141
105
  }
142
106
  }
107
+
143
108
  /**
144
109
  * Renders options - based on user's input. It will try to match input text with available options.
145
110
  */
146
-
147
111
  }, {
148
112
  key: "renderOptions",
149
113
  value: function renderOptions(_ref2) {
150
114
  var _this3 = this;
151
-
152
115
  var options = _ref2.options,
153
- isOpen = _ref2.isOpen,
154
- highlightedIndex = _ref2.highlightedIndex,
155
- selectedItem = _ref2.selectedItem,
156
- getMenuProps = _ref2.getMenuProps,
157
- getItemProps = _ref2.getItemProps,
158
- placement = _ref2.placement;
159
-
116
+ isOpen = _ref2.isOpen,
117
+ highlightedIndex = _ref2.highlightedIndex,
118
+ selectedItem = _ref2.selectedItem,
119
+ getMenuProps = _ref2.getMenuProps,
120
+ getItemProps = _ref2.getItemProps,
121
+ placement = _ref2.placement;
160
122
  if (!isOpen) {
161
123
  return null;
162
124
  }
163
125
  /**
164
126
  * Suggest user to start typing when there are no options available to choose from.
165
127
  */
166
-
167
-
168
128
  if (!this.state.inputValue && !options.length) {
169
129
  return /*#__PURE__*/_react.default.createElement(OptionsList, {
170
130
  placement: placement,
@@ -173,21 +133,17 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
173
133
  use: "body2"
174
134
  }, "Start typing to find entry")));
175
135
  }
176
-
177
136
  var renderItem = this.props.renderItem;
178
137
  var filtered = options.filter(function (item) {
179
138
  // 2) At the end, we want to show only options that are matched by typed text.
180
139
  if (!_this3.state.inputValue) {
181
140
  return true;
182
141
  }
183
-
184
142
  if (item.aliases) {
185
143
  return (0, _utils.findInAliases)(item, _this3.state.inputValue);
186
144
  }
187
-
188
145
  return (0, _utils.getOptionText)(item, _this3.props).toLowerCase().includes(_this3.state.inputValue.toLowerCase());
189
146
  });
190
-
191
147
  if (!filtered.length) {
192
148
  return /*#__PURE__*/_react.default.createElement(OptionsList, {
193
149
  placement: placement,
@@ -196,22 +152,22 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
196
152
  use: "body2"
197
153
  }, "No results."), this.props.noResultFound));
198
154
  }
199
-
200
155
  return /*#__PURE__*/_react.default.createElement(OptionsList, {
201
156
  placement: placement,
202
157
  getMenuProps: getMenuProps
203
158
  }, filtered.map(function (item, index) {
204
159
  var _itemClassNames;
160
+ var itemValue = (0, _utils.getOptionValue)(item, _this3.props);
205
161
 
206
- var itemValue = (0, _utils.getOptionValue)(item, _this3.props); // Base classes.
207
-
208
- var itemClassNames = (_itemClassNames = {}, (0, _defineProperty2.default)(_itemClassNames, _styles.suggestionList, true), (0, _defineProperty2.default)(_itemClassNames, "highlighted", highlightedIndex === index), (0, _defineProperty2.default)(_itemClassNames, "selected", false), _itemClassNames); // Add "selected" class if the item is selected.
162
+ // Base classes.
163
+ var itemClassNames = (_itemClassNames = {}, (0, _defineProperty2.default)(_itemClassNames, _styles.suggestionList, true), (0, _defineProperty2.default)(_itemClassNames, "highlighted", highlightedIndex === index), (0, _defineProperty2.default)(_itemClassNames, "selected", false), _itemClassNames);
209
164
 
165
+ // Add "selected" class if the item is selected.
210
166
  if (selectedItem && (0, _utils.getOptionValue)(selectedItem, _this3.props) === itemValue) {
211
167
  itemClassNames.selected = true;
212
- } // Render the item.
213
-
168
+ }
214
169
 
170
+ // Render the item.
215
171
  return /*#__PURE__*/_react.default.createElement("li", Object.assign({
216
172
  key: itemValue
217
173
  }, getItemProps({
@@ -225,21 +181,21 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
225
181
  key: "render",
226
182
  value: function render() {
227
183
  var _this4 = this;
228
-
229
184
  var _this$props2 = this.props,
230
- className = _this$props2.className,
231
- options = _this$props2.options,
232
- _onChange = _this$props2.onChange,
233
- value = _this$props2.value,
234
- onInput = _this$props2.onInput,
235
- _this$props2$validati = _this$props2.validation,
236
- validation = _this$props2$validati === void 0 ? {
237
- isValid: null,
238
- message: null
239
- } : _this$props2$validati,
240
- placement = _this$props2.placement,
241
- otherInputProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded); // Downshift related props.
242
-
185
+ className = _this$props2.className,
186
+ options = _this$props2.options,
187
+ _onChange = _this$props2.onChange,
188
+ value = _this$props2.value,
189
+ onInput = _this$props2.onInput,
190
+ _this$props2$validati = _this$props2.validation,
191
+ validation = _this$props2$validati === void 0 ? {
192
+ isValid: null,
193
+ message: null
194
+ } : _this$props2$validati,
195
+ placement = _this$props2.placement,
196
+ otherInputProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
197
+
198
+ // Downshift related props.
243
199
  var downshiftProps = {
244
200
  className: _styles.autoCompleteStyle,
245
201
  itemToString: function itemToString(item) {
@@ -250,9 +206,7 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
250
206
  if (!selection || !_onChange) {
251
207
  return;
252
208
  }
253
-
254
209
  _onChange((0, _utils.getOptionValue)(selection, _this4.props), selection);
255
-
256
210
  _this4.setState(function (state) {
257
211
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
258
212
  inputValue: ""
@@ -266,8 +220,8 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
266
220
  ref: this.downshift
267
221
  }), function (_ref3) {
268
222
  var getInputProps = _ref3.getInputProps,
269
- openMenu = _ref3.openMenu,
270
- rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
223
+ openMenu = _ref3.openMenu,
224
+ rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
271
225
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Input.Input, getInputProps((0, _objectSpread2.default)((0, _objectSpread2.default)({
272
226
  // This prop is above `otherInputProps` since it can be overridden by the user.
273
227
  trailingIcon: _this4.props.loading && /*#__PURE__*/_react.default.createElement(Spinner, null)
@@ -287,12 +241,10 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
287
241
  },
288
242
  onKeyDown: function onKeyDown(ev) {
289
243
  var keyCode = (0, _keycode.default)(ev);
290
-
291
244
  if (keyCode === "backspace") {
292
245
  if (_onChange) {
293
246
  _onChange(null);
294
247
  }
295
-
296
248
  setTimeout(function () {
297
249
  return openMenu();
298
250
  }, 50);
@@ -301,17 +253,17 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
301
253
  onKeyUp: function onKeyUp(ev) {
302
254
  var keyCode = (0, _keycode.default)(ev);
303
255
  var target = ev.currentTarget;
304
- var inputValue = target.value || ""; // If user pressed 'esc', 'enter' or similar...
256
+ var inputValue = target.value || "";
305
257
 
258
+ // If user pressed 'esc', 'enter' or similar...
306
259
  if (keyCode && keyCode.length > 1 && keyCode !== "backspace") {
307
260
  return;
308
- } // If values are the same, exit, do not update current search term.
309
-
261
+ }
310
262
 
263
+ // If values are the same, exit, do not update current search term.
311
264
  if (inputValue === _this4.state.inputValue) {
312
265
  return;
313
266
  }
314
-
315
267
  _this4.setState(function (state) {
316
268
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
317
269
  inputValue: inputValue
@@ -329,14 +281,12 @@ var AutoComplete = /*#__PURE__*/function (_React$Component) {
329
281
  }]);
330
282
  return AutoComplete;
331
283
  }(_react.default.Component);
332
-
333
284
  exports.AutoComplete = AutoComplete;
334
285
  (0, _defineProperty2.default)(AutoComplete, "defaultProps", {
335
286
  valueProp: "id",
336
287
  textProp: "name",
337
288
  options: [],
338
289
  placement: Placement.bottom,
339
-
340
290
  /**
341
291
  * We cast this as AutoComplete because renderItem() is executed via .call() where AutoComplete instance is assigned as this.
342
292
  */
@@ -1 +1 @@
1
- {"version":3,"names":["menuStyles","css","top","bottom","listStyles","listStyle","paddingLeft","margin","Placement","Spinner","OptionsList","placement","getMenuProps","children","classNames","AutoComplete","inputValue","React","createRef","previousProps","props","value","options","previousValue","item","find","option","getOptionValue","downshift","current","selectItem","isOpen","highlightedIndex","selectedItem","getItemProps","state","length","renderItem","filtered","filter","aliases","findInAliases","getOptionText","toLowerCase","includes","noResultFound","map","index","itemValue","itemClassNames","suggestionList","selected","className","call","onChange","onInput","validation","isValid","message","otherInputProps","downshiftProps","autoCompleteStyle","itemToString","defaultSelectedItem","selection","setState","getInputProps","openMenu","rest","trailingIcon","loading","rawOnChange","ev","onBlur","onFocus","onKeyDown","keyCode","keycode","setTimeout","onKeyUp","target","currentTarget","disabled","readOnly","renderOptions","Component","valueProp","textProp"],"sources":["AutoComplete.tsx"],"sourcesContent":["import React from \"react\";\nimport Downshift, { ControllerStateAndHelpers, PropGetters } from \"downshift\";\nimport { Input } from \"~/Input\";\nimport classNames from \"classnames\";\nimport { Elevation } from \"~/Elevation\";\nimport { Typography } from \"~/Typography\";\nimport keycode from \"keycode\";\nimport { autoCompleteStyle, suggestionList } from \"./styles\";\nimport { AutoCompleteBaseProps } from \"./types\";\nimport { getOptionValue, getOptionText, findInAliases } from \"./utils\";\nimport { isEqual } from \"lodash\";\nimport MaterialSpinner from \"react-spinner-material\";\nimport { css } from \"emotion\";\n\nconst menuStyles = css({\n top: \"unset !important\",\n bottom: 75\n});\n\nconst listStyles = css({\n \"&.autocomplete__options-list\": {\n listStyle: \"none\",\n paddingLeft: 0,\n \"& li\": {\n margin: 0\n }\n }\n});\n\nexport enum Placement {\n top = \"top\",\n bottom = \"bottom\"\n}\n\nexport interface AutoCompleteProps extends Omit<AutoCompleteBaseProps, \"onChange\"> {\n /* Placement position of dropdown menu, can be either `top` or `bottom`. */\n placement?: Placement;\n\n /* A callback that is executed each time a value is changed. */\n onChange?: (value: any, selection?: any) => void;\n\n /* If true, will show a loading spinner on the right side of the input. */\n loading?: boolean;\n\n /* A component that renders supporting UI in case of no result found. */\n noResultFound?: React.ReactNode;\n}\n\ninterface State {\n inputValue: string;\n}\n\nconst Spinner: React.FC = () => {\n return (\n <MaterialSpinner\n size={24}\n spinnerColor={\"var(--mdc-theme-primary)\"}\n spinnerWidth={2}\n visible\n />\n );\n};\n\ninterface RenderOptionsParams\n extends Omit<ControllerStateAndHelpers<any>, \"getInputProps\" | \"openMenu\"> {\n options: AutoCompleteProps[\"options\"];\n placement?: Placement;\n}\n\ninterface OptionsListProps {\n placement?: Placement;\n getMenuProps: PropGetters<Record<string, any>>[\"getMenuProps\"];\n}\n\nconst OptionsList: React.FC<OptionsListProps> = ({ placement, getMenuProps, children }) => {\n return (\n <Elevation\n z={1}\n className={classNames({\n [menuStyles]: placement === Placement.top\n })}\n >\n <ul\n className={classNames(\"autocomplete__options-list\", listStyles)}\n {...getMenuProps()}\n >\n {children}\n </ul>\n </Elevation>\n );\n};\n\nclass AutoComplete extends React.Component<AutoCompleteProps, State> {\n static defaultProps: Partial<AutoCompleteProps> = {\n valueProp: \"id\",\n textProp: \"name\",\n options: [],\n placement: Placement.bottom,\n /**\n * We cast this as AutoComplete because renderItem() is executed via .call() where AutoComplete instance is assigned as this.\n */\n renderItem(item: any) {\n return (\n <Typography use={\"body2\"}>\n {getOptionText(item, (this as unknown as AutoComplete).props)}\n </Typography>\n );\n }\n };\n\n public override state: State = {\n inputValue: \"\"\n };\n\n /**\n * Helps us trigger some of the downshift's methods (eg. clearSelection) and helps us to avoid adding state.\n */\n downshift: any = React.createRef();\n\n public override componentDidUpdate(previousProps: AutoCompleteProps) {\n const { value, options } = this.props;\n const { value: previousValue } = previousProps;\n\n if (!isEqual(value, previousValue)) {\n let item = null;\n\n if (value) {\n if (typeof value === \"object\") {\n item = value;\n } else {\n item =\n options.find(option => {\n return value === getOptionValue(option, this.props);\n }) || null;\n }\n }\n\n const { current: downshift } = this.downshift;\n downshift && downshift.selectItem(item);\n }\n }\n\n /**\n * Renders options - based on user's input. It will try to match input text with available options.\n */\n private renderOptions({\n options,\n isOpen,\n highlightedIndex,\n selectedItem,\n getMenuProps,\n getItemProps,\n placement\n }: RenderOptionsParams) {\n if (!isOpen) {\n return null;\n }\n /**\n * Suggest user to start typing when there are no options available to choose from.\n */\n if (!this.state.inputValue && !options.length) {\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n <li>\n <Typography use={\"body2\"}>Start typing to find entry</Typography>\n </li>\n </OptionsList>\n );\n }\n\n const { renderItem } = this.props;\n\n const filtered = options.filter(item => {\n // 2) At the end, we want to show only options that are matched by typed text.\n if (!this.state.inputValue) {\n return true;\n }\n\n if (item.aliases) {\n return findInAliases(item, this.state.inputValue);\n }\n\n return getOptionText(item, this.props)\n .toLowerCase()\n .includes(this.state.inputValue.toLowerCase());\n });\n\n if (!filtered.length) {\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n <li>\n <Typography use={\"body2\"}>No results.</Typography>\n {this.props.noResultFound}\n </li>\n </OptionsList>\n );\n }\n\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n {filtered.map((item, index) => {\n const itemValue = getOptionValue(item, this.props);\n\n // Base classes.\n const itemClassNames = {\n [suggestionList]: true,\n highlighted: highlightedIndex === index,\n selected: false\n };\n\n // Add \"selected\" class if the item is selected.\n if (selectedItem && getOptionValue(selectedItem, this.props) === itemValue) {\n itemClassNames.selected = true;\n }\n\n // Render the item.\n return (\n <li\n key={itemValue}\n {...getItemProps({\n index,\n item,\n className: classNames(itemClassNames)\n })}\n >\n {renderItem.call(this, item, index)}\n </li>\n );\n })}\n </OptionsList>\n );\n }\n\n public override render() {\n const {\n className,\n options,\n onChange,\n value,\n // valueProp,\n // textProp,\n onInput,\n validation = {\n isValid: null,\n message: null\n },\n placement,\n ...otherInputProps\n } = this.props;\n\n // Downshift related props.\n const downshiftProps = {\n className: autoCompleteStyle,\n itemToString: (item: any) => getOptionText(item, this.props),\n defaultSelectedItem: value,\n onChange: (selection: string) => {\n if (!selection || !onChange) {\n return;\n }\n onChange(getOptionValue(selection, this.props), selection);\n this.setState(state => ({\n ...state,\n inputValue: \"\"\n }));\n }\n };\n\n return (\n <div className={classNames(autoCompleteStyle, className)}>\n <Downshift {...downshiftProps} ref={this.downshift}>\n {({ getInputProps, openMenu, ...rest }) => (\n <div>\n <Input\n {...getInputProps({\n // This prop is above `otherInputProps` since it can be overridden by the user.\n trailingIcon: this.props.loading && <Spinner />,\n ...otherInputProps,\n // @ts-ignore\n validation,\n rawOnChange: true,\n onChange: ev => ev,\n onBlur: ev => ev,\n onFocus: ev => {\n openMenu();\n otherInputProps.onFocus && otherInputProps.onFocus(ev);\n },\n onKeyDown: (ev: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode: string = keycode(ev as unknown as Event);\n\n if (keyCode === \"backspace\") {\n if (onChange) {\n onChange(null);\n }\n setTimeout(() => openMenu(), 50);\n }\n },\n onKeyUp: (ev: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode: string = keycode(ev as unknown as Event);\n\n const target = ev.currentTarget;\n const inputValue = target.value || \"\";\n\n // If user pressed 'esc', 'enter' or similar...\n if (\n keyCode &&\n keyCode.length > 1 &&\n keyCode !== \"backspace\"\n ) {\n return;\n }\n\n // If values are the same, exit, do not update current search term.\n if (inputValue === this.state.inputValue) {\n return;\n }\n\n this.setState(\n state => ({\n ...state,\n inputValue\n }),\n () => {\n onInput && onInput(inputValue);\n }\n );\n }\n })}\n />\n {!otherInputProps.disabled &&\n !otherInputProps.readOnly &&\n this.renderOptions({\n ...rest,\n options,\n placement\n })}\n </div>\n )}\n </Downshift>\n </div>\n );\n }\n}\n\nexport { AutoComplete };\n"],"mappings":"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"}
1
+ {"version":3,"names":["menuStyles","css","top","bottom","listStyles","listStyle","paddingLeft","margin","Placement","Spinner","OptionsList","placement","getMenuProps","children","classNames","AutoComplete","inputValue","React","createRef","previousProps","props","value","options","previousValue","item","find","option","getOptionValue","downshift","current","selectItem","isOpen","highlightedIndex","selectedItem","getItemProps","state","length","renderItem","filtered","filter","aliases","findInAliases","getOptionText","toLowerCase","includes","noResultFound","map","index","itemValue","itemClassNames","suggestionList","selected","className","call","onChange","onInput","validation","isValid","message","otherInputProps","downshiftProps","autoCompleteStyle","itemToString","defaultSelectedItem","selection","setState","getInputProps","openMenu","rest","trailingIcon","loading","rawOnChange","ev","onBlur","onFocus","onKeyDown","keyCode","keycode","setTimeout","onKeyUp","target","currentTarget","disabled","readOnly","renderOptions","Component","valueProp","textProp"],"sources":["AutoComplete.tsx"],"sourcesContent":["import React from \"react\";\nimport Downshift, { ControllerStateAndHelpers, PropGetters } from \"downshift\";\nimport { Input } from \"~/Input\";\nimport classNames from \"classnames\";\nimport { Elevation } from \"~/Elevation\";\nimport { Typography } from \"~/Typography\";\nimport keycode from \"keycode\";\nimport { autoCompleteStyle, suggestionList } from \"./styles\";\nimport { AutoCompleteBaseProps } from \"./types\";\nimport { getOptionValue, getOptionText, findInAliases } from \"./utils\";\nimport { isEqual } from \"lodash\";\nimport MaterialSpinner from \"react-spinner-material\";\nimport { css } from \"emotion\";\n\nconst menuStyles = css({\n top: \"unset !important\",\n bottom: 75\n});\n\nconst listStyles = css({\n \"&.autocomplete__options-list\": {\n listStyle: \"none\",\n paddingLeft: 0,\n \"& li\": {\n margin: 0\n }\n }\n});\n\nexport enum Placement {\n top = \"top\",\n bottom = \"bottom\"\n}\n\nexport interface AutoCompleteProps extends Omit<AutoCompleteBaseProps, \"onChange\"> {\n /* Placement position of dropdown menu, can be either `top` or `bottom`. */\n placement?: Placement;\n\n /* A callback that is executed each time a value is changed. */\n onChange?: (value: any, selection?: any) => void;\n\n /* If true, will show a loading spinner on the right side of the input. */\n loading?: boolean;\n\n /* A component that renders supporting UI in case of no result found. */\n noResultFound?: React.ReactNode;\n}\n\ninterface State {\n inputValue: string;\n}\n\nconst Spinner: React.FC = () => {\n return (\n <MaterialSpinner\n size={24}\n spinnerColor={\"var(--mdc-theme-primary)\"}\n spinnerWidth={2}\n visible\n />\n );\n};\n\ninterface RenderOptionsParams\n extends Omit<ControllerStateAndHelpers<any>, \"getInputProps\" | \"openMenu\"> {\n options: AutoCompleteProps[\"options\"];\n placement?: Placement;\n}\n\ninterface OptionsListProps {\n placement?: Placement;\n getMenuProps: PropGetters<Record<string, any>>[\"getMenuProps\"];\n}\n\nconst OptionsList: React.FC<OptionsListProps> = ({ placement, getMenuProps, children }) => {\n return (\n <Elevation\n z={1}\n className={classNames({\n [menuStyles]: placement === Placement.top\n })}\n >\n <ul\n className={classNames(\"autocomplete__options-list\", listStyles)}\n {...getMenuProps()}\n >\n {children}\n </ul>\n </Elevation>\n );\n};\n\nclass AutoComplete extends React.Component<AutoCompleteProps, State> {\n static defaultProps: Partial<AutoCompleteProps> = {\n valueProp: \"id\",\n textProp: \"name\",\n options: [],\n placement: Placement.bottom,\n /**\n * We cast this as AutoComplete because renderItem() is executed via .call() where AutoComplete instance is assigned as this.\n */\n renderItem(item: any) {\n return (\n <Typography use={\"body2\"}>\n {getOptionText(item, (this as unknown as AutoComplete).props)}\n </Typography>\n );\n }\n };\n\n public override state: State = {\n inputValue: \"\"\n };\n\n /**\n * Helps us trigger some of the downshift's methods (eg. clearSelection) and helps us to avoid adding state.\n */\n downshift: any = React.createRef();\n\n public override componentDidUpdate(previousProps: AutoCompleteProps) {\n const { value, options } = this.props;\n const { value: previousValue } = previousProps;\n\n if (!isEqual(value, previousValue)) {\n let item = null;\n\n if (value) {\n if (typeof value === \"object\") {\n item = value;\n } else {\n item =\n options.find(option => {\n return value === getOptionValue(option, this.props);\n }) || null;\n }\n }\n\n const { current: downshift } = this.downshift;\n downshift && downshift.selectItem(item);\n }\n }\n\n /**\n * Renders options - based on user's input. It will try to match input text with available options.\n */\n private renderOptions({\n options,\n isOpen,\n highlightedIndex,\n selectedItem,\n getMenuProps,\n getItemProps,\n placement\n }: RenderOptionsParams) {\n if (!isOpen) {\n return null;\n }\n /**\n * Suggest user to start typing when there are no options available to choose from.\n */\n if (!this.state.inputValue && !options.length) {\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n <li>\n <Typography use={\"body2\"}>Start typing to find entry</Typography>\n </li>\n </OptionsList>\n );\n }\n\n const { renderItem } = this.props;\n\n const filtered = options.filter(item => {\n // 2) At the end, we want to show only options that are matched by typed text.\n if (!this.state.inputValue) {\n return true;\n }\n\n if (item.aliases) {\n return findInAliases(item, this.state.inputValue);\n }\n\n return getOptionText(item, this.props)\n .toLowerCase()\n .includes(this.state.inputValue.toLowerCase());\n });\n\n if (!filtered.length) {\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n <li>\n <Typography use={\"body2\"}>No results.</Typography>\n {this.props.noResultFound}\n </li>\n </OptionsList>\n );\n }\n\n return (\n <OptionsList placement={placement} getMenuProps={getMenuProps}>\n {filtered.map((item, index) => {\n const itemValue = getOptionValue(item, this.props);\n\n // Base classes.\n const itemClassNames = {\n [suggestionList]: true,\n highlighted: highlightedIndex === index,\n selected: false\n };\n\n // Add \"selected\" class if the item is selected.\n if (selectedItem && getOptionValue(selectedItem, this.props) === itemValue) {\n itemClassNames.selected = true;\n }\n\n // Render the item.\n return (\n <li\n key={itemValue}\n {...getItemProps({\n index,\n item,\n className: classNames(itemClassNames)\n })}\n >\n {renderItem.call(this, item, index)}\n </li>\n );\n })}\n </OptionsList>\n );\n }\n\n public override render() {\n const {\n className,\n options,\n onChange,\n value,\n // valueProp,\n // textProp,\n onInput,\n validation = {\n isValid: null,\n message: null\n },\n placement,\n ...otherInputProps\n } = this.props;\n\n // Downshift related props.\n const downshiftProps = {\n className: autoCompleteStyle,\n itemToString: (item: any) => getOptionText(item, this.props),\n defaultSelectedItem: value,\n onChange: (selection: string) => {\n if (!selection || !onChange) {\n return;\n }\n onChange(getOptionValue(selection, this.props), selection);\n this.setState(state => ({\n ...state,\n inputValue: \"\"\n }));\n }\n };\n\n return (\n <div className={classNames(autoCompleteStyle, className)}>\n <Downshift {...downshiftProps} ref={this.downshift}>\n {({ getInputProps, openMenu, ...rest }) => (\n <div>\n <Input\n {...getInputProps({\n // This prop is above `otherInputProps` since it can be overridden by the user.\n trailingIcon: this.props.loading && <Spinner />,\n ...otherInputProps,\n // @ts-ignore\n validation,\n rawOnChange: true,\n onChange: ev => ev,\n onBlur: ev => ev,\n onFocus: ev => {\n openMenu();\n otherInputProps.onFocus && otherInputProps.onFocus(ev);\n },\n onKeyDown: (ev: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode: string = keycode(ev as unknown as Event);\n\n if (keyCode === \"backspace\") {\n if (onChange) {\n onChange(null);\n }\n setTimeout(() => openMenu(), 50);\n }\n },\n onKeyUp: (ev: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode: string = keycode(ev as unknown as Event);\n\n const target = ev.currentTarget;\n const inputValue = target.value || \"\";\n\n // If user pressed 'esc', 'enter' or similar...\n if (\n keyCode &&\n keyCode.length > 1 &&\n keyCode !== \"backspace\"\n ) {\n return;\n }\n\n // If values are the same, exit, do not update current search term.\n if (inputValue === this.state.inputValue) {\n return;\n }\n\n this.setState(\n state => ({\n ...state,\n inputValue\n }),\n () => {\n onInput && onInput(inputValue);\n }\n );\n }\n })}\n />\n {!otherInputProps.disabled &&\n !otherInputProps.readOnly &&\n this.renderOptions({\n ...rest,\n options,\n placement\n })}\n </div>\n )}\n </Downshift>\n </div>\n );\n }\n}\n\nexport { AutoComplete };\n"],"mappings":"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"}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@storybook/react");
8
-
9
6
  var _Story = require("@webiny/storybook-utils/Story");
10
-
11
7
  var _AutoCompleteReadme = _interopRequireDefault(require("./AutoCompleteReadme.md"));
12
-
13
8
  var _form = require("@webiny/form");
14
-
15
9
  var _AutoComplete = require("./AutoComplete");
16
-
17
10
  var story = (0, _react2.storiesOf)("Components/AutoComplete", module);
18
11
  var options = [{
19
12
  name: "France",
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","options","name","id","add","readme","country","Bind","JSON","stringify","info","propTables","AutoComplete"],"sources":["AutoComplete.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport readme from \"./AutoCompleteReadme.md\";\n\nimport { Form } from \"@webiny/form\";\nimport { AutoComplete } from \"./AutoComplete\";\n\nconst story = storiesOf(\"Components/AutoComplete\", module);\n\nconst options = [\n { name: \"France\", id: \"france\" },\n { name: \"Germany\", id: \"germany\" },\n { name: \"Italy\", id: \"italy\" },\n { name: \"Spain\", id: \"spain\" },\n { name: \"UK\", id: \"uk\" },\n { name: \"US\", id: \"us\" },\n { name: \"Norway\", id: \"norway\" },\n { name: \"Finland\", id: \"finland\" },\n { name: \"Czech Republic\", id: \"czech-republic\" }\n];\n\nstory.add(\n \"AutoComplete\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample title={\"Single value\"}>\n <Form data={{ country: { id: \"italy\", name: \"Italy\" } }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n options={options}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n options={${JSON.stringify(options)}}\n label=\"Country\"\n description=\"Choose your country.\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n\n <StorySandbox>\n <StorySandboxExample title={\"Single value - use simple strings\"}>\n <Form data={{ country: \"Germany\" }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n useSimpleValues\n options={[\"France\", \"Germany\", \"Italy\", \"Spain\"]}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={{ country: \"Germany\" }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n useSimpleValues\n options={[\"France\", \"Germany\", \"Italy\", \"Spain\"]}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [AutoComplete] } }\n);\n"],"mappings":";;;;AAAA;;AACA;;AACA;;AAOA;;AAEA;;AACA;;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAA,EAAU,yBAAV,EAAqCC,MAArC,CAAd;AAEA,IAAMC,OAAO,GAAG,CACZ;EAAEC,IAAI,EAAE,QAAR;EAAkBC,EAAE,EAAE;AAAtB,CADY,EAEZ;EAAED,IAAI,EAAE,SAAR;EAAmBC,EAAE,EAAE;AAAvB,CAFY,EAGZ;EAAED,IAAI,EAAE,OAAR;EAAiBC,EAAE,EAAE;AAArB,CAHY,EAIZ;EAAED,IAAI,EAAE,OAAR;EAAiBC,EAAE,EAAE;AAArB,CAJY,EAKZ;EAAED,IAAI,EAAE,IAAR;EAAcC,EAAE,EAAE;AAAlB,CALY,EAMZ;EAAED,IAAI,EAAE,IAAR;EAAcC,EAAE,EAAE;AAAlB,CANY,EAOZ;EAAED,IAAI,EAAE,QAAR;EAAkBC,EAAE,EAAE;AAAtB,CAPY,EAQZ;EAAED,IAAI,EAAE,SAAR;EAAmBC,EAAE,EAAE;AAAvB,CARY,EASZ;EAAED,IAAI,EAAE,gBAAR;EAA0BC,EAAE,EAAE;AAA9B,CATY,CAAhB;AAYAL,KAAK,CAACM,GAAN,CACI,cADJ,EAEI,YAAM;EACF,oBACI,6BAAC,YAAD,qBACI,6BAAC,kBAAD,QAAcC,2BAAd,CADJ,eAEI,6BAAC,mBAAD,qBACI,6BAAC,0BAAD;IAAqB,KAAK,EAAE;EAA5B,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;MAAEC,OAAO,EAAE;QAAEH,EAAE,EAAE,OAAN;QAAeD,IAAI,EAAE;MAArB;IAAX;EAAZ,GACK;IAAA,IAAGK,IAAH,QAAGA,IAAH;IAAA,oBACG,6BAAC,IAAD;MAAM,IAAI,EAAC;IAAX,gBACI,6BAAC,0BAAD;MACI,OAAO,EAAEN,OADb;MAEI,KAAK,EAAC,SAFV;MAGI,WAAW,EAAC;IAHhB,EADJ,CADH;EAAA,CADL,CADJ,CADJ,eAcI,6BAAC,uBAAD,4OAM2BO,IAAI,CAACC,SAAL,CAAeR,OAAf,CAN3B,gSAdJ,CAFJ,eAiCI,6BAAC,mBAAD,qBACI,6BAAC,0BAAD;IAAqB,KAAK,EAAE;EAA5B,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;MAAEK,OAAO,EAAE;IAAX;EAAZ,GACK;IAAA,IAAGC,IAAH,SAAGA,IAAH;IAAA,oBACG,6BAAC,IAAD;MAAM,IAAI,EAAC;IAAX,gBACI,6BAAC,0BAAD;MACI,eAAe,MADnB;MAEI,OAAO,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,OAA/B,CAFb;MAGI,KAAK,EAAC,SAHV;MAII,WAAW,EAAC;IAJhB,EADJ,CADH;EAAA,CADL,CADJ,CADJ,eAeI,6BAAC,uBAAD,ioBAfJ,CAjCJ,CADJ;AAoEH,CAvEL,EAwEI;EAAEG,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,0BAAD;EAAd;AAAR,CAxEJ"}
1
+ {"version":3,"names":["story","storiesOf","module","options","name","id","add","readme","country","Bind","JSON","stringify","info","propTables","AutoComplete"],"sources":["AutoComplete.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport readme from \"./AutoCompleteReadme.md\";\n\nimport { Form } from \"@webiny/form\";\nimport { AutoComplete } from \"./AutoComplete\";\n\nconst story = storiesOf(\"Components/AutoComplete\", module);\n\nconst options = [\n { name: \"France\", id: \"france\" },\n { name: \"Germany\", id: \"germany\" },\n { name: \"Italy\", id: \"italy\" },\n { name: \"Spain\", id: \"spain\" },\n { name: \"UK\", id: \"uk\" },\n { name: \"US\", id: \"us\" },\n { name: \"Norway\", id: \"norway\" },\n { name: \"Finland\", id: \"finland\" },\n { name: \"Czech Republic\", id: \"czech-republic\" }\n];\n\nstory.add(\n \"AutoComplete\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample title={\"Single value\"}>\n <Form data={{ country: { id: \"italy\", name: \"Italy\" } }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n options={options}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n options={${JSON.stringify(options)}}\n label=\"Country\"\n description=\"Choose your country.\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n\n <StorySandbox>\n <StorySandboxExample title={\"Single value - use simple strings\"}>\n <Form data={{ country: \"Germany\" }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n useSimpleValues\n options={[\"France\", \"Germany\", \"Italy\", \"Spain\"]}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={{ country: \"Germany\" }}>\n {({ Bind }) => (\n <Bind name=\"country\">\n <AutoComplete\n useSimpleValues\n options={[\"France\", \"Germany\", \"Italy\", \"Spain\"]}\n label=\"Country\"\n description=\"Choose your country\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [AutoComplete] } }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AAOA;AAEA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,yBAAyB,EAAEC,MAAM,CAAC;AAE1D,IAAMC,OAAO,GAAG,CACZ;EAAEC,IAAI,EAAE,QAAQ;EAAEC,EAAE,EAAE;AAAS,CAAC,EAChC;EAAED,IAAI,EAAE,SAAS;EAAEC,EAAE,EAAE;AAAU,CAAC,EAClC;EAAED,IAAI,EAAE,OAAO;EAAEC,EAAE,EAAE;AAAQ,CAAC,EAC9B;EAAED,IAAI,EAAE,OAAO;EAAEC,EAAE,EAAE;AAAQ,CAAC,EAC9B;EAAED,IAAI,EAAE,IAAI;EAAEC,EAAE,EAAE;AAAK,CAAC,EACxB;EAAED,IAAI,EAAE,IAAI;EAAEC,EAAE,EAAE;AAAK,CAAC,EACxB;EAAED,IAAI,EAAE,QAAQ;EAAEC,EAAE,EAAE;AAAS,CAAC,EAChC;EAAED,IAAI,EAAE,SAAS;EAAEC,EAAE,EAAE;AAAU,CAAC,EAClC;EAAED,IAAI,EAAE,gBAAgB;EAAEC,EAAE,EAAE;AAAiB,CAAC,CACnD;AAEDL,KAAK,CAACM,GAAG,CACL,cAAc,EACd,YAAM;EACF,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,2BAAM,CAAe,eACnC,6BAAC,mBAAY,qBACT,6BAAC,0BAAmB;IAAC,KAAK,EAAE;EAAe,gBACvC,6BAAC,UAAI;IAAC,IAAI,EAAE;MAAEC,OAAO,EAAE;QAAEH,EAAE,EAAE,OAAO;QAAED,IAAI,EAAE;MAAQ;IAAE;EAAE,GACnD;IAAA,IAAGK,IAAI,QAAJA,IAAI;IAAA,oBACJ,6BAAC,IAAI;MAAC,IAAI,EAAC;IAAS,gBAChB,6BAAC,0BAAY;MACT,OAAO,EAAEN,OAAQ;MACjB,KAAK,EAAC,SAAS;MACf,WAAW,EAAC;IAAqB,EACnC,CACC;EAAA,CACV,CACE,CACW,eACtB,6BAAC,uBAAgB,4OAMUO,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,gSAQ/B,CACR,eAEf,6BAAC,mBAAY,qBACT,6BAAC,0BAAmB;IAAC,KAAK,EAAE;EAAoC,gBAC5D,6BAAC,UAAI;IAAC,IAAI,EAAE;MAAEK,OAAO,EAAE;IAAU;EAAE,GAC9B;IAAA,IAAGC,IAAI,SAAJA,IAAI;IAAA,oBACJ,6BAAC,IAAI;MAAC,IAAI,EAAC;IAAS,gBAChB,6BAAC,0BAAY;MACT,eAAe;MACf,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAE;MACjD,KAAK,EAAC,SAAS;MACf,WAAW,EAAC;IAAqB,EACnC,CACC;EAAA,CACV,CACE,CACW,eACtB,6BAAC,uBAAgB,ioBAeE,CACR,CACX;AAEhB,CAAC,EACD;EAAEG,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,0BAAY;EAAE;AAAE,CAAC,CAC3C"}