@webiny/ui 0.0.0-ee-vpcs.549378cf03

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 (692) hide show
  1. package/Accordion/Accordion.d.ts +19 -0
  2. package/Accordion/Accordion.js +40 -0
  3. package/Accordion/Accordion.js.map +1 -0
  4. package/Accordion/Accordion.stories.d.ts +1 -0
  5. package/Accordion/Accordion.stories.js +54 -0
  6. package/Accordion/Accordion.stories.js.map +1 -0
  7. package/Accordion/AccordionItem.d.ts +49 -0
  8. package/Accordion/AccordionItem.js +152 -0
  9. package/Accordion/AccordionItem.js.map +1 -0
  10. package/Accordion/AccordionItemActions.d.ts +8 -0
  11. package/Accordion/AccordionItemActions.js +36 -0
  12. package/Accordion/AccordionItemActions.js.map +1 -0
  13. package/Accordion/README.md +11 -0
  14. package/Accordion/icons/round-keyboard_arrow_down-24px.svg +16 -0
  15. package/Accordion/icons/round-keyboard_arrow_up-24px.svg +16 -0
  16. package/Accordion/icons/round-settings-24px.svg +21 -0
  17. package/Accordion/index.d.ts +2 -0
  18. package/Accordion/index.js +31 -0
  19. package/Accordion/index.js.map +1 -0
  20. package/Alert/Alert.d.ts +14 -0
  21. package/Alert/Alert.js +63 -0
  22. package/Alert/Alert.js.map +1 -0
  23. package/Alert/Alert.stories.d.ts +1 -0
  24. package/Alert/Alert.stories.js +38 -0
  25. package/Alert/Alert.stories.js.map +1 -0
  26. package/Alert/README.md +11 -0
  27. package/Alert/index.d.ts +1 -0
  28. package/Alert/index.js +18 -0
  29. package/Alert/index.js.map +1 -0
  30. package/AutoComplete/AutoComplete.d.ts +30 -0
  31. package/AutoComplete/AutoComplete.js +348 -0
  32. package/AutoComplete/AutoComplete.js.map +1 -0
  33. package/AutoComplete/AutoComplete.stories.d.ts +1 -0
  34. package/AutoComplete/AutoComplete.stories.js +86 -0
  35. package/AutoComplete/AutoComplete.stories.js.map +1 -0
  36. package/AutoComplete/AutoCompleteReadme.md +11 -0
  37. package/AutoComplete/MultiAutoComplete.d.ts +84 -0
  38. package/AutoComplete/MultiAutoComplete.js +638 -0
  39. package/AutoComplete/MultiAutoComplete.js.map +1 -0
  40. package/AutoComplete/MultiAutoComplete.stories.d.ts +1 -0
  41. package/AutoComplete/MultiAutoComplete.stories.js +143 -0
  42. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -0
  43. package/AutoComplete/MultiAutoCompleteReadme.md +11 -0
  44. package/AutoComplete/icons/baseline-close-24px.svg +4 -0
  45. package/AutoComplete/icons/delete.svg +12 -0
  46. package/AutoComplete/icons/navigate_before-24px.svg +1 -0
  47. package/AutoComplete/icons/navigate_next-24px.svg +1 -0
  48. package/AutoComplete/icons/reorder_black_24dp.svg +1 -0
  49. package/AutoComplete/icons/skip_next-24px.svg +1 -0
  50. package/AutoComplete/icons/skip_previous-24px.svg +1 -0
  51. package/AutoComplete/icons/spinner.svg +3 -0
  52. package/AutoComplete/index.d.ts +2 -0
  53. package/AutoComplete/index.js +31 -0
  54. package/AutoComplete/index.js.map +1 -0
  55. package/AutoComplete/styles.d.ts +2 -0
  56. package/AutoComplete/styles.js +47 -0
  57. package/AutoComplete/styles.js.map +1 -0
  58. package/AutoComplete/types.d.ts +63 -0
  59. package/AutoComplete/types.js +5 -0
  60. package/AutoComplete/types.js.map +1 -0
  61. package/AutoComplete/utils.d.ts +15 -0
  62. package/AutoComplete/utils.js +34 -0
  63. package/AutoComplete/utils.js.map +1 -0
  64. package/Avatar/Avatar.d.ts +43 -0
  65. package/Avatar/Avatar.js +100 -0
  66. package/Avatar/Avatar.js.map +1 -0
  67. package/Avatar/Avatar.stories.d.ts +1 -0
  68. package/Avatar/Avatar.stories.js +36 -0
  69. package/Avatar/Avatar.stories.js.map +1 -0
  70. package/Avatar/README.md +11 -0
  71. package/Avatar/index.d.ts +1 -0
  72. package/Avatar/index.js +18 -0
  73. package/Avatar/index.js.map +1 -0
  74. package/Button/Button.d.ts +73 -0
  75. package/Button/Button.js +150 -0
  76. package/Button/Button.js.map +1 -0
  77. package/Button/Button.stories.d.ts +1 -0
  78. package/Button/Button.stories.js +66 -0
  79. package/Button/Button.stories.js.map +1 -0
  80. package/Button/Button.styles.d.ts +6 -0
  81. package/Button/Button.styles.js +15 -0
  82. package/Button/Button.styles.js.map +1 -0
  83. package/Button/CopyButton/CopyButton.d.ts +11 -0
  84. package/Button/CopyButton/CopyButton.js +42 -0
  85. package/Button/CopyButton/CopyButton.js.map +1 -0
  86. package/Button/CopyButton/CopyButton.stories.d.ts +1 -0
  87. package/Button/CopyButton/CopyButton.stories.js +28 -0
  88. package/Button/CopyButton/CopyButton.stories.js.map +1 -0
  89. package/Button/CopyButton/README.md +11 -0
  90. package/Button/IconButton/IconButton.d.ts +36 -0
  91. package/Button/IconButton/IconButton.js +37 -0
  92. package/Button/IconButton/IconButton.js.map +1 -0
  93. package/Button/IconButton/IconButton.stories.d.ts +1 -0
  94. package/Button/IconButton/IconButton.stories.js +50 -0
  95. package/Button/IconButton/IconButton.stories.js.map +1 -0
  96. package/Button/IconButton/README.md +15 -0
  97. package/Button/README.md +28 -0
  98. package/Button/assets/baseline-cloud_done-24px.svg +3 -0
  99. package/Button/assets/file_copy-24px.svg +1 -0
  100. package/Button/assets/round-more_vert-24px.svg +12 -0
  101. package/Button/index.d.ts +3 -0
  102. package/Button/index.js +44 -0
  103. package/Button/index.js.map +1 -0
  104. package/Carousel/Carousel.d.ts +19 -0
  105. package/Carousel/Carousel.js +59 -0
  106. package/Carousel/Carousel.js.map +1 -0
  107. package/Carousel/Carouser.stories.d.ts +1 -0
  108. package/Carousel/Carouser.stories.js +39 -0
  109. package/Carousel/Carouser.stories.js.map +1 -0
  110. package/Carousel/README.md +15 -0
  111. package/Carousel/index.d.ts +1 -0
  112. package/Carousel/index.js +15 -0
  113. package/Carousel/index.js.map +1 -0
  114. package/Checkbox/Checkbox.d.ts +21 -0
  115. package/Checkbox/Checkbox.js +90 -0
  116. package/Checkbox/Checkbox.js.map +1 -0
  117. package/Checkbox/Checkbox.stories.d.ts +1 -0
  118. package/Checkbox/Checkbox.stories.js +39 -0
  119. package/Checkbox/Checkbox.stories.js.map +1 -0
  120. package/Checkbox/Checkbox.styles.d.ts +6 -0
  121. package/Checkbox/Checkbox.styles.js +22 -0
  122. package/Checkbox/Checkbox.styles.js.map +1 -0
  123. package/Checkbox/CheckboxGroup.d.ts +15 -0
  124. package/Checkbox/CheckboxGroup.js +79 -0
  125. package/Checkbox/CheckboxGroup.js.map +1 -0
  126. package/Checkbox/CheckboxGroup.stories.d.ts +1 -0
  127. package/Checkbox/CheckboxGroup.stories.js +66 -0
  128. package/Checkbox/CheckboxGroup.stories.js.map +1 -0
  129. package/Checkbox/README_Checkbox.md +15 -0
  130. package/Checkbox/README_CheckboxGroup.md +19 -0
  131. package/Checkbox/index.d.ts +2 -0
  132. package/Checkbox/index.js +23 -0
  133. package/Checkbox/index.js.map +1 -0
  134. package/Chips/Chip.d.ts +4 -0
  135. package/Chips/Chip.js +24 -0
  136. package/Chips/Chip.js.map +1 -0
  137. package/Chips/Chips.d.ts +21 -0
  138. package/Chips/Chips.js +34 -0
  139. package/Chips/Chips.js.map +1 -0
  140. package/Chips/Chips.stories.d.ts +1 -0
  141. package/Chips/Chips.stories.js +40 -0
  142. package/Chips/Chips.stories.js.map +1 -0
  143. package/Chips/README.md +15 -0
  144. package/Chips/icons/baseline-done-24px.svg +4 -0
  145. package/Chips/icons/baseline-email-24px.svg +3 -0
  146. package/Chips/index.d.ts +2 -0
  147. package/Chips/index.js +31 -0
  148. package/Chips/index.js.map +1 -0
  149. package/Chips/styles.d.ts +2 -0
  150. package/Chips/styles.js +29 -0
  151. package/Chips/styles.js.map +1 -0
  152. package/CodeEditor/CodeEditor.d.ts +19 -0
  153. package/CodeEditor/CodeEditor.js +109 -0
  154. package/CodeEditor/CodeEditor.js.map +1 -0
  155. package/CodeEditor/CodeEditor.stories.d.ts +2 -0
  156. package/CodeEditor/CodeEditor.stories.js +45 -0
  157. package/CodeEditor/CodeEditor.stories.js.map +1 -0
  158. package/CodeEditor/README.md +21 -0
  159. package/CodeEditor/index.d.ts +1 -0
  160. package/CodeEditor/index.js +18 -0
  161. package/CodeEditor/index.js.map +1 -0
  162. package/ColorPicker/ColorPicker.d.ts +24 -0
  163. package/ColorPicker/ColorPicker.js +152 -0
  164. package/ColorPicker/ColorPicker.js.map +1 -0
  165. package/ColorPicker/ColorPicker.stories.d.ts +1 -0
  166. package/ColorPicker/ColorPicker.stories.js +41 -0
  167. package/ColorPicker/ColorPicker.stories.js.map +1 -0
  168. package/ColorPicker/README.md +11 -0
  169. package/ColorPicker/index.d.ts +1 -0
  170. package/ColorPicker/index.js +18 -0
  171. package/ColorPicker/index.js.map +1 -0
  172. package/ConfirmationDialog/ConfirmationDialog.d.ts +45 -0
  173. package/ConfirmationDialog/ConfirmationDialog.js +176 -0
  174. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  175. package/ConfirmationDialog/ConfirmationDialog.stories.d.ts +1 -0
  176. package/ConfirmationDialog/ConfirmationDialog.stories.js +40 -0
  177. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -0
  178. package/ConfirmationDialog/README.md +11 -0
  179. package/ConfirmationDialog/index.d.ts +2 -0
  180. package/ConfirmationDialog/index.js +31 -0
  181. package/ConfirmationDialog/index.js.map +1 -0
  182. package/ConfirmationDialog/withConfirmation.d.ts +11 -0
  183. package/ConfirmationDialog/withConfirmation.js +28 -0
  184. package/ConfirmationDialog/withConfirmation.js.map +1 -0
  185. package/DataTable/DataTable.d.ts +22 -0
  186. package/DataTable/DataTable.js +162 -0
  187. package/DataTable/DataTable.js.map +1 -0
  188. package/DataTable/DataTable.stories.d.ts +1 -0
  189. package/DataTable/DataTable.stories.js +77 -0
  190. package/DataTable/DataTable.stories.js.map +1 -0
  191. package/DataTable/README.md +72 -0
  192. package/DataTable/index.d.ts +1 -0
  193. package/DataTable/index.js +18 -0
  194. package/DataTable/index.js.map +1 -0
  195. package/DataTable/styled.d.ts +2 -0
  196. package/DataTable/styled.js +18 -0
  197. package/DataTable/styled.js.map +1 -0
  198. package/DelayedOnChange/DelayedOnChange.d.ts +40 -0
  199. package/DelayedOnChange/DelayedOnChange.js +129 -0
  200. package/DelayedOnChange/DelayedOnChange.js.map +1 -0
  201. package/DelayedOnChange/index.d.ts +2 -0
  202. package/DelayedOnChange/index.js +23 -0
  203. package/DelayedOnChange/index.js.map +1 -0
  204. package/DelayedOnChange/withDelayedOnChange.d.ts +3 -0
  205. package/DelayedOnChange/withDelayedOnChange.js +37 -0
  206. package/DelayedOnChange/withDelayedOnChange.js.map +1 -0
  207. package/Dialog/Dialog.d.ts +80 -0
  208. package/Dialog/Dialog.js +140 -0
  209. package/Dialog/Dialog.js.map +1 -0
  210. package/Dialog/Dialog.stories.d.ts +1 -0
  211. package/Dialog/Dialog.stories.js +40 -0
  212. package/Dialog/Dialog.stories.js.map +1 -0
  213. package/Dialog/README.md +23 -0
  214. package/Dialog/index.d.ts +1 -0
  215. package/Dialog/index.js +18 -0
  216. package/Dialog/index.js.map +1 -0
  217. package/Drawer/Drawer.d.ts +47 -0
  218. package/Drawer/Drawer.js +39 -0
  219. package/Drawer/Drawer.js.map +1 -0
  220. package/Drawer/Drawer.stories.d.ts +1 -0
  221. package/Drawer/Drawer.stories.js +34 -0
  222. package/Drawer/Drawer.stories.js.map +1 -0
  223. package/Drawer/README.md +15 -0
  224. package/Drawer/index.d.ts +1 -0
  225. package/Drawer/index.js +18 -0
  226. package/Drawer/index.js.map +1 -0
  227. package/DynamicFieldset/Fieldset.d.ts +51 -0
  228. package/DynamicFieldset/Fieldset.js +165 -0
  229. package/DynamicFieldset/Fieldset.js.map +1 -0
  230. package/DynamicFieldset/index.d.ts +1 -0
  231. package/DynamicFieldset/index.js +15 -0
  232. package/DynamicFieldset/index.js.map +1 -0
  233. package/Elevation/Elevation.d.ts +13 -0
  234. package/Elevation/Elevation.js +24 -0
  235. package/Elevation/Elevation.js.map +1 -0
  236. package/Elevation/Elevation.stories.d.ts +1 -0
  237. package/Elevation/Elevation.stories.js +40 -0
  238. package/Elevation/Elevation.stories.js.map +1 -0
  239. package/Elevation/README.md +15 -0
  240. package/Elevation/index.d.ts +1 -0
  241. package/Elevation/index.js +18 -0
  242. package/Elevation/index.js.map +1 -0
  243. package/FormElementMessage/FormElementMessage.d.ts +8 -0
  244. package/FormElementMessage/FormElementMessage.js +23 -0
  245. package/FormElementMessage/FormElementMessage.js.map +1 -0
  246. package/FormElementMessage/index.d.ts +1 -0
  247. package/FormElementMessage/index.js +13 -0
  248. package/FormElementMessage/index.js.map +1 -0
  249. package/FullName/FullName.d.ts +8 -0
  250. package/FullName/FullName.js +28 -0
  251. package/FullName/FullName.js.map +1 -0
  252. package/FullName/README.md +11 -0
  253. package/FullName/index.d.ts +1 -0
  254. package/FullName/index.js +18 -0
  255. package/FullName/index.js.map +1 -0
  256. package/Grid/Grid.d.ts +33 -0
  257. package/Grid/Grid.js +37 -0
  258. package/Grid/Grid.js.map +1 -0
  259. package/Grid/Grid.stories.d.ts +1 -0
  260. package/Grid/Grid.stories.js +40 -0
  261. package/Grid/Grid.stories.js.map +1 -0
  262. package/Grid/README.md +15 -0
  263. package/Grid/index.d.ts +1 -0
  264. package/Grid/index.js +18 -0
  265. package/Grid/index.js.map +1 -0
  266. package/Helpers/ClassNames.d.ts +11 -0
  267. package/Helpers/ClassNames.js +41 -0
  268. package/Helpers/ClassNames.js.map +1 -0
  269. package/Helpers/index.d.ts +2 -0
  270. package/Helpers/index.js +13 -0
  271. package/Helpers/index.js.map +1 -0
  272. package/Icon/Icon.d.ts +21 -0
  273. package/Icon/Icon.js +35 -0
  274. package/Icon/Icon.js.map +1 -0
  275. package/Icon/Icon.stories.d.ts +1 -0
  276. package/Icon/Icon.stories.js +40 -0
  277. package/Icon/Icon.stories.js.map +1 -0
  278. package/Icon/README.md +11 -0
  279. package/Icon/index.d.ts +1 -0
  280. package/Icon/index.js +18 -0
  281. package/Icon/index.js.map +1 -0
  282. package/Icon/svg/baseline-autorenew-24px.svg +4 -0
  283. package/Icon/svg/baseline-cloud_done-24px.svg +4 -0
  284. package/Icon/svg/baseline-delete-24px.svg +4 -0
  285. package/Icon/svg/baseline-done-24px.svg +4 -0
  286. package/Image/Image.d.ts +7 -0
  287. package/Image/Image.js +30 -0
  288. package/Image/Image.js.map +1 -0
  289. package/Image/Image.stories.d.ts +1 -0
  290. package/Image/Image.stories.js +31 -0
  291. package/Image/Image.stories.js.map +1 -0
  292. package/Image/README.md +12 -0
  293. package/Image/index.d.ts +1 -0
  294. package/Image/index.js +18 -0
  295. package/Image/index.js.map +1 -0
  296. package/ImageEditor/ImageEditor.d.ts +46 -0
  297. package/ImageEditor/ImageEditor.js +362 -0
  298. package/ImageEditor/ImageEditor.js.map +1 -0
  299. package/ImageEditor/index.d.ts +1 -0
  300. package/ImageEditor/index.js +18 -0
  301. package/ImageEditor/index.js.map +1 -0
  302. package/ImageEditor/toolbar/crop.d.ts +4 -0
  303. package/ImageEditor/toolbar/crop.js +88 -0
  304. package/ImageEditor/toolbar/crop.js.map +1 -0
  305. package/ImageEditor/toolbar/filter.d.ts +3 -0
  306. package/ImageEditor/toolbar/filter.js +238 -0
  307. package/ImageEditor/toolbar/filter.js.map +1 -0
  308. package/ImageEditor/toolbar/flip.d.ts +4 -0
  309. package/ImageEditor/toolbar/flip.js +115 -0
  310. package/ImageEditor/toolbar/flip.js.map +1 -0
  311. package/ImageEditor/toolbar/icons/crop.svg +4 -0
  312. package/ImageEditor/toolbar/icons/draw.svg +4 -0
  313. package/ImageEditor/toolbar/icons/filter.svg +4 -0
  314. package/ImageEditor/toolbar/icons/flip.svg +4 -0
  315. package/ImageEditor/toolbar/icons/index.d.ts +8 -0
  316. package/ImageEditor/toolbar/icons/index.js +69 -0
  317. package/ImageEditor/toolbar/icons/index.js.map +1 -0
  318. package/ImageEditor/toolbar/icons/redo.svg +4 -0
  319. package/ImageEditor/toolbar/icons/rotateLeft.svg +4 -0
  320. package/ImageEditor/toolbar/icons/rotateRight.svg +4 -0
  321. package/ImageEditor/toolbar/icons/undo.svg +4 -0
  322. package/ImageEditor/toolbar/index.d.ts +4 -0
  323. package/ImageEditor/toolbar/index.js +39 -0
  324. package/ImageEditor/toolbar/index.js.map +1 -0
  325. package/ImageEditor/toolbar/rotate.d.ts +4 -0
  326. package/ImageEditor/toolbar/rotate.js +174 -0
  327. package/ImageEditor/toolbar/rotate.js.map +1 -0
  328. package/ImageEditor/toolbar/types.d.ts +33 -0
  329. package/ImageEditor/toolbar/types.js +5 -0
  330. package/ImageEditor/toolbar/types.js.map +1 -0
  331. package/ImageUpload/Image.d.ts +26 -0
  332. package/ImageUpload/Image.js +141 -0
  333. package/ImageUpload/Image.js.map +1 -0
  334. package/ImageUpload/ImageEditorDialog.d.ts +24 -0
  335. package/ImageUpload/ImageEditorDialog.js +117 -0
  336. package/ImageUpload/ImageEditorDialog.js.map +1 -0
  337. package/ImageUpload/MultiImageUpload.d.ts +40 -0
  338. package/ImageUpload/MultiImageUpload.js +419 -0
  339. package/ImageUpload/MultiImageUpload.js.map +1 -0
  340. package/ImageUpload/MultiImageUpload.stories.d.ts +1 -0
  341. package/ImageUpload/MultiImageUpload.stories.js +77 -0
  342. package/ImageUpload/MultiImageUpload.stories.js.map +1 -0
  343. package/ImageUpload/README.md +11 -0
  344. package/ImageUpload/SingleImageUpload.d.ts +43 -0
  345. package/ImageUpload/SingleImageUpload.js +255 -0
  346. package/ImageUpload/SingleImageUpload.js.map +1 -0
  347. package/ImageUpload/SingleImageUpload.stories.d.ts +1 -0
  348. package/ImageUpload/SingleImageUpload.stories.js +54 -0
  349. package/ImageUpload/SingleImageUpload.stories.js.map +1 -0
  350. package/ImageUpload/icons/round-add_photo_alternate-24px.svg +23 -0
  351. package/ImageUpload/icons/round-close-24px.svg +13 -0
  352. package/ImageUpload/icons/round-edit-24px.svg +4 -0
  353. package/ImageUpload/image.jpeg +0 -0
  354. package/ImageUpload/index.d.ts +4 -0
  355. package/ImageUpload/index.js +39 -0
  356. package/ImageUpload/index.js.map +1 -0
  357. package/ImageUpload/styled.d.ts +21 -0
  358. package/ImageUpload/styled.js +136 -0
  359. package/ImageUpload/styled.js.map +1 -0
  360. package/Input/Input.d.ts +20 -0
  361. package/Input/Input.js +144 -0
  362. package/Input/Input.js.map +1 -0
  363. package/Input/Input.stories.d.ts +1 -0
  364. package/Input/Input.stories.js +120 -0
  365. package/Input/Input.stories.js.map +1 -0
  366. package/Input/README.md +16 -0
  367. package/Input/__tests__/Input.test.d.ts +1 -0
  368. package/Input/__tests__/Input.test.js +130 -0
  369. package/Input/__tests__/Input.test.js.map +1 -0
  370. package/Input/index.d.ts +1 -0
  371. package/Input/index.js +18 -0
  372. package/Input/index.js.map +1 -0
  373. package/Input/svg/baseline-autorenew-24px.svg +4 -0
  374. package/Input/svg/baseline-cloud_done-24px.svg +4 -0
  375. package/Input/svg/baseline-delete-24px.svg +4 -0
  376. package/Input/svg/baseline-done-24px.svg +4 -0
  377. package/LICENSE +21 -0
  378. package/List/CollapsibleList/CollapsibleList.stories.d.ts +1 -0
  379. package/List/CollapsibleList/CollapsibleList.stories.js +37 -0
  380. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -0
  381. package/List/CollapsibleList/README.md +11 -0
  382. package/List/CollapsibleList/index.css +31 -0
  383. package/List/CollapsibleList/index.d.ts +8 -0
  384. package/List/CollapsibleList/index.js +22 -0
  385. package/List/CollapsibleList/index.js.map +1 -0
  386. package/List/DataList/DataList.d.ts +42 -0
  387. package/List/DataList/DataList.js +315 -0
  388. package/List/DataList/DataList.js.map +1 -0
  389. package/List/DataList/DataList.stories.d.ts +1 -0
  390. package/List/DataList/DataList.stories.js +119 -0
  391. package/List/DataList/DataList.stories.js.map +1 -0
  392. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +18 -0
  393. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +106 -0
  394. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -0
  395. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.d.ts +6 -0
  396. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +39 -0
  397. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -0
  398. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.d.ts +11 -0
  399. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +39 -0
  400. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -0
  401. package/List/DataList/DataListModalOverlay/index.d.ts +3 -0
  402. package/List/DataList/DataListModalOverlay/index.js +35 -0
  403. package/List/DataList/DataListModalOverlay/index.js.map +1 -0
  404. package/List/DataList/DataListWithSections.d.ts +45 -0
  405. package/List/DataList/DataListWithSections.js +356 -0
  406. package/List/DataList/DataListWithSections.js.map +1 -0
  407. package/List/DataList/Loader.d.ts +3 -0
  408. package/List/DataList/Loader.js +60 -0
  409. package/List/DataList/Loader.js.map +1 -0
  410. package/List/DataList/NoData.d.ts +3 -0
  411. package/List/DataList/NoData.js +32 -0
  412. package/List/DataList/NoData.js.map +1 -0
  413. package/List/DataList/README.md +17 -0
  414. package/List/DataList/icons/baseline-autorenew-24px.svg +4 -0
  415. package/List/DataList/icons/baseline-delete-24px.svg +4 -0
  416. package/List/DataList/icons/baseline-edit-24px.svg +4 -0
  417. package/List/DataList/icons/baseline-navigate_before-24px.svg +4 -0
  418. package/List/DataList/icons/baseline-navigate_next-24px.svg +4 -0
  419. package/List/DataList/icons/baseline-sort-24px.svg +4 -0
  420. package/List/DataList/icons/baseline-tune-24px.svg +4 -0
  421. package/List/DataList/icons/filter_alt-24px.svg +1 -0
  422. package/List/DataList/icons/index.d.ts +15 -0
  423. package/List/DataList/icons/index.js +100 -0
  424. package/List/DataList/icons/index.js.map +1 -0
  425. package/List/DataList/icons/round-more_vert-24px.svg +12 -0
  426. package/List/DataList/index.d.ts +4 -0
  427. package/List/DataList/index.js +64 -0
  428. package/List/DataList/index.js.map +1 -0
  429. package/List/DataList/types.d.ts +28 -0
  430. package/List/DataList/types.js +5 -0
  431. package/List/DataList/types.js.map +1 -0
  432. package/List/List.d.ts +132 -0
  433. package/List/List.js +210 -0
  434. package/List/List.js.map +1 -0
  435. package/List/List.stories.d.ts +1 -0
  436. package/List/List.stories.js +62 -0
  437. package/List/List.stories.js.map +1 -0
  438. package/List/README.md +22 -0
  439. package/List/icons/baseline-autorenew-24px.svg +4 -0
  440. package/List/icons/baseline-cloud_done-24px.svg +4 -0
  441. package/List/icons/baseline-delete-24px.svg +4 -0
  442. package/List/icons/baseline-done-24px.svg +4 -0
  443. package/List/icons/baseline-email-24px.svg +4 -0
  444. package/List/icons/index.d.ts +3 -0
  445. package/List/icons/index.js +23 -0
  446. package/List/icons/index.js.map +1 -0
  447. package/List/index.d.ts +3 -0
  448. package/List/index.js +74 -0
  449. package/List/index.js.map +1 -0
  450. package/Menu/Menu.d.ts +36 -0
  451. package/Menu/Menu.js +140 -0
  452. package/Menu/Menu.js.map +1 -0
  453. package/Menu/Menu.stories.d.ts +1 -0
  454. package/Menu/Menu.stories.js +39 -0
  455. package/Menu/Menu.stories.js.map +1 -0
  456. package/Menu/README.md +15 -0
  457. package/Menu/index.d.ts +1 -0
  458. package/Menu/index.js +18 -0
  459. package/Menu/index.js.map +1 -0
  460. package/Mosaic/Mosaic.d.ts +9 -0
  461. package/Mosaic/Mosaic.js +36 -0
  462. package/Mosaic/Mosaic.js.map +1 -0
  463. package/Mosaic/Mosaic.stories.d.ts +1 -0
  464. package/Mosaic/Mosaic.stories.js +84 -0
  465. package/Mosaic/Mosaic.stories.js.map +1 -0
  466. package/Mosaic/README.md +15 -0
  467. package/Mosaic/index.d.ts +1 -0
  468. package/Mosaic/index.js +18 -0
  469. package/Mosaic/index.js.map +1 -0
  470. package/Progress/CircularProgress.d.ts +11 -0
  471. package/Progress/CircularProgress.js +81 -0
  472. package/Progress/CircularProgress.js.map +1 -0
  473. package/Progress/README.md +19 -0
  474. package/Progress/index.d.ts +1 -0
  475. package/Progress/index.js +15 -0
  476. package/Progress/index.js.map +1 -0
  477. package/Progress/svg/circularProgress.svg +3 -0
  478. package/README.md +28 -0
  479. package/Radio/README.md +17 -0
  480. package/Radio/Radio.d.ts +17 -0
  481. package/Radio/Radio.js +82 -0
  482. package/Radio/Radio.js.map +1 -0
  483. package/Radio/Radio.styles.d.ts +6 -0
  484. package/Radio/Radio.styles.js +22 -0
  485. package/Radio/Radio.styles.js.map +1 -0
  486. package/Radio/RadioGroup.d.ts +15 -0
  487. package/Radio/RadioGroup.js +68 -0
  488. package/Radio/RadioGroup.js.map +1 -0
  489. package/Radio/RadioGroup.stories.d.ts +1 -0
  490. package/Radio/RadioGroup.stories.js +66 -0
  491. package/Radio/RadioGroup.stories.js.map +1 -0
  492. package/Radio/index.d.ts +2 -0
  493. package/Radio/index.js +23 -0
  494. package/Radio/index.js.map +1 -0
  495. package/RichTextEditor/README.md +10 -0
  496. package/RichTextEditor/RichTextEditor.d.ts +31 -0
  497. package/RichTextEditor/RichTextEditor.js +171 -0
  498. package/RichTextEditor/RichTextEditor.js.map +1 -0
  499. package/RichTextEditor/RichTextEditor.stories.d.ts +1 -0
  500. package/RichTextEditor/RichTextEditor.stories.js +30 -0
  501. package/RichTextEditor/RichTextEditor.stories.js.map +1 -0
  502. package/RichTextEditor/createPropsFromConfig.d.ts +15 -0
  503. package/RichTextEditor/createPropsFromConfig.js +33 -0
  504. package/RichTextEditor/createPropsFromConfig.js.map +1 -0
  505. package/RichTextEditor/index.d.ts +3 -0
  506. package/RichTextEditor/index.js +30 -0
  507. package/RichTextEditor/index.js.map +1 -0
  508. package/Ripple/README.md +15 -0
  509. package/Ripple/Ripple.d.ts +10 -0
  510. package/Ripple/Ripple.js +25 -0
  511. package/Ripple/Ripple.js.map +1 -0
  512. package/Ripple/Ripple.stories.d.ts +1 -0
  513. package/Ripple/Ripple.stories.js +86 -0
  514. package/Ripple/Ripple.stories.js.map +1 -0
  515. package/Ripple/index.d.ts +1 -0
  516. package/Ripple/index.js +18 -0
  517. package/Ripple/index.js.map +1 -0
  518. package/Ripple/svg/baseline-autorenew-24px.svg +4 -0
  519. package/Ripple/svg/baseline-cloud_done-24px.svg +4 -0
  520. package/Ripple/svg/baseline-delete-24px.svg +4 -0
  521. package/Ripple/svg/baseline-done-24px.svg +4 -0
  522. package/Scrollbar/README.md +15 -0
  523. package/Scrollbar/Scrollbar.d.ts +11 -0
  524. package/Scrollbar/Scrollbar.js +21 -0
  525. package/Scrollbar/Scrollbar.js.map +1 -0
  526. package/Scrollbar/Scrollbar.stories.d.ts +1 -0
  527. package/Scrollbar/Scrollbar.stories.js +29 -0
  528. package/Scrollbar/Scrollbar.stories.js.map +1 -0
  529. package/Scrollbar/index.d.ts +1 -0
  530. package/Scrollbar/index.js +18 -0
  531. package/Scrollbar/index.js.map +1 -0
  532. package/Section/README.md +11 -0
  533. package/Section/Section.stories.d.ts +1 -0
  534. package/Section/Section.stories.js +35 -0
  535. package/Section/Section.stories.js.map +1 -0
  536. package/Section/index.d.ts +6 -0
  537. package/Section/index.js +63 -0
  538. package/Section/index.js.map +1 -0
  539. package/Select/README.md +15 -0
  540. package/Select/Select.d.ts +19 -0
  541. package/Select/Select.js +138 -0
  542. package/Select/Select.js.map +1 -0
  543. package/Select/Select.stories.d.ts +1 -0
  544. package/Select/Select.stories.js +57 -0
  545. package/Select/Select.stories.js.map +1 -0
  546. package/Select/index.d.ts +1 -0
  547. package/Select/index.js +18 -0
  548. package/Select/index.js.map +1 -0
  549. package/Skeleton/README.md +21 -0
  550. package/Skeleton/Skeleton.d.ts +4 -0
  551. package/Skeleton/Skeleton.js +25 -0
  552. package/Skeleton/Skeleton.js.map +1 -0
  553. package/Skeleton/Skeleton.stories.d.ts +1 -0
  554. package/Skeleton/Skeleton.stories.js +28 -0
  555. package/Skeleton/Skeleton.stories.js.map +1 -0
  556. package/Skeleton/index.d.ts +1 -0
  557. package/Skeleton/index.js +18 -0
  558. package/Skeleton/index.js.map +1 -0
  559. package/Slider/README.md +15 -0
  560. package/Slider/Slider.d.ts +30 -0
  561. package/Slider/Slider.js +101 -0
  562. package/Slider/Slider.js.map +1 -0
  563. package/Slider/Slider.stories.d.ts +1 -0
  564. package/Slider/Slider.stories.js +55 -0
  565. package/Slider/Slider.stories.js.map +1 -0
  566. package/Slider/index.d.ts +1 -0
  567. package/Slider/index.js +15 -0
  568. package/Slider/index.js.map +1 -0
  569. package/Snackbar/README.md +15 -0
  570. package/Snackbar/Snackbar.d.ts +13 -0
  571. package/Snackbar/Snackbar.js +69 -0
  572. package/Snackbar/Snackbar.js.map +1 -0
  573. package/Snackbar/Snackbar.stories.d.ts +1 -0
  574. package/Snackbar/Snackbar.stories.js +91 -0
  575. package/Snackbar/Snackbar.stories.js.map +1 -0
  576. package/Snackbar/index.d.ts +1 -0
  577. package/Snackbar/index.js +19 -0
  578. package/Snackbar/index.js.map +1 -0
  579. package/Switch/README.md +15 -0
  580. package/Switch/Switch.d.ts +17 -0
  581. package/Switch/Switch.js +82 -0
  582. package/Switch/Switch.js.map +1 -0
  583. package/Switch/Switch.stories.d.ts +1 -0
  584. package/Switch/Switch.stories.js +43 -0
  585. package/Switch/Switch.stories.js.map +1 -0
  586. package/Switch/index.d.ts +1 -0
  587. package/Switch/index.js +18 -0
  588. package/Switch/index.js.map +1 -0
  589. package/Tabs/README.md +19 -0
  590. package/Tabs/Tab.d.ts +19 -0
  591. package/Tabs/Tab.js +40 -0
  592. package/Tabs/Tab.js.map +1 -0
  593. package/Tabs/Tabs.d.ts +64 -0
  594. package/Tabs/Tabs.js +158 -0
  595. package/Tabs/Tabs.js.map +1 -0
  596. package/Tabs/Tabs.stories.d.ts +1 -0
  597. package/Tabs/Tabs.stories.js +53 -0
  598. package/Tabs/Tabs.stories.js.map +1 -0
  599. package/Tabs/index.d.ts +2 -0
  600. package/Tabs/index.js +31 -0
  601. package/Tabs/index.js.map +1 -0
  602. package/Tabs/svg/baseline-autorenew-24px.svg +4 -0
  603. package/Tabs/svg/baseline-cloud_done-24px.svg +4 -0
  604. package/Tabs/svg/baseline-delete-24px.svg +4 -0
  605. package/Tabs/svg/baseline-done-24px.svg +4 -0
  606. package/Tags/README.md +15 -0
  607. package/Tags/Tags.d.ts +46 -0
  608. package/Tags/Tags.js +143 -0
  609. package/Tags/Tags.js.map +1 -0
  610. package/Tags/Tags.stories.d.ts +1 -0
  611. package/Tags/Tags.stories.js +43 -0
  612. package/Tags/Tags.stories.js.map +1 -0
  613. package/Tags/icons/baseline-close-24px.svg +4 -0
  614. package/Tags/index.d.ts +1 -0
  615. package/Tags/index.js +18 -0
  616. package/Tags/index.js.map +1 -0
  617. package/Tooltip/README.md +15 -0
  618. package/Tooltip/Tooltip.d.ts +25 -0
  619. package/Tooltip/Tooltip.js +79 -0
  620. package/Tooltip/Tooltip.js.map +1 -0
  621. package/Tooltip/Tooltip.stories.d.ts +1 -0
  622. package/Tooltip/Tooltip.stories.js +26 -0
  623. package/Tooltip/Tooltip.stories.js.map +1 -0
  624. package/Tooltip/index.d.ts +1 -0
  625. package/Tooltip/index.js +18 -0
  626. package/Tooltip/index.js.map +1 -0
  627. package/Tooltip/style.scss +97 -0
  628. package/TopAppBar/README.md +20 -0
  629. package/TopAppBar/TopAppBar.d.ts +18 -0
  630. package/TopAppBar/TopAppBar.js +24 -0
  631. package/TopAppBar/TopAppBar.js.map +1 -0
  632. package/TopAppBar/TopAppBar.stories.d.ts +1 -0
  633. package/TopAppBar/TopAppBar.stories.js +70 -0
  634. package/TopAppBar/TopAppBar.stories.js.map +1 -0
  635. package/TopAppBar/TopAppBarActionItem.d.ts +5 -0
  636. package/TopAppBar/TopAppBarActionItem.js +18 -0
  637. package/TopAppBar/TopAppBarActionItem.js.map +1 -0
  638. package/TopAppBar/TopAppBarNavigationIcon.d.ts +5 -0
  639. package/TopAppBar/TopAppBarNavigationIcon.js +18 -0
  640. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -0
  641. package/TopAppBar/TopAppBarPrimary.d.ts +5 -0
  642. package/TopAppBar/TopAppBarPrimary.js +26 -0
  643. package/TopAppBar/TopAppBarPrimary.js.map +1 -0
  644. package/TopAppBar/TopAppBarSecondary.d.ts +5 -0
  645. package/TopAppBar/TopAppBarSecondary.js +28 -0
  646. package/TopAppBar/TopAppBarSecondary.js.map +1 -0
  647. package/TopAppBar/TopAppBarSection.d.ts +18 -0
  648. package/TopAppBar/TopAppBarSection.js +24 -0
  649. package/TopAppBar/TopAppBarSection.js.map +1 -0
  650. package/TopAppBar/TopAppBarTitle.d.ts +10 -0
  651. package/TopAppBar/TopAppBarTitle.js +24 -0
  652. package/TopAppBar/TopAppBarTitle.js.map +1 -0
  653. package/TopAppBar/icons/baseline-autorenew-24px.svg +4 -0
  654. package/TopAppBar/icons/baseline-cloud_done-24px.svg +4 -0
  655. package/TopAppBar/icons/baseline-delete-24px.svg +4 -0
  656. package/TopAppBar/icons/baseline-email-24px.svg +4 -0
  657. package/TopAppBar/icons/baseline-menu-24px.svg +4 -0
  658. package/TopAppBar/index.d.ts +7 -0
  659. package/TopAppBar/index.js +96 -0
  660. package/TopAppBar/index.js.map +1 -0
  661. package/TopProgressBar/README.md +11 -0
  662. package/TopProgressBar/TopProgressBar.d.ts +15 -0
  663. package/TopProgressBar/TopProgressBar.js +22 -0
  664. package/TopProgressBar/TopProgressBar.js.map +1 -0
  665. package/TopProgressBar/TopProgressBar.stories.d.ts +1 -0
  666. package/TopProgressBar/TopProgressBar.stories.js +32 -0
  667. package/TopProgressBar/TopProgressBar.stories.js.map +1 -0
  668. package/TopProgressBar/hoc/index.d.ts +1 -0
  669. package/TopProgressBar/hoc/index.js +15 -0
  670. package/TopProgressBar/hoc/index.js.map +1 -0
  671. package/TopProgressBar/hoc/withTopProgressBar.d.ts +3 -0
  672. package/TopProgressBar/hoc/withTopProgressBar.js +34 -0
  673. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -0
  674. package/TopProgressBar/index.d.ts +1 -0
  675. package/TopProgressBar/index.js +18 -0
  676. package/TopProgressBar/index.js.map +1 -0
  677. package/TopProgressBar/style.scss +21 -0
  678. package/Typography/README.md +15 -0
  679. package/Typography/Typography.d.ts +13 -0
  680. package/Typography/Typography.js +21 -0
  681. package/Typography/Typography.js.map +1 -0
  682. package/Typography/Typography.stories.d.ts +1 -0
  683. package/Typography/Typography.stories.js +76 -0
  684. package/Typography/Typography.stories.js.map +1 -0
  685. package/Typography/index.d.ts +1 -0
  686. package/Typography/index.js +18 -0
  687. package/Typography/index.js.map +1 -0
  688. package/package.json +136 -0
  689. package/styles.scss +43 -0
  690. package/types.d.ts +12 -0
  691. package/types.js +5 -0
  692. package/types.js.map +1 -0
