@toptal/picasso-provider 3.5.1 → 4.0.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 (470) hide show
  1. package/{CssBaseline → dist-package/src/CssBaseline}/CssBaseline.d.ts +2 -0
  2. package/dist-package/src/CssBaseline/CssBaseline.d.ts.map +1 -0
  3. package/dist-package/src/CssBaseline/CssBaseline.js.map +1 -0
  4. package/{CssBaseline → dist-package/src/CssBaseline}/index.d.ts +1 -0
  5. package/dist-package/src/CssBaseline/index.d.ts.map +1 -0
  6. package/dist-package/src/CssBaseline/index.js.map +1 -0
  7. package/{CssBaseline → dist-package/src/CssBaseline}/styles.d.ts +1 -0
  8. package/dist-package/src/CssBaseline/styles.d.ts.map +1 -0
  9. package/dist-package/src/CssBaseline/styles.js.map +1 -0
  10. package/{Favicon → dist-package/src/Favicon}/Favicon.d.ts +2 -0
  11. package/dist-package/src/Favicon/Favicon.d.ts.map +1 -0
  12. package/{Favicon → dist-package/src/Favicon}/Favicon.js +2 -3
  13. package/dist-package/src/Favicon/Favicon.js.map +1 -0
  14. package/{Favicon → dist-package/src/Favicon}/icons/development/index.d.ts +1 -0
  15. package/dist-package/src/Favicon/icons/development/index.d.ts.map +1 -0
  16. package/dist-package/src/Favicon/icons/development/index.js.map +1 -0
  17. package/{Favicon → dist-package/src/Favicon}/icons/index.d.ts +3 -1
  18. package/dist-package/src/Favicon/icons/index.d.ts.map +1 -0
  19. package/dist-package/src/Favicon/icons/index.js +27 -0
  20. package/dist-package/src/Favicon/icons/index.js.map +1 -0
  21. package/{Favicon → dist-package/src/Favicon}/icons/production/index.d.ts +1 -0
  22. package/dist-package/src/Favicon/icons/production/index.d.ts.map +1 -0
  23. package/dist-package/src/Favicon/icons/production/index.js.map +1 -0
  24. package/{Favicon → dist-package/src/Favicon}/icons/staging/index.d.ts +1 -0
  25. package/dist-package/src/Favicon/icons/staging/index.d.ts.map +1 -0
  26. package/dist-package/src/Favicon/icons/staging/index.js.map +1 -0
  27. package/{Favicon → dist-package/src/Favicon}/icons/temploy/index.d.ts +1 -0
  28. package/dist-package/src/Favicon/icons/temploy/index.d.ts.map +1 -0
  29. package/dist-package/src/Favicon/icons/temploy/index.js.map +1 -0
  30. package/{Favicon → dist-package/src/Favicon}/index.d.ts +1 -0
  31. package/dist-package/src/Favicon/index.d.ts.map +1 -0
  32. package/dist-package/src/Favicon/index.js.map +1 -0
  33. package/{Picasso → dist-package/src/Picasso}/FixViewport.d.ts +2 -0
  34. package/dist-package/src/Picasso/FixViewport.d.ts.map +1 -0
  35. package/{Picasso → dist-package/src/Picasso}/FixViewport.js +1 -2
  36. package/dist-package/src/Picasso/FixViewport.js.map +1 -0
  37. package/{Picasso → dist-package/src/Picasso}/FontsLoader.d.ts +1 -0
  38. package/dist-package/src/Picasso/FontsLoader.d.ts.map +1 -0
  39. package/dist-package/src/Picasso/FontsLoader.js.map +1 -0
  40. package/{Picasso → dist-package/src/Picasso}/HelmetProvider/HelmetProvider.d.ts +1 -0
  41. package/dist-package/src/Picasso/HelmetProvider/HelmetProvider.d.ts.map +1 -0
  42. package/dist-package/src/Picasso/HelmetProvider/HelmetProvider.js.map +1 -0
  43. package/{Picasso → dist-package/src/Picasso}/HelmetProvider/index.d.ts +1 -0
  44. package/dist-package/src/Picasso/HelmetProvider/index.d.ts.map +1 -0
  45. package/dist-package/src/Picasso/HelmetProvider/index.js.map +1 -0
  46. package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/NotificationsProvider.d.ts +1 -0
  47. package/dist-package/src/Picasso/NotificationsProvider/NotificationsProvider.d.ts.map +1 -0
  48. package/dist-package/src/Picasso/NotificationsProvider/NotificationsProvider.js.map +1 -0
  49. package/dist-package/src/Picasso/NotificationsProvider/index.d.ts +2 -0
  50. package/dist-package/src/Picasso/NotificationsProvider/index.d.ts.map +1 -0
  51. package/dist-package/src/Picasso/NotificationsProvider/index.js.map +1 -0
  52. package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/styles.d.ts +1 -0
  53. package/dist-package/src/Picasso/NotificationsProvider/styles.d.ts.map +1 -0
  54. package/dist-package/src/Picasso/NotificationsProvider/styles.js.map +1 -0
  55. package/{Picasso → dist-package/src/Picasso}/Picasso.d.ts +1 -0
  56. package/dist-package/src/Picasso/Picasso.d.ts.map +1 -0
  57. package/dist-package/src/Picasso/Picasso.js.map +1 -0
  58. package/{Picasso → dist-package/src/Picasso}/PicassoGlobalStylesProvider.d.ts +1 -0
  59. package/dist-package/src/Picasso/PicassoGlobalStylesProvider.d.ts.map +1 -0
  60. package/dist-package/src/Picasso/PicassoGlobalStylesProvider.js.map +1 -0
  61. package/{Picasso → dist-package/src/Picasso}/PicassoLight/PicassoLight.d.ts +1 -0
  62. package/dist-package/src/Picasso/PicassoLight/PicassoLight.d.ts.map +1 -0
  63. package/dist-package/src/Picasso/PicassoLight/PicassoLight.js.map +1 -0
  64. package/{Picasso → dist-package/src/Picasso}/PicassoLight/index.d.ts +1 -0
  65. package/dist-package/src/Picasso/PicassoLight/index.d.ts.map +1 -0
  66. package/dist-package/src/Picasso/PicassoLight/index.js.map +1 -0
  67. package/{Picasso → dist-package/src/Picasso}/PicassoProvider.d.ts +2 -0
  68. package/dist-package/src/Picasso/PicassoProvider.d.ts.map +1 -0
  69. package/{Picasso → dist-package/src/Picasso}/PicassoProvider.js +3 -2
  70. package/dist-package/src/Picasso/PicassoProvider.js.map +1 -0
  71. package/{Picasso → dist-package/src/Picasso}/PicassoRootNode.d.ts +1 -0
  72. package/dist-package/src/Picasso/PicassoRootNode.d.ts.map +1 -0
  73. package/dist-package/src/Picasso/PicassoRootNode.js.map +1 -0
  74. package/{Picasso → dist-package/src/Picasso}/RootContext.d.ts +1 -0
  75. package/dist-package/src/Picasso/RootContext.d.ts.map +1 -0
  76. package/dist-package/src/Picasso/RootContext.js.map +1 -0
  77. package/{Picasso → dist-package/src/Picasso}/config/breakpoints.d.ts +1 -0
  78. package/dist-package/src/Picasso/config/breakpoints.d.ts.map +1 -0
  79. package/dist-package/src/Picasso/config/breakpoints.js.map +1 -0
  80. package/{Picasso → dist-package/src/Picasso}/config/index.d.ts +3 -1
  81. package/dist-package/src/Picasso/config/index.d.ts.map +1 -0
  82. package/{Picasso → dist-package/src/Picasso}/config/index.js +2 -1
  83. package/dist-package/src/Picasso/config/index.js.map +1 -0
  84. package/{Picasso → dist-package/src/Picasso}/config/layout.d.ts +1 -0
  85. package/dist-package/src/Picasso/config/layout.d.ts.map +1 -0
  86. package/dist-package/src/Picasso/config/layout.js.map +1 -0
  87. package/{Picasso → dist-package/src/Picasso}/config/palette.d.ts +1 -0
  88. package/dist-package/src/Picasso/config/palette.d.ts.map +1 -0
  89. package/dist-package/src/Picasso/config/palette.js.map +1 -0
  90. package/dist-package/src/Picasso/config/shadows.d.ts +30 -0
  91. package/dist-package/src/Picasso/config/shadows.d.ts.map +1 -0
  92. package/dist-package/src/Picasso/config/shadows.js +39 -0
  93. package/dist-package/src/Picasso/config/shadows.js.map +1 -0
  94. package/{Picasso → dist-package/src/Picasso}/config/sizes.d.ts +1 -0
  95. package/dist-package/src/Picasso/config/sizes.d.ts.map +1 -0
  96. package/dist-package/src/Picasso/config/sizes.js.map +1 -0
  97. package/{Picasso → dist-package/src/Picasso}/config/spacings.d.ts +1 -0
  98. package/dist-package/src/Picasso/config/spacings.d.ts.map +1 -0
  99. package/dist-package/src/Picasso/config/spacings.js.map +1 -0
  100. package/{Picasso → dist-package/src/Picasso}/config/theme.d.ts +1 -5
  101. package/dist-package/src/Picasso/config/theme.d.ts.map +1 -0
  102. package/{Picasso → dist-package/src/Picasso}/config/theme.js.map +1 -1
  103. package/{Picasso → dist-package/src/Picasso}/config/transitions.d.ts +1 -0
  104. package/dist-package/src/Picasso/config/transitions.d.ts.map +1 -0
  105. package/dist-package/src/Picasso/config/transitions.js.map +1 -0
  106. package/{Picasso → dist-package/src/Picasso}/config/typography.d.ts +1 -0
  107. package/dist-package/src/Picasso/config/typography.d.ts.map +1 -0
  108. package/dist-package/src/Picasso/config/typography.js.map +1 -0
  109. package/{Picasso → dist-package/src/Picasso}/index.d.ts +2 -0
  110. package/dist-package/src/Picasso/index.d.ts.map +1 -0
  111. package/{Picasso → dist-package/src/Picasso}/index.js +1 -0
  112. package/dist-package/src/Picasso/index.js.map +1 -0
  113. package/{Picasso → dist-package/src/Picasso}/styles.d.ts +1 -0
  114. package/dist-package/src/Picasso/styles.d.ts.map +1 -0
  115. package/dist-package/src/Picasso/styles.js.map +1 -0
  116. package/{Picasso → dist-package/src/Picasso}/utils/generate-random-string.d.ts +1 -0
  117. package/dist-package/src/Picasso/utils/generate-random-string.d.ts.map +1 -0
  118. package/dist-package/src/Picasso/utils/generate-random-string.js.map +1 -0
  119. package/{Picasso → dist-package/src/Picasso}/utils/get-serverside-stylesheets.d.ts +1 -0
  120. package/dist-package/src/Picasso/utils/get-serverside-stylesheets.d.ts.map +1 -0
  121. package/dist-package/src/Picasso/utils/get-serverside-stylesheets.js.map +1 -0
  122. package/{Picasso → dist-package/src/Picasso}/utils/index.d.ts +1 -0
  123. package/dist-package/src/Picasso/utils/index.d.ts.map +1 -0
  124. package/dist-package/src/Picasso/utils/index.js.map +1 -0
  125. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-jss-variable-class-names.d.ts +1 -0
  126. package/dist-package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.d.ts.map +1 -0
  127. package/dist-package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.js.map +1 -0
  128. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-media-queries.d.ts +1 -0
  129. package/dist-package/src/Picasso/utils/responsive-styles/create-media-queries.d.ts.map +1 -0
  130. package/dist-package/src/Picasso/utils/responsive-styles/create-media-queries.js.map +1 -0
  131. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-variable-values-jss.d.ts +1 -0
  132. package/dist-package/src/Picasso/utils/responsive-styles/create-variable-values-jss.d.ts.map +1 -0
  133. package/dist-package/src/Picasso/utils/responsive-styles/create-variable-values-jss.js.map +1 -0
  134. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/default-css-prop.d.ts +1 -0
  135. package/dist-package/src/Picasso/utils/responsive-styles/default-css-prop.d.ts.map +1 -0
  136. package/dist-package/src/Picasso/utils/responsive-styles/default-css-prop.js.map +1 -0
  137. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/generate-variable-inline-styles.d.ts +1 -0
  138. package/dist-package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.d.ts.map +1 -0
  139. package/dist-package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.js.map +1 -0
  140. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/get-breakpoint-class-names-to-use.d.ts +1 -0
  141. package/dist-package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.d.ts.map +1 -0
  142. package/dist-package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.js.map +1 -0
  143. package/dist-package/src/Picasso/utils/responsive-styles/index.d.ts +2 -0
  144. package/dist-package/src/Picasso/utils/responsive-styles/index.d.ts.map +1 -0
  145. package/dist-package/src/Picasso/utils/responsive-styles/index.js.map +1 -0
  146. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/make-responsive-spacing-props.d.ts +1 -0
  147. package/dist-package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.d.ts.map +1 -0
  148. package/dist-package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.js.map +1 -0
  149. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/media-queries-classes.d.ts +1 -0
  150. package/dist-package/src/Picasso/utils/responsive-styles/media-queries-classes.d.ts.map +1 -0
  151. package/dist-package/src/Picasso/utils/responsive-styles/media-queries-classes.js.map +1 -0
  152. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-class-name.d.ts +1 -0
  153. package/dist-package/src/Picasso/utils/responsive-styles/to-class-name.d.ts.map +1 -0
  154. package/dist-package/src/Picasso/utils/responsive-styles/to-class-name.js.map +1 -0
  155. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-css-variable-name.d.ts +1 -0
  156. package/dist-package/src/Picasso/utils/responsive-styles/to-css-variable-name.d.ts.map +1 -0
  157. package/dist-package/src/Picasso/utils/responsive-styles/to-css-variable-name.js.map +1 -0
  158. package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/types.d.ts +1 -0
  159. package/dist-package/src/Picasso/utils/responsive-styles/types.d.ts.map +1 -0
  160. package/dist-package/src/Picasso/utils/responsive-styles/types.js.map +1 -0
  161. package/{Picasso → dist-package/src/Picasso}/utils/spacings.d.ts +1 -0
  162. package/dist-package/src/Picasso/utils/spacings.d.ts.map +1 -0
  163. package/dist-package/src/Picasso/utils/spacings.js.map +1 -0
  164. package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/PreventPageWidthChangeOnScrollbar.d.ts +1 -0
  165. package/dist-package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.d.ts.map +1 -0
  166. package/dist-package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.js.map +1 -0
  167. package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/index.d.ts +1 -0
  168. package/dist-package/src/PreventPageWidthChangeOnScrollbar/index.d.ts.map +1 -0
  169. package/dist-package/src/PreventPageWidthChangeOnScrollbar/index.js.map +1 -0
  170. package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/styles.d.ts +1 -0
  171. package/dist-package/src/PreventPageWidthChangeOnScrollbar/styles.d.ts.map +1 -0
  172. package/dist-package/src/PreventPageWidthChangeOnScrollbar/styles.js.map +1 -0
  173. package/dist-package/src/hooks/index.d.ts +2 -0
  174. package/dist-package/src/hooks/index.d.ts.map +1 -0
  175. package/dist-package/src/hooks/index.js.map +1 -0
  176. package/{hooks → dist-package/src/hooks}/use-isomorphic-layout-effect.d.ts +1 -0
  177. package/dist-package/src/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
  178. package/dist-package/src/hooks/use-isomorphic-layout-effect.js.map +1 -0
  179. package/{index.d.ts → dist-package/src/index.d.ts} +3 -0
  180. package/dist-package/src/index.d.ts.map +1 -0
  181. package/{index.js → dist-package/src/index.js} +2 -0
  182. package/dist-package/src/index.js.map +1 -0
  183. package/{types.d.ts → dist-package/src/types.d.ts} +1 -0
  184. package/dist-package/src/types.d.ts.map +1 -0
  185. package/dist-package/src/types.js.map +1 -0
  186. package/{utils → dist-package/src/utils}/index.d.ts +2 -0
  187. package/dist-package/src/utils/index.d.ts.map +1 -0
  188. package/{utils → dist-package/src/utils}/index.js +1 -0
  189. package/dist-package/src/utils/index.js.map +1 -0
  190. package/{utils → dist-package/src/utils}/is-browser.d.ts +1 -0
  191. package/dist-package/src/utils/is-browser.d.ts.map +1 -0
  192. package/dist-package/src/utils/is-browser.js.map +1 -0
  193. package/{utils → dist-package/src/utils}/kebab-to-camel-case.d.ts +1 -0
  194. package/dist-package/src/utils/kebab-to-camel-case.d.ts.map +1 -0
  195. package/dist-package/src/utils/kebab-to-camel-case.js.map +1 -0
  196. package/{utils → dist-package/src/utils}/snake-to-camel-case.d.ts +1 -0
  197. package/dist-package/src/utils/snake-to-camel-case.d.ts.map +1 -0
  198. package/dist-package/src/utils/snake-to-camel-case.js.map +1 -0
  199. package/dist-package/src/utils/use-safe-state.d.ts +4 -0
  200. package/dist-package/src/utils/use-safe-state.d.ts.map +1 -0
  201. package/dist-package/src/utils/use-safe-state.js +19 -0
  202. package/dist-package/src/utils/use-safe-state.js.map +1 -0
  203. package/package.json +19 -10
  204. package/src/CssBaseline/CssBaseline.tsx +18 -0
  205. package/src/CssBaseline/index.ts +1 -0
  206. package/src/CssBaseline/styles.ts +32 -0
  207. package/src/Favicon/Favicon.tsx +73 -0
  208. package/src/Favicon/__snapshots__/test.tsx.snap +51 -0
  209. package/src/Favicon/icons/development/development-16x16.png +0 -0
  210. package/src/Favicon/icons/development/development-180x180.png +0 -0
  211. package/src/Favicon/icons/development/development-32x32.png +0 -0
  212. package/src/Favicon/icons/development/index.ts +11 -0
  213. package/src/Favicon/icons/index.ts +20 -0
  214. package/src/Favicon/icons/production/index.ts +11 -0
  215. package/src/Favicon/icons/production/production-16x16.png +0 -0
  216. package/src/Favicon/icons/production/production-180x180.png +0 -0
  217. package/src/Favicon/icons/production/production-32x32.png +0 -0
  218. package/src/Favicon/icons/staging/index.ts +11 -0
  219. package/src/Favicon/icons/staging/staging-16x16.png +0 -0
  220. package/src/Favicon/icons/staging/staging-180x180.png +0 -0
  221. package/src/Favicon/icons/staging/staging-32x32.png +0 -0
  222. package/src/Favicon/icons/temploy/index.ts +11 -0
  223. package/src/Favicon/icons/temploy/temploy-16x16.png +0 -0
  224. package/src/Favicon/icons/temploy/temploy-180x180.png +0 -0
  225. package/src/Favicon/icons/temploy/temploy-32x32.png +0 -0
  226. package/src/Favicon/index.ts +2 -0
  227. package/src/Favicon/test.tsx +33 -0
  228. package/src/Picasso/FixViewport.tsx +42 -0
  229. package/src/Picasso/FontsLoader.tsx +72 -0
  230. package/src/Picasso/HelmetProvider/HelmetProvider.tsx +20 -0
  231. package/src/Picasso/HelmetProvider/index.ts +1 -0
  232. package/src/Picasso/NotificationsProvider/NotificationsProvider.tsx +50 -0
  233. package/{Picasso/NotificationsProvider/index.d.ts → src/Picasso/NotificationsProvider/index.ts} +1 -1
  234. package/src/Picasso/NotificationsProvider/styles.ts +24 -0
  235. package/src/Picasso/NotificationsProvider/test.tsx +55 -0
  236. package/src/Picasso/Picasso.tsx +142 -0
  237. package/src/Picasso/PicassoGlobalStylesProvider.tsx +94 -0
  238. package/src/Picasso/PicassoLight/PicassoLight.tsx +82 -0
  239. package/src/Picasso/PicassoLight/index.tsx +1 -0
  240. package/src/Picasso/PicassoProvider.tsx +80 -0
  241. package/src/Picasso/PicassoRootNode.tsx +31 -0
  242. package/src/Picasso/RootContext.ts +92 -0
  243. package/src/Picasso/config/breakpoints.ts +194 -0
  244. package/src/Picasso/config/index.ts +28 -0
  245. package/src/Picasso/config/layout.ts +16 -0
  246. package/src/Picasso/config/palette.ts +110 -0
  247. package/src/Picasso/config/shadows.ts +73 -0
  248. package/src/Picasso/config/sizes.ts +27 -0
  249. package/src/Picasso/config/spacings.ts +102 -0
  250. package/src/Picasso/config/test.ts +211 -0
  251. package/src/Picasso/config/theme.ts +21 -0
  252. package/src/Picasso/config/transitions.ts +5 -0
  253. package/src/Picasso/config/typography.ts +62 -0
  254. package/src/Picasso/index.ts +9 -0
  255. package/src/Picasso/story/BarePicassoLight.example.tsx +33 -0
  256. package/src/Picasso/story/Default.example.tsx +38 -0
  257. package/src/Picasso/story/DisableClassNamePrefix.example.tsx +36 -0
  258. package/src/Picasso/story/DisableResponsiveUI.example.tsx +96 -0
  259. package/src/Picasso/story/LightWithFixViewportAndFontsLoader.example.tsx +40 -0
  260. package/src/Picasso/story/LightWithNotificationsAndFavicon.example.tsx +57 -0
  261. package/src/Picasso/story/index.jsx +84 -0
  262. package/src/Picasso/styles.tsx +19 -0
  263. package/src/Picasso/utils/generate-random-string.ts +12 -0
  264. package/src/Picasso/utils/get-serverside-stylesheets.ts +17 -0
  265. package/src/Picasso/utils/index.ts +4 -0
  266. package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.ts +17 -0
  267. package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.ts +30 -0
  268. package/src/Picasso/utils/responsive-styles/create-media-queries.test.ts +32 -0
  269. package/src/Picasso/utils/responsive-styles/create-media-queries.ts +32 -0
  270. package/src/Picasso/utils/responsive-styles/create-variable-values-jss.test.ts +24 -0
  271. package/src/Picasso/utils/responsive-styles/create-variable-values-jss.ts +21 -0
  272. package/src/Picasso/utils/responsive-styles/default-css-prop.test.ts +15 -0
  273. package/src/Picasso/utils/responsive-styles/default-css-prop.ts +15 -0
  274. package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.ts +20 -0
  275. package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.ts +26 -0
  276. package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.ts +20 -0
  277. package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.ts +28 -0
  278. package/{Picasso/utils/responsive-styles/index.d.ts → src/Picasso/utils/responsive-styles/index.ts} +1 -1
  279. package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.ts +34 -0
  280. package/src/Picasso/utils/responsive-styles/media-queries-classes.test.ts +32 -0
  281. package/src/Picasso/utils/responsive-styles/media-queries-classes.ts +28 -0
  282. package/src/Picasso/utils/responsive-styles/to-class-name.test.ts +13 -0
  283. package/src/Picasso/utils/responsive-styles/to-class-name.ts +9 -0
  284. package/src/Picasso/utils/responsive-styles/to-css-variable-name.test.ts +13 -0
  285. package/src/Picasso/utils/responsive-styles/to-css-variable-name.ts +9 -0
  286. package/src/Picasso/utils/responsive-styles/types.ts +7 -0
  287. package/src/Picasso/utils/spacings.test.ts +47 -0
  288. package/src/Picasso/utils/spacings.ts +14 -0
  289. package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.tsx +20 -0
  290. package/src/PreventPageWidthChangeOnScrollbar/index.ts +1 -0
  291. package/src/PreventPageWidthChangeOnScrollbar/styles.ts +17 -0
  292. package/{hooks/index.d.ts → src/hooks/index.ts} +1 -1
  293. package/src/hooks/use-isomorphic-layout-effect.ts +8 -0
  294. package/src/index.ts +59 -0
  295. package/src/types.ts +12 -0
  296. package/src/utils/index.ts +4 -0
  297. package/src/utils/is-browser.ts +3 -0
  298. package/src/utils/kebab-to-camel-case.test.ts +7 -0
  299. package/src/utils/kebab-to-camel-case.ts +4 -0
  300. package/src/utils/snake-to-camel-case.test.ts +41 -0
  301. package/src/utils/snake-to-camel-case.ts +16 -0
  302. package/src/utils/use-safe-state.ts +25 -0
  303. package/CssBaseline/CssBaseline.js.map +0 -1
  304. package/CssBaseline/index.js.map +0 -1
  305. package/CssBaseline/styles.js.map +0 -1
  306. package/Favicon/Favicon.js.map +0 -1
  307. package/Favicon/icons/development/index.js.map +0 -1
  308. package/Favicon/icons/index.js +0 -14
  309. package/Favicon/icons/index.js.map +0 -1
  310. package/Favicon/icons/production/index.js.map +0 -1
  311. package/Favicon/icons/staging/index.js.map +0 -1
  312. package/Favicon/icons/temploy/index.js.map +0 -1
  313. package/Favicon/index.js.map +0 -1
  314. package/LICENSE +0 -20
  315. package/Picasso/FixViewport.js.map +0 -1
  316. package/Picasso/FontsLoader.js.map +0 -1
  317. package/Picasso/HelmetProvider/HelmetProvider.js.map +0 -1
  318. package/Picasso/HelmetProvider/index.js.map +0 -1
  319. package/Picasso/NotificationsProvider/NotificationsProvider.js.map +0 -1
  320. package/Picasso/NotificationsProvider/index.js.map +0 -1
  321. package/Picasso/NotificationsProvider/styles.js.map +0 -1
  322. package/Picasso/Picasso.js.map +0 -1
  323. package/Picasso/PicassoGlobalStylesProvider.js.map +0 -1
  324. package/Picasso/PicassoLight/PicassoLight.js.map +0 -1
  325. package/Picasso/PicassoLight/index.js.map +0 -1
  326. package/Picasso/PicassoProvider.js.map +0 -1
  327. package/Picasso/PicassoRootNode.js.map +0 -1
  328. package/Picasso/RootContext.js.map +0 -1
  329. package/Picasso/config/breakpoints.js.map +0 -1
  330. package/Picasso/config/index.js.map +0 -1
  331. package/Picasso/config/layout.js.map +0 -1
  332. package/Picasso/config/palette.js.map +0 -1
  333. package/Picasso/config/shadows.d.ts +0 -3
  334. package/Picasso/config/shadows.js +0 -19
  335. package/Picasso/config/shadows.js.map +0 -1
  336. package/Picasso/config/sizes.js.map +0 -1
  337. package/Picasso/config/spacings.js.map +0 -1
  338. package/Picasso/config/transitions.js.map +0 -1
  339. package/Picasso/config/typography.js.map +0 -1
  340. package/Picasso/index.js.map +0 -1
  341. package/Picasso/styles.js.map +0 -1
  342. package/Picasso/utils/generate-random-string.js.map +0 -1
  343. package/Picasso/utils/get-serverside-stylesheets.js.map +0 -1
  344. package/Picasso/utils/index.js.map +0 -1
  345. package/Picasso/utils/responsive-styles/create-jss-variable-class-names.js.map +0 -1
  346. package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.d.ts +0 -1
  347. package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.js +0 -14
  348. package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.js.map +0 -1
  349. package/Picasso/utils/responsive-styles/create-media-queries.js.map +0 -1
  350. package/Picasso/utils/responsive-styles/create-media-queries.test.d.ts +0 -1
  351. package/Picasso/utils/responsive-styles/create-media-queries.test.js +0 -27
  352. package/Picasso/utils/responsive-styles/create-media-queries.test.js.map +0 -1
  353. package/Picasso/utils/responsive-styles/create-variable-values-jss.js.map +0 -1
  354. package/Picasso/utils/responsive-styles/create-variable-values-jss.test.d.ts +0 -1
  355. package/Picasso/utils/responsive-styles/create-variable-values-jss.test.js +0 -20
  356. package/Picasso/utils/responsive-styles/create-variable-values-jss.test.js.map +0 -1
  357. package/Picasso/utils/responsive-styles/default-css-prop.js.map +0 -1
  358. package/Picasso/utils/responsive-styles/default-css-prop.test.d.ts +0 -1
  359. package/Picasso/utils/responsive-styles/default-css-prop.test.js +0 -13
  360. package/Picasso/utils/responsive-styles/default-css-prop.test.js.map +0 -1
  361. package/Picasso/utils/responsive-styles/generate-variable-inline-styles.js.map +0 -1
  362. package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.d.ts +0 -1
  363. package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.js +0 -18
  364. package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.js.map +0 -1
  365. package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.js.map +0 -1
  366. package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.d.ts +0 -1
  367. package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.js +0 -18
  368. package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.js.map +0 -1
  369. package/Picasso/utils/responsive-styles/index.js.map +0 -1
  370. package/Picasso/utils/responsive-styles/make-responsive-spacing-props.js.map +0 -1
  371. package/Picasso/utils/responsive-styles/media-queries-classes.js.map +0 -1
  372. package/Picasso/utils/responsive-styles/media-queries-classes.test.d.ts +0 -1
  373. package/Picasso/utils/responsive-styles/media-queries-classes.test.js +0 -27
  374. package/Picasso/utils/responsive-styles/media-queries-classes.test.js.map +0 -1
  375. package/Picasso/utils/responsive-styles/to-class-name.js.map +0 -1
  376. package/Picasso/utils/responsive-styles/to-class-name.test.d.ts +0 -1
  377. package/Picasso/utils/responsive-styles/to-class-name.test.js +0 -11
  378. package/Picasso/utils/responsive-styles/to-class-name.test.js.map +0 -1
  379. package/Picasso/utils/responsive-styles/to-css-variable-name.js.map +0 -1
  380. package/Picasso/utils/responsive-styles/to-css-variable-name.test.d.ts +0 -1
  381. package/Picasso/utils/responsive-styles/to-css-variable-name.test.js +0 -11
  382. package/Picasso/utils/responsive-styles/to-css-variable-name.test.js.map +0 -1
  383. package/Picasso/utils/responsive-styles/types.js.map +0 -1
  384. package/Picasso/utils/spacings.js.map +0 -1
  385. package/Picasso/utils/spacings.test.d.ts +0 -1
  386. package/Picasso/utils/spacings.test.js +0 -35
  387. package/Picasso/utils/spacings.test.js.map +0 -1
  388. package/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.js.map +0 -1
  389. package/PreventPageWidthChangeOnScrollbar/index.js.map +0 -1
  390. package/PreventPageWidthChangeOnScrollbar/styles.js.map +0 -1
  391. package/hooks/index.js.map +0 -1
  392. package/hooks/use-isomorphic-layout-effect.js.map +0 -1
  393. package/index.js.map +0 -1
  394. package/types.js.map +0 -1
  395. package/utils/index.js.map +0 -1
  396. package/utils/is-browser.js.map +0 -1
  397. package/utils/kebab-to-camel-case.js.map +0 -1
  398. package/utils/kebab-to-camel-case.test.d.ts +0 -1
  399. package/utils/kebab-to-camel-case.test.js +0 -7
  400. package/utils/kebab-to-camel-case.test.js.map +0 -1
  401. package/utils/snake-to-camel-case.js.map +0 -1
  402. package/utils/snake-to-camel-case.test.d.ts +0 -1
  403. package/utils/snake-to-camel-case.test.js +0 -30
  404. package/utils/snake-to-camel-case.test.js.map +0 -1
  405. /package/{CssBaseline → dist-package/src/CssBaseline}/CssBaseline.js +0 -0
  406. /package/{CssBaseline → dist-package/src/CssBaseline}/index.js +0 -0
  407. /package/{CssBaseline → dist-package/src/CssBaseline}/styles.js +0 -0
  408. /package/{Favicon → dist-package/src/Favicon}/icons/development/development-16x16.png +0 -0
  409. /package/{Favicon → dist-package/src/Favicon}/icons/development/development-180x180.png +0 -0
  410. /package/{Favicon → dist-package/src/Favicon}/icons/development/development-32x32.png +0 -0
  411. /package/{Favicon → dist-package/src/Favicon}/icons/development/index.js +0 -0
  412. /package/{Favicon → dist-package/src/Favicon}/icons/production/index.js +0 -0
  413. /package/{Favicon → dist-package/src/Favicon}/icons/production/production-16x16.png +0 -0
  414. /package/{Favicon → dist-package/src/Favicon}/icons/production/production-180x180.png +0 -0
  415. /package/{Favicon → dist-package/src/Favicon}/icons/production/production-32x32.png +0 -0
  416. /package/{Favicon → dist-package/src/Favicon}/icons/staging/index.js +0 -0
  417. /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-16x16.png +0 -0
  418. /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-180x180.png +0 -0
  419. /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-32x32.png +0 -0
  420. /package/{Favicon → dist-package/src/Favicon}/icons/temploy/index.js +0 -0
  421. /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-16x16.png +0 -0
  422. /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-180x180.png +0 -0
  423. /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-32x32.png +0 -0
  424. /package/{Favicon → dist-package/src/Favicon}/index.js +0 -0
  425. /package/{Picasso → dist-package/src/Picasso}/FontsLoader.js +0 -0
  426. /package/{Picasso → dist-package/src/Picasso}/HelmetProvider/HelmetProvider.js +0 -0
  427. /package/{Picasso → dist-package/src/Picasso}/HelmetProvider/index.js +0 -0
  428. /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/NotificationsProvider.js +0 -0
  429. /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/index.js +0 -0
  430. /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/styles.js +0 -0
  431. /package/{Picasso → dist-package/src/Picasso}/Picasso.js +0 -0
  432. /package/{Picasso → dist-package/src/Picasso}/PicassoGlobalStylesProvider.js +0 -0
  433. /package/{Picasso → dist-package/src/Picasso}/PicassoLight/PicassoLight.js +0 -0
  434. /package/{Picasso → dist-package/src/Picasso}/PicassoLight/index.js +0 -0
  435. /package/{Picasso → dist-package/src/Picasso}/PicassoRootNode.js +0 -0
  436. /package/{Picasso → dist-package/src/Picasso}/RootContext.js +0 -0
  437. /package/{Picasso → dist-package/src/Picasso}/config/breakpoints.js +0 -0
  438. /package/{Picasso → dist-package/src/Picasso}/config/layout.js +0 -0
  439. /package/{Picasso → dist-package/src/Picasso}/config/palette.js +0 -0
  440. /package/{Picasso → dist-package/src/Picasso}/config/sizes.js +0 -0
  441. /package/{Picasso → dist-package/src/Picasso}/config/spacings.js +0 -0
  442. /package/{Picasso → dist-package/src/Picasso}/config/theme.js +0 -0
  443. /package/{Picasso → dist-package/src/Picasso}/config/transitions.js +0 -0
  444. /package/{Picasso → dist-package/src/Picasso}/config/typography.js +0 -0
  445. /package/{Picasso → dist-package/src/Picasso}/styles.js +0 -0
  446. /package/{Picasso → dist-package/src/Picasso}/utils/generate-random-string.js +0 -0
  447. /package/{Picasso → dist-package/src/Picasso}/utils/get-serverside-stylesheets.js +0 -0
  448. /package/{Picasso → dist-package/src/Picasso}/utils/index.js +0 -0
  449. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-jss-variable-class-names.js +0 -0
  450. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-media-queries.js +0 -0
  451. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-variable-values-jss.js +0 -0
  452. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/default-css-prop.js +0 -0
  453. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/generate-variable-inline-styles.js +0 -0
  454. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/get-breakpoint-class-names-to-use.js +0 -0
  455. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/index.js +0 -0
  456. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/make-responsive-spacing-props.js +0 -0
  457. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/media-queries-classes.js +0 -0
  458. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-class-name.js +0 -0
  459. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-css-variable-name.js +0 -0
  460. /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/types.js +0 -0
  461. /package/{Picasso → dist-package/src/Picasso}/utils/spacings.js +0 -0
  462. /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/PreventPageWidthChangeOnScrollbar.js +0 -0
  463. /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/index.js +0 -0
  464. /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/styles.js +0 -0
  465. /package/{hooks → dist-package/src/hooks}/index.js +0 -0
  466. /package/{hooks → dist-package/src/hooks}/use-isomorphic-layout-effect.js +0 -0
  467. /package/{types.js → dist-package/src/types.js} +0 -0
  468. /package/{utils → dist-package/src/utils}/is-browser.js +0 -0
  469. /package/{utils → dist-package/src/utils}/kebab-to-camel-case.js +0 -0
  470. /package/{utils → dist-package/src/utils}/snake-to-camel-case.js +0 -0
