@hypen-space/web 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2s02mkzs.js +32 -0
- package/dist/chunk-2s02mkzs.js.map +9 -0
- package/dist/src/canvas/accessibility.js +152 -0
- package/dist/src/canvas/accessibility.js.map +10 -0
- package/dist/src/canvas/events.js +198 -0
- package/dist/src/canvas/events.js.map +10 -0
- package/dist/src/canvas/index.js +28 -0
- package/dist/src/canvas/index.js.map +9 -0
- package/dist/src/canvas/input.js +132 -0
- package/dist/src/canvas/input.js.map +10 -0
- package/dist/src/canvas/layout.js +309 -0
- package/dist/src/canvas/layout.js.map +10 -0
- package/dist/src/canvas/paint.js +878 -0
- package/dist/src/canvas/paint.js.map +10 -0
- package/dist/src/canvas/renderer.js +276 -0
- package/dist/src/canvas/renderer.js.map +10 -0
- package/dist/src/canvas/text.js +118 -0
- package/dist/src/canvas/text.js.map +10 -0
- package/dist/src/canvas/types.js +2 -0
- package/dist/src/canvas/types.js.map +9 -0
- package/dist/src/canvas/utils.js +139 -0
- package/dist/src/canvas/utils.js.map +10 -0
- package/dist/src/dom/applicators/advanced-layout.js +111 -0
- package/dist/src/dom/applicators/advanced-layout.js.map +10 -0
- package/dist/src/dom/applicators/background.js +54 -0
- package/dist/src/dom/applicators/background.js.map +10 -0
- package/dist/src/dom/applicators/border.js +33 -0
- package/dist/src/dom/applicators/border.js.map +10 -0
- package/dist/src/dom/applicators/color.js +36 -0
- package/dist/src/dom/applicators/color.js.map +10 -0
- package/dist/src/dom/applicators/display.js +57 -0
- package/dist/src/dom/applicators/display.js.map +10 -0
- package/dist/src/dom/applicators/effects.js +89 -0
- package/dist/src/dom/applicators/effects.js.map +10 -0
- package/dist/src/dom/applicators/events.js +518 -0
- package/dist/src/dom/applicators/events.js.map +10 -0
- package/dist/src/dom/applicators/font.js +39 -0
- package/dist/src/dom/applicators/font.js.map +10 -0
- package/dist/src/dom/applicators/index.js +296 -0
- package/dist/src/dom/applicators/index.js.map +10 -0
- package/dist/src/dom/applicators/layout.js +86 -0
- package/dist/src/dom/applicators/layout.js.map +10 -0
- package/dist/src/dom/applicators/margin.js +32 -0
- package/dist/src/dom/applicators/margin.js.map +10 -0
- package/dist/src/dom/applicators/padding.js +35 -0
- package/dist/src/dom/applicators/padding.js.map +10 -0
- package/dist/src/dom/applicators/size.js +42 -0
- package/dist/src/dom/applicators/size.js.map +10 -0
- package/dist/src/dom/applicators/transform.js +92 -0
- package/dist/src/dom/applicators/transform.js.map +10 -0
- package/dist/src/dom/applicators/transition.js +66 -0
- package/dist/src/dom/applicators/transition.js.map +10 -0
- package/dist/src/dom/applicators/typography.js +87 -0
- package/dist/src/dom/applicators/typography.js.map +10 -0
- package/dist/src/dom/canvas/index.js +50 -0
- package/dist/src/dom/canvas/index.js.map +10 -0
- package/dist/src/dom/components/audio.js +48 -0
- package/dist/src/dom/components/audio.js.map +10 -0
- package/dist/src/dom/components/avatar.js +58 -0
- package/dist/src/dom/components/avatar.js.map +10 -0
- package/dist/src/dom/components/badge.js +55 -0
- package/dist/src/dom/components/badge.js.map +10 -0
- package/dist/src/dom/components/button.js +29 -0
- package/dist/src/dom/components/button.js.map +10 -0
- package/dist/src/dom/components/card.js +33 -0
- package/dist/src/dom/components/card.js.map +10 -0
- package/dist/src/dom/components/center.js +32 -0
- package/dist/src/dom/components/center.js.map +10 -0
- package/dist/src/dom/components/checkbox.js +54 -0
- package/dist/src/dom/components/checkbox.js.map +10 -0
- package/dist/src/dom/components/column.js +31 -0
- package/dist/src/dom/components/column.js.map +10 -0
- package/dist/src/dom/components/container.js +29 -0
- package/dist/src/dom/components/container.js.map +10 -0
- package/dist/src/dom/components/divider.js +45 -0
- package/dist/src/dom/components/divider.js.map +10 -0
- package/dist/src/dom/components/grid.js +44 -0
- package/dist/src/dom/components/grid.js.map +10 -0
- package/dist/src/dom/components/heading.js +47 -0
- package/dist/src/dom/components/heading.js.map +10 -0
- package/dist/src/dom/components/image.js +39 -0
- package/dist/src/dom/components/image.js.map +10 -0
- package/dist/src/dom/components/index.js +217 -0
- package/dist/src/dom/components/index.js.map +10 -0
- package/dist/src/dom/components/input.js +41 -0
- package/dist/src/dom/components/input.js.map +10 -0
- package/dist/src/dom/components/link.js +42 -0
- package/dist/src/dom/components/link.js.map +10 -0
- package/dist/src/dom/components/list.js +42 -0
- package/dist/src/dom/components/list.js.map +10 -0
- package/dist/src/dom/components/paragraph.js +35 -0
- package/dist/src/dom/components/paragraph.js.map +10 -0
- package/dist/src/dom/components/progressbar.js +57 -0
- package/dist/src/dom/components/progressbar.js.map +10 -0
- package/dist/src/dom/components/route.js +44 -0
- package/dist/src/dom/components/route.js.map +10 -0
- package/dist/src/dom/components/router.js +33 -0
- package/dist/src/dom/components/router.js.map +10 -0
- package/dist/src/dom/components/row.js +31 -0
- package/dist/src/dom/components/row.js.map +10 -0
- package/dist/src/dom/components/select.js +57 -0
- package/dist/src/dom/components/select.js.map +10 -0
- package/dist/src/dom/components/slider.js +48 -0
- package/dist/src/dom/components/slider.js.map +10 -0
- package/dist/src/dom/components/spacer.js +30 -0
- package/dist/src/dom/components/spacer.js.map +10 -0
- package/dist/src/dom/components/spinner.js +65 -0
- package/dist/src/dom/components/spinner.js.map +10 -0
- package/dist/src/dom/components/stack.js +45 -0
- package/dist/src/dom/components/stack.js.map +10 -0
- package/dist/src/dom/components/switch.js +83 -0
- package/dist/src/dom/components/switch.js.map +10 -0
- package/dist/src/dom/components/text.js +37 -0
- package/dist/src/dom/components/text.js.map +10 -0
- package/dist/src/dom/components/textarea.js +51 -0
- package/dist/src/dom/components/textarea.js.map +10 -0
- package/dist/src/dom/components/video.js +51 -0
- package/dist/src/dom/components/video.js.map +10 -0
- package/dist/src/dom/debug.js +170 -0
- package/dist/src/dom/debug.js.map +10 -0
- package/dist/src/dom/events.js +112 -0
- package/dist/src/dom/events.js.map +10 -0
- package/dist/src/dom/index.js +73 -0
- package/dist/src/dom/index.js.map +9 -0
- package/dist/src/dom/renderer.js +277 -0
- package/dist/src/dom/renderer.js.map +10 -0
- package/dist/src/index.js +89 -0
- package/dist/src/index.js.map +9 -0
- package/package.json +84 -0
- package/src/canvas/QUICKSTART.md +421 -0
- package/src/canvas/README.md +376 -0
- package/src/canvas/accessibility.ts +218 -0
- package/src/canvas/events.ts +307 -0
- package/src/canvas/index.ts +35 -0
- package/src/canvas/input.ts +210 -0
- package/src/canvas/layout.ts +401 -0
- package/src/canvas/paint.ts +1321 -0
- package/src/canvas/renderer.ts +422 -0
- package/src/canvas/text.ts +182 -0
- package/src/canvas/types.ts +137 -0
- package/src/canvas/utils.ts +218 -0
- package/src/dom/README.md +265 -0
- package/src/dom/applicators/advanced-layout.ts +128 -0
- package/src/dom/applicators/background.ts +50 -0
- package/src/dom/applicators/border.ts +19 -0
- package/src/dom/applicators/color.ts +23 -0
- package/src/dom/applicators/display.ts +54 -0
- package/src/dom/applicators/effects.ts +97 -0
- package/src/dom/applicators/events.ts +689 -0
- package/src/dom/applicators/font.ts +27 -0
- package/src/dom/applicators/index.ts +354 -0
- package/src/dom/applicators/layout.ts +92 -0
- package/src/dom/applicators/margin.ts +18 -0
- package/src/dom/applicators/padding.ts +18 -0
- package/src/dom/applicators/size.ts +31 -0
- package/src/dom/applicators/transform.ts +93 -0
- package/src/dom/applicators/transition.ts +65 -0
- package/src/dom/applicators/typography.ts +91 -0
- package/src/dom/canvas/index.ts +60 -0
- package/src/dom/components/audio.ts +45 -0
- package/src/dom/components/avatar.ts +49 -0
- package/src/dom/components/badge.ts +45 -0
- package/src/dom/components/button.ts +13 -0
- package/src/dom/components/card.ts +19 -0
- package/src/dom/components/center.ts +16 -0
- package/src/dom/components/checkbox.ts +54 -0
- package/src/dom/components/column.ts +15 -0
- package/src/dom/components/container.ts +13 -0
- package/src/dom/components/divider.ts +37 -0
- package/src/dom/components/grid.ts +40 -0
- package/src/dom/components/heading.ts +41 -0
- package/src/dom/components/image.ts +27 -0
- package/src/dom/components/index.ts +115 -0
- package/src/dom/components/input.ts +29 -0
- package/src/dom/components/link.ts +35 -0
- package/src/dom/components/list.ts +30 -0
- package/src/dom/components/paragraph.ts +23 -0
- package/src/dom/components/progressbar.ts +51 -0
- package/src/dom/components/route.ts +37 -0
- package/src/dom/components/router.ts +22 -0
- package/src/dom/components/row.ts +15 -0
- package/src/dom/components/select.ts +56 -0
- package/src/dom/components/slider.ts +45 -0
- package/src/dom/components/spacer.ts +16 -0
- package/src/dom/components/spinner.ts +60 -0
- package/src/dom/components/stack.ts +34 -0
- package/src/dom/components/switch.ts +86 -0
- package/src/dom/components/text.ts +24 -0
- package/src/dom/components/textarea.ts +50 -0
- package/src/dom/components/video.ts +50 -0
- package/src/dom/debug.ts +247 -0
- package/src/dom/events.ts +168 -0
- package/src/dom/index.ts +11 -0
- package/src/dom/renderer.ts +327 -0
- package/src/index.ts +56 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced Layout Applicators (Flexbox, Grid, Positioning)
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const advancedLayoutHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
// Flexbox properties
|
|
9
|
+
flexDirection: (el, value) => {
|
|
10
|
+
el.style.flexDirection = String(value);
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
flexWrap: (el, value) => {
|
|
14
|
+
el.style.flexWrap = String(value);
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
flexBasis: (el, value) => {
|
|
18
|
+
el.style.flexBasis = typeof value === "number" ? `${value}px` : String(value);
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
justifyContent: (el, value) => {
|
|
22
|
+
el.style.justifyContent = String(value);
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
alignItems: (el, value) => {
|
|
26
|
+
el.style.alignItems = String(value);
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
alignContent: (el, value) => {
|
|
30
|
+
el.style.alignContent = String(value);
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
alignSelf: (el, value) => {
|
|
34
|
+
el.style.alignSelf = String(value);
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
order: (el, value) => {
|
|
38
|
+
el.style.order = String(value);
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
// Grid properties
|
|
42
|
+
gridTemplateColumns: (el, value) => {
|
|
43
|
+
el.style.gridTemplateColumns = String(value);
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
gridTemplateRows: (el, value) => {
|
|
47
|
+
el.style.gridTemplateRows = String(value);
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
gridTemplateAreas: (el, value) => {
|
|
51
|
+
el.style.gridTemplateAreas = String(value);
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
gridColumn: (el, value) => {
|
|
55
|
+
el.style.gridColumn = String(value);
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
gridRow: (el, value) => {
|
|
59
|
+
el.style.gridRow = String(value);
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
gridArea: (el, value) => {
|
|
63
|
+
el.style.gridArea = String(value);
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
gridAutoFlow: (el, value) => {
|
|
67
|
+
el.style.gridAutoFlow = String(value);
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
gridAutoColumns: (el, value) => {
|
|
71
|
+
el.style.gridAutoColumns = String(value);
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
gridAutoRows: (el, value) => {
|
|
75
|
+
el.style.gridAutoRows = String(value);
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
rowGap: (el, value) => {
|
|
79
|
+
el.style.rowGap = typeof value === "number" ? `${value}px` : String(value);
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
columnGap: (el, value) => {
|
|
83
|
+
el.style.columnGap = typeof value === "number" ? `${value}px` : String(value);
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
placeItems: (el, value) => {
|
|
87
|
+
el.style.placeItems = String(value);
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
placeContent: (el, value) => {
|
|
91
|
+
el.style.placeContent = String(value);
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
placeSelf: (el, value) => {
|
|
95
|
+
el.style.placeSelf = String(value);
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// Positioning
|
|
99
|
+
position: (el, value) => {
|
|
100
|
+
el.style.position = String(value);
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
top: (el, value) => {
|
|
104
|
+
el.style.top = typeof value === "number" ? `${value}px` : String(value);
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
right: (el, value) => {
|
|
108
|
+
el.style.right = typeof value === "number" ? `${value}px` : String(value);
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
bottom: (el, value) => {
|
|
112
|
+
el.style.bottom = typeof value === "number" ? `${value}px` : String(value);
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
left: (el, value) => {
|
|
116
|
+
el.style.left = typeof value === "number" ? `${value}px` : String(value);
|
|
117
|
+
},
|
|
118
|
+
|
|
119
|
+
inset: (el, value) => {
|
|
120
|
+
el.style.inset = typeof value === "number" ? `${value}px` : String(value);
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
zIndex: (el, value) => {
|
|
124
|
+
el.style.zIndex = String(value);
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Applicators
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const backgroundHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
backgroundImage: (el, value) => {
|
|
9
|
+
el.style.backgroundImage = String(value);
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
backgroundSize: (el, value) => {
|
|
13
|
+
el.style.backgroundSize = String(value);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
backgroundPosition: (el, value) => {
|
|
17
|
+
el.style.backgroundPosition = String(value);
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
backgroundRepeat: (el, value) => {
|
|
21
|
+
el.style.backgroundRepeat = String(value);
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
backgroundAttachment: (el, value) => {
|
|
25
|
+
el.style.backgroundAttachment = String(value);
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
backgroundClip: (el, value) => {
|
|
29
|
+
el.style.backgroundClip = String(value);
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
backgroundOrigin: (el, value) => {
|
|
33
|
+
el.style.backgroundOrigin = String(value);
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
// Gradient helpers
|
|
37
|
+
linearGradient: (el, value) => {
|
|
38
|
+
el.style.backgroundImage = `linear-gradient(${value})`;
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
radialGradient: (el, value) => {
|
|
42
|
+
el.style.backgroundImage = `radial-gradient(${value})`;
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
conicGradient: (el, value) => {
|
|
46
|
+
el.style.backgroundImage = `conic-gradient(${value})`;
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Border Applicators
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const borderHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
borderWidth: (el, value) => {
|
|
9
|
+
el.style.borderWidth = typeof value === "number" ? `${value}px` : String(value);
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
borderStyle: (el, value) => {
|
|
13
|
+
el.style.borderStyle = String(value);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
borderRadius: (el, value) => {
|
|
17
|
+
el.style.borderRadius = typeof value === "number" ? `${value}px` : String(value);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color Applicators
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const colorHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
color: (el, value) => {
|
|
9
|
+
el.style.color = String(value);
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
backgroundColor: (el, value) => {
|
|
13
|
+
el.style.backgroundColor = String(value);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
borderColor: (el, value) => {
|
|
17
|
+
el.style.borderColor = String(value);
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
opacity: (el, value) => {
|
|
21
|
+
el.style.opacity = String(value);
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display and Visibility Applicators
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const displayHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
display: (el, value) => {
|
|
9
|
+
el.style.display = String(value);
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
visibility: (el, value) => {
|
|
13
|
+
el.style.visibility = String(value);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
overflowX: (el, value) => {
|
|
17
|
+
el.style.overflowX = String(value);
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
overflowY: (el, value) => {
|
|
21
|
+
el.style.overflowY = String(value);
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
pointerEvents: (el, value) => {
|
|
25
|
+
el.style.pointerEvents = String(value);
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
userSelect: (el, value) => {
|
|
29
|
+
el.style.userSelect = String(value);
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
resize: (el, value) => {
|
|
33
|
+
el.style.resize = String(value);
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
boxSizing: (el, value) => {
|
|
37
|
+
el.style.boxSizing = String(value);
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
// Sizing helpers
|
|
41
|
+
aspectRatio: (el, value) => {
|
|
42
|
+
el.style.aspectRatio = String(value);
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
objectFit: (el, value) => {
|
|
46
|
+
el.style.objectFit = String(value);
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
objectPosition: (el, value) => {
|
|
50
|
+
el.style.objectPosition = String(value);
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visual Effects Applicators (Shadows, Filters, Blend Modes)
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ApplicatorHandler } from "./index.js";
|
|
6
|
+
|
|
7
|
+
export const effectsHandlers: Record<string, ApplicatorHandler> = {
|
|
8
|
+
// Shadow effects
|
|
9
|
+
boxShadow: (el, value) => {
|
|
10
|
+
el.style.boxShadow = String(value);
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
textShadow: (el, value) => {
|
|
14
|
+
el.style.textShadow = String(value);
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
// Filter effects
|
|
18
|
+
filter: (el, value) => {
|
|
19
|
+
el.style.filter = String(value);
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
backdropFilter: (el, value) => {
|
|
23
|
+
el.style.backdropFilter = String(value);
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
// Individual filter functions
|
|
27
|
+
blur: (el, value) => {
|
|
28
|
+
const val = typeof value === "number" ? `${value}px` : String(value);
|
|
29
|
+
const current = el.style.filter || "";
|
|
30
|
+
el.style.filter = current ? `${current} blur(${val})` : `blur(${val})`;
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
brightness: (el, value) => {
|
|
34
|
+
const current = el.style.filter || "";
|
|
35
|
+
el.style.filter = current ? `${current} brightness(${value})` : `brightness(${value})`;
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
contrast: (el, value) => {
|
|
39
|
+
const current = el.style.filter || "";
|
|
40
|
+
el.style.filter = current ? `${current} contrast(${value})` : `contrast(${value})`;
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
grayscale: (el, value) => {
|
|
44
|
+
const current = el.style.filter || "";
|
|
45
|
+
el.style.filter = current ? `${current} grayscale(${value})` : `grayscale(${value})`;
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
hueRotate: (el, value) => {
|
|
49
|
+
const val = String(value);
|
|
50
|
+
const current = el.style.filter || "";
|
|
51
|
+
el.style.filter = current ? `${current} hue-rotate(${val})` : `hue-rotate(${val})`;
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
invert: (el, value) => {
|
|
55
|
+
const current = el.style.filter || "";
|
|
56
|
+
el.style.filter = current ? `${current} invert(${value})` : `invert(${value})`;
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
saturate: (el, value) => {
|
|
60
|
+
const current = el.style.filter || "";
|
|
61
|
+
el.style.filter = current ? `${current} saturate(${value})` : `saturate(${value})`;
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
sepia: (el, value) => {
|
|
65
|
+
const current = el.style.filter || "";
|
|
66
|
+
el.style.filter = current ? `${current} sepia(${value})` : `sepia(${value})`;
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
dropShadow: (el, value) => {
|
|
70
|
+
const current = el.style.filter || "";
|
|
71
|
+
el.style.filter = current ? `${current} drop-shadow(${value})` : `drop-shadow(${value})`;
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
// Blend modes
|
|
75
|
+
mixBlendMode: (el, value) => {
|
|
76
|
+
el.style.mixBlendMode = String(value);
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
backgroundBlendMode: (el, value) => {
|
|
80
|
+
el.style.backgroundBlendMode = String(value);
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
// Clip and mask
|
|
84
|
+
clipPath: (el, value) => {
|
|
85
|
+
el.style.clipPath = String(value);
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
mask: (el, value) => {
|
|
89
|
+
el.style.mask = String(value);
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
maskImage: (el, value) => {
|
|
93
|
+
el.style.maskImage = String(value);
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
|