@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.
- package/{CssBaseline → dist-package/src/CssBaseline}/CssBaseline.d.ts +2 -0
- package/dist-package/src/CssBaseline/CssBaseline.d.ts.map +1 -0
- package/dist-package/src/CssBaseline/CssBaseline.js.map +1 -0
- package/{CssBaseline → dist-package/src/CssBaseline}/index.d.ts +1 -0
- package/dist-package/src/CssBaseline/index.d.ts.map +1 -0
- package/dist-package/src/CssBaseline/index.js.map +1 -0
- package/{CssBaseline → dist-package/src/CssBaseline}/styles.d.ts +1 -0
- package/dist-package/src/CssBaseline/styles.d.ts.map +1 -0
- package/dist-package/src/CssBaseline/styles.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/Favicon.d.ts +2 -0
- package/dist-package/src/Favicon/Favicon.d.ts.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/Favicon.js +2 -3
- package/dist-package/src/Favicon/Favicon.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/icons/development/index.d.ts +1 -0
- package/dist-package/src/Favicon/icons/development/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/icons/development/index.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/icons/index.d.ts +3 -1
- package/dist-package/src/Favicon/icons/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/icons/index.js +27 -0
- package/dist-package/src/Favicon/icons/index.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/icons/production/index.d.ts +1 -0
- package/dist-package/src/Favicon/icons/production/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/icons/production/index.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/icons/staging/index.d.ts +1 -0
- package/dist-package/src/Favicon/icons/staging/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/icons/staging/index.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/icons/temploy/index.d.ts +1 -0
- package/dist-package/src/Favicon/icons/temploy/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/icons/temploy/index.js.map +1 -0
- package/{Favicon → dist-package/src/Favicon}/index.d.ts +1 -0
- package/dist-package/src/Favicon/index.d.ts.map +1 -0
- package/dist-package/src/Favicon/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/FixViewport.d.ts +2 -0
- package/dist-package/src/Picasso/FixViewport.d.ts.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/FixViewport.js +1 -2
- package/dist-package/src/Picasso/FixViewport.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/FontsLoader.d.ts +1 -0
- package/dist-package/src/Picasso/FontsLoader.d.ts.map +1 -0
- package/dist-package/src/Picasso/FontsLoader.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/HelmetProvider/HelmetProvider.d.ts +1 -0
- package/dist-package/src/Picasso/HelmetProvider/HelmetProvider.d.ts.map +1 -0
- package/dist-package/src/Picasso/HelmetProvider/HelmetProvider.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/HelmetProvider/index.d.ts +1 -0
- package/dist-package/src/Picasso/HelmetProvider/index.d.ts.map +1 -0
- package/dist-package/src/Picasso/HelmetProvider/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/NotificationsProvider.d.ts +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/NotificationsProvider.d.ts.map +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/NotificationsProvider.js.map +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/index.d.ts +2 -0
- package/dist-package/src/Picasso/NotificationsProvider/index.d.ts.map +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/styles.d.ts +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/styles.d.ts.map +1 -0
- package/dist-package/src/Picasso/NotificationsProvider/styles.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/Picasso.d.ts +1 -0
- package/dist-package/src/Picasso/Picasso.d.ts.map +1 -0
- package/dist-package/src/Picasso/Picasso.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoGlobalStylesProvider.d.ts +1 -0
- package/dist-package/src/Picasso/PicassoGlobalStylesProvider.d.ts.map +1 -0
- package/dist-package/src/Picasso/PicassoGlobalStylesProvider.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoLight/PicassoLight.d.ts +1 -0
- package/dist-package/src/Picasso/PicassoLight/PicassoLight.d.ts.map +1 -0
- package/dist-package/src/Picasso/PicassoLight/PicassoLight.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoLight/index.d.ts +1 -0
- package/dist-package/src/Picasso/PicassoLight/index.d.ts.map +1 -0
- package/dist-package/src/Picasso/PicassoLight/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoProvider.d.ts +2 -0
- package/dist-package/src/Picasso/PicassoProvider.d.ts.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoProvider.js +3 -2
- package/dist-package/src/Picasso/PicassoProvider.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/PicassoRootNode.d.ts +1 -0
- package/dist-package/src/Picasso/PicassoRootNode.d.ts.map +1 -0
- package/dist-package/src/Picasso/PicassoRootNode.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/RootContext.d.ts +1 -0
- package/dist-package/src/Picasso/RootContext.d.ts.map +1 -0
- package/dist-package/src/Picasso/RootContext.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/breakpoints.d.ts +1 -0
- package/dist-package/src/Picasso/config/breakpoints.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/breakpoints.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/index.d.ts +3 -1
- package/dist-package/src/Picasso/config/index.d.ts.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/index.js +2 -1
- package/dist-package/src/Picasso/config/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/layout.d.ts +1 -0
- package/dist-package/src/Picasso/config/layout.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/layout.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/palette.d.ts +1 -0
- package/dist-package/src/Picasso/config/palette.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/palette.js.map +1 -0
- package/dist-package/src/Picasso/config/shadows.d.ts +30 -0
- package/dist-package/src/Picasso/config/shadows.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/shadows.js +39 -0
- package/dist-package/src/Picasso/config/shadows.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/sizes.d.ts +1 -0
- package/dist-package/src/Picasso/config/sizes.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/sizes.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/spacings.d.ts +1 -0
- package/dist-package/src/Picasso/config/spacings.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/spacings.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/theme.d.ts +1 -5
- package/dist-package/src/Picasso/config/theme.d.ts.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/theme.js.map +1 -1
- package/{Picasso → dist-package/src/Picasso}/config/transitions.d.ts +1 -0
- package/dist-package/src/Picasso/config/transitions.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/transitions.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/config/typography.d.ts +1 -0
- package/dist-package/src/Picasso/config/typography.d.ts.map +1 -0
- package/dist-package/src/Picasso/config/typography.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/index.d.ts +2 -0
- package/dist-package/src/Picasso/index.d.ts.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/index.js +1 -0
- package/dist-package/src/Picasso/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/styles.d.ts +1 -0
- package/dist-package/src/Picasso/styles.d.ts.map +1 -0
- package/dist-package/src/Picasso/styles.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/generate-random-string.d.ts +1 -0
- package/dist-package/src/Picasso/utils/generate-random-string.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/generate-random-string.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/get-serverside-stylesheets.d.ts +1 -0
- package/dist-package/src/Picasso/utils/get-serverside-stylesheets.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/get-serverside-stylesheets.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/index.d.ts +1 -0
- package/dist-package/src/Picasso/utils/index.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-jss-variable-class-names.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-media-queries.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-media-queries.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-media-queries.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-variable-values-jss.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-variable-values-jss.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/create-variable-values-jss.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/default-css-prop.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/default-css-prop.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/default-css-prop.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/generate-variable-inline-styles.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/get-breakpoint-class-names-to-use.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.js.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/index.d.ts +2 -0
- package/dist-package/src/Picasso/utils/responsive-styles/index.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/index.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/make-responsive-spacing-props.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/media-queries-classes.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/media-queries-classes.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/media-queries-classes.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-class-name.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/to-class-name.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/to-class-name.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-css-variable-name.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/to-css-variable-name.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/to-css-variable-name.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/types.d.ts +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/types.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/responsive-styles/types.js.map +1 -0
- package/{Picasso → dist-package/src/Picasso}/utils/spacings.d.ts +1 -0
- package/dist-package/src/Picasso/utils/spacings.d.ts.map +1 -0
- package/dist-package/src/Picasso/utils/spacings.js.map +1 -0
- package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/PreventPageWidthChangeOnScrollbar.d.ts +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.d.ts.map +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.js.map +1 -0
- package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/index.d.ts +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/index.d.ts.map +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/index.js.map +1 -0
- package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/styles.d.ts +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/styles.d.ts.map +1 -0
- package/dist-package/src/PreventPageWidthChangeOnScrollbar/styles.js.map +1 -0
- package/dist-package/src/hooks/index.d.ts +2 -0
- package/dist-package/src/hooks/index.d.ts.map +1 -0
- package/dist-package/src/hooks/index.js.map +1 -0
- package/{hooks → dist-package/src/hooks}/use-isomorphic-layout-effect.d.ts +1 -0
- package/dist-package/src/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist-package/src/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/{index.d.ts → dist-package/src/index.d.ts} +3 -0
- package/dist-package/src/index.d.ts.map +1 -0
- package/{index.js → dist-package/src/index.js} +2 -0
- package/dist-package/src/index.js.map +1 -0
- package/{types.d.ts → dist-package/src/types.d.ts} +1 -0
- package/dist-package/src/types.d.ts.map +1 -0
- package/dist-package/src/types.js.map +1 -0
- package/{utils → dist-package/src/utils}/index.d.ts +2 -0
- package/dist-package/src/utils/index.d.ts.map +1 -0
- package/{utils → dist-package/src/utils}/index.js +1 -0
- package/dist-package/src/utils/index.js.map +1 -0
- package/{utils → dist-package/src/utils}/is-browser.d.ts +1 -0
- package/dist-package/src/utils/is-browser.d.ts.map +1 -0
- package/dist-package/src/utils/is-browser.js.map +1 -0
- package/{utils → dist-package/src/utils}/kebab-to-camel-case.d.ts +1 -0
- package/dist-package/src/utils/kebab-to-camel-case.d.ts.map +1 -0
- package/dist-package/src/utils/kebab-to-camel-case.js.map +1 -0
- package/{utils → dist-package/src/utils}/snake-to-camel-case.d.ts +1 -0
- package/dist-package/src/utils/snake-to-camel-case.d.ts.map +1 -0
- package/dist-package/src/utils/snake-to-camel-case.js.map +1 -0
- package/dist-package/src/utils/use-safe-state.d.ts +4 -0
- package/dist-package/src/utils/use-safe-state.d.ts.map +1 -0
- package/dist-package/src/utils/use-safe-state.js +19 -0
- package/dist-package/src/utils/use-safe-state.js.map +1 -0
- package/package.json +19 -10
- package/src/CssBaseline/CssBaseline.tsx +18 -0
- package/src/CssBaseline/index.ts +1 -0
- package/src/CssBaseline/styles.ts +32 -0
- package/src/Favicon/Favicon.tsx +73 -0
- package/src/Favicon/__snapshots__/test.tsx.snap +51 -0
- package/src/Favicon/icons/development/development-16x16.png +0 -0
- package/src/Favicon/icons/development/development-180x180.png +0 -0
- package/src/Favicon/icons/development/development-32x32.png +0 -0
- package/src/Favicon/icons/development/index.ts +11 -0
- package/src/Favicon/icons/index.ts +20 -0
- package/src/Favicon/icons/production/index.ts +11 -0
- package/src/Favicon/icons/production/production-16x16.png +0 -0
- package/src/Favicon/icons/production/production-180x180.png +0 -0
- package/src/Favicon/icons/production/production-32x32.png +0 -0
- package/src/Favicon/icons/staging/index.ts +11 -0
- package/src/Favicon/icons/staging/staging-16x16.png +0 -0
- package/src/Favicon/icons/staging/staging-180x180.png +0 -0
- package/src/Favicon/icons/staging/staging-32x32.png +0 -0
- package/src/Favicon/icons/temploy/index.ts +11 -0
- package/src/Favicon/icons/temploy/temploy-16x16.png +0 -0
- package/src/Favicon/icons/temploy/temploy-180x180.png +0 -0
- package/src/Favicon/icons/temploy/temploy-32x32.png +0 -0
- package/src/Favicon/index.ts +2 -0
- package/src/Favicon/test.tsx +33 -0
- package/src/Picasso/FixViewport.tsx +42 -0
- package/src/Picasso/FontsLoader.tsx +72 -0
- package/src/Picasso/HelmetProvider/HelmetProvider.tsx +20 -0
- package/src/Picasso/HelmetProvider/index.ts +1 -0
- package/src/Picasso/NotificationsProvider/NotificationsProvider.tsx +50 -0
- package/{Picasso/NotificationsProvider/index.d.ts → src/Picasso/NotificationsProvider/index.ts} +1 -1
- package/src/Picasso/NotificationsProvider/styles.ts +24 -0
- package/src/Picasso/NotificationsProvider/test.tsx +55 -0
- package/src/Picasso/Picasso.tsx +142 -0
- package/src/Picasso/PicassoGlobalStylesProvider.tsx +94 -0
- package/src/Picasso/PicassoLight/PicassoLight.tsx +82 -0
- package/src/Picasso/PicassoLight/index.tsx +1 -0
- package/src/Picasso/PicassoProvider.tsx +80 -0
- package/src/Picasso/PicassoRootNode.tsx +31 -0
- package/src/Picasso/RootContext.ts +92 -0
- package/src/Picasso/config/breakpoints.ts +194 -0
- package/src/Picasso/config/index.ts +28 -0
- package/src/Picasso/config/layout.ts +16 -0
- package/src/Picasso/config/palette.ts +110 -0
- package/src/Picasso/config/shadows.ts +73 -0
- package/src/Picasso/config/sizes.ts +27 -0
- package/src/Picasso/config/spacings.ts +102 -0
- package/src/Picasso/config/test.ts +211 -0
- package/src/Picasso/config/theme.ts +21 -0
- package/src/Picasso/config/transitions.ts +5 -0
- package/src/Picasso/config/typography.ts +62 -0
- package/src/Picasso/index.ts +9 -0
- package/src/Picasso/story/BarePicassoLight.example.tsx +33 -0
- package/src/Picasso/story/Default.example.tsx +38 -0
- package/src/Picasso/story/DisableClassNamePrefix.example.tsx +36 -0
- package/src/Picasso/story/DisableResponsiveUI.example.tsx +96 -0
- package/src/Picasso/story/LightWithFixViewportAndFontsLoader.example.tsx +40 -0
- package/src/Picasso/story/LightWithNotificationsAndFavicon.example.tsx +57 -0
- package/src/Picasso/story/index.jsx +84 -0
- package/src/Picasso/styles.tsx +19 -0
- package/src/Picasso/utils/generate-random-string.ts +12 -0
- package/src/Picasso/utils/get-serverside-stylesheets.ts +17 -0
- package/src/Picasso/utils/index.ts +4 -0
- package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.ts +17 -0
- package/src/Picasso/utils/responsive-styles/create-jss-variable-class-names.ts +30 -0
- package/src/Picasso/utils/responsive-styles/create-media-queries.test.ts +32 -0
- package/src/Picasso/utils/responsive-styles/create-media-queries.ts +32 -0
- package/src/Picasso/utils/responsive-styles/create-variable-values-jss.test.ts +24 -0
- package/src/Picasso/utils/responsive-styles/create-variable-values-jss.ts +21 -0
- package/src/Picasso/utils/responsive-styles/default-css-prop.test.ts +15 -0
- package/src/Picasso/utils/responsive-styles/default-css-prop.ts +15 -0
- package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.ts +20 -0
- package/src/Picasso/utils/responsive-styles/generate-variable-inline-styles.ts +26 -0
- package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.ts +20 -0
- package/src/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.ts +28 -0
- package/{Picasso/utils/responsive-styles/index.d.ts → src/Picasso/utils/responsive-styles/index.ts} +1 -1
- package/src/Picasso/utils/responsive-styles/make-responsive-spacing-props.ts +34 -0
- package/src/Picasso/utils/responsive-styles/media-queries-classes.test.ts +32 -0
- package/src/Picasso/utils/responsive-styles/media-queries-classes.ts +28 -0
- package/src/Picasso/utils/responsive-styles/to-class-name.test.ts +13 -0
- package/src/Picasso/utils/responsive-styles/to-class-name.ts +9 -0
- package/src/Picasso/utils/responsive-styles/to-css-variable-name.test.ts +13 -0
- package/src/Picasso/utils/responsive-styles/to-css-variable-name.ts +9 -0
- package/src/Picasso/utils/responsive-styles/types.ts +7 -0
- package/src/Picasso/utils/spacings.test.ts +47 -0
- package/src/Picasso/utils/spacings.ts +14 -0
- package/src/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.tsx +20 -0
- package/src/PreventPageWidthChangeOnScrollbar/index.ts +1 -0
- package/src/PreventPageWidthChangeOnScrollbar/styles.ts +17 -0
- package/{hooks/index.d.ts → src/hooks/index.ts} +1 -1
- package/src/hooks/use-isomorphic-layout-effect.ts +8 -0
- package/src/index.ts +59 -0
- package/src/types.ts +12 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/is-browser.ts +3 -0
- package/src/utils/kebab-to-camel-case.test.ts +7 -0
- package/src/utils/kebab-to-camel-case.ts +4 -0
- package/src/utils/snake-to-camel-case.test.ts +41 -0
- package/src/utils/snake-to-camel-case.ts +16 -0
- package/src/utils/use-safe-state.ts +25 -0
- package/CssBaseline/CssBaseline.js.map +0 -1
- package/CssBaseline/index.js.map +0 -1
- package/CssBaseline/styles.js.map +0 -1
- package/Favicon/Favicon.js.map +0 -1
- package/Favicon/icons/development/index.js.map +0 -1
- package/Favicon/icons/index.js +0 -14
- package/Favicon/icons/index.js.map +0 -1
- package/Favicon/icons/production/index.js.map +0 -1
- package/Favicon/icons/staging/index.js.map +0 -1
- package/Favicon/icons/temploy/index.js.map +0 -1
- package/Favicon/index.js.map +0 -1
- package/LICENSE +0 -20
- package/Picasso/FixViewport.js.map +0 -1
- package/Picasso/FontsLoader.js.map +0 -1
- package/Picasso/HelmetProvider/HelmetProvider.js.map +0 -1
- package/Picasso/HelmetProvider/index.js.map +0 -1
- package/Picasso/NotificationsProvider/NotificationsProvider.js.map +0 -1
- package/Picasso/NotificationsProvider/index.js.map +0 -1
- package/Picasso/NotificationsProvider/styles.js.map +0 -1
- package/Picasso/Picasso.js.map +0 -1
- package/Picasso/PicassoGlobalStylesProvider.js.map +0 -1
- package/Picasso/PicassoLight/PicassoLight.js.map +0 -1
- package/Picasso/PicassoLight/index.js.map +0 -1
- package/Picasso/PicassoProvider.js.map +0 -1
- package/Picasso/PicassoRootNode.js.map +0 -1
- package/Picasso/RootContext.js.map +0 -1
- package/Picasso/config/breakpoints.js.map +0 -1
- package/Picasso/config/index.js.map +0 -1
- package/Picasso/config/layout.js.map +0 -1
- package/Picasso/config/palette.js.map +0 -1
- package/Picasso/config/shadows.d.ts +0 -3
- package/Picasso/config/shadows.js +0 -19
- package/Picasso/config/shadows.js.map +0 -1
- package/Picasso/config/sizes.js.map +0 -1
- package/Picasso/config/spacings.js.map +0 -1
- package/Picasso/config/transitions.js.map +0 -1
- package/Picasso/config/typography.js.map +0 -1
- package/Picasso/index.js.map +0 -1
- package/Picasso/styles.js.map +0 -1
- package/Picasso/utils/generate-random-string.js.map +0 -1
- package/Picasso/utils/get-serverside-stylesheets.js.map +0 -1
- package/Picasso/utils/index.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-jss-variable-class-names.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.js +0 -14
- package/Picasso/utils/responsive-styles/create-jss-variable-class-names.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-media-queries.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-media-queries.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/create-media-queries.test.js +0 -27
- package/Picasso/utils/responsive-styles/create-media-queries.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-variable-values-jss.js.map +0 -1
- package/Picasso/utils/responsive-styles/create-variable-values-jss.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/create-variable-values-jss.test.js +0 -20
- package/Picasso/utils/responsive-styles/create-variable-values-jss.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/default-css-prop.js.map +0 -1
- package/Picasso/utils/responsive-styles/default-css-prop.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/default-css-prop.test.js +0 -13
- package/Picasso/utils/responsive-styles/default-css-prop.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/generate-variable-inline-styles.js.map +0 -1
- package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.js +0 -18
- package/Picasso/utils/responsive-styles/generate-variable-inline-styles.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.js.map +0 -1
- package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.js +0 -18
- package/Picasso/utils/responsive-styles/get-breakpoint-class-names-to-use.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/index.js.map +0 -1
- package/Picasso/utils/responsive-styles/make-responsive-spacing-props.js.map +0 -1
- package/Picasso/utils/responsive-styles/media-queries-classes.js.map +0 -1
- package/Picasso/utils/responsive-styles/media-queries-classes.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/media-queries-classes.test.js +0 -27
- package/Picasso/utils/responsive-styles/media-queries-classes.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/to-class-name.js.map +0 -1
- package/Picasso/utils/responsive-styles/to-class-name.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/to-class-name.test.js +0 -11
- package/Picasso/utils/responsive-styles/to-class-name.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/to-css-variable-name.js.map +0 -1
- package/Picasso/utils/responsive-styles/to-css-variable-name.test.d.ts +0 -1
- package/Picasso/utils/responsive-styles/to-css-variable-name.test.js +0 -11
- package/Picasso/utils/responsive-styles/to-css-variable-name.test.js.map +0 -1
- package/Picasso/utils/responsive-styles/types.js.map +0 -1
- package/Picasso/utils/spacings.js.map +0 -1
- package/Picasso/utils/spacings.test.d.ts +0 -1
- package/Picasso/utils/spacings.test.js +0 -35
- package/Picasso/utils/spacings.test.js.map +0 -1
- package/PreventPageWidthChangeOnScrollbar/PreventPageWidthChangeOnScrollbar.js.map +0 -1
- package/PreventPageWidthChangeOnScrollbar/index.js.map +0 -1
- package/PreventPageWidthChangeOnScrollbar/styles.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/hooks/use-isomorphic-layout-effect.js.map +0 -1
- package/index.js.map +0 -1
- package/types.js.map +0 -1
- package/utils/index.js.map +0 -1
- package/utils/is-browser.js.map +0 -1
- package/utils/kebab-to-camel-case.js.map +0 -1
- package/utils/kebab-to-camel-case.test.d.ts +0 -1
- package/utils/kebab-to-camel-case.test.js +0 -7
- package/utils/kebab-to-camel-case.test.js.map +0 -1
- package/utils/snake-to-camel-case.js.map +0 -1
- package/utils/snake-to-camel-case.test.d.ts +0 -1
- package/utils/snake-to-camel-case.test.js +0 -30
- package/utils/snake-to-camel-case.test.js.map +0 -1
- /package/{CssBaseline → dist-package/src/CssBaseline}/CssBaseline.js +0 -0
- /package/{CssBaseline → dist-package/src/CssBaseline}/index.js +0 -0
- /package/{CssBaseline → dist-package/src/CssBaseline}/styles.js +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/development/development-16x16.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/development/development-180x180.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/development/development-32x32.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/development/index.js +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/production/index.js +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/production/production-16x16.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/production/production-180x180.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/production/production-32x32.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/staging/index.js +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-16x16.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-180x180.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/staging/staging-32x32.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/temploy/index.js +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-16x16.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-180x180.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/icons/temploy/temploy-32x32.png +0 -0
- /package/{Favicon → dist-package/src/Favicon}/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/FontsLoader.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/HelmetProvider/HelmetProvider.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/HelmetProvider/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/NotificationsProvider.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/NotificationsProvider/styles.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/Picasso.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/PicassoGlobalStylesProvider.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/PicassoLight/PicassoLight.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/PicassoLight/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/PicassoRootNode.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/RootContext.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/breakpoints.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/layout.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/palette.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/sizes.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/spacings.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/theme.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/transitions.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/config/typography.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/styles.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/generate-random-string.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/get-serverside-stylesheets.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-jss-variable-class-names.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-media-queries.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/create-variable-values-jss.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/default-css-prop.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/generate-variable-inline-styles.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/get-breakpoint-class-names-to-use.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/index.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/make-responsive-spacing-props.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/media-queries-classes.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-class-name.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/to-css-variable-name.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/responsive-styles/types.js +0 -0
- /package/{Picasso → dist-package/src/Picasso}/utils/spacings.js +0 -0
- /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/PreventPageWidthChangeOnScrollbar.js +0 -0
- /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/index.js +0 -0
- /package/{PreventPageWidthChangeOnScrollbar → dist-package/src/PreventPageWidthChangeOnScrollbar}/styles.js +0 -0
- /package/{hooks → dist-package/src/hooks}/index.js +0 -0
- /package/{hooks → dist-package/src/hooks}/use-isomorphic-layout-effect.js +0 -0
- /package/{types.js → dist-package/src/types.js} +0 -0
- /package/{utils → dist-package/src/utils}/is-browser.js +0 -0
- /package/{utils → dist-package/src/utils}/kebab-to-camel-case.js +0 -0
- /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>
|