@webiny/ui 5.24.0 → 5.25.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/Accordion/Accordion.d.ts +1 -1
  2. package/Accordion/Accordion.js +1 -1
  3. package/Accordion/Accordion.js.map +1 -0
  4. package/Accordion/Accordion.stories.js.map +1 -0
  5. package/Accordion/AccordionItem.d.ts +4 -8
  6. package/Accordion/AccordionItem.js +1 -1
  7. package/Accordion/AccordionItem.js.map +1 -0
  8. package/Accordion/index.js.map +1 -0
  9. package/Alert/Alert.d.ts +4 -4
  10. package/Alert/Alert.js +1 -1
  11. package/Alert/Alert.js.map +1 -0
  12. package/Alert/Alert.stories.js.map +1 -0
  13. package/Alert/index.js.map +1 -0
  14. package/AutoComplete/AutoComplete.d.ts +5 -10
  15. package/AutoComplete/AutoComplete.js +6 -4
  16. package/AutoComplete/AutoComplete.js.map +1 -0
  17. package/AutoComplete/AutoComplete.stories.js.map +1 -0
  18. package/AutoComplete/MultiAutoComplete.d.ts +4 -11
  19. package/AutoComplete/MultiAutoComplete.js +9 -5
  20. package/AutoComplete/MultiAutoComplete.js.map +1 -0
  21. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -0
  22. package/AutoComplete/index.js.map +1 -0
  23. package/AutoComplete/styles.js.map +1 -0
  24. package/AutoComplete/types.d.ts +4 -3
  25. package/AutoComplete/types.js.map +1 -0
  26. package/AutoComplete/utils.d.ts +3 -3
  27. package/AutoComplete/utils.js +1 -1
  28. package/AutoComplete/utils.js.map +1 -0
  29. package/Avatar/Avatar.d.ts +5 -11
  30. package/Avatar/Avatar.js +12 -7
  31. package/Avatar/Avatar.js.map +1 -0
  32. package/Avatar/Avatar.stories.js.map +1 -0
  33. package/Avatar/index.js.map +1 -0
  34. package/Button/Button.d.ts +1 -16
  35. package/Button/Button.js +7 -22
  36. package/Button/Button.js.map +1 -0
  37. package/Button/Button.stories.js.map +1 -0
  38. package/Button/CopyButton/CopyButton.d.ts +4 -7
  39. package/Button/CopyButton/CopyButton.js +1 -4
  40. package/Button/CopyButton/CopyButton.js.map +1 -0
  41. package/Button/CopyButton/CopyButton.stories.js.map +1 -0
  42. package/Button/IconButton/IconButton.d.ts +4 -7
  43. package/Button/IconButton/IconButton.js +1 -4
  44. package/Button/IconButton/IconButton.js.map +1 -0
  45. package/Button/IconButton/IconButton.stories.js.map +1 -0
  46. package/Button/index.js.map +1 -0
  47. package/Carousel/Carousel.d.ts +3 -3
  48. package/Carousel/Carousel.js +1 -1
  49. package/Carousel/Carousel.js.map +1 -0
  50. package/Carousel/Carouser.stories.js.map +1 -0
  51. package/Carousel/index.js.map +1 -0
  52. package/Checkbox/Checkbox.d.ts +1 -2
  53. package/Checkbox/Checkbox.js +8 -10
  54. package/Checkbox/Checkbox.js.map +1 -0
  55. package/Checkbox/Checkbox.stories.js.map +1 -0
  56. package/Checkbox/Checkbox.styles.js.map +1 -0
  57. package/Checkbox/CheckboxGroup.d.ts +1 -1
  58. package/Checkbox/CheckboxGroup.js +1 -1
  59. package/Checkbox/CheckboxGroup.js.map +1 -0
  60. package/Checkbox/CheckboxGroup.stories.js +1 -1
  61. package/Checkbox/CheckboxGroup.stories.js.map +1 -0
  62. package/Checkbox/index.js.map +1 -0
  63. package/Chips/Chip.d.ts +3 -8
  64. package/Chips/Chip.js +1 -1
  65. package/Chips/Chip.js.map +1 -0
  66. package/Chips/ChipIcon.d.ts +2 -2
  67. package/Chips/ChipIcon.js +1 -1
  68. package/Chips/ChipIcon.js.map +1 -0
  69. package/Chips/Chips.d.ts +4 -4
  70. package/Chips/Chips.js +1 -1
  71. package/Chips/Chips.js.map +1 -0
  72. package/Chips/Chips.stories.js.map +1 -0
  73. package/Chips/index.js.map +1 -0
  74. package/Chips/styles.js.map +1 -0
  75. package/CodeEditor/CodeEditor.d.ts +3 -4
  76. package/CodeEditor/CodeEditor.js +7 -10
  77. package/CodeEditor/CodeEditor.js.map +1 -0
  78. package/CodeEditor/CodeEditor.stories.js.map +1 -0
  79. package/CodeEditor/index.js.map +1 -0
  80. package/ColorPicker/ColorPicker.d.ts +7 -5
  81. package/ColorPicker/ColorPicker.js +8 -11
  82. package/ColorPicker/ColorPicker.js.map +1 -0
  83. package/ColorPicker/ColorPicker.stories.js +1 -1
  84. package/ColorPicker/ColorPicker.stories.js.map +1 -0
  85. package/ColorPicker/index.js.map +1 -0
  86. package/ConfirmationDialog/ConfirmationDialog.d.ts +12 -12
  87. package/ConfirmationDialog/ConfirmationDialog.js +7 -4
  88. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  89. package/ConfirmationDialog/ConfirmationDialog.stories.js +1 -1
  90. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -0
  91. package/ConfirmationDialog/index.js.map +1 -0
  92. package/ConfirmationDialog/withConfirmation.d.ts +1 -1
  93. package/ConfirmationDialog/withConfirmation.js +1 -1
  94. package/ConfirmationDialog/withConfirmation.js.map +1 -0
  95. package/Dialog/Dialog.d.ts +20 -28
  96. package/Dialog/Dialog.js +4 -1
  97. package/Dialog/Dialog.js.map +1 -0
  98. package/Dialog/Dialog.stories.js.map +1 -0
  99. package/Dialog/index.js.map +1 -0
  100. package/Drawer/Drawer.d.ts +1 -1
  101. package/Drawer/Drawer.js +1 -1
  102. package/Drawer/Drawer.js.map +1 -0
  103. package/Drawer/Drawer.stories.js.map +1 -0
  104. package/Drawer/index.js.map +1 -0
  105. package/DynamicFieldset/Fieldset.d.ts +5 -5
  106. package/DynamicFieldset/Fieldset.js +21 -14
  107. package/DynamicFieldset/Fieldset.js.map +1 -0
  108. package/DynamicFieldset/index.js.map +1 -0
  109. package/Elevation/Elevation.d.ts +1 -1
  110. package/Elevation/Elevation.js +1 -1
  111. package/Elevation/Elevation.js.map +1 -0
  112. package/Elevation/Elevation.stories.js +1 -1
  113. package/Elevation/Elevation.stories.js.map +1 -0
  114. package/Elevation/index.js.map +1 -0
  115. package/FormElementMessage/FormElementMessage.d.ts +1 -1
  116. package/FormElementMessage/FormElementMessage.js +1 -1
  117. package/FormElementMessage/FormElementMessage.js.map +1 -0
  118. package/FormElementMessage/index.js.map +1 -0
  119. package/FullName/FullName.js.map +1 -0
  120. package/FullName/index.js.map +1 -0
  121. package/Grid/Grid.d.ts +1 -1
  122. package/Grid/Grid.js +1 -1
  123. package/Grid/Grid.js.map +1 -0
  124. package/Grid/Grid.stories.js.map +1 -0
  125. package/Grid/index.js.map +1 -0
  126. package/Helpers/ClassNames.d.ts +4 -3
  127. package/Helpers/ClassNames.js +5 -3
  128. package/Helpers/ClassNames.js.map +1 -0
  129. package/Helpers/index.js.map +1 -0
  130. package/Icon/Icon.d.ts +1 -1
  131. package/Icon/Icon.js +1 -1
  132. package/Icon/Icon.js.map +1 -0
  133. package/Icon/Icon.stories.js.map +1 -0
  134. package/Icon/index.js.map +1 -0
  135. package/Image/Image.d.ts +4 -4
  136. package/Image/Image.js +6 -4
  137. package/Image/Image.js.map +1 -0
  138. package/Image/Image.stories.js +1 -1
  139. package/Image/Image.stories.js.map +1 -0
  140. package/Image/index.js.map +1 -0
  141. package/ImageEditor/ImageEditor.d.ts +24 -24
  142. package/ImageEditor/ImageEditor.js +18 -18
  143. package/ImageEditor/ImageEditor.js.map +1 -0
  144. package/ImageEditor/index.js.map +1 -0
  145. package/ImageEditor/toolbar/crop.js +2 -2
  146. package/ImageEditor/toolbar/crop.js.map +1 -0
  147. package/ImageEditor/toolbar/filter.js.map +1 -0
  148. package/ImageEditor/toolbar/flip.js +1 -1
  149. package/ImageEditor/toolbar/flip.js.map +1 -0
  150. package/ImageEditor/toolbar/icons/index.js.map +1 -0
  151. package/ImageEditor/toolbar/index.js.map +1 -0
  152. package/ImageEditor/toolbar/rotate.js +5 -1
  153. package/ImageEditor/toolbar/rotate.js.map +1 -0
  154. package/ImageEditor/toolbar/types.d.ts +1 -1
  155. package/ImageEditor/toolbar/types.js.map +1 -0
  156. package/ImageUpload/Image.d.ts +6 -6
  157. package/ImageUpload/Image.js +1 -1
  158. package/ImageUpload/Image.js.map +1 -0
  159. package/ImageUpload/ImageEditorDialog.d.ts +5 -4
  160. package/ImageUpload/ImageEditorDialog.js +7 -2
  161. package/ImageUpload/ImageEditorDialog.js.map +1 -0
  162. package/ImageUpload/MultiImageUpload.d.ts +5 -5
  163. package/ImageUpload/MultiImageUpload.js +21 -16
  164. package/ImageUpload/MultiImageUpload.js.map +1 -0
  165. package/ImageUpload/MultiImageUpload.stories.js.map +1 -0
  166. package/ImageUpload/SingleImageUpload.d.ts +14 -13
  167. package/ImageUpload/SingleImageUpload.js +18 -12
  168. package/ImageUpload/SingleImageUpload.js.map +1 -0
  169. package/ImageUpload/SingleImageUpload.stories.js.map +1 -0
  170. package/ImageUpload/index.js.map +1 -0
  171. package/ImageUpload/styled.d.ts +18 -14
  172. package/ImageUpload/styled.js.map +1 -0
  173. package/Input/Input.d.ts +1 -1
  174. package/Input/Input.js +8 -8
  175. package/Input/Input.js.map +1 -0
  176. package/Input/Input.stories.js +1 -1
  177. package/Input/Input.stories.js.map +1 -0
  178. package/Input/__tests__/Input.test.js +32 -26
  179. package/Input/__tests__/Input.test.js.map +1 -0
  180. package/Input/index.js.map +1 -0
  181. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -0
  182. package/List/CollapsibleList/index.d.ts +2 -2
  183. package/List/CollapsibleList/index.js +1 -1
  184. package/List/CollapsibleList/index.js.map +1 -0
  185. package/List/DataList/DataList.d.ts +16 -12
  186. package/List/DataList/DataList.js +41 -11
  187. package/List/DataList/DataList.js.map +1 -0
  188. package/List/DataList/DataList.stories.js.map +1 -0
  189. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +7 -8
  190. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -0
  191. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.d.ts +3 -3
  192. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -0
  193. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.d.ts +9 -4
  194. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +6 -1
  195. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -0
  196. package/List/DataList/DataListModalOverlay/index.js.map +1 -0
  197. package/List/DataList/Loader.d.ts +2 -2
  198. package/List/DataList/Loader.js +1 -1
  199. package/List/DataList/Loader.js.map +1 -0
  200. package/List/DataList/NoData.d.ts +2 -2
  201. package/List/DataList/NoData.js +1 -1
  202. package/List/DataList/NoData.js.map +1 -0
  203. package/List/DataList/icons/index.d.ts +1 -1
  204. package/List/DataList/icons/index.js +1 -1
  205. package/List/DataList/icons/index.js.map +1 -0
  206. package/List/DataList/index.js.map +1 -0
  207. package/List/DataList/types.d.ts +1 -1
  208. package/List/DataList/types.js.map +1 -0
  209. package/List/List.d.ts +1 -1
  210. package/List/List.js +1 -1
  211. package/List/List.js.map +1 -0
  212. package/List/List.stories.js.map +1 -0
  213. package/List/icons/index.js.map +1 -0
  214. package/List/index.js.map +1 -0
  215. package/Menu/Menu.d.ts +13 -15
  216. package/Menu/Menu.js +1 -2
  217. package/Menu/Menu.js.map +1 -0
  218. package/Menu/Menu.stories.js.map +1 -0
  219. package/Menu/index.js.map +1 -0
  220. package/Mosaic/Mosaic.js.map +1 -0
  221. package/Mosaic/Mosaic.stories.js +1 -1
  222. package/Mosaic/Mosaic.stories.js.map +1 -0
  223. package/Mosaic/index.js.map +1 -0
  224. package/Progress/CircularProgress.d.ts +3 -3
  225. package/Progress/CircularProgress.js +12 -8
  226. package/Progress/CircularProgress.js.map +1 -0
  227. package/Progress/index.js.map +1 -0
  228. package/Radio/Radio.d.ts +1 -2
  229. package/Radio/Radio.js +8 -10
  230. package/Radio/Radio.js.map +1 -0
  231. package/Radio/Radio.styles.js.map +1 -0
  232. package/Radio/RadioGroup.d.ts +1 -2
  233. package/Radio/RadioGroup.js +8 -11
  234. package/Radio/RadioGroup.js.map +1 -0
  235. package/Radio/RadioGroup.stories.js +1 -1
  236. package/Radio/RadioGroup.stories.js.map +1 -0
  237. package/Radio/index.js.map +1 -0
  238. package/RichTextEditor/RichTextEditor.js +26 -4
  239. package/RichTextEditor/RichTextEditor.js.map +1 -0
  240. package/RichTextEditor/RichTextEditor.stories.js +1 -1
  241. package/RichTextEditor/RichTextEditor.stories.js.map +1 -0
  242. package/RichTextEditor/createPropsFromConfig.js.map +1 -0
  243. package/RichTextEditor/index.js.map +1 -0
  244. package/Ripple/Ripple.d.ts +1 -1
  245. package/Ripple/Ripple.js +1 -1
  246. package/Ripple/Ripple.js.map +1 -0
  247. package/Ripple/Ripple.stories.js +1 -1
  248. package/Ripple/Ripple.stories.js.map +1 -0
  249. package/Ripple/index.js.map +1 -0
  250. package/Scrollbar/Scrollbar.d.ts +1 -1
  251. package/Scrollbar/Scrollbar.js +1 -1
  252. package/Scrollbar/Scrollbar.js.map +1 -0
  253. package/Scrollbar/Scrollbar.stories.js +1 -1
  254. package/Scrollbar/Scrollbar.stories.js.map +1 -0
  255. package/Scrollbar/index.js.map +1 -0
  256. package/Section/Section.stories.js.map +1 -0
  257. package/Section/index.d.ts +1 -1
  258. package/Section/index.js +1 -1
  259. package/Section/index.js.map +1 -0
  260. package/Select/Select.d.ts +1 -1
  261. package/Select/Select.js +60 -10
  262. package/Select/Select.js.map +1 -0
  263. package/Select/Select.stories.js.map +1 -0
  264. package/Select/index.js.map +1 -0
  265. package/Slider/Slider.d.ts +1 -2
  266. package/Slider/Slider.js +7 -10
  267. package/Slider/Slider.js.map +1 -0
  268. package/Slider/Slider.stories.js +1 -1
  269. package/Slider/Slider.stories.js.map +1 -0
  270. package/Slider/index.js.map +1 -0
  271. package/Snackbar/Snackbar.d.ts +3 -6
  272. package/Snackbar/Snackbar.js +2 -5
  273. package/Snackbar/Snackbar.js.map +1 -0
  274. package/Snackbar/Snackbar.stories.js +1 -1
  275. package/Snackbar/Snackbar.stories.js.map +1 -0
  276. package/Snackbar/index.js.map +1 -0
  277. package/Switch/Switch.d.ts +1 -2
  278. package/Switch/Switch.js +8 -10
  279. package/Switch/Switch.js.map +1 -0
  280. package/Switch/Switch.stories.js.map +1 -0
  281. package/Switch/index.js.map +1 -0
  282. package/Tabs/Tab.d.ts +2 -2
  283. package/Tabs/Tab.js +1 -1
  284. package/Tabs/Tab.js.map +1 -0
  285. package/Tabs/Tabs.d.ts +3 -3
  286. package/Tabs/Tabs.js +28 -16
  287. package/Tabs/Tabs.js.map +1 -0
  288. package/Tabs/Tabs.stories.js +1 -1
  289. package/Tabs/Tabs.stories.js.map +1 -0
  290. package/Tabs/index.js.map +1 -0
  291. package/Tags/Tags.d.ts +8 -7
  292. package/Tags/Tags.js +7 -11
  293. package/Tags/Tags.js.map +1 -0
  294. package/Tags/Tags.stories.js.map +1 -0
  295. package/Tags/index.js.map +1 -0
  296. package/Tooltip/Tooltip.d.ts +7 -4
  297. package/Tooltip/Tooltip.js +2 -2
  298. package/Tooltip/Tooltip.js.map +1 -0
  299. package/Tooltip/Tooltip.stories.js.map +1 -0
  300. package/Tooltip/index.js.map +1 -0
  301. package/TopAppBar/TopAppBar.d.ts +1 -1
  302. package/TopAppBar/TopAppBar.js +1 -1
  303. package/TopAppBar/TopAppBar.js.map +1 -0
  304. package/TopAppBar/TopAppBar.stories.js.map +1 -0
  305. package/TopAppBar/TopAppBarActionItem.js +1 -1
  306. package/TopAppBar/TopAppBarActionItem.js.map +1 -0
  307. package/TopAppBar/TopAppBarNavigationIcon.js +1 -1
  308. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -0
  309. package/TopAppBar/TopAppBarPrimary.js +1 -1
  310. package/TopAppBar/TopAppBarPrimary.js.map +1 -0
  311. package/TopAppBar/TopAppBarSecondary.js +1 -1
  312. package/TopAppBar/TopAppBarSecondary.js.map +1 -0
  313. package/TopAppBar/TopAppBarSection.d.ts +1 -1
  314. package/TopAppBar/TopAppBarSection.js +1 -1
  315. package/TopAppBar/TopAppBarSection.js.map +1 -0
  316. package/TopAppBar/TopAppBarTitle.d.ts +1 -1
  317. package/TopAppBar/TopAppBarTitle.js +1 -1
  318. package/TopAppBar/TopAppBarTitle.js.map +1 -0
  319. package/TopAppBar/index.js.map +1 -0
  320. package/TopProgressBar/TopProgressBar.d.ts +2 -2
  321. package/TopProgressBar/TopProgressBar.js.map +1 -0
  322. package/TopProgressBar/TopProgressBar.stories.js +1 -1
  323. package/TopProgressBar/TopProgressBar.stories.js.map +1 -0
  324. package/TopProgressBar/hoc/index.js.map +1 -0
  325. package/TopProgressBar/hoc/withTopProgressBar.d.ts +1 -1
  326. package/TopProgressBar/hoc/withTopProgressBar.js +1 -1
  327. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -0
  328. package/TopProgressBar/index.js.map +1 -0
  329. package/Typography/Typography.d.ts +1 -1
  330. package/Typography/Typography.js +1 -1
  331. package/Typography/Typography.js.map +1 -0
  332. package/Typography/Typography.stories.js +1 -1
  333. package/Typography/Typography.stories.js.map +1 -0
  334. package/Typography/index.js.map +1 -0
  335. package/package.json +17 -13
  336. package/rmwc/base/LICENSE +21 -0
  337. package/rmwc/base/README.md +3 -0
  338. package/rmwc/base/code/component.d.ts +18 -0
  339. package/rmwc/base/code/component.js +163 -0
  340. package/rmwc/base/code/foundation-component.d.ts +79 -0
  341. package/rmwc/base/code/foundation-component.js +354 -0
  342. package/rmwc/base/code/index.d.ts +16 -0
  343. package/rmwc/base/code/index.js +25 -0
  344. package/rmwc/base/code/test-polyfill.d.ts +3 -0
  345. package/rmwc/base/code/test-polyfill.js +33 -0
  346. package/rmwc/base/code/utils/apply-passive.d.ts +8 -0
  347. package/rmwc/base/code/utils/apply-passive.js +63 -0
  348. package/rmwc/base/code/utils/debounce.d.ts +2 -0
  349. package/rmwc/base/code/utils/debounce.js +17 -0
  350. package/rmwc/base/code/utils/deprecation.d.ts +6 -0
  351. package/rmwc/base/code/utils/deprecation.js +76 -0
  352. package/rmwc/base/code/utils/emitter.d.ts +13 -0
  353. package/rmwc/base/code/utils/emitter.js +120 -0
  354. package/rmwc/base/code/utils/events-map.d.ts +87 -0
  355. package/rmwc/base/code/utils/events-map.js +90 -0
  356. package/rmwc/base/code/utils/index.d.ts +10 -0
  357. package/rmwc/base/code/utils/index.js +19 -0
  358. package/rmwc/base/code/utils/ponyfills.d.ts +3 -0
  359. package/rmwc/base/code/utils/ponyfills.js +29 -0
  360. package/rmwc/base/code/utils/random-id.d.ts +6 -0
  361. package/rmwc/base/code/utils/random-id.js +14 -0
  362. package/rmwc/base/code/utils/strings.d.ts +3 -0
  363. package/rmwc/base/code/utils/strings.js +13 -0
  364. package/rmwc/base/code/utils/use-knob.d.ts +2 -0
  365. package/rmwc/base/code/utils/use-knob.js +64 -0
  366. package/rmwc/base/code/utils/wrap-child.d.ts +3 -0
  367. package/rmwc/base/code/utils/wrap-child.js +55 -0
  368. package/rmwc/base/code/with-theme.d.ts +15 -0
  369. package/rmwc/base/code/with-theme.js +106 -0
  370. package/rmwc/base/package.json +40 -0
  371. package/types.d.ts +2 -2
  372. package/types.js.map +1 -0
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { storiesOf } from "@storybook/react";
3
3
  import { Story, StoryReadme, StorySandbox } from "@webiny/storybook-utils/Story";
