UNPKG

@carbon/layout

Version:

Layout helpers for digital and software products using the Carbon Design System

188 lines (187 loc) 4.2 kB
//#region src/tokens.ts /** * Copyright IBM Corp. 2018, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const unstable_tokens = [ "spacing01", "spacing02", "spacing03", "spacing04", "spacing05", "spacing06", "spacing07", "spacing08", "spacing09", "spacing10", "spacing11", "spacing12", "spacing13", "fluidSpacing01", "fluidSpacing02", "fluidSpacing03", "fluidSpacing04", "container01", "container02", "container03", "container04", "container05", "sizeXSmall", "sizeSmall", "sizeMedium", "sizeLarge", "sizeXLarge", "size2XLarge", "iconSize01", "iconSize02", "layout01", "layout02", "layout03", "layout04", "layout05", "layout06", "layout07" ]; //#endregion //#region src/index.ts /** * Copyright IBM Corp. 2018, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const baseFontSize = 16; const rem = (px) => { return `${px / 16}rem`; }; const em = (px) => { return `${px / 16}em`; }; const px = (value) => { return `${value}px`; }; const breakpoints = { sm: { width: rem(320), columns: 4, margin: "0" }, md: { width: rem(672), columns: 8, margin: rem(16) }, lg: { width: rem(1056), columns: 16, margin: rem(16) }, xlg: { width: rem(1312), columns: 16, margin: rem(16) }, max: { width: rem(1584), columns: 16, margin: rem(24) } }; const breakpointUp = (name) => { return `@media (min-width: ${breakpoints[name].width})`; }; const breakpointDown = (name) => { return `@media (max-width: ${breakpoints[name].width})`; }; const breakpoint = breakpointUp; const miniUnit = 8; const miniUnits = (count) => { return rem(8 * count); }; const spacing01 = miniUnits(.25); const spacing02 = miniUnits(.5); const spacing03 = miniUnits(1); const spacing04 = miniUnits(1.5); const spacing05 = miniUnits(2); const spacing06 = miniUnits(3); const spacing07 = miniUnits(4); const spacing08 = miniUnits(5); const spacing09 = miniUnits(6); const spacing10 = miniUnits(8); const spacing11 = miniUnits(10); const spacing12 = miniUnits(12); const spacing13 = miniUnits(20); const spacing = [ spacing01, spacing02, spacing03, spacing04, spacing05, spacing06, spacing07, spacing08, spacing09, spacing10, spacing11, spacing12, spacing13 ]; const fluidSpacing01 = 0; const fluidSpacing02 = "2vw"; const fluidSpacing03 = "5vw"; const fluidSpacing04 = "10vw"; const fluidSpacing = [ 0, "2vw", "5vw", fluidSpacing04 ]; const layout01 = miniUnits(2); const layout02 = miniUnits(3); const layout03 = miniUnits(4); const layout04 = miniUnits(6); const layout05 = miniUnits(8); const layout06 = miniUnits(12); const layout07 = miniUnits(20); const layout = [ layout01, layout02, layout03, layout04, layout05, layout06, layout07 ]; const container01 = miniUnits(3); const container02 = miniUnits(4); const container03 = miniUnits(5); const container04 = miniUnits(6); const container05 = miniUnits(8); const container = [ container01, container02, container03, container04, container05 ]; const sizeXSmall = rem(24); const sizeSmall = rem(32); const sizeMedium = rem(40); const sizeLarge = rem(48); const sizeXLarge = rem(64); const size2XLarge = rem(80); const sizes = { XSmall: sizeXSmall, Small: sizeSmall, Medium: sizeMedium, Large: sizeLarge, XLarge: sizeXLarge, "2XLarge": size2XLarge }; const iconSize01 = "1rem"; const iconSize02 = "1.25rem"; const iconSize = [iconSize01, iconSize02]; //#endregion export { baseFontSize, breakpoint, breakpointDown, breakpointUp, breakpoints, container, container01, container02, container03, container04, container05, em, fluidSpacing, fluidSpacing01, fluidSpacing02, fluidSpacing03, fluidSpacing04, iconSize, iconSize01, iconSize02, layout, layout01, layout02, layout03, layout04, layout05, layout06, layout07, miniUnit, miniUnits, px, rem, size2XLarge, sizeLarge, sizeMedium, sizeSmall, sizeXLarge, sizeXSmall, sizes, spacing, spacing01, spacing02, spacing03, spacing04, spacing05, spacing06, spacing07, spacing08, spacing09, spacing10, spacing11, spacing12, spacing13, unstable_tokens };