UNPKG

style-dictionary

Version:

Style once, use everywhere. A build system for creating cross-platform styles.

359 lines (349 loc) 12.5 kB
import { transformGroups, transforms } from '../enums/index.js'; const { attributeCti, attributeColor, nameHuman, nameCamel, nameKebab, nameSnake, namePascal, colorHex, colorHex8android, colorComposeColor, colorUIColor, colorUIColorSwift, colorCss, sizeObject, sizeRemToSp, sizeRemToDp, sizePx, sizeRem, sizeRemToFloat, sizeComposeRemToSp, sizeComposeRemToDp, sizeComposeEm, sizeSwiftRemToCGFloat, htmlIcon, contentObjCLiteral, contentSwiftLiteral, timeSeconds, fontFamilyCss, cubicBezierCss, strokeStyleCssShorthand, borderCssShorthand, typographyCssShorthand, transitionCssShorthand, shadowCssShorthand, assetUrl, assetObjCLiteral, assetSwiftLiteral, colorHex8flutter, contentFlutterLiteral, assetFlutterLiteral, sizeFlutterRemToDouble, } = transforms; /** * @namespace TransformGroups */ /** * @type {Record<string, string[]>} */ export default { /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/kebab](/reference/hooks/transforms/predefined#namectikebab) * [size/px](/reference/hooks/transforms/predefined#sizepx) * [color/css](/reference/hooks/transforms/predefined#colorcss) * * @memberof TransformGroups */ [transformGroups.web]: [attributeCti, nameKebab, sizePx, colorCss], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/pascal](/reference/hooks/transforms/predefined#namectipascal) * [size/rem](/reference/hooks/transforms/predefined#sizerem) * [color/hex](/reference/hooks/transforms/predefined#colorhex) * * @memberof TransformGroups */ [transformGroups.js]: [attributeCti, namePascal, sizeRem, colorHex], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/kebab](/reference/hooks/transforms/predefined#namectikebab) * [time/seconds](/reference/hooks/transforms/predefined#timeseconds) * [html/icon](/reference/hooks/transforms/predefined#htmlicon) * [size/rem](/reference/hooks/transforms/predefined#sizerem) * [color/css](/reference/hooks/transforms/predefined#colorcss) * [asset/url](/reference/hooks/transforms/predefined#asset/url) * [fontFamily/css](/reference/hooks/transforms/predefined#fontfamilycss) * [cubicBezier/css](/reference/hooks/transforms/predefined#cubicbezier) * [strokeStyle/css/shorthand](/reference/hooks/transforms/predefined#strokestylecssshorthand) * [border/css/shorthand](/reference/hooks/transforms/predefined#bordercssshorthand) * [typography/css/shorthand](/reference/hooks/transforms/predefined#typographycssshorthand) * [transition/css/shorthand](/reference/hooks/transforms/predefined#transitioncssshorthand) * [shadow/css/shorthand](/reference/hooks/transforms/predefined#shadowcssshorthand) * * @memberof TransformGroups */ [transformGroups.scss]: [ attributeCti, nameKebab, timeSeconds, htmlIcon, sizeRem, colorCss, assetUrl, fontFamilyCss, cubicBezierCss, // object-value tokens strokeStyleCssShorthand, borderCssShorthand, typographyCssShorthand, transitionCssShorthand, shadowCssShorthand, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/kebab](/reference/hooks/transforms/predefined#namectikebab) * [time/seconds](/reference/hooks/transforms/predefined#timeseconds) * [html/icon](/reference/hooks/transforms/predefined#htmlicon) * [size/rem](/reference/hooks/transforms/predefined#sizerem) * [color/css](/reference/hooks/transforms/predefined#colorcss) * [asset/url](/reference/hooks/transforms/predefined#asset/url) * [fontFamily/css](/reference/hooks/transforms/predefined#fontfamilycss) * [cubicBezier/css](/reference/hooks/transforms/predefined#cubicbezier) * [strokeStyle/css/shorthand](/reference/hooks/transforms/predefined#strokestylecssshorthand) * [border/css/shorthand](/reference/hooks/transforms/predefined#bordercssshorthand) * [typography/css/shorthand](/reference/hooks/transforms/predefined#typographycssshorthand) * [transition/css/shorthand](/reference/hooks/transforms/predefined#transitioncssshorthand) * [shadow/css/shorthand](/reference/hooks/transforms/predefined#shadowcssshorthand) * * @memberof TransformGroups */ [transformGroups.css]: [ attributeCti, nameKebab, timeSeconds, htmlIcon, sizeRem, colorCss, assetUrl, fontFamilyCss, cubicBezierCss, // object-value tokens strokeStyleCssShorthand, borderCssShorthand, typographyCssShorthand, transitionCssShorthand, shadowCssShorthand, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/kebab](/reference/hooks/transforms/predefined#namectikebab) * [time/seconds](/reference/hooks/transforms/predefined#timeseconds) * [html/icon](/reference/hooks/transforms/predefined#htmlicon) * [size/rem](/reference/hooks/transforms/predefined#sizerem) * [color/hex](/reference/hooks/transforms/predefined#colorhex) * [asset/url](/reference/hooks/transforms/predefined#asset/url) * [fontFamily/css](/reference/hooks/transforms/predefined#fontfamilycss) * [cubicBezier/css](/reference/hooks/transforms/predefined#cubicbezier) * [strokeStyle/css/shorthand](/reference/hooks/transforms/predefined#strokestylecssshorthand) * [border/css/shorthand](/reference/hooks/transforms/predefined#bordercssshorthand) * [typography/css/shorthand](/reference/hooks/transforms/predefined#typographycssshorthand) * [transition/css/shorthand](/reference/hooks/transforms/predefined#transitioncssshorthand) * [shadow/css/shorthand](/reference/hooks/transforms/predefined#shadowcssshorthand) * * @memberof TransformGroups */ [transformGroups.less]: [ attributeCti, nameKebab, timeSeconds, htmlIcon, sizeRem, colorHex, assetUrl, fontFamilyCss, cubicBezierCss, // object-value tokens strokeStyleCssShorthand, borderCssShorthand, typographyCssShorthand, transitionCssShorthand, shadowCssShorthand, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [attribute/color](/reference/hooks/transforms/predefined#attributecolor) * [name/human](/reference/hooks/transforms/predefined#namehuman) * * @memberof TransformGroups */ [transformGroups.html]: [attributeCti, attributeColor, nameHuman], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/snake](/reference/hooks/transforms/predefined#namectisnake) * [color/hex8android](/reference/hooks/transforms/predefined#colorhex8android) * [size/remToSp](/reference/hooks/transforms/predefined#sizeremtosp) * [size/remToDp](/reference/hooks/transforms/predefined#sizeremtodp) * * @memberof TransformGroups */ [transformGroups.android]: [attributeCti, nameSnake, colorHex8android, sizeRemToSp, sizeRemToDp], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/camel](/reference/hooks/transforms/predefined#namecamel) * [color/composeColor](/reference/hooks/transforms/predefined#colorcomposecolor) * [size/compose/em](/reference/hooks/transforms/predefined#sizecomposeem) * [size/compose/remToSp](/reference/hooks/transforms/predefined#sizecomposeremtosp) * [size/compose/remToDp](/reference/hooks/transforms/predefined#sizecomposeremtodp) * * @memberof TransformGroups */ [transformGroups.compose]: [ attributeCti, nameCamel, colorComposeColor, sizeComposeEm, sizeComposeRemToSp, sizeComposeRemToDp, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/pascal](/reference/hooks/transforms/predefined#namectipascal) * [color/UIColor](/reference/hooks/transforms/predefined#coloruicolor) * [content/objC/literal](/reference/hooks/transforms/predefined#contentobjcliteral) * [asset/objC/literal](/reference/hooks/transforms/predefined#assetobjcliteral) * [size/remToPt](/reference/hooks/transforms/predefined#sizeremtopt) * * @memberof TransformGroups */ [transformGroups.ios]: [ attributeCti, namePascal, colorUIColor, contentObjCLiteral, assetObjCLiteral, sizeRemToFloat, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/camel](/reference/hooks/transforms/predefined#namecamel) * [color/UIColorSwift](/reference/hooks/transforms/predefined#coloruicolorswift) * [content/swift/literal](/reference/hooks/transforms/predefined#contentswiftliteral) * [asset/swift/literal](/reference/hooks/transforms/predefined#assetswiftliteral) * [size/swift/remToCGFloat](/reference/hooks/transforms/predefined#sizeswiftremtocgfloat) * * @memberof TransformGroups */ [transformGroups.iosSwift]: [ attributeCti, nameCamel, colorUIColorSwift, contentSwiftLiteral, assetSwiftLiteral, sizeSwiftRemToCGFloat, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/camel](/reference/hooks/transforms/predefined#namecamel) * [color/UIColorSwift](/reference/hooks/transforms/predefined#coloruicolorswift) * [content/swift/literal](/reference/hooks/transforms/predefined#contentswiftliteral) * [asset/swift/literal](/reference/hooks/transforms/predefined#assetswiftliteral) * [size/swift/remToCGFloat](/reference/hooks/transforms/predefined#sizeswiftremtocgfloat) * * This is to be used if you want to have separate files per category and you don't want the category (e.g., color) as the lead value in the name of the token (e.g., StyleDictionaryColor.baseText instead of StyleDictionary.colorBaseText). * * @memberof TransformGroups */ [transformGroups.iosSwiftSeparate]: [ attributeCti, nameCamel, colorUIColorSwift, contentSwiftLiteral, assetSwiftLiteral, sizeSwiftRemToCGFloat, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * * @memberof TransformGroups */ [transformGroups.assets]: [attributeCti], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/camel](/reference/hooks/transforms/predefined#nameccamel) * [color/hex8flutter](/reference/hooks/transforms/predefined#colorhex8flutter) * [size/flutter/remToDouble](/reference/hooks/transforms/predefined#sizeflutterremtodouble) * [content/flutter/literal](/reference/hooks/transforms/predefined#contentflutterliteral) * [asset/flutter/literal](/reference/hooks/transforms/predefined#assetflutterliteral) * * @memberof TransformGroups */ [transformGroups.flutter]: [ attributeCti, nameCamel, colorHex8flutter, sizeFlutterRemToDouble, contentFlutterLiteral, assetFlutterLiteral, ], /** * Transforms: * * [attribute/cti](/reference/hooks/transforms/predefined#attributecti) * [name/camel](/reference/hooks/transforms/predefined#namecamel) * [color/hex8flutter](/reference/hooks/transforms/predefined#colorhex8flutter) * [size/flutter/remToDouble](/reference/hooks/transforms/predefined#sizeflutterremtodouble) * [content/flutter/literal](/reference/hooks/transforms/predefined#contentflutterliteral) * [asset/flutter/literal](/reference/hooks/transforms/predefined#assetflutterliteral) * * This is to be used if you want to have separate files per category and you don't want the category (e.g., color) as the lead value in the name of the token (e.g., StyleDictionaryColor.baseText instead of StyleDictionary.colorBaseText). * * @memberof TransformGroups */ [transformGroups.flutterSeparate]: [ attributeCti, nameCamel, colorHex8flutter, sizeFlutterRemToDouble, contentFlutterLiteral, assetFlutterLiteral, ], /** * Transforms: * * [name/camel](/reference/hooks/transforms/predefined#namecamel) * [size/object](/reference/hooks/transforms/predefined#sizeobject) * [color/css](/reference/hooks/transforms/predefined#colorcss) * * @memberof TransformGroups */ [transformGroups.reactNative]: [nameCamel, colorCss, sizeObject], };