4
4
  import readme from "./../Scrollbar/README.md";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Scrollbar.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandbox","readme","Scrollbar","story","module","add","width","height","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAASC,KAAT,EAAgBC,WAAhB,EAA6BC,YAA7B,QAAiD,+BAAjD;AACA,OAAOC,MAAP;AACA,SAASC,SAAT;AAEA,IAAMC,KAAK,GAAGN,SAAS,CAAC,sBAAD,EAAyBO,MAAzB,CAAvB;AAEAD,KAAK,CAACE,GAAN,CACI,OADJ,EAEI,YAAM;AACF,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcJ,MAAd,CADJ,eAEI,oBAAC,YAAD;AAAc,IAAA,KAAK,EAAE;AAArB,kBACI,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAE;AAAEK,MAAAA,KAAK,EAAE,GAAT;AAAcC,MAAAA,MAAM,EAAE;AAAtB;AAAlB,u1BADJ,CAFJ,CADJ;AAqBH,CAxBL,EAyBI;AAAEC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACP,SAAD;AAAd;AAAR,CAzBJ","sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Scrollbar/README.md\";\nimport { Scrollbar } from \"./Scrollbar\";\n\nconst story = storiesOf(\"Components/Scrollbar\", module);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"Scrollbar demo\"}>\n <Scrollbar style={{ width: 300, height: 200 }}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lorem leo,\n aliquam aliquet arcu vel, faucibus feugiat est. Nulla facilisi. Donec\n lobortis metus dictum sem egestas, non lobortis erat suscipit. Nunc\n fermentum tempor nisi, nec venenatis odio egestas at. Nulla facilisi. Fusce\n sed venenatis velit, ac rhoncus ligula. Integer hendrerit egestas ante,\n tristique posuere augue auctor non. Curabitur accumsan, ipsum cursus euismod\n volutpat, enim ligula interdum diam, id suscipit ipsum lectus id ligula. Ut\n nec odio vel lacus volutpat commodo. In hac habitasse platea dictumst. Donec\n nunc lacus, venenatis non tellus vel, semper porta quam. Ut fermentum mattis\n urna non imperdiet. Fusce tincidunt enim nec tincidunt dapibus. Aliquam eu\n ligula quis ligula pretium tincidunt non sit amet velit. Curabitur vel\n interdum enim, ut molestie ligula.\n </Scrollbar>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Scrollbar] } }\n);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from \"./Scrollbar\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Section.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","readme","Section","styled","story","module","RenderSection","backgroundColor","padding","add","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,OAAOC,MAAP;AAEA,OAAOC,OAAP;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,IAAMC,KAAK,GAAGT,SAAS,CAAC,oBAAD,EAAuBU,MAAvB,CAAvB;AAEA,IAAMC,aAAa,gBAAGH,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAChCI,EAAAA,eAAe,EAAE,6BADe;AAEhCC,EAAAA,OAAO,EAAE;AAFuB,CAAjB,CAAnB;AAKAJ,KAAK,CAACK,GAAN,CACI,OADJ,EAEI,YAAM;AACF,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcR,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD,qBACI,oBAAC,aAAD,qBACI,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC;AAAf,mCADJ,eAEI,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC;AAAf,mDAFJ,CADJ,CADJ,eAOI,oBAAC,gBAAD,yoBAPJ,CAFJ,CADJ;AA4BH,CA/BL,EAgCI;AAAES,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACT,OAAD;AAAd;AAAR,CAhCJ","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 \"./README.md\";\n\nimport Section from \"./index\";\nimport styled from \"@emotion/styled\";\n\nconst story = storiesOf(\"Components/Section\", module);\n\nconst RenderSection = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-background)\",\n padding: \"1px 25px 0 25px\"\n});\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <RenderSection>\n <Section title=\"Section 1\">Here goes the first section</Section>\n <Section title=\"Section 2\">And this is the second section 🦄</Section>\n </RenderSection>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n import styled from \"@emotion/styled\";\n \n const RenderSection = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-background)\",\n padding: \"1px 25px 0 25px\"\n });\n\n <RenderSection>\n <Section title=\"Section 1\">Here goes the first section</Section>\n <Section title=\"Section 2\">And this is the second section 🦄</Section>\n </RenderSection>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Section] } }\n);\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  interface SectionProps {