@@ -0,0 +1,194 @@
1
+ /* eslint-disable complexity */
2
+ import { useState, useEffect, useCallback } from 'react'
3
+ import type { BreakpointValues } from '@material-ui/core/styles/createBreakpoints'
4
+ import useMediaQuery from '@material-ui/core/useMediaQuery'
5
+
6
+ import { isBrowser } from '../../utils'
7
+
8
+ export type BreakpointKeys = 'xs' | 'sm' | 'md' | 'lg' | 'xl'
9
+
10
+ type BreakpointsList = {
11
+ [key: string]: number
12
+ }
13
+
14
+ class BreakpointProvider {
15
+ breakpoints: Record<'values', BreakpointValues> = {
16
+ values: {
17
+ xs: 0,
18
+ sm: 480,
19
+ md: 768,
20
+ lg: 1024,
21
+ xl: 1440,
22
+ },
23
+ }
24
+
25
+ mediaQueries: {
26
+ [key in BreakpointKeys]: string
27
+ }
28
+
29
+ constructor() {
30
+ const { sm, md, lg, xl } = this.breakpoints.values
31
+
32
+ this.mediaQueries = {
33
+ xs: `(max-width: ${sm - 0.02}px)`,
34
+ sm: `(min-width: ${sm}px) and (max-width: ${md - 0.02}px)`,
35
+ md: `(min-width: ${md}px) and (max-width: ${lg - 0.02}px)`,
36
+ lg: `(min-width: ${lg}px) and (max-width: ${xl - 0.02}px)`,
37
+ xl: `(min-width: ${xl}px)`,
38
+ }
39
+ }
40
+
41
+ disableMobileBreakpoints() {
42
+ this.breakpoints.values.xs = 768
43
+ this.breakpoints.values.sm = 768
44
+
45
+ this.mediaQueries.xs = ''
46
+ this.mediaQueries.sm = ''
47
+ this.mediaQueries.md = ''
48
+ }
49
+ }
50
+
51
+ export const PicassoBreakpoints = new BreakpointProvider()
52
+
53
+ export const breakpointsList: BreakpointsList =
54
+ PicassoBreakpoints.breakpoints.values
55
+
56
+ export const screens = (...sizes: BreakpointKeys[]) => {
57
+ const validSizes = sizes.filter(size => PicassoBreakpoints.mediaQueries[size])
58
+
59
+ if (validSizes.length === 0) {
60
+ return ''
61
+ }
62
+
63
+ const mediaQueries = validSizes
64
+ .map(size => PicassoBreakpoints.mediaQueries[size])
65
+ .join(', ')
66
+
67
+ return `@media ${mediaQueries}`
68
+ }
69
+
70
+ const screenSizeToBreakpointKey = (size: number): BreakpointKeys => {
71
+ /**
72
+ * Gets a screen size nickname that corresponds to the given screen size.
73
+ *
74
+ * For the list of breakpoint names and pixel-values we use in designs, check
75
+ * https://picasso.toptal.net/?path=/story/utils-breakpoints--breakpoints
76
+ *
77
+ * @param {number} size Screen size
78
+ */
79
+
80
+ const { sm, md, lg, xl } = PicassoBreakpoints.breakpoints.values
81
+
82
+ if (size < sm) {
83
+ return 'xs'
84
+ } else if (size >= sm && size < md) {
85
+ return 'sm'
86
+ } else if (size >= md && size < lg) {
87
+ return 'md'
88
+ } else if (size >= lg && size < xl) {
89
+ return 'lg'
90
+ }
91
+
92
+ return 'xl'
93
+ }
94
+
95
+ export const isScreenSize = (
96
+ size: keyof BreakpointsList,
97
+ currentSize?: number
98
+ ): boolean => {
99
+ const sizeToUse = currentSize || window.innerWidth
100
+ const foundBreakpoint = screenSizeToBreakpointKey(sizeToUse)
101
+
102
+ return size === foundBreakpoint
103
+ }
104
+
105
+ export const useScreenSize = () => {
106
+ const [size, setSize] = useState(isBrowser() ? window.innerWidth : 0)
107
+
108
+ const updateSize = () => setSize(window.innerWidth)
109
+
110
+ useEffect(() => {
111
+ window.addEventListener('resize', updateSize)
112
+
113
+ return () => {
114
+ window.removeEventListener('resize', updateSize)
115
+ }
116
+ }, [])
117
+
118
+ return size
119
+ }
120
+
121
+ export const useBreakpoint = (sizes: BreakpointKeys[] | BreakpointKeys) => {
122
+ const mediaQueryString = screens(...([] as BreakpointKeys[]).concat(sizes))
123
+ const mediaQuery = useMediaQuery(mediaQueryString, {
124
+ noSsr: true,
125
+ })
126
+
127
+ if (!mediaQueryString) {
128
+ return false
129
+ }
130
+
131
+ return mediaQuery
132
+ }
133
+
134
+ /**
135
+ * Returns a function that picks a value from a {screenSize=>anyValue} object map.
136
+ *
137
+ * The function returned accepts 2 arguments:
138
+ * 1. An object mapping values to screen size nicknames, e.g.
139
+ * { sm: 'secondary', lg: 'positive' }
140
+ * 2. A default value to use if no keys match in the object
141
+ *
142
+ * The function returns a value from the first argument that corresponds to the current
143
+ * screen size, or the default value, if no corresponding key found.
144
+ *
145
+ * The returned function is memoized per screen size name.
146
+ *
147
+ * @example <caption>Varying both `variant` prop and button text with using the hook</caption>
148
+ * const screens = useScreens()
149
+ * <Button
150
+ * variant={screens(
151
+ * {
152
+ * sm: 'secondary',
153
+ * lg: 'positive'
154
+ * },
155
+ * 'primary'
156
+ * )}
157
+ * >
158
+ * {screens(
159
+ * {
160
+ * sm: 'small (secondary)',
161
+ * lg: 'large (positive)'
162
+ * },
163
+ * 'default (primary)'
164
+ * )}
165
+ * </Button>
166
+ */
167
+ export const useScreens = <T = unknown>() => {
168
+ // Get current screen size in pixels, e.g. 800
169
+ const currentSize = useScreenSize()
170
+
171
+ // Convert the retrieved screen size in pixels (e.g. 800)
172
+ // to its corresponding screen size name (e.g. 'large')
173
+ const screenKey = screenSizeToBreakpointKey(currentSize)
174
+
175
+ // For every screenKey value, memoize the instance of a function
176
+ // that picks a property from an object by screen name,
177
+ // and return this memoized version of the function.
178
+ return useCallback(
179
+ (
180
+ valuesByScreen: Partial<Record<BreakpointKeys, T>>,
181
+ defaultValue: T | undefined = undefined
182
+ ) => {
183
+ if (screenKey in valuesByScreen) {
184
+ return valuesByScreen[screenKey]
185
+ }
186
+
187
+ return defaultValue
188
+ },
189
+ // eslint-disable-next-line react-hooks/exhaustive-deps
190
+ [screenKey]
191
+ )
192
+ }
193
+
194
+ export default PicassoBreakpoints.breakpoints
@@ -0,0 +1,28 @@
1
+ import './theme'
2
+ export { default as palette, colors, gradients } from './palette'
3
+ export { default as transitions } from './transitions'
4
+ export { default as typography } from './typography'
5
+ export { default as sizes } from './sizes'
6
+ export {
7
+ default as breakpoints,
8
+ PicassoBreakpoints,
9
+ screens,
10
+ isScreenSize,
11
+ breakpointsList,
12
+ useScreenSize,
13
+ useBreakpoint,
14
+ useScreens,
15
+ BreakpointKeys,
16
+ } from './breakpoints'
17
+ export { default as layout } from './layout'
18
+ export { default as shadows } from './shadows'
19
+ export * from './spacings'
20
+ export { default as spacings } from './spacings'
21
+ export type {
22
+ Sizes,
23
+ SizeType,
24
+ SpacingType,
25
+ ResponsiveSpacingType,
26
+ DeprecatedSpacingType,
27
+ PicassoSpacing,
28
+ } from './spacings'
@@ -0,0 +1,16 @@
1
+ export interface Layout {
2
+ contentWidthWide: string
3
+ contentWidth: string
4
+ contentMinWidth?: string
5
+ contentPaddingHorizontal: string
6
+ contentMobilePaddingHorizontal: string
7
+ }
8
+
9
+ const layout: Layout = {
10
+ contentWidthWide: '90em',
11
+ contentWidth: '75em',
12
+ contentPaddingHorizontal: '2em',
13
+ contentMobilePaddingHorizontal: '1em',
14
+ }
15
+
16
+ export default layout
@@ -0,0 +1,110 @@
1
+ interface ColorSample {
2
+ lightest?: string
3
+ lighter?: string
4
+ lighter2?: string
5
+ light?: string
6
+ light2?: string
7
+ main?: string
8
+ main2?: string
9
+ dark?: string
10
+ darker?: string
11
+ }
12
+
13
+ declare module '@material-ui/core/styles/createPalette' {
14
+ export interface SimplePaletteColorOptions extends ColorSample {}
15
+
16
+ interface Palette {
17
+ blue: SimplePaletteColorOptions
18
+ green: SimplePaletteColorOptions
19
+ yellow: SimplePaletteColorOptions
20
+ red: SimplePaletteColorOptions
21
+ purple: SimplePaletteColorOptions
22
+ gradients: {
23
+ blue: string
24
+ darkerBlue: string
25
+ lightGrey: string
26
+ grey: string
27
+ darkerGrey: string
28
+ }
29
+ }
30
+ }
31
+
32
+ declare module '@material-ui/core' {
33
+ export interface Color extends ColorSample {}
34
+ }
35
+
36
+ export const colors = {
37
+ grey: {
38
+ lightest: '#fcfcfc',
39
+ lighter: '#f3f4f6',
40
+ lighter2: '#ebeced',
41
+ light: '#e5e7ea',
42
+ light2: '#d8d9dc',
43
+ main: '#c4c6ca',
44
+ main2: '#84888e',
45
+ dark: '#455065',
46
+ darker: '#262d3d',
47
+ },
48
+ blue: {
49
+ lighter: '#edf1fd',
50
+ light: '#25a9ef',
51
+ main: '#204ecf',
52
+ dark: '#183a9e',
53
+ darker: '#0f256e',
54
+ },
55
+ yellow: {
56
+ lighter: '#fff5e3',
57
+ main: '#e59c01',
58
+ },
59
+ red: {
60
+ lighter: '#fbedf1',
61
+ main: '#d42551',
62
+ },
63
+ green: {
64
+ lighter: '#eafbf5',
65
+ main: '#00cc83',
66
+ dark: '#03b080',
67
+ darker: '#05947c',
68
+ },
69
+ purple: {
70
+ main: '#6727cf',
71
+ },
72
+ common: {
73
+ black: '#000',
74
+ white: '#fff',
75
+ },
76
+ }
77
+
78
+ export const gradients = {
79
+ blue: `linear-gradient(to right bottom, ${colors.blue.darker}, ${colors.blue.main})`,
80
+ darkerBlue: `linear-gradient(to right bottom, #071237, ${colors.blue.darker})`,
81
+ lightGrey: `linear-gradient(to right bottom, ${colors.grey.light}, ${colors.common.white})`,
82
+ grey: `linear-gradient(to right bottom, ${colors.grey.darker}, ${colors.grey.dark})`,
83
+ darkerGrey: `linear-gradient(to right bottom, ${colors.common.black}, ${colors.grey.darker})`,
84
+ }
85
+
86
+ const palette = {
87
+ // MUI adds additional colors, like `contrastText` to the
88
+ // palette. So to prevent changing colors object we should
89
+ // deep copy it.
90
+ ...JSON.parse(JSON.stringify(colors)),
91
+ primary: JSON.parse(JSON.stringify(colors.blue)),
92
+ error: JSON.parse(JSON.stringify(colors.red)),
93
+ grey: {
94
+ 100: colors.grey.lighter2,
95
+ 200: colors.grey.light2,
96
+ 300: colors.grey.main,
97
+ 400: colors.grey.dark,
98
+ 500: colors.grey.darker,
99
+ ...colors.grey,
100
+ },
101
+ text: {
102
+ primary: colors.grey.dark,
103
+ },
104
+ background: {
105
+ default: colors.common.white,
106
+ },
107
+ gradients,
108
+ }
109
+
110
+ export default palette
@@ -0,0 +1,73 @@
1
+ type Shadows = [
2
+ 'none',
3
+ string,
4
+ string,
5
+ string,
6
+ string,
7
+ string,
8
+ string,
9
+ string,
10
+ string,
11
+ string,
12
+ string,
13
+ string,
14
+ string,
15
+ string,
16
+ string,
17
+ string,
18
+ string,
19
+ string,
20
+ string,
21
+ string,
22
+ string,
23
+ string,
24
+ string,
25
+ string,
26
+ string
27
+ ]
28
+
29
+ const muiShadows = [
30
+ '0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)',
31
+ '0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)',
32
+ '0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)',
33
+ '0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)',
34
+ '0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)',
35
+ '0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)',
36
+ '0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)',
37
+ '0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)',
38
+ '0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)',
39
+ '0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)',
40
+ '0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)',
41
+ '0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12)',
42
+ '0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)',
43
+ '0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)',
44
+ '0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)',
45
+ '0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)',
46
+ '0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)',
47
+ '0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)',
48
+ '0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)',
49
+ ]
50
+
51
+ const shadows: Shadows = [
52
+ ...[
53
+ 'none',
54
+
55
+ /** notification center, paper */
56
+ '0 0 8px 0 rgba(0,0,0, 0.08)',
57
+
58
+ /** modal */
59
+ '0 4px 8px 0 rgba(0,0,0, 0.08)',
60
+
61
+ /** nofication growl */
62
+ '0 0 0 1px rgba(0, 0, 0, 0.04), 0 0 8px 0 rgba(0, 0, 0, 0.16)',
63
+
64
+ /** tooltip */
65
+ '0 0 4px 0 rgba(0,0,0, 0.24), 0 0 32px 0 rgba(0,0,0, 0.12)',
66
+
67
+ /** scroll menu */
68
+ '0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 12px -3px rgba(0, 0, 0, 0.08), 0 4px 8px -2px rgba(0, 0, 0, 0.04)',
69
+ ],
70
+ ...muiShadows,
71
+ ] as Shadows
72
+
73
+ export default shadows
@@ -0,0 +1,27 @@
1
+ export interface Sizes {
2
+ borderWidth: string
3
+ borderRadius: {
4
+ small: string
5
+ medium: string
6
+ }
7
+ input: {
8
+ height: string
9
+ width: string
10
+ padding: string
11
+ }
12
+ }
13
+
14
+ const sizes = {
15
+ borderWidth: '1px',
16
+ borderRadius: {
17
+ small: '4px',
18
+ medium: '8px',
19
+ },
20
+ input: {
21
+ height: '2rem',
22
+ width: '18.75rem',
23
+ padding: '0.5rem',
24
+ },
25
+ }
26
+
27
+ export default sizes
@@ -0,0 +1,102 @@
1
+ import type { BreakpointKeys } from './breakpoints'
2
+
3
+ // BASE-aligned spacing values in "rem" units
4
+ type PicassoSpacingValues = 0 | 0.25 | 0.5 | 0.75 | 1 | 1.5 | 2 | 2.5 | 3
5
+
6
+ export type Sizes =
7
+ | 'xxsmall'
8
+ | 'xsmall'
9
+ | 'small'
10
+ | 'medium'
11
+ | 'large'
12
+ | 'xlarge'
13
+
14
+ export type SizeType<T extends Sizes> = T
15
+
16
+ /**
17
+ * @deprecated [FX-4438] Use {@link PicassoSpacing} or {@link ResponsiveSpacingType} instead
18
+ **/
19
+ export type DeprecatedSpacingType =
20
+ | number
21
+ | SizeType<'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'>
22
+
23
+ export type ResponsiveSpacingType = {
24
+ [key in BreakpointKeys]?: PicassoSpacing
25
+ }
26
+ export type SpacingType =
27
+ | PicassoSpacing
28
+ | DeprecatedSpacingType
29
+ | ResponsiveSpacingType
30
+
31
+ export enum SpacingEnum {
32
+ xsmall = 0.5,
33
+ small = 1,
34
+ medium = 1.5,
35
+ large = 2,
36
+ xlarge = 2.5,
37
+ }
38
+
39
+ class PicassoSpacing {
40
+ #value: PicassoSpacingValues
41
+ /**
42
+ * Corresponds to token index in https://toptal-core.atlassian.net/wiki/spaces/Base/pages/3217031216/Spacing
43
+ */
44
+ baseTokenIndex: number
45
+
46
+ private constructor(value: PicassoSpacingValues, index: number) {
47
+ this.#value = value
48
+ this.baseTokenIndex = index
49
+ }
50
+
51
+ static create(value: PicassoSpacingValues, index: number): PicassoSpacing {
52
+ return new PicassoSpacing(value, index)
53
+ }
54
+
55
+ /**
56
+ * @deprecated [FX-4713] Use "baseTokenIndex" property directly
57
+ */
58
+ indexOf(): number {
59
+ return this.baseTokenIndex
60
+ }
61
+
62
+ valueOf(): PicassoSpacingValues {
63
+ return this.#value
64
+ }
65
+
66
+ toString(): string {
67
+ return this.#value.toString()
68
+ }
69
+ }
70
+
71
+ export type { PicassoSpacing }
72
+
73
+ export const isPicassoSpacing = (
74
+ spacing: SpacingType
75
+ ): spacing is PicassoSpacing => spacing instanceof PicassoSpacing
76
+
77
+ export const isResponsiveSpacing = (
78
+ spacing: SpacingType
79
+ ): spacing is ResponsiveSpacingType =>
80
+ typeof spacing == 'object' && !isPicassoSpacing(spacing)
81
+
82
+ export const SPACING_0 = PicassoSpacing.create(0, 0)
83
+ export const SPACING_1 = PicassoSpacing.create(0.25, 1)
84
+ export const SPACING_2 = PicassoSpacing.create(0.5, 2)
85
+ export const SPACING_3 = PicassoSpacing.create(0.75, 3)
86
+ export const SPACING_4 = PicassoSpacing.create(1, 4)
87
+ export const SPACING_6 = PicassoSpacing.create(1.5, 6)
88
+ export const SPACING_8 = PicassoSpacing.create(2, 8)
89
+ export const SPACING_10 = PicassoSpacing.create(2.5, 10)
90
+ export const SPACING_12 = PicassoSpacing.create(3, 12)
91
+
92
+ export default {
93
+ SPACING_0,
94
+ SPACING_1,
95
+ SPACING_2,
96
+ SPACING_3,
97
+ SPACING_4,
98
+ SPACING_6,
99
+ SPACING_8,
100
+ SPACING_10,
101
+ SPACING_12,
102
+ } as Record<string, PicassoSpacing>