@toptal/picasso-lab 9.3.0 → 9.3.1

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 (366) hide show
  1. package/CHANGELOG.md +1385 -0
  2. package/{Calendar → dist-package/Calendar}/Calendar.d.ts +0 -0
  3. package/{Calendar → dist-package/Calendar}/Calendar.js +0 -0
  4. package/{Calendar → dist-package/Calendar}/Calendar.js.map +0 -0
  5. package/{Calendar → dist-package/Calendar}/index.d.ts +0 -0
  6. package/{Calendar → dist-package/Calendar}/index.js +0 -0
  7. package/{Calendar → dist-package/Calendar}/index.js.map +0 -0
  8. package/{Calendar → dist-package/Calendar}/styles.d.ts +0 -0
  9. package/{Calendar → dist-package/Calendar}/styles.js +0 -0
  10. package/{Calendar → dist-package/Calendar}/styles.js.map +0 -0
  11. package/{Calendar → dist-package/Calendar}/types.d.ts +0 -0
  12. package/{Calendar → dist-package/Calendar}/types.js +0 -0
  13. package/{Calendar → dist-package/Calendar}/types.js.map +0 -0
  14. package/{DatePicker → dist-package/DatePicker}/DatePicker.d.ts +0 -0
  15. package/{DatePicker → dist-package/DatePicker}/DatePicker.js +0 -0
  16. package/{DatePicker → dist-package/DatePicker}/DatePicker.js.map +0 -0
  17. package/{DatePicker → dist-package/DatePicker}/constants.d.ts +0 -0
  18. package/{DatePicker → dist-package/DatePicker}/constants.js +0 -0
  19. package/{DatePicker → dist-package/DatePicker}/constants.js.map +0 -0
  20. package/{DatePicker → dist-package/DatePicker}/index.d.ts +0 -0
  21. package/{DatePicker → dist-package/DatePicker}/index.js +0 -0
  22. package/{DatePicker → dist-package/DatePicker}/index.js.map +0 -0
  23. package/{DatePicker → dist-package/DatePicker}/styles.d.ts +0 -0
  24. package/{DatePicker → dist-package/DatePicker}/styles.js +0 -0
  25. package/{DatePicker → dist-package/DatePicker}/styles.js.map +0 -0
  26. package/{DatePicker → dist-package/DatePicker}/types.d.ts +0 -0
  27. package/{DatePicker → dist-package/DatePicker}/types.js +0 -0
  28. package/{DatePicker → dist-package/DatePicker}/types.js.map +0 -0
  29. package/{DatePicker → dist-package/DatePicker}/utils.d.ts +0 -0
  30. package/{DatePicker → dist-package/DatePicker}/utils.js +0 -0
  31. package/{DatePicker → dist-package/DatePicker}/utils.js.map +0 -0
  32. package/{Drawer → dist-package/Drawer}/Drawer.d.ts +0 -0
  33. package/{Drawer → dist-package/Drawer}/Drawer.js +0 -0
  34. package/{Drawer → dist-package/Drawer}/Drawer.js.map +0 -0
  35. package/{Drawer → dist-package/Drawer}/index.d.ts +0 -0
  36. package/{Drawer → dist-package/Drawer}/index.js +0 -0
  37. package/{Drawer → dist-package/Drawer}/index.js.map +0 -0
  38. package/{Drawer → dist-package/Drawer}/styles.d.ts +0 -0
  39. package/{Drawer → dist-package/Drawer}/styles.js +0 -0
  40. package/{Drawer → dist-package/Drawer}/styles.js.map +0 -0
  41. package/{DrawerTitle → dist-package/DrawerTitle}/DrawerTitle.d.ts +0 -0
  42. package/{DrawerTitle → dist-package/DrawerTitle}/DrawerTitle.js +0 -0
  43. package/{DrawerTitle → dist-package/DrawerTitle}/DrawerTitle.js.map +0 -0
  44. package/{DrawerTitle → dist-package/DrawerTitle}/index.d.ts +0 -0
  45. package/{DrawerTitle → dist-package/DrawerTitle}/index.js +0 -0
  46. package/{DrawerTitle → dist-package/DrawerTitle}/index.js.map +0 -0
  47. package/{DrawerTitle → dist-package/DrawerTitle}/styles.d.ts +0 -0
  48. package/{DrawerTitle → dist-package/DrawerTitle}/styles.js +0 -0
  49. package/{DrawerTitle → dist-package/DrawerTitle}/styles.js.map +0 -0
  50. package/{Dropzone → dist-package/Dropzone}/Dropzone.d.ts +0 -0
  51. package/{Dropzone → dist-package/Dropzone}/Dropzone.js +1 -1
  52. package/{Dropzone → dist-package/Dropzone}/Dropzone.js.map +1 -1
  53. package/{Dropzone → dist-package/Dropzone}/index.d.ts +0 -0
  54. package/{Dropzone → dist-package/Dropzone}/index.js +0 -0
  55. package/{Dropzone → dist-package/Dropzone}/index.js.map +0 -0
  56. package/{Dropzone → dist-package/Dropzone}/styles.d.ts +0 -0
  57. package/{Dropzone → dist-package/Dropzone}/styles.js +0 -0
  58. package/{Dropzone → dist-package/Dropzone}/styles.js.map +0 -0
  59. package/{Dropzone → dist-package/Dropzone}/types.d.ts +0 -0
  60. package/{Dropzone → dist-package/Dropzone}/types.js +0 -0
  61. package/{Dropzone → dist-package/Dropzone}/types.js.map +0 -0
  62. package/{EmptyState → dist-package/EmptyState}/EmptyState.d.ts +0 -0
  63. package/{EmptyState → dist-package/EmptyState}/EmptyState.js +0 -0
  64. package/{EmptyState → dist-package/EmptyState}/EmptyState.js.map +0 -0
  65. package/{EmptyState → dist-package/EmptyState}/index.d.ts +0 -0
  66. package/{EmptyState → dist-package/EmptyState}/index.js +0 -0
  67. package/{EmptyState → dist-package/EmptyState}/index.js.map +0 -0
  68. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/EmptyStateCollection.d.ts +0 -0
  69. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/EmptyStateCollection.js +0 -0
  70. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/EmptyStateCollection.js.map +0 -0
  71. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/index.d.ts +0 -0
  72. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/index.js +0 -0
  73. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/index.js.map +0 -0
  74. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/styles.d.ts +0 -0
  75. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/styles.js +0 -0
  76. package/{EmptyStateCollection → dist-package/EmptyStateCollection}/styles.js.map +0 -0
  77. package/{EmptyStatePage → dist-package/EmptyStatePage}/EmptyStatePage.d.ts +0 -0
  78. package/{EmptyStatePage → dist-package/EmptyStatePage}/EmptyStatePage.js +0 -0
  79. package/{EmptyStatePage → dist-package/EmptyStatePage}/EmptyStatePage.js.map +0 -0
  80. package/{EmptyStatePage → dist-package/EmptyStatePage}/index.d.ts +0 -0
  81. package/{EmptyStatePage → dist-package/EmptyStatePage}/index.js +0 -0
  82. package/{EmptyStatePage → dist-package/EmptyStatePage}/index.js.map +0 -0
  83. package/{EmptyStatePage → dist-package/EmptyStatePage}/styles.d.ts +0 -0
  84. package/{EmptyStatePage → dist-package/EmptyStatePage}/styles.js +0 -0
  85. package/{EmptyStatePage → dist-package/EmptyStatePage}/styles.js.map +0 -0
  86. package/{Note → dist-package/Note}/Note.d.ts +0 -0
  87. package/{Note → dist-package/Note}/Note.js +0 -0
  88. package/{Note → dist-package/Note}/Note.js.map +0 -0
  89. package/{Note → dist-package/Note}/index.d.ts +0 -0
  90. package/{Note → dist-package/Note}/index.js +0 -0
  91. package/{Note → dist-package/Note}/index.js.map +0 -0
  92. package/{Note → dist-package/Note}/styles.d.ts +0 -0
  93. package/{Note → dist-package/Note}/styles.js +0 -0
  94. package/{Note → dist-package/Note}/styles.js.map +0 -0
  95. package/{NoteContent → dist-package/NoteContent}/NoteContent.d.ts +0 -0
  96. package/{NoteContent → dist-package/NoteContent}/NoteContent.js +0 -0
  97. package/{NoteContent → dist-package/NoteContent}/NoteContent.js.map +0 -0
  98. package/{NoteContent → dist-package/NoteContent}/index.d.ts +0 -0
  99. package/{NoteContent → dist-package/NoteContent}/index.js +0 -0
  100. package/{NoteContent → dist-package/NoteContent}/index.js.map +0 -0
  101. package/{NoteSubtitle → dist-package/NoteSubtitle}/NoteSubtitle.d.ts +0 -0
  102. package/{NoteSubtitle → dist-package/NoteSubtitle}/NoteSubtitle.js +0 -0
  103. package/{NoteSubtitle → dist-package/NoteSubtitle}/NoteSubtitle.js.map +0 -0
  104. package/{NoteSubtitle → dist-package/NoteSubtitle}/index.d.ts +0 -0
  105. package/{NoteSubtitle → dist-package/NoteSubtitle}/index.js +0 -0
  106. package/{NoteSubtitle → dist-package/NoteSubtitle}/index.js.map +0 -0
  107. package/{NoteTitle → dist-package/NoteTitle}/NoteTitle.d.ts +0 -0
  108. package/{NoteTitle → dist-package/NoteTitle}/NoteTitle.js +0 -0
  109. package/{NoteTitle → dist-package/NoteTitle}/NoteTitle.js.map +0 -0
  110. package/{NoteTitle → dist-package/NoteTitle}/index.d.ts +0 -0
  111. package/{NoteTitle → dist-package/NoteTitle}/index.js +0 -0
  112. package/{NoteTitle → dist-package/NoteTitle}/index.js.map +0 -0
  113. package/{NoteTitle → dist-package/NoteTitle}/styles.d.ts +0 -0
  114. package/{NoteTitle → dist-package/NoteTitle}/styles.js +0 -0
  115. package/{NoteTitle → dist-package/NoteTitle}/styles.js.map +0 -0
  116. package/{OverviewBlock → dist-package/OverviewBlock}/OverviewBlock.d.ts +0 -0
  117. package/{OverviewBlock → dist-package/OverviewBlock}/OverviewBlock.js +0 -0
  118. package/{OverviewBlock → dist-package/OverviewBlock}/OverviewBlock.js.map +0 -0
  119. package/{OverviewBlock → dist-package/OverviewBlock}/index.d.ts +0 -0
  120. package/{OverviewBlock → dist-package/OverviewBlock}/index.js +0 -0
  121. package/{OverviewBlock → dist-package/OverviewBlock}/index.js.map +0 -0
  122. package/{OverviewBlock → dist-package/OverviewBlock}/styles.d.ts +0 -0
  123. package/{OverviewBlock → dist-package/OverviewBlock}/styles.js +0 -0
  124. package/{OverviewBlock → dist-package/OverviewBlock}/styles.js.map +0 -0
  125. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroup.d.ts +0 -0
  126. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroup.js +0 -0
  127. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroup.js.map +0 -0
  128. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroupContext.d.ts +0 -0
  129. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroupContext.js +0 -0
  130. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/OverviewBlockGroupContext.js.map +0 -0
  131. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/index.d.ts +0 -0
  132. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/index.js +0 -0
  133. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/index.js.map +0 -0
  134. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/settings.d.ts +0 -0
  135. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/settings.js +0 -0
  136. package/{OverviewBlockGroup → dist-package/OverviewBlockGroup}/settings.js.map +0 -0
  137. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/OverviewBlockRow.d.ts +0 -0
  138. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/OverviewBlockRow.js +0 -0
  139. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/OverviewBlockRow.js.map +0 -0
  140. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/index.d.ts +0 -0
  141. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/index.js +0 -0
  142. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/index.js.map +0 -0
  143. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/styles.d.ts +0 -0
  144. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/styles.js +0 -0
  145. package/{OverviewBlockRow → dist-package/OverviewBlockRow}/styles.js.map +0 -0
  146. package/dist-package/README.md +26 -0
  147. package/{Section → dist-package/Section}/Section.d.ts +0 -0
  148. package/{Section → dist-package/Section}/Section.js +0 -0
  149. package/{Section → dist-package/Section}/Section.js.map +0 -0
  150. package/{Section → dist-package/Section}/index.d.ts +0 -0
  151. package/{Section → dist-package/Section}/index.js +0 -0
  152. package/{Section → dist-package/Section}/index.js.map +0 -0
  153. package/{Section → dist-package/Section}/styles.d.ts +0 -0
  154. package/{Section → dist-package/Section}/styles.js +0 -0
  155. package/{Section → dist-package/Section}/styles.js.map +0 -0
  156. package/{Timeline → dist-package/Timeline}/Timeline.d.ts +0 -0
  157. package/{Timeline → dist-package/Timeline}/Timeline.js +0 -0
  158. package/{Timeline → dist-package/Timeline}/Timeline.js.map +0 -0
  159. package/{Timeline → dist-package/Timeline}/index.d.ts +0 -0
  160. package/{Timeline → dist-package/Timeline}/index.js +0 -0
  161. package/{Timeline → dist-package/Timeline}/index.js.map +0 -0
  162. package/{TimelineRow → dist-package/TimelineRow}/TimelineRow.d.ts +0 -0
  163. package/{TimelineRow → dist-package/TimelineRow}/TimelineRow.js +0 -0
  164. package/{TimelineRow → dist-package/TimelineRow}/TimelineRow.js.map +0 -0
  165. package/{TimelineRow → dist-package/TimelineRow}/index.d.ts +0 -0
  166. package/{TimelineRow → dist-package/TimelineRow}/index.js +0 -0
  167. package/{TimelineRow → dist-package/TimelineRow}/index.js.map +0 -0
  168. package/{TimelineRow → dist-package/TimelineRow}/styles.d.ts +0 -0
  169. package/{TimelineRow → dist-package/TimelineRow}/styles.js +0 -0
  170. package/{TimelineRow → dist-package/TimelineRow}/styles.js.map +0 -0
  171. package/{TypographyOverflow → dist-package/TypographyOverflow}/TypographyOverflow.d.ts +0 -0
  172. package/{TypographyOverflow → dist-package/TypographyOverflow}/TypographyOverflow.js +0 -0
  173. package/{TypographyOverflow → dist-package/TypographyOverflow}/TypographyOverflow.js.map +0 -0
  174. package/{TypographyOverflow → dist-package/TypographyOverflow}/index.d.ts +0 -0
  175. package/{TypographyOverflow → dist-package/TypographyOverflow}/index.js +0 -0
  176. package/{TypographyOverflow → dist-package/TypographyOverflow}/index.js.map +0 -0
  177. package/{TypographyOverflow → dist-package/TypographyOverflow}/styles.d.ts +0 -0
  178. package/{TypographyOverflow → dist-package/TypographyOverflow}/styles.js +0 -0
  179. package/{TypographyOverflow → dist-package/TypographyOverflow}/styles.js.map +0 -0
  180. package/{index.d.ts → dist-package/index.d.ts} +0 -0
  181. package/{index.js → dist-package/index.js} +0 -0
  182. package/{index.js.map → dist-package/index.js.map} +0 -0
  183. package/dist-package/package.json +53 -0
  184. package/package.json +3 -4
  185. package/src/Calendar/Calendar.tsx +215 -0
  186. package/src/Calendar/__snapshots__/test.tsx.snap +447 -0
  187. package/src/Calendar/index.ts +2 -0
  188. package/src/Calendar/styles.ts +104 -0
  189. package/src/Calendar/test.tsx +20 -0
  190. package/src/Calendar/types.ts +42 -0
  191. package/src/DatePicker/DatePicker.tsx +366 -0
  192. package/src/DatePicker/__image_snapshots__/datepicker-full-width-snap.png +0 -0
  193. package/src/DatePicker/__image_snapshots__/datepicker-with-custom-day-rendering-snap.png +0 -0
  194. package/src/DatePicker/__snapshots__/test.tsx.snap +51 -0
  195. package/src/DatePicker/constants.ts +2 -0
  196. package/src/DatePicker/index.ts +5 -0
  197. package/src/DatePicker/story/AllowCustomValue.example.tsx +33 -0
  198. package/src/DatePicker/story/Autocomplete.example.tsx +47 -0
  199. package/src/DatePicker/story/Default.example.tsx +19 -0
  200. package/src/DatePicker/story/Error.example.tsx +26 -0
  201. package/src/DatePicker/story/Range.example.tsx +22 -0
  202. package/src/DatePicker/story/WithCustomDayRendering.example.tsx +47 -0
  203. package/src/DatePicker/story/WithInitialValue.example.tsx +19 -0
  204. package/src/DatePicker/story/WithInputProps.example.tsx +24 -0
  205. package/src/DatePicker/story/WithNoHideOnSelect.example.tsx +20 -0
  206. package/src/DatePicker/story/WithOnBlurHandler.example.tsx +22 -0
  207. package/src/DatePicker/story/WithSelectionLimits.example.tsx +32 -0
  208. package/src/DatePicker/story/WithTimezone.example.tsx +25 -0
  209. package/src/DatePicker/story/index.jsx +50 -0
  210. package/src/DatePicker/styles.ts +8 -0
  211. package/src/DatePicker/test.tsx +370 -0
  212. package/src/DatePicker/types.ts +13 -0
  213. package/src/DatePicker/utils.ts +123 -0
  214. package/src/Drawer/Drawer.tsx +105 -0
  215. package/src/Drawer/__image_snapshots__/drawer-custom-title-effect-1-snap.png +0 -0
  216. package/src/Drawer/__image_snapshots__/drawer-custom-title-snap.png +0 -0
  217. package/src/Drawer/__image_snapshots__/drawer-default-effect-1-snap.png +0 -0
  218. package/src/Drawer/__image_snapshots__/drawer-default-snap.png +0 -0
  219. package/src/Drawer/__image_snapshots__/drawer-width-effect-1-snap.png +0 -0
  220. package/src/Drawer/__image_snapshots__/drawer-width-effect-2-snap.png +0 -0
  221. package/src/Drawer/__image_snapshots__/drawer-width-effect-3-snap.png +0 -0
  222. package/src/Drawer/__image_snapshots__/drawer-width-effect-4-snap.png +0 -0
  223. package/src/Drawer/__image_snapshots__/drawer-width-effect-5-snap.png +0 -0
  224. package/src/Drawer/__image_snapshots__/drawer-width-snap.png +0 -0
  225. package/src/Drawer/__image_snapshots__/drawer-without-title-effect-1-snap.png +0 -0
  226. package/src/Drawer/__image_snapshots__/drawer-without-title-snap.png +0 -0
  227. package/src/Drawer/index.ts +6 -0
  228. package/src/Drawer/story/CustomTitle.example.tsx +32 -0
  229. package/src/Drawer/story/Default.example.tsx +29 -0
  230. package/src/Drawer/story/DrawerAndNotification.example.tsx +34 -0
  231. package/src/Drawer/story/Widths.example.tsx +46 -0
  232. package/src/Drawer/story/WithoutTitle.example.tsx +22 -0
  233. package/src/Drawer/story/index.jsx +80 -0
  234. package/src/Drawer/styles.ts +42 -0
  235. package/src/DrawerTitle/DrawerTitle.tsx +35 -0
  236. package/src/DrawerTitle/index.ts +1 -0
  237. package/src/DrawerTitle/styles.ts +12 -0
  238. package/src/Dropzone/Dropzone.tsx +146 -0
  239. package/src/Dropzone/__snapshots__/test.tsx.snap +40 -0
  240. package/src/Dropzone/index.ts +7 -0
  241. package/src/Dropzone/story/Default.example.tsx +8 -0
  242. package/src/Dropzone/story/Disabled.example.tsx +25 -0
  243. package/src/Dropzone/story/Error.example.tsx +16 -0
  244. package/src/Dropzone/story/Multiple.example.tsx +30 -0
  245. package/src/Dropzone/story/Uploader.example.tsx +116 -0
  246. package/src/Dropzone/story/Uploading.example.tsx +16 -0
  247. package/src/Dropzone/story/index.jsx +85 -0
  248. package/src/Dropzone/styles.ts +43 -0
  249. package/src/Dropzone/test.tsx +33 -0
  250. package/src/Dropzone/types.ts +56 -0
  251. package/src/EmptyState/EmptyState.tsx +7 -0
  252. package/src/EmptyState/index.tsx +1 -0
  253. package/src/EmptyState/story/index.jsx +13 -0
  254. package/src/EmptyStateCollection/EmptyStateCollection.tsx +56 -0
  255. package/src/EmptyStateCollection/__image_snapshots__/emptystate-collection-emptystatecollection-snap.png +0 -0
  256. package/src/EmptyStateCollection/index.tsx +1 -0
  257. package/src/EmptyStateCollection/story/Default.example.tsx +11 -0
  258. package/src/EmptyStateCollection/story/index.jsx +20 -0
  259. package/src/EmptyStateCollection/styles.ts +10 -0
  260. package/src/EmptyStatePage/EmptyStatePage.tsx +65 -0
  261. package/src/EmptyStatePage/__image_snapshots__/emptystate-page-emptystatepage-snap.png +0 -0
  262. package/src/EmptyStatePage/index.tsx +1 -0
  263. package/src/EmptyStatePage/story/Default.example.tsx +21 -0
  264. package/src/EmptyStatePage/story/index.jsx +21 -0
  265. package/src/EmptyStatePage/styles.ts +9 -0
  266. package/src/Note/Note.tsx +36 -0
  267. package/src/Note/__snapshots__/test.tsx.snap +37 -0
  268. package/src/Note/index.ts +6 -0
  269. package/src/Note/story/Default.example.tsx +14 -0
  270. package/src/Note/story/index.jsx +23 -0
  271. package/src/Note/styles.ts +27 -0
  272. package/src/Note/test.tsx +22 -0
  273. package/src/NoteContent/NoteContent.tsx +23 -0
  274. package/src/NoteContent/index.ts +1 -0
  275. package/src/NoteContent/story/index.jsx +12 -0
  276. package/src/NoteSubtitle/NoteSubtitle.tsx +25 -0
  277. package/src/NoteSubtitle/index.ts +1 -0
  278. package/src/NoteSubtitle/story/index.jsx +12 -0
  279. package/src/NoteTitle/NoteTitle.tsx +34 -0
  280. package/src/NoteTitle/index.ts +1 -0
  281. package/src/NoteTitle/story/index.jsx +12 -0
  282. package/src/NoteTitle/styles.ts +8 -0
  283. package/src/OverviewBlock/OverviewBlock.tsx +125 -0
  284. package/src/OverviewBlock/__image_snapshots__/overviewblock-default-snap.png +0 -0
  285. package/src/OverviewBlock/__image_snapshots__/overviewblock-multi-line-snap.png +0 -0
  286. package/src/OverviewBlock/__image_snapshots__/overviewblock-number-snap.png +0 -0
  287. package/src/OverviewBlock/__image_snapshots__/overviewblock-routing-snap.png +0 -0
  288. package/src/OverviewBlock/__image_snapshots__/overviewblock-text-snap.png +0 -0
  289. package/src/OverviewBlock/index.ts +6 -0
  290. package/src/OverviewBlock/story/Default.example.tsx +35 -0
  291. package/src/OverviewBlock/story/Multiline.example.tsx +51 -0
  292. package/src/OverviewBlock/story/Number.example.tsx +20 -0
  293. package/src/OverviewBlock/story/Routing.example.tsx +40 -0
  294. package/src/OverviewBlock/story/Text.example.tsx +15 -0
  295. package/src/OverviewBlock/story/index.jsx +100 -0
  296. package/src/OverviewBlock/styles.ts +44 -0
  297. package/src/OverviewBlock/test.tsx +111 -0
  298. package/src/OverviewBlockGroup/OverviewBlockGroup.tsx +56 -0
  299. package/src/OverviewBlockGroup/OverviewBlockGroupContext.tsx +21 -0
  300. package/src/OverviewBlockGroup/__image_snapshots__/visual-variants-of-the-groups-block-width-snap.png +0 -0
  301. package/src/OverviewBlockGroup/__image_snapshots__/visual-variants-of-the-groups-center-aligned-snap.png +0 -0
  302. package/src/OverviewBlockGroup/index.ts +1 -0
  303. package/src/OverviewBlockGroup/settings.ts +2 -0
  304. package/src/OverviewBlockGroup/story/BlockWidth.example.tsx +38 -0
  305. package/src/OverviewBlockGroup/story/CenterAligned.example.tsx +17 -0
  306. package/src/OverviewBlockGroup/story/index.jsx +25 -0
  307. package/src/OverviewBlockGroup/test.tsx +17 -0
  308. package/src/OverviewBlockRow/OverviewBlockRow.tsx +22 -0
  309. package/src/OverviewBlockRow/index.ts +1 -0
  310. package/src/OverviewBlockRow/story/index.jsx +11 -0
  311. package/src/OverviewBlockRow/styles.ts +27 -0
  312. package/src/Section/Section.tsx +163 -0
  313. package/src/Section/__snapshots__/test.tsx.snap +186 -0
  314. package/src/Section/index.ts +6 -0
  315. package/src/Section/story/Actions.example.tsx +85 -0
  316. package/src/Section/story/Collapsible.example.tsx +113 -0
  317. package/src/Section/story/Default.example.tsx +77 -0
  318. package/src/Section/story/TitleSize.example.tsx +34 -0
  319. package/src/Section/story/Variant.example.tsx +108 -0
  320. package/src/Section/story/index.jsx +35 -0
  321. package/src/Section/styles.ts +65 -0
  322. package/src/Section/test.tsx +115 -0
  323. package/src/Timeline/Timeline.tsx +25 -0
  324. package/src/Timeline/__snapshots__/test.tsx.snap +332 -0
  325. package/src/Timeline/index.ts +6 -0
  326. package/src/Timeline/story/Dates.example.tsx +52 -0
  327. package/src/Timeline/story/Default.example.tsx +34 -0
  328. package/src/Timeline/story/TrimLastConnector.example.tsx +29 -0
  329. package/src/Timeline/story/index.jsx +27 -0
  330. package/src/Timeline/test.tsx +101 -0
  331. package/src/TimelineRow/TimelineRow.tsx +83 -0
  332. package/src/TimelineRow/index.ts +6 -0
  333. package/src/TimelineRow/story/index.jsx +11 -0
  334. package/src/TimelineRow/styles.ts +47 -0
  335. package/src/TypographyOverflow/TypographyOverflow.tsx +153 -0
  336. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-checkbox-label-effect-1-snap.png +0 -0
  337. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-checkbox-label-snap.png +0 -0
  338. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-custom-tooltip-content-effect-1-snap.png +0 -0
  339. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-custom-tooltip-content-snap.png +0 -0
  340. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-default-effect-1-snap.png +0 -0
  341. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-default-effect-2-snap.png +0 -0
  342. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-default-snap.png +0 -0
  343. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-delay-effect-1-snap.png +0 -0
  344. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-delay-effect-2-snap.png +0 -0
  345. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-delay-snap.png +0 -0
  346. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-light-tooltip-background-effect-1-snap.png +0 -0
  347. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-light-tooltip-background-effect-2-snap.png +0 -0
  348. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-light-tooltip-background-snap.png +0 -0
  349. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-multiline-effect-1-snap.png +0 -0
  350. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-multiline-effect-2-snap.png +0 -0
  351. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-multiline-effect-3-snap.png +0 -0
  352. package/src/TypographyOverflow/__image_snapshots__/typographyoverflow-multiline-snap.png +0 -0
  353. package/src/TypographyOverflow/index.ts +6 -0
  354. package/src/TypographyOverflow/story/CheckboxLabel.example.tsx +21 -0
  355. package/src/TypographyOverflow/story/CustomTooltip.example.tsx +22 -0
  356. package/src/TypographyOverflow/story/Default.example.tsx +32 -0
  357. package/src/TypographyOverflow/story/Delay.example.tsx +29 -0
  358. package/src/TypographyOverflow/story/GridWithControls.example.tsx +64 -0
  359. package/src/TypographyOverflow/story/Multiline.example.tsx +59 -0
  360. package/src/TypographyOverflow/story/TooltipVariants.example.tsx +23 -0
  361. package/src/TypographyOverflow/story/index.jsx +83 -0
  362. package/src/TypographyOverflow/styles.ts +29 -0
  363. package/src/TypographyOverflow/test.tsx +60 -0
  364. package/src/index.ts +35 -0
  365. package/src/story/index.jsx +10 -0
  366. package/tsconfig.build.json +7 -0
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+ import { TypographyOverflow } from '@toptal/picasso-lab'
3
+ import { Container } from '@toptal/picasso'
4
+
5
+ const Example = () => {
6
+ return (
7
+ <Container flex>
8
+ <div style={{ width: 300, marginTop: 100 }}>
9
+ <TypographyOverflow data-testid='default-delay-tooltip'>
10
+ Default delay. This typography is very long and therefore it
11
+ overflows.
12
+ </TypographyOverflow>
13
+ </div>
14
+
15
+ <Container left='large'>
16
+ <div style={{ width: 300, marginTop: 100 }}>
17
+ <TypographyOverflow
18
+ tooltipDelay='long'
19
+ data-testid='long-delay-tooltip'
20
+ >
21
+ Long delay. This typography is very long and therefore it overflows.
22
+ </TypographyOverflow>
23
+ </div>
24
+ </Container>
25
+ </Container>
26
+ )
27
+ }
28
+
29
+ export default Example
@@ -0,0 +1,64 @@
1
+ import React from 'react'
2
+ import { Checkbox, Radio, Grid } from '@toptal/picasso'
3
+ import { TypographyOverflow } from '@toptal/picasso-lab'
4
+
5
+ const checkboxOptions = [
6
+ { label: 'Inbound sales', value: 'inbound_sales' },
7
+ { label: 'Legal', value: 'legal' },
8
+ {
9
+ label: 'VIP talent screening',
10
+ value: 'vip_talent_screening'
11
+ },
12
+ { label: 'English screening', value: 'engish_screening' },
13
+ { label: 'Designer screening', value: 'designer_screening' },
14
+ {
15
+ label: 'Technical screening',
16
+ value: 'technical_screening'
17
+ }
18
+ ]
19
+
20
+ const radioOptions = [
21
+ { label: 'Recruiting', value: 'recruiting' },
22
+ { label: 'Customer service', value: 'customer_service' },
23
+ { label: 'Staff', value: 'staff' },
24
+ {
25
+ label: 'Accounts receivable',
26
+ value: 'accounts_receivable'
27
+ },
28
+ { label: 'Accounts payable', value: 'accounts_payable' },
29
+ { label: 'Sourcing', value: 'sourcing' }
30
+ ]
31
+
32
+ const Example = () => {
33
+ return (
34
+ <div style={{ width: '660px' }}>
35
+ <Grid spacing={16}>
36
+ <Grid.Item small={12}>
37
+ <Grid>
38
+ {checkboxOptions.map(({ label: optionLabel, value }) => (
39
+ <Grid.Item key={value} small={2} large={2}>
40
+ <Checkbox
41
+ label={<TypographyOverflow>{optionLabel}</TypographyOverflow>}
42
+ value={value}
43
+ />
44
+ </Grid.Item>
45
+ ))}
46
+ </Grid>
47
+
48
+ <Grid>
49
+ {radioOptions.map(({ label: optionLabel, value }) => (
50
+ <Grid.Item key={value} small={2} large={2}>
51
+ <Radio
52
+ label={<TypographyOverflow>{optionLabel}</TypographyOverflow>}
53
+ value={value}
54
+ />
55
+ </Grid.Item>
56
+ ))}
57
+ </Grid>
58
+ </Grid.Item>
59
+ </Grid>
60
+ </div>
61
+ )
62
+ }
63
+
64
+ export default Example
@@ -0,0 +1,59 @@
1
+ import React from 'react'
2
+ import { TypographyOverflow } from '@toptal/picasso-lab'
3
+ import styled from 'styled-components'
4
+ import { Container } from '@toptal/picasso'
5
+
6
+ const DynamicWidthContainer = styled(Container)`
7
+ margin-top: 1rem;
8
+ width: 300px;
9
+ padding-right: 20px;
10
+ resize: horizontal;
11
+ overflow: auto;
12
+ border-right: 3px solid black;
13
+ `
14
+
15
+ const Example = () => {
16
+ return (
17
+ <>
18
+ <DynamicWidthContainer style={{ marginTop: 150 }}>
19
+ <TypographyOverflow
20
+ lines={2}
21
+ as='p'
22
+ tooltipVariant='light'
23
+ data-testid='ellipsed-text-lines2'
24
+ >
25
+ Two lines typography with a very long text and{' '}
26
+ <a href='#'>two words link</a> and dynamic width. Try to resize.
27
+ </TypographyOverflow>
28
+ </DynamicWidthContainer>
29
+ <DynamicWidthContainer>
30
+ <TypographyOverflow
31
+ lines={3}
32
+ as='p'
33
+ tooltipVariant='light'
34
+ data-testid='ellipsed-text-lines3'
35
+ >
36
+ Three lines typography with a very long text and a very long text and{' '}
37
+ a very long text and <a href='#'>two words link</a> and dynamic width.
38
+ Try to resize.
39
+ </TypographyOverflow>
40
+ </DynamicWidthContainer>
41
+ <DynamicWidthContainer>
42
+ <TypographyOverflow
43
+ lines={4}
44
+ as='p'
45
+ tooltipVariant='light'
46
+ data-testid='ellipsed-text-lines4'
47
+ >
48
+ &lt;https://longlong.longlong.html/very/long/html/link/very/long/html/link/&gt;
49
+ Four lines typography with a very long text and a very long text and a
50
+ very long text and a very long text and a very long text and a very
51
+ long text and a very long text and <a href='#'>two words link</a> and
52
+ dynamic width. Try to resize.
53
+ </TypographyOverflow>
54
+ </DynamicWidthContainer>
55
+ </>
56
+ )
57
+ }
58
+
59
+ export default Example
@@ -0,0 +1,23 @@
1
+ import React from 'react'
2
+ import { TypographyOverflow } from '@toptal/picasso-lab'
3
+
4
+ const Example = () => {
5
+ return (
6
+ <div style={{ width: 300, marginTop: 100 }}>
7
+ <TypographyOverflow
8
+ data-testid='ellipsed-text-dark'
9
+ tooltipVariant='dark'
10
+ >
11
+ Dark tooltip. This typography is very long and therefore it overflows.
12
+ </TypographyOverflow>
13
+ <TypographyOverflow
14
+ data-testid='ellipsed-text-light'
15
+ tooltipVariant='light'
16
+ >
17
+ Light tooltip. This typography is very long and therefore it overflows.
18
+ </TypographyOverflow>
19
+ </div>
20
+ )
21
+ }
22
+
23
+ export default Example
@@ -0,0 +1,83 @@
1
+ import { TypographyOverflow } from '../TypographyOverflow'
2
+ import PicassoBook from '~/.storybook/components/PicassoBook'
3
+
4
+ const page = PicassoBook.section('Picasso Lab').createPage(
5
+ 'TypographyOverflow',
6
+ 'Show tooltip when typography overflows'
7
+ )
8
+
9
+ page.createTabChapter('Props').addComponentDocs({
10
+ component: TypographyOverflow,
11
+ name: 'TypographyOverflow'
12
+ })
13
+
14
+ page
15
+ .createChapter()
16
+ .addExample('TypographyOverflow/story/Default.example.tsx', {
17
+ title: 'Default',
18
+ effect: async (testPage, makeScreenshot) => {
19
+ await testPage.hover('[data-testid="ellipsed-text"]')
20
+ await testPage.waitFor(200)
21
+ await makeScreenshot()
22
+
23
+ await testPage.hover('[data-testid="ellipsed-text-dynamic-width"]')
24
+ await testPage.waitFor(200)
25
+ await makeScreenshot()
26
+ }
27
+ })
28
+ .addExample('TypographyOverflow/story/Multiline.example.tsx', {
29
+ title: 'Multiline',
30
+ effect: async (testPage, makeScreenshot) => {
31
+ await testPage.hover('[data-testid="ellipsed-text-lines2"]')
32
+ await testPage.waitFor(200)
33
+ await makeScreenshot()
34
+
35
+ await testPage.hover('[data-testid="ellipsed-text-lines3"]')
36
+ await testPage.waitFor(200)
37
+ await makeScreenshot()
38
+
39
+ await testPage.hover('[data-testid="ellipsed-text-lines4"]')
40
+ await testPage.waitFor(200)
41
+ await makeScreenshot()
42
+ }
43
+ })
44
+ .addExample('TypographyOverflow/story/CheckboxLabel.example.tsx', {
45
+ title: 'Checkbox label',
46
+ effect: async (testPage, makeScreenshot) => {
47
+ await testPage.hover('[data-testid="ellipsed-text"]')
48
+ await testPage.waitFor(600)
49
+ await makeScreenshot()
50
+ }
51
+ })
52
+ .addExample('TypographyOverflow/story/CustomTooltip.example.tsx', {
53
+ title: 'Custom tooltip content',
54
+ effect: async (testPage, makeScreenshot) => {
55
+ await testPage.hover('[data-testid="ellipsed-text"]')
56
+ await testPage.waitFor(200)
57
+ await makeScreenshot()
58
+ }
59
+ })
60
+ .addExample('TypographyOverflow/story/TooltipVariants.example.tsx', {
61
+ title: 'Light tooltip background',
62
+ effect: async (testPage, makeScreenshot) => {
63
+ await testPage.hover('[data-testid="ellipsed-text-dark"]')
64
+ await testPage.waitFor(200)
65
+ await makeScreenshot()
66
+
67
+ await testPage.hover('[data-testid="ellipsed-text-light"]')
68
+ await testPage.waitFor(200)
69
+ await makeScreenshot()
70
+ }
71
+ })
72
+ .addExample('TypographyOverflow/story/Delay.example.tsx', {
73
+ title: 'Delay',
74
+ effect: async (testPage, makeScreenshot) => {
75
+ await testPage.hover('[data-testid="default-delay-tooltip"]')
76
+ await testPage.waitFor(200)
77
+ await makeScreenshot()
78
+
79
+ await testPage.hover('[data-testid="long-delay-tooltip"]')
80
+ await testPage.waitFor(500)
81
+ await makeScreenshot()
82
+ }
83
+ })
@@ -0,0 +1,29 @@
1
+ import { createStyles } from '@material-ui/core/styles'
2
+
3
+ export default () =>
4
+ createStyles({
5
+ singleLine: {
6
+ display: 'block',
7
+ whiteSpace: 'nowrap'
8
+ },
9
+ multiLine: {
10
+ display: '-webkit-box',
11
+ whiteSpace: 'initial',
12
+ wordBreak: 'break-word'
13
+ },
14
+ wrapper: {
15
+ '-webkit-box-orient': 'vertical',
16
+ overflow: 'hidden',
17
+ textOverflow: 'ellipsis',
18
+ /**
19
+ * Workaround for `textOverflow: ellipsis`.
20
+ * Browser can show ellipsis at the end, even if it's not required -
21
+ * it's possible if the text has the very same width as the container
22
+ * (ellipsis width will be the same as the width of the text hidden by these ellipsis).
23
+ * It could be also affected by the font itself, when it has wider render bouncing borders.
24
+ * So to be sure, that text container in slightly wider than parent,
25
+ * we have to to add some super-minor space at the end.
26
+ */
27
+ paddingRight: '0.9px'
28
+ }
29
+ })
@@ -0,0 +1,60 @@
1
+ import React from 'react'
2
+ import { fireEvent, render, waitFor } from '@toptal/picasso/test-utils'
3
+
4
+ import TypographyOverflow from '.'
5
+
6
+ jest.mock('@toptal/picasso/utils', () => ({
7
+ ...(jest.requireActual('@toptal/picasso/utils') as {}),
8
+ isOverflown: jest.fn(() => true),
9
+ isPointerDevice: jest.fn(() => true)
10
+ }))
11
+
12
+ describe('TypographyOverflow', () => {
13
+ describe('when overflow happened', () => {
14
+ it('renders tooltip by default', async () => {
15
+ const { getByTestId, queryByTestId } = render(
16
+ <TypographyOverflow
17
+ tooltipContent={<p data-testid='tooltip' />}
18
+ data-testid='typography'
19
+ >
20
+ Just Typography
21
+ </TypographyOverflow>
22
+ )
23
+
24
+ // no tooltip by default
25
+ expect(queryByTestId('tooltip')).not.toBeInTheDocument()
26
+
27
+ // check tooltip opens
28
+ // current implementation swaps elements on mouse enter, so another event is needed
29
+ fireEvent.mouseOver(getByTestId('typography'))
30
+ fireEvent.mouseOver(getByTestId('typography'))
31
+ await waitFor(() => {
32
+ expect(queryByTestId('tooltip')).toBeInTheDocument()
33
+ })
34
+
35
+ // check tooltip hides
36
+ fireEvent.mouseLeave(getByTestId('typography'))
37
+ await waitFor(() => {
38
+ expect(queryByTestId('tooltip')).not.toBeInTheDocument()
39
+ })
40
+ })
41
+
42
+ it('does not render tooltip if it is disabled', async () => {
43
+ const { getByTestId, queryByTestId } = render(
44
+ <TypographyOverflow
45
+ disableTooltip
46
+ tooltipContent={<p data-testid='tooltip' />}
47
+ data-testid='typography'
48
+ >
49
+ Just Typography
50
+ </TypographyOverflow>
51
+ )
52
+
53
+ // check tooltip never opens
54
+ fireEvent.mouseEnter(getByTestId('typography'))
55
+ await waitFor(() => {
56
+ expect(queryByTestId('tooltip')).not.toBeInTheDocument()
57
+ })
58
+ })
59
+ })
60
+ })
package/src/index.ts ADDED
@@ -0,0 +1,35 @@
1
+ export { default as Calendar } from './Calendar'
2
+ export type { DateOrDateRangeType } from './Calendar'
3
+ export {
4
+ default as DatePicker,
5
+ datePickerParseDateString,
6
+ DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT,
7
+ DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT
8
+ } from './DatePicker'
9
+ export type {
10
+ DatePickerValue,
11
+ DatePickerStringParser,
12
+ DatePickerProps
13
+ } from './DatePicker'
14
+ export { default as Drawer } from './Drawer'
15
+ export type { DrawerProps } from './Drawer'
16
+ export { default as Dropzone, ErrorCode as DropzoneErrorCode } from './Dropzone'
17
+ export type {
18
+ DropzoneProps,
19
+ FileUpload as DropzoneFileUpload,
20
+ FileError as DropzoneFileError,
21
+ FileRejection as DropzoneFileRejection,
22
+ DropEvent as DropzoneDropEvent
23
+ } from './Dropzone'
24
+ export { default as OverviewBlock } from './OverviewBlock'
25
+ export type { OverviewBlockProps } from './OverviewBlock'
26
+ export { default as TypographyOverflow } from './TypographyOverflow'
27
+ export type { TypographyOverflowProps } from './TypographyOverflow'
28
+ export { default as EmptyState } from './EmptyState'
29
+ export { default as Section } from './Section'
30
+ export type { SectionProps } from './Section'
31
+ export { default as Note } from './Note'
32
+ export type { NoteProps } from './Note'
33
+ export { default as Timeline } from './Timeline'
34
+ export type { TimelineProps } from './Timeline'
35
+ // hygen code generator inserts export statements above this comment.
@@ -0,0 +1,10 @@
1
+ import { doc } from 'storybook-readme'
2
+
3
+ import PicassoBook from '~/.storybook/components/PicassoBook'
4
+ import README from '../../README.md'
5
+ import CHANGELOG from '../../CHANGELOG.md'
6
+
7
+ const section = PicassoBook.section('Picasso Lab')
8
+
9
+ section.createDocPage('README', doc(README), { alwaysOnTop: true })
10
+ section.createDocPage('CHANGELOG', doc(CHANGELOG), { alwaysOnTop: true })
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.build.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist-package"
5
+ },
6
+ "include": ["src"]
7
+ }