3
3
  title?: String;
4
4
  }
package/Section/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  var _excluded = ["children", "title"];
3
- import * as React from "react";
3
+ import React from "react";
4
4
  import styled from "@emotion/styled";
5
5
  import { css } from "emotion";
6
6
  import { Typography } from "../Typography";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.tsx"],"names":["React","styled","css","Typography","Elevation","SectionWrapper","backgroundColor","padding","titleStyle","display","alignItems","color","lineHeight","svg","height","ElevationContent","Section","children","title","props"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,UAAT;AACA,SAASC,SAAT;AAEA,IAAMC,cAAc,gBAAGJ,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACjCK,EAAAA,eAAe,EAAE,6BADgB;AAEjCC,EAAAA,OAAO,EAAE;AAFwB,CAAjB,CAApB;AAKA,IAAMC,UAAU,gBAAGN,GAAG,CAAC;AACnBO,EAAAA,OAAO,EAAE,MADU;AAEnBC,EAAAA,UAAU,EAAE,QAFO;AAGnBC,EAAAA,KAAK,EAAE,6BAHY;AAInB,8BAA4B;AACxBC,IAAAA,UAAU,EAAE,MADY;AAExBC,IAAAA,GAAG,EAAE;AACDC,MAAAA,MAAM,EAAE,EADP;AAEDH,MAAAA,KAAK,EAAE;AAFN;AAFmB;AAJT,CAAD,sBAAtB;AAaA,IAAMI,gBAAgB,gBAAGd,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACnCM,EAAAA,OAAO,EAAE,EAD0B;AAEnCD,EAAAA,eAAe,EAAE;AAFkB,CAAjB,CAAtB;;AASA,IAAMU,OAA+B,GAAG,SAAlCA,OAAkC,OAAmC;AAAA,MAAhCC,QAAgC,QAAhCA,QAAgC;AAAA,MAAtBC,KAAsB,QAAtBA,KAAsB;AAAA,MAAZC,KAAY;;AACvE,sBACI,oBAAC,cAAD,EAAoBA,KAApB,eACI,6CACI,oBAAC,UAAD;AAAY,IAAA,SAAS,EAAEX,UAAvB;AAAmC,IAAA,GAAG,EAAE;AAAxC,KACKU,KADL,CADJ,CADJ,eAOI,oBAAC,SAAD;AAAW,IAAA,CAAC,EAAE;AAAd,kBACI,oBAAC,gBAAD,QAAmBD,QAAnB,CADJ,CAPJ,CADJ;AAaH,CAdD;;AAgBA,eAAeD,OAAf","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\nimport { Typography } from \"~/Typography\";\nimport { Elevation } from \"~/Elevation\";\n\nconst SectionWrapper = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-background)\",\n padding: \"0 0 25px 0\"\n});\n\nconst titleStyle = css({\n display: \"flex\",\n alignItems: \"center\",\n color: \"var(--mdc-theme-on-surface)\",\n \".tooltip-content-wrapper\": {\n lineHeight: \"100%\",\n svg: {\n height: 13,\n color: \"var(--mdc-theme-on-surface)\"\n }\n }\n});\n\nconst ElevationContent = styled(\"div\")({\n padding: 20,\n backgroundColor: \"#fff\"\n});\n\ninterface SectionProps {\n title?: String;\n}\n\nconst Section: React.FC<SectionProps> = ({ children, title, ...props }) => {\n return (\n <SectionWrapper {...props}>\n <h4>\n <Typography className={titleStyle} use={\"overline\"}>\n {title}\n </Typography>\n </h4>\n\n <Elevation z={2}>\n <ElevationContent>{children}</ElevationContent>\n </Elevation>\n </SectionWrapper>\n );\n};\n\nexport default Section;\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { SelectProps as RmwcSelectProps } from "@rmwc/select";
