@bookklik/senangstart-css 0.2.3 → 0.2.5
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/senangstart-css.js +100 -6
- package/dist/senangstart-css.min.js +26 -22
- package/dist/senangstart-tw.js +537 -0
- package/dist/senangstart-tw.min.js +2 -0
- package/docs/.vitepress/config.js +6 -0
- package/docs/guide/cdn.md +1 -1
- package/docs/ms/guide/cdn.md +1 -1
- package/docs/ms/reference/layout/position.md +4 -4
- package/docs/ms/reference/layout/z-index.md +8 -8
- package/docs/ms/reference/space/gap.md +1 -1
- package/docs/ms/reference/space/height.md +1 -1
- package/docs/ms/reference/space/margin.md +1 -1
- package/docs/ms/reference/space/padding.md +1 -1
- package/docs/ms/reference/space/scale-reference.md +46 -17
- package/docs/ms/reference/space/width.md +1 -1
- package/docs/ms/reference/space.md +1 -1
- package/docs/ms/reference/spacing.md +103 -21
- package/docs/ms/reference/visual/animation-fill.md +8 -8
- package/docs/ms/reference/visual/backdrop-blur.md +4 -4
- package/docs/ms/reference/visual/backdrop-brightness.md +8 -8
- package/docs/ms/reference/visual/backdrop-grayscale.md +6 -6
- package/docs/ms/reference/visual/backdrop-sepia.md +6 -6
- package/docs/ms/reference/visual/background-clip.md +2 -2
- package/docs/ms/reference/visual/background-image.md +4 -4
- package/docs/ms/reference/visual/filter-brightness.md +4 -4
- package/docs/ms/reference/visual/filter-contrast.md +4 -4
- package/docs/ms/reference/visual/filter-drop-shadow.md +6 -6
- package/docs/ms/reference/visual/filter-grayscale.md +4 -4
- package/docs/ms/reference/visual/filter-hue-rotate.md +4 -4
- package/docs/ms/reference/visual/filter-invert.md +2 -2
- package/docs/ms/reference/visual/filter-saturate.md +4 -4
- package/docs/ms/reference/visual/filter-sepia.md +4 -4
- package/docs/ms/reference/visual/font-family.md +2 -2
- package/docs/ms/reference/visual/gradient-from.md +57 -0
- package/docs/ms/reference/visual/gradient-to.md +57 -0
- package/docs/ms/reference/visual/gradient-via.md +54 -0
- package/docs/ms/reference/visual/letter-spacing.md +2 -2
- package/docs/ms/reference/visual/line-clamp.md +2 -2
- package/docs/ms/reference/visual/line-height.md +2 -2
- package/docs/ms/reference/visual/outline.md +2 -2
- package/docs/ms/reference/visual/ring-color.md +29 -0
- package/docs/ms/reference/visual/ring-offset.md +30 -0
- package/docs/ms/reference/visual/ring.md +62 -0
- package/docs/ms/reference/visual/stroke-width.md +6 -6
- package/docs/ms/reference/visual/stroke.md +4 -4
- package/docs/ms/reference/visual/text-indent.md +2 -2
- package/docs/ms/reference/visual/text-overflow.md +2 -2
- package/docs/ms/reference/visual/text-size.md +84 -84
- package/docs/ms/reference/visual/text-wrap.md +2 -2
- package/docs/ms/reference/visual/transform-backface.md +4 -4
- package/docs/ms/reference/visual/transform-perspective-origin.md +6 -6
- package/docs/ms/reference/visual/transform-perspective.md +6 -6
- package/docs/ms/reference/visual/transform-rotate-3d.md +6 -6
- package/docs/ms/reference/visual/transform-style.md +4 -4
- package/docs/ms/reference/visual/transform-translate-z.md +6 -6
- package/docs/ms/reference/visual/transform-translate.md +2 -2
- package/docs/ms/reference/visual/whitespace.md +2 -2
- package/docs/ms/reference/visual/word-break.md +2 -2
- package/docs/public/assets/senangstart-css.min.js +213 -1545
- package/docs/public/llms.txt +1718 -0
- package/docs/reference/layout/position.md +4 -4
- package/docs/reference/layout/z-index.md +8 -8
- package/docs/reference/space/gap.md +1 -1
- package/docs/reference/space/height.md +1 -1
- package/docs/reference/space/margin.md +1 -1
- package/docs/reference/space/padding.md +1 -1
- package/docs/reference/space/scale-reference.md +46 -17
- package/docs/reference/space/width.md +1 -1
- package/docs/reference/space.md +1 -1
- package/docs/reference/spacing.md +103 -21
- package/docs/reference/visual/animation-fill.md +8 -8
- package/docs/reference/visual/backdrop-blur.md +4 -4
- package/docs/reference/visual/backdrop-brightness.md +8 -8
- package/docs/reference/visual/backdrop-grayscale.md +6 -6
- package/docs/reference/visual/backdrop-sepia.md +6 -6
- package/docs/reference/visual/background-clip.md +2 -2
- package/docs/reference/visual/background-image.md +4 -4
- package/docs/reference/visual/filter-brightness.md +4 -4
- package/docs/reference/visual/filter-contrast.md +4 -4
- package/docs/reference/visual/filter-drop-shadow.md +6 -6
- package/docs/reference/visual/filter-grayscale.md +4 -4
- package/docs/reference/visual/filter-hue-rotate.md +4 -4
- package/docs/reference/visual/filter-invert.md +2 -2
- package/docs/reference/visual/filter-saturate.md +4 -4
- package/docs/reference/visual/filter-sepia.md +4 -4
- package/docs/reference/visual/font-family.md +2 -2
- package/docs/reference/visual/gradient-from.md +57 -0
- package/docs/reference/visual/gradient-to.md +57 -0
- package/docs/reference/visual/gradient-via.md +54 -0
- package/docs/reference/visual/letter-spacing.md +2 -2
- package/docs/reference/visual/line-clamp.md +2 -2
- package/docs/reference/visual/line-height.md +2 -2
- package/docs/reference/visual/outline.md +2 -2
- package/docs/reference/visual/ring-color.md +29 -0
- package/docs/reference/visual/ring-offset.md +30 -0
- package/docs/reference/visual/ring.md +62 -0
- package/docs/reference/visual/stroke-width.md +6 -6
- package/docs/reference/visual/stroke.md +4 -4
- package/docs/reference/visual/text-indent.md +2 -2
- package/docs/reference/visual/text-overflow.md +2 -2
- package/docs/reference/visual/text-size.md +84 -84
- package/docs/reference/visual/text-wrap.md +2 -2
- package/docs/reference/visual/transform-backface.md +4 -4
- package/docs/reference/visual/transform-perspective-origin.md +6 -6
- package/docs/reference/visual/transform-perspective.md +6 -6
- package/docs/reference/visual/transform-rotate-3d.md +6 -6
- package/docs/reference/visual/transform-style.md +4 -4
- package/docs/reference/visual/transform-translate-z.md +6 -6
- package/docs/reference/visual/transform-translate.md +2 -2
- package/docs/reference/visual/whitespace.md +2 -2
- package/docs/reference/visual/word-break.md +2 -2
- package/package.json +4 -2
- package/playground/tw-convertor.html +103 -589
- package/scripts/build-dist.js +45 -3
- package/scripts/bundle-jit.js +3 -3
- package/scripts/convert-tailwind.js +180 -1
- package/scripts/generate-llms-txt.js +264 -0
- package/src/cdn/{jit.js → senangstart-engine.js} +97 -8
- package/src/cdn/tw-conversion-engine.js +632 -0
- package/src/compiler/generators/css.js +27 -0
- package/src/config/defaults.js +37 -11
- package/src/core/constants.js +37 -8
- package/src/definitions/layout-positioning.js +6 -6
- package/src/definitions/space.js +46 -5
- package/src/definitions/visual-backgrounds.js +113 -15
- package/src/definitions/visual-borders.js +81 -2
- package/src/definitions/visual-filters.js +16 -16
- package/src/definitions/visual-svg.js +5 -5
- package/src/definitions/visual-transform3d.js +16 -16
- package/src/definitions/visual-transforms.js +1 -1
- package/src/definitions/visual-transitions.js +4 -4
- package/src/definitions/visual-typography.js +6 -6
- package/src/definitions/visual.js +4 -4
- package/tests/unit/compiler/generators/css.test.js +192 -0
- package/tests/unit/convert-tailwind.test.js +8 -0
package/src/config/defaults.js
CHANGED
|
@@ -32,19 +32,45 @@ export const defaultConfig = {
|
|
|
32
32
|
preflight: true,
|
|
33
33
|
|
|
34
34
|
theme: {
|
|
35
|
-
// 1. SPACING: The "Natural Object" Scale
|
|
35
|
+
// 1. SPACING: The "Natural Object" Scale with multiplier variants
|
|
36
36
|
// Logic: How big is the object/gap physically?
|
|
37
37
|
spacing: {
|
|
38
|
-
'none':
|
|
39
|
-
'thin':
|
|
40
|
-
'regular':
|
|
41
|
-
'thick':
|
|
42
|
-
'tiny':
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
38
|
+
'none': '0px', // No space
|
|
39
|
+
'thin': '1px', // Hairline (for borders)
|
|
40
|
+
'regular': '2px', // Standard border
|
|
41
|
+
'thick': '3px', // Bold border
|
|
42
|
+
'tiny': '4px', // Small offsets
|
|
43
|
+
'tiny-2x': '6px', // Tiny multiplied
|
|
44
|
+
'small': '8px', // Grouping inside components
|
|
45
|
+
'small-2x': '10px', //
|
|
46
|
+
'small-3x': '12px', //
|
|
47
|
+
'small-4x': '14px', //
|
|
48
|
+
'medium': '16px', // Standard default
|
|
49
|
+
'medium-2x': '20px', //
|
|
50
|
+
'medium-3x': '24px', //
|
|
51
|
+
'medium-4x': '28px', //
|
|
52
|
+
'large': '32px', // Separation between groups
|
|
53
|
+
'large-2x': '36px', //
|
|
54
|
+
'large-3x': '40px', //
|
|
55
|
+
'large-4x': '44px', //
|
|
56
|
+
'big': '48px', // Layout sections
|
|
57
|
+
'big-2x': '56px', //
|
|
58
|
+
'big-3x': '64px', //
|
|
59
|
+
'big-4x': '80px', //
|
|
60
|
+
'giant': '96px', // Hero sections
|
|
61
|
+
'giant-2x': '112px', //
|
|
62
|
+
'giant-3x': '128px', //
|
|
63
|
+
'giant-4x': '144px', //
|
|
64
|
+
'vast': '160px', // Page-level spacing
|
|
65
|
+
'vast-2x': '176px', //
|
|
66
|
+
'vast-3x': '192px', //
|
|
67
|
+
'vast-4x': '208px', //
|
|
68
|
+
'vast-5x': '224px', //
|
|
69
|
+
'vast-6x': '240px', //
|
|
70
|
+
'vast-7x': '256px', //
|
|
71
|
+
'vast-8x': '288px', //
|
|
72
|
+
'vast-9x': '320px', //
|
|
73
|
+
'vast-10x': '384px', //
|
|
48
74
|
},
|
|
49
75
|
|
|
50
76
|
// 2. RADIUS: Tactile Feel
|
package/src/core/constants.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export const BREAKPOINTS = ['mob', 'tab', 'lap', 'desk', 'tw-sm', 'tw-md', 'tw-lg', 'tw-xl', 'tw-2xl'];
|
|
8
8
|
|
|
9
9
|
// State prefixes
|
|
10
|
-
export const STATES = ['hover', 'focus', 'active', 'disabled', 'dark'];
|
|
10
|
+
export const STATES = ['hover', 'focus', 'focus-visible', 'active', 'disabled', 'dark'];
|
|
11
11
|
|
|
12
12
|
// Layout keywords (no colon syntax)
|
|
13
13
|
export const LAYOUT_KEYWORDS = [
|
|
@@ -204,13 +204,42 @@ export const TYPOGRAPHY_KEYWORDS = {
|
|
|
204
204
|
// Default theme configuration
|
|
205
205
|
export const DEFAULT_THEME = {
|
|
206
206
|
spacing: {
|
|
207
|
-
'none':
|
|
208
|
-
'
|
|
209
|
-
'
|
|
210
|
-
'
|
|
211
|
-
'
|
|
212
|
-
'
|
|
213
|
-
'
|
|
207
|
+
'none': '0px',
|
|
208
|
+
'thin': '1px',
|
|
209
|
+
'regular': '2px',
|
|
210
|
+
'thick': '3px',
|
|
211
|
+
'tiny': '4px',
|
|
212
|
+
'tiny-2x': '6px',
|
|
213
|
+
'small': '8px',
|
|
214
|
+
'small-2x': '10px',
|
|
215
|
+
'small-3x': '12px',
|
|
216
|
+
'small-4x': '14px',
|
|
217
|
+
'medium': '16px',
|
|
218
|
+
'medium-2x': '20px',
|
|
219
|
+
'medium-3x': '24px',
|
|
220
|
+
'medium-4x': '28px',
|
|
221
|
+
'large': '32px',
|
|
222
|
+
'large-2x': '36px',
|
|
223
|
+
'large-3x': '40px',
|
|
224
|
+
'large-4x': '44px',
|
|
225
|
+
'big': '48px',
|
|
226
|
+
'big-2x': '56px',
|
|
227
|
+
'big-3x': '64px',
|
|
228
|
+
'big-4x': '80px',
|
|
229
|
+
'giant': '96px',
|
|
230
|
+
'giant-2x': '112px',
|
|
231
|
+
'giant-3x': '128px',
|
|
232
|
+
'giant-4x': '144px',
|
|
233
|
+
'vast': '160px',
|
|
234
|
+
'vast-2x': '176px',
|
|
235
|
+
'vast-3x': '192px',
|
|
236
|
+
'vast-4x': '208px',
|
|
237
|
+
'vast-5x': '224px',
|
|
238
|
+
'vast-6x': '240px',
|
|
239
|
+
'vast-7x': '256px',
|
|
240
|
+
'vast-8x': '288px',
|
|
241
|
+
'vast-9x': '320px',
|
|
242
|
+
'vast-10x': '384px'
|
|
214
243
|
},
|
|
215
244
|
radius: {
|
|
216
245
|
'none': '0px',
|
|
@@ -33,7 +33,7 @@ export const position = {
|
|
|
33
33
|
descriptionMs: 'Elemen diletakkan relatif kepada aliran normal',
|
|
34
34
|
html: `<div layout="relative" space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
35
35
|
<span space="p:small" visual="bg:primary text:white rounded:small">Relative Container</span>
|
|
36
|
-
<span layout="absolute
|
|
36
|
+
<span layout="absolute top:0 right:0" space="p:tiny" visual="bg:danger text:white rounded:small">Abs</span>
|
|
37
37
|
</div>`,
|
|
38
38
|
highlightValue: 'relative'
|
|
39
39
|
},
|
|
@@ -43,7 +43,7 @@ export const position = {
|
|
|
43
43
|
description: 'Element sticks when scrolling past it',
|
|
44
44
|
descriptionMs: 'Elemen melekat apabila skrol melepasi',
|
|
45
45
|
html: `<div space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
46
|
-
<span layout="sticky
|
|
46
|
+
<span layout="sticky top:0" space="p:small" visual="bg:primary text:white rounded:small">Sticky Header</span>
|
|
47
47
|
</div>`,
|
|
48
48
|
highlightValue: 'sticky'
|
|
49
49
|
}
|
|
@@ -133,10 +133,10 @@ export const zIndex = {
|
|
|
133
133
|
description: 'Control stacking order of positioned elements',
|
|
134
134
|
descriptionMs: 'Kawal susunan tindanan elemen yang diletakkan',
|
|
135
135
|
html: `<div layout="relative" space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="height: 80px;">
|
|
136
|
-
<span layout="absolute z:base
|
|
137
|
-
<span layout="absolute z:low
|
|
138
|
-
<span layout="absolute z:mid
|
|
139
|
-
<span layout="absolute z:high
|
|
136
|
+
<span layout="absolute z:base left:0 top:10px" space="p:small" visual="bg:neutral-400 text:white rounded:small">z:base</span>
|
|
137
|
+
<span layout="absolute z:low left:30px top:20px" space="p:small" visual="bg:neutral-500 text:white rounded:small">z:low</span>
|
|
138
|
+
<span layout="absolute z:mid left:60px top:30px" space="p:small" visual="bg:neutral-600 text:white rounded:small">z:mid</span>
|
|
139
|
+
<span layout="absolute z:high left:90px top:40px" space="p:small" visual="bg:primary text:white rounded:small">z:high</span>
|
|
140
140
|
</div>`,
|
|
141
141
|
highlightValue: 'z:high'
|
|
142
142
|
}
|
package/src/definitions/space.js
CHANGED
|
@@ -24,7 +24,15 @@ export const padding = {
|
|
|
24
24
|
{ property: 'p-x', css: 'padding-left: var(--s-{value}); padding-right: var(--s-{value});', description: 'Horizontal', descriptionMs: 'Mendatar' },
|
|
25
25
|
{ property: 'p-y', css: 'padding-top: var(--s-{value}); padding-bottom: var(--s-{value});', description: 'Vertical', descriptionMs: 'Menegak' }
|
|
26
26
|
],
|
|
27
|
-
scaleValues: [
|
|
27
|
+
scaleValues: [
|
|
28
|
+
'none', 'thin', 'regular', 'thick', 'tiny', 'tiny-2x',
|
|
29
|
+
'small', 'small-2x', 'small-3x', 'small-4x',
|
|
30
|
+
'medium', 'medium-2x', 'medium-3x', 'medium-4x',
|
|
31
|
+
'large', 'large-2x', 'large-3x', 'large-4x',
|
|
32
|
+
'big', 'big-2x', 'big-3x', 'big-4x',
|
|
33
|
+
'giant', 'giant-2x', 'giant-3x', 'giant-4x',
|
|
34
|
+
'vast', 'vast-2x', 'vast-3x', 'vast-4x', 'vast-5x', 'vast-6x', 'vast-7x', 'vast-8x', 'vast-9x', 'vast-10x'
|
|
35
|
+
],
|
|
28
36
|
supportsArbitrary: true,
|
|
29
37
|
examples: [
|
|
30
38
|
{ code: '<div space="p:medium">Padding all sides</div>', description: 'Medium padding' },
|
|
@@ -89,7 +97,16 @@ export const margin = {
|
|
|
89
97
|
{ property: 'm-x', css: 'margin-left: var(--s-{value}); margin-right: var(--s-{value});', description: 'Horizontal', descriptionMs: 'Mendatar' },
|
|
90
98
|
{ property: 'm-y', css: 'margin-top: var(--s-{value}); margin-bottom: var(--s-{value});', description: 'Vertical', descriptionMs: 'Menegak' }
|
|
91
99
|
],
|
|
92
|
-
scaleValues: [
|
|
100
|
+
scaleValues: [
|
|
101
|
+
'none', 'thin', 'regular', 'thick', 'tiny', 'tiny-2x',
|
|
102
|
+
'small', 'small-2x', 'small-3x', 'small-4x',
|
|
103
|
+
'medium', 'medium-2x', 'medium-3x', 'medium-4x',
|
|
104
|
+
'large', 'large-2x', 'large-3x', 'large-4x',
|
|
105
|
+
'big', 'big-2x', 'big-3x', 'big-4x',
|
|
106
|
+
'giant', 'giant-2x', 'giant-3x', 'giant-4x',
|
|
107
|
+
'vast', 'vast-2x', 'vast-3x', 'vast-4x', 'vast-5x', 'vast-6x', 'vast-7x', 'vast-8x', 'vast-9x', 'vast-10x',
|
|
108
|
+
'auto'
|
|
109
|
+
],
|
|
93
110
|
supportsArbitrary: true,
|
|
94
111
|
examples: [
|
|
95
112
|
{ code: '<div space="m:medium">Margin all sides</div>', description: 'Medium margin' },
|
|
@@ -148,7 +165,15 @@ export const gap = {
|
|
|
148
165
|
{ property: 'g-x', css: 'column-gap: var(--s-{value});', description: 'Column gap', descriptionMs: 'Ruang lajur' },
|
|
149
166
|
{ property: 'g-y', css: 'row-gap: var(--s-{value});', description: 'Row gap', descriptionMs: 'Ruang baris' }
|
|
150
167
|
],
|
|
151
|
-
scaleValues: [
|
|
168
|
+
scaleValues: [
|
|
169
|
+
'none', 'thin', 'regular', 'thick', 'tiny', 'tiny-2x',
|
|
170
|
+
'small', 'small-2x', 'small-3x', 'small-4x',
|
|
171
|
+
'medium', 'medium-2x', 'medium-3x', 'medium-4x',
|
|
172
|
+
'large', 'large-2x', 'large-3x', 'large-4x',
|
|
173
|
+
'big', 'big-2x', 'big-3x', 'big-4x',
|
|
174
|
+
'giant', 'giant-2x', 'giant-3x', 'giant-4x',
|
|
175
|
+
'vast', 'vast-2x', 'vast-3x', 'vast-4x', 'vast-5x', 'vast-6x', 'vast-7x', 'vast-8x', 'vast-9x', 'vast-10x'
|
|
176
|
+
],
|
|
152
177
|
supportsArbitrary: true,
|
|
153
178
|
examples: [
|
|
154
179
|
{ code: '<div layout="flex" space="g:medium">Gap between items</div>', description: 'Flex gap' },
|
|
@@ -211,7 +236,15 @@ export const width = {
|
|
|
211
236
|
{ property: 'min-w', css: 'min-width: var(--s-{value});', description: 'Minimum width', descriptionMs: 'Lebar minimum' },
|
|
212
237
|
{ property: 'max-w', css: 'max-width: var(--s-{value});', description: 'Maximum width', descriptionMs: 'Lebar maksimum' }
|
|
213
238
|
],
|
|
214
|
-
scaleValues: [
|
|
239
|
+
scaleValues: [
|
|
240
|
+
'none', 'thin', 'regular', 'thick', 'tiny', 'tiny-2x',
|
|
241
|
+
'small', 'small-2x', 'small-3x', 'small-4x',
|
|
242
|
+
'medium', 'medium-2x', 'medium-3x', 'medium-4x',
|
|
243
|
+
'large', 'large-2x', 'large-3x', 'large-4x',
|
|
244
|
+
'big', 'big-2x', 'big-3x', 'big-4x',
|
|
245
|
+
'giant', 'giant-2x', 'giant-3x', 'giant-4x',
|
|
246
|
+
'vast', 'vast-2x', 'vast-3x', 'vast-4x', 'vast-5x', 'vast-6x', 'vast-7x', 'vast-8x', 'vast-9x', 'vast-10x'
|
|
247
|
+
],
|
|
215
248
|
supportsArbitrary: true,
|
|
216
249
|
examples: [
|
|
217
250
|
{ code: '<div space="w:[100%]">Full width</div>', description: 'Full width' },
|
|
@@ -270,7 +303,15 @@ export const height = {
|
|
|
270
303
|
{ property: 'min-h', css: 'min-height: var(--s-{value});', description: 'Minimum height', descriptionMs: 'Tinggi minimum' },
|
|
271
304
|
{ property: 'max-h', css: 'max-height: var(--s-{value});', description: 'Maximum height', descriptionMs: 'Tinggi maksimum' }
|
|
272
305
|
],
|
|
273
|
-
scaleValues: [
|
|
306
|
+
scaleValues: [
|
|
307
|
+
'none', 'thin', 'regular', 'thick', 'tiny', 'tiny-2x',
|
|
308
|
+
'small', 'small-2x', 'small-3x', 'small-4x',
|
|
309
|
+
'medium', 'medium-2x', 'medium-3x', 'medium-4x',
|
|
310
|
+
'large', 'large-2x', 'large-3x', 'large-4x',
|
|
311
|
+
'big', 'big-2x', 'big-3x', 'big-4x',
|
|
312
|
+
'giant', 'giant-2x', 'giant-3x', 'giant-4x',
|
|
313
|
+
'vast', 'vast-2x', 'vast-3x', 'vast-4x', 'vast-5x', 'vast-6x', 'vast-7x', 'vast-8x', 'vast-9x', 'vast-10x'
|
|
314
|
+
],
|
|
274
315
|
supportsArbitrary: true,
|
|
275
316
|
examples: [
|
|
276
317
|
{ code: '<div space="h:[100vh]">Full viewport height</div>', description: 'Full height' },
|
|
@@ -32,8 +32,8 @@ export const backgroundImage = {
|
|
|
32
32
|
description: 'Apply gradient backgrounds',
|
|
33
33
|
descriptionMs: 'Terapkan latar gradien',
|
|
34
34
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
35
|
-
<div space="p:medium" visual="
|
|
36
|
-
<div space="p:medium" visual="
|
|
35
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:blue-500 to:violet-500 text:white rounded:small">gradient-to-r</div>
|
|
36
|
+
<div space="p:medium" visual="bg-image:gradient-to-b from:emerald-500 to:blue-500 text:white rounded:small">gradient-to-b</div>
|
|
37
37
|
</div>`,
|
|
38
38
|
highlightValue: 'bg-image:gradient-to-r'
|
|
39
39
|
}
|
|
@@ -101,7 +101,7 @@ export const backgroundClip = {
|
|
|
101
101
|
description: 'Clip background to text for gradient text effect',
|
|
102
102
|
descriptionMs: 'Keratan latar kepada teks untuk kesan teks gradien',
|
|
103
103
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
104
|
-
<span
|
|
104
|
+
<span text="size:large weight:bold" visual="bg-image:gradient-to-r from:blue-500 to:violet-500 bg-clip:text text:transparent">Gradient Text</span>
|
|
105
105
|
</div>`,
|
|
106
106
|
highlightValue: 'bg-clip:text'
|
|
107
107
|
}
|
|
@@ -327,8 +327,8 @@ export const backdropBlur = {
|
|
|
327
327
|
titleMs: 'Kabur Latar Belakang',
|
|
328
328
|
description: 'Creates a frosted glass effect on content behind the element',
|
|
329
329
|
descriptionMs: 'Mencipta kesan kaca beku pada kandungan di belakang elemen',
|
|
330
|
-
html: `<div layout="
|
|
331
|
-
<div
|
|
330
|
+
html: `<div layout="flex:center" space="p:large" visual="bg-image:gradient-to-br from:blue-500 to:violet-500 rounded:medium">
|
|
331
|
+
<div space="p:medium" visual="backdrop-blur:medium bg:[rgba(255,255,255,0.2)] rounded:small">
|
|
332
332
|
<span visual="text:white">Frosted Glass</span>
|
|
333
333
|
</div>
|
|
334
334
|
</div>`,
|
|
@@ -365,10 +365,10 @@ export const backdropBrightness = {
|
|
|
365
365
|
titleMs: 'Kecerahan Latar Belakang',
|
|
366
366
|
description: 'Dim or brighten the backdrop behind an overlay',
|
|
367
367
|
descriptionMs: 'Redupkan atau cerahkan latar belakang di sebalik tindanan',
|
|
368
|
-
html: `<div layout="flex" space="g:medium p:medium" visual="
|
|
369
|
-
<div space="p:small" visual="rounded:small text:white"
|
|
370
|
-
<div space="p:small" visual="rounded:small text:white"
|
|
371
|
-
<div space="p:small" visual="rounded:small text:white"
|
|
368
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg-image:gradient-to-br from:orange-500 to:red-500 rounded:medium">
|
|
369
|
+
<div space="p:small" visual="backdrop-brightness:dim rounded:small text:white">dim (50%)</div>
|
|
370
|
+
<div space="p:small" visual="backdrop-brightness:normal rounded:small text:white">normal</div>
|
|
371
|
+
<div space="p:small" visual="backdrop-brightness:vivid rounded:small text:white">bright (150%)</div>
|
|
372
372
|
</div>`,
|
|
373
373
|
highlightValue: 'backdrop-brightness:dark'
|
|
374
374
|
}
|
|
@@ -439,9 +439,9 @@ export const backdropGrayscale = {
|
|
|
439
439
|
titleMs: 'Skala Kelabu Latar Belakang',
|
|
440
440
|
description: 'Remove color from backdrop, creating a desaturated effect',
|
|
441
441
|
descriptionMs: 'Alih keluar warna dari latar belakang, mencipta kesan tidak tepu',
|
|
442
|
-
html: `<div layout="flex" space="g:medium" visual="rounded:medium">
|
|
443
|
-
<div space="p:small" visual="
|
|
444
|
-
<div space="p:small" visual="
|
|
442
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
443
|
+
<div space="p:small" visual="bg-image:gradient-to-br from:blue-500 to:emerald-500 rounded:small text:white">Original</div>
|
|
444
|
+
<div space="p:small" visual="bg-image:gradient-to-br from:blue-500 to:emerald-500 filter-grayscale:full rounded:small text:white">Grayscale</div>
|
|
445
445
|
</div>`,
|
|
446
446
|
highlightValue: 'backdrop-grayscale:full'
|
|
447
447
|
}
|
|
@@ -621,15 +621,110 @@ export const backdropSepia = {
|
|
|
621
621
|
titleMs: 'Sepia Latar Belakang',
|
|
622
622
|
description: 'Apply vintage sepia tone to the backdrop',
|
|
623
623
|
descriptionMs: 'Terapkan ton sepia vintaj pada latar belakang',
|
|
624
|
-
html: `<div layout="flex" space="g:medium" visual="rounded:medium">
|
|
625
|
-
<div space="p:small" visual="
|
|
626
|
-
<div space="p:small" visual="
|
|
624
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
625
|
+
<div space="p:small" visual="bg-image:gradient-to-br from:blue-500 to:emerald-500 rounded:small text:white">Original</div>
|
|
626
|
+
<div space="p:small" visual="bg-image:gradient-to-br from:blue-500 to:emerald-500 filter-sepia:full rounded:small text:white">Sepia</div>
|
|
627
627
|
</div>`,
|
|
628
628
|
highlightValue: 'backdrop-sepia:full'
|
|
629
629
|
}
|
|
630
630
|
]
|
|
631
631
|
};
|
|
632
632
|
|
|
633
|
+
// ======================
|
|
634
|
+
// GRADIENT COLOR STOPS
|
|
635
|
+
// ======================
|
|
636
|
+
|
|
637
|
+
export const gradientFrom = {
|
|
638
|
+
name: 'gradient-from',
|
|
639
|
+
property: 'visual',
|
|
640
|
+
syntax: 'visual="from:[color]"',
|
|
641
|
+
description: 'Set gradient start color',
|
|
642
|
+
descriptionMs: 'Tetapkan warna mula gradien',
|
|
643
|
+
category: 'visual',
|
|
644
|
+
usesScale: 'colors',
|
|
645
|
+
supportsArbitrary: true,
|
|
646
|
+
values: [
|
|
647
|
+
{ value: 'primary', css: '--tw-gradient-from: var(--c-primary); --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);', description: 'Start from primary', descriptionMs: 'Mula dari utama' },
|
|
648
|
+
{ value: 'blue-500', css: '--tw-gradient-from: var(--c-blue-500); --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);', description: 'Start from blue', descriptionMs: 'Mula dari biru' }
|
|
649
|
+
],
|
|
650
|
+
examples: [
|
|
651
|
+
{ code: '<div visual="bg-image:gradient-to-r from:blue-500 to:purple-500">Gradient</div>', description: 'Blue to purple gradient' }
|
|
652
|
+
],
|
|
653
|
+
preview: [
|
|
654
|
+
{
|
|
655
|
+
title: 'Gradient From',
|
|
656
|
+
titleMs: 'Mula Gradien',
|
|
657
|
+
description: 'Set the starting color of a gradient',
|
|
658
|
+
descriptionMs: 'Tetapkan warna permulaan gradien',
|
|
659
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
660
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:blue-500 to:purple-500 text:white rounded:small">from:blue-500 to:purple-500</div>
|
|
661
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:emerald-500 to:blue-500 text:white rounded:small">from:emerald-500 to:blue-500</div>
|
|
662
|
+
</div>`,
|
|
663
|
+
highlightValue: 'from:blue-500'
|
|
664
|
+
}
|
|
665
|
+
]
|
|
666
|
+
};
|
|
667
|
+
|
|
668
|
+
export const gradientVia = {
|
|
669
|
+
name: 'gradient-via',
|
|
670
|
+
property: 'visual',
|
|
671
|
+
syntax: 'visual="via:[color]"',
|
|
672
|
+
description: 'Set gradient middle color',
|
|
673
|
+
descriptionMs: 'Tetapkan warna tengah gradien',
|
|
674
|
+
category: 'visual',
|
|
675
|
+
usesScale: 'colors',
|
|
676
|
+
supportsArbitrary: true,
|
|
677
|
+
values: [
|
|
678
|
+
{ value: 'purple-500', css: '--tw-gradient-via: var(--c-purple-500); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to);', description: 'Via purple', descriptionMs: 'Melalui ungu' }
|
|
679
|
+
],
|
|
680
|
+
examples: [
|
|
681
|
+
{ code: '<div visual="bg-image:gradient-to-r from:blue-500 via:purple-500 to:pink-500">Three-color gradient</div>', description: 'Three-color gradient' }
|
|
682
|
+
],
|
|
683
|
+
preview: [
|
|
684
|
+
{
|
|
685
|
+
title: 'Gradient Via',
|
|
686
|
+
titleMs: 'Pertengahan Gradien',
|
|
687
|
+
description: 'Add a middle color stop to gradients',
|
|
688
|
+
descriptionMs: 'Tambah hentian warna tengah pada gradien',
|
|
689
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
690
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:blue-500 via:purple-500 to:pink-500 text:white rounded:small">from:blue via:purple to:pink</div>
|
|
691
|
+
</div>`,
|
|
692
|
+
highlightValue: 'via:purple-500'
|
|
693
|
+
}
|
|
694
|
+
]
|
|
695
|
+
};
|
|
696
|
+
|
|
697
|
+
export const gradientTo = {
|
|
698
|
+
name: 'gradient-to',
|
|
699
|
+
property: 'visual',
|
|
700
|
+
syntax: 'visual="to:[color]"',
|
|
701
|
+
description: 'Set gradient end color',
|
|
702
|
+
descriptionMs: 'Tetapkan warna akhir gradien',
|
|
703
|
+
category: 'visual',
|
|
704
|
+
usesScale: 'colors',
|
|
705
|
+
supportsArbitrary: true,
|
|
706
|
+
values: [
|
|
707
|
+
{ value: 'purple-500', css: '--tw-gradient-to: var(--c-purple-500);', description: 'End at purple', descriptionMs: 'Akhir di ungu' },
|
|
708
|
+
{ value: 'pink-500', css: '--tw-gradient-to: var(--c-pink-500);', description: 'End at pink', descriptionMs: 'Akhir di merah jambu' }
|
|
709
|
+
],
|
|
710
|
+
examples: [
|
|
711
|
+
{ code: '<div visual="bg-image:gradient-to-r from:blue-500 to:purple-500">Blue to purple</div>', description: 'End color' }
|
|
712
|
+
],
|
|
713
|
+
preview: [
|
|
714
|
+
{
|
|
715
|
+
title: 'Gradient To',
|
|
716
|
+
titleMs: 'Akhir Gradien',
|
|
717
|
+
description: 'Set the ending color of a gradient',
|
|
718
|
+
descriptionMs: 'Tetapkan warna pengakhiran gradien',
|
|
719
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
720
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:blue-500 to:purple-500 text:white rounded:small">to:purple-500</div>
|
|
721
|
+
<div space="p:medium" visual="bg-image:gradient-to-r from:blue-500 to:pink-500 text:white rounded:small">to:pink-500</div>
|
|
722
|
+
</div>`,
|
|
723
|
+
highlightValue: 'to:purple-500'
|
|
724
|
+
}
|
|
725
|
+
]
|
|
726
|
+
};
|
|
727
|
+
|
|
633
728
|
// Export all background/backdrop definitions
|
|
634
729
|
export const backgroundDefinitions = {
|
|
635
730
|
backgroundImage,
|
|
@@ -640,6 +735,9 @@ export const backgroundDefinitions = {
|
|
|
640
735
|
backgroundRepeat,
|
|
641
736
|
backgroundSize,
|
|
642
737
|
backgroundBlendMode,
|
|
738
|
+
gradientFrom,
|
|
739
|
+
gradientVia,
|
|
740
|
+
gradientTo,
|
|
643
741
|
backdropBlur,
|
|
644
742
|
backdropBrightness,
|
|
645
743
|
backdropContrast,
|
|
@@ -159,19 +159,98 @@ export const outlineColor = {
|
|
|
159
159
|
description: 'Outline does not affect layout',
|
|
160
160
|
descriptionMs: 'Garis luar tidak mempengaruhi susun atur',
|
|
161
161
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
162
|
-
<button space="p:small" visual="outline:primary bg:white dark:bg:neutral-800 rounded:small"
|
|
162
|
+
<button space="p:small" visual="outline:primary bg:white dark:bg:neutral-800 rounded:small">outline:primary</button>
|
|
163
163
|
</div>`,
|
|
164
164
|
highlightValue: 'outline:primary'
|
|
165
165
|
}
|
|
166
166
|
]
|
|
167
167
|
};
|
|
168
168
|
|
|
169
|
+
// ======================
|
|
170
|
+
// RING (Focus Ring)
|
|
171
|
+
// ======================
|
|
172
|
+
|
|
173
|
+
export const ring = {
|
|
174
|
+
name: 'ring',
|
|
175
|
+
property: 'visual',
|
|
176
|
+
syntax: 'visual="ring:[size]"',
|
|
177
|
+
description: 'Add focus ring around element using box-shadow',
|
|
178
|
+
descriptionMs: 'Tambah cincin fokus pada elemen menggunakan box-shadow',
|
|
179
|
+
category: 'visual',
|
|
180
|
+
usesScale: 'ring',
|
|
181
|
+
supportsArbitrary: true,
|
|
182
|
+
values: [
|
|
183
|
+
{ value: 'none', css: 'box-shadow: 0 0 0 0 transparent;', description: 'No ring', descriptionMs: 'Tiada cincin' },
|
|
184
|
+
{ value: 'thin', css: 'box-shadow: 0 0 0 1px var(--ring-color);', description: 'Thin ring (1px)', descriptionMs: 'Cincin nipis (1px)' },
|
|
185
|
+
{ value: 'regular', css: 'box-shadow: 0 0 0 2px var(--ring-color);', description: 'Regular ring (2px)', descriptionMs: 'Cincin biasa (2px)' },
|
|
186
|
+
{ value: 'small', css: 'box-shadow: 0 0 0 4px var(--ring-color);', description: 'Small ring (4px)', descriptionMs: 'Cincin kecil (4px)' },
|
|
187
|
+
{ value: 'medium', css: 'box-shadow: 0 0 0 6px var(--ring-color);', description: 'Medium ring (6px)', descriptionMs: 'Cincin sederhana (6px)' },
|
|
188
|
+
{ value: 'big', css: 'box-shadow: 0 0 0 8px var(--ring-color);', description: 'Big ring (8px)', descriptionMs: 'Cincin besar (8px)' }
|
|
189
|
+
],
|
|
190
|
+
examples: [
|
|
191
|
+
{ code: '<button visual="focus-visible:ring:small ring-color:primary">Focus me</button>', description: 'Focus ring on keyboard focus' },
|
|
192
|
+
{ code: '<input visual="focus:ring:regular ring-color:blue-500">', description: 'Input with focus ring' }
|
|
193
|
+
],
|
|
194
|
+
preview: [
|
|
195
|
+
{
|
|
196
|
+
title: 'Focus Ring',
|
|
197
|
+
titleMs: 'Cincin Fokus',
|
|
198
|
+
description: 'Ring appears on keyboard focus (try Tab key)',
|
|
199
|
+
descriptionMs: 'Cincin muncul pada fokus papan kekunci (cuba kekunci Tab)',
|
|
200
|
+
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
201
|
+
<button space="p:small p-x:medium" visual="bg:primary text:white rounded:small focus-visible:ring:small ring-color:blue-300">Tab to me</button>
|
|
202
|
+
<button space="p:small p-x:medium" visual="bg:white dark:bg:neutral-800 border:neutral-300 border-w:thin rounded:small focus-visible:ring:small ring-color:primary">Or me</button>
|
|
203
|
+
</div>`,
|
|
204
|
+
highlightValue: 'focus-visible:ring:small'
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
export const ringColor = {
|
|
210
|
+
name: 'ring-color',
|
|
211
|
+
property: 'visual',
|
|
212
|
+
syntax: 'visual="ring-color:[color]"',
|
|
213
|
+
description: 'Set ring color',
|
|
214
|
+
descriptionMs: 'Tetapkan warna cincin',
|
|
215
|
+
category: 'visual',
|
|
216
|
+
usesScale: 'colors',
|
|
217
|
+
supportsArbitrary: true,
|
|
218
|
+
values: [
|
|
219
|
+
{ value: 'primary', css: '--ring-color: var(--c-primary);', description: 'Primary ring color', descriptionMs: 'Warna cincin utama' },
|
|
220
|
+
{ value: 'blue-500', css: '--ring-color: var(--c-blue-500);', description: 'Blue ring color', descriptionMs: 'Warna cincin biru' }
|
|
221
|
+
],
|
|
222
|
+
examples: [
|
|
223
|
+
{ code: '<button visual="ring:small ring-color:primary">Colored ring</button>', description: 'Ring with custom color' }
|
|
224
|
+
]
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export const ringOffset = {
|
|
228
|
+
name: 'ring-offset',
|
|
229
|
+
property: 'visual',
|
|
230
|
+
syntax: 'visual="ring-offset:[size]"',
|
|
231
|
+
description: 'Add gap between ring and element',
|
|
232
|
+
descriptionMs: 'Tambah ruang antara cincin dan elemen',
|
|
233
|
+
category: 'visual',
|
|
234
|
+
supportsArbitrary: true,
|
|
235
|
+
values: [
|
|
236
|
+
{ value: '0', css: '--ring-offset: 0px;', description: 'No offset', descriptionMs: 'Tiada ruang' },
|
|
237
|
+
{ value: '2', css: '--ring-offset: 2px;', description: '2px offset', descriptionMs: 'Ruang 2px' },
|
|
238
|
+
{ value: '4', css: '--ring-offset: 4px;', description: '4px offset', descriptionMs: 'Ruang 4px' }
|
|
239
|
+
],
|
|
240
|
+
examples: [
|
|
241
|
+
{ code: '<button visual="ring:small ring-offset:2 ring-color:primary">With offset</button>', description: 'Ring with offset' }
|
|
242
|
+
]
|
|
243
|
+
};
|
|
244
|
+
|
|
169
245
|
// Export all border definitions
|
|
170
246
|
export const borderDefinitions = {
|
|
171
247
|
borderColor,
|
|
172
248
|
borderWidth,
|
|
173
249
|
borderStyle,
|
|
174
|
-
outlineColor
|
|
250
|
+
outlineColor,
|
|
251
|
+
ring,
|
|
252
|
+
ringColor,
|
|
253
|
+
ringOffset
|
|
175
254
|
};
|
|
176
255
|
|
|
177
256
|
export default borderDefinitions;
|
|
@@ -32,9 +32,9 @@ export const filterBrightness = {
|
|
|
32
32
|
description: 'Adjust element brightness',
|
|
33
33
|
descriptionMs: 'Laraskan kecerahan elemen',
|
|
34
34
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
35
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
35
|
+
<div space="p:small" visual="bg:primary text:white rounded:small brightness:dim">dim</div>
|
|
36
36
|
<div space="p:small" visual="bg:primary text:white rounded:small">normal</div>
|
|
37
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
37
|
+
<div space="p:small" visual="bg:primary text:white rounded:small brightness:vivid">vivid</div>
|
|
38
38
|
</div>`,
|
|
39
39
|
highlightValue: 'brightness:bright'
|
|
40
40
|
}
|
|
@@ -70,9 +70,9 @@ export const filterContrast = {
|
|
|
70
70
|
description: 'Adjust element contrast',
|
|
71
71
|
descriptionMs: 'Laraskan kontras elemen',
|
|
72
72
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
73
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
73
|
+
<div space="p:small" visual="bg:primary text:white rounded:small contrast:low">low</div>
|
|
74
74
|
<div space="p:small" visual="bg:primary text:white rounded:small">normal</div>
|
|
75
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
75
|
+
<div space="p:small" visual="bg:primary text:white rounded:small contrast:max">high</div>
|
|
76
76
|
</div>`,
|
|
77
77
|
highlightValue: 'contrast:high'
|
|
78
78
|
}
|
|
@@ -107,8 +107,8 @@ export const filterGrayscale = {
|
|
|
107
107
|
descriptionMs: 'Tukar ke skala kelabu',
|
|
108
108
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
109
109
|
<div space="p:small" visual="bg:primary text:white rounded:small">none</div>
|
|
110
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
111
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
110
|
+
<div space="p:small" visual="bg:primary text:white rounded:small grayscale:partial">partial</div>
|
|
111
|
+
<div space="p:small" visual="bg:primary text:white rounded:small grayscale:full">full</div>
|
|
112
112
|
</div>`,
|
|
113
113
|
highlightValue: 'grayscale:full'
|
|
114
114
|
}
|
|
@@ -144,8 +144,8 @@ export const filterHueRotate = {
|
|
|
144
144
|
descriptionMs: 'Putar rona warna',
|
|
145
145
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
146
146
|
<div space="p:small" visual="bg:primary text:white rounded:small">0°</div>
|
|
147
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
148
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
147
|
+
<div space="p:small" visual="bg:primary text:white rounded:small hue-rotate:90">90°</div>
|
|
148
|
+
<div space="p:small" visual="bg:primary text:white rounded:small hue-rotate:180">180°</div>
|
|
149
149
|
</div>`,
|
|
150
150
|
highlightValue: 'hue-rotate:90'
|
|
151
151
|
}
|
|
@@ -180,7 +180,7 @@ export const filterInvert = {
|
|
|
180
180
|
descriptionMs: 'Songsangkan warna elemen',
|
|
181
181
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
182
182
|
<div space="p:small" visual="bg:primary text:white rounded:small">none</div>
|
|
183
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
183
|
+
<div space="p:small" visual="bg:primary text:white rounded:small invert:full">full</div>
|
|
184
184
|
</div>`,
|
|
185
185
|
highlightValue: 'invert:full'
|
|
186
186
|
}
|
|
@@ -216,9 +216,9 @@ export const filterSaturate = {
|
|
|
216
216
|
description: 'Adjust color saturation',
|
|
217
217
|
descriptionMs: 'Laraskan ketepuan warna',
|
|
218
218
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
219
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
219
|
+
<div space="p:small" visual="bg:primary text:white rounded:small saturate:none">none</div>
|
|
220
220
|
<div space="p:small" visual="bg:primary text:white rounded:small">normal</div>
|
|
221
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
221
|
+
<div space="p:small" visual="bg:primary text:white rounded:small saturate:vivid">vivid</div>
|
|
222
222
|
</div>`,
|
|
223
223
|
highlightValue: 'saturate:vivid'
|
|
224
224
|
}
|
|
@@ -253,8 +253,8 @@ export const filterSepia = {
|
|
|
253
253
|
descriptionMs: 'Terapkan ton sepia vintaj',
|
|
254
254
|
html: `<div layout="flex" space="g:medium p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
255
255
|
<div space="p:small" visual="bg:primary text:white rounded:small">none</div>
|
|
256
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
257
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
256
|
+
<div space="p:small" visual="bg:primary text:white rounded:small sepia:partial">partial</div>
|
|
257
|
+
<div space="p:small" visual="bg:primary text:white rounded:small sepia:full">full</div>
|
|
258
258
|
</div>`,
|
|
259
259
|
highlightValue: 'sepia:full'
|
|
260
260
|
}
|
|
@@ -291,9 +291,9 @@ export const filterDropShadow = {
|
|
|
291
291
|
description: 'Add shadow to elements',
|
|
292
292
|
descriptionMs: 'Tambah bayang pada elemen',
|
|
293
293
|
html: `<div layout="flex" space="g:medium p:big" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
|
|
294
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
295
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
296
|
-
<div space="p:small" visual="bg:primary text:white rounded:small
|
|
294
|
+
<div space="p:small" visual="bg:primary text:white rounded:small drop-shadow:small">small</div>
|
|
295
|
+
<div space="p:small" visual="bg:primary text:white rounded:small drop-shadow:medium">medium</div>
|
|
296
|
+
<div space="p:small" visual="bg:primary text:white rounded:small drop-shadow:big">big</div>
|
|
297
297
|
</div>`,
|
|
298
298
|
highlightValue: 'drop-shadow:medium'
|
|
299
299
|
}
|