tailwind_merge 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +12 -1
- data/lib/tailwind_merge/validators.rb +2 -2
- data/lib/tailwind_merge/version.rb +1 -1
- data/lib/tailwind_merge.rb +4 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9215c8da9ac6f18a5a552237e0f553b4dc055ca0fabd78821602517ebcf802c4
|
4
|
+
data.tar.gz: 382be551f40940cb23ca1983bc0040ca7f809339086988c394e4a555872f5446
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b0f002423acb683795d68040b049a2504f458bd4b4f7eee1818f85ca81c52daaf9eff09ac8a1ee3bf0af5596e9a1ef5f31c84f8ef1d2e208533d1daf581c906
|
7
|
+
data.tar.gz: 1b6ff1b9efe0ee53ca77fe433ebfbf217172a84aebd914986b25dbee6e125c9eaf3923cc43f2d0633f75acc41ca12ea58d2381ea387187d605f85b94f67907c1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## [v0.10.2] - 18-03-2024
|
2
|
+
## What's Changed
|
3
|
+
* Support shadow with by @gjtorikian in https://github.com/gjtorikian/tailwind_merge/pull/25
|
4
|
+
|
5
|
+
|
6
|
+
**Full Changelog**: https://github.com/gjtorikian/tailwind_merge/compare/v0.10.1...v0.10.2
|
7
|
+
## [v0.10.1] - 30-01-2024
|
8
|
+
## What's Changed
|
9
|
+
* Fix stroke-color being incorrectly detected as stroke-width by @gjtorikian in https://github.com/gjtorikian/tailwind_merge/pull/24
|
10
|
+
|
11
|
+
|
12
|
+
**Full Changelog**: https://github.com/gjtorikian/tailwind_merge/compare/v0.10.0...v0.10.1
|
1
13
|
## [v0.10.0] - 23-12-2023
|
2
14
|
## What's Changed
|
3
15
|
* Support Tailwind 3.4 by @gjtorikian in https://github.com/gjtorikian/tailwind_merge/pull/23
|
data/README.md
CHANGED
@@ -14,6 +14,8 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
14
14
|
|
15
15
|
$ gem install tailwind_merge
|
16
16
|
|
17
|
+
To use it, pass in a single string:
|
18
|
+
|
17
19
|
```ruby
|
18
20
|
require "tailwind_merge"
|
19
21
|
|
@@ -21,6 +23,15 @@ TailwindMerge::Merger.new.merge("px-2 py-1 bg-red hover:bg-dark-red p-3 bg-[#B91
|
|
21
23
|
# → 'hover:bg-dark-red p-3 bg-[#B91C1C]'
|
22
24
|
```
|
23
25
|
|
26
|
+
Or, an array of strings:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
require "tailwind_merge"
|
30
|
+
|
31
|
+
TailwindMerge::Merger.new.merge(["px-2 py-1", "bg-red hover:bg-dark-red", "p-3 bg-[#B91C1C]"])
|
32
|
+
# → 'hover:bg-dark-red p-3 bg-[#B91C1C]'
|
33
|
+
```
|
34
|
+
|
24
35
|
## What's it for?
|
25
36
|
|
26
37
|
If you use Tailwind with a component-based UI renderer (like [ViewComponent](https://viewcomponent.org) or [Ariadne](https://github.com/yettoapp/ariadne)), you're probably familiar with the situation that you want to change some styles of an existing component:
|
@@ -315,7 +326,7 @@ Here's a brief summary for each validator:
|
|
315
326
|
- `IS_ARBITRARY_POSITION` checks whether class part is an arbitrary value which starts with `position:` (`[position:200px_100px]`) which is necessary for background-position classNames.
|
316
327
|
- `IS_ARBITRARY_IMAGE` checks whether class part is an arbitrary value which is an iamge, e.g. by starting with `image:`, `url:`, `linear-gradient(` or `url(` (`[url('/path-to-image.png')]`, `image:var(--maybe-an-image-at-runtime)]`) which is necessary for background-image classNames.
|
317
328
|
- `IS_ARBITRARY_NUMBER` checks whether class part is an arbitrary value which starts with `number:` or is a number (`[number:var(--value)]`, `[450]`) which is necessary for font-weight classNames.
|
318
|
-
- `IS_ARBITRARY_SHADOW` checks whether class part is an arbitrary value which starts with the same pattern as a shadow value (`[0_35px_60px_-15px_rgba(0,0,0,0.3)]`), namely with two lengths separated by a underscore
|
329
|
+
- `IS_ARBITRARY_SHADOW` checks whether class part is an arbitrary value which starts with the same pattern as a shadow value (`[0_35px_60px_-15px_rgba(0,0,0,0.3)]`), namely with two lengths separated by a underscore, optionally prepended by `inset`.
|
319
330
|
- `IS_ANY` always returns true. Be careful with this validator as it might match unwanted classes. I use it primarily to match colors or when it's certain there are no other class groups in a namespace.
|
320
331
|
|
321
332
|
## Performance
|
@@ -32,8 +32,8 @@ module TailwindMerge
|
|
32
32
|
LENGTH_UNIT_REGEX = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/
|
33
33
|
TSHIRT_UNIT_REGEX = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/
|
34
34
|
COLOR_FUNCTION_REGEX = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/
|
35
|
-
# Shadow always begins with x and y offset separated by underscore
|
36
|
-
SHADOW_REGEX =
|
35
|
+
# Shadow always begins with x and y offset separated by underscore optionally prepended by inset
|
36
|
+
SHADOW_REGEX = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/
|
37
37
|
IMAGE_REGEX = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/
|
38
38
|
|
39
39
|
SIZE_LABELS = Set.new(["length", "size", "percentage"]).freeze
|
data/lib/tailwind_merge.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tailwind_merge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Garen J. Torikian
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lru_redux
|
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
|
-
rubygems_version: 3.
|
102
|
+
rubygems_version: 3.4.6
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: Utility function to efficiently merge Tailwind CSS classes without style
|