@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 3.02 kB
Source Map (JSON)
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/base-ui/ActionIcon/utils.ts"],"sourcesContent":["import { isNumber } from 'es-toolkit/compat';\n\nimport type { ActionIconSize } from './type';\n\nexport const actionIconOutdent = {\n large: 10,\n middle: 8,\n small: 5,\n} as const;\n\nconst toCss = (value: number | string) => (isNumber(value) ? `${value}px` : value);\n\nexport const calcSize = (iconSize?: ActionIconSize) => {\n let blockSize: number | string;\n let borderRadius: number | string;\n\n if (isNumber(iconSize)) {\n const blockSize = iconSize * 1.8;\n return {\n blockSize,\n borderRadius: Math.floor(blockSize / 6),\n };\n }\n\n switch (iconSize) {\n case 'large': {\n blockSize = 44;\n borderRadius = 8;\n break;\n }\n case 'middle': {\n blockSize = 36;\n borderRadius = 6;\n break;\n }\n case 'small': {\n blockSize = 24;\n borderRadius = 4;\n break;\n }\n default: {\n if (iconSize) {\n blockSize = iconSize?.blockSize || 36;\n borderRadius = iconSize?.borderRadius || 6;\n } else {\n blockSize = '1.8em';\n borderRadius = '0.3em';\n }\n\n break;\n }\n }\n\n return {\n blockSize,\n borderRadius,\n };\n};\n\nexport const calcOutdent = (iconSize?: ActionIconSize) => {\n if (isNumber(iconSize)) {\n return `${iconSize * 0.4}px`;\n }\n\n switch (iconSize) {\n case 'large': {\n return `${actionIconOutdent.large}px`;\n }\n case 'middle': {\n return `${actionIconOutdent.middle}px`;\n }\n case 'small': {\n return `${actionIconOutdent.small}px`;\n }\n default: {\n if (iconSize) {\n const { blockSize } = calcSize(iconSize);\n const glyph = iconSize.size ?? 24;\n if (isNumber(blockSize) && isNumber(glyph)) {\n return `${Math.max(0, (blockSize - glyph) / 2)}px`;\n }\n return `calc((${toCss(blockSize)} - ${toCss(glyph)}) / 2)`;\n }\n return '0.4em';\n }\n }\n};\n"],"mappings":";;AAIA,MAAa,oBAAoB;CAC/B,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AAEA,MAAM,SAAS,UAA4B,SAAS,KAAK,IAAI,GAAG,MAAM,MAAM;AAE5E,MAAa,YAAY,aAA8B;CACrD,IAAI;CACJ,IAAI;CAEJ,IAAI,SAAS,QAAQ,GAAG;EACtB,MAAM,YAAY,WAAW;EAC7B,OAAO;GACL;GACA,cAAc,KAAK,MAAM,YAAY,CAAC;EACxC;CACF;CAEA,QAAQ,UAAR;EACE,KAAK;GACH,YAAY;GACZ,eAAe;GACf;EAEF,KAAK;GACH,YAAY;GACZ,eAAe;GACf;EAEF,KAAK;GACH,YAAY;GACZ,eAAe;GACf;EAEF,SACE,IAAI,UAAU;GACZ,YAAY,UAAU,aAAa;GACnC,eAAe,UAAU,gBAAgB;EAC3C,OAAO;GACL,YAAY;GACZ,eAAe;EACjB;CAIJ;CAEA,OAAO;EACL;EACA;CACF;AACF;AAEA,MAAa,eAAe,aAA8B;CACxD,IAAI,SAAS,QAAQ,GACnB,OAAO,GAAG,WAAW,GAAI;CAG3B,QAAQ,UAAR;EACE,KAAK,SACH,OAAO,GAAG,kBAAkB,MAAM;EAEpC,KAAK,UACH,OAAO,GAAG,kBAAkB,OAAO;EAErC,KAAK,SACH,OAAO,GAAG,kBAAkB,MAAM;EAEpC;GACE,IAAI,UAAU;IACZ,MAAM,EAAE,cAAc,SAAS,QAAQ;IACvC,MAAM,QAAQ,SAAS,QAAQ;IAC/B,IAAI,SAAS,SAAS,KAAK,SAAS,KAAK,GACvC,OAAO,GAAG,KAAK,IAAI,IAAI,YAAY,SAAS,CAAC,EAAE;IAEjD,OAAO,SAAS,MAAM,SAAS,EAAE,KAAK,MAAM,KAAK,EAAE;GACrD;GACA,OAAO;CAEX;AACF"}