3
3
  import { FormComponentProps } from "../types";
4
4
  export declare type SelectProps = FormComponentProps & RmwcSelectProps & {
package/Select/Select.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/createForOfIteratorHelper";
3
4
  var _excluded = ["value", "description", "validation"];
4
- import * as React from "react";
5
+ import React from "react";
5
6
  import { Select as RmwcSelect } from "@rmwc/select";
6
7
  import { FormElementMessage } from "../FormElementMessage";
7
8
  import { css } from "emotion";
@@ -20,11 +21,59 @@ var noLabel = /*#__PURE__*/css({
20
21
  }
21
22
  }
22
23
  }, "label:noLabel;");
24
+ /**
25
+ * TODO verify that this is correct method get all options.
26
+ */
27
+
28
+ var getOptions = function getOptions(initialOptions) {
29
+ if (!initialOptions) {
30
+ return [];
31
+ } else if (Array.isArray(initialOptions)) {
32
+ var options = [];
33
+
34
+ var _iterator = _createForOfIteratorHelper(initialOptions),
35
+ _step;
36
+
37
+ try {
38
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
39
+ var option = _step.value;
40
+
41
+ if (typeof option === "string") {
42
+ options.push({
43
+ label: option,
44
+ value: option
45
+ });
46
+ continue;
47
+ }
48
+
49
+ options.push({
50
+ label: option.label,
51
+ value: option.value,
52
+ options: option.options
53
+ });
54
+ }
55
+ } catch (err) {
56
+ _iterator.e(err);
57
+ } finally {
58
+ _iterator.f();
59
+ }
60
+
61
+ return options;
62
+ }
63
+
64
+ return Object.keys(initialOptions).map(function (key) {
65
+ return {
66
+ label: initialOptions[key],
67
+ value: key
68
+ };
69
+ });
70
+ };
23
71
  /**
24
72
  * Select component lets users choose a value from given set of options.
25
73
  */
26
74
 
27
- var skipProps = ["validate"];
75
+
76
+ var skipProps = ["validate", "form"];
28
77
 
29
78
  var getRmwcProps = function getRmwcProps(props) {
30
79
  var newProps = {};
@@ -49,20 +98,21 @@ export var Select = function Select(props) {
49
98
  other = _objectWithoutProperties(props, _excluded);
50
99
 
51
100
  var value = initialValue === null || initialValue === undefined ? "" : initialValue;
101
+
102
+ var _ref = validation || {},
103
+ validationIsValid = _ref.isValid,
104
+ validationMessage = _ref.message;
105
+
106
+ var options = getOptions(other.options);
52
107
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RmwcSelect, Object.assign({}, getRmwcProps(other), {
108
+ options: options,
53
109
  value: value,
54
110
  className: classNames("webiny-ui-select", props.className, _defineProperty({}, noLabel, !props.label)),
55
111
  onChange: function onChange(e) {
56
112
  props.onChange && props.onChange(e.target.value);
57
113
  }
58
- })), validation.isValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
114
+ })), validationIsValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
59
115
  error: true
60
- }, validation.message), validation.isValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
61
- };
62
- Select.defaultProps = {
63
- validation: {
64
- isValid: null,
65
- message: null
66
- }
116
+ }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
67
117
  };
68
118
  export default Select;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Select.tsx"],"names":["React","Select","RmwcSelect","FormElementMessage","css","classNames","noLabel","height","paddingTop","getOptions","initialOptions","Array","isArray","options","option","push","label","value","Object","keys","map","key","skipProps","getRmwcProps","props","newProps","filter","name","includes","forEach","initialValue","description","validation","other","undefined","validationIsValid","isValid","validationMessage","message","className","e","onChange","target"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {\n FormattedOption,\n Select as RmwcSelect,\n SelectProps as RmwcSelectProps\n} from \"@rmwc/select\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { FormComponentProps } from \"~/types\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\n\nexport type SelectProps = FormComponentProps &\n RmwcSelectProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the select.\n description?: string;\n\n // Placeholder text for the form control. Set to a blank string to create a non-floating placeholder label.\n placeholder?: string;\n\n // Makes the Select have a visual box.\n box?: string;\n\n // One or more <option> or <optgroup> elements.\n children?: Array<React.ReactElement<\"option\"> | React.ReactElement<\"optgroup\">>;\n\n // IconProps for the root element. By default, additional props spread to the native select element.\n rootProps?: Object;\n\n // A className for the root element.\n className?: string;\n };\n\nconst noLabel = css({\n \"&.mdc-select\": {\n height: 35,\n \".mdc-select__native-control\": {\n paddingTop: 0\n },\n \"&.mdc-select--box\": {\n \".mdc-select__native-control\": {\n height: 35,\n paddingTop: 5\n }\n }\n }\n});\n/**\n * TODO verify that this is correct method get all options.\n */\nconst getOptions = (initialOptions: SelectProps[\"options\"]): FormattedOption[] => {\n if (!initialOptions) {\n return [];\n } else if (Array.isArray(initialOptions)) {\n const options: FormattedOption[] = [];\n for (const option of initialOptions) {\n if (typeof option === \"string\") {\n options.push({\n label: option,\n value: option\n });\n continue;\n }\n options.push({\n label: option.label,\n value: option.value,\n options: option.options\n });\n }\n return options;\n }\n return Object.keys(initialOptions).map(key => {\n return {\n label: initialOptions[key],\n value: key\n };\n });\n};\n\n/**\n * Select component lets users choose a value from given set of options.\n */\nconst skipProps = [\"validate\", \"form\"];\n\nconst getRmwcProps = (props: SelectProps): FormComponentProps & RmwcSelectProps => {\n const newProps: FormComponentProps & RmwcSelectProps = {};\n Object.keys(props)\n .filter(name => !skipProps.includes(name))\n // @ts-ignore\n .forEach((name: any) => (newProps[name] = props[name]));\n\n return newProps;\n};\n/**\n * We check for null and undefined in the value because React is complaining about those values.\n * Error says to use the empty string in null/undefined case.\n */\nexport const Select: React.FC<SelectProps> = props => {\n const { value: initialValue, description, validation, ...other } = props;\n\n const value = initialValue === null || initialValue === undefined ? \"\" : initialValue;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n const options = getOptions(other.options);\n\n return (\n <React.Fragment>\n <RmwcSelect\n {...getRmwcProps(other)}\n options={options}\n value={value}\n className={classNames(\"webiny-ui-select\", props.className, {\n [noLabel]: !props.label\n })}\n onChange={e => {\n props.onChange && props.onChange((e.target as any).value);\n }}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default Select;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Select.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","Select","story","module","addDecorator","add","disabled","box","Bind","toString","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,OAAOC,MAAP;AAEA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,MAAT;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,mBAAD,EAAsBY,MAAtB,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBP,SAAnB;AAEAK,KAAK,CAACG,GAAN,CACI,OADJ,EAEI,YAAM;AACF,MAAMC,QAAQ,GAAGR,OAAO,CAAC,UAAD,EAAa,KAAb,CAAxB;AACA,MAAMS,GAAG,GAAGT,OAAO,CAAC,KAAD,EAAQ,KAAR,CAAnB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcC,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD;AAAqB,IAAA,KAAK,EAAE;AAA5B,kBACI,oBAAC,IAAD,QACK;AAAA,QAAGS,IAAH,QAAGA,IAAH;AAAA,wBACG,oBAAC,IAAD;AAAM,MAAA,IAAI,EAAC;AAAX,oBACI,oBAAC,MAAD;AACI,MAAA,KAAK,EAAC,MADV;AAEI,MAAA,QAAQ,EAAEF,QAFd;AAGI,MAAA,GAAG,EAAEC,GAAG,CAACE,QAAJ,EAHT;AAII,MAAA,WAAW,EAAC;AAJhB,oBAMI;AAAU,MAAA,KAAK,EAAC;AAAhB,oBACI;AAAQ,MAAA,KAAK,EAAC;AAAd,yBADJ,eAEI;AAAQ,MAAA,KAAK,EAAC;AAAd,iBAFJ,eAGI;AAAQ,MAAA,KAAK,EAAC;AAAd,kBAHJ,CANJ,eAWI;AAAU,MAAA,KAAK,EAAC;AAAhB,oBACI;AAAQ,MAAA,KAAK,EAAC;AAAd,gBADJ,eAEI;AAAQ,MAAA,KAAK,EAAC;AAAd,aAFJ,eAGI;AAAQ,MAAA,KAAK,EAAC;AAAd,oBAHJ,CAXJ,CADJ,CADH;AAAA,GADL,CADJ,CADJ,eA0BI,oBAAC,gBAAD,85CA1BJ,CAFJ,CADJ;AA6DH,CAnEL,EAoEI;AAAEC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACV,MAAD;AAAd;AAAR,CApEJ","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 { Select } from \"./Select\";\n\nconst story = storiesOf(\"Components/Select\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const disabled = boolean(\"Disabled\", false);\n const box = boolean(\"Box\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample title={\"Simple select with a label and description\"}>\n <Form>\n {({ Bind }) => (\n <Bind name=\"pet\">\n <Select\n label=\"Pets\"\n disabled={disabled}\n box={box.toString()}\n description=\"Choose a pet of your liking.\"\n >\n <optgroup label=\"Dogs\">\n <option value=\"germanShepherd\">German Shepherd</option>\n <option value=\"bulldog\">Bulldog</option>\n <option value=\"sharPei\">Shar-Pei</option>\n </optgroup>\n <optgroup label=\"Other\">\n <option value=\"parrot\">Parrot</option>\n <option value=\"cat\">Cat</option>\n <option value=\"guinea \">Guinea Pig</option>\n </optgroup>\n </Select>\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind name=\"pet\">\n <Select\n label=\"Pets\"\n disabled={disabled}\n box={box.toString()}\n description=\"Choose a pet of your liking.\"\n >\n <optgroup label=\"Dogs\">\n <option value=\"germanShepherd\">\n German Shepherd\n </option>\n <option value=\"bulldog\">Bulldog</option>\n <option value=\"sharPei\">Shar-Pei</option>\n </optgroup>\n <optgroup label=\"Other\">\n <option value=\"parrot\">Parrot</option>\n <option value=\"cat\">Cat</option>\n <option value=\"guinea \">Guinea Pig</option>\n </optgroup>\n </Select>\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Select] } }\n);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from \"./Select\";\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { FormComponentProps } from "../types";
