@webiny/ui 0.0.0-mt-3 → 0.0.0-unstable.13771d80a8

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 (484) hide show
  1. package/Accordion/Accordion.d.ts +5 -5
  2. package/Accordion/Accordion.js +22 -22
  3. package/Accordion/Accordion.js.map +1 -0
  4. package/Accordion/Accordion.stories.js +26 -23
  5. package/Accordion/Accordion.stories.js.map +1 -0
  6. package/Accordion/AccordionItem.d.ts +27 -8
  7. package/Accordion/AccordionItem.js +91 -84
  8. package/Accordion/AccordionItem.js.map +1 -0
  9. package/Accordion/AccordionItemActions.d.ts +8 -0
  10. package/Accordion/AccordionItemActions.js +28 -0
  11. package/Accordion/AccordionItemActions.js.map +1 -0
  12. package/Accordion/index.js +27 -2
  13. package/Accordion/index.js.map +1 -0
  14. package/Alert/Alert.d.ts +4 -4
  15. package/Alert/Alert.js +19 -15
  16. package/Alert/Alert.js.map +1 -0
  17. package/Alert/Alert.stories.js +16 -13
  18. package/Alert/Alert.stories.js.map +1 -0
  19. package/Alert/index.js +16 -1
  20. package/Alert/index.js.map +1 -0
  21. package/AutoComplete/AutoComplete.d.ts +12 -19
  22. package/AutoComplete/AutoComplete.js +147 -148
  23. package/AutoComplete/AutoComplete.js.map +1 -0
  24. package/AutoComplete/AutoComplete.stories.js +20 -17
  25. package/AutoComplete/AutoComplete.stories.js.map +1 -0
  26. package/AutoComplete/MultiAutoComplete.d.ts +44 -40
  27. package/AutoComplete/MultiAutoComplete.js +304 -311
  28. package/AutoComplete/MultiAutoComplete.js.map +1 -0
  29. package/AutoComplete/MultiAutoComplete.stories.js +31 -28
  30. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -0
  31. package/AutoComplete/index.js +27 -2
  32. package/AutoComplete/index.js.map +1 -0
  33. package/AutoComplete/styles.js +12 -4
  34. package/AutoComplete/styles.js.map +1 -0
  35. package/AutoComplete/types.d.ts +4 -3
  36. package/AutoComplete/types.js +5 -1
  37. package/AutoComplete/types.js.map +1 -0
  38. package/AutoComplete/utils.d.ts +11 -5
  39. package/AutoComplete/utils.js +15 -8
  40. package/AutoComplete/utils.js.map +1 -0
  41. package/Avatar/Avatar.d.ts +5 -11
  42. package/Avatar/Avatar.js +37 -28
  43. package/Avatar/Avatar.js.map +1 -0
  44. package/Avatar/Avatar.stories.js +13 -10
  45. package/Avatar/Avatar.stories.js.map +1 -0
  46. package/Avatar/index.js +16 -1
  47. package/Avatar/index.js.map +1 -0
  48. package/Button/Button.d.ts +39 -24
  49. package/Button/Button.js +74 -83
  50. package/Button/Button.js.map +1 -0
  51. package/Button/Button.stories.js +32 -29
  52. package/Button/Button.stories.js.map +1 -0
  53. package/Button/Button.styles.d.ts +6 -0
  54. package/Button/Button.styles.js +13 -0
  55. package/Button/Button.styles.js.map +1 -0
  56. package/Button/CopyButton/CopyButton.d.ts +4 -7
  57. package/Button/CopyButton/CopyButton.js +18 -18
  58. package/Button/CopyButton/CopyButton.js.map +1 -0
  59. package/Button/CopyButton/CopyButton.stories.js +13 -10
  60. package/Button/CopyButton/CopyButton.stories.js.map +1 -0
  61. package/Button/IconButton/IconButton.d.ts +4 -7
  62. package/Button/IconButton/IconButton.js +16 -15
  63. package/Button/IconButton/IconButton.js.map +1 -0
  64. package/Button/IconButton/IconButton.stories.js +22 -19
  65. package/Button/IconButton/IconButton.stories.js.map +1 -0
  66. package/Button/index.js +38 -3
  67. package/Button/index.js.map +1 -0
  68. package/Carousel/Carousel.d.ts +3 -3
  69. package/Carousel/Carousel.js +24 -25
  70. package/Carousel/Carousel.js.map +1 -0
  71. package/Carousel/Carouser.stories.js +20 -17
  72. package/Carousel/Carouser.stories.js.map +1 -0
  73. package/Carousel/index.js +13 -1
  74. package/Carousel/index.js.map +1 -0
  75. package/Checkbox/Checkbox.d.ts +6 -9
  76. package/Checkbox/Checkbox.js +40 -44
  77. package/Checkbox/Checkbox.js.map +1 -0
  78. package/Checkbox/Checkbox.stories.js +19 -16
  79. package/Checkbox/Checkbox.stories.js.map +1 -0
  80. package/Checkbox/Checkbox.styles.js +9 -4
  81. package/Checkbox/Checkbox.styles.js.map +1 -0
  82. package/Checkbox/CheckboxGroup.d.ts +2 -2
  83. package/Checkbox/CheckboxGroup.js +34 -35
  84. package/Checkbox/CheckboxGroup.js.map +1 -0
  85. package/Checkbox/CheckboxGroup.stories.js +23 -20
  86. package/Checkbox/CheckboxGroup.stories.js.map +1 -0
  87. package/Checkbox/index.js +20 -2
  88. package/Checkbox/index.js.map +1 -0
  89. package/Chips/Chip.d.ts +3 -8
  90. package/Chips/Chip.js +15 -8
  91. package/Chips/Chip.js.map +1 -0
  92. package/Chips/Chips.d.ts +4 -4
  93. package/Chips/Chips.js +21 -14
  94. package/Chips/Chips.js.map +1 -0
  95. package/Chips/Chips.stories.js +25 -18
  96. package/Chips/Chips.stories.js.map +1 -0
  97. package/Chips/index.d.ts +0 -1
  98. package/Chips/index.js +27 -3
  99. package/Chips/index.js.map +1 -0
  100. package/Chips/styles.js +19 -9
  101. package/Chips/styles.js.map +1 -0
  102. package/CodeEditor/CodeEditor.d.ts +5 -8
  103. package/CodeEditor/CodeEditor.js +42 -49
  104. package/CodeEditor/CodeEditor.js.map +1 -0
  105. package/CodeEditor/CodeEditor.stories.js +20 -17
  106. package/CodeEditor/CodeEditor.stories.js.map +1 -0
  107. package/CodeEditor/index.js +16 -1
  108. package/CodeEditor/index.js.map +1 -0
  109. package/ColorPicker/ColorPicker.d.ts +9 -10
  110. package/ColorPicker/ColorPicker.js +54 -66
  111. package/ColorPicker/ColorPicker.js.map +1 -0
  112. package/ColorPicker/ColorPicker.stories.js +18 -15
  113. package/ColorPicker/ColorPicker.stories.js.map +1 -0
  114. package/ColorPicker/index.js +16 -1
  115. package/ColorPicker/index.js.map +1 -0
  116. package/ConfirmationDialog/ConfirmationDialog.d.ts +13 -13
  117. package/ConfirmationDialog/ConfirmationDialog.js +76 -96
  118. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  119. package/ConfirmationDialog/ConfirmationDialog.stories.js +15 -12
  120. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -0
  121. package/ConfirmationDialog/index.js +27 -2
  122. package/ConfirmationDialog/index.js.map +1 -0
  123. package/ConfirmationDialog/withConfirmation.d.ts +2 -2
  124. package/ConfirmationDialog/withConfirmation.js +14 -6
  125. package/ConfirmationDialog/withConfirmation.js.map +1 -0
  126. package/DataTable/DataTable.d.ts +35 -0
  127. package/DataTable/DataTable.js +177 -0
  128. package/DataTable/DataTable.js.map +1 -0
  129. package/DataTable/DataTable.stories.d.ts +1 -0
  130. package/DataTable/DataTable.stories.js +71 -0
  131. package/DataTable/DataTable.stories.js.map +1 -0
  132. package/DataTable/README.md +72 -0
  133. package/DataTable/index.d.ts +1 -0
  134. package/DataTable/index.js +16 -0
  135. package/DataTable/index.js.map +1 -0
  136. package/DataTable/styled.d.ts +30 -0
  137. package/DataTable/styled.js +36 -0
  138. package/DataTable/styled.js.map +1 -0
  139. package/DelayedOnChange/DelayedOnChange.d.ts +40 -0
  140. package/DelayedOnChange/DelayedOnChange.js +113 -0
  141. package/DelayedOnChange/DelayedOnChange.js.map +1 -0
  142. package/DelayedOnChange/index.d.ts +2 -0
  143. package/DelayedOnChange/index.js +20 -0
  144. package/DelayedOnChange/index.js.map +1 -0
  145. package/DelayedOnChange/withDelayedOnChange.d.ts +3 -0
  146. package/DelayedOnChange/withDelayedOnChange.js +31 -0
  147. package/DelayedOnChange/withDelayedOnChange.js.map +1 -0
  148. package/Dialog/Dialog.d.ts +22 -30
  149. package/Dialog/Dialog.js +59 -55
  150. package/Dialog/Dialog.js.map +1 -0
  151. package/Dialog/Dialog.stories.js +19 -16
  152. package/Dialog/Dialog.stories.js.map +1 -0
  153. package/Dialog/index.js +16 -1
  154. package/Dialog/index.js.map +1 -0
  155. package/Drawer/Drawer.d.ts +1 -1
  156. package/Drawer/Drawer.js +14 -9
  157. package/Drawer/Drawer.js.map +1 -0
  158. package/Drawer/Drawer.stories.js +18 -15
  159. package/Drawer/Drawer.stories.js.map +1 -0
  160. package/Drawer/index.js +16 -1
  161. package/Drawer/index.js.map +1 -0
  162. package/DynamicFieldset/Fieldset.d.ts +26 -16
  163. package/DynamicFieldset/Fieldset.js +69 -74
  164. package/DynamicFieldset/Fieldset.js.map +1 -0
  165. package/DynamicFieldset/index.js +13 -1
  166. package/DynamicFieldset/index.js.map +1 -0
  167. package/Elevation/Elevation.d.ts +1 -1
  168. package/Elevation/Elevation.js +12 -6
  169. package/Elevation/Elevation.js.map +1 -0
  170. package/Elevation/Elevation.stories.js +19 -16
  171. package/Elevation/Elevation.stories.js.map +1 -0
  172. package/Elevation/index.js +16 -1
  173. package/Elevation/index.js.map +1 -0
  174. package/FormElementMessage/FormElementMessage.d.ts +1 -1
  175. package/FormElementMessage/FormElementMessage.js +11 -6
  176. package/FormElementMessage/FormElementMessage.js.map +1 -0
  177. package/FormElementMessage/index.js +12 -1
  178. package/FormElementMessage/index.js.map +1 -0
  179. package/FullName/FullName.js +7 -7
  180. package/FullName/FullName.js.map +1 -0
  181. package/FullName/index.js +16 -1
  182. package/FullName/index.js.map +1 -0
  183. package/Grid/Grid.d.ts +1 -1
  184. package/Grid/Grid.js +19 -10
  185. package/Grid/Grid.js.map +1 -0
  186. package/Grid/Grid.stories.js +15 -12
  187. package/Grid/Grid.stories.js.map +1 -0
  188. package/Grid/index.js +16 -1
  189. package/Grid/index.js.map +1 -0
  190. package/Helpers/ClassNames.d.ts +4 -3
  191. package/Helpers/ClassNames.js +16 -14
  192. package/Helpers/ClassNames.js.map +1 -0
  193. package/Helpers/index.js +12 -2
  194. package/Helpers/index.js.map +1 -0
  195. package/Icon/Icon.d.ts +3 -6
  196. package/Icon/Icon.js +15 -12
  197. package/Icon/Icon.js.map +1 -0
  198. package/Icon/Icon.stories.js +23 -20
  199. package/Icon/Icon.stories.js.map +1 -0
  200. package/Icon/index.js +16 -1
  201. package/Icon/index.js.map +1 -0
  202. package/Image/Image.d.ts +5 -4
  203. package/Image/Image.js +17 -13
  204. package/Image/Image.js.map +1 -0
  205. package/Image/Image.stories.js +14 -11
  206. package/Image/Image.stories.js.map +1 -0
  207. package/Image/index.js +16 -1
  208. package/Image/index.js.map +1 -0
  209. package/ImageEditor/ImageEditor.d.ts +33 -34
  210. package/ImageEditor/ImageEditor.js +129 -163
  211. package/ImageEditor/ImageEditor.js.map +1 -0
  212. package/ImageEditor/index.js +16 -1
  213. package/ImageEditor/index.js.map +1 -0
  214. package/ImageEditor/toolbar/crop.js +26 -22
  215. package/ImageEditor/toolbar/crop.js.map +1 -0
  216. package/ImageEditor/toolbar/filter.js +63 -59
  217. package/ImageEditor/toolbar/filter.js.map +1 -0
  218. package/ImageEditor/toolbar/flip.js +27 -25
  219. package/ImageEditor/toolbar/flip.js.map +1 -0
  220. package/ImageEditor/toolbar/icons/index.js +61 -8
  221. package/ImageEditor/toolbar/icons/index.js.map +1 -0
  222. package/ImageEditor/toolbar/index.js +34 -4
  223. package/ImageEditor/toolbar/index.js.map +1 -0
  224. package/ImageEditor/toolbar/rotate.js +55 -61
  225. package/ImageEditor/toolbar/rotate.js.map +1 -0
  226. package/ImageEditor/toolbar/types.d.ts +23 -12
  227. package/ImageEditor/toolbar/types.js +5 -1
  228. package/ImageEditor/toolbar/types.js.map +1 -0
  229. package/ImageUpload/Image.d.ts +6 -6
  230. package/ImageUpload/Image.js +52 -54
  231. package/ImageUpload/Image.js.map +1 -0
  232. package/ImageUpload/ImageEditorDialog.d.ts +11 -6
  233. package/ImageUpload/ImageEditorDialog.js +47 -46
  234. package/ImageUpload/ImageEditorDialog.js.map +1 -0
  235. package/ImageUpload/MultiImageUpload.d.ts +10 -31
  236. package/ImageUpload/MultiImageUpload.js +194 -222
  237. package/ImageUpload/MultiImageUpload.js.map +1 -0
  238. package/ImageUpload/MultiImageUpload.stories.js +18 -15
  239. package/ImageUpload/MultiImageUpload.stories.js.map +1 -0
  240. package/ImageUpload/SingleImageUpload.d.ts +16 -37
  241. package/ImageUpload/SingleImageUpload.js +96 -106
  242. package/ImageUpload/SingleImageUpload.js.map +1 -0
  243. package/ImageUpload/SingleImageUpload.stories.js +19 -16
  244. package/ImageUpload/SingleImageUpload.stories.js.map +1 -0
  245. package/ImageUpload/index.js +34 -4
  246. package/ImageUpload/index.js.map +1 -0
  247. package/ImageUpload/styled.d.ts +30 -14
  248. package/ImageUpload/styled.js +25 -16
  249. package/ImageUpload/styled.js.map +1 -0
  250. package/Input/Input.d.ts +5 -19
  251. package/Input/Input.js +106 -140
  252. package/Input/Input.js.map +1 -0
  253. package/Input/Input.stories.js +49 -46
  254. package/Input/Input.stories.js.map +1 -0
  255. package/Input/__tests__/Input.test.js +54 -63
  256. package/Input/__tests__/Input.test.js.map +1 -0
  257. package/Input/index.js +16 -1
  258. package/Input/index.js.map +1 -0
  259. package/List/CollapsibleList/CollapsibleList.stories.js +19 -16
  260. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -0
  261. package/List/CollapsibleList/index.d.ts +2 -2
  262. package/List/CollapsibleList/index.js +15 -6
  263. package/List/CollapsibleList/index.js.map +1 -0
  264. package/List/DataList/DataList.d.ts +24 -43
  265. package/List/DataList/DataList.js +87 -122
  266. package/List/DataList/DataList.js.map +1 -0
  267. package/List/DataList/DataList.stories.js +30 -26
  268. package/List/DataList/DataList.stories.js.map +1 -0
  269. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +14 -12
  270. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +26 -18
  271. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -0
  272. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.d.ts +3 -3
  273. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +20 -13
  274. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -0
  275. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.d.ts +9 -4
  276. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +24 -12
  277. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -0
  278. package/List/DataList/DataListModalOverlay/index.js +32 -3
  279. package/List/DataList/DataListModalOverlay/index.js.map +1 -0
  280. package/List/DataList/DataListWithSections.d.ts +45 -0
  281. package/List/DataList/DataListWithSections.js +312 -0
  282. package/List/DataList/DataListWithSections.js.map +1 -0
  283. package/List/DataList/Loader.d.ts +2 -2
  284. package/List/DataList/Loader.js +48 -52
  285. package/List/DataList/Loader.js.map +1 -0
  286. package/List/DataList/NoData.d.ts +2 -2
  287. package/List/DataList/NoData.js +14 -8
  288. package/List/DataList/NoData.js.map +1 -0
  289. package/List/DataList/icons/index.d.ts +1 -1
  290. package/List/DataList/icons/index.js +54 -38
  291. package/List/DataList/icons/index.js.map +1 -0
  292. package/List/DataList/index.d.ts +1 -0
  293. package/List/DataList/index.js +58 -3
  294. package/List/DataList/index.js.map +1 -0
  295. package/List/DataList/types.d.ts +1 -1
  296. package/List/DataList/types.js +5 -1
  297. package/List/DataList/types.js.map +1 -0
  298. package/List/List.d.ts +3 -2
  299. package/List/List.js +66 -62
  300. package/List/List.js.map +1 -0
  301. package/List/List.stories.js +40 -37
  302. package/List/List.stories.js.map +1 -0
  303. package/List/icons/index.js +20 -3
  304. package/List/icons/index.js.map +1 -0
  305. package/List/index.d.ts +1 -1
  306. package/List/index.js +70 -3
  307. package/List/index.js.map +1 -0
  308. package/Menu/Menu.d.ts +14 -21
  309. package/Menu/Menu.js +47 -61
  310. package/Menu/Menu.js.map +1 -0
  311. package/Menu/Menu.stories.js +17 -14
  312. package/Menu/Menu.stories.js.map +1 -0
  313. package/Menu/index.js +16 -1
  314. package/Menu/index.js.map +1 -0
  315. package/Mosaic/Mosaic.d.ts +4 -14
  316. package/Mosaic/Mosaic.js +20 -7
  317. package/Mosaic/Mosaic.js.map +1 -0
  318. package/Mosaic/Mosaic.stories.js +31 -28
  319. package/Mosaic/Mosaic.stories.js.map +1 -0
  320. package/Mosaic/index.js +16 -1
  321. package/Mosaic/index.js.map +1 -0
  322. package/Progress/CircularProgress.d.ts +8 -16
  323. package/Progress/CircularProgress.js +32 -22
  324. package/Progress/CircularProgress.js.map +1 -0
  325. package/Progress/index.js +13 -1
  326. package/Progress/index.js.map +1 -0
  327. package/Radio/Radio.d.ts +2 -6
  328. package/Radio/Radio.js +36 -41
  329. package/Radio/Radio.js.map +1 -0
  330. package/Radio/Radio.styles.js +9 -4
  331. package/Radio/Radio.styles.js.map +1 -0
  332. package/Radio/RadioGroup.d.ts +1 -6
  333. package/Radio/RadioGroup.js +30 -34
  334. package/Radio/RadioGroup.js.map +1 -0
  335. package/Radio/RadioGroup.stories.js +23 -20
  336. package/Radio/RadioGroup.stories.js.map +1 -0
  337. package/Radio/index.js +20 -2
  338. package/Radio/index.js.map +1 -0
  339. package/RichTextEditor/RichTextEditor.d.ts +13 -9
  340. package/RichTextEditor/RichTextEditor.js +79 -78
  341. package/RichTextEditor/RichTextEditor.js.map +1 -0
  342. package/RichTextEditor/RichTextEditor.stories.js +15 -11
  343. package/RichTextEditor/RichTextEditor.stories.js.map +1 -0
  344. package/RichTextEditor/createPropsFromConfig.d.ts +11 -1
  345. package/RichTextEditor/createPropsFromConfig.js +16 -5
  346. package/RichTextEditor/createPropsFromConfig.js.map +1 -0
  347. package/RichTextEditor/index.d.ts +1 -0
  348. package/RichTextEditor/index.js +27 -2
  349. package/RichTextEditor/index.js.map +1 -0
  350. package/Ripple/Ripple.d.ts +4 -5
  351. package/Ripple/Ripple.js +11 -6
  352. package/Ripple/Ripple.js.map +1 -0
  353. package/Ripple/Ripple.stories.js +45 -42
  354. package/Ripple/Ripple.stories.js.map +1 -0
  355. package/Ripple/index.js +16 -1
  356. package/Ripple/index.js.map +1 -0
  357. package/Scrollbar/Scrollbar.d.ts +5 -5
  358. package/Scrollbar/Scrollbar.js +10 -5
  359. package/Scrollbar/Scrollbar.js.map +1 -0
  360. package/Scrollbar/Scrollbar.stories.js +12 -9
  361. package/Scrollbar/Scrollbar.stories.js.map +1 -0
  362. package/Scrollbar/index.js +16 -1
  363. package/Scrollbar/index.js.map +1 -0
  364. package/Section/Section.stories.js +15 -12
  365. package/Section/Section.stories.js.map +1 -0
  366. package/Section/index.d.ts +4 -5
  367. package/Section/index.js +23 -18
  368. package/Section/index.js.map +1 -0
  369. package/Select/Select.d.ts +7 -10
  370. package/Select/Select.js +84 -29
  371. package/Select/Select.js.map +1 -0
  372. package/Select/Select.stories.js +28 -25
  373. package/Select/Select.stories.js.map +1 -0
  374. package/Select/index.js +16 -1
  375. package/Select/index.js.map +1 -0
  376. package/Skeleton/README.md +21 -0
  377. package/Skeleton/Skeleton.d.ts +8 -0
  378. package/Skeleton/Skeleton.js +22 -0
  379. package/Skeleton/Skeleton.js.map +1 -0
  380. package/Skeleton/Skeleton.stories.d.ts +1 -0
  381. package/Skeleton/Skeleton.stories.js +22 -0
  382. package/Skeleton/Skeleton.stories.js.map +1 -0
  383. package/Skeleton/index.d.ts +1 -0
  384. package/Skeleton/index.js +16 -0
  385. package/Skeleton/index.js.map +1 -0
  386. package/Slider/Slider.d.ts +1 -6
  387. package/Slider/Slider.js +39 -47
  388. package/Slider/Slider.js.map +1 -0
  389. package/Slider/Slider.stories.js +20 -17
  390. package/Slider/Slider.stories.js.map +1 -0
  391. package/Slider/index.js +13 -1
  392. package/Slider/index.js.map +1 -0
  393. package/Snackbar/Snackbar.d.ts +5 -7
  394. package/Snackbar/Snackbar.js +29 -33
  395. package/Snackbar/Snackbar.js.map +1 -0
  396. package/Snackbar/Snackbar.stories.js +29 -38
  397. package/Snackbar/Snackbar.stories.js.map +1 -0
  398. package/Snackbar/index.js +18 -1
  399. package/Snackbar/index.js.map +1 -0
  400. package/Switch/Switch.d.ts +3 -7
  401. package/Switch/Switch.js +35 -43
  402. package/Switch/Switch.js.map +1 -0
  403. package/Switch/Switch.stories.js +19 -16
  404. package/Switch/Switch.stories.js.map +1 -0
  405. package/Switch/index.js +16 -1
  406. package/Switch/index.js.map +1 -0
  407. package/Tabs/Tab.d.ts +7 -2
  408. package/Tabs/Tab.js +30 -9
  409. package/Tabs/Tab.js.map +1 -0
  410. package/Tabs/Tabs.d.ts +44 -21
  411. package/Tabs/Tabs.js +123 -130
  412. package/Tabs/Tabs.js.map +1 -0
  413. package/Tabs/Tabs.stories.js +25 -23
  414. package/Tabs/Tabs.stories.js.map +1 -0
  415. package/Tabs/index.js +27 -2
  416. package/Tabs/index.js.map +1 -0
  417. package/Tags/Tags.d.ts +9 -21
  418. package/Tags/Tags.js +95 -124
  419. package/Tags/Tags.js.map +1 -0
  420. package/Tags/Tags.stories.js +19 -16
  421. package/Tags/Tags.stories.js.map +1 -0
  422. package/Tags/index.js +16 -1
  423. package/Tags/index.js.map +1 -0
  424. package/Tooltip/Tooltip.d.ts +9 -8
  425. package/Tooltip/Tooltip.js +33 -33
  426. package/Tooltip/Tooltip.js.map +1 -0
  427. package/Tooltip/Tooltip.stories.js +14 -11
  428. package/Tooltip/Tooltip.stories.js.map +1 -0
  429. package/Tooltip/index.js +16 -1
  430. package/Tooltip/index.js.map +1 -0
  431. package/TopAppBar/TopAppBar.d.ts +1 -1
  432. package/TopAppBar/TopAppBar.js +13 -9
  433. package/TopAppBar/TopAppBar.js.map +1 -0
  434. package/TopAppBar/TopAppBar.stories.js +31 -30
  435. package/TopAppBar/TopAppBar.stories.js.map +1 -0
  436. package/TopAppBar/TopAppBarActionItem.d.ts +1 -1
  437. package/TopAppBar/TopAppBarActionItem.js +10 -5
  438. package/TopAppBar/TopAppBarActionItem.js.map +1 -0
  439. package/TopAppBar/TopAppBarNavigationIcon.d.ts +1 -1
  440. package/TopAppBar/TopAppBarNavigationIcon.js +10 -5
  441. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -0
  442. package/TopAppBar/TopAppBarPrimary.js +13 -9
  443. package/TopAppBar/TopAppBarPrimary.js.map +1 -0
  444. package/TopAppBar/TopAppBarSecondary.js +15 -11
  445. package/TopAppBar/TopAppBarSecondary.js.map +1 -0
  446. package/TopAppBar/TopAppBarSection.d.ts +1 -1
  447. package/TopAppBar/TopAppBarSection.js +13 -9
  448. package/TopAppBar/TopAppBarSection.js.map +1 -0
  449. package/TopAppBar/TopAppBarTitle.d.ts +1 -1
  450. package/TopAppBar/TopAppBarTitle.js +13 -9
  451. package/TopAppBar/TopAppBarTitle.js.map +1 -0
  452. package/TopAppBar/index.js +82 -7
  453. package/TopAppBar/index.js.map +1 -0
  454. package/TopProgressBar/TopProgressBar.d.ts +7 -7
  455. package/TopProgressBar/TopProgressBar.js +15 -7
  456. package/TopProgressBar/TopProgressBar.js.map +1 -0
  457. package/TopProgressBar/TopProgressBar.stories.js +16 -13
  458. package/TopProgressBar/TopProgressBar.stories.js.map +1 -0
  459. package/TopProgressBar/hoc/index.js +13 -1
  460. package/TopProgressBar/hoc/index.js.map +1 -0
  461. package/TopProgressBar/hoc/withTopProgressBar.d.ts +1 -1
  462. package/TopProgressBar/hoc/withTopProgressBar.js +14 -9
  463. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -0
  464. package/TopProgressBar/index.js +16 -1
  465. package/TopProgressBar/index.js.map +1 -0
  466. package/Typography/Typography.d.ts +5 -5
  467. package/Typography/Typography.js +10 -5
  468. package/Typography/Typography.js.map +1 -0
  469. package/Typography/Typography.stories.js +37 -34
  470. package/Typography/Typography.stories.js.map +1 -0
  471. package/Typography/index.js +16 -1
  472. package/Typography/index.js.map +1 -0
  473. package/package.json +59 -64
  474. package/styles.scss +3 -4
  475. package/types.d.ts +4 -4
  476. package/types.js +5 -1
  477. package/types.js.map +1 -0
  478. package/Chips/ChipIcon.d.ts +0 -4
  479. package/Chips/ChipIcon.js +0 -8
  480. package/rmwc/textfield/code/index.d.ts +0 -135
  481. package/rmwc/textfield/code/index.js +0 -571
  482. package/rmwc/textfield/next/index.d.ts +0 -135
  483. package/rmwc/textfield/next/index.js +0 -560
  484. package/rmwc/textfield/package.json +0 -45
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DataTable = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _dataTable = require("@rmwc/data-table");
14
+ var _reactTable = require("@tanstack/react-table");
15
+ var _Checkbox = require("../Checkbox");
16
+ var _Skeleton = require("../Skeleton");
17
+ require("@rmwc/data-table/data-table.css");
18
+ var _styled = require("./styled");
19
+ var defineColumns = function defineColumns(columns, onSelectRow, loadingInitial) {
20
+ return (0, _react.useMemo)(function () {
21
+ var columnsList = Object.keys(columns).map(function (key) {
22
+ return (0, _objectSpread2.default)({
23
+ id: key
24
+ }, columns[key]);
25
+ });
26
+ var defaults = columnsList.map(function (column) {
27
+ var id = column.id,
28
+ _header = column.header,
29
+ meta = column.meta,
30
+ _cell = column.cell,
31
+ _column$enableSorting = column.enableSorting,
32
+ enableSorting = _column$enableSorting === void 0 ? false : _column$enableSorting;
33
+ return {
34
+ accessorKey: id,
35
+ header: function header() {
36
+ return _header;
37
+ },
38
+ cell: function cell(info) {
39
+ if (_cell && typeof _cell === "function") {
40
+ return _cell(info.row.original);
41
+ } else {
42
+ return info.getValue();
43
+ }
44
+ },
45
+ enableSorting: enableSorting,
46
+ meta: meta
47
+ };
48
+ });
49
+ var select = !!onSelectRow ? [{
50
+ id: "datatable-select-column",
51
+ header: function header(_ref) {
52
+ var table = _ref.table;
53
+ return !loadingInitial && /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
54
+ indeterminate: table.getIsSomeRowsSelected(),
55
+ value: table.getIsAllRowsSelected(),
56
+ onChange: function onChange(e) {
57
+ return table.toggleAllPageRowsSelected(e);
58
+ }
59
+ });
60
+ },
61
+ cell: function cell(info) {
62
+ if (!info.row.getCanSelect()) {
63
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
64
+ }
65
+ return /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
66
+ indeterminate: info.row.getIsSomeSelected(),
67
+ value: info.row.getIsSelected(),
68
+ onChange: info.row.getToggleSelectedHandler()
69
+ });
70
+ },
71
+ meta: {
72
+ hasFormControl: true,
73
+ className: "datatable-select-column"
74
+ },
75
+ enableSorting: false
76
+ }] : [];
77
+ return [].concat(select, (0, _toConsumableArray2.default)(defaults)).map(function (column) {
78
+ if (loadingInitial) {
79
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
80
+ cell: function cell() {
81
+ return /*#__PURE__*/_react.default.createElement(_Skeleton.Skeleton, null);
82
+ }
83
+ });
84
+ }
85
+ return column;
86
+ });
87
+ }, [columns, onSelectRow, loadingInitial]);
88
+ };
89
+ var defineData = function defineData(data, loadingInitial) {
90
+ return (0, _react.useMemo)(function () {
91
+ if (loadingInitial) {
92
+ return Array(10).fill({});
93
+ }
94
+ return data;
95
+ }, [data, loadingInitial]);
96
+ };
97
+ var ColumnDirection = function ColumnDirection(_ref2) {
98
+ var direction = _ref2.direction;
99
+ if (direction) {
100
+ return /*#__PURE__*/_react.default.createElement(_styled.ColumnDirectionWrapper, null, /*#__PURE__*/_react.default.createElement(_styled.ColumnDirectionIcon, {
101
+ direction: direction
102
+ }));
103
+ }
104
+ return null;
105
+ };
106
+ var DataTable = function DataTable(_ref3) {
107
+ var data = _ref3.data,
108
+ columns = _ref3.columns,
109
+ onSelectRow = _ref3.onSelectRow,
110
+ loadingInitial = _ref3.loadingInitial,
111
+ stickyColumns = _ref3.stickyColumns,
112
+ stickyRows = _ref3.stickyRows,
113
+ bordered = _ref3.bordered,
114
+ sorting = _ref3.sorting,
115
+ onSortingChange = _ref3.onSortingChange;
116
+ var _React$useState = _react.default.useState({}),
117
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
118
+ rowSelection = _React$useState2[0],
119
+ setRowSelection = _React$useState2[1];
120
+ var table = (0, _reactTable.useReactTable)({
121
+ data: defineData(data, loadingInitial),
122
+ columns: defineColumns(columns, onSelectRow, loadingInitial),
123
+ getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
124
+ getSortedRowModel: (0, _reactTable.getSortedRowModel)(),
125
+ state: {
126
+ rowSelection: rowSelection,
127
+ sorting: sorting
128
+ },
129
+ enableRowSelection: function enableRowSelection(row) {
130
+ return row.original.selectable || false;
131
+ },
132
+ onRowSelectionChange: setRowSelection,
133
+ enableSorting: !!onSortingChange,
134
+ manualSorting: true,
135
+ onSortingChange: onSortingChange
136
+ });
137
+ (0, _react.useEffect)(function () {
138
+ if (onSelectRow && typeof onSelectRow === "function") {
139
+ var dataSelected = table.getSelectedRowModel().flatRows.map(function (row) {
140
+ return row.original;
141
+ });
142
+ onSelectRow(dataSelected);
143
+ }
144
+ }, [rowSelection]);
145
+ return /*#__PURE__*/_react.default.createElement(_styled.Table, {
146
+ stickyColumns: stickyColumns,
147
+ stickyRows: stickyRows,
148
+ bordered: bordered
149
+ }, /*#__PURE__*/_react.default.createElement(_dataTable.DataTableContent, null, /*#__PURE__*/_react.default.createElement(_dataTable.DataTableHead, null, table.getHeaderGroups().map(function (headerGroup) {
150
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableRow, {
151
+ key: headerGroup.id
152
+ }, headerGroup.headers.map(function (_ref4) {
153
+ var id = _ref4.id,
154
+ isPlaceholder = _ref4.isPlaceholder,
155
+ column = _ref4.column,
156
+ getContext = _ref4.getContext;
157
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableHeadCell, Object.assign({
158
+ key: id
159
+ }, column.columnDef.meta), isPlaceholder ? null : /*#__PURE__*/_react.default.createElement(_styled.ColumnHeaderWrapper, {
160
+ onClick: column.getToggleSortingHandler(),
161
+ sortable: column.getCanSort()
162
+ }, (0, _reactTable.flexRender)(column.columnDef.header, getContext()), /*#__PURE__*/_react.default.createElement(ColumnDirection, {
163
+ direction: column.getIsSorted() || undefined
164
+ })));
165
+ }));
166
+ })), /*#__PURE__*/_react.default.createElement(_dataTable.DataTableBody, null, table.getRowModel().rows.map(function (row) {
167
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableRow, {
168
+ key: row.id,
169
+ selected: rowSelection.hasOwnProperty(row.index)
170
+ }, row.getVisibleCells().map(function (cell) {
171
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableCell, Object.assign({
172
+ key: cell.id
173
+ }, cell.column.columnDef.meta), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()));
174
+ }));
175
+ }))));
176
+ };
177
+ exports.DataTable = DataTable;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defineColumns","columns","onSelectRow","loadingInitial","useMemo","columnsList","Object","keys","map","key","id","defaults","column","header","meta","cell","enableSorting","accessorKey","info","row","original","getValue","select","table","getIsSomeRowsSelected","getIsAllRowsSelected","e","toggleAllPageRowsSelected","getCanSelect","getIsSomeSelected","getIsSelected","getToggleSelectedHandler","hasFormControl","className","defineData","data","Array","fill","ColumnDirection","direction","DataTable","stickyColumns","stickyRows","bordered","sorting","onSortingChange","React","useState","rowSelection","setRowSelection","useReactTable","getCoreRowModel","getSortedRowModel","state","enableRowSelection","selectable","onRowSelectionChange","manualSorting","useEffect","dataSelected","getSelectedRowModel","flatRows","getHeaderGroups","headerGroup","headers","isPlaceholder","getContext","columnDef","getToggleSortingHandler","getCanSort","flexRender","getIsSorted","undefined","getRowModel","rows","hasOwnProperty","index","getVisibleCells"],"sources":["DataTable.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useMemo } from \"react\";\n\nimport {\n DataTableContent,\n DataTableHead,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell,\n DataTableCellProps\n} from \"@rmwc/data-table\";\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getSortedRowModel,\n OnChangeFn,\n SortingState\n} from \"@tanstack/react-table\";\n\nimport { Checkbox } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\n\nimport \"@rmwc/data-table/data-table.css\";\nimport { ColumnDirectionIcon, ColumnDirectionWrapper, ColumnHeaderWrapper, Table } from \"./styled\";\n\ninterface Column<T> {\n /*\n * Column header component.\n */\n header: string | number | JSX.Element;\n /*\n * Cell renderer, receives the full row and returns the value to render inside the cell.\n */\n cell?: (row: T) => string | number | JSX.Element;\n /*\n * Additional props to add to both header and row cells. Refer to RMWC documentation.\n */\n meta?: DataTableCellProps;\n /*\n * Column class names.\n */\n className?: string;\n /*\n * Enable column sorting.\n */\n enableSorting?: boolean;\n}\n\nexport type Columns<T> = {\n [P in keyof T]?: Column<T>;\n};\n\nexport type DefaultData = {\n /*\n * Define if a specific row can be selected.\n */\n selectable?: boolean;\n};\n\nexport type Sorting = SortingState;\n\nexport type OnSortingChange = OnChangeFn<Sorting>;\n\ninterface Props<T> {\n /*\n * Columns definition.\n */\n columns: Columns<T>;\n /*\n * Data to display into DataTable body.\n */\n data: T[];\n /*\n * Callback that receives the selected rows.\n */\n onSelectRow?: (rows: T[] | []) => void;\n /*\n * Render the skeleton state at the initial data loading.\n */\n loadingInitial?: boolean;\n /*\n * The number of columns to affix to the side of the table when scrolling.\n */\n stickyColumns?: number;\n /*\n * The number of rows to affix to the top of the table when scrolling.\n */\n stickyRows?: number;\n /*\n * Show or hide borders.\n */\n bordered?: boolean;\n /*\n * Sorting state.\n */\n sorting?: Sorting;\n /*\n * Callback that receives current sorting state.\n */\n onSortingChange?: OnSortingChange;\n}\n\nexport interface ColumnDirectionProps {\n direction?: \"asc\" | \"desc\";\n}\n\nconst defineColumns = <T,>(\n columns: Props<T>[\"columns\"],\n onSelectRow: Props<T>[\"onSelectRow\"],\n loadingInitial: Props<T>[\"loadingInitial\"]\n): ColumnDef<T>[] =>\n useMemo(() => {\n const columnsList = Object.keys(columns).map(key => ({\n id: key,\n ...columns[key as keyof typeof columns]\n }));\n\n const defaults: ColumnDef<T>[] = columnsList.map(column => {\n const { id, header, meta, cell, enableSorting = false } = column;\n\n return {\n accessorKey: id,\n header: () => header,\n cell: info => {\n if (cell && typeof cell === \"function\") {\n return cell(info.row.original);\n } else {\n return info.getValue();\n }\n },\n enableSorting,\n meta\n };\n });\n\n const select: ColumnDef<T>[] = !!onSelectRow\n ? [\n {\n id: \"datatable-select-column\",\n header: ({ table }) =>\n !loadingInitial && (\n <Checkbox\n indeterminate={table.getIsSomeRowsSelected()}\n value={table.getIsAllRowsSelected()}\n onChange={e => table.toggleAllPageRowsSelected(e)}\n />\n ),\n cell: info => {\n if (!info.row.getCanSelect()) {\n return <></>;\n }\n return (\n <Checkbox\n indeterminate={info.row.getIsSomeSelected()}\n value={info.row.getIsSelected()}\n onChange={info.row.getToggleSelectedHandler()}\n />\n );\n },\n meta: {\n hasFormControl: true,\n className: \"datatable-select-column\"\n },\n enableSorting: false\n }\n ]\n : [];\n\n return [...select, ...defaults].map(column => {\n if (loadingInitial) {\n return {\n ...column,\n cell: () => <Skeleton />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, loadingInitial]);\n\nconst defineData = <T,>(\n data: Props<T>[\"data\"],\n loadingInitial: Props<T>[\"loadingInitial\"]\n): T[] => {\n return useMemo(() => {\n if (loadingInitial) {\n return Array(10).fill({});\n }\n return data;\n }, [data, loadingInitial]);\n};\n\nconst ColumnDirection = ({ direction }: ColumnDirectionProps): ReactElement | null => {\n if (direction) {\n return (\n <ColumnDirectionWrapper>\n <ColumnDirectionIcon direction={direction} />\n </ColumnDirectionWrapper>\n );\n }\n\n return null;\n};\n\nexport const DataTable = <T extends Object & DefaultData>({\n data,\n columns,\n onSelectRow,\n loadingInitial,\n stickyColumns,\n stickyRows,\n bordered,\n sorting,\n onSortingChange\n}: Props<T>) => {\n const [rowSelection, setRowSelection] = React.useState({});\n\n const table = useReactTable({\n data: defineData(data, loadingInitial),\n columns: defineColumns(columns, onSelectRow, loadingInitial),\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n rowSelection,\n sorting\n },\n enableRowSelection: row => row.original.selectable || false,\n onRowSelectionChange: setRowSelection,\n enableSorting: !!onSortingChange,\n manualSorting: true,\n onSortingChange\n });\n\n useEffect(() => {\n if (onSelectRow && typeof onSelectRow === \"function\") {\n const dataSelected = table.getSelectedRowModel().flatRows.map(row => row.original);\n onSelectRow(dataSelected);\n }\n }, [rowSelection]);\n\n return (\n <Table stickyColumns={stickyColumns} stickyRows={stickyRows} bordered={bordered}>\n <DataTableContent>\n <DataTableHead>\n {table.getHeaderGroups().map(headerGroup => (\n <DataTableRow key={headerGroup.id}>\n {headerGroup.headers.map(\n ({ id, isPlaceholder, column, getContext }) => (\n <DataTableHeadCell key={id} {...column.columnDef.meta}>\n {isPlaceholder ? null : (\n <ColumnHeaderWrapper\n onClick={column.getToggleSortingHandler()}\n sortable={column.getCanSort()}\n >\n {flexRender(column.columnDef.header, getContext())}\n <ColumnDirection\n direction={column.getIsSorted() || undefined}\n />\n </ColumnHeaderWrapper>\n )}\n </DataTableHeadCell>\n )\n )}\n </DataTableRow>\n ))}\n </DataTableHead>\n <DataTableBody>\n {table.getRowModel().rows.map(row => (\n <DataTableRow\n key={row.id}\n selected={rowSelection.hasOwnProperty(row.index)}\n >\n {row.getVisibleCells().map(cell => (\n <DataTableCell key={cell.id} {...cell.column.columnDef.meta}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </DataTableCell>\n ))}\n </DataTableRow>\n ))}\n </DataTableBody>\n </DataTableContent>\n </Table>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@storybook/react");
6
+ var _Story = require("@webiny/storybook-utils/Story");
7
+ var _README = _interopRequireDefault(require("./../DataTable/README.md"));
8
+ var _DataTable = require("./DataTable");
9
+ var story = (0, _react2.storiesOf)("Components/DataTable", module);
10
+ story.add("usage", function () {
11
+ var data = [{
12
+ name: "Page 1",
13
+ createdBy: "John Doe",
14
+ lastModified: "3 days ago",
15
+ status: "Draft"
16
+ }, {
17
+ name: "Page 2",
18
+ createdBy: "John Doe",
19
+ lastModified: "1 day ago",
20
+ status: "Published"
21
+ }, {
22
+ name: "Page 3",
23
+ createdBy: "John Doe",
24
+ lastModified: "1 hour ago",
25
+ status: "Published"
26
+ }];
27
+ var columns = {
28
+ name: {
29
+ header: "Title"
30
+ },
31
+ createdBy: {
32
+ header: "Author",
33
+ cell: function cell(row) {
34
+ return /*#__PURE__*/_react.default.createElement("em", null, row.createdBy.toUpperCase());
35
+ }
36
+ },
37
+ lastModified: {
38
+ header: "Last Modified"
39
+ },
40
+ status: {
41
+ header: "Status",
42
+ meta: {
43
+ alignEnd: true
44
+ }
45
+ }
46
+ };
47
+ return /*#__PURE__*/_react.default.createElement(_Story.Story, null, /*#__PURE__*/_react.default.createElement(_Story.StoryReadme, null, _README.default), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, {
48
+ title: "A simple DataTable."
49
+ }, /*#__PURE__*/_react.default.createElement(_DataTable.DataTable, {
50
+ data: data,
51
+ columns: columns
52
+ })), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, {
53
+ title: "DataTable with selectable rows"
54
+ }, /*#__PURE__*/_react.default.createElement(_DataTable.DataTable, {
55
+ data: data,
56
+ columns: columns,
57
+ onSelectRow: function onSelectRow(row) {
58
+ return console.log("Do whatever you like with the selected row data", row);
59
+ }
60
+ })), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, {
61
+ title: "DataTable at initial loading state"
62
+ }, /*#__PURE__*/_react.default.createElement(_DataTable.DataTable, {
63
+ data: data,
64
+ columns: columns,
65
+ loadingInitial: true
66
+ })));
67
+ }, {
68
+ info: {
69
+ propTables: [_DataTable.DataTable]
70
+ }
71
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["story","storiesOf","module","add","data","name","createdBy","lastModified","status","columns","header","cell","row","toUpperCase","meta","alignEnd","readme","console","log","info","propTables","DataTable"],"sources":["DataTable.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../DataTable/README.md\";\nimport { Columns, DataTable } from \"./DataTable\";\n\nconst story = storiesOf(\"Components/DataTable\", module);\n\ninterface Entry {\n name: string;\n createdBy: string;\n lastModified: string;\n status: string;\n}\n\nstory.add(\n \"usage\",\n () => {\n const data: Entry[] = [\n {\n name: \"Page 1\",\n createdBy: \"John Doe\",\n lastModified: \"3 days ago\",\n status: \"Draft\"\n },\n {\n name: \"Page 2\",\n createdBy: \"John Doe\",\n lastModified: \"1 day ago\",\n status: \"Published\"\n },\n {\n name: \"Page 3\",\n createdBy: \"John Doe\",\n lastModified: \"1 hour ago\",\n status: \"Published\"\n }\n ];\n\n const columns: Columns<Entry> = {\n name: {\n header: \"Title\"\n },\n createdBy: {\n header: \"Author\",\n cell: row => <em>{row.createdBy.toUpperCase()}</em>\n },\n lastModified: {\n header: \"Last Modified\"\n },\n status: {\n header: \"Status\",\n meta: {\n alignEnd: true\n }\n }\n };\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"A simple DataTable.\"}>\n <DataTable data={data} columns={columns} />\n </StorySandbox>\n <StorySandbox title={\"DataTable with selectable rows\"}>\n <DataTable\n data={data}\n columns={columns}\n onSelectRow={row =>\n console.log(\"Do whatever you like with the selected row data\", row)\n }\n />\n </StorySandbox>\n <StorySandbox title={\"DataTable at initial loading state\"}>\n <DataTable data={data} columns={columns} loadingInitial={true} />\n </StorySandbox>\n </Story>\n );\n },\n {\n info: {\n propTables: [DataTable]\n }\n }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,sBAAsB,EAAEC,MAAM,CAAC;AASvDF,KAAK,CAACG,GAAG,CACL,OAAO,EACP,YAAM;EACF,IAAMC,IAAa,GAAG,CAClB;IACIC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,UAAU;IACrBC,YAAY,EAAE,YAAY;IAC1BC,MAAM,EAAE;EACZ,CAAC,EACD;IACIH,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,UAAU;IACrBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACZ,CAAC,EACD;IACIH,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,UAAU;IACrBC,YAAY,EAAE,YAAY;IAC1BC,MAAM,EAAE;EACZ,CAAC,CACJ;EAED,IAAMC,OAAuB,GAAG;IAC5BJ,IAAI,EAAE;MACFK,MAAM,EAAE;IACZ,CAAC;IACDJ,SAAS,EAAE;MACPI,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,cAAAC,GAAG;QAAA,oBAAI,yCAAKA,GAAG,CAACN,SAAS,CAACO,WAAW,EAAE,CAAM;MAAA;IACvD,CAAC;IACDN,YAAY,EAAE;MACVG,MAAM,EAAE;IACZ,CAAC;IACDF,MAAM,EAAE;MACJE,MAAM,EAAE,QAAQ;MAChBI,IAAI,EAAE;QACFC,QAAQ,EAAE;MACd;IACJ;EACJ,CAAC;EAED,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAsB,gBACvC,6BAAC,oBAAS;IAAC,IAAI,EAAEZ,IAAK;IAAC,OAAO,EAAEK;EAAQ,EAAG,CAChC,eACf,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAiC,gBAClD,6BAAC,oBAAS;IACN,IAAI,EAAEL,IAAK;IACX,OAAO,EAAEK,OAAQ;IACjB,WAAW,EAAE,qBAAAG,GAAG;MAAA,OACZK,OAAO,CAACC,GAAG,CAAC,iDAAiD,EAAEN,GAAG,CAAC;IAAA;EACtE,EACH,CACS,eACf,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAqC,gBACtD,6BAAC,oBAAS;IAAC,IAAI,EAAER,IAAK;IAAC,OAAO,EAAEK,OAAQ;IAAC,cAAc,EAAE;EAAK,EAAG,CACtD,CACX;AAEhB,CAAC,EACD;EACIU,IAAI,EAAE;IACFC,UAAU,EAAE,CAACC,oBAAS;EAC1B;AACJ,CAAC,CACJ"}
@@ -0,0 +1,72 @@
1
+ # DataTable
2
+
3
+ ### Design
4
+
5
+ https://material.io/components/data-tables
6
+
7
+ ### Description
8
+
9
+ Use `DataTable` components to display sets of data across rows and columns.
10
+
11
+ ### Usage
12
+
13
+ ```tsx
14
+ import { DataTable, Columns } from "@webiny/ui/DataTable";
15
+
16
+ // Declare the data structure.
17
+ interface Entry {
18
+ name: string;
19
+ createdBy: string;
20
+ lastModified: string;
21
+ status: string;
22
+ }
23
+
24
+ // Define the data you want to display.
25
+ const data: Entry[] = [
26
+ {
27
+ name: "Page 1",
28
+ createdBy: "John Doe",
29
+ lastModified: "3 days ago",
30
+ status: "Draft"
31
+ },
32
+ {
33
+ name: "Page 2",
34
+ createdBy: "John Doe",
35
+ lastModified: "1 day ago",
36
+ status: "Published"
37
+ },
38
+ {
39
+ name: "Page 3",
40
+ createdBy: "John Doe",
41
+ lastModified: "1 hour ago",
42
+ status: "Published"
43
+ }
44
+ ];
45
+
46
+ // Define the columns structure for your table.
47
+ const columns: Columns<Entry> = {
48
+ name: {
49
+ header: "Title"
50
+ },
51
+ createdBy: {
52
+ header: "Author",
53
+ cell: row => <em>{row.createdBy.toUpperCase()}</em>
54
+ },
55
+ lastModified: {
56
+ header: "Last Modified"
57
+ },
58
+ status: {
59
+ header: "Status",
60
+ meta: {
61
+ alignEnd: true
62
+ }
63
+ }
64
+ };
65
+
66
+ ...
67
+
68
+ // Use the <DataTable /> component within your code.
69
+ return(
70
+ <DataTable data={data} columns={columns} />
71
+ )
72
+ ```
@@ -0,0 +1 @@
1
+ export * from "./DataTable";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _DataTable = require("./DataTable");
7
+ Object.keys(_DataTable).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _DataTable[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _DataTable[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./DataTable\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react" />
3
+ /// <reference types="web" />
4
+ import { DataTableProps } from "@rmwc/data-table";
5
+ import { ColumnDirectionProps } from "./DataTable";
6
+ interface TableProps extends DataTableProps {
7
+ bordered?: boolean;
8
+ }
9
+ export declare const Table: import("@emotion/styled").StyledComponent<{
10
+ theme?: import("@emotion/react").Theme | undefined;
11
+ } & TableProps, {}, {}>;
12
+ interface ColumnHeaderWrapperProps {
13
+ sortable: boolean;
14
+ }
15
+ export declare const ColumnHeaderWrapper: import("@emotion/styled").StyledComponent<{
16
+ theme?: import("@emotion/react").Theme | undefined;
17
+ as?: import("react").ElementType<any> | undefined;
18
+ } & ColumnHeaderWrapperProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
19
+ export declare const ColumnDirectionWrapper: import("@emotion/styled").StyledComponent<{
20
+ theme?: import("@emotion/react").Theme | undefined;
21
+ as?: import("react").ElementType<any> | undefined;
22
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
23
+ export declare const ColumnDirectionIcon: import("@emotion/styled").StyledComponent<import("react").SVGProps<SVGSVGElement> & {
24
+ alt?: string | undefined;
25
+ } & {
26
+ children?: import("react").ReactNode;
27
+ } & {
28
+ theme?: import("@emotion/react").Theme | undefined;
29
+ } & ColumnDirectionProps, {}, {}>;
30
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Table = exports.ColumnHeaderWrapper = exports.ColumnDirectionWrapper = exports.ColumnDirectionIcon = void 0;
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _arrow_downward = require("@material-design-icons/svg/outlined/arrow_downward.svg");
10
+ var _dataTable = require("@rmwc/data-table");
11
+ var Table = /*#__PURE__*/(0, _styled.default)(_dataTable.DataTable, {
12
+ label: "Table",
13
+ target: "er5nqo40"
14
+ })("width:100%;border-width:", function (props) {
15
+ return props.bordered ? "1px" : "0px";
16
+ }, ";th,td{vertical-align:middle;}.datatable-select-column{width:56px;}");
17
+ exports.Table = Table;
18
+ var ColumnHeaderWrapper = /*#__PURE__*/(0, _styled.default)("div", {
19
+ label: "ColumnHeaderWrapper",
20
+ target: "er5nqo41"
21
+ })("cursor:", function (props) {
22
+ return props.sortable ? "pointer" : "cursort";
23
+ }, ";display:flex;align-items:center;justify-content:start;");
24
+ exports.ColumnHeaderWrapper = ColumnHeaderWrapper;
25
+ var ColumnDirectionWrapper = /*#__PURE__*/(0, _styled.default)("span", {
26
+ label: "ColumnDirectionWrapper",
27
+ target: "er5nqo42"
28
+ })("display:inline-flex;align-items:center;justify-content:center;height:16px;width:16px;margin:0 0 0 4px;");
29
+ exports.ColumnDirectionWrapper = ColumnDirectionWrapper;
30
+ var ColumnDirectionIcon = /*#__PURE__*/(0, _styled.default)(_arrow_downward.ReactComponent, {
31
+ label: "ColumnDirectionIcon",
32
+ target: "er5nqo43"
33
+ })("transform:", function (props) {
34
+ return props.direction === "asc" ? "rotate(180deg)" : "rotate(0deg)";
35
+ }, ";");
36
+ exports.ColumnDirectionIcon = ColumnDirectionIcon;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Table","styled","RmwcDataTable","props","bordered","ColumnHeaderWrapper","sortable","ColumnDirectionWrapper","ColumnDirectionIcon","ArrowDown","direction"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nimport { ReactComponent as ArrowDown } from \"@material-design-icons/svg/outlined/arrow_downward.svg\";\nimport { DataTable as RmwcDataTable, DataTableProps } from \"@rmwc/data-table\";\nimport { ColumnDirectionProps } from \"~/DataTable/DataTable\";\n\ninterface TableProps extends DataTableProps {\n bordered?: boolean;\n}\n\nexport const Table = styled(RmwcDataTable)<TableProps>`\n width: 100%;\n border-width: ${props => (props.bordered ? \"1px\" : \"0px\")};\n\n th,\n td {\n vertical-align: middle;\n }\n\n .datatable-select-column {\n width: 56px;\n }\n`;\n\ninterface ColumnHeaderWrapperProps {\n sortable: boolean;\n}\n\nexport const ColumnHeaderWrapper = styled(\"div\")<ColumnHeaderWrapperProps>`\n cursor: ${props => (props.sortable ? \"pointer\" : \"cursort\")};\n display: flex;\n align-items: center;\n justify-content: start;\n`;\n\nexport const ColumnDirectionWrapper = styled(\"span\")`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 16px;\n width: 16px;\n margin: 0 0 0 4px;\n`;\n\nexport const ColumnDirectionIcon = styled(ArrowDown)<ColumnDirectionProps>`\n transform: ${props => (props.direction === \"asc\" ? \"rotate(180deg)\" : \"rotate(0deg)\")};\n`;\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAOO,IAAMA,KAAK,oBAAGC,eAAM,EAACC,oBAAa;EAAA;EAAA;AAAA,+BAErB,UAAAC,KAAK;EAAA,OAAKA,KAAK,CAACC,QAAQ,GAAG,KAAK,GAAG,KAAK;AAAA,CAAC,wEAU5D;AAAC;AAMK,IAAMC,mBAAmB,oBAAGJ,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,cACjC,UAAAE,KAAK;EAAA,OAAKA,KAAK,CAACG,QAAQ,GAAG,SAAS,GAAG,SAAS;AAAA,CAAC,4DAI9D;AAAC;AAEK,IAAMC,sBAAsB,oBAAGN,eAAM,EAAC,MAAM;EAAA;EAAA;AAAA,4GAOlD;AAAC;AAEK,IAAMO,mBAAmB,oBAAGP,eAAM,EAACQ,8BAAS;EAAA;EAAA;AAAA,iBAClC,UAAAN,KAAK;EAAA,OAAKA,KAAK,CAACO,SAAS,KAAK,KAAK,GAAG,gBAAgB,GAAG,cAAc;AAAA,CAAC,MACxF;AAAC"}
@@ -0,0 +1,40 @@
1
+ /// <reference types="web" />
2
+ import React from "react";
3
+ interface ApplyValueCb {
4
+ (value: string, cb: (value: string) => void): void;
5
+ }
6
+ /**
7
+ * This component is used to wrap Input and Textarea components to optimize form re-render.
8
+ * These 2 are the only components that trigger form model change on each character input.
9
+ * This means, whenever you type a letter an entire form re-renders.
10
+ * On complex forms you will feel and see a significant delay if this component is not used.
11
+ *
12
+ * The logic behind this component is to serve as a middleware between Form and Input/Textarea, and only notify form of a change when
13
+ * a user stops typing for given period of time (400ms by default).
14
+ */
15
+ interface OnChangeCallable {
16
+ (value: string, cb?: ApplyValueCb): void;
17
+ }
18
+ interface OnBlurCallable {
19
+ (ev: React.SyntheticEvent): void;
20
+ }
21
+ interface OnKeyDownCallable {
22
+ (ev: React.KeyboardEvent<HTMLInputElement>): void;
23
+ }
24
+ interface ChildrenCallableParams {
25
+ value: string;
26
+ onChange: OnChangeCallable;
27
+ }
28
+ interface ChildrenCallable {
29
+ (params: ChildrenCallableParams): React.ReactElement;
30
+ }
31
+ export interface DelayedOnChangeProps {
32
+ value?: string;
33
+ delay?: number;
34
+ onChange?: OnChangeCallable;
35
+ onBlur?: OnBlurCallable;
36
+ onKeyDown?: OnKeyDownCallable;
37
+ children: React.ReactNode | ChildrenCallable;
38
+ }
39
+ export declare const DelayedOnChange: React.FC<DelayedOnChangeProps>;
40
+ export default DelayedOnChange;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.DelayedOnChange = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _excluded = ["children"];
14
+ var emptyFunction = function emptyFunction() {
15
+ return undefined;
16
+ };
17
+ var DelayedOnChange = function DelayedOnChange(_ref) {
18
+ var children = _ref.children,
19
+ other = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
+ var onChange = other.onChange,
21
+ _other$delay = other.delay,
22
+ delay = _other$delay === void 0 ? 400 : _other$delay,
23
+ initialValue = other.value;
24
+ var _useState = (0, _react.useState)(initialValue),
25
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
+ value = _useState2[0],
27
+ setValue = _useState2[1];
28
+ // Sync state and props
29
+ (0, _react.useEffect)(function () {
30
+ if (initialValue !== value) {
31
+ setValue(initialValue);
32
+ }
33
+ }, [initialValue]);
34
+ var localTimeout = _react.default.useRef(null);
35
+ var applyValue = function applyValue(value) {
36
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : emptyFunction;
37
+ localTimeout.current && clearTimeout(localTimeout.current);
38
+ localTimeout.current = null;
39
+ if (!onChange) {
40
+ return;
41
+ }
42
+ onChange(value, callback);
43
+ };
44
+ var onChangeLocal = _react.default.useCallback(function (value) {
45
+ setValue(value);
46
+ }, []);
47
+
48
+ // this is fired upon change value state
49
+ var onValueStateChanged = function onValueStateChanged(nextValue) {
50
+ localTimeout.current && clearTimeout(localTimeout.current);
51
+ localTimeout.current = null;
52
+ localTimeout.current = setTimeout(function () {
53
+ return applyValue(nextValue);
54
+ }, delay);
55
+ };
56
+
57
+ // need to clear the timeout when unmounting the component
58
+ (0, _react.useEffect)(function () {
59
+ return function () {
60
+ if (!localTimeout.current) {
61
+ return;
62
+ }
63
+ clearTimeout(localTimeout.current);
64
+ localTimeout.current = null;
65
+ };
66
+ }, []);
67
+ (0, _react.useEffect)(function () {
68
+ onValueStateChanged(value || "");
69
+ }, [value]);
70
+ var newProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, other), {}, {
71
+ value: value || "",
72
+ onChange: onChangeLocal
73
+ });
74
+ var renderProp = typeof children === "function" ? children : null;
75
+ var child = renderProp ? renderProp(newProps) : /*#__PURE__*/_react.default.cloneElement(children, newProps);
76
+ var props = (0, _objectSpread2.default)({}, child.props);
77
+ var realOnKeyDown = props.onKeyDown || emptyFunction;
78
+ var realOnBlur = props.onBlur || emptyFunction;
79
+
80
+ // Need to apply value if input lost focus
81
+ var onBlur = function onBlur(ev) {
82
+ if (!ev["persist"]) {
83
+ return;
84
+ }
85
+ ev.persist();
86
+ applyValue(ev.target.value, function () {
87
+ return realOnBlur(ev);
88
+ });
89
+ };
90
+
91
+ // Need to listen for TAB key to apply new value immediately, without delay. Otherwise validation will be triggered with old value.
92
+ var onKeyDown = function onKeyDown(ev) {
93
+ ev.persist();
94
+ if (ev.key === "Tab") {
95
+ applyValue(ev.target.value, function () {
96
+ return realOnKeyDown(ev);
97
+ });
98
+ } else if (ev.key === "Enter" && props["data-on-enter"]) {
99
+ applyValue(ev.target.value, function () {
100
+ return realOnKeyDown(ev);
101
+ });
102
+ } else {
103
+ realOnKeyDown(ev);
104
+ }
105
+ };
106
+ return /*#__PURE__*/_react.default.cloneElement(child, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
107
+ onBlur: onBlur,
108
+ onKeyDown: onKeyDown
109
+ }));
110
+ };
111
+ exports.DelayedOnChange = DelayedOnChange;
112
+ var _default = DelayedOnChange;
113
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["emptyFunction","undefined","DelayedOnChange","children","other","onChange","delay","initialValue","value","useState","setValue","useEffect","localTimeout","React","useRef","applyValue","callback","current","clearTimeout","onChangeLocal","useCallback","onValueStateChanged","nextValue","setTimeout","newProps","renderProp","child","cloneElement","props","realOnKeyDown","onKeyDown","realOnBlur","onBlur","ev","persist","target","key"],"sources":["DelayedOnChange.ts"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nconst emptyFunction = (): undefined => {\n return undefined;\n};\n\ninterface ApplyValueCb {\n (value: string, cb: (value: string) => void): void;\n}\n/**\n * This component is used to wrap Input and Textarea components to optimize form re-render.\n * These 2 are the only components that trigger form model change on each character input.\n * This means, whenever you type a letter an entire form re-renders.\n * On complex forms you will feel and see a significant delay if this component is not used.\n *\n * The logic behind this component is to serve as a middleware between Form and Input/Textarea, and only notify form of a change when\n * a user stops typing for given period of time (400ms by default).\n */\ninterface OnChangeCallable {\n (value: string, cb?: ApplyValueCb): void;\n}\ninterface OnBlurCallable {\n (ev: React.SyntheticEvent): void;\n}\ninterface OnKeyDownCallable {\n (ev: React.KeyboardEvent<HTMLInputElement>): void;\n}\ninterface ChildrenCallableParams {\n value: string;\n onChange: OnChangeCallable;\n}\ninterface ChildrenCallable {\n (params: ChildrenCallableParams): React.ReactElement;\n}\nexport interface DelayedOnChangeProps {\n value?: string;\n delay?: number;\n onChange?: OnChangeCallable;\n onBlur?: OnBlurCallable;\n onKeyDown?: OnKeyDownCallable;\n children: React.ReactNode | ChildrenCallable;\n}\nexport const DelayedOnChange: React.FC<DelayedOnChangeProps> = ({ children, ...other }) => {\n const { onChange, delay = 400, value: initialValue } = other;\n const [value, setValue] = useState<string | undefined>(initialValue);\n // Sync state and props\n useEffect(() => {\n if (initialValue !== value) {\n setValue(initialValue);\n }\n }, [initialValue]);\n\n const localTimeout = React.useRef<number | null>(null);\n\n const applyValue = (value: string, callback: ApplyValueCb = emptyFunction) => {\n localTimeout.current && clearTimeout(localTimeout.current);\n localTimeout.current = null;\n if (!onChange) {\n return;\n }\n onChange(value, callback);\n };\n\n const onChangeLocal = React.useCallback((value: string) => {\n setValue(value);\n }, []);\n\n // this is fired upon change value state\n const onValueStateChanged = (nextValue: string) => {\n localTimeout.current && clearTimeout(localTimeout.current);\n localTimeout.current = null;\n localTimeout.current = setTimeout(() => applyValue(nextValue), delay) as unknown as number;\n };\n\n // need to clear the timeout when unmounting the component\n useEffect(() => {\n return () => {\n if (!localTimeout.current) {\n return;\n }\n clearTimeout(localTimeout.current);\n localTimeout.current = null;\n };\n }, []);\n\n useEffect(() => {\n onValueStateChanged(value || \"\");\n }, [value]);\n\n const newProps = {\n ...other,\n value: value || \"\",\n onChange: onChangeLocal\n };\n\n const renderProp = typeof children === \"function\" ? (children as ChildrenCallable) : null;\n const child = renderProp\n ? renderProp(newProps)\n : React.cloneElement(children as unknown as React.ReactElement, newProps);\n\n const props = { ...child.props };\n const realOnKeyDown = props.onKeyDown || emptyFunction;\n const realOnBlur = props.onBlur || emptyFunction;\n\n // Need to apply value if input lost focus\n const onBlur: OnBlurCallable = ev => {\n if (!ev[\"persist\"]) {\n return;\n }\n ev.persist();\n applyValue((ev.target as HTMLInputElement).value, () => realOnBlur(ev));\n };\n\n // Need to listen for TAB key to apply new value immediately, without delay. Otherwise validation will be triggered with old value.\n const onKeyDown: OnKeyDownCallable = ev => {\n ev.persist();\n if (ev.key === \"Tab\") {\n applyValue((ev.target as HTMLInputElement).value, () => realOnKeyDown(ev));\n } else if (ev.key === \"Enter\" && props[\"data-on-enter\"]) {\n applyValue((ev.target as HTMLInputElement).value, () => realOnKeyDown(ev));\n } else {\n realOnKeyDown(ev);\n }\n };\n\n return React.cloneElement(child, { ...props, onBlur, onKeyDown });\n};\n\nexport default DelayedOnChange;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as DelayedOnChange } from "./DelayedOnChange";
2
+ export { default as withDelayedOnChange } from "./withDelayedOnChange";