tailwind_merge 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rubocop.yml +4 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +12 -0
- data/LICENSE.txt +21 -0
- data/README.md +304 -0
- data/Rakefile +16 -0
- data/lib/tailwind_merge/class_utils.rb +164 -0
- data/lib/tailwind_merge/config.rb +1649 -0
- data/lib/tailwind_merge/validators.rb +99 -0
- data/lib/tailwind_merge/version.rb +5 -0
- data/lib/tailwind_merge.rb +160 -0
- data/script/changelog_generator +3 -0
- data/tailwind_merge.gemspec +44 -0
- metadata +175 -0
@@ -0,0 +1,1649 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module TailwindMerge
|
4
|
+
module Config
|
5
|
+
include Validators
|
6
|
+
|
7
|
+
FROM_THEME = ->(config, theme) {
|
8
|
+
config.fetch(:theme, {}).fetch(theme, nil)
|
9
|
+
}
|
10
|
+
|
11
|
+
COLORS = ->(config) { FROM_THEME.call(config, "colors") }
|
12
|
+
SPACING = ->(config) { FROM_THEME.call(config, "spacing") }
|
13
|
+
BLUR = ->(config) { FROM_THEME.call(config, "blur") }
|
14
|
+
BRIGHTNESS = ->(config) { FROM_THEME.call(config, "brightness") }
|
15
|
+
BORDER_COLOR = ->(config) { FROM_THEME.call(config, "border-color") }
|
16
|
+
BORDER_RADIUS = ->(config) { FROM_THEME.call(config, "border-radius") }
|
17
|
+
BORDER_SPACING = ->(config) { FROM_THEME.call(config, "border-spacing") }
|
18
|
+
BORDER_WIDTH = ->(config) { FROM_THEME.call(config, "border-width") }
|
19
|
+
CONTRAST = ->(config) { FROM_THEME.call(config, "contrast") }
|
20
|
+
GRAYSCALE = ->(config) { FROM_THEME.call(config, "grayscale") }
|
21
|
+
HUE_ROTATE = ->(config) { FROM_THEME.call(config, "hue-rotate") }
|
22
|
+
INVERT = ->(config) { FROM_THEME.call(config, "invert") }
|
23
|
+
GAP = ->(config) { FROM_THEME.call(config, "gap") }
|
24
|
+
GRADIENT_COLOR_STOPS = ->(config) { FROM_THEME.call(config, "gradient-color-stops") }
|
25
|
+
INSET = ->(config) { FROM_THEME.call(config, "inset") }
|
26
|
+
MARGIN = ->(config) { FROM_THEME.call(config, "margin") }
|
27
|
+
OPACITY = ->(config) { FROM_THEME.call(config, "opacity") }
|
28
|
+
PADDING = ->(config) { FROM_THEME.call(config, "padding") }
|
29
|
+
SATURATE = ->(config) { FROM_THEME.call(config, "saturate") }
|
30
|
+
SCALE = ->(config) { FROM_THEME.call(config, "scale") }
|
31
|
+
SEPIA = ->(config) { FROM_THEME.call(config, "sepia") }
|
32
|
+
SKEW = ->(config) { FROM_THEME.call(config, "skew") }
|
33
|
+
SPACE = ->(config) { FROM_THEME.call(config, "space") }
|
34
|
+
TRANSLATE = ->(config) { FROM_THEME.call(config, "translate") }
|
35
|
+
|
36
|
+
VALID_THEME_IDS = Set.new([
|
37
|
+
COLORS.object_id,
|
38
|
+
SPACING.object_id,
|
39
|
+
BLUR.object_id,
|
40
|
+
BRIGHTNESS.object_id,
|
41
|
+
BORDER_COLOR.object_id,
|
42
|
+
BORDER_RADIUS.object_id,
|
43
|
+
BORDER_SPACING.object_id,
|
44
|
+
BORDER_WIDTH.object_id,
|
45
|
+
CONTRAST.object_id,
|
46
|
+
GRAYSCALE.object_id,
|
47
|
+
HUE_ROTATE.object_id,
|
48
|
+
INVERT.object_id,
|
49
|
+
GAP.object_id,
|
50
|
+
GRADIENT_COLOR_STOPS.object_id,
|
51
|
+
INSET.object_id,
|
52
|
+
MARGIN.object_id,
|
53
|
+
OPACITY.object_id,
|
54
|
+
PADDING.object_id,
|
55
|
+
SATURATE.object_id,
|
56
|
+
SCALE.object_id,
|
57
|
+
SEPIA.object_id,
|
58
|
+
SKEW.object_id,
|
59
|
+
SPACE.object_id,
|
60
|
+
TRANSLATE.object_id,
|
61
|
+
]).freeze
|
62
|
+
|
63
|
+
OVERSCROLL = -> { ["auto", "contain", "none"] }
|
64
|
+
OVERFLOW = -> { ["auto", "hidden", "clip", "visible", "scroll"] }
|
65
|
+
SPACING_WITH_AUTO = -> { ["auto", SPACING] }
|
66
|
+
LENGTH_WITH_EMPTY = -> { ["", IS_LENGTH] }
|
67
|
+
INTEGER_WITH_AUTO = -> { ["auto", IS_INTEGER] }
|
68
|
+
POSITIONS = -> {
|
69
|
+
[
|
70
|
+
"bottom",
|
71
|
+
"center",
|
72
|
+
"left",
|
73
|
+
"left-bottom",
|
74
|
+
"left-top",
|
75
|
+
"right",
|
76
|
+
"right-bottom",
|
77
|
+
"right-top",
|
78
|
+
"top",
|
79
|
+
]
|
80
|
+
}
|
81
|
+
LINE_STYLES = -> { ["solid", "dashed", "dotted", "double", "none"] }
|
82
|
+
BLEND_MODES = -> {
|
83
|
+
[
|
84
|
+
"normal",
|
85
|
+
"multiply",
|
86
|
+
"screen",
|
87
|
+
"overlay",
|
88
|
+
"darken",
|
89
|
+
"lighten",
|
90
|
+
"color-dodge",
|
91
|
+
"color-burn",
|
92
|
+
"hard-light",
|
93
|
+
"soft-light",
|
94
|
+
"difference",
|
95
|
+
"exclusion",
|
96
|
+
"hue",
|
97
|
+
"saturation",
|
98
|
+
"color",
|
99
|
+
"luminosity",
|
100
|
+
"plus-lighter",
|
101
|
+
]
|
102
|
+
}
|
103
|
+
ALIGN = -> { ["start", "end", "center", "between", "around", "evenly"] }
|
104
|
+
ZERO_AND_EMPTY = -> { ["", "0", IS_ARBITRARY_VALUE] }
|
105
|
+
BREAKS = -> { ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"] }
|
106
|
+
|
107
|
+
DEFAULTS = {
|
108
|
+
cache_size: 500,
|
109
|
+
theme: {
|
110
|
+
"colors" => [IS_ANY],
|
111
|
+
"spacing" => [IS_LENGTH],
|
112
|
+
"blur" => ["none", "", IS_TSHIRT_SIZE, IS_ARBITRARY_LENGTH],
|
113
|
+
"brightness" => [IS_INTEGER],
|
114
|
+
"border-color" => [COLORS],
|
115
|
+
"border-radius" => ["none", "", "full", IS_TSHIRT_SIZE, IS_ARBITRARY_LENGTH],
|
116
|
+
"border-spacing" => [SPACING],
|
117
|
+
"border-width" => LENGTH_WITH_EMPTY.call,
|
118
|
+
"contrast" => [IS_INTEGER],
|
119
|
+
"grayscale" => ZERO_AND_EMPTY.call,
|
120
|
+
"hue-rotate" => [IS_INTEGER],
|
121
|
+
"invert" => ZERO_AND_EMPTY.call,
|
122
|
+
"gap" => [SPACING],
|
123
|
+
"gradient-color-stops" => [COLORS],
|
124
|
+
"inset" => SPACING_WITH_AUTO.call,
|
125
|
+
"margin" => SPACING_WITH_AUTO.call,
|
126
|
+
"opacity" => [IS_INTEGER],
|
127
|
+
"padding" => [SPACING],
|
128
|
+
"saturate" => [IS_INTEGER],
|
129
|
+
"scale" => [IS_INTEGER],
|
130
|
+
"sepia" => ZERO_AND_EMPTY.call,
|
131
|
+
"skew" => [IS_INTEGER, IS_ARBITRARY_VALUE],
|
132
|
+
"space" => [SPACING],
|
133
|
+
"translate" => [SPACING],
|
134
|
+
},
|
135
|
+
class_groups: {
|
136
|
+
# Layout
|
137
|
+
##
|
138
|
+
# Aspect Ratio
|
139
|
+
# @see https://tailwindcss.com/docs/aspect-ratio
|
140
|
+
##
|
141
|
+
"aspect" => [{ "aspect" => ["auto", "square", "video", IS_ARBITRARY_VALUE] }],
|
142
|
+
##
|
143
|
+
# Container
|
144
|
+
# @see https://tailwindcss.com/docs/container
|
145
|
+
##
|
146
|
+
"container" => ["container"],
|
147
|
+
##
|
148
|
+
# Columns
|
149
|
+
# @see https://tailwindcss.com/docs/columns
|
150
|
+
##
|
151
|
+
"columns" => [{ "columns" => [IS_TSHIRT_SIZE] }],
|
152
|
+
##
|
153
|
+
# Break After
|
154
|
+
# @see https://tailwindcss.com/docs/break-after
|
155
|
+
##
|
156
|
+
"break-after" => [{ "break-after" => BREAKS.call }],
|
157
|
+
##
|
158
|
+
# Break Before
|
159
|
+
# @see https://tailwindcss.com/docs/break-before
|
160
|
+
##
|
161
|
+
"break-before" => [{ "break-before" => BREAKS.call }],
|
162
|
+
##
|
163
|
+
# Break Inside
|
164
|
+
# @see https://tailwindcss.com/docs/break-inside
|
165
|
+
##
|
166
|
+
"break-inside" => [{ "break-inside" => ["auto", "avoid", "avoid-page", "avoid-column"] }],
|
167
|
+
##
|
168
|
+
# Box Decoration Break
|
169
|
+
# @see https://tailwindcss.com/docs/box-decoration-break
|
170
|
+
##
|
171
|
+
"box-decoration" => [{ "box-decoration" => ["slice", "clone"] }],
|
172
|
+
##
|
173
|
+
# Box Sizing
|
174
|
+
# @see https://tailwindcss.com/docs/box-sizing
|
175
|
+
##
|
176
|
+
"box" => [{ "box" => ["border", "content"] }],
|
177
|
+
##
|
178
|
+
# Display
|
179
|
+
# @see https://tailwindcss.com/docs/display
|
180
|
+
##
|
181
|
+
"display" => [
|
182
|
+
"block",
|
183
|
+
"inline-block",
|
184
|
+
"inline",
|
185
|
+
"flex",
|
186
|
+
"inline-flex",
|
187
|
+
"table",
|
188
|
+
"inline-table",
|
189
|
+
"table-caption",
|
190
|
+
"table-cell",
|
191
|
+
"table-column",
|
192
|
+
"table-column-group",
|
193
|
+
"table-footer-group",
|
194
|
+
"table-header-group",
|
195
|
+
"table-row-group",
|
196
|
+
"table-row",
|
197
|
+
"flow-root",
|
198
|
+
"grid",
|
199
|
+
"inline-grid",
|
200
|
+
"contents",
|
201
|
+
"list-item",
|
202
|
+
"hidden",
|
203
|
+
],
|
204
|
+
##
|
205
|
+
# Floats
|
206
|
+
# @see https://tailwindcss.com/docs/float
|
207
|
+
##
|
208
|
+
"float" => [{ "float" => ["right", "left", "none"] }],
|
209
|
+
##
|
210
|
+
# Clear
|
211
|
+
# @see https://tailwindcss.com/docs/clear
|
212
|
+
##
|
213
|
+
"clear" => [{ "clear" => ["left", "right", "both", "none"] }],
|
214
|
+
##
|
215
|
+
# Isolation
|
216
|
+
# @see https://tailwindcss.com/docs/isolation
|
217
|
+
##
|
218
|
+
"isolation" => ["isolate", "isolation-auto"],
|
219
|
+
##
|
220
|
+
# Object Fit
|
221
|
+
# @see https://tailwindcss.com/docs/object-fit
|
222
|
+
##
|
223
|
+
"object-fit" => [{ "object" => ["contain", "cover", "fill", "none", "scale-down"] }],
|
224
|
+
##
|
225
|
+
# Object Position
|
226
|
+
# @see https://tailwindcss.com/docs/object-position
|
227
|
+
##
|
228
|
+
"object-position" => [{ "object" => [*POSITIONS.call, IS_ARBITRARY_VALUE] }],
|
229
|
+
##
|
230
|
+
# Overflow
|
231
|
+
# @see https://tailwindcss.com/docs/overflow
|
232
|
+
##
|
233
|
+
"overflow" => [{ "overflow" => OVERFLOW.call }],
|
234
|
+
##
|
235
|
+
# Overflow X
|
236
|
+
# @see https://tailwindcss.com/docs/overflow
|
237
|
+
##
|
238
|
+
"overflow-x" => [{ "overflow-x" => OVERFLOW.call }],
|
239
|
+
##
|
240
|
+
# Overflow Y
|
241
|
+
# @see https://tailwindcss.com/docs/overflow
|
242
|
+
##
|
243
|
+
"overflow-y" => [{ "overflow-y" => OVERFLOW.call }],
|
244
|
+
##
|
245
|
+
# Overscroll Behavior
|
246
|
+
# @see https://tailwindcss.com/docs/overscroll-behavior
|
247
|
+
##
|
248
|
+
"overscroll" => [{ "overscroll" => OVERSCROLL.call }],
|
249
|
+
##
|
250
|
+
# Overscroll Behavior X
|
251
|
+
# @see https://tailwindcss.com/docs/overscroll-behavior
|
252
|
+
##
|
253
|
+
"overscroll-x" => [{ "overscroll-x" => OVERSCROLL.call }],
|
254
|
+
##
|
255
|
+
# Overscroll Behavior Y
|
256
|
+
# @see https://tailwindcss.com/docs/overscroll-behavior
|
257
|
+
##
|
258
|
+
"overscroll-y" => [{ "overscroll-y" => OVERSCROLL.call }],
|
259
|
+
##
|
260
|
+
# Position
|
261
|
+
# @see https://tailwindcss.com/docs/position
|
262
|
+
##
|
263
|
+
"position" => ["static", "fixed", "absolute", "relative", "sticky"],
|
264
|
+
##
|
265
|
+
# Top / Right / Bottom / Left
|
266
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
267
|
+
##
|
268
|
+
"inset" => [{ "inset" => [INSET] }],
|
269
|
+
##
|
270
|
+
# Right / Left
|
271
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
272
|
+
##
|
273
|
+
"inset-x" => [{ "inset-x" => [INSET] }],
|
274
|
+
##
|
275
|
+
# Top / Bottom
|
276
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
277
|
+
##
|
278
|
+
"inset-y" => [{ "inset-y" => [INSET] }],
|
279
|
+
##
|
280
|
+
# Top
|
281
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
282
|
+
##
|
283
|
+
"top" => [{ "top" => [INSET] }],
|
284
|
+
##
|
285
|
+
# Right
|
286
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
287
|
+
##
|
288
|
+
"right" => [{ "right" => [INSET] }],
|
289
|
+
##
|
290
|
+
# Bottom
|
291
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
292
|
+
##
|
293
|
+
"bottom" => [{ "bottom" => [INSET] }],
|
294
|
+
##
|
295
|
+
# Left
|
296
|
+
# @see https://tailwindcss.com/docs/top-right-bottom-left
|
297
|
+
##
|
298
|
+
"left" => [{ "left" => [INSET] }],
|
299
|
+
##
|
300
|
+
# Visibility
|
301
|
+
# @see https://tailwindcss.com/docs/visibility
|
302
|
+
##
|
303
|
+
"visibility" => ["visible", "invisible"],
|
304
|
+
##
|
305
|
+
# Z-Index
|
306
|
+
# @see https://tailwindcss.com/docs/z-index
|
307
|
+
##
|
308
|
+
"z" => [{ "z" => [IS_INTEGER] }],
|
309
|
+
# Flexbox and Grid
|
310
|
+
##
|
311
|
+
# Flex Basis
|
312
|
+
# @see https://tailwindcss.com/docs/flex-basis
|
313
|
+
##
|
314
|
+
"basis" => [{ "basis" => [SPACING] }],
|
315
|
+
##
|
316
|
+
# Flex Direction
|
317
|
+
# @see https://tailwindcss.com/docs/flex-direction
|
318
|
+
##
|
319
|
+
"flex-direction" => [{ "flex" => ["row", "row-reverse", "col", "col-reverse"] }],
|
320
|
+
##
|
321
|
+
# Flex Wrap
|
322
|
+
# @see https://tailwindcss.com/docs/flex-wrap
|
323
|
+
##
|
324
|
+
"flex-wrap" => [{ "flex" => ["wrap", "wrap-reverse", "nowrap"] }],
|
325
|
+
##
|
326
|
+
# Flex
|
327
|
+
# @see https://tailwindcss.com/docs/flex
|
328
|
+
##
|
329
|
+
"flex" => [{ "flex" => ["1", "auto", "initial", "none", IS_ARBITRARY_VALUE] }],
|
330
|
+
##
|
331
|
+
# Flex Grow
|
332
|
+
# @see https://tailwindcss.com/docs/flex-grow
|
333
|
+
##
|
334
|
+
"grow" => [{ "grow" => ZERO_AND_EMPTY.call }],
|
335
|
+
##
|
336
|
+
# Flex Shrink
|
337
|
+
# @see https://tailwindcss.com/docs/flex-shrink
|
338
|
+
##
|
339
|
+
"shrink" => [{ "shrink" => ZERO_AND_EMPTY.call }],
|
340
|
+
##
|
341
|
+
# Order
|
342
|
+
# @see https://tailwindcss.com/docs/order
|
343
|
+
##
|
344
|
+
"order" => [{ "order" => ["first", "last", "none", IS_INTEGER] }],
|
345
|
+
##
|
346
|
+
# Grid Template Columns
|
347
|
+
# @see https://tailwindcss.com/docs/grid-template-columns
|
348
|
+
##
|
349
|
+
"grid-cols" => [{ "grid-cols" => [IS_ANY] }],
|
350
|
+
##
|
351
|
+
# Grid Column Start / End
|
352
|
+
# @see https://tailwindcss.com/docs/grid-column
|
353
|
+
##
|
354
|
+
"col-start-end" => [{ "col" => ["auto", { "span" => [IS_INTEGER] }] }],
|
355
|
+
##
|
356
|
+
# Grid Column Start
|
357
|
+
# @see https://tailwindcss.com/docs/grid-column
|
358
|
+
##
|
359
|
+
"col-start" => [{ "col-start" => INTEGER_WITH_AUTO.call }],
|
360
|
+
##
|
361
|
+
# Grid Column End
|
362
|
+
# @see https://tailwindcss.com/docs/grid-column
|
363
|
+
##
|
364
|
+
"col-end" => [{ "col-end" => INTEGER_WITH_AUTO.call }],
|
365
|
+
##
|
366
|
+
# Grid Template Rows
|
367
|
+
# @see https://tailwindcss.com/docs/grid-template-rows
|
368
|
+
##
|
369
|
+
"grid-rows" => [{ "grid-rows" => [IS_ANY] }],
|
370
|
+
##
|
371
|
+
# Grid Row Start / End
|
372
|
+
# @see https://tailwindcss.com/docs/grid-row
|
373
|
+
##
|
374
|
+
"row-start-end" => [{ "row" => ["auto", { "span" => [IS_INTEGER] }] }],
|
375
|
+
##
|
376
|
+
# Grid Row Start
|
377
|
+
# @see https://tailwindcss.com/docs/grid-row
|
378
|
+
##
|
379
|
+
"row-start" => [{ "row-start" => INTEGER_WITH_AUTO.call }],
|
380
|
+
##
|
381
|
+
# Grid Row End
|
382
|
+
# @see https://tailwindcss.com/docs/grid-row
|
383
|
+
##
|
384
|
+
"row-end" => [{ "row-end" => INTEGER_WITH_AUTO.call }],
|
385
|
+
##
|
386
|
+
# Grid Auto Flow
|
387
|
+
# @see https://tailwindcss.com/docs/grid-auto-flow
|
388
|
+
##
|
389
|
+
"grid-flow" => [{ "grid-flow" => ["row", "col", "dense", "row-dense", "col-dense"] }],
|
390
|
+
##
|
391
|
+
# Grid Auto Columns
|
392
|
+
# @see https://tailwindcss.com/docs/grid-auto-columns
|
393
|
+
##
|
394
|
+
"auto-cols" => [{ "auto-cols" => ["auto", "min", "max", "fr", IS_ARBITRARY_VALUE] }],
|
395
|
+
##
|
396
|
+
# Grid Auto Rows
|
397
|
+
# @see https://tailwindcss.com/docs/grid-auto-rows
|
398
|
+
##
|
399
|
+
"auto-rows" => [{ "auto-rows" => ["auto", "min", "max", "fr", IS_ARBITRARY_VALUE] }],
|
400
|
+
##
|
401
|
+
# Gap
|
402
|
+
# @see https://tailwindcss.com/docs/gap
|
403
|
+
##
|
404
|
+
"gap" => [{ "gap" => [GAP] }],
|
405
|
+
##
|
406
|
+
# Gap X
|
407
|
+
# @see https://tailwindcss.com/docs/gap
|
408
|
+
##
|
409
|
+
"gap-x" => [{ "gap-x" => [GAP] }],
|
410
|
+
##
|
411
|
+
# Gap Y
|
412
|
+
# @see https://tailwindcss.com/docs/gap
|
413
|
+
##
|
414
|
+
"gap-y" => [{ "gap-y" => [GAP] }],
|
415
|
+
##
|
416
|
+
# Justify Content
|
417
|
+
# @see https://tailwindcss.com/docs/justify-content
|
418
|
+
##
|
419
|
+
"justify-content" => [{ "justify" => ALIGN.call }],
|
420
|
+
##
|
421
|
+
# Justify Items
|
422
|
+
# @see https://tailwindcss.com/docs/justify-items
|
423
|
+
##
|
424
|
+
"justify-items" => [{ "justify-items" => ["start", "end", "center", "stretch"] }],
|
425
|
+
##
|
426
|
+
# Justify Self
|
427
|
+
# @see https://tailwindcss.com/docs/justify-self
|
428
|
+
##
|
429
|
+
"justify-self" => [{ "justify-self" => ["auto", "start", "end", "center", "stretch"] }],
|
430
|
+
##
|
431
|
+
# Align Content
|
432
|
+
# @see https://tailwindcss.com/docs/align-content
|
433
|
+
##
|
434
|
+
"align-content" => [{ "content" => ALIGN.call }],
|
435
|
+
##
|
436
|
+
# Align Items
|
437
|
+
# @see https://tailwindcss.com/docs/align-items
|
438
|
+
##
|
439
|
+
"align-items" => [{ "items" => ["start", "end", "center", "baseline", "stretch"] }],
|
440
|
+
##
|
441
|
+
# Align Self
|
442
|
+
# @see https://tailwindcss.com/docs/align-self
|
443
|
+
##
|
444
|
+
"align-self" => [{ "self" => ["auto", "start", "end", "center", "stretch", "baseline"] }],
|
445
|
+
##
|
446
|
+
# Place Content
|
447
|
+
# @see https://tailwindcss.com/docs/place-content
|
448
|
+
##
|
449
|
+
"place-content" => [{ "place-content" => [*ALIGN.call, "stretch"] }],
|
450
|
+
##
|
451
|
+
# Place Items
|
452
|
+
# @see https://tailwindcss.com/docs/place-items
|
453
|
+
##
|
454
|
+
"place-items" => [{ "place-items" => ["start", "end", "center", "stretch"] }],
|
455
|
+
##
|
456
|
+
# Place Self
|
457
|
+
# @see https://tailwindcss.com/docs/place-self
|
458
|
+
##
|
459
|
+
"place-self" => [{ "place-self" => ["auto", "start", "end", "center", "stretch"] }],
|
460
|
+
# Spacing
|
461
|
+
##
|
462
|
+
# Padding
|
463
|
+
# @see https://tailwindcss.com/docs/padding
|
464
|
+
##
|
465
|
+
"p" => [{ "p" => [PADDING] }],
|
466
|
+
##
|
467
|
+
# Padding X
|
468
|
+
# @see https://tailwindcss.com/docs/padding
|
469
|
+
##
|
470
|
+
"px" => [{ "px" => [PADDING] }],
|
471
|
+
##
|
472
|
+
# Padding Y
|
473
|
+
# @see https://tailwindcss.com/docs/padding
|
474
|
+
##
|
475
|
+
"py" => [{ "py" => [PADDING] }],
|
476
|
+
##
|
477
|
+
# Padding Top
|
478
|
+
# @see https://tailwindcss.com/docs/padding
|
479
|
+
##
|
480
|
+
"pt" => [{ "pt" => [PADDING] }],
|
481
|
+
##
|
482
|
+
# Padding Right
|
483
|
+
# @see https://tailwindcss.com/docs/padding
|
484
|
+
##
|
485
|
+
"pr" => [{ "pr" => [PADDING] }],
|
486
|
+
##
|
487
|
+
# Padding Bottom
|
488
|
+
# @see https://tailwindcss.com/docs/padding
|
489
|
+
##
|
490
|
+
"pb" => [{ "pb" => [PADDING] }],
|
491
|
+
##
|
492
|
+
# Padding Left
|
493
|
+
# @see https://tailwindcss.com/docs/padding
|
494
|
+
##
|
495
|
+
"pl" => [{ "pl" => [PADDING] }],
|
496
|
+
##
|
497
|
+
# Margin
|
498
|
+
# @see https://tailwindcss.com/docs/margin
|
499
|
+
##
|
500
|
+
"m" => [{ "m" => [MARGIN] }],
|
501
|
+
##
|
502
|
+
# Margin X
|
503
|
+
# @see https://tailwindcss.com/docs/margin
|
504
|
+
##
|
505
|
+
"mx" => [{ "mx" => [MARGIN] }],
|
506
|
+
##
|
507
|
+
# Margin Y
|
508
|
+
# @see https://tailwindcss.com/docs/margin
|
509
|
+
##
|
510
|
+
"my" => [{ "my" => [MARGIN] }],
|
511
|
+
##
|
512
|
+
# Margin Top
|
513
|
+
# @see https://tailwindcss.com/docs/margin
|
514
|
+
##
|
515
|
+
"mt" => [{ "mt" => [MARGIN] }],
|
516
|
+
##
|
517
|
+
# Margin Right
|
518
|
+
# @see https://tailwindcss.com/docs/margin
|
519
|
+
##
|
520
|
+
"mr" => [{ "mr" => [MARGIN] }],
|
521
|
+
##
|
522
|
+
# Margin Bottom
|
523
|
+
# @see https://tailwindcss.com/docs/margin
|
524
|
+
##
|
525
|
+
"mb" => [{ "mb" => [MARGIN] }],
|
526
|
+
##
|
527
|
+
# Margin Left
|
528
|
+
# @see https://tailwindcss.com/docs/margin
|
529
|
+
##
|
530
|
+
"ml" => [{ "ml" => [MARGIN] }],
|
531
|
+
##
|
532
|
+
# Space Between X
|
533
|
+
# @see https://tailwindcss.com/docs/space
|
534
|
+
##
|
535
|
+
"space-x" => [{ "space-x" => [SPACE] }],
|
536
|
+
##
|
537
|
+
# Space Between X Reverse
|
538
|
+
# @see https://tailwindcss.com/docs/space
|
539
|
+
##
|
540
|
+
"space-x-reverse" => ["space-x-reverse"],
|
541
|
+
##
|
542
|
+
# Space Between Y
|
543
|
+
# @see https://tailwindcss.com/docs/space
|
544
|
+
##
|
545
|
+
"space-y" => [{ "space-y" => [SPACE] }],
|
546
|
+
##
|
547
|
+
# Space Between Y Reverse
|
548
|
+
# @see https://tailwindcss.com/docs/space
|
549
|
+
##
|
550
|
+
"space-y-reverse" => ["space-y-reverse"],
|
551
|
+
# Sizing
|
552
|
+
##
|
553
|
+
# Width
|
554
|
+
# @see https://tailwindcss.com/docs/width
|
555
|
+
##
|
556
|
+
"w" => [{ "w" => ["auto", "min", "max", "fit", SPACING] }],
|
557
|
+
##
|
558
|
+
# Min-Width
|
559
|
+
# @see https://tailwindcss.com/docs/min-width
|
560
|
+
##
|
561
|
+
"min-w" => [{ "min-w" => ["min", "max", "fit", IS_LENGTH] }],
|
562
|
+
##
|
563
|
+
# Max-Width
|
564
|
+
# @see https://tailwindcss.com/docs/max-width
|
565
|
+
##
|
566
|
+
"max-w" => [
|
567
|
+
{
|
568
|
+
"max-w" => [
|
569
|
+
"0",
|
570
|
+
"none",
|
571
|
+
"full",
|
572
|
+
"min",
|
573
|
+
"max",
|
574
|
+
"fit",
|
575
|
+
"prose",
|
576
|
+
{ "screen" => [IS_TSHIRT_SIZE] },
|
577
|
+
IS_TSHIRT_SIZE,
|
578
|
+
IS_ARBITRARY_LENGTH,
|
579
|
+
],
|
580
|
+
},
|
581
|
+
],
|
582
|
+
##
|
583
|
+
# Height
|
584
|
+
# @see https://tailwindcss.com/docs/height
|
585
|
+
##
|
586
|
+
"h" => [{ "h" => SPACING_WITH_AUTO.call }],
|
587
|
+
##
|
588
|
+
# Min-Height
|
589
|
+
# @see https://tailwindcss.com/docs/min-height
|
590
|
+
##
|
591
|
+
"min-h" => [{ "min-h" => ["min", "max", "fit", IS_LENGTH] }],
|
592
|
+
##
|
593
|
+
# Max-Height
|
594
|
+
# @see https://tailwindcss.com/docs/max-height
|
595
|
+
##
|
596
|
+
"max-h" => [{ "max-h" => [SPACING, "min", "max", "fit"] }],
|
597
|
+
# Typography
|
598
|
+
##
|
599
|
+
# Font Size
|
600
|
+
# @see https://tailwindcss.com/docs/font-size
|
601
|
+
##
|
602
|
+
"font-size" => [{ "text" => ["base", IS_TSHIRT_SIZE, IS_ARBITRARY_LENGTH] }],
|
603
|
+
##
|
604
|
+
# Font Smoothing
|
605
|
+
# @see https://tailwindcss.com/docs/font-smoothing
|
606
|
+
##
|
607
|
+
"font-smoothing" => ["antialiased", "subpixel-antialiased"],
|
608
|
+
##
|
609
|
+
# Font Style
|
610
|
+
# @see https://tailwindcss.com/docs/font-style
|
611
|
+
##
|
612
|
+
"font-style" => ["italic", "not-italic"],
|
613
|
+
##
|
614
|
+
# Font Weight
|
615
|
+
# @see https://tailwindcss.com/docs/font-weight
|
616
|
+
##
|
617
|
+
"font-weight" => [
|
618
|
+
{
|
619
|
+
"font" => [
|
620
|
+
"thin",
|
621
|
+
"extralight",
|
622
|
+
"light",
|
623
|
+
"normal",
|
624
|
+
"medium",
|
625
|
+
"semibold",
|
626
|
+
"bold",
|
627
|
+
"extrabold",
|
628
|
+
"black",
|
629
|
+
IS_ARBITRARY_WEIGHT,
|
630
|
+
],
|
631
|
+
},
|
632
|
+
],
|
633
|
+
##
|
634
|
+
# Font Family
|
635
|
+
# @see https://tailwindcss.com/docs/font-family
|
636
|
+
##
|
637
|
+
"font-family" => [{ "font" => [IS_ANY] }],
|
638
|
+
##
|
639
|
+
# Font Variant Numeric
|
640
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
641
|
+
##
|
642
|
+
"fvn-normal" => ["normal-nums"],
|
643
|
+
##
|
644
|
+
# Font Variant Numeric
|
645
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
646
|
+
##
|
647
|
+
"fvn-ordinal" => ["ordinal"],
|
648
|
+
##
|
649
|
+
# Font Variant Numeric
|
650
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
651
|
+
##
|
652
|
+
"fvn-slashed-zero" => ["slashed-zero"],
|
653
|
+
##
|
654
|
+
# Font Variant Numeric
|
655
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
656
|
+
##
|
657
|
+
"fvn-figure" => ["lining-nums", "oldstyle-nums"],
|
658
|
+
##
|
659
|
+
# Font Variant Numeric
|
660
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
661
|
+
##
|
662
|
+
"fvn-spacing" => ["proportional-nums", "tabular-nums"],
|
663
|
+
##
|
664
|
+
# Font Variant Numeric
|
665
|
+
# @see https://tailwindcss.com/docs/font-variant-numeric
|
666
|
+
##
|
667
|
+
"fvn-fraction" => ["diagonal-fractions", "stacked-fractons"],
|
668
|
+
##
|
669
|
+
# Letter Spacing
|
670
|
+
# @see https://tailwindcss.com/docs/letter-spacing
|
671
|
+
##
|
672
|
+
"tracking" => [
|
673
|
+
{
|
674
|
+
"tracking" => [
|
675
|
+
"tighter",
|
676
|
+
"tight",
|
677
|
+
"normal",
|
678
|
+
"wide",
|
679
|
+
"wider",
|
680
|
+
"widest",
|
681
|
+
IS_ARBITRARY_LENGTH,
|
682
|
+
],
|
683
|
+
},
|
684
|
+
],
|
685
|
+
##
|
686
|
+
# Line Height
|
687
|
+
# @see https://tailwindcss.com/docs/line-height
|
688
|
+
##
|
689
|
+
"leading" => [
|
690
|
+
{ "leading" => ["none", "tight", "snug", "normal", "relaxed", "loose", IS_LENGTH] },
|
691
|
+
],
|
692
|
+
##
|
693
|
+
# List Style Type
|
694
|
+
# @see https://tailwindcss.com/docs/list-style-type
|
695
|
+
##
|
696
|
+
"list-style-type" => [{ "list" => ["none", "disc", "decimal", IS_ARBITRARY_VALUE] }],
|
697
|
+
##
|
698
|
+
# List Style Position
|
699
|
+
# @see https://tailwindcss.com/docs/list-style-position
|
700
|
+
##
|
701
|
+
"list-style-position" => [{ "list" => ["inside", "outside"] }],
|
702
|
+
##
|
703
|
+
# Placeholder Color
|
704
|
+
# @deprecated since Tailwind CSS v3.0.0
|
705
|
+
# @see https://tailwindcss.com/docs/placeholder-color
|
706
|
+
##
|
707
|
+
"placeholder-color" => [{ "placeholder" => [COLORS] }],
|
708
|
+
##
|
709
|
+
# Placeholder Opacity
|
710
|
+
# @see https://tailwindcss.com/docs/placeholder-opacity
|
711
|
+
##
|
712
|
+
"placeholder-opacity" => [{ "placeholder-opacity" => [OPACITY] }],
|
713
|
+
##
|
714
|
+
# Text Alignment
|
715
|
+
# @see https://tailwindcss.com/docs/text-align
|
716
|
+
##
|
717
|
+
"text-alignment" => [{ "text" => ["left", "center", "right", "justify", "start", "end"] }],
|
718
|
+
##
|
719
|
+
# Text Color
|
720
|
+
# @see https://tailwindcss.com/docs/text-color
|
721
|
+
##
|
722
|
+
"text-color" => [{ "text" => [COLORS] }],
|
723
|
+
##
|
724
|
+
# Text Opacity
|
725
|
+
# @see https://tailwindcss.com/docs/text-opacity
|
726
|
+
##
|
727
|
+
"text-opacity" => [{ "text-opacity" => [OPACITY] }],
|
728
|
+
##
|
729
|
+
# Text Decoration
|
730
|
+
# @see https://tailwindcss.com/docs/text-decoration
|
731
|
+
##
|
732
|
+
"text-decoration" => ["underline", "overline", "line-through", "no-underline"],
|
733
|
+
##
|
734
|
+
# Text Decoration Style
|
735
|
+
# @see https://tailwindcss.com/docs/text-decoration-style
|
736
|
+
##
|
737
|
+
"text-decoration-style" => [{ "decoration" => [*LINE_STYLES.call, "wavy"] }],
|
738
|
+
##
|
739
|
+
# Text Decoration Thickness
|
740
|
+
# @see https://tailwindcss.com/docs/text-decoration-thickness
|
741
|
+
##
|
742
|
+
"text-decoration-thickness" => [{ "decoration" => ["auto", "from-font", IS_LENGTH] }],
|
743
|
+
##
|
744
|
+
# Text Underline Offset
|
745
|
+
# @see https://tailwindcss.com/docs/text-underline-offset
|
746
|
+
##
|
747
|
+
"underline-offset" => [{ "underline-offset" => ["auto", IS_LENGTH] }],
|
748
|
+
##
|
749
|
+
# Text Decoration Color
|
750
|
+
# @see https://tailwindcss.com/docs/text-decoration-color
|
751
|
+
##
|
752
|
+
"text-decoration-color" => [{ "decoration" => [COLORS] }],
|
753
|
+
##
|
754
|
+
# Text Transform
|
755
|
+
# @see https://tailwindcss.com/docs/text-transform
|
756
|
+
##
|
757
|
+
"text-transform" => ["uppercase", "lowercase", "capitalize", "normal-case"],
|
758
|
+
##
|
759
|
+
# Text Overflow
|
760
|
+
# @see https://tailwindcss.com/docs/text-overflow
|
761
|
+
##
|
762
|
+
"text-overflow" => ["truncate", "text-ellipsis", "text-clip"],
|
763
|
+
##
|
764
|
+
# Text Indent
|
765
|
+
# @see https://tailwindcss.com/docs/text-indent
|
766
|
+
##
|
767
|
+
"indent" => [{ "indent" => [SPACING] }],
|
768
|
+
##
|
769
|
+
# Vertical Alignment
|
770
|
+
# @see https://tailwindcss.com/docs/vertical-align
|
771
|
+
##
|
772
|
+
"vertical-align" => [
|
773
|
+
{
|
774
|
+
"align" => [
|
775
|
+
"baseline",
|
776
|
+
"top",
|
777
|
+
"middle",
|
778
|
+
"bottom",
|
779
|
+
"text-top",
|
780
|
+
"text-bottom",
|
781
|
+
"sub",
|
782
|
+
"super",
|
783
|
+
IS_ARBITRARY_LENGTH,
|
784
|
+
],
|
785
|
+
},
|
786
|
+
],
|
787
|
+
##
|
788
|
+
# Whitespace
|
789
|
+
# @see https://tailwindcss.com/docs/whitespace
|
790
|
+
##
|
791
|
+
"whitespace" => [{ "whitespace" => ["normal", "nowrap", "pre", "pre-line", "pre-wrap"] }],
|
792
|
+
##
|
793
|
+
# Word Break
|
794
|
+
# @see https://tailwindcss.com/docs/word-break
|
795
|
+
##
|
796
|
+
"break" => [{ "break" => ["normal", "words", "all"] }],
|
797
|
+
##
|
798
|
+
# Content
|
799
|
+
# @see https://tailwindcss.com/docs/content
|
800
|
+
##
|
801
|
+
"content" => [{ "content" => ["none", IS_ARBITRARY_VALUE] }],
|
802
|
+
# Backgrounds
|
803
|
+
##
|
804
|
+
# Background Attachment
|
805
|
+
# @see https://tailwindcss.com/docs/background-attachment
|
806
|
+
##
|
807
|
+
"bg-attachment" => [{ "bg" => ["fixed", "local", "scroll"] }],
|
808
|
+
##
|
809
|
+
# Background Clip
|
810
|
+
# @see https://tailwindcss.com/docs/background-clip
|
811
|
+
##
|
812
|
+
"bg-clip" => [{ "bg-clip" => ["border", "padding", "content", "text"] }],
|
813
|
+
##
|
814
|
+
# Background Opacity
|
815
|
+
# @deprecated since Tailwind CSS v3.0.0
|
816
|
+
# @see https://tailwindcss.com/docs/background-opacity
|
817
|
+
##
|
818
|
+
"bg-opacity" => [{ "bg-opacity" => [OPACITY] }],
|
819
|
+
##
|
820
|
+
# Background Origin
|
821
|
+
# @see https://tailwindcss.com/docs/background-origin
|
822
|
+
##
|
823
|
+
"bg-origin" => [{ "bg-origin" => ["border", "padding", "content"] }],
|
824
|
+
##
|
825
|
+
# Background Position
|
826
|
+
# @see https://tailwindcss.com/docs/background-position
|
827
|
+
##
|
828
|
+
"bg-position" => [{ "bg" => [*POSITIONS.call, IS_ARBITRARY_POSITION] }],
|
829
|
+
##
|
830
|
+
# Background Repeat
|
831
|
+
# @see https://tailwindcss.com/docs/background-repeat
|
832
|
+
##
|
833
|
+
"bg-repeat" => [{ "bg" => ["no-repeat", { "repeat" => ["", "x", "y", "round", "space"] }] }],
|
834
|
+
##
|
835
|
+
# Background Size
|
836
|
+
# @see https://tailwindcss.com/docs/background-size
|
837
|
+
##
|
838
|
+
"bg-size" => [{ "bg" => ["auto", "cover", "contain", IS_ARBITRARY_SIZE] }],
|
839
|
+
##
|
840
|
+
# Background Image
|
841
|
+
# @see https://tailwindcss.com/docs/background-image
|
842
|
+
##
|
843
|
+
"bg-image" => [
|
844
|
+
{
|
845
|
+
"bg" => [
|
846
|
+
"none",
|
847
|
+
{ "gradient-to" => ["t", "tr", "r", "br", "b", "bl", "l", "tl"] },
|
848
|
+
IS_ARBITRARY_URL,
|
849
|
+
],
|
850
|
+
},
|
851
|
+
],
|
852
|
+
##
|
853
|
+
# Background Color
|
854
|
+
# @see https://tailwindcss.com/docs/background-color
|
855
|
+
##
|
856
|
+
"bg-color" => [{ "bg" => [COLORS] }],
|
857
|
+
##
|
858
|
+
# Gradient Color Stops From
|
859
|
+
# @see https://tailwindcss.com/docs/gradient-color-stops
|
860
|
+
##
|
861
|
+
"gradient-from" => [{ "from" => [GRADIENT_COLOR_STOPS] }],
|
862
|
+
##
|
863
|
+
# Gradient Color Stops Via
|
864
|
+
# @see https://tailwindcss.com/docs/gradient-color-stops
|
865
|
+
##
|
866
|
+
"gradient-via" => [{ "via" => [GRADIENT_COLOR_STOPS] }],
|
867
|
+
##
|
868
|
+
# Gradient Color Stops To
|
869
|
+
# @see https://tailwindcss.com/docs/gradient-color-stops
|
870
|
+
##
|
871
|
+
"gradient-to" => [{ "to" => [GRADIENT_COLOR_STOPS] }],
|
872
|
+
# Borders
|
873
|
+
##
|
874
|
+
# Border Radius
|
875
|
+
# @see https://tailwindcss.com/docs/border-radius
|
876
|
+
##
|
877
|
+
"rounded" => [{ "rounded" => [BORDER_RADIUS] }],
|
878
|
+
##
|
879
|
+
# Border Radius Top
|
880
|
+
# @see https://tailwindcss.com/docs/border-radius
|
881
|
+
##
|
882
|
+
"rounded-t" => [{ "rounded-t" => [BORDER_RADIUS] }],
|
883
|
+
##
|
884
|
+
# Border Radius Right
|
885
|
+
# @see https://tailwindcss.com/docs/border-radius
|
886
|
+
##
|
887
|
+
"rounded-r" => [{ "rounded-r" => [BORDER_RADIUS] }],
|
888
|
+
##
|
889
|
+
# Border Radius Bottom
|
890
|
+
# @see https://tailwindcss.com/docs/border-radius
|
891
|
+
##
|
892
|
+
"rounded-b" => [{ "rounded-b" => [BORDER_RADIUS] }],
|
893
|
+
##
|
894
|
+
# Border Radius Left
|
895
|
+
# @see https://tailwindcss.com/docs/border-radius
|
896
|
+
##
|
897
|
+
"rounded-l" => [{ "rounded-l" => [BORDER_RADIUS] }],
|
898
|
+
##
|
899
|
+
# Border Radius Top Left
|
900
|
+
# @see https://tailwindcss.com/docs/border-radius
|
901
|
+
##
|
902
|
+
"rounded-tl" => [{ "rounded-tl" => [BORDER_RADIUS] }],
|
903
|
+
##
|
904
|
+
# Border Radius Top Right
|
905
|
+
# @see https://tailwindcss.com/docs/border-radius
|
906
|
+
##
|
907
|
+
"rounded-tr" => [{ "rounded-tr" => [BORDER_RADIUS] }],
|
908
|
+
##
|
909
|
+
# Border Radius Bottom Right
|
910
|
+
# @see https://tailwindcss.com/docs/border-radius
|
911
|
+
##
|
912
|
+
"rounded-br" => [{ "rounded-br" => [BORDER_RADIUS] }],
|
913
|
+
##
|
914
|
+
# Border Radius Bottom Left
|
915
|
+
# @see https://tailwindcss.com/docs/border-radius
|
916
|
+
##
|
917
|
+
"rounded-bl" => [{ "rounded-bl" => [BORDER_RADIUS] }],
|
918
|
+
##
|
919
|
+
# Border Width
|
920
|
+
# @see https://tailwindcss.com/docs/border-width
|
921
|
+
##
|
922
|
+
"border-w" => [{ "border" => [BORDER_WIDTH] }],
|
923
|
+
##
|
924
|
+
# Border Width X
|
925
|
+
# @see https://tailwindcss.com/docs/border-width
|
926
|
+
##
|
927
|
+
"border-w-x" => [{ "border-x" => [BORDER_WIDTH] }],
|
928
|
+
##
|
929
|
+
# Border Width Y
|
930
|
+
# @see https://tailwindcss.com/docs/border-width
|
931
|
+
##
|
932
|
+
"border-w-y" => [{ "border-y" => [BORDER_WIDTH] }],
|
933
|
+
##
|
934
|
+
# Border Width Top
|
935
|
+
# @see https://tailwindcss.com/docs/border-width
|
936
|
+
##
|
937
|
+
"border-w-t" => [{ "border-t" => [BORDER_WIDTH] }],
|
938
|
+
##
|
939
|
+
# Border Width Right
|
940
|
+
# @see https://tailwindcss.com/docs/border-width
|
941
|
+
##
|
942
|
+
"border-w-r" => [{ "border-r" => [BORDER_WIDTH] }],
|
943
|
+
##
|
944
|
+
# Border Width Bottom
|
945
|
+
# @see https://tailwindcss.com/docs/border-width
|
946
|
+
##
|
947
|
+
"border-w-b" => [{ "border-b" => [BORDER_WIDTH] }],
|
948
|
+
##
|
949
|
+
# Border Width Left
|
950
|
+
# @see https://tailwindcss.com/docs/border-width
|
951
|
+
##
|
952
|
+
"border-w-l" => [{ "border-l" => [BORDER_WIDTH] }],
|
953
|
+
##
|
954
|
+
# Border Opacity
|
955
|
+
# @see https://tailwindcss.com/docs/border-opacity
|
956
|
+
##
|
957
|
+
"border-opacity" => [{ "border-opacity" => [OPACITY] }],
|
958
|
+
##
|
959
|
+
# Border Style
|
960
|
+
# @see https://tailwindcss.com/docs/border-style
|
961
|
+
##
|
962
|
+
"border-style" => [{ "border" => [*LINE_STYLES.call, "hidden"] }],
|
963
|
+
##
|
964
|
+
# Divide Width X
|
965
|
+
# @see https://tailwindcss.com/docs/divide-width
|
966
|
+
##
|
967
|
+
"divide-x" => [{ "divide-x" => [BORDER_WIDTH] }],
|
968
|
+
##
|
969
|
+
# Divide Width X Reverse
|
970
|
+
# @see https://tailwindcss.com/docs/divide-width
|
971
|
+
##
|
972
|
+
"divide-x-reverse" => ["divide-x-reverse"],
|
973
|
+
##
|
974
|
+
# Divide Width Y
|
975
|
+
# @see https://tailwindcss.com/docs/divide-width
|
976
|
+
##
|
977
|
+
"divide-y" => [{ "divide-y" => [BORDER_WIDTH] }],
|
978
|
+
##
|
979
|
+
# Divide Width Y Reverse
|
980
|
+
# @see https://tailwindcss.com/docs/divide-width
|
981
|
+
##
|
982
|
+
"divide-y-reverse" => ["divide-y-reverse"],
|
983
|
+
##
|
984
|
+
# Divide Opacity
|
985
|
+
# @see https://tailwindcss.com/docs/divide-opacity
|
986
|
+
##
|
987
|
+
"divide-opacity" => [{ "divide-opacity" => [OPACITY] }],
|
988
|
+
##
|
989
|
+
# Divide Style
|
990
|
+
# @see https://tailwindcss.com/docs/divide-style
|
991
|
+
##
|
992
|
+
"divide-style" => [{ "divide" => LINE_STYLES.call }],
|
993
|
+
##
|
994
|
+
# Border Color
|
995
|
+
# @see https://tailwindcss.com/docs/border-color
|
996
|
+
##
|
997
|
+
"border-color" => [{ "border" => [BORDER_COLOR] }],
|
998
|
+
##
|
999
|
+
# Border Color X
|
1000
|
+
# @see https://tailwindcss.com/docs/border-color
|
1001
|
+
##
|
1002
|
+
"border-color-x" => [{ "border-x" => [BORDER_COLOR] }],
|
1003
|
+
##
|
1004
|
+
# Border Color Y
|
1005
|
+
# @see https://tailwindcss.com/docs/border-color
|
1006
|
+
##
|
1007
|
+
"border-color-y" => [{ "border-y" => [BORDER_COLOR] }],
|
1008
|
+
##
|
1009
|
+
# Border Color Top
|
1010
|
+
# @see https://tailwindcss.com/docs/border-color
|
1011
|
+
##
|
1012
|
+
"border-color-t" => [{ "border-t" => [BORDER_COLOR] }],
|
1013
|
+
##
|
1014
|
+
# Border Color Right
|
1015
|
+
# @see https://tailwindcss.com/docs/border-color
|
1016
|
+
##
|
1017
|
+
"border-color-r" => [{ "border-r" => [BORDER_COLOR] }],
|
1018
|
+
##
|
1019
|
+
# Border Color Bottom
|
1020
|
+
# @see https://tailwindcss.com/docs/border-color
|
1021
|
+
##
|
1022
|
+
"border-color-b" => [{ "border-b" => [BORDER_COLOR] }],
|
1023
|
+
##
|
1024
|
+
# Border Color Left
|
1025
|
+
# @see https://tailwindcss.com/docs/border-color
|
1026
|
+
##
|
1027
|
+
"border-color-l" => [{ "border-l" => [BORDER_COLOR] }],
|
1028
|
+
##
|
1029
|
+
# Divide Color
|
1030
|
+
# @see https://tailwindcss.com/docs/divide-color
|
1031
|
+
##
|
1032
|
+
"divide-color" => [{ "divide" => [BORDER_COLOR] }],
|
1033
|
+
##
|
1034
|
+
# Outline Style
|
1035
|
+
# @see https://tailwindcss.com/docs/outline-style
|
1036
|
+
##
|
1037
|
+
"outline-style" => [{ "outline" => ["", *LINE_STYLES.call, "hidden"] }],
|
1038
|
+
##
|
1039
|
+
# Outline Offset
|
1040
|
+
# @see https://tailwindcss.com/docs/outline-offset
|
1041
|
+
##
|
1042
|
+
"outline-offset" => [{ "outline-offset" => [IS_LENGTH] }],
|
1043
|
+
##
|
1044
|
+
# Outline Width
|
1045
|
+
# @see https://tailwindcss.com/docs/outline-width
|
1046
|
+
##
|
1047
|
+
"outline-w" => [{ "outline" => [IS_LENGTH] }],
|
1048
|
+
##
|
1049
|
+
# Outline Color
|
1050
|
+
# @see https://tailwindcss.com/docs/outline-color
|
1051
|
+
##
|
1052
|
+
"outline-color" => [{ "outline" => [COLORS] }],
|
1053
|
+
##
|
1054
|
+
# Ring Width
|
1055
|
+
# @see https://tailwindcss.com/docs/ring-width
|
1056
|
+
##
|
1057
|
+
"ring-w" => [{ "ring" => LENGTH_WITH_EMPTY.call }],
|
1058
|
+
##
|
1059
|
+
# Ring Width Inset
|
1060
|
+
# @see https://tailwindcss.com/docs/ring-width
|
1061
|
+
##
|
1062
|
+
"ring-w-inset" => ["ring-inset"],
|
1063
|
+
##
|
1064
|
+
# Ring Color
|
1065
|
+
# @see https://tailwindcss.com/docs/ring-color
|
1066
|
+
##
|
1067
|
+
"ring-color" => [{ "ring" => [COLORS] }],
|
1068
|
+
##
|
1069
|
+
# Ring Opacity
|
1070
|
+
# @see https://tailwindcss.com/docs/ring-opacity
|
1071
|
+
##
|
1072
|
+
"ring-opacity" => [{ "ring-opacity" => [OPACITY] }],
|
1073
|
+
##
|
1074
|
+
# Ring Offset Width
|
1075
|
+
# @see https://tailwindcss.com/docs/ring-offset-width
|
1076
|
+
##
|
1077
|
+
"ring-offset-w" => [{ "ring-offset" => [IS_LENGTH] }],
|
1078
|
+
##
|
1079
|
+
# Ring Offset Color
|
1080
|
+
# @see https://tailwindcss.com/docs/ring-offset-color
|
1081
|
+
##
|
1082
|
+
"ring-offset-color" => [{ "ring-offset" => [COLORS] }],
|
1083
|
+
# Effects
|
1084
|
+
##
|
1085
|
+
# Box Shadow
|
1086
|
+
# @see https://tailwindcss.com/docs/box-shadow
|
1087
|
+
##
|
1088
|
+
"shadow" => [{ "shadow" => ["", "inner", "none", IS_TSHIRT_SIZE, IS_ARBITRARY_SHADOW] }],
|
1089
|
+
##
|
1090
|
+
# Box Shadow Color
|
1091
|
+
# @see https://tailwindcss.com/docs/box-shadow-color
|
1092
|
+
##
|
1093
|
+
"shadow-color" => [{ "shadow" => [IS_ANY] }],
|
1094
|
+
##
|
1095
|
+
# Opacity
|
1096
|
+
# @see https://tailwindcss.com/docs/opacity
|
1097
|
+
##
|
1098
|
+
"opacity" => [{ "opacity" => [OPACITY] }],
|
1099
|
+
##
|
1100
|
+
# Mix Blend Mode
|
1101
|
+
# @see https://tailwindcss.com/docs/mix-blend-mode
|
1102
|
+
##
|
1103
|
+
"mix-blend" => [{ "mix-blend" => BLEND_MODES.call }],
|
1104
|
+
##
|
1105
|
+
# Background Blend Mode
|
1106
|
+
# @see https://tailwindcss.com/docs/background-blend-mode
|
1107
|
+
##
|
1108
|
+
"bg-blend" => [{ "bg-blend" => BLEND_MODES.call }],
|
1109
|
+
# Filters
|
1110
|
+
##
|
1111
|
+
# Filter
|
1112
|
+
# @deprecated since Tailwind CSS v3.0.0
|
1113
|
+
# @see https://tailwindcss.com/docs/filter
|
1114
|
+
##
|
1115
|
+
"filter" => [{ "filter" => ["", "none"] }],
|
1116
|
+
##
|
1117
|
+
# Blur
|
1118
|
+
# @see https://tailwindcss.com/docs/blur
|
1119
|
+
##
|
1120
|
+
"blur" => [{ "blur" => [BLUR] }],
|
1121
|
+
##
|
1122
|
+
# Brightness
|
1123
|
+
# @see https://tailwindcss.com/docs/brightness
|
1124
|
+
##
|
1125
|
+
"brightness" => [{ "brightness" => [BRIGHTNESS] }],
|
1126
|
+
##
|
1127
|
+
# Contrast
|
1128
|
+
# @see https://tailwindcss.com/docs/contrast
|
1129
|
+
##
|
1130
|
+
"contrast" => [{ "contrast" => [CONTRAST] }],
|
1131
|
+
##
|
1132
|
+
# Drop Shadow
|
1133
|
+
# @see https://tailwindcss.com/docs/drop-shadow
|
1134
|
+
##
|
1135
|
+
"drop-shadow" => [{ "drop-shadow" => ["", "none", IS_TSHIRT_SIZE, IS_ARBITRARY_VALUE] }],
|
1136
|
+
##
|
1137
|
+
# Grayscale
|
1138
|
+
# @see https://tailwindcss.com/docs/grayscale
|
1139
|
+
##
|
1140
|
+
"grayscale" => [{ "grayscale" => [GRAYSCALE] }],
|
1141
|
+
##
|
1142
|
+
# Hue Rotate
|
1143
|
+
# @see https://tailwindcss.com/docs/hue-rotate
|
1144
|
+
##
|
1145
|
+
"hue-rotate" => [{ "hue-rotate" => [HUE_ROTATE] }],
|
1146
|
+
##
|
1147
|
+
# Invert
|
1148
|
+
# @see https://tailwindcss.com/docs/invert
|
1149
|
+
##
|
1150
|
+
"invert" => [{ "invert" => [INVERT] }],
|
1151
|
+
##
|
1152
|
+
# Saturate
|
1153
|
+
# @see https://tailwindcss.com/docs/saturate
|
1154
|
+
##
|
1155
|
+
"saturate" => [{ "saturate" => [SATURATE] }],
|
1156
|
+
##
|
1157
|
+
# Sepia
|
1158
|
+
# @see https://tailwindcss.com/docs/sepia
|
1159
|
+
##
|
1160
|
+
"sepia" => [{ "sepia" => [SEPIA] }],
|
1161
|
+
##
|
1162
|
+
# Backdrop Filter
|
1163
|
+
# @deprecated since Tailwind CSS v3.0.0
|
1164
|
+
# @see https://tailwindcss.com/docs/backdrop-filter
|
1165
|
+
##
|
1166
|
+
"backdrop-filter" => [{ "backdrop-filter" => ["", "none"] }],
|
1167
|
+
##
|
1168
|
+
# Backdrop Blur
|
1169
|
+
# @see https://tailwindcss.com/docs/backdrop-blur
|
1170
|
+
##
|
1171
|
+
"backdrop-blur" => [{ "backdrop-blur" => [BLUR] }],
|
1172
|
+
##
|
1173
|
+
# Backdrop Brightness
|
1174
|
+
# @see https://tailwindcss.com/docs/backdrop-brightness
|
1175
|
+
##
|
1176
|
+
"backdrop-brightness" => [{ "backdrop-brightness" => [BRIGHTNESS] }],
|
1177
|
+
##
|
1178
|
+
# Backdrop Contrast
|
1179
|
+
# @see https://tailwindcss.com/docs/backdrop-contrast
|
1180
|
+
##
|
1181
|
+
"backdrop-contrast" => [{ "backdrop-contrast" => [CONTRAST] }],
|
1182
|
+
##
|
1183
|
+
# Backdrop Grayscale
|
1184
|
+
# @see https://tailwindcss.com/docs/backdrop-grayscale
|
1185
|
+
##
|
1186
|
+
"backdrop-grayscale" => [{ "backdrop-grayscale" => [GRAYSCALE] }],
|
1187
|
+
##
|
1188
|
+
# Backdrop Hue Rotate
|
1189
|
+
# @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
1190
|
+
##
|
1191
|
+
"backdrop-hue-rotate" => [{ "backdrop-hue-rotate" => [HUE_ROTATE] }],
|
1192
|
+
##
|
1193
|
+
# Backdrop Invert
|
1194
|
+
# @see https://tailwindcss.com/docs/backdrop-invert
|
1195
|
+
##
|
1196
|
+
"backdrop-invert" => [{ "backdrop-invert" => [INVERT] }],
|
1197
|
+
##
|
1198
|
+
# Backdrop Opacity
|
1199
|
+
# @see https://tailwindcss.com/docs/backdrop-opacity
|
1200
|
+
##
|
1201
|
+
"backdrop-opacity" => [{ "backdrop-opacity" => [OPACITY] }],
|
1202
|
+
##
|
1203
|
+
# Backdrop Saturate
|
1204
|
+
# @see https://tailwindcss.com/docs/backdrop-saturate
|
1205
|
+
##
|
1206
|
+
"backdrop-saturate" => [{ "backdrop-saturate" => [SATURATE] }],
|
1207
|
+
##
|
1208
|
+
# Backdrop Sepia
|
1209
|
+
# @see https://tailwindcss.com/docs/backdrop-sepia
|
1210
|
+
##
|
1211
|
+
"backdrop-sepia" => [{ "backdrop-sepia" => [SEPIA] }],
|
1212
|
+
# Tables
|
1213
|
+
##
|
1214
|
+
# Border Collapse
|
1215
|
+
# @see https://tailwindcss.com/docs/border-collapse
|
1216
|
+
##
|
1217
|
+
"border-collapse" => [{ "border" => ["collapse", "separate"] }],
|
1218
|
+
##
|
1219
|
+
# Border Spacing
|
1220
|
+
# @see https://tailwindcss.com/docs/border-spacing
|
1221
|
+
##
|
1222
|
+
"border-spacing" => [{ "border-spacing" => [BORDER_SPACING] }],
|
1223
|
+
##
|
1224
|
+
# Border Spacing X
|
1225
|
+
# @see https://tailwindcss.com/docs/border-spacing
|
1226
|
+
##
|
1227
|
+
"border-spacing-x" => [{ "border-spacing-x" => [BORDER_SPACING] }],
|
1228
|
+
##
|
1229
|
+
# Border Spacing Y
|
1230
|
+
# @see https://tailwindcss.com/docs/border-spacing
|
1231
|
+
##
|
1232
|
+
"border-spacing-y" => [{ "border-spacing-y" => [BORDER_SPACING] }],
|
1233
|
+
##
|
1234
|
+
# Table Layout
|
1235
|
+
# @see https://tailwindcss.com/docs/table-layout
|
1236
|
+
##
|
1237
|
+
"table-layout" => [{ "table" => ["auto", "fixed"] }],
|
1238
|
+
# Transitions and Animation
|
1239
|
+
##
|
1240
|
+
# Tranisition Property
|
1241
|
+
# @see https://tailwindcss.com/docs/transition-property
|
1242
|
+
##
|
1243
|
+
"transition" => [
|
1244
|
+
{
|
1245
|
+
"transition" => [
|
1246
|
+
"none",
|
1247
|
+
"all",
|
1248
|
+
"",
|
1249
|
+
"colors",
|
1250
|
+
"opacity",
|
1251
|
+
"shadow",
|
1252
|
+
"transform",
|
1253
|
+
IS_ARBITRARY_VALUE,
|
1254
|
+
],
|
1255
|
+
},
|
1256
|
+
],
|
1257
|
+
##
|
1258
|
+
# Transition Duration
|
1259
|
+
# @see https://tailwindcss.com/docs/transition-duration
|
1260
|
+
##
|
1261
|
+
"duration" => [{ "duration" => [IS_INTEGER] }],
|
1262
|
+
##
|
1263
|
+
# Transition Timing Function
|
1264
|
+
# @see https://tailwindcss.com/docs/transition-timing-function
|
1265
|
+
##
|
1266
|
+
"ease" => [{ "ease" => ["linear", "in", "out", "in-out", IS_ARBITRARY_VALUE] }],
|
1267
|
+
##
|
1268
|
+
# Transition Delay
|
1269
|
+
# @see https://tailwindcss.com/docs/transition-delay
|
1270
|
+
##
|
1271
|
+
"delay" => [{ "delay" => [IS_INTEGER] }],
|
1272
|
+
##
|
1273
|
+
# Animation
|
1274
|
+
# @see https://tailwindcss.com/docs/animation
|
1275
|
+
##
|
1276
|
+
"animate" => [{ "animate" => ["none", "spin", "ping", "pulse", "bounce", IS_ARBITRARY_VALUE] }],
|
1277
|
+
# Transforms
|
1278
|
+
##
|
1279
|
+
# Transform
|
1280
|
+
# @see https://tailwindcss.com/docs/transform
|
1281
|
+
##
|
1282
|
+
"transform" => [{ "transform" => ["", "gpu", "none"] }],
|
1283
|
+
##
|
1284
|
+
# Scale
|
1285
|
+
# @see https://tailwindcss.com/docs/scale
|
1286
|
+
##
|
1287
|
+
"scale" => [{ "scale" => [SCALE] }],
|
1288
|
+
##
|
1289
|
+
# Scale X
|
1290
|
+
# @see https://tailwindcss.com/docs/scale
|
1291
|
+
##
|
1292
|
+
"scale-x" => [{ "scale-x" => [SCALE] }],
|
1293
|
+
##
|
1294
|
+
# Scale Y
|
1295
|
+
# @see https://tailwindcss.com/docs/scale
|
1296
|
+
##
|
1297
|
+
"scale-y" => [{ "scale-y" => [SCALE] }],
|
1298
|
+
##
|
1299
|
+
# Rotate
|
1300
|
+
# @see https://tailwindcss.com/docs/rotate
|
1301
|
+
##
|
1302
|
+
"rotate" => [{ "rotate" => [IS_INTEGER, IS_ARBITRARY_VALUE] }],
|
1303
|
+
##
|
1304
|
+
# Translate X
|
1305
|
+
# @see https://tailwindcss.com/docs/translate
|
1306
|
+
##
|
1307
|
+
"translate-x" => [{ "translate-x" => [TRANSLATE] }],
|
1308
|
+
##
|
1309
|
+
# Translate Y
|
1310
|
+
# @see https://tailwindcss.com/docs/translate
|
1311
|
+
##
|
1312
|
+
"translate-y" => [{ "translate-y" => [TRANSLATE] }],
|
1313
|
+
##
|
1314
|
+
# Skew X
|
1315
|
+
# @see https://tailwindcss.com/docs/skew
|
1316
|
+
##
|
1317
|
+
"skew-x" => [{ "skew-x" => [SKEW] }],
|
1318
|
+
##
|
1319
|
+
# Skew Y
|
1320
|
+
# @see https://tailwindcss.com/docs/skew
|
1321
|
+
##
|
1322
|
+
"skew-y" => [{ "skew-y" => [SKEW] }],
|
1323
|
+
##
|
1324
|
+
# Transform Origin
|
1325
|
+
# @see https://tailwindcss.com/docs/transform-origin
|
1326
|
+
##
|
1327
|
+
"transform-origin" => [
|
1328
|
+
{
|
1329
|
+
"origin" => [
|
1330
|
+
"center",
|
1331
|
+
"top",
|
1332
|
+
"top-right",
|
1333
|
+
"right",
|
1334
|
+
"bottom-right",
|
1335
|
+
"bottom",
|
1336
|
+
"bottom-left",
|
1337
|
+
"left",
|
1338
|
+
"top-left",
|
1339
|
+
IS_ARBITRARY_VALUE,
|
1340
|
+
],
|
1341
|
+
},
|
1342
|
+
],
|
1343
|
+
# Interactivity
|
1344
|
+
##
|
1345
|
+
# Accent Color
|
1346
|
+
# @see https://tailwindcss.com/docs/accent-color
|
1347
|
+
##
|
1348
|
+
"accent" => [{ "accent" => ["auto", COLORS] }],
|
1349
|
+
##
|
1350
|
+
# Appearance
|
1351
|
+
# @see https://tailwindcss.com/docs/appearance
|
1352
|
+
##
|
1353
|
+
"appearance" => ["appearance-none"],
|
1354
|
+
##
|
1355
|
+
# Cursor
|
1356
|
+
# @see https://tailwindcss.com/docs/cursor
|
1357
|
+
##
|
1358
|
+
"cursor" => [
|
1359
|
+
{
|
1360
|
+
"cursor" => [
|
1361
|
+
"auto",
|
1362
|
+
"default",
|
1363
|
+
"pointer",
|
1364
|
+
"wait",
|
1365
|
+
"text",
|
1366
|
+
"move",
|
1367
|
+
"help",
|
1368
|
+
"not-allowed",
|
1369
|
+
"none",
|
1370
|
+
"context-menu",
|
1371
|
+
"progress",
|
1372
|
+
"cell",
|
1373
|
+
"crosshair",
|
1374
|
+
"vertical-text",
|
1375
|
+
"alias",
|
1376
|
+
"copy",
|
1377
|
+
"no-drop",
|
1378
|
+
"grab",
|
1379
|
+
"grabbing",
|
1380
|
+
"all-scroll",
|
1381
|
+
"col-resize",
|
1382
|
+
"row-resize",
|
1383
|
+
"n-resize",
|
1384
|
+
"e-resize",
|
1385
|
+
"s-resize",
|
1386
|
+
"w-resize",
|
1387
|
+
"ne-resize",
|
1388
|
+
"nw-resize",
|
1389
|
+
"se-resize",
|
1390
|
+
"sw-resize",
|
1391
|
+
"ew-resize",
|
1392
|
+
"ns-resize",
|
1393
|
+
"nesw-resize",
|
1394
|
+
"nwse-resize",
|
1395
|
+
"zoom-in",
|
1396
|
+
"zoom-out",
|
1397
|
+
IS_ARBITRARY_VALUE,
|
1398
|
+
],
|
1399
|
+
},
|
1400
|
+
],
|
1401
|
+
##
|
1402
|
+
# Caret Color
|
1403
|
+
# @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
1404
|
+
##
|
1405
|
+
"caret-color" => [{ "caret" => [COLORS] }],
|
1406
|
+
##
|
1407
|
+
# Pointer Events
|
1408
|
+
# @see https://tailwindcss.com/docs/pointer-events
|
1409
|
+
##
|
1410
|
+
"pointer-events" => [{ "pointer-events" => ["none", "auto"] }],
|
1411
|
+
##
|
1412
|
+
# Resize
|
1413
|
+
# @see https://tailwindcss.com/docs/resize
|
1414
|
+
##
|
1415
|
+
"resize" => [{ "resize" => ["none", "y", "x", ""] }],
|
1416
|
+
##
|
1417
|
+
# Scroll Behavior
|
1418
|
+
# @see https://tailwindcss.com/docs/scroll-behavior
|
1419
|
+
##
|
1420
|
+
"scroll-behavior" => [{ "scroll" => ["auto", "smooth"] }],
|
1421
|
+
##
|
1422
|
+
# Scroll Margin
|
1423
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1424
|
+
##
|
1425
|
+
"scroll-m" => [{ "scroll-m" => [SPACING] }],
|
1426
|
+
##
|
1427
|
+
# Scroll Margin X
|
1428
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1429
|
+
##
|
1430
|
+
"scroll-mx" => [{ "scroll-mx" => [SPACING] }],
|
1431
|
+
##
|
1432
|
+
# Scroll Margin Y
|
1433
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1434
|
+
##
|
1435
|
+
"scroll-my" => [{ "scroll-my" => [SPACING] }],
|
1436
|
+
##
|
1437
|
+
# Scroll Margin Top
|
1438
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1439
|
+
##
|
1440
|
+
"scroll-mt" => [{ "scroll-mt" => [SPACING] }],
|
1441
|
+
##
|
1442
|
+
# Scroll Margin Right
|
1443
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1444
|
+
##
|
1445
|
+
"scroll-mr" => [{ "scroll-mr" => [SPACING] }],
|
1446
|
+
##
|
1447
|
+
# Scroll Margin Bottom
|
1448
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1449
|
+
##
|
1450
|
+
"scroll-mb" => [{ "scroll-mb" => [SPACING] }],
|
1451
|
+
##
|
1452
|
+
# Scroll Margin Left
|
1453
|
+
# @see https://tailwindcss.com/docs/scroll-margin
|
1454
|
+
##
|
1455
|
+
"scroll-ml" => [{ "scroll-ml" => [SPACING] }],
|
1456
|
+
##
|
1457
|
+
# Scroll Padding
|
1458
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1459
|
+
##
|
1460
|
+
"scroll-p" => [{ "scroll-p" => [SPACING] }],
|
1461
|
+
##
|
1462
|
+
# Scroll Padding X
|
1463
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1464
|
+
##
|
1465
|
+
"scroll-px" => [{ "scroll-px" => [SPACING] }],
|
1466
|
+
##
|
1467
|
+
# Scroll Padding Y
|
1468
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1469
|
+
##
|
1470
|
+
"scroll-py" => [{ "scroll-py" => [SPACING] }],
|
1471
|
+
##
|
1472
|
+
# Scroll Padding Top
|
1473
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1474
|
+
##
|
1475
|
+
"scroll-pt" => [{ "scroll-pt" => [SPACING] }],
|
1476
|
+
##
|
1477
|
+
# Scroll Padding Right
|
1478
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1479
|
+
##
|
1480
|
+
"scroll-pr" => [{ "scroll-pr" => [SPACING] }],
|
1481
|
+
##
|
1482
|
+
# Scroll Padding Bottom
|
1483
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1484
|
+
##
|
1485
|
+
"scroll-pb" => [{ "scroll-pb" => [SPACING] }],
|
1486
|
+
##
|
1487
|
+
# Scroll Padding Left
|
1488
|
+
# @see https://tailwindcss.com/docs/scroll-padding
|
1489
|
+
##
|
1490
|
+
"scroll-pl" => [{ "scroll-pl" => [SPACING] }],
|
1491
|
+
##
|
1492
|
+
# Scroll Snap Align
|
1493
|
+
# @see https://tailwindcss.com/docs/scroll-snap-align
|
1494
|
+
##
|
1495
|
+
"snap-align" => [{ "snap" => ["start", "end", "center", "align-none"] }],
|
1496
|
+
##
|
1497
|
+
# Scroll Snap Stop
|
1498
|
+
# @see https://tailwindcss.com/docs/scroll-snap-stop
|
1499
|
+
##
|
1500
|
+
"snap-stop" => [{ "snap" => ["normal", "always"] }],
|
1501
|
+
##
|
1502
|
+
# Scroll Snap Type
|
1503
|
+
# @see https://tailwindcss.com/docs/scroll-snap-type
|
1504
|
+
##
|
1505
|
+
"snap-type" => [{ "snap" => ["none", "x", "y", "both"] }],
|
1506
|
+
##
|
1507
|
+
# Scroll Snap Type Strictness
|
1508
|
+
# @see https://tailwindcss.com/docs/scroll-snap-type
|
1509
|
+
##
|
1510
|
+
"snap-strictness" => [{ "snap" => ["mandatory", "proximity"] }],
|
1511
|
+
##
|
1512
|
+
# Touch Action
|
1513
|
+
# @see https://tailwindcss.com/docs/touch-action
|
1514
|
+
##
|
1515
|
+
"touch" => [
|
1516
|
+
{
|
1517
|
+
"touch" => [
|
1518
|
+
"auto",
|
1519
|
+
"none",
|
1520
|
+
"pinch-zoom",
|
1521
|
+
"manipulation",
|
1522
|
+
{ "pan" => ["x", "left", "right", "y", "up", "down"] },
|
1523
|
+
],
|
1524
|
+
},
|
1525
|
+
],
|
1526
|
+
##
|
1527
|
+
# User Select
|
1528
|
+
# @see https://tailwindcss.com/docs/user-select
|
1529
|
+
##
|
1530
|
+
"select" => [{ "select" => ["none", "text", "all", "auto"] }],
|
1531
|
+
##
|
1532
|
+
# Will Change
|
1533
|
+
# @see https://tailwindcss.com/docs/will-change
|
1534
|
+
##
|
1535
|
+
"will-change" => [
|
1536
|
+
{ "will-change" => ["auto", "scroll", "contents", "transform", IS_ARBITRARY_VALUE] },
|
1537
|
+
],
|
1538
|
+
# SVG
|
1539
|
+
##
|
1540
|
+
# Fill
|
1541
|
+
# @see https://tailwindcss.com/docs/fill
|
1542
|
+
##
|
1543
|
+
"fill" => [{ "fill" => [COLORS] }],
|
1544
|
+
##
|
1545
|
+
# Stroke Width
|
1546
|
+
# @see https://tailwindcss.com/docs/stroke-width
|
1547
|
+
##
|
1548
|
+
"stroke-w" => [{ "stroke" => [IS_LENGTH] }],
|
1549
|
+
##
|
1550
|
+
# Stroke
|
1551
|
+
# @see https://tailwindcss.com/docs/stroke
|
1552
|
+
##
|
1553
|
+
"stroke" => [{ "stroke" => [COLORS] }],
|
1554
|
+
# Accessibility
|
1555
|
+
##
|
1556
|
+
# Screen Readers
|
1557
|
+
# @see https://tailwindcss.com/docs/screen-readers
|
1558
|
+
##
|
1559
|
+
"sr" => ["sr-only", "not-sr-only"],
|
1560
|
+
},
|
1561
|
+
conflicting_class_groups: {
|
1562
|
+
"overflow" => ["overflow-x", "overflow-y"],
|
1563
|
+
"overscroll" => ["overscroll-x", "overscroll-y"],
|
1564
|
+
"inset" => ["inset-x", "inset-y", "top", "right", "bottom", "left"],
|
1565
|
+
"inset-x" => ["right", "left"],
|
1566
|
+
"inset-y" => ["top", "bottom"],
|
1567
|
+
"flex" => ["basis", "grow", "shrink"],
|
1568
|
+
"col-start-end" => ["col-start", "col-end"],
|
1569
|
+
"row-start-end" => ["row-start", "row-end"],
|
1570
|
+
"gap" => ["gap-x", "gap-y"],
|
1571
|
+
"p" => ["px", "py", "pt", "pr", "pb", "pl"],
|
1572
|
+
"px" => ["pr", "pl"],
|
1573
|
+
"py" => ["pt", "pb"],
|
1574
|
+
"m" => ["mx", "my", "mt", "mr", "mb", "ml"],
|
1575
|
+
"mx" => ["mr", "ml"],
|
1576
|
+
"my" => ["mt", "mb"],
|
1577
|
+
"font-size" => ["leading"],
|
1578
|
+
"fvn-normal" => [
|
1579
|
+
"fvn-ordinal",
|
1580
|
+
"fvn-slashed-zero",
|
1581
|
+
"fvn-figure",
|
1582
|
+
"fvn-spacing",
|
1583
|
+
"fvn-fraction",
|
1584
|
+
],
|
1585
|
+
"fvn-ordinal" => ["fvn-normal"],
|
1586
|
+
"fvn-slashed-zero" => ["fvn-normal"],
|
1587
|
+
"fvn-figure" => ["fvn-normal"],
|
1588
|
+
"fvn-spacing" => ["fvn-normal"],
|
1589
|
+
"fvn-fraction" => ["fvn-normal"],
|
1590
|
+
"rounded" => [
|
1591
|
+
"rounded-t",
|
1592
|
+
"rounded-r",
|
1593
|
+
"rounded-b",
|
1594
|
+
"rounded-l",
|
1595
|
+
"rounded-tl",
|
1596
|
+
"rounded-tr",
|
1597
|
+
"rounded-br",
|
1598
|
+
"rounded-bl",
|
1599
|
+
],
|
1600
|
+
"rounded-t" => ["rounded-tl", "rounded-tr"],
|
1601
|
+
"rounded-r" => ["rounded-tr", "rounded-br"],
|
1602
|
+
"rounded-b" => ["rounded-br", "rounded-bl"],
|
1603
|
+
"rounded-l" => ["rounded-tl", "rounded-bl"],
|
1604
|
+
"border-spacing" => ["border-spacing-x", "border-spacing-y"],
|
1605
|
+
"border-w" => ["border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
1606
|
+
"border-w-x" => ["border-w-r", "border-w-l"],
|
1607
|
+
"border-w-y" => ["border-w-t", "border-w-b"],
|
1608
|
+
"border-color" => [
|
1609
|
+
"border-color-t",
|
1610
|
+
"border-color-r",
|
1611
|
+
"border-color-b",
|
1612
|
+
"border-color-l",
|
1613
|
+
],
|
1614
|
+
"border-color-x" => ["border-color-r", "border-color-l"],
|
1615
|
+
"border-color-y" => ["border-color-t", "border-color-b"],
|
1616
|
+
"scroll-m" => [
|
1617
|
+
"scroll-mx",
|
1618
|
+
"scroll-my",
|
1619
|
+
"scroll-mt",
|
1620
|
+
"scroll-mr",
|
1621
|
+
"scroll-mb",
|
1622
|
+
"scroll-ml",
|
1623
|
+
],
|
1624
|
+
"scroll-mx" => ["scroll-mr", "scroll-ml"],
|
1625
|
+
"scroll-my" => ["scroll-mt", "scroll-mb"],
|
1626
|
+
"scroll-p" => [
|
1627
|
+
"scroll-px",
|
1628
|
+
"scroll-py",
|
1629
|
+
"scroll-pt",
|
1630
|
+
"scroll-pr",
|
1631
|
+
"scroll-pb",
|
1632
|
+
"scroll-pl",
|
1633
|
+
],
|
1634
|
+
"scroll-px" => ["scroll-pr", "scroll-pl"],
|
1635
|
+
"scroll-py" => ["scroll-pt", "scroll-pb"],
|
1636
|
+
},
|
1637
|
+
}.freeze
|
1638
|
+
|
1639
|
+
def merge_configs(extension_config)
|
1640
|
+
config = TailwindMerge::Config::DEFAULTS
|
1641
|
+
[:theme].each do |type|
|
1642
|
+
extension_config.fetch(type, {}).each_pair do |key, value|
|
1643
|
+
config[type][value] = ->(config) { FROM_THEME.call(config, key) }
|
1644
|
+
end
|
1645
|
+
end
|
1646
|
+
config
|
1647
|
+
end
|
1648
|
+
end
|
1649
|
+
end
|