3
3
  declare type Props = FormComponentProps & {
4
4
  label?: string;
@@ -15,7 +15,6 @@ declare type Props = FormComponentProps & {
15
15
  * Slider component lets users choose a value from given range.
16
16
  */
17
17
  declare class Slider extends React.Component<Props> {
18
- static defaultProps: Partial<Props>;
19
18
  onChange: (e: {
20
19
  detail: {
21
20
  value: number;
package/Slider/Slider.js CHANGED
@@ -4,7 +4,7 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
4
4
  import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/createSuper";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import * as React from "react";
7
+ import React from "react";
8
8
  import { Slider as RmwcSlider } from "@rmwc/slider";
9
9
  import styled from "@emotion/styled";
10
10
  import { FormElementMessage } from "../FormElementMessage";
@@ -63,26 +63,23 @@ var Slider = /*#__PURE__*/function (_React$Component) {
63
63
  sliderValue = this.props.min || 0;
64
64
  }
65
65
 
66
+ var _ref = validation || {},
67
+ validationIsValid = _ref.isValid,
68
+ validationMessage = _ref.message;
69
+
66
70
  return /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement("div", {
67
71
  className: "mdc-text-field-helper-text mdc-text-field-helper-text--persistent"
68
72
  }, label), /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(RmwcSlider, Object.assign({}, this.props, {
69
73
  value: sliderValue,
70
74
  onChange: this.onChange,
71
75
  onInput: this.onInput
72
- }))), validation.isValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
76
+ }))), validationIsValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
73
77
  error: true
74
- }, validation.message), validation.isValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
78
+ }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
75
79
  }
76
80
  }]);
77
81
 
78
82
  return Slider;
79
83
  }(React.Component);
80
84
 
81
- _defineProperty(Slider, "defaultProps", {
82
- validation: {
83
- isValid: null,
84
- message: null
85
- }
86
- });
87
-
88
85
  export default Slider;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Slider.tsx"],"names":["React","Slider","RmwcSlider","styled","FormElementMessage","Wrapper","width","left","e","props","onChange","detail","value","onInput","label","description","validation","sliderValue","min","validationIsValid","isValid","validationMessage","message","Component"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,MAAM,IAAIC,UAAnB,QAAqC,cAArC;AAEA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,kBAAT;AA+BA;AACA,IAAMC,OAAO,gBAAGF,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAC1BG,EAAAA,KAAK,EAAE,MADmB;AAE1B,8CAA4C;AACxCC,IAAAA,IAAI,EAAE;AADkC;AAFlB,CAAjB,CAAb;AAOA;AACA;AACA;;IACMN,M;;;;;;;;;;;;;;;;+DACS,UAACO,CAAD,EAAsC;AAC7C,YAAKC,KAAL,CAAWC,QAAX,IAAuB,MAAKD,KAAL,CAAWC,QAAX,CAAoBF,CAAC,CAACG,MAAF,CAASC,KAA7B,CAAvB;AACH,K;;8DAES,UAACJ,CAAD,EAAsC;AAC5C,YAAKC,KAAL,CAAWI,OAAX,IAAsB,MAAKJ,KAAL,CAAWI,OAAX,CAAmBL,CAAC,CAACG,MAAF,CAASC,KAA5B,CAAtB;AACH,K;;;;;;;WAED,kBAAyB;AACrB,wBAAkD,KAAKH,KAAvD;AAAA,UAAQG,KAAR,eAAQA,KAAR;AAAA,UAAeE,KAAf,eAAeA,KAAf;AAAA,UAAsBC,WAAtB,eAAsBA,WAAtB;AAAA,UAAmCC,UAAnC,eAAmCA,UAAnC;AAEA,UAAIC,WAAW,GAAGL,KAAlB;;AACA,UAAIA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,WAAvC,EAAoD;AAChDK,QAAAA,WAAW,GAAG,KAAKR,KAAL,CAAWS,GAAX,IAAkB,CAAhC;AACH;;AAED,iBAAmEF,UAAU,IAAI,EAAjF;AAAA,UAAiBG,iBAAjB,QAAQC,OAAR;AAAA,UAA6CC,iBAA7C,QAAoCC,OAApC;;AAEA,0BACI,oBAAC,KAAD,CAAO,QAAP,QACKR,KAAK,iBACF;AAAK,QAAA,SAAS,EAAC;AAAf,SACKA,KADL,CAFR,eAOI,oBAAC,OAAD,qBACI,oBAAC,UAAD,oBACQ,KAAKL,KADb;AAEI,QAAA,KAAK,EAAEQ,WAFX;AAGI,QAAA,QAAQ,EAAE,KAAKP,QAHnB;AAII,QAAA,OAAO,EAAE,KAAKG;AAJlB,SADJ,CAPJ,EAgBKM,iBAAiB,KAAK,KAAtB,iBACG,oBAAC,kBAAD;AAAoB,QAAA,KAAK;AAAzB,SAA2BE,iBAA3B,CAjBR,EAoBKF,iBAAiB,KAAK,KAAtB,IAA+BJ,WAA/B,iBACG,oBAAC,kBAAD,QAAqBA,WAArB,CArBR,CADJ;AA0BH;;;;EA7CgBf,KAAK,CAACuB,S;;AAgD3B,eAAetB,MAAf","sourcesContent":["import React from \"react\";\nimport { Slider as RmwcSlider } from \"@rmwc/slider\";\nimport { FormComponentProps } from \"~/types\";\nimport styled from \"@emotion/styled\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ntype Props = FormComponentProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the slider.\n description?: string;\n\n // The minimum value of the Slider.\n min: number | string;\n\n // The maximum value of the Slider.\n max: number | string;\n\n // A step to quantize values by.\n step?: number | string;\n\n // Displays the exact value of the Slider on the knob.\n discrete?: boolean;\n\n // Displays the individual step markers on the Slider track.\n displayMarkers?: boolean;\n\n // Function that gets triggered on each input.\n onInput?: Function;\n};\n\n// wrapper fixes a bug in slider where the slider handle is rendered outside the bounds of the slider box\nconst Wrapper = styled(\"div\")({\n width: \"100%\",\n \".mdc-slider .mdc-slider__thumb-container\": {\n left: 5\n }\n});\n\n/**\n * Slider component lets users choose a value from given range.\n */\nclass Slider extends React.Component<Props> {\n onChange = (e: { detail: { value: number } }) => {\n this.props.onChange && this.props.onChange(e.detail.value);\n };\n\n onInput = (e: { detail: { value: number } }) => {\n this.props.onInput && this.props.onInput(e.detail.value);\n };\n\n public override render() {\n const { value, label, description, validation } = this.props;\n\n let sliderValue = value;\n if (value === null || typeof value === \"undefined\") {\n sliderValue = this.props.min || 0;\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n {label && (\n <div className=\"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\">\n {label}\n </div>\n )}\n\n <Wrapper>\n <RmwcSlider\n {...this.props}\n value={sliderValue}\n onChange={this.onChange}\n onInput={this.onInput}\n />\n </Wrapper>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Slider;\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { storiesOf } from "@storybook/react";
3
3
  import { Story, StoryReadme, StorySandboxCode, StorySandbox, StorySandboxExample } from "@webiny/storybook-utils/Story";
4
4
  import { withKnobs, boolean } from "@storybook/addon-knobs";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Slider.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","Slider","story","module","addDecorator","add","disabled","width","Bind","value","onChange","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,OAAOC,MAAP;AAEA,SAASC,IAAT,QAAqB,cAArB;AACA,OAAOC,MAAP;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,mBAAD,EAAsBY,MAAtB,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBP,SAAnB;AAEAK,KAAK,CAACG,GAAN,CACI,OADJ,EAEI,YAAM;AACF,MAAMC,QAAQ,GAAGR,OAAO,CAAC,UAAD,EAAa,KAAb,CAAxB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcC,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD;AAAqB,IAAA,KAAK,EAAE;AAA5B,kBACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE;AAAEQ,MAAAA,KAAK,EAAE;AAAT;AAAZ,KACK;AAAA,QAAGC,IAAH,QAAGA,IAAH;AAAA,wBACG,oBAAC,IAAD;AAAM,MAAA,IAAI,EAAC;AAAX,OACK;AAAA,UAAGC,KAAH,SAAGA,KAAH;AAAA,UAAUC,QAAV,SAAUA,QAAV;AAAA,0BACG,oBAAC,MAAD;AACI,QAAA,KAAK,EAAE,kBADX;AAEI,QAAA,QAAQ,EAAEJ,QAFd;AAGI,QAAA,WAAW,EACP,+CAJR;AAMI,QAAA,QAAQ,MANZ;AAOI,QAAA,cAAc,MAPlB;AAQI,QAAA,GAAG,EAAE,CART;AASI,QAAA,GAAG,EAAE,EATT;AAUI,QAAA,IAAI,EAAE,CAVV;AAWI,QAAA,OAAO,EAAEI,QAXb;AAYI,QAAA,QAAQ,EAAEA,QAZd;AAaI,QAAA,KAAK,EAAED;AAbX,QADH;AAAA,KADL,CADH;AAAA,GADL,CADJ,CADJ,eA0BI,oBAAC,gBAAD,wrCA1BJ,CAFJ,CADJ;AA2DH,CAhEL,EAiEI;AAAEE,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACX,MAAD;AAAd;AAAR,CAjEJ","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 Slider from \"./Slider\";\n\nconst story = storiesOf(\"Components/Slider\", 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={\"Simple slider with a label and description\"}>\n <Form data={{ width: 200 }}>\n {({ Bind }) => (\n <Bind name=\"width\">\n {({ value, onChange }) => (\n <Slider\n label={\"Number of rooms:\"}\n disabled={disabled}\n description={\n \"Choose the number of rooms in your apartment.\"\n }\n discrete\n displayMarkers\n min={1}\n max={10}\n step={1}\n onInput={onChange}\n onChange={onChange}\n value={value}\n />\n )}\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={{ width: 200 }}>\n {({ Bind }) => (\n <Bind name=\"width\">\n {({ value, onChange }) => (\n <Slider\n label={\"Number of rooms:\"}\n disabled={disabled}\n description={\n \"Choose the number of rooms in your apartment.\"\n }\n discrete\n displayMarkers\n min={1}\n max={10}\n step={1}\n onInput={onChange}\n onChange={onChange}\n value={value}\n />\n )}\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Slider] } }\n);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["default","Slider"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAApB","sourcesContent":["export { default as Slider } from \"./Slider\";\n"]}
