@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
|
@@ -0,0 +1,1718 @@
|
|
|
1
|
+
# @bookklik/senangstart-css
|
|
2
|
+
> Fluent Style Utilities for Humans and AI
|
|
3
|
+
|
|
4
|
+
## Docs
|
|
5
|
+
- [Documentation](https://bookklik-technologies.github.io/senangstart-css/guide)
|
|
6
|
+
|
|
7
|
+
## Source
|
|
8
|
+
- [Repository](https://github.com/bookklik-technologies/senangstart-css)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# Documentation Guides
|
|
12
|
+
|
|
13
|
+
# Framework Overview
|
|
14
|
+
|
|
15
|
+
SenangStart CSS is a utility-first framework that uses **Natural Adjectives** instead of abstract numbers.
|
|
16
|
+
|
|
17
|
+
## Core Philosophy
|
|
18
|
+
- **Natural Scale**: Sizes map to physical mental models (e.g., `tiny` = pebble/4px, `medium` = smartphone/16px, `giant` = door/64px).
|
|
19
|
+
- **Intent-First**: Describe *what* you want ("give it air" -> scale up), not pixels.
|
|
20
|
+
- **Tri-Attribute Syntax**: Separation of concerns into three attributes:
|
|
21
|
+
1. `layout`: Structure & position (flex, grid, block, sticky).
|
|
22
|
+
2. `space`: Sizing, padding, margin, gap.
|
|
23
|
+
3. `visual`: Colors, typography, borders, shadows, effects.
|
|
24
|
+
|
|
25
|
+
## Syntax Reference
|
|
26
|
+
|
|
27
|
+
### 1. Layout Attribute
|
|
28
|
+
Controls internal flow and external positioning.
|
|
29
|
+
- **Flex**: `layout="flex col center"` (Flexbox, column direction, centered).
|
|
30
|
+
- **Grid**: `layout="grid"`
|
|
31
|
+
- **Position**: `layout="absolute z:top"`
|
|
32
|
+
|
|
33
|
+
### 2. Space Attribute
|
|
34
|
+
Controls dimensions and spacing using the Natural Scale.
|
|
35
|
+
- **Syntax**: `[breakpoint]:[property]:[scale]`
|
|
36
|
+
- **Properties**: `p` (padding), `m` (margin), `g` (gap), `w` (width), `h` (height).
|
|
37
|
+
- **Values**:
|
|
38
|
+
- `none` (0px)
|
|
39
|
+
- `thin` (1px), `regular` (2px), `thick` (3px)
|
|
40
|
+
- `tiny` (4px), `tiny-2x` (6px)
|
|
41
|
+
- `small` (8px), `small-2x` (10px), `small-3x` (12px), `small-4x` (14px)
|
|
42
|
+
- `medium` (16px), `medium-2x` (20px), `medium-3x` (24px), `medium-4x` (28px)
|
|
43
|
+
- `large` (32px), `large-2x` (36px), `large-3x` (40px), `large-4x` (44px)
|
|
44
|
+
- `big` (48px), `big-2x` (56px), `big-3x` (64px), `big-4x` (80px)
|
|
45
|
+
- `giant` (96px), `giant-2x` (112px), `giant-3x` (128px), `giant-4x` (144px)
|
|
46
|
+
- `vast` (160px), `vast-2x` (176px), `vast-3x` (192px), `vast-4x` (208px)
|
|
47
|
+
- `vast-5x` (224px), `vast-6x` (240px), `vast-7x` (256px), `vast-8x` (288px)
|
|
48
|
+
- `vast-9x` (320px), `vast-10x` (384px)
|
|
49
|
+
- **Arbitrary**: `space="w:[350px]"`
|
|
50
|
+
|
|
51
|
+
### 3. Visual Attribute
|
|
52
|
+
Controls appearance.
|
|
53
|
+
- **Colors**: `bg:primary`, `text:white`, `border:grey`.
|
|
54
|
+
- **Typography**: `font:bold`, `text-size:big`.
|
|
55
|
+
- **Effects**: `rounded:medium`, `shadow:big`, `opacity:[0.5]`.
|
|
56
|
+
|
|
57
|
+
## Modifiers
|
|
58
|
+
|
|
59
|
+
### Responsive Prefixes
|
|
60
|
+
Mobile-first breakpoints:
|
|
61
|
+
- (default): 0px+
|
|
62
|
+
- `mob:`: 480px+ ("Large Mobile")
|
|
63
|
+
- `tab:`: 768px+ ("Tablet")
|
|
64
|
+
- `lap:`: 1024px+ ("Laptop")
|
|
65
|
+
- `desk:`: 1280px+ ("Desktop")
|
|
66
|
+
|
|
67
|
+
Example: `space="p:small tab:p:medium lap:p:big"`
|
|
68
|
+
|
|
69
|
+
### State Prefixes
|
|
70
|
+
- `hover:`: `visual="bg:primary hover:bg:primary-dark"`
|
|
71
|
+
- `focus:`: `visual="border:grey focus:border:brand"`
|
|
72
|
+
- `active:`, `disabled:`, `group-hover:`
|
|
73
|
+
- `dark:`: `visual="bg:white dark:bg:slate-900"`
|
|
74
|
+
|
|
75
|
+
## Configuration
|
|
76
|
+
Use `senangstart.config.js` to override defaults.
|
|
77
|
+
```js
|
|
78
|
+
export default {
|
|
79
|
+
theme: {
|
|
80
|
+
colors: { brand: '#8B5CF6' },
|
|
81
|
+
spacing: { huge: '256px' }
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
# Utility Definitions
|
|
87
|
+
|
|
88
|
+
## accent-color
|
|
89
|
+
> Set accent color for form controls
|
|
90
|
+
|
|
91
|
+
**Syntax:** `visual="accent:[color]"`
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## align-content
|
|
95
|
+
> Align content rows in multi-line flex container
|
|
96
|
+
|
|
97
|
+
**Syntax:** `layout="content:[value]"`
|
|
98
|
+
|
|
99
|
+
* `start`: Align to start (`align-content: flex-start;`)
|
|
100
|
+
* `end`: Align to end (`align-content: flex-end;`)
|
|
101
|
+
* `center`: Center content (`align-content: center;`)
|
|
102
|
+
* `between`: Space between rows (`align-content: space-between;`)
|
|
103
|
+
* `around`: Space around rows (`align-content: space-around;`)
|
|
104
|
+
* `evenly`: Even spacing (`align-content: space-evenly;`)
|
|
105
|
+
* `stretch`: Stretch rows (`align-content: stretch;`)
|
|
106
|
+
|
|
107
|
+
## align-items
|
|
108
|
+
> Align items along the cross axis
|
|
109
|
+
|
|
110
|
+
**Syntax:** `layout="items:[value]"`
|
|
111
|
+
|
|
112
|
+
* `start`: Align to start (`align-items: flex-start;`)
|
|
113
|
+
* `end`: Align to end (`align-items: flex-end;`)
|
|
114
|
+
* `center`: Center items (`align-items: center;`)
|
|
115
|
+
* `baseline`: Align to baseline (`align-items: baseline;`)
|
|
116
|
+
* `stretch`: Stretch items (`align-items: stretch;`)
|
|
117
|
+
|
|
118
|
+
## align-self
|
|
119
|
+
> Override alignment for a single item
|
|
120
|
+
|
|
121
|
+
**Syntax:** `layout="self:[value]"`
|
|
122
|
+
|
|
123
|
+
* `auto`: Use parent alignment (`align-self: auto;`)
|
|
124
|
+
* `start`: Align to start (`align-self: flex-start;`)
|
|
125
|
+
* `end`: Align to end (`align-self: flex-end;`)
|
|
126
|
+
* `center`: Center item (`align-self: center;`)
|
|
127
|
+
* `baseline`: Align to baseline (`align-self: baseline;`)
|
|
128
|
+
* `stretch`: Stretch item (`align-self: stretch;`)
|
|
129
|
+
|
|
130
|
+
## animation-builtin
|
|
131
|
+
> Apply built-in animations
|
|
132
|
+
|
|
133
|
+
**Syntax:** `visual="animate:[value]"`
|
|
134
|
+
|
|
135
|
+
* `none`: No animation (`animation: none;`)
|
|
136
|
+
* `spin`: Spinning (`animation: spin 1s linear infinite;`)
|
|
137
|
+
* `ping`: Ping effect
|
|
138
|
+
* `pulse`: Pulsing
|
|
139
|
+
* `bounce`: Bouncing (`animation: bounce 1s infinite;`)
|
|
140
|
+
|
|
141
|
+
## animation-delay
|
|
142
|
+
> Set animation delay
|
|
143
|
+
|
|
144
|
+
**Syntax:** `visual="animation-delay:[value]"`
|
|
145
|
+
|
|
146
|
+
* `instant`: 75ms delay (`animation-delay: 75ms;`)
|
|
147
|
+
* `quick`: 100ms delay (`animation-delay: 100ms;`)
|
|
148
|
+
* `fast`: 150ms delay (`animation-delay: 150ms;`)
|
|
149
|
+
* `normal`: 200ms delay (`animation-delay: 200ms;`)
|
|
150
|
+
* `slow`: 300ms delay (`animation-delay: 300ms;`)
|
|
151
|
+
|
|
152
|
+
## animation-direction
|
|
153
|
+
> Set animation direction
|
|
154
|
+
|
|
155
|
+
**Syntax:** `visual="animation-direction:[value]"`
|
|
156
|
+
|
|
157
|
+
* `normal`: Normal direction (`animation-direction: normal;`)
|
|
158
|
+
* `reverse`: Reverse direction (`animation-direction: reverse;`)
|
|
159
|
+
* `alternate`: Alternate direction (`animation-direction: alternate;`)
|
|
160
|
+
* `alternate-reverse`: Alternate reverse (`animation-direction: alternate-reverse;`)
|
|
161
|
+
|
|
162
|
+
## animation-duration
|
|
163
|
+
> Set animation duration
|
|
164
|
+
|
|
165
|
+
**Syntax:** `visual="animation-duration:[value]"`
|
|
166
|
+
|
|
167
|
+
* `instant`: 75ms (`animation-duration: 75ms;`)
|
|
168
|
+
* `quick`: 100ms (`animation-duration: 100ms;`)
|
|
169
|
+
* `fast`: 150ms (`animation-duration: 150ms;`)
|
|
170
|
+
* `normal`: 200ms (`animation-duration: 200ms;`)
|
|
171
|
+
* `slow`: 300ms (`animation-duration: 300ms;`)
|
|
172
|
+
* `slower`: 500ms (`animation-duration: 500ms;`)
|
|
173
|
+
* `lazy`: 700ms (`animation-duration: 700ms;`)
|
|
174
|
+
|
|
175
|
+
## animation-fill
|
|
176
|
+
> Set animation fill mode
|
|
177
|
+
|
|
178
|
+
**Syntax:** `visual="animation-fill:[value]"`
|
|
179
|
+
|
|
180
|
+
* `none`: No fill (`animation-fill-mode: none;`)
|
|
181
|
+
* `forwards`: Keep end state (`animation-fill-mode: forwards;`)
|
|
182
|
+
* `backwards`: Apply start state (`animation-fill-mode: backwards;`)
|
|
183
|
+
* `both`: Both directions (`animation-fill-mode: both;`)
|
|
184
|
+
|
|
185
|
+
## animation-iteration
|
|
186
|
+
> Set animation iteration count
|
|
187
|
+
|
|
188
|
+
**Syntax:** `visual="animation-iteration:[value]"`
|
|
189
|
+
|
|
190
|
+
* `1`: Once (`animation-iteration-count: 1;`)
|
|
191
|
+
* `infinite`: Forever (`animation-iteration-count: infinite;`)
|
|
192
|
+
|
|
193
|
+
## animation-play
|
|
194
|
+
> Control animation play state
|
|
195
|
+
|
|
196
|
+
**Syntax:** `visual="animation-play:[value]"`
|
|
197
|
+
|
|
198
|
+
* `running`: Animation running (`animation-play-state: running;`)
|
|
199
|
+
* `paused`: Animation paused (`animation-play-state: paused;`)
|
|
200
|
+
|
|
201
|
+
## appearance
|
|
202
|
+
> Control native appearance
|
|
203
|
+
|
|
204
|
+
**Syntax:** `visual="appearance:[value]"`
|
|
205
|
+
|
|
206
|
+
* `none`: Remove native styling (`appearance: none;`)
|
|
207
|
+
* `auto`: Default appearance (`appearance: auto;`)
|
|
208
|
+
|
|
209
|
+
## aspect-ratio
|
|
210
|
+
> Set element aspect ratio
|
|
211
|
+
|
|
212
|
+
**Syntax:** `layout="aspect:[value]"`
|
|
213
|
+
|
|
214
|
+
* `auto`: Natural aspect ratio (`aspect-ratio: auto;`)
|
|
215
|
+
* `square`: 1:1 square (`aspect-ratio: 1 / 1;`)
|
|
216
|
+
* `video`: 16:9 video (`aspect-ratio: 16 / 9;`)
|
|
217
|
+
|
|
218
|
+
## backdrop-blur
|
|
219
|
+
> Blur backdrop
|
|
220
|
+
|
|
221
|
+
**Syntax:** `visual="backdrop-blur:[value]"`
|
|
222
|
+
|
|
223
|
+
* `none`: No blur (`backdrop-filter: blur(0);`)
|
|
224
|
+
* `tiny`: Tiny blur (`backdrop-filter: blur(2px);`)
|
|
225
|
+
* `small`: Small blur (`backdrop-filter: blur(4px);`)
|
|
226
|
+
* `medium`: Medium blur (`backdrop-filter: blur(8px);`)
|
|
227
|
+
* `big`: Large blur (`backdrop-filter: blur(12px);`)
|
|
228
|
+
* `giant`: Giant blur (`backdrop-filter: blur(24px);`)
|
|
229
|
+
* `vast`: Vast blur (`backdrop-filter: blur(48px);`)
|
|
230
|
+
|
|
231
|
+
## backdrop-brightness
|
|
232
|
+
> Adjust backdrop brightness
|
|
233
|
+
|
|
234
|
+
**Syntax:** `visual="backdrop-brightness:[value]"`
|
|
235
|
+
|
|
236
|
+
* `dim`: 50% brightness (`backdrop-filter: brightness(0.5);`)
|
|
237
|
+
* `dark`: 75% brightness (`backdrop-filter: brightness(0.75);`)
|
|
238
|
+
* `normal`: Normal brightness (`backdrop-filter: brightness(1);`)
|
|
239
|
+
* `bright`: 125% brightness (`backdrop-filter: brightness(1.25);`)
|
|
240
|
+
* `vivid`: 150% brightness (`backdrop-filter: brightness(1.5);`)
|
|
241
|
+
|
|
242
|
+
## backdrop-contrast
|
|
243
|
+
> Adjust backdrop contrast
|
|
244
|
+
|
|
245
|
+
**Syntax:** `visual="backdrop-contrast:[value]"`
|
|
246
|
+
|
|
247
|
+
* `low`: Low contrast (`backdrop-filter: contrast(0.5);`)
|
|
248
|
+
* `reduced`: Reduced contrast (`backdrop-filter: contrast(0.75);`)
|
|
249
|
+
* `normal`: Normal contrast (`backdrop-filter: contrast(1);`)
|
|
250
|
+
* `high`: High contrast (`backdrop-filter: contrast(1.25);`)
|
|
251
|
+
* `max`: Maximum contrast (`backdrop-filter: contrast(1.5);`)
|
|
252
|
+
|
|
253
|
+
## backdrop-grayscale
|
|
254
|
+
> Apply grayscale to backdrop
|
|
255
|
+
|
|
256
|
+
**Syntax:** `visual="backdrop-grayscale:[value]"`
|
|
257
|
+
|
|
258
|
+
* `none`: No grayscale (`backdrop-filter: grayscale(0%);`)
|
|
259
|
+
* `partial`: 50% grayscale (`backdrop-filter: grayscale(50%);`)
|
|
260
|
+
* `full`: Full grayscale (`backdrop-filter: grayscale(100%);`)
|
|
261
|
+
|
|
262
|
+
## backdrop-hue-rotate
|
|
263
|
+
> Rotate backdrop hue
|
|
264
|
+
|
|
265
|
+
**Syntax:** `visual="backdrop-hue-rotate:[degrees]"`
|
|
266
|
+
|
|
267
|
+
* `0`: No rotation (`backdrop-filter: hue-rotate(0deg);`)
|
|
268
|
+
* `90`: 90° rotation (`backdrop-filter: hue-rotate(90deg);`)
|
|
269
|
+
* `180`: 180° rotation (`backdrop-filter: hue-rotate(180deg);`)
|
|
270
|
+
|
|
271
|
+
## backdrop-invert
|
|
272
|
+
> Invert backdrop colors
|
|
273
|
+
|
|
274
|
+
**Syntax:** `visual="backdrop-invert:[value]"`
|
|
275
|
+
|
|
276
|
+
* `none`: No inversion (`backdrop-filter: invert(0%);`)
|
|
277
|
+
* `partial`: 50% inversion (`backdrop-filter: invert(50%);`)
|
|
278
|
+
* `full`: Full inversion (`backdrop-filter: invert(100%);`)
|
|
279
|
+
|
|
280
|
+
## backdrop-opacity
|
|
281
|
+
> Set backdrop opacity
|
|
282
|
+
|
|
283
|
+
**Syntax:** `visual="backdrop-opacity:[value]"`
|
|
284
|
+
|
|
285
|
+
* `0`: Transparent (`backdrop-filter: opacity(0);`)
|
|
286
|
+
* `50`: 50% opacity (`backdrop-filter: opacity(0.5);`)
|
|
287
|
+
* `100`: Fully opaque (`backdrop-filter: opacity(1);`)
|
|
288
|
+
|
|
289
|
+
## backdrop-saturate
|
|
290
|
+
> Adjust backdrop saturation
|
|
291
|
+
|
|
292
|
+
**Syntax:** `visual="backdrop-saturate:[value]"`
|
|
293
|
+
|
|
294
|
+
* `none`: Desaturated (`backdrop-filter: saturate(0);`)
|
|
295
|
+
* `low`: Low saturation (`backdrop-filter: saturate(0.5);`)
|
|
296
|
+
* `normal`: Normal saturation (`backdrop-filter: saturate(1);`)
|
|
297
|
+
* `high`: High saturation (`backdrop-filter: saturate(1.5);`)
|
|
298
|
+
* `vivid`: Very saturated (`backdrop-filter: saturate(2);`)
|
|
299
|
+
|
|
300
|
+
## backdrop-sepia
|
|
301
|
+
> Apply sepia to backdrop
|
|
302
|
+
|
|
303
|
+
**Syntax:** `visual="backdrop-sepia:[value]"`
|
|
304
|
+
|
|
305
|
+
* `none`: No sepia (`backdrop-filter: sepia(0%);`)
|
|
306
|
+
* `partial`: 50% sepia (`backdrop-filter: sepia(50%);`)
|
|
307
|
+
* `full`: Full sepia (`backdrop-filter: sepia(100%);`)
|
|
308
|
+
|
|
309
|
+
## background-attachment
|
|
310
|
+
> Set background attachment behavior
|
|
311
|
+
|
|
312
|
+
**Syntax:** `visual="bg-attachment:[value]"`
|
|
313
|
+
|
|
314
|
+
* `fixed`: Fixed background (`background-attachment: fixed;`)
|
|
315
|
+
* `local`: Local scroll (`background-attachment: local;`)
|
|
316
|
+
* `scroll`: Scroll with page (`background-attachment: scroll;`)
|
|
317
|
+
|
|
318
|
+
## background-blend-mode
|
|
319
|
+
> Set background blend mode
|
|
320
|
+
|
|
321
|
+
**Syntax:** `visual="bg-blend:[value]"`
|
|
322
|
+
|
|
323
|
+
* `normal`: Normal blend (`background-blend-mode: normal;`)
|
|
324
|
+
* `multiply`: Multiply blend (`background-blend-mode: multiply;`)
|
|
325
|
+
* `screen`: Screen blend (`background-blend-mode: screen;`)
|
|
326
|
+
* `overlay`: Overlay blend (`background-blend-mode: overlay;`)
|
|
327
|
+
* `darken`: Darken blend (`background-blend-mode: darken;`)
|
|
328
|
+
* `lighten`: Lighten blend (`background-blend-mode: lighten;`)
|
|
329
|
+
|
|
330
|
+
## background-clip
|
|
331
|
+
> Set background clipping area
|
|
332
|
+
|
|
333
|
+
**Syntax:** `visual="bg-clip:[value]"`
|
|
334
|
+
|
|
335
|
+
* `border`: Clip to border (`background-clip: border-box;`)
|
|
336
|
+
* `padding`: Clip to padding (`background-clip: padding-box;`)
|
|
337
|
+
* `content`: Clip to content (`background-clip: content-box;`)
|
|
338
|
+
* `text`: Clip to text
|
|
339
|
+
|
|
340
|
+
## background-color
|
|
341
|
+
> Set background color
|
|
342
|
+
|
|
343
|
+
**Syntax:** `visual="bg:[color]"`
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
## background-image
|
|
347
|
+
> Set background image or gradient
|
|
348
|
+
|
|
349
|
+
**Syntax:** `visual="bg-image:[value]"`
|
|
350
|
+
|
|
351
|
+
* `none`: No background image (`background-image: none;`)
|
|
352
|
+
* `gradient-to-t`: Gradient to top
|
|
353
|
+
* `gradient-to-b`: Gradient to bottom
|
|
354
|
+
* `gradient-to-l`: Gradient to left
|
|
355
|
+
* `gradient-to-r`: Gradient to right
|
|
356
|
+
|
|
357
|
+
## background-origin
|
|
358
|
+
> Set background positioning origin
|
|
359
|
+
|
|
360
|
+
**Syntax:** `visual="bg-origin:[value]"`
|
|
361
|
+
|
|
362
|
+
* `border`: Origin at border (`background-origin: border-box;`)
|
|
363
|
+
* `padding`: Origin at padding (`background-origin: padding-box;`)
|
|
364
|
+
* `content`: Origin at content (`background-origin: content-box;`)
|
|
365
|
+
|
|
366
|
+
## background-position
|
|
367
|
+
> Set background position
|
|
368
|
+
|
|
369
|
+
**Syntax:** `visual="bg-pos:[value]"`
|
|
370
|
+
|
|
371
|
+
* `center`: Center position (`background-position: center;`)
|
|
372
|
+
* `top`: Top position (`background-position: top;`)
|
|
373
|
+
* `bottom`: Bottom position (`background-position: bottom;`)
|
|
374
|
+
* `left`: Left position (`background-position: left;`)
|
|
375
|
+
* `right`: Right position (`background-position: right;`)
|
|
376
|
+
* `top-left`: Top left (`background-position: top left;`)
|
|
377
|
+
* `top-right`: Top right (`background-position: top right;`)
|
|
378
|
+
* `bottom-left`: Bottom left (`background-position: bottom left;`)
|
|
379
|
+
* `bottom-right`: Bottom right (`background-position: bottom right;`)
|
|
380
|
+
|
|
381
|
+
## background-repeat
|
|
382
|
+
> Set background repeat behavior
|
|
383
|
+
|
|
384
|
+
**Syntax:** `visual="bg-repeat:[value]"`
|
|
385
|
+
|
|
386
|
+
* `repeat`: Repeat both axes (`background-repeat: repeat;`)
|
|
387
|
+
* `no-repeat`: No repeat (`background-repeat: no-repeat;`)
|
|
388
|
+
* `repeat-x`: Repeat horizontally (`background-repeat: repeat-x;`)
|
|
389
|
+
* `repeat-y`: Repeat vertically (`background-repeat: repeat-y;`)
|
|
390
|
+
* `round`: Round repeat (`background-repeat: round;`)
|
|
391
|
+
* `space`: Spaced repeat (`background-repeat: space;`)
|
|
392
|
+
|
|
393
|
+
## background-size
|
|
394
|
+
> Set background size
|
|
395
|
+
|
|
396
|
+
**Syntax:** `visual="bg-size:[value]"`
|
|
397
|
+
|
|
398
|
+
* `auto`: Original size (`background-size: auto;`)
|
|
399
|
+
* `cover`: Cover container (`background-size: cover;`)
|
|
400
|
+
* `contain`: Contain in container (`background-size: contain;`)
|
|
401
|
+
|
|
402
|
+
## blend-modes
|
|
403
|
+
> Set mix blend mode
|
|
404
|
+
|
|
405
|
+
**Syntax:** `visual="mix-blend:[value]"`
|
|
406
|
+
|
|
407
|
+
* `normal`: Normal blend (`mix-blend-mode: normal;`)
|
|
408
|
+
* `multiply`: Multiply blend (`mix-blend-mode: multiply;`)
|
|
409
|
+
* `screen`: Screen blend (`mix-blend-mode: screen;`)
|
|
410
|
+
* `overlay`: Overlay blend (`mix-blend-mode: overlay;`)
|
|
411
|
+
* `darken`: Darken blend (`mix-blend-mode: darken;`)
|
|
412
|
+
* `lighten`: Lighten blend (`mix-blend-mode: lighten;`)
|
|
413
|
+
|
|
414
|
+
## border
|
|
415
|
+
> Set border color for all sides or specific sides
|
|
416
|
+
|
|
417
|
+
**Syntax:** `visual="border:[color]" | visual="border-{t|b|l|r|x|y}:[color]"`
|
|
418
|
+
|
|
419
|
+
* `primary`: Primary color border
|
|
420
|
+
* `gray-300`: Light gray border
|
|
421
|
+
* `danger`: Danger/error border
|
|
422
|
+
|
|
423
|
+
## border-collapse
|
|
424
|
+
> Control table border collapse
|
|
425
|
+
|
|
426
|
+
**Syntax:** `layout="border:[value]"`
|
|
427
|
+
|
|
428
|
+
* `collapse`: Collapse borders (`border-collapse: collapse;`)
|
|
429
|
+
* `separate`: Separate borders (`border-collapse: separate;`)
|
|
430
|
+
|
|
431
|
+
## border-radius
|
|
432
|
+
> Set border radius
|
|
433
|
+
|
|
434
|
+
**Syntax:** `visual="rounded:[value]"`
|
|
435
|
+
|
|
436
|
+
* `none`: No rounding (`border-radius: var(--r-none);`)
|
|
437
|
+
* `small`: Small radius (`border-radius: var(--r-small);`)
|
|
438
|
+
* `medium`: Medium radius (`border-radius: var(--r-medium);`)
|
|
439
|
+
* `big`: Large radius (`border-radius: var(--r-big);`)
|
|
440
|
+
* `round`: Fully round (`border-radius: var(--r-round);`)
|
|
441
|
+
|
|
442
|
+
## border-spacing
|
|
443
|
+
> Control spacing between table borders
|
|
444
|
+
|
|
445
|
+
**Syntax:** `layout="border-spacing:[value]"`
|
|
446
|
+
|
|
447
|
+
* `border-spacing`: All spacing (`border-spacing: {value};`)
|
|
448
|
+
* `border-spacing-x`: Horizontal spacing (`border-spacing: {value} 0;`)
|
|
449
|
+
* `border-spacing-y`: Vertical spacing (`border-spacing: 0 {value};`)
|
|
450
|
+
|
|
451
|
+
## border-style
|
|
452
|
+
> Set border style
|
|
453
|
+
|
|
454
|
+
**Syntax:** `visual="border-style:[value]"`
|
|
455
|
+
|
|
456
|
+
* `solid`: Solid border (`border-style: solid;`)
|
|
457
|
+
* `dashed`: Dashed border (`border-style: dashed;`)
|
|
458
|
+
* `dotted`: Dotted border (`border-style: dotted;`)
|
|
459
|
+
* `double`: Double border (`border-style: double;`)
|
|
460
|
+
* `none`: No border (`border-style: none;`)
|
|
461
|
+
|
|
462
|
+
## border-width
|
|
463
|
+
> Set border width for all sides or specific sides
|
|
464
|
+
|
|
465
|
+
**Syntax:** `visual="border-w:[value]" | visual="border-{t|b|l|r|x|y}-w:[value]"`
|
|
466
|
+
|
|
467
|
+
* `none`: No border (0px) (`border-width: var(--s-none);`)
|
|
468
|
+
* `thin`: Thin border (1px) (`border-width: var(--s-thin);`)
|
|
469
|
+
* `regular`: Standard border (2px) (`border-width: var(--s-regular);`)
|
|
470
|
+
* `thick`: Thick border (3px) (`border-width: var(--s-thick);`)
|
|
471
|
+
|
|
472
|
+
## box-shadow
|
|
473
|
+
> Add box shadow
|
|
474
|
+
|
|
475
|
+
**Syntax:** `visual="shadow:[value]"`
|
|
476
|
+
|
|
477
|
+
* `none`: No shadow (`box-shadow: var(--shadow-none);`)
|
|
478
|
+
* `small`: Small shadow (`box-shadow: var(--shadow-small);`)
|
|
479
|
+
* `medium`: Medium shadow (`box-shadow: var(--shadow-medium);`)
|
|
480
|
+
* `big`: Large shadow (`box-shadow: var(--shadow-big);`)
|
|
481
|
+
* `giant`: Giant shadow (`box-shadow: var(--shadow-giant);`)
|
|
482
|
+
|
|
483
|
+
## box-sizing
|
|
484
|
+
> Control how width and height are calculated
|
|
485
|
+
|
|
486
|
+
**Syntax:** `layout="box:[value]"`
|
|
487
|
+
|
|
488
|
+
* `border`: Include padding and border in size (`box-sizing: border-box;`)
|
|
489
|
+
* `content`: Exclude padding and border (`box-sizing: content-box;`)
|
|
490
|
+
|
|
491
|
+
## caption-side
|
|
492
|
+
> Control table caption position
|
|
493
|
+
|
|
494
|
+
**Syntax:** `layout="caption:[value]"`
|
|
495
|
+
|
|
496
|
+
* `top`: Caption on top (`caption-side: top;`)
|
|
497
|
+
* `bottom`: Caption on bottom (`caption-side: bottom;`)
|
|
498
|
+
|
|
499
|
+
## caret-color
|
|
500
|
+
> Set text input caret color
|
|
501
|
+
|
|
502
|
+
**Syntax:** `visual="caret:[color]"`
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
## color-scheme
|
|
506
|
+
> Set preferred color scheme
|
|
507
|
+
|
|
508
|
+
**Syntax:** `visual="color-scheme:[value]"`
|
|
509
|
+
|
|
510
|
+
* `light`: Light mode (`color-scheme: light;`)
|
|
511
|
+
* `dark`: Dark mode (`color-scheme: dark;`)
|
|
512
|
+
* `normal`: System default (`color-scheme: normal;`)
|
|
513
|
+
|
|
514
|
+
## columns
|
|
515
|
+
> Create multi-column layouts
|
|
516
|
+
|
|
517
|
+
**Syntax:** `layout="cols:[value]"`
|
|
518
|
+
|
|
519
|
+
* `1-12`: N columns (`columns: {n};`)
|
|
520
|
+
* `auto`: Auto columns (`columns: auto;`)
|
|
521
|
+
|
|
522
|
+
## container
|
|
523
|
+
> Create a centered container with max-width
|
|
524
|
+
|
|
525
|
+
**Syntax:** `layout="container"`
|
|
526
|
+
|
|
527
|
+
* `container`: Centered container
|
|
528
|
+
|
|
529
|
+
## cursor
|
|
530
|
+
> Set cursor style
|
|
531
|
+
|
|
532
|
+
**Syntax:** `visual="cursor:[value]"`
|
|
533
|
+
|
|
534
|
+
* `auto`: Auto cursor (`cursor: auto;`)
|
|
535
|
+
* `default`: Default cursor (`cursor: default;`)
|
|
536
|
+
* `pointer`: Pointer cursor (`cursor: pointer;`)
|
|
537
|
+
* `wait`: Wait cursor (`cursor: wait;`)
|
|
538
|
+
* `text`: Text cursor (`cursor: text;`)
|
|
539
|
+
* `move`: Move cursor (`cursor: move;`)
|
|
540
|
+
* `not-allowed`: Not allowed (`cursor: not-allowed;`)
|
|
541
|
+
* `grab`: Grab cursor (`cursor: grab;`)
|
|
542
|
+
* `grabbing`: Grabbing cursor (`cursor: grabbing;`)
|
|
543
|
+
|
|
544
|
+
## display
|
|
545
|
+
> Control the display type of elements
|
|
546
|
+
|
|
547
|
+
**Syntax:** `layout="[display-value]"`
|
|
548
|
+
|
|
549
|
+
* `flex`: Flexbox container (`display: flex;`)
|
|
550
|
+
* `inline-flex`: Inline flexbox container (`display: inline-flex;`)
|
|
551
|
+
* `grid`: Grid container (`display: grid;`)
|
|
552
|
+
* `inline-grid`: Inline grid container (`display: inline-grid;`)
|
|
553
|
+
* `block`: Block element (`display: block;`)
|
|
554
|
+
* `inline`: Inline block element (`display: inline-block;`)
|
|
555
|
+
* `hidden`: Hidden element (`display: none;`)
|
|
556
|
+
|
|
557
|
+
## field-sizing
|
|
558
|
+
> Control form field sizing
|
|
559
|
+
|
|
560
|
+
**Syntax:** `visual="field-sizing:[value]"`
|
|
561
|
+
|
|
562
|
+
* `fixed`: Fixed size (`field-sizing: fixed;`)
|
|
563
|
+
* `content`: Size to content (`field-sizing: content;`)
|
|
564
|
+
|
|
565
|
+
## fill
|
|
566
|
+
> Set SVG fill color
|
|
567
|
+
|
|
568
|
+
**Syntax:** `visual="fill:[color]"`
|
|
569
|
+
|
|
570
|
+
* `none`: No fill (`fill: none;`)
|
|
571
|
+
* `current`: Current color (`fill: currentColor;`)
|
|
572
|
+
|
|
573
|
+
## filter-blur
|
|
574
|
+
> Apply blur filter
|
|
575
|
+
|
|
576
|
+
**Syntax:** `visual="blur:[value]"`
|
|
577
|
+
|
|
578
|
+
* `none`: No blur (`filter: blur(0);`)
|
|
579
|
+
* `tiny`: Tiny blur (`filter: blur(2px);`)
|
|
580
|
+
* `small`: Small blur (`filter: blur(4px);`)
|
|
581
|
+
* `medium`: Medium blur (`filter: blur(8px);`)
|
|
582
|
+
* `big`: Large blur (`filter: blur(12px);`)
|
|
583
|
+
* `giant`: Giant blur (`filter: blur(24px);`)
|
|
584
|
+
* `vast`: Vast blur (`filter: blur(48px);`)
|
|
585
|
+
|
|
586
|
+
## filter-brightness
|
|
587
|
+
> Adjust brightness
|
|
588
|
+
|
|
589
|
+
**Syntax:** `visual="brightness:[value]"`
|
|
590
|
+
|
|
591
|
+
* `dim`: 50% brightness (`filter: brightness(0.5);`)
|
|
592
|
+
* `dark`: 75% brightness (`filter: brightness(0.75);`)
|
|
593
|
+
* `normal`: Normal brightness (`filter: brightness(1);`)
|
|
594
|
+
* `bright`: 125% brightness (`filter: brightness(1.25);`)
|
|
595
|
+
* `vivid`: 150% brightness (`filter: brightness(1.5);`)
|
|
596
|
+
|
|
597
|
+
## filter-contrast
|
|
598
|
+
> Adjust contrast
|
|
599
|
+
|
|
600
|
+
**Syntax:** `visual="contrast:[value]"`
|
|
601
|
+
|
|
602
|
+
* `low`: Low contrast (`filter: contrast(0.5);`)
|
|
603
|
+
* `reduced`: Reduced contrast (`filter: contrast(0.75);`)
|
|
604
|
+
* `normal`: Normal contrast (`filter: contrast(1);`)
|
|
605
|
+
* `high`: High contrast (`filter: contrast(1.25);`)
|
|
606
|
+
* `max`: Maximum contrast (`filter: contrast(1.5);`)
|
|
607
|
+
|
|
608
|
+
## filter-drop-shadow
|
|
609
|
+
> Add drop shadow
|
|
610
|
+
|
|
611
|
+
**Syntax:** `visual="drop-shadow:[value]"`
|
|
612
|
+
|
|
613
|
+
* `none`: No shadow (`filter: drop-shadow(none);`)
|
|
614
|
+
* `tiny`: Tiny shadow (`filter: drop-shadow(0 1px 1px rgba(0,0,0,0.05));`)
|
|
615
|
+
* `small`: Small shadow (`filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));`)
|
|
616
|
+
* `medium`: Medium shadow (`filter: drop-shadow(0 4px 3px rgba(0,0,0,0.07));`)
|
|
617
|
+
* `big`: Large shadow (`filter: drop-shadow(0 10px 8px rgba(0,0,0,0.04));`)
|
|
618
|
+
* `giant`: Giant shadow
|
|
619
|
+
|
|
620
|
+
## filter-grayscale
|
|
621
|
+
> Apply grayscale filter
|
|
622
|
+
|
|
623
|
+
**Syntax:** `visual="grayscale:[value]"`
|
|
624
|
+
|
|
625
|
+
* `none`: No grayscale (`filter: grayscale(0%);`)
|
|
626
|
+
* `partial`: 50% grayscale (`filter: grayscale(50%);`)
|
|
627
|
+
* `full`: Full grayscale (`filter: grayscale(100%);`)
|
|
628
|
+
|
|
629
|
+
## filter-hue-rotate
|
|
630
|
+
> Rotate hue colors
|
|
631
|
+
|
|
632
|
+
**Syntax:** `visual="hue-rotate:[degrees]"`
|
|
633
|
+
|
|
634
|
+
* `0`: No rotation (`filter: hue-rotate(0deg);`)
|
|
635
|
+
* `90`: 90° rotation (`filter: hue-rotate(90deg);`)
|
|
636
|
+
* `180`: 180° rotation (`filter: hue-rotate(180deg);`)
|
|
637
|
+
|
|
638
|
+
## filter-invert
|
|
639
|
+
> Invert colors
|
|
640
|
+
|
|
641
|
+
**Syntax:** `visual="invert:[value]"`
|
|
642
|
+
|
|
643
|
+
* `none`: No inversion (`filter: invert(0%);`)
|
|
644
|
+
* `partial`: 50% inversion (`filter: invert(50%);`)
|
|
645
|
+
* `full`: Full inversion (`filter: invert(100%);`)
|
|
646
|
+
|
|
647
|
+
## filter-saturate
|
|
648
|
+
> Adjust saturation
|
|
649
|
+
|
|
650
|
+
**Syntax:** `visual="saturate:[value]"`
|
|
651
|
+
|
|
652
|
+
* `none`: Desaturated (`filter: saturate(0);`)
|
|
653
|
+
* `low`: Low saturation (`filter: saturate(0.5);`)
|
|
654
|
+
* `normal`: Normal saturation (`filter: saturate(1);`)
|
|
655
|
+
* `high`: High saturation (`filter: saturate(1.5);`)
|
|
656
|
+
* `vivid`: Very saturated (`filter: saturate(2);`)
|
|
657
|
+
|
|
658
|
+
## filter-sepia
|
|
659
|
+
> Apply sepia filter
|
|
660
|
+
|
|
661
|
+
**Syntax:** `visual="sepia:[value]"`
|
|
662
|
+
|
|
663
|
+
* `none`: No sepia (`filter: sepia(0%);`)
|
|
664
|
+
* `partial`: 50% sepia (`filter: sepia(50%);`)
|
|
665
|
+
* `full`: Full sepia (`filter: sepia(100%);`)
|
|
666
|
+
|
|
667
|
+
## flex
|
|
668
|
+
> Flex shorthand property
|
|
669
|
+
|
|
670
|
+
**Syntax:** `layout="flex:[value]"`
|
|
671
|
+
|
|
672
|
+
* `1`: Flex 1 (`flex: 1 1 0%;`)
|
|
673
|
+
* `auto`: Flex auto (`flex: 1 1 auto;`)
|
|
674
|
+
* `initial`: Initial flex (`flex: 0 1 auto;`)
|
|
675
|
+
* `none`: No flex (`flex: none;`)
|
|
676
|
+
|
|
677
|
+
## flex-basis
|
|
678
|
+
> Set initial size of flex item
|
|
679
|
+
|
|
680
|
+
**Syntax:** `layout="basis:[value]"`
|
|
681
|
+
|
|
682
|
+
* `auto`: Auto basis (`flex-basis: auto;`)
|
|
683
|
+
* `0`: Zero basis (`flex-basis: 0;`)
|
|
684
|
+
|
|
685
|
+
## flex-direction
|
|
686
|
+
> Set the direction of flex items
|
|
687
|
+
|
|
688
|
+
**Syntax:** `layout="[direction]"`
|
|
689
|
+
|
|
690
|
+
* `row`: Horizontal (default) (`flex-direction: row;`)
|
|
691
|
+
* `col`: Vertical (`flex-direction: column;`)
|
|
692
|
+
* `row-reverse`: Horizontal reversed (`flex-direction: row-reverse;`)
|
|
693
|
+
* `col-reverse`: Vertical reversed (`flex-direction: column-reverse;`)
|
|
694
|
+
|
|
695
|
+
## flex-items
|
|
696
|
+
> Control flex grow and shrink behavior
|
|
697
|
+
|
|
698
|
+
**Syntax:** `layout="[flex-item-value]"`
|
|
699
|
+
|
|
700
|
+
* `grow`: Allow item to grow (`flex-grow: 1;`)
|
|
701
|
+
* `grow-0`: Prevent growing (`flex-grow: 0;`)
|
|
702
|
+
* `shrink`: Allow item to shrink (`flex-shrink: 1;`)
|
|
703
|
+
* `shrink-0`: Prevent shrinking (`flex-shrink: 0;`)
|
|
704
|
+
|
|
705
|
+
## flex-wrap
|
|
706
|
+
> Control how flex items wrap
|
|
707
|
+
|
|
708
|
+
**Syntax:** `layout="[wrap-value]"`
|
|
709
|
+
|
|
710
|
+
* `wrap`: Allow wrapping (`flex-wrap: wrap;`)
|
|
711
|
+
* `nowrap`: Prevent wrapping (`flex-wrap: nowrap;`)
|
|
712
|
+
* `wrap-reverse`: Wrap in reverse (`flex-wrap: wrap-reverse;`)
|
|
713
|
+
|
|
714
|
+
## float-clear
|
|
715
|
+
> Control element floating and clearing
|
|
716
|
+
|
|
717
|
+
**Syntax:** `layout="float:[value]" or layout="clear:[value]"`
|
|
718
|
+
|
|
719
|
+
* `left`: Float left (`float: left;`)
|
|
720
|
+
* `right`: Float right (`float: right;`)
|
|
721
|
+
* `none`: No float (`float: none;`)
|
|
722
|
+
|
|
723
|
+
## font-family
|
|
724
|
+
> Set font family
|
|
725
|
+
|
|
726
|
+
**Syntax:** `visual="font:[family]"`
|
|
727
|
+
|
|
728
|
+
* `sans`: Sans-serif
|
|
729
|
+
* `serif`: Serif (`font-family: ui-serif, Georgia, serif;`)
|
|
730
|
+
* `mono`: Monospace (`font-family: ui-monospace, monospace;`)
|
|
731
|
+
|
|
732
|
+
## font-smoothing
|
|
733
|
+
> Control font smoothing
|
|
734
|
+
|
|
735
|
+
**Syntax:** `visual="[smoothing-value]"`
|
|
736
|
+
|
|
737
|
+
* `antialiased`: Antialiased
|
|
738
|
+
* `subpixel-antialiased`: Subpixel antialiased
|
|
739
|
+
|
|
740
|
+
## font-style
|
|
741
|
+
> Set font style
|
|
742
|
+
|
|
743
|
+
**Syntax:** `visual="[style-value]"`
|
|
744
|
+
|
|
745
|
+
* `italic`: Italic text (`font-style: italic;`)
|
|
746
|
+
* `not-italic`: Normal style (`font-style: normal;`)
|
|
747
|
+
|
|
748
|
+
## font-variant-numeric
|
|
749
|
+
> Control numeric font variants
|
|
750
|
+
|
|
751
|
+
**Syntax:** `visual="[variant-value]"`
|
|
752
|
+
|
|
753
|
+
* `normal-nums`: Normal numbers (`font-variant-numeric: normal;`)
|
|
754
|
+
* `ordinal`: Ordinal markers (`font-variant-numeric: ordinal;`)
|
|
755
|
+
* `slashed-zero`: Slashed zero (`font-variant-numeric: slashed-zero;`)
|
|
756
|
+
* `lining-nums`: Lining numbers (`font-variant-numeric: lining-nums;`)
|
|
757
|
+
* `oldstyle-nums`: Oldstyle numbers (`font-variant-numeric: oldstyle-nums;`)
|
|
758
|
+
* `proportional-nums`: Proportional numbers (`font-variant-numeric: proportional-nums;`)
|
|
759
|
+
* `tabular-nums`: Tabular numbers (`font-variant-numeric: tabular-nums;`)
|
|
760
|
+
|
|
761
|
+
## font-weight
|
|
762
|
+
> Set font weight
|
|
763
|
+
|
|
764
|
+
**Syntax:** `visual="font:[weight]"`
|
|
765
|
+
|
|
766
|
+
* `normal`: Normal weight (`font-weight: var(--fw-normal);`)
|
|
767
|
+
* `medium`: Medium weight (`font-weight: var(--fw-medium);`)
|
|
768
|
+
* `bold`: Bold weight (`font-weight: var(--fw-bold);`)
|
|
769
|
+
|
|
770
|
+
## forced-color-adjust
|
|
771
|
+
> Control forced colors mode behavior
|
|
772
|
+
|
|
773
|
+
**Syntax:** `visual="forced-color:[value]"`
|
|
774
|
+
|
|
775
|
+
* `auto`: Auto adjust (`forced-color-adjust: auto;`)
|
|
776
|
+
* `none`: No adjustment (`forced-color-adjust: none;`)
|
|
777
|
+
|
|
778
|
+
## gap
|
|
779
|
+
> Add gap between flex/grid items
|
|
780
|
+
|
|
781
|
+
**Syntax:** `space="g:[value]" or space="g-{axis}:[value]"`
|
|
782
|
+
|
|
783
|
+
* `undefined`: All gaps (`gap: var(--s-{value});`)
|
|
784
|
+
* `undefined`: Column gap (`column-gap: var(--s-{value});`)
|
|
785
|
+
* `undefined`: Row gap (`row-gap: var(--s-{value});`)
|
|
786
|
+
|
|
787
|
+
## gradient-from
|
|
788
|
+
> Set gradient start color
|
|
789
|
+
|
|
790
|
+
**Syntax:** `visual="from:[color]"`
|
|
791
|
+
|
|
792
|
+
* `primary`: Start from primary
|
|
793
|
+
* `blue-500`: Start from blue
|
|
794
|
+
|
|
795
|
+
## gradient-to
|
|
796
|
+
> Set gradient end color
|
|
797
|
+
|
|
798
|
+
**Syntax:** `visual="to:[color]"`
|
|
799
|
+
|
|
800
|
+
* `purple-500`: End at purple (`--tw-gradient-to: var(--c-purple-500);`)
|
|
801
|
+
* `pink-500`: End at pink (`--tw-gradient-to: var(--c-pink-500);`)
|
|
802
|
+
|
|
803
|
+
## gradient-via
|
|
804
|
+
> Set gradient middle color
|
|
805
|
+
|
|
806
|
+
**Syntax:** `visual="via:[color]"`
|
|
807
|
+
|
|
808
|
+
* `purple-500`: Via purple
|
|
809
|
+
|
|
810
|
+
## grid-auto-flow
|
|
811
|
+
> Control how auto-placed items flow in grid
|
|
812
|
+
|
|
813
|
+
**Syntax:** `layout="grid-flow:[value]"`
|
|
814
|
+
|
|
815
|
+
* `row`: Place by row (`grid-auto-flow: row;`)
|
|
816
|
+
* `col`: Place by column (`grid-auto-flow: column;`)
|
|
817
|
+
* `dense`: Dense packing (`grid-auto-flow: dense;`)
|
|
818
|
+
* `row-dense`: Row with dense (`grid-auto-flow: row dense;`)
|
|
819
|
+
* `col-dense`: Column with dense (`grid-auto-flow: column dense;`)
|
|
820
|
+
|
|
821
|
+
## grid-auto-sizing
|
|
822
|
+
> Control size of auto-generated grid tracks
|
|
823
|
+
|
|
824
|
+
**Syntax:** `layout="auto-cols:[value]" or layout="auto-rows:[value]"`
|
|
825
|
+
|
|
826
|
+
* `auto`: Auto size (`auto`)
|
|
827
|
+
* `min`: Minimum content (`min-content`)
|
|
828
|
+
* `max`: Maximum content (`max-content`)
|
|
829
|
+
* `fr`: Fractional unit (`minmax(0, 1fr)`)
|
|
830
|
+
|
|
831
|
+
## grid-column-span
|
|
832
|
+
> Span across grid columns
|
|
833
|
+
|
|
834
|
+
**Syntax:** `layout="col-span:[value]"`
|
|
835
|
+
|
|
836
|
+
* `1-12`: Span N columns (`grid-column: span {n} / span {n};`)
|
|
837
|
+
* `full`: Span all columns (`grid-column: 1 / -1;`)
|
|
838
|
+
|
|
839
|
+
## grid-columns
|
|
840
|
+
> Define grid template columns
|
|
841
|
+
|
|
842
|
+
**Syntax:** `layout="grid-cols:[value]"`
|
|
843
|
+
|
|
844
|
+
* `1-12`: N equal columns
|
|
845
|
+
* `none`: No columns defined (`grid-template-columns: none;`)
|
|
846
|
+
* `subgrid`: Use parent grid (`grid-template-columns: subgrid;`)
|
|
847
|
+
|
|
848
|
+
## grid-row-span
|
|
849
|
+
> Span across grid rows
|
|
850
|
+
|
|
851
|
+
**Syntax:** `layout="row-span:[value]"`
|
|
852
|
+
|
|
853
|
+
* `1-12`: Span N rows (`grid-row: span {n} / span {n};`)
|
|
854
|
+
* `full`: Span all rows (`grid-row: 1 / -1;`)
|
|
855
|
+
|
|
856
|
+
## grid-rows
|
|
857
|
+
> Define grid template rows
|
|
858
|
+
|
|
859
|
+
**Syntax:** `layout="grid-rows:[value]"`
|
|
860
|
+
|
|
861
|
+
* `1-12`: N equal rows (`grid-template-rows: repeat({n}, minmax(0, 1fr));`)
|
|
862
|
+
* `none`: No rows defined (`grid-template-rows: none;`)
|
|
863
|
+
* `subgrid`: Use parent grid (`grid-template-rows: subgrid;`)
|
|
864
|
+
|
|
865
|
+
## height
|
|
866
|
+
> Set element height
|
|
867
|
+
|
|
868
|
+
**Syntax:** `space="h:[value]"`
|
|
869
|
+
|
|
870
|
+
* `undefined`: Height (`height: var(--s-{value});`)
|
|
871
|
+
* `undefined`: Minimum height (`min-height: var(--s-{value});`)
|
|
872
|
+
* `undefined`: Maximum height (`max-height: var(--s-{value});`)
|
|
873
|
+
|
|
874
|
+
## hyphens
|
|
875
|
+
> Control hyphenation
|
|
876
|
+
|
|
877
|
+
**Syntax:** `visual="hyphens:[value]"`
|
|
878
|
+
|
|
879
|
+
* `none`: No hyphens (`hyphens: none;`)
|
|
880
|
+
* `manual`: Manual hyphens (`hyphens: manual;`)
|
|
881
|
+
* `auto`: Auto hyphens (`hyphens: auto;`)
|
|
882
|
+
|
|
883
|
+
## inset
|
|
884
|
+
> Control positioning offsets
|
|
885
|
+
|
|
886
|
+
**Syntax:** `layout="inset:[value]" or layout="top:[value]"`
|
|
887
|
+
|
|
888
|
+
* `inset`: All sides (`inset: {value};`)
|
|
889
|
+
* `inset-x`: Left and right (`left: {value}; right: {value};`)
|
|
890
|
+
* `inset-y`: Top and bottom (`top: {value}; bottom: {value};`)
|
|
891
|
+
* `top`: Top offset (`top: {value};`)
|
|
892
|
+
* `right`: Right offset (`right: {value};`)
|
|
893
|
+
* `bottom`: Bottom offset (`bottom: {value};`)
|
|
894
|
+
* `left`: Left offset (`left: {value};`)
|
|
895
|
+
|
|
896
|
+
## isolation
|
|
897
|
+
> Create new stacking context
|
|
898
|
+
|
|
899
|
+
**Syntax:** `layout="isolation:[value]"`
|
|
900
|
+
|
|
901
|
+
* `isolate`: Create stacking context (`isolation: isolate;`)
|
|
902
|
+
* `auto`: Auto isolation (`isolation: auto;`)
|
|
903
|
+
|
|
904
|
+
## justify-content
|
|
905
|
+
> Align items along the main axis
|
|
906
|
+
|
|
907
|
+
**Syntax:** `layout="justify:[value]"`
|
|
908
|
+
|
|
909
|
+
* `start`: Align to start (`justify-content: flex-start;`)
|
|
910
|
+
* `end`: Align to end (`justify-content: flex-end;`)
|
|
911
|
+
* `center`: Center items (`justify-content: center;`)
|
|
912
|
+
* `between`: Space between items (`justify-content: space-between;`)
|
|
913
|
+
* `around`: Space around items (`justify-content: space-around;`)
|
|
914
|
+
* `evenly`: Even spacing (`justify-content: space-evenly;`)
|
|
915
|
+
* `stretch`: Stretch items (`justify-content: stretch;`)
|
|
916
|
+
|
|
917
|
+
## justify-items
|
|
918
|
+
> Align grid items on inline axis
|
|
919
|
+
|
|
920
|
+
**Syntax:** `layout="justify-items:[value]"`
|
|
921
|
+
|
|
922
|
+
* `start`: Start alignment (`justify-items: start;`)
|
|
923
|
+
* `end`: End alignment (`justify-items: end;`)
|
|
924
|
+
* `center`: Center alignment (`justify-items: center;`)
|
|
925
|
+
* `stretch`: Stretch items (`justify-items: stretch;`)
|
|
926
|
+
|
|
927
|
+
## justify-self
|
|
928
|
+
> Align single grid item on inline axis
|
|
929
|
+
|
|
930
|
+
**Syntax:** `layout="justify-self:[value]"`
|
|
931
|
+
|
|
932
|
+
* `auto`: Auto alignment (`justify-self: auto;`)
|
|
933
|
+
* `start`: Start alignment (`justify-self: start;`)
|
|
934
|
+
* `end`: End alignment (`justify-self: end;`)
|
|
935
|
+
* `center`: Center alignment (`justify-self: center;`)
|
|
936
|
+
* `stretch`: Stretch item (`justify-self: stretch;`)
|
|
937
|
+
|
|
938
|
+
## letter-spacing
|
|
939
|
+
> Set letter spacing
|
|
940
|
+
|
|
941
|
+
**Syntax:** `visual="tracking:[value]"`
|
|
942
|
+
|
|
943
|
+
* `tighter`: Tighter spacing (`letter-spacing: -0.05em;`)
|
|
944
|
+
* `tight`: Tight spacing (`letter-spacing: -0.025em;`)
|
|
945
|
+
* `normal`: Normal spacing (`letter-spacing: 0;`)
|
|
946
|
+
* `wide`: Wide spacing (`letter-spacing: 0.025em;`)
|
|
947
|
+
* `wider`: Wider spacing (`letter-spacing: 0.05em;`)
|
|
948
|
+
* `widest`: Widest spacing (`letter-spacing: 0.1em;`)
|
|
949
|
+
|
|
950
|
+
## line-clamp
|
|
951
|
+
> Limit text to specific lines
|
|
952
|
+
|
|
953
|
+
**Syntax:** `visual="line-clamp:[value]"`
|
|
954
|
+
|
|
955
|
+
* `1`: Single line
|
|
956
|
+
* `2`: Two lines
|
|
957
|
+
* `3`: Three lines
|
|
958
|
+
* `none`: No clamp
|
|
959
|
+
|
|
960
|
+
## line-height
|
|
961
|
+
> Set line height
|
|
962
|
+
|
|
963
|
+
**Syntax:** `visual="leading:[value]"`
|
|
964
|
+
|
|
965
|
+
* `none`: No extra height (`line-height: 1;`)
|
|
966
|
+
* `tight`: Tight leading (`line-height: 1.25;`)
|
|
967
|
+
* `snug`: Snug leading (`line-height: 1.375;`)
|
|
968
|
+
* `normal`: Normal leading (`line-height: 1.5;`)
|
|
969
|
+
* `relaxed`: Relaxed leading (`line-height: 1.625;`)
|
|
970
|
+
* `loose`: Loose leading (`line-height: 2;`)
|
|
971
|
+
|
|
972
|
+
## list-style
|
|
973
|
+
> Set list style
|
|
974
|
+
|
|
975
|
+
**Syntax:** `visual="list:[value]"`
|
|
976
|
+
|
|
977
|
+
* `none`: No bullets (`list-style-type: none;`)
|
|
978
|
+
* `disc`: Disc bullets (`list-style-type: disc;`)
|
|
979
|
+
* `decimal`: Numbers (`list-style-type: decimal;`)
|
|
980
|
+
* `square`: Square bullets (`list-style-type: square;`)
|
|
981
|
+
* `inside`: Inside position (`list-style-position: inside;`)
|
|
982
|
+
* `outside`: Outside position (`list-style-position: outside;`)
|
|
983
|
+
|
|
984
|
+
## margin
|
|
985
|
+
> Add margin to elements
|
|
986
|
+
|
|
987
|
+
**Syntax:** `space="m:[value]" or space="m-{side}:[value]"`
|
|
988
|
+
|
|
989
|
+
* `undefined`: All sides (`margin: var(--s-{value});`)
|
|
990
|
+
* `undefined`: Top (`margin-top: var(--s-{value});`)
|
|
991
|
+
* `undefined`: Right (`margin-right: var(--s-{value});`)
|
|
992
|
+
* `undefined`: Bottom (`margin-bottom: var(--s-{value});`)
|
|
993
|
+
* `undefined`: Left (`margin-left: var(--s-{value});`)
|
|
994
|
+
* `undefined`: Horizontal
|
|
995
|
+
* `undefined`: Vertical
|
|
996
|
+
|
|
997
|
+
## mask
|
|
998
|
+
> Apply mask to element
|
|
999
|
+
|
|
1000
|
+
**Syntax:** `visual="mask:[value]"`
|
|
1001
|
+
|
|
1002
|
+
* `none`: No mask (`mask-image: none;`)
|
|
1003
|
+
* `fade-y`: Vertical fade
|
|
1004
|
+
* `fade-x`: Horizontal fade
|
|
1005
|
+
|
|
1006
|
+
## object-fit
|
|
1007
|
+
> Control how media content fits its container
|
|
1008
|
+
|
|
1009
|
+
**Syntax:** `layout="object:[value]"`
|
|
1010
|
+
|
|
1011
|
+
* `contain`: Scale to fit, preserve ratio (`object-fit: contain;`)
|
|
1012
|
+
* `cover`: Cover container, may crop (`object-fit: cover;`)
|
|
1013
|
+
* `fill`: Stretch to fill (`object-fit: fill;`)
|
|
1014
|
+
* `none`: No scaling (`object-fit: none;`)
|
|
1015
|
+
* `scale-down`: Smaller of none or contain (`object-fit: scale-down;`)
|
|
1016
|
+
|
|
1017
|
+
## object-position
|
|
1018
|
+
> Position replaced element content within container
|
|
1019
|
+
|
|
1020
|
+
**Syntax:** `layout="object-pos:[value]"`
|
|
1021
|
+
|
|
1022
|
+
* `center`: Center position (`object-position: center;`)
|
|
1023
|
+
* `top`: Top position (`object-position: top;`)
|
|
1024
|
+
* `bottom`: Bottom position (`object-position: bottom;`)
|
|
1025
|
+
* `left`: Left position (`object-position: left;`)
|
|
1026
|
+
* `right`: Right position (`object-position: right;`)
|
|
1027
|
+
* `top-left`: Top left (`object-position: top left;`)
|
|
1028
|
+
* `top-right`: Top right (`object-position: top right;`)
|
|
1029
|
+
* `bottom-left`: Bottom left (`object-position: bottom left;`)
|
|
1030
|
+
* `bottom-right`: Bottom right (`object-position: bottom right;`)
|
|
1031
|
+
|
|
1032
|
+
## opacity
|
|
1033
|
+
> Set element opacity (0-100)
|
|
1034
|
+
|
|
1035
|
+
**Syntax:** `visual="opacity:[value]"`
|
|
1036
|
+
|
|
1037
|
+
* `0`: Invisible (`opacity: 0;`)
|
|
1038
|
+
* `25`: 25% visible (`opacity: 0.25;`)
|
|
1039
|
+
* `50`: 50% visible (`opacity: 0.5;`)
|
|
1040
|
+
* `75`: 75% visible (`opacity: 0.75;`)
|
|
1041
|
+
* `100`: Fully visible (`opacity: 1;`)
|
|
1042
|
+
|
|
1043
|
+
## order
|
|
1044
|
+
> Control flex/grid item order
|
|
1045
|
+
|
|
1046
|
+
**Syntax:** `layout="order:[value]"`
|
|
1047
|
+
|
|
1048
|
+
* `first`: Move to first (`order: -9999;`)
|
|
1049
|
+
* `last`: Move to last (`order: 9999;`)
|
|
1050
|
+
* `none`: Default order (`order: 0;`)
|
|
1051
|
+
* `1-12`: Specific order (`order: {n};`)
|
|
1052
|
+
|
|
1053
|
+
## outline
|
|
1054
|
+
> Set outline color
|
|
1055
|
+
|
|
1056
|
+
**Syntax:** `visual="outline:[color]"`
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
## overflow
|
|
1060
|
+
> Control content overflow behavior
|
|
1061
|
+
|
|
1062
|
+
**Syntax:** `layout="overflow:[value]"`
|
|
1063
|
+
|
|
1064
|
+
* `auto`: Scrollbar when needed (`overflow: auto;`)
|
|
1065
|
+
* `hidden`: Hide overflow (`overflow: hidden;`)
|
|
1066
|
+
* `visible`: Show overflow (`overflow: visible;`)
|
|
1067
|
+
* `scroll`: Always show scrollbar (`overflow: scroll;`)
|
|
1068
|
+
* `clip`: Clip overflow (`overflow: clip;`)
|
|
1069
|
+
|
|
1070
|
+
## overscroll
|
|
1071
|
+
> Control scroll chaining behavior
|
|
1072
|
+
|
|
1073
|
+
**Syntax:** `layout="overscroll:[value]"`
|
|
1074
|
+
|
|
1075
|
+
* `auto`: Default behavior (`overscroll-behavior: auto;`)
|
|
1076
|
+
* `contain`: Contain scroll (`overscroll-behavior: contain;`)
|
|
1077
|
+
* `none`: No scroll chaining (`overscroll-behavior: none;`)
|
|
1078
|
+
|
|
1079
|
+
## padding
|
|
1080
|
+
> Add padding to elements
|
|
1081
|
+
|
|
1082
|
+
**Syntax:** `space="p:[value]" or space="p-{side}:[value]"`
|
|
1083
|
+
|
|
1084
|
+
* `undefined`: All sides (`padding: var(--s-{value});`)
|
|
1085
|
+
* `undefined`: Top (`padding-top: var(--s-{value});`)
|
|
1086
|
+
* `undefined`: Right (`padding-right: var(--s-{value});`)
|
|
1087
|
+
* `undefined`: Bottom (`padding-bottom: var(--s-{value});`)
|
|
1088
|
+
* `undefined`: Left (`padding-left: var(--s-{value});`)
|
|
1089
|
+
* `undefined`: Horizontal
|
|
1090
|
+
* `undefined`: Vertical
|
|
1091
|
+
|
|
1092
|
+
## place-content
|
|
1093
|
+
> Shorthand for align-content and justify-content
|
|
1094
|
+
|
|
1095
|
+
**Syntax:** `layout="place-content:[value]"`
|
|
1096
|
+
|
|
1097
|
+
* `start`: Start alignment (`place-content: start;`)
|
|
1098
|
+
* `end`: End alignment (`place-content: end;`)
|
|
1099
|
+
* `center`: Center alignment (`place-content: center;`)
|
|
1100
|
+
* `between`: Space between (`place-content: space-between;`)
|
|
1101
|
+
* `around`: Space around (`place-content: space-around;`)
|
|
1102
|
+
* `evenly`: Even spacing (`place-content: space-evenly;`)
|
|
1103
|
+
* `stretch`: Stretch content (`place-content: stretch;`)
|
|
1104
|
+
|
|
1105
|
+
## place-items
|
|
1106
|
+
> Shorthand for align-items and justify-items
|
|
1107
|
+
|
|
1108
|
+
**Syntax:** `layout="place-items:[value]"`
|
|
1109
|
+
|
|
1110
|
+
* `start`: Start alignment (`place-items: start;`)
|
|
1111
|
+
* `end`: End alignment (`place-items: end;`)
|
|
1112
|
+
* `center`: Center alignment (`place-items: center;`)
|
|
1113
|
+
* `stretch`: Stretch items (`place-items: stretch;`)
|
|
1114
|
+
|
|
1115
|
+
## place-self
|
|
1116
|
+
> Shorthand for align-self and justify-self
|
|
1117
|
+
|
|
1118
|
+
**Syntax:** `layout="place-self:[value]"`
|
|
1119
|
+
|
|
1120
|
+
* `auto`: Auto alignment (`place-self: auto;`)
|
|
1121
|
+
* `start`: Start alignment (`place-self: start;`)
|
|
1122
|
+
* `end`: End alignment (`place-self: end;`)
|
|
1123
|
+
* `center`: Center alignment (`place-self: center;`)
|
|
1124
|
+
* `stretch`: Stretch item (`place-self: stretch;`)
|
|
1125
|
+
|
|
1126
|
+
## pointer-events
|
|
1127
|
+
> Control pointer events
|
|
1128
|
+
|
|
1129
|
+
**Syntax:** `visual="pointer-events:[value]"`
|
|
1130
|
+
|
|
1131
|
+
* `none`: Ignore pointer events (`pointer-events: none;`)
|
|
1132
|
+
* `auto`: Normal pointer events (`pointer-events: auto;`)
|
|
1133
|
+
|
|
1134
|
+
## position
|
|
1135
|
+
> Set the positioning method
|
|
1136
|
+
|
|
1137
|
+
**Syntax:** `layout="[position-value]"`
|
|
1138
|
+
|
|
1139
|
+
* `static`: Default positioning (`position: static;`)
|
|
1140
|
+
* `relative`: Relative to normal position (`position: relative;`)
|
|
1141
|
+
* `absolute`: Absolute within container (`position: absolute;`)
|
|
1142
|
+
* `fixed`: Fixed to viewport (`position: fixed;`)
|
|
1143
|
+
* `sticky`: Sticky positioning (`position: sticky;`)
|
|
1144
|
+
|
|
1145
|
+
## resize
|
|
1146
|
+
> Control element resizing
|
|
1147
|
+
|
|
1148
|
+
**Syntax:** `visual="resize:[value]"`
|
|
1149
|
+
|
|
1150
|
+
* `none`: No resize (`resize: none;`)
|
|
1151
|
+
* `both`: Resize both (`resize: both;`)
|
|
1152
|
+
* `x`: Resize horizontal (`resize: horizontal;`)
|
|
1153
|
+
* `y`: Resize vertical (`resize: vertical;`)
|
|
1154
|
+
|
|
1155
|
+
## ring
|
|
1156
|
+
> Add focus ring around element using box-shadow
|
|
1157
|
+
|
|
1158
|
+
**Syntax:** `visual="ring:[size]"`
|
|
1159
|
+
|
|
1160
|
+
* `none`: No ring (`box-shadow: 0 0 0 0 transparent;`)
|
|
1161
|
+
* `thin`: Thin ring (1px) (`box-shadow: 0 0 0 1px var(--ring-color);`)
|
|
1162
|
+
* `regular`: Regular ring (2px) (`box-shadow: 0 0 0 2px var(--ring-color);`)
|
|
1163
|
+
* `small`: Small ring (4px) (`box-shadow: 0 0 0 4px var(--ring-color);`)
|
|
1164
|
+
* `medium`: Medium ring (6px) (`box-shadow: 0 0 0 6px var(--ring-color);`)
|
|
1165
|
+
* `big`: Big ring (8px) (`box-shadow: 0 0 0 8px var(--ring-color);`)
|
|
1166
|
+
|
|
1167
|
+
## ring-color
|
|
1168
|
+
> Set ring color
|
|
1169
|
+
|
|
1170
|
+
**Syntax:** `visual="ring-color:[color]"`
|
|
1171
|
+
|
|
1172
|
+
* `primary`: Primary ring color (`--ring-color: var(--c-primary);`)
|
|
1173
|
+
* `blue-500`: Blue ring color (`--ring-color: var(--c-blue-500);`)
|
|
1174
|
+
|
|
1175
|
+
## ring-offset
|
|
1176
|
+
> Add gap between ring and element
|
|
1177
|
+
|
|
1178
|
+
**Syntax:** `visual="ring-offset:[size]"`
|
|
1179
|
+
|
|
1180
|
+
* `0`: No offset (`--ring-offset: 0px;`)
|
|
1181
|
+
* `2`: 2px offset (`--ring-offset: 2px;`)
|
|
1182
|
+
* `4`: 4px offset (`--ring-offset: 4px;`)
|
|
1183
|
+
|
|
1184
|
+
## scroll-behavior
|
|
1185
|
+
> Set scroll behavior
|
|
1186
|
+
|
|
1187
|
+
**Syntax:** `visual="scroll-behavior:[value]"`
|
|
1188
|
+
|
|
1189
|
+
* `auto`: Instant scroll (`scroll-behavior: auto;`)
|
|
1190
|
+
* `smooth`: Smooth scroll (`scroll-behavior: smooth;`)
|
|
1191
|
+
|
|
1192
|
+
## scroll-margin
|
|
1193
|
+
> Set scroll margin for snap
|
|
1194
|
+
|
|
1195
|
+
**Syntax:** `visual="scroll-m:[value]"`
|
|
1196
|
+
|
|
1197
|
+
* `scroll-m`: All sides (`scroll-margin: {value};`)
|
|
1198
|
+
* `scroll-m-t`: Top margin (`scroll-margin-top: {value};`)
|
|
1199
|
+
* `scroll-m-r`: Right margin (`scroll-margin-right: {value};`)
|
|
1200
|
+
* `scroll-m-b`: Bottom margin (`scroll-margin-bottom: {value};`)
|
|
1201
|
+
* `scroll-m-l`: Left margin (`scroll-margin-left: {value};`)
|
|
1202
|
+
|
|
1203
|
+
## scroll-padding
|
|
1204
|
+
> Set scroll padding for snap
|
|
1205
|
+
|
|
1206
|
+
**Syntax:** `visual="scroll-p:[value]"`
|
|
1207
|
+
|
|
1208
|
+
* `scroll-p`: All sides (`scroll-padding: {value};`)
|
|
1209
|
+
* `scroll-p-t`: Top padding (`scroll-padding-top: {value};`)
|
|
1210
|
+
* `scroll-p-r`: Right padding (`scroll-padding-right: {value};`)
|
|
1211
|
+
* `scroll-p-b`: Bottom padding (`scroll-padding-bottom: {value};`)
|
|
1212
|
+
* `scroll-p-l`: Left padding (`scroll-padding-left: {value};`)
|
|
1213
|
+
|
|
1214
|
+
## scroll-snap-align
|
|
1215
|
+
> Set scroll snap alignment
|
|
1216
|
+
|
|
1217
|
+
**Syntax:** `visual="snap-align:[value]"`
|
|
1218
|
+
|
|
1219
|
+
* `start`: Snap to start (`scroll-snap-align: start;`)
|
|
1220
|
+
* `end`: Snap to end (`scroll-snap-align: end;`)
|
|
1221
|
+
* `center`: Snap to center (`scroll-snap-align: center;`)
|
|
1222
|
+
* `none`: No snap (`scroll-snap-align: none;`)
|
|
1223
|
+
|
|
1224
|
+
## scroll-snap-stop
|
|
1225
|
+
> Control scroll snap stop behavior
|
|
1226
|
+
|
|
1227
|
+
**Syntax:** `visual="snap-stop:[value]"`
|
|
1228
|
+
|
|
1229
|
+
* `normal`: Normal stop (`scroll-snap-stop: normal;`)
|
|
1230
|
+
* `always`: Always stop (`scroll-snap-stop: always;`)
|
|
1231
|
+
|
|
1232
|
+
## scroll-snap-type
|
|
1233
|
+
> Set scroll snap type
|
|
1234
|
+
|
|
1235
|
+
**Syntax:** `visual="snap-type:[value]"`
|
|
1236
|
+
|
|
1237
|
+
* `none`: No snapping (`scroll-snap-type: none;`)
|
|
1238
|
+
* `x`: Horizontal snap (`scroll-snap-type: x mandatory;`)
|
|
1239
|
+
* `y`: Vertical snap (`scroll-snap-type: y mandatory;`)
|
|
1240
|
+
* `both`: Both axes (`scroll-snap-type: both mandatory;`)
|
|
1241
|
+
* `x-proximity`: Horizontal proximity (`scroll-snap-type: x proximity;`)
|
|
1242
|
+
* `y-proximity`: Vertical proximity (`scroll-snap-type: y proximity;`)
|
|
1243
|
+
|
|
1244
|
+
## shorthand-alignment
|
|
1245
|
+
> Quick alignment shortcuts
|
|
1246
|
+
|
|
1247
|
+
**Syntax:** `layout="[alignment]"`
|
|
1248
|
+
|
|
1249
|
+
* `center`: Center both axes (`justify-content: center; align-items: center;`)
|
|
1250
|
+
* `start`: Align to start
|
|
1251
|
+
* `end`: Align to end (`justify-content: flex-end; align-items: flex-end;`)
|
|
1252
|
+
* `between`: Space between (`justify-content: space-between;`)
|
|
1253
|
+
* `around`: Space around (`justify-content: space-around;`)
|
|
1254
|
+
* `evenly`: Even spacing (`justify-content: space-evenly;`)
|
|
1255
|
+
|
|
1256
|
+
## state-prefixes
|
|
1257
|
+
> Apply styles on specific states
|
|
1258
|
+
|
|
1259
|
+
**Syntax:** `visual="hover:... focus:... active:..."`
|
|
1260
|
+
|
|
1261
|
+
* `hover:`: On hover (`:hover`)
|
|
1262
|
+
* `focus:`: On focus (`:focus`)
|
|
1263
|
+
* `active:`: On active (`:active`)
|
|
1264
|
+
* `disabled:`: When disabled (`:disabled`)
|
|
1265
|
+
* `visited:`: When visited (`:visited`)
|
|
1266
|
+
* `first:`: First child (`:first-child`)
|
|
1267
|
+
* `last:`: Last child (`:last-child`)
|
|
1268
|
+
* `odd:`: Odd children (`:nth-child(odd)`)
|
|
1269
|
+
* `even:`: Even children (`:nth-child(even)`)
|
|
1270
|
+
|
|
1271
|
+
## stroke
|
|
1272
|
+
> Set SVG stroke color
|
|
1273
|
+
|
|
1274
|
+
**Syntax:** `visual="stroke:[color]"`
|
|
1275
|
+
|
|
1276
|
+
* `none`: No stroke (`stroke: none;`)
|
|
1277
|
+
* `current`: Current color (`stroke: currentColor;`)
|
|
1278
|
+
|
|
1279
|
+
## stroke-width
|
|
1280
|
+
> Set SVG stroke width
|
|
1281
|
+
|
|
1282
|
+
**Syntax:** `visual="stroke-w:[value]"`
|
|
1283
|
+
|
|
1284
|
+
* `0`: No stroke (`stroke-width: 0;`)
|
|
1285
|
+
* `1`: 1px stroke (`stroke-width: 1px;`)
|
|
1286
|
+
* `2`: 2px stroke (`stroke-width: 2px;`)
|
|
1287
|
+
|
|
1288
|
+
## table-layout
|
|
1289
|
+
> Control table layout algorithm
|
|
1290
|
+
|
|
1291
|
+
**Syntax:** `layout="table:[value]"`
|
|
1292
|
+
|
|
1293
|
+
* `auto`: Auto layout (`table-layout: auto;`)
|
|
1294
|
+
* `fixed`: Fixed layout (`table-layout: fixed;`)
|
|
1295
|
+
|
|
1296
|
+
## text-alignment
|
|
1297
|
+
> Set text alignment
|
|
1298
|
+
|
|
1299
|
+
**Syntax:** `visual="text:[alignment]"`
|
|
1300
|
+
|
|
1301
|
+
* `left`: Left align (`text-align: left;`)
|
|
1302
|
+
* `center`: Center align (`text-align: center;`)
|
|
1303
|
+
* `right`: Right align (`text-align: right;`)
|
|
1304
|
+
* `justify`: Justify (`text-align: justify;`)
|
|
1305
|
+
|
|
1306
|
+
## text-color
|
|
1307
|
+
> Set text color
|
|
1308
|
+
|
|
1309
|
+
**Syntax:** `visual="text:[color]"`
|
|
1310
|
+
|
|
1311
|
+
* `left`: Align left (`text-align: left;`)
|
|
1312
|
+
* `center`: Align center (`text-align: center;`)
|
|
1313
|
+
* `right`: Align right (`text-align: right;`)
|
|
1314
|
+
* `justify`: Justify text (`text-align: justify;`)
|
|
1315
|
+
|
|
1316
|
+
## text-decoration
|
|
1317
|
+
> Set text decoration
|
|
1318
|
+
|
|
1319
|
+
**Syntax:** `visual="[decoration-value]"`
|
|
1320
|
+
|
|
1321
|
+
* `underline`: Underline (`text-decoration-line: underline;`)
|
|
1322
|
+
* `overline`: Overline (`text-decoration-line: overline;`)
|
|
1323
|
+
* `line-through`: Strikethrough (`text-decoration-line: line-through;`)
|
|
1324
|
+
* `no-underline`: No decoration (`text-decoration-line: none;`)
|
|
1325
|
+
|
|
1326
|
+
## text-indent
|
|
1327
|
+
> Set text indentation
|
|
1328
|
+
|
|
1329
|
+
**Syntax:** `visual="indent:[value]"`
|
|
1330
|
+
|
|
1331
|
+
* `0`: No indent (`text-indent: 0;`)
|
|
1332
|
+
|
|
1333
|
+
## text-overflow
|
|
1334
|
+
> Handle text overflow
|
|
1335
|
+
|
|
1336
|
+
**Syntax:** `visual="[overflow-value]"`
|
|
1337
|
+
|
|
1338
|
+
* `truncate`: Truncate with ellipsis
|
|
1339
|
+
* `text-ellipsis`: Ellipsis overflow (`text-overflow: ellipsis;`)
|
|
1340
|
+
* `text-clip`: Clip overflow (`text-overflow: clip;`)
|
|
1341
|
+
|
|
1342
|
+
## text-shadow
|
|
1343
|
+
> Add text shadow
|
|
1344
|
+
|
|
1345
|
+
**Syntax:** `visual="text-shadow:[value]"`
|
|
1346
|
+
|
|
1347
|
+
* `none`: No shadow (`text-shadow: none;`)
|
|
1348
|
+
* `small`: Small shadow (`text-shadow: 0 1px 2px rgba(0,0,0,0.1);`)
|
|
1349
|
+
* `medium`: Medium shadow (`text-shadow: 0 2px 4px rgba(0,0,0,0.1);`)
|
|
1350
|
+
* `big`: Large shadow (`text-shadow: 0 4px 8px rgba(0,0,0,0.1);`)
|
|
1351
|
+
|
|
1352
|
+
## text-size
|
|
1353
|
+
> Set font size
|
|
1354
|
+
|
|
1355
|
+
**Syntax:** `visual="text-size:[value]"`
|
|
1356
|
+
|
|
1357
|
+
* `mini`: Mini size (0.75rem / 1rem)
|
|
1358
|
+
* `small`: Small size (0.875rem / 1.25rem)
|
|
1359
|
+
* `base`: Base size (1rem / 1.5rem)
|
|
1360
|
+
* `large`: Large size (1.125rem / 1.75rem)
|
|
1361
|
+
* `big`: Big size (1.25rem / 1.75rem)
|
|
1362
|
+
* `huge`: Huge size (1.5rem / 2rem)
|
|
1363
|
+
* `grand`: Grand size (1.875rem / 2.25rem)
|
|
1364
|
+
* `giant`: Giant size (2.25rem / 2.5rem)
|
|
1365
|
+
* `mount`: Mount size (3rem / 1)
|
|
1366
|
+
* `mega`: Mega size (3.75rem / 1)
|
|
1367
|
+
* `giga`: Giga size (4.5rem / 1)
|
|
1368
|
+
* `tera`: Tera size (6rem / 1)
|
|
1369
|
+
* `hero`: Hero size (8rem / 1)
|
|
1370
|
+
|
|
1371
|
+
## text-transform
|
|
1372
|
+
> Transform text case
|
|
1373
|
+
|
|
1374
|
+
**Syntax:** `visual="[transform-value]"`
|
|
1375
|
+
|
|
1376
|
+
* `uppercase`: All uppercase (`text-transform: uppercase;`)
|
|
1377
|
+
* `lowercase`: All lowercase (`text-transform: lowercase;`)
|
|
1378
|
+
* `capitalize`: Capitalize words (`text-transform: capitalize;`)
|
|
1379
|
+
* `normal-case`: Normal case (`text-transform: none;`)
|
|
1380
|
+
|
|
1381
|
+
## text-wrap
|
|
1382
|
+
> Control text wrapping
|
|
1383
|
+
|
|
1384
|
+
**Syntax:** `visual="[wrap-value]"`
|
|
1385
|
+
|
|
1386
|
+
* `text-wrap`: Wrap text (`text-wrap: wrap;`)
|
|
1387
|
+
* `text-nowrap`: No wrap (`text-wrap: nowrap;`)
|
|
1388
|
+
* `text-balance`: Balanced wrap (`text-wrap: balance;`)
|
|
1389
|
+
* `text-pretty`: Pretty wrap (`text-wrap: pretty;`)
|
|
1390
|
+
|
|
1391
|
+
## touch-action
|
|
1392
|
+
> Control touch interactions
|
|
1393
|
+
|
|
1394
|
+
**Syntax:** `visual="touch:[value]"`
|
|
1395
|
+
|
|
1396
|
+
* `auto`: Default touch (`touch-action: auto;`)
|
|
1397
|
+
* `none`: Disable touch (`touch-action: none;`)
|
|
1398
|
+
* `pan-x`: Pan horizontally (`touch-action: pan-x;`)
|
|
1399
|
+
* `pan-y`: Pan vertically (`touch-action: pan-y;`)
|
|
1400
|
+
* `pan-left`: Pan left (`touch-action: pan-left;`)
|
|
1401
|
+
* `pan-right`: Pan right (`touch-action: pan-right;`)
|
|
1402
|
+
* `pinch-zoom`: Pinch to zoom (`touch-action: pinch-zoom;`)
|
|
1403
|
+
* `manipulation`: Pan and pinch only (`touch-action: manipulation;`)
|
|
1404
|
+
|
|
1405
|
+
## transform-backface
|
|
1406
|
+
> Control visibility of element back side when rotated in 3D
|
|
1407
|
+
|
|
1408
|
+
**Syntax:** `visual="backface:[value]"`
|
|
1409
|
+
|
|
1410
|
+
* `visible`: Backface visible (`backface-visibility: visible;`)
|
|
1411
|
+
* `hidden`: Backface hidden (`backface-visibility: hidden;`)
|
|
1412
|
+
|
|
1413
|
+
## transform-origin
|
|
1414
|
+
> Set transform origin point
|
|
1415
|
+
|
|
1416
|
+
**Syntax:** `visual="origin:[value]"`
|
|
1417
|
+
|
|
1418
|
+
* `center`: Center origin (`transform-origin: center;`)
|
|
1419
|
+
* `top`: Top origin (`transform-origin: top;`)
|
|
1420
|
+
* `top-right`: Top right (`transform-origin: top right;`)
|
|
1421
|
+
* `right`: Right origin (`transform-origin: right;`)
|
|
1422
|
+
* `bottom-right`: Bottom right (`transform-origin: bottom right;`)
|
|
1423
|
+
* `bottom`: Bottom origin (`transform-origin: bottom;`)
|
|
1424
|
+
* `bottom-left`: Bottom left (`transform-origin: bottom left;`)
|
|
1425
|
+
* `left`: Left origin (`transform-origin: left;`)
|
|
1426
|
+
* `top-left`: Top left (`transform-origin: top left;`)
|
|
1427
|
+
|
|
1428
|
+
## transform-perspective
|
|
1429
|
+
> Set 3D perspective on container (apply to parent of transformed elements)
|
|
1430
|
+
|
|
1431
|
+
**Syntax:** `visual="perspective:[value]"`
|
|
1432
|
+
|
|
1433
|
+
* `none`: No perspective (`perspective: none;`)
|
|
1434
|
+
* `dramatic`: Dramatic perspective (`perspective: 100px;`)
|
|
1435
|
+
* `near`: Near perspective (`perspective: 300px;`)
|
|
1436
|
+
* `normal`: Normal perspective (`perspective: 500px;`)
|
|
1437
|
+
* `midrange`: Midrange perspective (`perspective: 800px;`)
|
|
1438
|
+
* `far`: Far perspective (`perspective: 1000px;`)
|
|
1439
|
+
* `distant`: Distant perspective (`perspective: 1200px;`)
|
|
1440
|
+
|
|
1441
|
+
## transform-perspective-origin
|
|
1442
|
+
> Set perspective vanishing point location
|
|
1443
|
+
|
|
1444
|
+
**Syntax:** `visual="perspective-origin:[value]"`
|
|
1445
|
+
|
|
1446
|
+
* `center`: Center origin (`perspective-origin: center;`)
|
|
1447
|
+
* `top`: Top origin (`perspective-origin: top;`)
|
|
1448
|
+
* `bottom`: Bottom origin (`perspective-origin: bottom;`)
|
|
1449
|
+
* `left`: Left origin (`perspective-origin: left;`)
|
|
1450
|
+
* `right`: Right origin (`perspective-origin: right;`)
|
|
1451
|
+
* `top-left`: Top left (`perspective-origin: top left;`)
|
|
1452
|
+
* `top-right`: Top right (`perspective-origin: top right;`)
|
|
1453
|
+
* `bottom-left`: Bottom left (`perspective-origin: bottom left;`)
|
|
1454
|
+
* `bottom-right`: Bottom right (`perspective-origin: bottom right;`)
|
|
1455
|
+
|
|
1456
|
+
## transform-rotate
|
|
1457
|
+
> Rotate element
|
|
1458
|
+
|
|
1459
|
+
**Syntax:** `visual="rotate:[degrees]"`
|
|
1460
|
+
|
|
1461
|
+
* `0`: No rotation (`transform: rotate(0deg);`)
|
|
1462
|
+
* `45`: 45° rotation (`transform: rotate(45deg);`)
|
|
1463
|
+
* `90`: 90° rotation (`transform: rotate(90deg);`)
|
|
1464
|
+
* `180`: 180° rotation (`transform: rotate(180deg);`)
|
|
1465
|
+
|
|
1466
|
+
## transform-rotate-3d
|
|
1467
|
+
> Rotate element in 3D space along X, Y, or Z axis
|
|
1468
|
+
|
|
1469
|
+
**Syntax:** `visual="rotate-x:[degrees]" or visual="rotate-y:[degrees]" or visual="rotate-z:[degrees]"`
|
|
1470
|
+
|
|
1471
|
+
* `0`: No rotation (`transform: rotateX(0deg);`)
|
|
1472
|
+
* `45`: 45° rotation (`transform: rotateX(45deg);`)
|
|
1473
|
+
* `90`: 90° rotation (`transform: rotateX(90deg);`)
|
|
1474
|
+
* `180`: 180° rotation (`transform: rotateX(180deg);`)
|
|
1475
|
+
|
|
1476
|
+
## transform-scale
|
|
1477
|
+
> Scale element
|
|
1478
|
+
|
|
1479
|
+
**Syntax:** `visual="scale:[value]"`
|
|
1480
|
+
|
|
1481
|
+
* `0`: Scale to 0 (`transform: scale(0);`)
|
|
1482
|
+
* `50`: Scale to 50% (`transform: scale(0.5);`)
|
|
1483
|
+
* `75`: Scale to 75% (`transform: scale(0.75);`)
|
|
1484
|
+
* `100`: Normal scale (`transform: scale(1);`)
|
|
1485
|
+
* `110`: Scale to 110% (`transform: scale(1.1);`)
|
|
1486
|
+
* `125`: Scale to 125% (`transform: scale(1.25);`)
|
|
1487
|
+
* `150`: Scale to 150% (`transform: scale(1.5);`)
|
|
1488
|
+
|
|
1489
|
+
## transform-skew
|
|
1490
|
+
> Skew element
|
|
1491
|
+
|
|
1492
|
+
**Syntax:** `visual="skew-x:[degrees]" or visual="skew-y:[degrees]"`
|
|
1493
|
+
|
|
1494
|
+
* `0`: No skew (`transform: skewX(0deg);`)
|
|
1495
|
+
* `3`: 3° skew (`transform: skewX(3deg);`)
|
|
1496
|
+
* `6`: 6° skew (`transform: skewX(6deg);`)
|
|
1497
|
+
* `12`: 12° skew (`transform: skewX(12deg);`)
|
|
1498
|
+
|
|
1499
|
+
## transform-style
|
|
1500
|
+
> Preserve 3D space for nested transformed elements
|
|
1501
|
+
|
|
1502
|
+
**Syntax:** `visual="transform-style:[value]"`
|
|
1503
|
+
|
|
1504
|
+
* `flat`: Flatten 3D children (`transform-style: flat;`)
|
|
1505
|
+
* `preserve-3d`: Preserve 3D depth (`transform-style: preserve-3d;`)
|
|
1506
|
+
|
|
1507
|
+
## transform-translate
|
|
1508
|
+
> Translate element position along X, Y, or Z axis
|
|
1509
|
+
|
|
1510
|
+
**Syntax:** `visual="translate-x:[value]" or visual="translate-y:[value]" or visual="translate-z:[value]"`
|
|
1511
|
+
|
|
1512
|
+
* `0`: No translation (`transform: translateX(0);`)
|
|
1513
|
+
* `tiny`: Tiny offset (`transform: translateX(var(--sp-tiny));`)
|
|
1514
|
+
* `small`: Small offset (`transform: translateX(var(--sp-small));`)
|
|
1515
|
+
* `medium`: Medium offset (`transform: translateX(var(--sp-medium));`)
|
|
1516
|
+
* `big`: Big offset (`transform: translateX(var(--sp-big));`)
|
|
1517
|
+
* `full`: Full width/height (`transform: translateX(100%);`)
|
|
1518
|
+
* `1/2`: Half width/height (`transform: translateX(50%);`)
|
|
1519
|
+
* `-full`: Negative full (`transform: translateX(-100%);`)
|
|
1520
|
+
* `-1/2`: Negative half (`transform: translateX(-50%);`)
|
|
1521
|
+
|
|
1522
|
+
## transform-translate-z
|
|
1523
|
+
> Translate element along Z axis (depth) in 3D space
|
|
1524
|
+
|
|
1525
|
+
**Syntax:** `visual="translate-z:[value]"`
|
|
1526
|
+
|
|
1527
|
+
* `0`: No Z translation (`transform: translateZ(0);`)
|
|
1528
|
+
* `near`: Move near (forward) (`transform: translateZ(50px);`)
|
|
1529
|
+
* `far`: Move far (backward) (`transform: translateZ(-50px);`)
|
|
1530
|
+
|
|
1531
|
+
## transition-delay
|
|
1532
|
+
> Set transition delay
|
|
1533
|
+
|
|
1534
|
+
**Syntax:** `visual="delay:[value]"`
|
|
1535
|
+
|
|
1536
|
+
* `instant`: 75ms delay (`transition-delay: 75ms;`)
|
|
1537
|
+
* `quick`: 100ms delay (`transition-delay: 100ms;`)
|
|
1538
|
+
* `fast`: 150ms delay (`transition-delay: 150ms;`)
|
|
1539
|
+
* `normal`: 200ms delay (`transition-delay: 200ms;`)
|
|
1540
|
+
* `slow`: 300ms delay (`transition-delay: 300ms;`)
|
|
1541
|
+
|
|
1542
|
+
## transition-duration
|
|
1543
|
+
> Set transition duration
|
|
1544
|
+
|
|
1545
|
+
**Syntax:** `visual="duration:[value]"`
|
|
1546
|
+
|
|
1547
|
+
* `instant`: 75ms (`transition-duration: 75ms;`)
|
|
1548
|
+
* `quick`: 100ms (`transition-duration: 100ms;`)
|
|
1549
|
+
* `fast`: 150ms (`transition-duration: 150ms;`)
|
|
1550
|
+
* `normal`: 200ms (`transition-duration: 200ms;`)
|
|
1551
|
+
* `slow`: 300ms (`transition-duration: 300ms;`)
|
|
1552
|
+
* `slower`: 500ms (`transition-duration: 500ms;`)
|
|
1553
|
+
* `lazy`: 700ms (`transition-duration: 700ms;`)
|
|
1554
|
+
|
|
1555
|
+
## transition-property
|
|
1556
|
+
> Set transition properties
|
|
1557
|
+
|
|
1558
|
+
**Syntax:** `visual="transition:[value]"`
|
|
1559
|
+
|
|
1560
|
+
* `none`: No transition (`transition-property: none;`)
|
|
1561
|
+
* `all`: All properties
|
|
1562
|
+
* `colors`: Color properties
|
|
1563
|
+
* `opacity`: Opacity only
|
|
1564
|
+
* `shadow`: Shadow only
|
|
1565
|
+
* `transform`: Transform only
|
|
1566
|
+
|
|
1567
|
+
## transition-timing
|
|
1568
|
+
> Set transition timing function
|
|
1569
|
+
|
|
1570
|
+
**Syntax:** `visual="ease:[value]"`
|
|
1571
|
+
|
|
1572
|
+
* `linear`: Linear timing (`transition-timing-function: linear;`)
|
|
1573
|
+
* `in`: Ease in
|
|
1574
|
+
* `out`: Ease out
|
|
1575
|
+
* `in-out`: Ease in-out
|
|
1576
|
+
|
|
1577
|
+
## typography-keywords
|
|
1578
|
+
> Typography utility keywords
|
|
1579
|
+
|
|
1580
|
+
**Syntax:** `visual="[keyword]"`
|
|
1581
|
+
|
|
1582
|
+
* `italic`: Italic text (`font-style: italic;`)
|
|
1583
|
+
* `not-italic`: Normal style (`font-style: normal;`)
|
|
1584
|
+
* `antialiased`: Antialiased text
|
|
1585
|
+
* `subpixel-antialiased`: Subpixel antialiasing
|
|
1586
|
+
* `uppercase`: Uppercase text (`text-transform: uppercase;`)
|
|
1587
|
+
* `lowercase`: Lowercase text (`text-transform: lowercase;`)
|
|
1588
|
+
* `capitalize`: Capitalize words (`text-transform: capitalize;`)
|
|
1589
|
+
* `normal-case`: Normal case (`text-transform: none;`)
|
|
1590
|
+
* `underline`: Underline text (`text-decoration-line: underline;`)
|
|
1591
|
+
* `overline`: Overline text (`text-decoration-line: overline;`)
|
|
1592
|
+
* `line-through`: Strikethrough (`text-decoration-line: line-through;`)
|
|
1593
|
+
* `no-underline`: No decoration (`text-decoration-line: none;`)
|
|
1594
|
+
* `decoration-solid`: Solid line (`text-decoration-style: solid;`)
|
|
1595
|
+
* `decoration-double`: Double line (`text-decoration-style: double;`)
|
|
1596
|
+
* `decoration-dotted`: Dotted line (`text-decoration-style: dotted;`)
|
|
1597
|
+
* `decoration-dashed`: Dashed line (`text-decoration-style: dashed;`)
|
|
1598
|
+
* `decoration-wavy`: Wavy line (`text-decoration-style: wavy;`)
|
|
1599
|
+
* `truncate`: Truncate with ellipsis
|
|
1600
|
+
* `text-ellipsis`: Ellipsis overflow (`text-overflow: ellipsis;`)
|
|
1601
|
+
* `text-clip`: Clip overflow (`text-overflow: clip;`)
|
|
1602
|
+
* `text-wrap`: Wrap text (`text-wrap: wrap;`)
|
|
1603
|
+
* `text-nowrap`: No wrap (`text-wrap: nowrap;`)
|
|
1604
|
+
* `text-balance`: Balanced wrapping (`text-wrap: balance;`)
|
|
1605
|
+
* `text-pretty`: Pretty wrapping (`text-wrap: pretty;`)
|
|
1606
|
+
* `whitespace-normal`: Normal whitespace (`white-space: normal;`)
|
|
1607
|
+
* `whitespace-nowrap`: No wrap whitespace (`white-space: nowrap;`)
|
|
1608
|
+
* `whitespace-pre`: Preserve whitespace (`white-space: pre;`)
|
|
1609
|
+
* `whitespace-pre-line`: Pre-line whitespace (`white-space: pre-line;`)
|
|
1610
|
+
* `whitespace-pre-wrap`: Pre-wrap whitespace (`white-space: pre-wrap;`)
|
|
1611
|
+
* `whitespace-break-spaces`: Break spaces (`white-space: break-spaces;`)
|
|
1612
|
+
* `break-normal`: Normal word break (`overflow-wrap: normal; word-break: normal;`)
|
|
1613
|
+
* `break-words`: Break words (`overflow-wrap: break-word;`)
|
|
1614
|
+
* `break-all`: Break all (`word-break: break-all;`)
|
|
1615
|
+
* `break-keep`: Keep all (`word-break: keep-all;`)
|
|
1616
|
+
* `hyphens-none`: No hyphens (`hyphens: none;`)
|
|
1617
|
+
* `hyphens-manual`: Manual hyphens (`hyphens: manual;`)
|
|
1618
|
+
* `hyphens-auto`: Auto hyphens (`hyphens: auto;`)
|
|
1619
|
+
* `align-baseline`: Baseline align (`vertical-align: baseline;`)
|
|
1620
|
+
* `align-top`: Top align (`vertical-align: top;`)
|
|
1621
|
+
* `align-middle`: Middle align (`vertical-align: middle;`)
|
|
1622
|
+
* `align-bottom`: Bottom align (`vertical-align: bottom;`)
|
|
1623
|
+
* `align-text-top`: Text top align (`vertical-align: text-top;`)
|
|
1624
|
+
* `align-text-bottom`: Text bottom align (`vertical-align: text-bottom;`)
|
|
1625
|
+
* `align-sub`: Subscript align (`vertical-align: sub;`)
|
|
1626
|
+
* `align-super`: Superscript align (`vertical-align: super;`)
|
|
1627
|
+
* `list-none`: No list style (`list-style-type: none;`)
|
|
1628
|
+
* `list-disc`: Disc bullets (`list-style-type: disc;`)
|
|
1629
|
+
* `list-decimal`: Decimal numbers (`list-style-type: decimal;`)
|
|
1630
|
+
* `list-square`: Square bullets (`list-style-type: square;`)
|
|
1631
|
+
* `list-inside`: Inside position (`list-style-position: inside;`)
|
|
1632
|
+
* `list-outside`: Outside position (`list-style-position: outside;`)
|
|
1633
|
+
|
|
1634
|
+
## user-select
|
|
1635
|
+
> Control text selection
|
|
1636
|
+
|
|
1637
|
+
**Syntax:** `visual="select:[value]"`
|
|
1638
|
+
|
|
1639
|
+
* `none`: Prevent selection (`user-select: none;`)
|
|
1640
|
+
* `text`: Allow text selection (`user-select: text;`)
|
|
1641
|
+
* `all`: Select all on click (`user-select: all;`)
|
|
1642
|
+
* `auto`: Default behavior (`user-select: auto;`)
|
|
1643
|
+
|
|
1644
|
+
## vertical-align
|
|
1645
|
+
> Set vertical alignment
|
|
1646
|
+
|
|
1647
|
+
**Syntax:** `visual="align:[value]"`
|
|
1648
|
+
|
|
1649
|
+
* `baseline`: Baseline (`vertical-align: baseline;`)
|
|
1650
|
+
* `top`: Top (`vertical-align: top;`)
|
|
1651
|
+
* `middle`: Middle (`vertical-align: middle;`)
|
|
1652
|
+
* `bottom`: Bottom (`vertical-align: bottom;`)
|
|
1653
|
+
* `text-top`: Text top (`vertical-align: text-top;`)
|
|
1654
|
+
* `text-bottom`: Text bottom (`vertical-align: text-bottom;`)
|
|
1655
|
+
* `sub`: Subscript (`vertical-align: sub;`)
|
|
1656
|
+
* `super`: Superscript (`vertical-align: super;`)
|
|
1657
|
+
|
|
1658
|
+
## visibility
|
|
1659
|
+
> Control element visibility
|
|
1660
|
+
|
|
1661
|
+
**Syntax:** `layout="[visibility-value]"`
|
|
1662
|
+
|
|
1663
|
+
* `visible`: Element is visible (`visibility: visible;`)
|
|
1664
|
+
* `invisible`: Element is invisible but takes space (`visibility: hidden;`)
|
|
1665
|
+
|
|
1666
|
+
## whitespace
|
|
1667
|
+
> Control whitespace handling
|
|
1668
|
+
|
|
1669
|
+
**Syntax:** `visual="whitespace:[value]"`
|
|
1670
|
+
|
|
1671
|
+
* `normal`: Normal whitespace (`white-space: normal;`)
|
|
1672
|
+
* `nowrap`: No wrap (`white-space: nowrap;`)
|
|
1673
|
+
* `pre`: Preserve whitespace (`white-space: pre;`)
|
|
1674
|
+
* `pre-line`: Pre-line (`white-space: pre-line;`)
|
|
1675
|
+
* `pre-wrap`: Pre-wrap (`white-space: pre-wrap;`)
|
|
1676
|
+
* `break-spaces`: Break spaces (`white-space: break-spaces;`)
|
|
1677
|
+
|
|
1678
|
+
## width
|
|
1679
|
+
> Set element width
|
|
1680
|
+
|
|
1681
|
+
**Syntax:** `space="w:[value]"`
|
|
1682
|
+
|
|
1683
|
+
* `undefined`: Width (`width: var(--s-{value});`)
|
|
1684
|
+
* `undefined`: Minimum width (`min-width: var(--s-{value});`)
|
|
1685
|
+
* `undefined`: Maximum width (`max-width: var(--s-{value});`)
|
|
1686
|
+
|
|
1687
|
+
## will-change
|
|
1688
|
+
> Hint browser about upcoming changes
|
|
1689
|
+
|
|
1690
|
+
**Syntax:** `visual="will-change:[value]"`
|
|
1691
|
+
|
|
1692
|
+
* `auto`: Auto optimization (`will-change: auto;`)
|
|
1693
|
+
* `scroll`: Scroll changes (`will-change: scroll-position;`)
|
|
1694
|
+
* `contents`: Content changes (`will-change: contents;`)
|
|
1695
|
+
* `transform`: Transform changes (`will-change: transform;`)
|
|
1696
|
+
* `opacity`: Opacity changes (`will-change: opacity;`)
|
|
1697
|
+
|
|
1698
|
+
## word-break
|
|
1699
|
+
> Control word breaking
|
|
1700
|
+
|
|
1701
|
+
**Syntax:** `visual="[break-value]"`
|
|
1702
|
+
|
|
1703
|
+
* `break-normal`: Normal break (`overflow-wrap: normal; word-break: normal;`)
|
|
1704
|
+
* `break-words`: Break words (`overflow-wrap: break-word;`)
|
|
1705
|
+
* `break-all`: Break all (`word-break: break-all;`)
|
|
1706
|
+
* `break-keep`: Keep all (`word-break: keep-all;`)
|
|
1707
|
+
|
|
1708
|
+
## z-index
|
|
1709
|
+
> Control stacking order
|
|
1710
|
+
|
|
1711
|
+
**Syntax:** `layout="z:[value]"`
|
|
1712
|
+
|
|
1713
|
+
* `base`: Base layer (0) (`z-index: var(--z-base);`)
|
|
1714
|
+
* `low`: Low layer (10) (`z-index: var(--z-low);`)
|
|
1715
|
+
* `mid`: Middle layer (50) (`z-index: var(--z-mid);`)
|
|
1716
|
+
* `high`: High layer (100) (`z-index: var(--z-high);`)
|
|
1717
|
+
* `top`: Top layer (9999) (`z-index: var(--z-top);`)
|
|
1718
|
+
|