UNPKG

@c8y/style

Version:

Styles for Cumulocity IoT applications

57 lines (42 loc) 1.89 kB
# Files Requiring Manual SCSS/LESS Synchronization This document lists files that cannot be automatically converted from SCSS to LESS due to complex syntax patterns. ## Files List ### `styles/core/buttons/_buttons.scss` / `_buttons.less` **Reason**: Complex mixin calls with multiple parameters including CSS functions **Issues**: - `.button-size()` mixin calls have 6 parameters - Contains `calc()` expressions as parameters - Converter cannot reliably distinguish between: - Parameter separator commas (need → semicolons for LESS) - calc() function commas (must remain commas) - Selector grouping commas (must remain commas) **Manual sync required for**: - Lines ~60: `.button-size(@btn-padding-vertical; calc(@btn-padding-horizontal * 2); ...)` - Lines ~794-797: `.btn-lg { .button-size(...) }` - Lines ~800-802: `.btn-sm { .button-size(...) }` - Lines ~805-807: `.btn-xs { .button-size(...) }` **Correct LESS syntax**: ```less .button-size(@param1; @param2; @param3; @param4; @param5; @param6); ``` **Common mistakes**: ```less // WRONG - mixed separators .button-size(@param1, @param2; @param3, @param4; @param5; @param6); // WRONG - all commas .button-size(@param1, @param2, @param3, @param4, @param5, @param6); ``` ## How to Maintain These Files 1. **Edit SCSS first**: Make changes to the `.scss` version 2. **Manually sync to LESS**: Copy changes to `.less` version, converting: - `$variable``@variable` - `@include mixin()``.mixin()` - `@mixin name()``.name()` - Mixin params: commas → semicolons - Keep calc/var/rgba commas as-is 3. **Test compilation**: Run `npm test --workspace=@c8y/style` to verify both compile ## Future Improvements To make these files auto-convertible: 1. Simplify mixin calls - put all parameters on one line 2. Extract calc() to variables before passing to mixins 3. Reduce number of mixin parameters