@@ -1,15 +1,12 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { SnackbarAction, SnackbarProps } from "@rmwc/snackbar";
3
3
  declare type Props = SnackbarProps;
4
4
  /**
5
5
  * Use Snackbar component to display an informative or alert message and allow users to act upon it.
6
- * @param props
7
- * @returns {*}
8
- * @constructor
9
6
  */
10
7
  declare class Snackbar extends React.Component<Props> {
11
- container?: Element;
8
+ readonly container: HTMLElement | null;
12
9
  constructor(props: Props);
13
- render(): JSX.Element;
10
+ render(): React.ReactElement;
14
11
  }
15
12
  export { Snackbar, SnackbarAction };
@@ -4,14 +4,11 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
4
4
  import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/createSuper";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import * as React from "react";
7
+ import React from "react";
8
8
  import { Snackbar as RmwcSnackbar, SnackbarAction } from "@rmwc/snackbar";
9
9
 
10
10
  /**
11
11
  * Use Snackbar component to display an informative or alert message and allow users to act upon it.
12
- * @param props
13
- * @returns {*}
14
- * @constructor
15
12
  */
16
13
  var Snackbar = /*#__PURE__*/function (_React$Component) {
17
14
  _inherits(Snackbar, _React$Component);
@@ -25,7 +22,7 @@ var Snackbar = /*#__PURE__*/function (_React$Component) {
25
22
 
26
23
  _this = _super.call(this, props);
27
24
 
28
- _defineProperty(_assertThisInitialized(_this), "container", void 0);
25
+ _defineProperty(_assertThisInitialized(_this), "container", null);
29
26
 
30
27
  _this.container = document.getElementById("snackbar-container");
31
28
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Snackbar.tsx"],"names":["React","Snackbar","RmwcSnackbar","SnackbarAction","props","container","document","getElementById","createElement","setAttribute","body","appendChild","Component"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAQ,IAAIC,YAArB,EAAmCC,cAAnC,QAAwE,gBAAxE;;AAIA;AACA;AACA;IACMF,Q;;;;;AAGF,oBAAmBG,KAAnB,EAAiC;AAAA;;AAAA;;AAC7B,8BAAMA,KAAN;;AAD6B,gEAFe,IAEf;;AAG7B,UAAKC,SAAL,GAAiBC,QAAQ,CAACC,cAAT,CAAwB,oBAAxB,CAAjB;;AAEA,QAAI,CAAC,MAAKF,SAAV,EAAqB;AACjB,YAAKA,SAAL,GAAiBC,QAAQ,CAACE,aAAT,CAAuB,KAAvB,CAAjB;;AACA,YAAKH,SAAL,CAAeI,YAAf,CAA4B,IAA5B,EAAkC,oBAAlC;;AACA,UAAMJ,SAAsB,GAAG,MAAKA,SAApC;AACAC,MAAAA,QAAQ,CAACI,IAAT,IAAiBJ,QAAQ,CAACI,IAAT,CAAcC,WAAd,CAA0BN,SAA1B,CAAjB;AACH;;AAV4B;AAWhC;;;;WAED,kBAA6C;AACzC,0BAAO,oBAAC,YAAD,EAAkB,KAAKD,KAAvB,CAAP;AACH;;;;EAlBkBJ,KAAK,CAACY,S;;AAqB7B,SAASX,QAAT,EAAmBE,cAAnB","sourcesContent":["import React from \"react\";\nimport { Snackbar as RmwcSnackbar, SnackbarAction, SnackbarProps } from \"@rmwc/snackbar\";\n\ntype Props = SnackbarProps;\n\n/**\n * Use Snackbar component to display an informative or alert message and allow users to act upon it.\n */\nclass Snackbar extends React.Component<Props> {\n public readonly container: HTMLElement | null = null;\n\n public constructor(props: Props) {\n super(props);\n\n this.container = document.getElementById(\"snackbar-container\");\n\n if (!this.container) {\n this.container = document.createElement(\"div\");\n this.container.setAttribute(\"id\", \"snackbar-container\");\n const container: HTMLElement = this.container;\n document.body && document.body.appendChild(container);\n }\n }\n\n public override render(): React.ReactElement {\n return <RmwcSnackbar {...this.props} />;\n }\n}\n\nexport { Snackbar, SnackbarAction };\n"]}
@@ -4,7 +4,7 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
4
4
  import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/createSuper";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import * as React from "react";
7
+ import React from "react";
8
8
  import { storiesOf } from "@storybook/react";
9
9
  import { Story, StoryReadme, StorySandboxCode, StorySandbox, StorySandboxExample } from "@webiny/storybook-utils/Story";
10
10
  import readme from "./../Snackbar/README.md";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Snackbar.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","readme","withKnobs","boolean","ButtonPrimary","Snackbar","story","module","addDecorator","SnackbarContainer","show","state","setState","props","leading","Component","add","info","propTables"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,OAAOC,MAAP;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,SAASC,aAAT;AACA,SAASC,QAAT;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,qBAAD,EAAwBY,MAAxB,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBN,SAAnB;;IAEMO,iB;;;;;;;;;;;;;;;;4DACsB;AACpBC,MAAAA,IAAI,EAAE;AADc,K;;;;;;;WAIxB,kBAAyB;AAAA;;AACrB,0BACI,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,QAAD;AACI,QAAA,IAAI,EAAE,KAAKC,KAAL,CAAWD,IADrB;AAEI,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACE,QAAL,CAAc;AAAEF,YAAAA,IAAI,EAAE;AAAR,WAAd,CAAN;AAAA,SAFb;AAGI,QAAA,OAAO,EAAC,oBAHZ;AAII,QAAA,OAAO,EAAE,KAAKG,KAAL,CAAWC,OAJxB;AAKI,QAAA,MAAM,EAAC;AALX,QADJ,eAQI,oBAAC,aAAD;AAAe,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACF,QAAL,CAAc;AAAEF,YAAAA,IAAI,EAAE;AAAR,WAAd,CAAN;AAAA;AAAxB,wBARJ,CADJ;AAcH;;;;EApB2BhB,KAAK,CAACqB,S;;AAuBtCT,KAAK,CAACU,GAAN,CACI,OADJ,EAEI,YAAM;AACF,MAAMF,OAAO,GAAGX,OAAO,CAAC,SAAD,EAAY,KAAZ,CAAvB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcF,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD,qBACI,oBAAC,iBAAD;AAAmB,IAAA,OAAO;AAA1B,IADJ,CADJ,eAII,oBAAC,gBAAD,4LAKuBa,OALvB,maAJJ,CAFJ,CADJ;AAyBH,CA9BL,EA+BI;AAAEG,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACb,QAAD;AAAd;AAAR,CA/BJ","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 \"./../Snackbar/README.md\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs\";\nimport { ButtonPrimary } from \"./../Button\";\nimport { Snackbar } from \"./Snackbar\";\n\nconst story = storiesOf(\"Components/Snackbar\", module);\nstory.addDecorator(withKnobs);\n\nclass SnackbarContainer extends React.Component<{ leading: boolean }, { show: boolean }> {\n public override state = {\n show: false\n };\n\n public override render() {\n return (\n <React.Fragment>\n <Snackbar\n open={this.state.show}\n onClose={() => this.setState({ show: false })}\n message=\"This is a message.\"\n leading={this.props.leading}\n action=\"Something\"\n />\n <ButtonPrimary onClick={() => this.setState({ show: true })}>\n Show message\n </ButtonPrimary>\n </React.Fragment>\n );\n }\n}\n\nstory.add(\n \"usage\",\n () => {\n const leading = boolean(\"leading\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <SnackbarContainer leading />\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <div>\n <Snackbar\n open={this.state.show}\n leading={${leading}}\n onHide={() => this.setState({ show: false })}\n message=\"This is a message.\"\n />\n <ButtonPrimary onClick={() => this.setState({ show: true })}>\n Show message\n </ButtonPrimary>\n </div>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Snackbar] } }\n);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["Snackbar","SnackbarAction"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,cAAnB","sourcesContent":["export { Snackbar, SnackbarAction } from \"./Snackbar\";\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { SwitchProps } from "@rmwc/switch";
3
3
  import { FormComponentProps } from "../types";
4
4
  declare type Props = FormComponentProps & SwitchProps & {
@@ -9,7 +9,6 @@ declare type Props = FormComponentProps & SwitchProps & {
9
9
  * Switch component can be used to store simple boolean values.
10
10
  */
11
11
  declare class Switch extends React.Component<Props> {
12
- static defaultProps: Partial<Props>;
13
12
  static rmwcProps: string[];
14
13
  onChange: (e: React.SyntheticEvent<HTMLElement>) => void;
15
14
  render(): JSX.Element;
package/Switch/Switch.js CHANGED
@@ -5,7 +5,7 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
5
5
  import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _createSuper from "@babel/runtime/helpers/createSuper";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- import * as React from "react";
8
+ import React from "react";
9
9
  import { Switch as RmwcSwitch } from "@rmwc/switch";
10
10
  import pick from "lodash/pick";
11
11
  import { FormElementMessage } from "../FormElementMessage";
@@ -44,25 +44,23 @@ var Switch = /*#__PURE__*/function (_React$Component) {
44
44
  value = _this$props.value,
45
45
  description = _this$props.description,
46
46
  validation = _this$props.validation;
47
+
48
+ var _ref = validation || {},
49
+ validationIsValid = _ref.isValid,
50
+ validationMessage = _ref.message;
51
+
47
52
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RmwcSwitch, Object.assign({}, getClasses(_objectSpread({}, pick(this.props, Switch.rmwcProps)), "webiny-ui-switch"), {
48
53
  checked: Boolean(value),
49
54
  onChange: this.onChange
50
- })), validation.isValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
55
+ })), validationIsValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
51
56
  error: true
52
- }, validation.message), validation.isValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
57
+ }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
53
58
  }