package/Tabs/Tabs.js ADDED
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.TabsContext = exports.Tabs = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _tabs = require("@rmwc/tabs");
21
+
22
+ var disabledStyles = {
23
+ opacity: 0.5,
24
+ pointerEvents: "none"
25
+ };
26
+ var TabsContext = /*#__PURE__*/(0, _react.createContext)(undefined);
27
+ exports.TabsContext = TabsContext;
28
+
29
+ /**
30
+ * Use Tabs component to display a list of choices, once the handler is triggered.
31
+ */
32
+ var Tabs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
33
+ var _useState = (0, _react.useState)(0),
34
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
+ activeTabIndex = _useState2[0],
36
+ setActiveIndex = _useState2[1];
37
+
38
+ var _useState3 = (0, _react.useState)([]),
39
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
40
+ tabs = _useState4[0],
41
+ setTabs = _useState4[1];
42
+
43
+ var activeIndex = props.value !== undefined ? props.value : activeTabIndex;
44
+ var activateTabIndex = (0, _react.useCallback)(function (index) {
45
+ if (typeof props.updateValue === "function") {
46
+ props.updateValue(index);
47
+ return;
48
+ }
49
+
50
+ setActiveIndex(index);
51
+ }, []);
52
+ (0, _react.useImperativeHandle)(ref, function () {
53
+ return {
54
+ getActiveIndex: function getActiveIndex() {
55
+ return activeIndex;
56
+ },
57
+ switchTab: function switchTab(tabIndex) {
58
+ activateTabIndex(tabIndex);
59
+ }
60
+ };
61
+ });
62
+ /**
63
+ * This effect will make sure that disabled tabs automatically switch to the first tab.
64
+ */
65
+
66
+ (0, _react.useEffect)(function () {
67
+ var _tabs$activeIndex;
68
+
69
+ if ((_tabs$activeIndex = tabs[activeIndex]) !== null && _tabs$activeIndex !== void 0 && _tabs$activeIndex.disabled) {
70
+ activateTabIndex(0);
71
+ }
72
+ });
73
+ /* We need to generate a key like this to trigger a proper component re-render when child tabs change. */
74
+
75
+ var tabBar = /*#__PURE__*/_react.default.createElement(_tabs.TabBar, {
76
+ key: tabs.map(function (tab) {
77
+ return tab.id;
78
+ }).join(";"),
79
+ className: "webiny-ui-tabs__tab-bar",
80
+ activeTabIndex: activeIndex,
81
+ onActivate: function onActivate(evt) {
82
+ if (typeof props.updateValue === "function") {
83
+ props.updateValue(evt.detail.index);
84
+ } else {
85
+ setActiveIndex(evt.detail.index);
86
+ }
87
+
88
+ props.onActivate && props.onActivate(evt.detail.index);
89
+ }
90
+ }, tabs.map(function (item) {
91
+ if (!item.visible) {
92
+ return null;
93
+ }
94
+
95
+ var style = item.style || {};
96
+
97
+ if (item.disabled) {
98
+ Object.assign(style, disabledStyles);
99
+ }
100
+
101
+ return /*#__PURE__*/_react.default.createElement(_tabs.Tab, Object.assign({
102
+ tag: "div",
103
+ style: style,
104
+ key: item.id,
105
+ "data-testid": item["data-testid"]
106
+ }, item.icon ? {
107
+ icon: item.icon
108
+ } : {}), item.label);
109
+ }));
110
+
111
+ var content = tabs.filter(Boolean).map(function (tab, index) {
112
+ if (activeIndex === index) {
113
+ return /*#__PURE__*/_react.default.createElement("div", {
114
+ key: index
115
+ }, tab.children);
116
+ } else {
117
+ return /*#__PURE__*/_react.default.createElement("div", {
118
+ key: index,
119
+ style: {
120
+ display: "none"
121
+ }
122
+ }, tab.children);
123
+ }
124
+ });
125
+ var context = (0, _react.useMemo)(function () {
126
+ return {
127
+ addTab: function addTab(props) {
128
+ setTabs(function (tabs) {
129
+ var existingIndex = tabs.findIndex(function (tab) {
130
+ return tab.id === props.id;
131
+ });
132
+
133
+ if (existingIndex > -1) {
134
+ return [].concat((0, _toConsumableArray2.default)(tabs.slice(0, existingIndex)), [props], (0, _toConsumableArray2.default)(tabs.slice(existingIndex + 1)));
135
+ }
136
+
137
+ return [].concat((0, _toConsumableArray2.default)(tabs), [props]);
138
+ });
139
+ },
140
+ removeTab: function removeTab(id) {
141
+ setTabs(function (tabs) {
142
+ return tabs.filter(function (tab) {
143
+ return tab.id === id;
144
+ });
145
+ });
146
+ }
147
+ };
148
+ }, [setTabs]);
149
+ return /*#__PURE__*/_react.default.createElement("div", {
150
+ className: (0, _classnames.default)("webiny-ui-tabs", props.className)
151
+ }, tabBar, /*#__PURE__*/_react.default.createElement("div", {
152
+ className: "webiny-ui-tabs__content mdc-tab-content"
153
+ }, content), /*#__PURE__*/_react.default.createElement(TabsContext.Provider, {
154
+ value: context
155
+ }, props.children));
156
+ });
157
+ exports.Tabs = Tabs;
158
+ Tabs.displayName = "Tabs";
@@ -0,0 +1 @@
1
+ {"version":3,"names":["disabledStyles","opacity","pointerEvents","TabsContext","createContext","undefined","Tabs","forwardRef","props","ref","useState","activeTabIndex","setActiveIndex","tabs","setTabs","activeIndex","value","activateTabIndex","useCallback","index","updateValue","useImperativeHandle","getActiveIndex","switchTab","tabIndex","useEffect","disabled","tabBar","map","tab","id","join","evt","detail","onActivate","item","visible","style","Object","assign","icon","label","content","filter","Boolean","children","display","context","useMemo","addTab","existingIndex","findIndex","slice","removeTab","classNames","className","displayName"],"sources":["Tabs.tsx"],"sourcesContent":["import React, {\n createContext,\n forwardRef,\n PropsWithChildren,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState\n} from \"react\";\nimport classNames from \"classnames\";\nimport { TabBar, Tab as RmwcTab } from \"@rmwc/tabs\";\nimport { TabProps } from \"./Tab\";\n\nexport type TabsProps = PropsWithChildren<{\n /**\n * Append a class name.\n */\n className?: string;\n\n /**\n * Callback to execute when a tab is changed.\n */\n onActivate?: (index: number) => void;\n\n /**\n * Active tab index value.\n */\n value?: number;\n\n /**\n * Function to change active tab.\n */\n updateValue?: (index: number) => void;\n /**\n * Tab ID for the testing.\n */\n \"data-testid\"?: string;\n}>;\n\nconst disabledStyles: Record<string, string | number> = {\n opacity: 0.5,\n pointerEvents: \"none\"\n};\n\ninterface TabItem extends TabProps {\n id: string;\n}\n\ninterface TabsContext {\n addTab(props: TabItem): void;\n removeTab(id: string): void;\n}\n\nexport const TabsContext = createContext<TabsContext | undefined>(undefined);\n\nexport interface TabsImperativeApi {\n switchTab(index: number): void;\n getActiveIndex(): number;\n}\n/**\n * Use Tabs component to display a list of choices, once the handler is triggered.\n */\nexport const Tabs = forwardRef<TabsImperativeApi | undefined, TabsProps>((props, ref) => {\n const [activeTabIndex, setActiveIndex] = useState(0);\n const [tabs, setTabs] = useState<TabItem[]>([]);\n\n const activeIndex = props.value !== undefined ? props.value : activeTabIndex;\n\n const activateTabIndex = useCallback((index: number) => {\n if (typeof props.updateValue === \"function\") {\n props.updateValue(index);\n return;\n }\n\n setActiveIndex(index);\n }, []);\n\n useImperativeHandle(ref, () => ({\n getActiveIndex() {\n return activeIndex;\n },\n switchTab(tabIndex: number) {\n activateTabIndex(tabIndex);\n }\n }));\n\n /**\n * This effect will make sure that disabled tabs automatically switch to the first tab.\n */\n useEffect(() => {\n if (tabs[activeIndex]?.disabled) {\n activateTabIndex(0);\n }\n });\n\n /* We need to generate a key like this to trigger a proper component re-render when child tabs change. */\n const tabBar = (\n <TabBar\n key={tabs.map(tab => tab.id).join(\";\")}\n className=\"webiny-ui-tabs__tab-bar\"\n activeTabIndex={activeIndex}\n onActivate={evt => {\n if (typeof props.updateValue === \"function\") {\n props.updateValue(evt.detail.index);\n } else {\n setActiveIndex(evt.detail.index);\n }\n props.onActivate && props.onActivate(evt.detail.index);\n }}\n >\n {tabs.map(item => {\n if (!item.visible) {\n return null;\n }\n\n const style = item.style || {};\n if (item.disabled) {\n Object.assign(style, disabledStyles);\n }\n\n return (\n <RmwcTab\n tag={\"div\"}\n style={style}\n key={item.id}\n data-testid={item[\"data-testid\"]}\n {...(item.icon ? { icon: item.icon } : {})}\n >\n {item.label}\n </RmwcTab>\n );\n })}\n </TabBar>\n );\n\n const content = tabs.filter(Boolean).map((tab, index) => {\n if (activeIndex === index) {\n return <div key={index}>{tab.children}</div>;\n } else {\n return (\n <div key={index} style={{ display: \"none\" }}>\n {tab.children}\n </div>\n );\n }\n });\n\n const context: TabsContext = useMemo(\n () => ({\n addTab(props) {\n setTabs(tabs => {\n const existingIndex = tabs.findIndex(tab => tab.id === props.id);\n if (existingIndex > -1) {\n return [\n ...tabs.slice(0, existingIndex),\n props,\n ...tabs.slice(existingIndex + 1)\n ];\n }\n return [...tabs, props];\n });\n },\n removeTab(id) {\n setTabs(tabs => tabs.filter(tab => tab.id === id));\n }\n }),\n [setTabs]\n );\n\n return (\n <div className={classNames(\"webiny-ui-tabs\", props.className)}>\n {tabBar}\n <div className={\"webiny-ui-tabs__content mdc-tab-content\"}>{content}</div>\n <TabsContext.Provider value={context}>{props.children}</TabsContext.Provider>\n </div>\n );\n});\n\nTabs.displayName = \"Tabs\";\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@storybook/react");
8
+
9
+ var _Story = require("@webiny/storybook-utils/Story");
10
+
11
+ var _README = _interopRequireDefault(require("./../Tabs/README.md"));
12
+
13
+ var _baselineDelete24px = require("./svg/baseline-delete-24px.svg");
14
+
15
+ var _baselineDone24px = require("./svg/baseline-done-24px.svg");
16
+
17
+ var _addonKnobs = require("@storybook/addon-knobs");
18
+
19
+ var _index = require("./index");
20
+
21
+ var story = (0, _react2.storiesOf)("Components/Tabs", module);
22
+ story.addDecorator(_addonKnobs.withKnobs);
23
+ story.add("usage", function () {
24
+ var Div = function Div(props) {
25
+ return /*#__PURE__*/_react.default.createElement("div", {
26
+ style: {
27
+ padding: 50
28
+ }
29
+ }, props.children);
30
+ };
31
+
32
+ return /*#__PURE__*/_react.default.createElement(_Story.Story, null, /*#__PURE__*/_react.default.createElement(_Story.StoryReadme, null, _README.default), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, {
33
+ title: "Tabs example"
34
+ }, /*#__PURE__*/_react.default.createElement(_Story.StorySandboxExample, null, /*#__PURE__*/_react.default.createElement("div", {
35
+ style: {
36
+ overflow: "hidden"
37
+ }
38
+ }, /*#__PURE__*/_react.default.createElement(_index.Tabs, null, /*#__PURE__*/_react.default.createElement(_index.Tab, {
39
+ label: "Tab 1",
40
+ icon: /*#__PURE__*/_react.default.createElement(_baselineDelete24px.ReactComponent, null)
41
+ }, /*#__PURE__*/_react.default.createElement(Div, null, "Tab 1 content.")), /*#__PURE__*/_react.default.createElement(_index.Tab, {
42
+ label: "Tab 2",
43
+ icon: /*#__PURE__*/_react.default.createElement(_baselineDone24px.ReactComponent, null)
44
+ }, /*#__PURE__*/_react.default.createElement(Div, null, "Tab 2 content.")), /*#__PURE__*/_react.default.createElement(_index.Tab, {
45
+ label: "Tab 3"
46
+ }, /*#__PURE__*/_react.default.createElement(Div, null, "Tab 3 content - header without icon.")), /*#__PURE__*/_react.default.createElement(_index.Tab, {
47
+ icon: /*#__PURE__*/_react.default.createElement(_baselineDone24px.ReactComponent, null)
48
+ }, /*#__PURE__*/_react.default.createElement(Div, null, "Tab 4 content - header without label."))))), /*#__PURE__*/_react.default.createElement(_Story.StorySandboxCode, null, "\n <Tabs>\n <Tab label=\"Tab 1\" icon={<DeleteIcon />}>\n <Div>Tab 1 content.</Div>\n </Tab>\n <Tab label=\"Tab 2\" icon={<DoneIcon />}>\n <Div>Tab 2 content.</Div>\n </Tab>\n <Tab label=\"Tab 3\">\n <Div>Tab 3 content - header without icon.</Div>\n </Tab>\n <Tab icon={<DoneIcon />}>\n <Div>Tab 4 content - header without label.</Div>\n </Tab>\n </Tabs>\n ")));
49
+ }, {
50
+ info: {
51
+ propTables: [_index.Tabs, _index.Tab]
52
+ }
53
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","add","Div","props","padding","children","readme","overflow","info","propTables","Tabs","Tab"],"sources":["Tabs.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 \"./../Tabs/README.md\";\n\nimport { ReactComponent as DeleteIcon } from \"./svg/baseline-delete-24px.svg\";\nimport { ReactComponent as DoneIcon } from \"./svg/baseline-done-24px.svg\";\nimport { withKnobs } from \"@storybook/addon-knobs\";\nimport { Tabs, Tab } from \"./index\";\n\nconst story = storiesOf(\"Components/Tabs\", module);\n\nstory.addDecorator(withKnobs);\nstory.add(\n \"usage\",\n () => {\n const Div: React.FC = props => {\n return <div style={{ padding: 50 }}>{props.children}</div>;\n };\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"Tabs example\"}>\n <StorySandboxExample>\n <div style={{ overflow: \"hidden\" }}>\n <Tabs>\n <Tab label=\"Tab 1\" icon={<DeleteIcon />}>\n <Div>Tab 1 content.</Div>\n </Tab>\n <Tab label=\"Tab 2\" icon={<DoneIcon />}>\n <Div>Tab 2 content.</Div>\n </Tab>\n <Tab label=\"Tab 3\">\n <Div>Tab 3 content - header without icon.</Div>\n </Tab>\n <Tab icon={<DoneIcon />}>\n <Div>Tab 4 content - header without label.</Div>\n </Tab>\n </Tabs>\n </div>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Tabs>\n <Tab label=\"Tab 1\" icon={<DeleteIcon />}>\n <Div>Tab 1 content.</Div>\n </Tab>\n <Tab label=\"Tab 2\" icon={<DoneIcon />}>\n <Div>Tab 2 content.</Div>\n </Tab>\n <Tab label=\"Tab 3\">\n <Div>Tab 3 content - header without icon.</Div>\n </Tab>\n <Tab icon={<DoneIcon />}>\n <Div>Tab 4 content - header without label.</Div>\n </Tab>\n </Tabs>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Tabs, Tab] } }\n);\n"],"mappings":";;;;AAAA;;AACA;;AACA;;AAOA;;AAEA;;AACA;;AACA;;AACA;;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAA,EAAU,iBAAV,EAA6BC,MAA7B,CAAd;AAEAF,KAAK,CAACG,YAAN,CAAmBC,qBAAnB;AACAJ,KAAK,CAACK,GAAN,CACI,OADJ,EAEI,YAAM;EACF,IAAMC,GAAa,GAAG,SAAhBA,GAAgB,CAAAC,KAAK,EAAI;IAC3B,oBAAO;MAAK,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAAZ,GAA8BD,KAAK,CAACE,QAApC,CAAP;EACH,CAFD;;EAIA,oBACI,6BAAC,YAAD,qBACI,6BAAC,kBAAD,QAAcC,eAAd,CADJ,eAEI,6BAAC,mBAAD;IAAc,KAAK,EAAE;EAArB,gBACI,6BAAC,0BAAD,qBACI;IAAK,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAZ;EAAZ,gBACI,6BAAC,WAAD,qBACI,6BAAC,UAAD;IAAK,KAAK,EAAC,OAAX;IAAmB,IAAI,eAAE,6BAAC,kCAAD;EAAzB,gBACI,6BAAC,GAAD,yBADJ,CADJ,eAII,6BAAC,UAAD;IAAK,KAAK,EAAC,OAAX;IAAmB,IAAI,eAAE,6BAAC,gCAAD;EAAzB,gBACI,6BAAC,GAAD,yBADJ,CAJJ,eAOI,6BAAC,UAAD;IAAK,KAAK,EAAC;EAAX,gBACI,6BAAC,GAAD,+CADJ,CAPJ,eAUI,6BAAC,UAAD;IAAK,IAAI,eAAE,6BAAC,gCAAD;EAAX,gBACI,6BAAC,GAAD,gDADJ,CAVJ,CADJ,CADJ,CADJ,eAmBI,6BAAC,uBAAD,i0BAnBJ,CAFJ,CADJ;AA2CH,CAlDL,EAmDI;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,WAAD,EAAOC,UAAP;EAAd;AAAR,CAnDJ"}
@@ -0,0 +1,2 @@
1
+ export * from "./Tabs";
2
+ export * from "./Tab";
package/Tabs/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Tabs = require("./Tabs");
8
+
9
+ Object.keys(_Tabs).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Tabs[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Tabs[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _Tab = require("./Tab");
21
+
22
+ Object.keys(_Tab).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _Tab[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _Tab[key];
29
+ }
30
+ });
31
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Tabs\";\nexport * from \"./Tab\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path d="M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"/>
3
+ <path d="M0 0h24v24H0z" fill="none"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path d="M0 0h24v24H0z" fill="none"/>
3
+ <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41-1.41L10 14.17 15.18 9l1.41 1.41L10 17z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>
3
+ <path d="M0 0h24v24H0z" fill="none"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path fill="none" d="M0 0h24v24H0z"/>
3
+ <path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
4
+ </svg>
package/Tags/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # Tags
2
+
3
+ ### Design
4
+
5
+ N/A
6
+
7
+ ### Description
8
+
9
+ `Tags` component lets users to input one or more tags.
10
+
11
+ ### Import
12
+
13
+ ```js
14
+ import { Tags } from "@webiny/ui/Tags";
15
+ ```
package/Tags/Tags.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ import React from "react";
2
+ import { FormComponentProps } from "../types";
3
+ interface TagsProps extends FormComponentProps {
4
+ /**
5
+ * Component label.
6
+ */
7
+ label?: string;
8
+ /**
9
+ * Are input and chosen tags disabled?
10
+ */
11
+ disabled?: boolean;
12
+ /**
13
+ * Placeholder text for the form control. Set to a blank string to create a non-floating placeholder label.
14
+ */
15
+ placeholder?: string;
16
+ /**
17
+ * Description beneath the input.
18
+ */
19
+ description?: string;
20
+ /**
21
+ * A className for the root element.
22
+ */
23
+ className?: string;
24
+ /**
25
+ * A list of tags.
26
+ */
27
+ value?: string[];
28
+ /**
29
+ * Callback that gets executed on change of input value.
30
+ */
31
+ onInput?: Function;
32
+ /**
33
+ * Callback that gets executed when the input is focused.
34
+ */
35
+ onFocus?: Function;
36
+ /**
37
+ * Automatically focus on the tags input.
38
+ */
39
+ autoFocus?: boolean;
40
+ /**
41
+ * Protected tags cannot be removed by the user.
42
+ */
43
+ protectedTags?: string[];
44
+ }
45
+ export declare const Tags: React.FC<TagsProps>;
46
+ export default Tags;
package/Tags/Tags.js ADDED
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.Tags = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _emotion = require("emotion");
23
+
24
+ var _keycode = _interopRequireDefault(require("keycode"));
25
+
26
+ var _minimatch = _interopRequireDefault(require("minimatch"));
27
+
28
+ var _Input = require("../Input");
29
+
30
+ var _Chips = require("../Chips");
31
+
32
+ var _baselineClose24px = require("./icons/baseline-close-24px.svg");
33
+
34
+ var _FormElementMessage = require("../FormElementMessage");
35
+
36
+ var _excluded = ["validation", "value", "disabled", "onChange", "description", "protectedTags"];
37
+ var tagsStyle = /*#__PURE__*/(0, _emotion.css)({
38
+ position: "relative",
39
+ ".mdc-elevation--z1": {
40
+ position: "absolute",
41
+ width: "calc(100% - 2px)",
42
+ left: 1,
43
+ top: 56,
44
+ zIndex: 10,
45
+ maxHeight: 200,
46
+ overflowY: "scroll",
47
+ backgroundColor: "var(--mdc-theme-surface)"
48
+ },
49
+ ul: {
50
+ listStyle: "none",
51
+ width: "100%",
52
+ padding: 0,
53
+ li: {
54
+ padding: 10
55
+ }
56
+ }
57
+ }, "label:tagsStyle;");
58
+
59
+ var Tags = function Tags(props) {
60
+ var _useState = (0, _react.useState)(""),
61
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
62
+ inputValue = _useState2[0],
63
+ setInputValue = _useState2[1];
64
+
65
+ var validation = props.validation,
66
+ value = props.value,
67
+ disabled = props.disabled,
68
+ onChange = props.onChange,
69
+ description = props.description,
70
+ _props$protectedTags = props.protectedTags,
71
+ protectedTags = _props$protectedTags === void 0 ? [] : _props$protectedTags,
72
+ otherInputProps = (0, _objectWithoutProperties2.default)(props, _excluded);
73
+ var isProtected = (0, _react.useCallback)(function (tag) {
74
+ return protectedTags.some(function (pattern) {
75
+ return (0, _minimatch.default)(tag, pattern);
76
+ });
77
+ }, [protectedTags]);
78
+ var inputProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherInputProps), {}, {
79
+ value: inputValue,
80
+ onChange: function onChange(inputValue) {
81
+ setInputValue(inputValue);
82
+ },
83
+ onKeyDown: function onKeyDown(ev) {
84
+ if (!onChange) {
85
+ return;
86
+ }
87
+
88
+ var newValue = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
89
+ /**
90
+ * We must cast as keycode only works with Event | string type.
91
+ */
92
+
93
+ switch ((0, _keycode.default)(ev)) {
94
+ case "enter":
95
+ if (inputValue) {
96
+ newValue.push(inputValue);
97
+ onChange(newValue);
98
+ setInputValue("");
99
+ }
100
+
101
+ break;
102
+
103
+ case "backspace":
104
+ if (newValue.length && !inputValue) {
105
+ newValue.splice(-1, 1);
106
+ onChange(newValue);
107
+ break;
108
+ }
109
+
110
+ }
111
+ }
112
+ });
113
+
114
+ var _ref = validation || {},
115
+ validationIsValid = _ref.isValid,
116
+ validationMessage = _ref.message;
117
+
118
+ return /*#__PURE__*/_react.default.createElement("div", {
119
+ className: tagsStyle
120
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Input.Input, inputProps), validationIsValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
121
+ error: true
122
+ }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, description), Array.isArray(value) && value.length ? /*#__PURE__*/_react.default.createElement(_Chips.Chips, {
123
+ disabled: disabled
124
+ }, value.map(function (item, index) {
125
+ return /*#__PURE__*/_react.default.createElement(_Chips.Chip, {
126
+ label: item,
127
+ trailingIcon: isProtected(item) ? null : /*#__PURE__*/_react.default.createElement(_baselineClose24px.ReactComponent, null),
128
+ key: "".concat(item, "-").concat(index),
129
+ onRemove: function onRemove() {
130
+ // On removal, let's update the value and call "onChange" callback.
131
+ if (onChange) {
132
+ var newValue = (0, _toConsumableArray2.default)(value);
133
+ newValue.splice(index, 1);
134
+ onChange(newValue);
135
+ }
136
+ }
137
+ });
138
+ })) : null));
139
+ };
140
+
141
+ exports.Tags = Tags;
142
+ var _default = Tags;
143
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tagsStyle","css","position","width","left","top","zIndex","maxHeight","overflowY","backgroundColor","ul","listStyle","padding","li","Tags","props","useState","inputValue","setInputValue","validation","value","disabled","onChange","description","protectedTags","otherInputProps","isProtected","useCallback","tag","some","pattern","minimatch","inputProps","onKeyDown","ev","newValue","Array","isArray","keycode","push","length","splice","validationIsValid","isValid","validationMessage","message","map","item","index"],"sources":["Tags.tsx"],"sourcesContent":["import React, { SyntheticEvent, useCallback, useState } from \"react\";\nimport { css } from \"emotion\";\nimport keycode from \"keycode\";\nimport minimatch from \"minimatch\";\nimport { Input, InputProps } from \"~/Input\";\nimport { Chips, Chip } from \"~/Chips\";\nimport { FormComponentProps } from \"~/types\";\nimport { ReactComponent as BaselineCloseIcon } from \"./icons/baseline-close-24px.svg\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ninterface TagsProps extends FormComponentProps {\n /**\n * Component label.\n */\n label?: string;\n\n /**\n * Are input and chosen tags disabled?\n */\n disabled?: boolean;\n\n /**\n * Placeholder text for the form control. Set to a blank string to create a non-floating placeholder label.\n */\n placeholder?: string;\n\n /**\n * Description beneath the input.\n */\n description?: string;\n\n /**\n * A className for the root element.\n */\n className?: string;\n\n /**\n * A list of tags.\n */\n value?: string[];\n\n /**\n * Callback that gets executed on change of input value.\n */\n onInput?: Function;\n\n /**\n * Callback that gets executed when the input is focused.\n */\n onFocus?: Function;\n\n /**\n * Automatically focus on the tags input.\n */\n autoFocus?: boolean;\n\n /**\n * Protected tags cannot be removed by the user.\n */\n protectedTags?: string[];\n}\n\nconst tagsStyle = css({\n position: \"relative\",\n \".mdc-elevation--z1\": {\n position: \"absolute\",\n width: \"calc(100% - 2px)\",\n left: 1,\n top: 56,\n zIndex: 10,\n maxHeight: 200,\n overflowY: \"scroll\",\n backgroundColor: \"var(--mdc-theme-surface)\"\n },\n ul: {\n listStyle: \"none\",\n width: \"100%\",\n padding: 0,\n li: {\n padding: 10\n }\n }\n});\n\nexport const Tags: React.FC<TagsProps> = props => {\n const [inputValue, setInputValue] = useState(\"\");\n\n const {\n validation,\n value,\n disabled,\n onChange,\n description,\n protectedTags = [],\n ...otherInputProps\n } = props;\n\n const isProtected = useCallback(\n (tag: string) => protectedTags.some(pattern => minimatch(tag, pattern)),\n [protectedTags]\n );\n\n const inputProps: InputProps<string> = {\n ...otherInputProps,\n value: inputValue,\n onChange: inputValue => {\n setInputValue(inputValue);\n },\n onKeyDown: (ev: SyntheticEvent) => {\n if (!onChange) {\n return;\n }\n\n const newValue = Array.isArray(value) ? [...value] : [];\n\n /**\n * We must cast as keycode only works with Event | string type.\n */\n switch (keycode(ev as unknown as Event)) {\n case \"enter\":\n if (inputValue) {\n newValue.push(inputValue);\n onChange(newValue);\n setInputValue(\"\");\n }\n break;\n case \"backspace\":\n if (newValue.length && !inputValue) {\n newValue.splice(-1, 1);\n onChange(newValue);\n break;\n }\n }\n }\n };\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <div className={tagsStyle}>\n <div>\n <Input {...inputProps} />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n\n {Array.isArray(value) && value.length ? (\n <Chips disabled={disabled}>\n {value.map((item, index) => {\n return (\n <Chip\n label={item}\n trailingIcon={isProtected(item) ? null : <BaselineCloseIcon />}\n key={`${item}-${index}`}\n onRemove={() => {\n // On removal, let's update the value and call \"onChange\" callback.\n if (onChange) {\n const newValue = [...value];\n newValue.splice(index, 1);\n onChange(newValue);\n }\n }}\n />\n );\n })}\n </Chips>\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Tags;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@storybook/react");
8
+
9
+ var _Story = require("@webiny/storybook-utils/Story");
10
+
11
+ var _addonKnobs = require("@storybook/addon-knobs");
12
+
13
+ var _README = _interopRequireDefault(require("./README.md"));
14
+
15
+ var _form = require("@webiny/form");
16
+
17
+ var _Tags = require("./Tags");
18
+
19
+ var story = (0, _react2.storiesOf)("Components/Tags", module);
20
+ story.addDecorator(_addonKnobs.withKnobs);
21
+ story.add("usage", function () {
22
+ var disabled = (0, _addonKnobs.boolean)("Disabled", false);
23
+ return /*#__PURE__*/_react.default.createElement(_Story.Story, null, /*#__PURE__*/_react.default.createElement(_Story.StoryReadme, null, _README.default), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, null, /*#__PURE__*/_react.default.createElement(_Story.StorySandboxExample, {
24
+ title: "Single value"
25
+ }, /*#__PURE__*/_react.default.createElement(_form.Form, {
26
+ data: {
27
+ tags: ["animals", "dogs", "food"]
28
+ }
29
+ }, function (_ref) {
30
+ var Bind = _ref.Bind;
31
+ return /*#__PURE__*/_react.default.createElement(Bind, {
32
+ name: "tags"
33
+ }, /*#__PURE__*/_react.default.createElement(_Tags.Tags, {
34
+ label: "Tags",
35
+ disabled: disabled,
36
+ description: "Choose your tags"
37
+ }));
38
+ })), /*#__PURE__*/_react.default.createElement(_Story.StorySandboxCode, null, "\n <Form data={{ tags: ['animals', 'dogs', 'food'] }}>\n {({ Bind }) => (\n <Bind name=\"tags\">\n <Tags\n label=\"Tags\"\n disabled={disabled}\n description=\"Choose your tags\"\n />\n </Bind>\n )}\n </Form>\n ")));
39
+ }, {
40
+ info: {
41
+ propTables: [_Tags.Tags]
42
+ }
43
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","add","disabled","boolean","readme","tags","Bind","info","propTables","Tags"],"sources":["Tags.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 { withKnobs, boolean } from \"@storybook/addon-knobs\";\nimport readme from \"./README.md\";\n\nimport { Form } from \"@webiny/form\";\nimport { Tags } from \"./Tags\";\n\nconst story = storiesOf(\"Components/Tags\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const disabled = boolean(\"Disabled\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample title={\"Single value\"}>\n <Form data={{ tags: [\"animals\", \"dogs\", \"food\"] }}>\n {({ Bind }) => (\n <Bind name=\"tags\">\n <Tags\n label=\"Tags\"\n disabled={disabled}\n description=\"Choose your tags\"\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={{ tags: ['animals', 'dogs', 'food'] }}>\n {({ Bind }) => (\n <Bind name=\"tags\">\n <Tags\n label=\"Tags\"\n disabled={disabled}\n description=\"Choose your tags\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Tags] } }\n);\n"],"mappings":";;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAA,EAAU,iBAAV,EAA6BC,MAA7B,CAAd;AACAF,KAAK,CAACG,YAAN,CAAmBC,qBAAnB;AAEAJ,KAAK,CAACK,GAAN,CACI,OADJ,EAEI,YAAM;EACF,IAAMC,QAAQ,GAAG,IAAAC,mBAAA,EAAQ,UAAR,EAAoB,KAApB,CAAjB;EAEA,oBACI,6BAAC,YAAD,qBACI,6BAAC,kBAAD,QAAcC,eAAd,CADJ,eAEI,6BAAC,mBAAD,qBACI,6BAAC,0BAAD;IAAqB,KAAK,EAAE;EAA5B,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;MAAEC,IAAI,EAAE,CAAC,SAAD,EAAY,MAAZ,EAAoB,MAApB;IAAR;EAAZ,GACK;IAAA,IAAGC,IAAH,QAAGA,IAAH;IAAA,oBACG,6BAAC,IAAD;MAAM,IAAI,EAAC;IAAX,gBACI,6BAAC,UAAD;MACI,KAAK,EAAC,MADV;MAEI,QAAQ,EAAEJ,QAFd;MAGI,WAAW,EAAC;IAHhB,EADJ,CADH;EAAA,CADL,CADJ,CADJ,eAcI,6BAAC,uBAAD,miBAdJ,CAFJ,CADJ;AAmCH,CAxCL,EAyCI;EAAEK,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,UAAD;EAAd;AAAR,CAzCJ"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
2
+ <path fill="currentColor" d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
3
+ <path d="M0 0h24v24H0z" fill="none"/>
4
+ </svg>
@@ -0,0 +1 @@
1
+ export * from "./Tags";
package/Tags/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Tags = require("./Tags");
8
+
9
+ Object.keys(_Tags).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Tags[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Tags[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Tags\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,15 @@
1
+ # Tooltip
2
+
3
+ ### Additional information
4
+
5
+ <a href="http://react-component.github.io/tooltip/" target="_blank">http://react-component.github.io/tooltip/</a>
6
+
7
+ ### Description
8
+
9
+ Use `Tooltip` component to display useful messages to users.
10
+
11
+ ### Import
12
+
13
+ ```js
14
+ import { Tooltip } from "@webiny/ui/Tooltip";
15
+ ```