{"version":3,"file":"style.mjs","sources":["../../../../src/dom/style.ts"],"sourcesContent":["import { isArray, isNumber, isString } from \"lodash-unified\";\nimport { consoleWarn } from \"../console\";\n\nconst isStringNumber = (val: string): boolean => {\n\tif (!isString(val)) {\n\t\treturn false;\n\t}\n\treturn !Number.isNaN(Number(val));\n};\n\n/**\n * 添加单位\n * @param value 字符串或数字类型\n * @param defaultUnit 单位\n */\nexport const addUnit = (value?: string | number, defaultUnit = \"px\"): string => {\n\tif (!value) return \"\";\n\tif (isNumber(value) || isStringNumber(value)) {\n\t\treturn `${value}${defaultUnit}`;\n\t} else if (isString(value)) {\n\t\treturn value;\n\t}\n\tconsoleWarn(\"document\", \"binding value must be a string or number\");\n};\n\n/**\n * 将样式对象转换为内联 style 字符串（kebab-case 格式）\n * @param style 样式对象（CSSStyleDeclaration）\n * @returns 返回符合 HTML 内联格式的样式字符串，例如 \"font-size: 14px; color: red;\"\n */\nexport const styleToString = (styles: Partial<CSSStyleDeclaration> | Partial<CSSStyleDeclaration>[] | string): string => {\n\tif (!styles) return \"\";\n\tif (isArray(styles)) {\n\t\treturn styles\n\t\t\t.filter((item) => item && item?.length > 0)\n\t\t\t.map((item) => styleToString(item))\n\t\t\t.join(\" \");\n\t} else if (isString(styles)) {\n\t\treturn styles.trimEnd().endsWith(\";\") ? styles.trimEnd() : `${styles.trimEnd()};`;\n\t} else {\n\t\treturn Object.entries(styles)\n\t\t\t.filter(([_, value]) => value !== null && value !== \"\")\n\t\t\t.map(([key, value]) => {\n\t\t\t\tconst keyName = key.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n\t\t\t\treturn `${keyName}:${value};`;\n\t\t\t})\n\t\t\t.join(\" \");\n\t}\n};\n"],"names":[],"mappings":";;AAGA,MAAM,iBAAiB,CAAC,QAAyB;AAC5C,MAAA,CAAC,SAAS,GAAG,GAAG;AACZ,WAAA;AAAA,EAAA;AAER,SAAO,CAAC,OAAO,MAAM,OAAO,GAAG,CAAC;AACjC;AAOO,MAAM,UAAU,CAAC,OAAyB,cAAc,SAAiB;AAC3E,MAAA,CAAC,MAAc,QAAA;AACnB,MAAI,SAAS,KAAK,KAAK,eAAe,KAAK,GAAG;AACtC,WAAA,GAAG,KAAK,GAAG,WAAW;AAAA,EAAA,WACnB,SAAS,KAAK,GAAG;AACpB,WAAA;AAAA,EAAA;AAER,cAAY,YAAY,0CAA0C;AACnE;AAOa,MAAA,gBAAgB,CAAC,WAA2F;AACpH,MAAA,CAAC,OAAe,QAAA;AAChB,MAAA,QAAQ,MAAM,GAAG;AACpB,WAAO,OACL,OAAO,CAAC,SAAS,SAAQ,6BAAM,UAAS,CAAC,EACzC,IAAI,CAAC,SAAS,cAAc,IAAI,CAAC,EACjC,KAAK,GAAG;AAAA,EAAA,WACA,SAAS,MAAM,GAAG;AAC5B,WAAO,OAAO,QAAA,EAAU,SAAS,GAAG,IAAI,OAAO,QAAA,IAAY,GAAG,OAAO,QAAA,CAAS;AAAA,EAAA,OACxE;AACC,WAAA,OAAO,QAAQ,MAAM,EAC1B,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,QAAQ,UAAU,EAAE,EACrD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACtB,YAAM,UAAU,IAAI,QAAQ,YAAY,KAAK,EAAE,YAAY;AACpD,aAAA,GAAG,OAAO,IAAI,KAAK;AAAA,IAAA,CAC1B,EACA,KAAK,GAAG;AAAA,EAAA;AAEZ;"}