54
59
  }]);
55
60
 
56
61
  return Switch;
57
62
  }(React.Component);
58
63
 
59
- _defineProperty(Switch, "defaultProps", {
60
- validation: {
61
- isValid: null,
62
- message: null
63
- }
64
- });
65
-
66
64
  _defineProperty(Switch, "rmwcProps", ["id", "disabled", "checked", "label", "rootProps", "className"]);
67
65
 
68
66
  export { Switch };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Switch.tsx"],"names":["React","Switch","RmwcSwitch","pick","FormElementMessage","getClasses","e","props","onChange","target","checked","value","description","validation","validationIsValid","isValid","validationMessage","message","rmwcProps","Boolean","Component"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,MAAM,IAAIC,UAAnB,QAAkD,cAAlD;AAEA,OAAOC,IAAP,MAAiB,aAAjB;AACA,SAASC,kBAAT;AACA,SAASC,UAAT;;AAWA;AACA;AACA;IACMJ,M;;;;;;;;;;;;;;;;+DAGS,UAACK,CAAD,EAA0C;AACjD,YAAKC,KAAL,CAAWC,QAAX,IAAuB,MAAKD,KAAL,CAAWC,QAAX,CAAqBF,CAAC,CAACG,MAAH,CAAkBC,OAAtC,CAAvB;AACH,K;;;;;;;WAED,kBAAyB;AACrB,wBAA2C,KAAKH,KAAhD;AAAA,UAAQI,KAAR,eAAQA,KAAR;AAAA,UAAeC,WAAf,eAAeA,WAAf;AAAA,UAA4BC,UAA5B,eAA4BA,UAA5B;;AAEA,iBAAmEA,UAAU,IAAI,EAAjF;AAAA,UAAiBC,iBAAjB,QAAQC,OAAR;AAAA,UAA6CC,iBAA7C,QAAoCC,OAApC;;AAEA,0BACI,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,UAAD,oBACQZ,UAAU,mBAAMF,IAAI,CAAC,KAAKI,KAAN,EAAaN,MAAM,CAACiB,SAApB,CAAV,GAA4C,kBAA5C,CADlB;AAEI,QAAA,OAAO,EAAEC,OAAO,CAACR,KAAD,CAFpB;AAGI,QAAA,QAAQ,EAAE,KAAKH;AAHnB,SADJ,EAOKM,iBAAiB,KAAK,KAAtB,iBACG,oBAAC,kBAAD;AAAoB,QAAA,KAAK;AAAzB,SAA2BE,iBAA3B,CARR,EAWKF,iBAAiB,KAAK,KAAtB,IAA+BF,WAA/B,iBACG,oBAAC,kBAAD,QAAqBA,WAArB,CAZR,CADJ;AAiBH;;;;EA7BgBZ,KAAK,CAACoB,S;;gBAArBnB,M,eACiB,CAAC,IAAD,EAAO,UAAP,EAAmB,SAAnB,EAA8B,OAA9B,EAAuC,WAAvC,EAAoD,WAApD,C;;AA+BvB,SAASA,MAAT","sourcesContent":["import React from \"react\";\nimport { Switch as RmwcSwitch, SwitchProps } from \"@rmwc/switch\";\nimport { FormComponentProps } from \"~/types\";\nimport pick from \"lodash/pick\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { getClasses } from \"~/Helpers\";\n\ntype Props = FormComponentProps &\n SwitchProps & {\n // Description beneath the switch.\n description?: string;\n\n // Optional class name.\n className?: string;\n };\n\n/**\n * Switch component can be used to store simple boolean values.\n */\nclass Switch extends React.Component<Props> {\n static rmwcProps = [\"id\", \"disabled\", \"checked\", \"label\", \"rootProps\", \"className\"];\n\n onChange = (e: React.SyntheticEvent<HTMLElement>) => {\n this.props.onChange && this.props.onChange((e.target as any).checked);\n };\n\n public override render() {\n const { value, description, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <RmwcSwitch\n {...getClasses({ ...pick(this.props, Switch.rmwcProps) }, \"webiny-ui-switch\")}\n checked={Boolean(value)}\n onChange={this.onChange}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport { Switch };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Switch.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","Switch","story","module","addDecorator","add","disabled","rememberMe","Bind","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,OAAOC,MAAP;AAEA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,MAAT;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,mBAAD,EAAsBY,MAAtB,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBP,SAAnB;AAEAK,KAAK,CAACG,GAAN,CACI,OADJ,EAEI,YAAM;AACF,MAAMC,QAAQ,GAAGR,OAAO,CAAC,UAAD,EAAa,KAAb,CAAxB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcC,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD;AAAqB,IAAA,KAAK,EAAE;AAA5B,kBACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE;AAAEQ,MAAAA,UAAU,EAAE;AAAd;AAAZ,KACK;AAAA,QAAGC,IAAH,QAAGA,IAAH;AAAA,wBACG,oBAAC,IAAD;AAAM,MAAA,IAAI,EAAC;AAAX,oBACI,oBAAC,MAAD;AACI,MAAA,KAAK,EAAE,aADX;AAEI,MAAA,QAAQ,EAAEF,QAFd;AAGI,MAAA,WAAW,EACP;AAJR,MADJ,CADH;AAAA,GADL,CADJ,CADJ,eAgBI,oBAAC,gBAAD,0iBAhBJ,CAFJ,CADJ;AAqCH,CA1CL,EA2CI;AAAEG,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACT,MAAD;AAAd;AAAR,CA3CJ","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 { Switch } from \"./Switch\";\n\nconst story = storiesOf(\"Components/Switch\", 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={\"Simple switch with a label and description\"}>\n <Form data={{ rememberMe: true }}>\n {({ Bind }) => (\n <Bind name=\"rememberMe\">\n <Switch\n label={\"Remember me\"}\n disabled={disabled}\n description={\n \"You won't be logged out after you leave the app.\"\n }\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind name=\"rememberMe\">\n <Switch\n label={\"Remember me\"}\n disabled={disabled}\n description={\"You won't be logged out after you leave the app.\"}\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Switch] } }\n);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from \"./Switch\";\n"]}
