forked from bernaferrari/FigmaToCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhtmlPadding.ts
More file actions
50 lines (44 loc) · 1.39 KB
/
Copy pathhtmlPadding.ts
File metadata and controls
50 lines (44 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { formatWithJSX } from "./../../common/parseJSX";
import { numToAutoFixed } from "../../common/numToAutoFixed";
import { AltFrameMixin, AltDefaultShapeMixin } from "../../altNodes/altMixins";
import { commonPadding } from "../../common/commonPadding";
/**
* https://tailwindcss.com/docs/margin/
* example: px-2 py-8
*/
export const htmlPadding = (
node: AltFrameMixin | AltDefaultShapeMixin,
isJsx: boolean
): string => {
const padding = commonPadding(node);
if (padding === null) {
return "";
}
if ("all" in padding) {
return formatWithJSX("padding", isJsx, padding.all);
}
let comp = "";
// horizontal and vertical, as the default AutoLayout
if (padding.horizontal) {
comp += formatWithJSX("padding-left", isJsx, padding.horizontal);
comp += formatWithJSX("padding-right", isJsx, padding.horizontal);
}
if (padding.vertical) {
comp += formatWithJSX("padding-top", isJsx, padding.vertical);
comp += formatWithJSX("padding-bottom", isJsx, padding.vertical);
}
if (padding.top) {
comp += formatWithJSX("padding-top", isJsx, padding.top);
}
if (padding.bottom) {
comp += formatWithJSX("padding-bottom", isJsx, padding.bottom);
}
if (padding.left) {
comp += formatWithJSX("padding-left", isJsx, padding.left);
}
if (padding.right) {
comp += formatWithJSX("padding-right", isJsx, padding.right);
}
// todo use REM
return comp;
};