package/Tabs/Tab.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { TabProps as RmwcTabProps } from "@rmwc/tabs";
3
3
  export declare type TabProps = RmwcTabProps & {
4
4
  tag?: string;
@@ -15,4 +15,4 @@ export declare type TabProps = RmwcTabProps & {
15
15
  */
16
16
  "data-testid"?: string;
17
17
  };
18
- export declare const Tab: (props: TabProps) => JSX.Element;
18
+ export declare const Tab: React.FC<TabProps>;
package/Tabs/Tab.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  var _excluded = ["children"];
3
- import * as React from "react";
3
+ import React from "react";
4
4
  import { Tab as RmwcTab } from "@rmwc/tabs";
5
5
  export var Tab = function Tab(props) {
6
6
  var children = props.children,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Tab.tsx"],"names":["React","Tab","RmwcTab","props","children","rest"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAG,IAAIC,OAAhB,QAAyD,YAAzD;AAkBA,OAAO,IAAMD,GAAuB,GAAG,SAA1BA,GAA0B,CAAAE,KAAK,EAAI;AAC5C,MAAQC,QAAR,GAA8BD,KAA9B,CAAQC,QAAR;AAAA,MAAqBC,IAArB,4BAA8BF,KAA9B;;AACA,sBAAO,oBAAC,OAAD,EAAaE,IAAb,EAAoBD,QAApB,CAAP;AACH,CAHM","sourcesContent":["import React from \"react\";\nimport { Tab as RmwcTab, TabProps as RmwcTabProps } from \"@rmwc/tabs\";\n\nexport type TabProps = RmwcTabProps & {\n tag?: string;\n /**\n * Is tab disabled?\n */\n disabled?: boolean;\n /**\n * Style object\n */\n style?: React.CSSProperties;\n /**\n * Tab ID for the testing.\n */\n \"data-testid\"?: string;\n};\n\nexport const Tab: React.FC<TabProps> = props => {\n const { children, ...rest } = props;\n return <RmwcTab {...rest}>{children}</RmwcTab>;\n};\n"]}
package/Tabs/Tabs.d.ts CHANGED
@@ -32,14 +32,14 @@ export interface TabsProps {
32
32
  */
33
33
  "data-testid"?: string;
34
34
  }
35
- interface State {
35
+ interface TabsState {
36
36
  activeTabIndex: number;
37
37
  }
38
38
  /**
39
39
  * Use Tabs component to display a list of choices, once the handler is triggered.
40
40
  */
41
- export declare class Tabs extends React.Component<TabsProps, State> {
42
- state: State;
41
+ export declare class Tabs extends React.Component<TabsProps, TabsState> {
42
+ state: TabsState;
43
43
  switchTab(activeTabIndex: number): void;
44
44
  renderChildren(children: React.ReactNode, activeIndex: number): JSX.Element;
45
45
  render(): JSX.Element;
package/Tabs/Tabs.js CHANGED
@@ -12,10 +12,32 @@ var disabledStyles = {
12
12
  opacity: 0.5,
13
13
  pointerEvents: "none"
14
14
  };
15
+
16
+ var getTabsChildren = function getTabsChildren(children) {
17
+ var filteredTabs = React.Children.toArray(children).filter(function (c) {
18
+ return c !== null;
19
+ }
20
+ /**
21
+ * TODO @ts-refactor
22
+ * Need to cast because TS is complaining due to differences between types that can be in ReactNode
23
+ */
24
+ );
25
+ return filteredTabs.map(function (child) {
26
+ return {
27
+ label: child.props.label,
28
+ children: child.props.children,
29
+ icon: child.props.icon,
30
+ disabled: child.props.disabled,
31
+ style: child.props.style,
32
+ "data-testid": child.props["data-testid"]
33
+ };
34
+ });
35
+ };
15
36
  /**
16
37
  * Use Tabs component to display a list of choices, once the handler is triggered.
17
38
  */
18
39
 
40
+
19
41
  export var Tabs = /*#__PURE__*/function (_React$Component) {
20
42
  _inherits(Tabs, _React$Component);
21
43
 
@@ -44,29 +66,19 @@ export var Tabs = /*#__PURE__*/function (_React$Component) {
44
66
  value: function switchTab(activeTabIndex) {
45
67
  if (typeof this.props.updateValue === "function") {
46
68
  this.props.updateValue(activeTabIndex);
47
- } else {
48
- this.setState({
49
- activeTabIndex: activeTabIndex
50
- });
69
+ return;
51
70
  }
71
+
72
+ this.setState({
73
+ activeTabIndex: activeTabIndex
74
+ });
52
75
  }
53
76
  }, {
54
77
  key: "renderChildren",
55
78
  value: function renderChildren(children, activeIndex) {
56
79
  var _this2 = this;
57
80
 
58
- var tabs = React.Children.toArray(children).filter(function (c) {
59
- return c !== null;
60
- }).map(function (child) {
61
- return {
62
- label: child.props.label,
63
- children: child.props.children,
64
- icon: child.props.icon,
65
- disabled: child.props.disabled,
66
- style: child.props.style,
67
- "data-testid": child.props["data-testid"]
68
- };
69
- });
81
+ var tabs = getTabsChildren(children);
70
82
  var tabBar = /*#__PURE__*/React.createElement(TabBar, {
71
83
  className: "webiny-ui-tabs__tab-bar",
72
84
  activeTabIndex: activeIndex,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Tabs.tsx"],"names":["React","classNames","TabBar","Tab","disabledStyles","opacity","pointerEvents","getTabsChildren","children","filteredTabs","Children","toArray","filter","c","map","child","label","props","icon","disabled","style","Tabs","activeTabIndex","updateValue","setState","activeIndex","tabs","tabBar","evt","detail","index","onActivate","item","Object","assign","content","i","length","current","push","display","className","value","undefined","state","childrenCallable","switchTab","bind","renderChildren","Component"],"mappings":"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","sourcesContent":["import React, { ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { TabBar } from \"@rmwc/tabs\";\nimport { Tab, TabProps } from \"./Tab\";\n\nexport interface TabsRenderProps {\n switchTab(tabIndex: number): void;\n}\n\nexport interface TabsPropsChildrenCallable {\n (props: TabsRenderProps): ReactNode;\n}\ntype TabsPropsChildren = TabsPropsChildrenCallable | ReactNode;\nexport interface TabsProps {\n /**\n * A collection of tabs that needs to be rendered.\n */\n children: TabsPropsChildren;\n\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\ninterface TabsState {\n activeTabIndex: number;\n}\n\nconst disabledStyles: Record<string, string | number> = {\n opacity: 0.5,\n pointerEvents: \"none\"\n};\n\nconst getTabsChildren = (children: React.ReactNode): TabProps[] => {\n const filteredTabs = React.Children.toArray(children).filter(\n c => c !== null\n /**\n * TODO @ts-refactor\n * Need to cast because TS is complaining due to differences between types that can be in ReactNode\n */\n ) as React.ReactElement<TabProps>[];\n\n return filteredTabs.map(child => {\n return {\n label: child.props.label,\n children: child.props.children,\n icon: child.props.icon,\n disabled: child.props.disabled,\n style: child.props.style,\n \"data-testid\": child.props[\"data-testid\"]\n };\n });\n};\n\n/**\n * Use Tabs component to display a list of choices, once the handler is triggered.\n */\nexport class Tabs extends React.Component<TabsProps, TabsState> {\n public override state: TabsState = {\n activeTabIndex: 0\n };\n\n public switchTab(activeTabIndex: number): void {\n if (typeof this.props.updateValue === \"function\") {\n this.props.updateValue(activeTabIndex);\n return;\n }\n this.setState({ activeTabIndex });\n }\n\n public renderChildren(children: React.ReactNode, activeIndex: number) {\n const tabs = getTabsChildren(children);\n\n const tabBar = (\n <TabBar\n className=\"webiny-ui-tabs__tab-bar\"\n activeTabIndex={activeIndex}\n onActivate={evt => {\n if (typeof this.props.updateValue === \"function\") {\n this.props.updateValue(evt.detail.index);\n } else {\n this.setState({ activeTabIndex: evt.detail.index });\n }\n this.props.onActivate && this.props.onActivate(evt.detail.index);\n }}\n >\n {tabs.map((item: TabProps, index) => {\n const style = item.style || {};\n if (item.disabled) {\n Object.assign(style, disabledStyles);\n }\n\n return (\n <Tab\n tag={\"div\"}\n style={style}\n key={item.label + \"-\" + index}\n data-testid={item[\"data-testid\"]}\n {...(item.icon ? { icon: item.icon } : {})}\n {...(item.label ? { label: item.label } : {})}\n />\n );\n })}\n </TabBar>\n );\n\n const content = [];\n for (let i = 0; i < tabs.length; i++) {\n const current = tabs[i];\n if (activeIndex === i) {\n content.push(<div key={i}>{current.children}</div>);\n } else {\n content.push(\n <div key={i} style={{ display: \"none\" }}>\n {current.children}\n </div>\n );\n }\n }\n\n return (\n <div className={classNames(\"webiny-ui-tabs\", this.props.className)}>\n {tabBar}\n <div className={\"webiny-ui-tabs__content mdc-tab-content\"}>{content}</div>\n </div>\n );\n }\n\n public override render() {\n const activeIndex =\n this.props.value !== undefined ? this.props.value : this.state.activeTabIndex;\n\n let children = this.props.children;\n if (typeof this.props.children === \"function\") {\n const childrenCallable = this.props.children as TabsPropsChildrenCallable;\n children = childrenCallable({ switchTab: this.switchTab.bind(this) });\n }\n\n return this.renderChildren(children, activeIndex);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  import { storiesOf } from "@storybook/react";
3
3
  import { Story, StoryReadme, StorySandboxCode, StorySandbox, StorySandboxExample } from "@webiny/storybook-utils/Story";
4
4
  import readme from "./../Tabs/README.md";