tailwind-zag 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 John Paul Calvo
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2024 John Paul Calvo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -1,247 +1,247 @@
1
- # tailwind-zag
2
-
3
- A [TailwindCSS](https://tailwindcss.com/) plugin to style [zag](https://zagjs.com/)-powered-components using their [data attributes](https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Solve_HTML_problems/Use_data_attributes).
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install -D tailwind-zag
9
- ```
10
-
11
- ## Usage
12
-
13
- Add the plugin to your tailwind config
14
-
15
- ```ts
16
- // tailwind.config.ts
17
- import type {Config} from 'tailwindcss';
18
- import zag from 'tailwind-zag';
19
-
20
- export default {
21
- content: ['./src/**/*.{js,ts,jsx,tsx}'],
22
- plugins: [
23
- // using the default prefix: "ui"
24
- zag,
25
-
26
- // or using a custom prefix
27
- zag({
28
- prefix: 'custom-prefix',
29
- }),
30
- ],
31
- } satisfies Config
32
- ```
33
-
34
- If you are using tailwind v4, you can add the plugin to your `css` file like this:
35
-
36
- ```css
37
- @plugin 'tailwind-zag';
38
- ```
39
-
40
- Style your components
41
-
42
- ```tsx
43
- import {Field} from '@ark-ui/react';
44
-
45
- export function Component() {
46
- return (
47
- <Field.Root>
48
- <Field.Input className="ui-invalid:border-red-300 ui-readonly:border-gray-200" />
49
- </Field.Root>
50
- );
51
- }
52
- ```
53
-
54
- ### Example using Ark UI react components
55
-
56
- ```js
57
- // tailwind.config.js
58
- import zag from 'tailwind-zag';
59
-
60
- /** @type {import('tailwindcss').Config} */
61
- export default {
62
- content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
63
- theme: {
64
- extend: {
65
- keyframes: {
66
- 'fade-in': {
67
- from: {opacity: '0'},
68
- to: {opacity: '1'},
69
- },
70
- 'fade-out': {
71
- from: {opacity: '1'},
72
- to: {opacity: '0'},
73
- },
74
- },
75
- animation: {
76
- 'fade-in': 'fade-in 250ms ease-in-out',
77
- 'fade-out': 'fade-out 150ms ease-in-out',
78
- },
79
- },
80
- },
81
- plugins: [zag],
82
- };
83
- ```
84
-
85
- ```tsx
86
- // App.tsx
87
- import {Dialog, Portal} from '@ark-ui/react';
88
-
89
- export function App() {
90
- return (
91
- <div className="p-4">
92
- <Dialog.Root>
93
- <Dialog.Trigger className="bg-neutral-900 rounded text-white font-semibold h-11 px-4">
94
- Open
95
- </Dialog.Trigger>
96
- <Portal>
97
- <Dialog.Backdrop className="fixed inset-0 bg-black/50 ui-open:animate-fade-in ui-closed:animate-fade-out" />
98
- <Dialog.Positioner>
99
- <Dialog.Content className="fixed max-w-[24rem] rounded w-full left-1/2 -translate-x-1/2 my-16 p-4 bg-white ui-open:animate-fade-in ui-closed:animate-fade-out">
100
- <Dialog.Title className="text-neutral-800 text-xl font-bold">Title</Dialog.Title>
101
- <Dialog.Description className="text-neutral-600">Description</Dialog.Description>
102
- <Dialog.CloseTrigger className="border border-neutral-300 h-11 w-full rounded mt-4">
103
- Close
104
- </Dialog.CloseTrigger>
105
- </Dialog.Content>
106
- </Dialog.Positioner>
107
- </Portal>
108
- </Dialog.Root>
109
- </div>
110
- );
111
- }
112
- ```
113
-
114
- ### Using inverse variants
115
-
116
- To apply the style to the component only when the data attribute is not present, you can add the `-not` prefix before the variant.
117
-
118
- ```tsx
119
- <Component className="ui-not-hover:bg-gray-50" />
120
- ```
121
-
122
- ### Using group variants
123
-
124
- You can add `-group` before the variant to apply the style to the component if its parent has the specific data attribute present.
125
-
126
- ```tsx
127
- <ParentComponent className="group">
128
- <ChildComponent className="ui-group-hover:bg-gray-50" />
129
- </ParentComponent>
130
- ```
131
-
132
- ### Using peer variants
133
-
134
- You can add `-peer` before the variant to apply the style to the component if its sibling has the specific data attribute present.
135
-
136
- ```tsx
137
- <ParentComponent>
138
- <ChildComponent className="ui-peer-hover:bg-gray-50" />
139
- <ChildComponent className="peer ui-hover:bg-gray-50" />
140
- </ParentComponent>
141
- ```
142
-
143
- ## Variants and their equivalent data attributes
144
-
145
- | Variant | Data attributes |
146
- |---------------------------|--------------------------------------------|
147
- | `hover` | `data-hover` |
148
- | `focus` | `data-focus` |
149
- | `focus-visible` | `data-focus-visible` |
150
- | `focusable` | `data-focusable` |
151
- | `active` | `data-active` |
152
- | `invalid` | `data-invalid` |
153
- | `disabled` | `data-disabled` |
154
- | `readonly` | `data-readonly` |
155
- | `current` | `data-current` |
156
- | `inview` | `data-inview` |
157
- | `copied` | `data-copied` |
158
- | `collapsible` | `data-collapsible` |
159
- | `highlighted` | `data-highlighted` |
160
- | `selected` | `data-selected` |
161
- | `placeholder-shown` | `data-placeholder-shown` |
162
- | `autoresize` | `data-autoresize` |
163
- | `required` | `data-required` |
164
- | `dragging` | `data-dragging` |
165
- | `complete` | `data-complete` |
166
- | `incomplete` | `data-incomplete` |
167
- | `expanded` | `data-expanded` |
168
- | `half` | `data-half` |
169
- | `first` | `data-first` |
170
- | `mounted` | `data-mounted` |
171
- | `overlap` | `data-overlap` |
172
- | `sibling` | `data-sibling` |
173
- | `paused` | `data-paused` |
174
- | `pressed` | `data-pressed` |
175
- | `on` | `data-state="on"` |
176
- | `off` | `data-state="off"` |
177
- | `open` | `data-state="open"` |
178
- | `closed` | `data-state="closed"` |
179
- | `hidden` | `data-state="hidden"` |
180
- | `visible` | `data-state="visible"` |
181
- | `checked` | `data-checked`, `data-state="checked"` |
182
- | `unchecked` | `data-unchecked`, `data-state="unchecked"` |
183
- | `indeterminate` | `data-state="indeterminate"` |
184
- | `vertical` | `data-orientation="vertical"` |
185
- | `horizontal` | `data-orientation="horizontal"` |
186
- | `placement-top` | `data-placement="top"` |
187
- | `placement-top-end` | `data-placement="top-end"` |
188
- | `placement-top-start` | `data-placement="top-start"` |
189
- | `placement-left` | `data-placement="left"` |
190
- | `placement-left-end` | `data-placement="left-end"` |
191
- | `placement-left-start` | `data-placement="left-start"` |
192
- | `placement-right` | `data-placement="right"` |
193
- | `placement-right-end` | `data-placement="right-end"` |
194
- | `placement-right-start` | `data-placement="right-start"` |
195
- | `placement-bottom` | `data-placement="bottom"` |
196
- | `placement-bottom-end` | `data-placement="bottom-end"` |
197
- | `placement-bottom-start` | `data-placement="bottom-start"` |
198
- | `side-top` | `data-side="top"` |
199
- | `side-left` | `data-side="left"` |
200
- | `side-right` | `data-side="right"` |
201
- | `side-bottom` | `data-side="bottom"` |
202
- | `align-center` | `data-align="center"` |
203
- | `align-start` | `data-align="start"` |
204
- | `align-end` | `data-align="end"` |
205
- | `today` | `data-today` |
206
- | `weekend` | `data-weekend` |
207
- | `in-range` | `data-in-range` |
208
- | `range-start` | `data-range-start` |
209
- | `range-end` | `data-range-end` |
210
- | `view-day` | `data-view="day"` |
211
- | `view-month` | `data-view="month"` |
212
- | `view-year` | `data-view="year"` |
213
- | `under-value` | `data-state="under-value"` |
214
- | `over-value` | `data-state="over-value"` |
215
- | `delete-intent` | `data-delete-intent` |
216
- | `unit-hour` | `data-unit="hour"` |
217
- | `unit-minute` | `data-unit="minute"` |
218
- | `unit-second` | `data-unit="second"` |
219
- | `unit-period` | `data-unit="period"` |
220
- | `channel-hue` | `data-channel="hue"` |
221
- | `channel-saturation` | `data-channel="saturation"` |
222
- | `channel-brightness` | `data-channel="brightness"` |
223
- | `channel-lightness` | `data-channel="lightness"` |
224
- | `channel-red` | `data-channel="red"` |
225
- | `channel-green` | `data-channel="green"` |
226
- | `channel-blue` | `data-channel="blue"` |
227
- | `channel-alpha` | `data-channel="alpha"` |
228
- | `channel-hex` | `data-channel="hex"` |
229
- | `channel-css` | `data-channel="css"` |
230
- | `tour-highlighted` | `data-tour-highlighted` |
231
- | `scroll-lock` | `data-scroll-lock` |
232
- | `inert` | `data-inert` |
233
- | `scope-<value>` | `data-scope="<value>"` |
234
- | `part-<value>` | `data-part="<value>"` |
235
- | `value-<value>` | `data-value="<value>"` |
236
- | `valuetext-<value>` | `data-valuetext="<value>"` |
237
- | `index-<value>` | `data-index="<value>"` |
238
- | `columns-<value>` | `data-columns="<value>"` |
239
- | `branch-<value>` | `data-branch="<value>"` |
240
- | `depth-<value>` | `data-depth="<value>"` |
241
- | `path-<value>` | `data-path="<value>"` |
242
- | `type-<value>` | `data-type="<value>"` |
243
-
244
- ## Credits
245
-
246
- - [@headlessui/tailwindcss](https://github.com/tailwindlabs/headlessui/tree/main/packages/%40headlessui-tailwindcss)
1
+ # tailwind-zag
2
+
3
+ A [TailwindCSS](https://tailwindcss.com/) plugin to style [zag](https://zagjs.com/)-powered-components using their [data attributes](https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Solve_HTML_problems/Use_data_attributes).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -D tailwind-zag
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ Add the plugin to your tailwind config
14
+
15
+ ```ts
16
+ // tailwind.config.ts
17
+ import type {Config} from 'tailwindcss';
18
+ import zag from 'tailwind-zag';
19
+
20
+ export default {
21
+ content: ['./src/**/*.{js,ts,jsx,tsx}'],
22
+ plugins: [
23
+ // using the default prefix: "ui"
24
+ zag,
25
+
26
+ // or using a custom prefix
27
+ zag({
28
+ prefix: 'custom-prefix',
29
+ }),
30
+ ],
31
+ } satisfies Config
32
+ ```
33
+
34
+ If you are using tailwind v4, you can add the plugin to your `css` file like this:
35
+
36
+ ```css
37
+ @plugin 'tailwind-zag';
38
+ ```
39
+
40
+ Style your components
41
+
42
+ ```tsx
43
+ import {Field} from '@ark-ui/react';
44
+
45
+ export function Component() {
46
+ return (
47
+ <Field.Root>
48
+ <Field.Input className="ui-invalid:border-red-300 ui-readonly:border-gray-200" />
49
+ </Field.Root>
50
+ );
51
+ }
52
+ ```
53
+
54
+ ### Example using Ark UI react components
55
+
56
+ ```js
57
+ // tailwind.config.js
58
+ import zag from 'tailwind-zag';
59
+
60
+ /** @type {import('tailwindcss').Config} */
61
+ export default {
62
+ content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
63
+ theme: {
64
+ extend: {
65
+ keyframes: {
66
+ 'fade-in': {
67
+ from: {opacity: '0'},
68
+ to: {opacity: '1'},
69
+ },
70
+ 'fade-out': {
71
+ from: {opacity: '1'},
72
+ to: {opacity: '0'},
73
+ },
74
+ },
75
+ animation: {
76
+ 'fade-in': 'fade-in 250ms ease-in-out',
77
+ 'fade-out': 'fade-out 150ms ease-in-out',
78
+ },
79
+ },
80
+ },
81
+ plugins: [zag],
82
+ };
83
+ ```
84
+
85
+ ```tsx
86
+ // App.tsx
87
+ import {Dialog, Portal} from '@ark-ui/react';
88
+
89
+ export function App() {
90
+ return (
91
+ <div className="p-4">
92
+ <Dialog.Root>
93
+ <Dialog.Trigger className="bg-neutral-900 rounded text-white font-semibold h-11 px-4">
94
+ Open
95
+ </Dialog.Trigger>
96
+ <Portal>
97
+ <Dialog.Backdrop className="fixed inset-0 bg-black/50 ui-open:animate-fade-in ui-closed:animate-fade-out" />
98
+ <Dialog.Positioner>
99
+ <Dialog.Content className="fixed max-w-[24rem] rounded w-full left-1/2 -translate-x-1/2 my-16 p-4 bg-white ui-open:animate-fade-in ui-closed:animate-fade-out">
100
+ <Dialog.Title className="text-neutral-800 text-xl font-bold">Title</Dialog.Title>
101
+ <Dialog.Description className="text-neutral-600">Description</Dialog.Description>
102
+ <Dialog.CloseTrigger className="border border-neutral-300 h-11 w-full rounded mt-4">
103
+ Close
104
+ </Dialog.CloseTrigger>
105
+ </Dialog.Content>
106
+ </Dialog.Positioner>
107
+ </Portal>
108
+ </Dialog.Root>
109
+ </div>
110
+ );
111
+ }
112
+ ```
113
+
114
+ ### Using inverse variants
115
+
116
+ To apply the style to the component only when the data attribute is not present, you can add the `-not` prefix before the variant.
117
+
118
+ ```tsx
119
+ <Component className="ui-not-hover:bg-gray-50" />
120
+ ```
121
+
122
+ ### Using group variants
123
+
124
+ You can add `-group` before the variant to apply the style to the component if its parent has the specific data attribute present.
125
+
126
+ ```tsx
127
+ <ParentComponent className="group">
128
+ <ChildComponent className="ui-group-hover:bg-gray-50" />
129
+ </ParentComponent>
130
+ ```
131
+
132
+ ### Using peer variants
133
+
134
+ You can add `-peer` before the variant to apply the style to the component if its sibling has the specific data attribute present.
135
+
136
+ ```tsx
137
+ <ParentComponent>
138
+ <ChildComponent className="ui-peer-hover:bg-gray-50" />
139
+ <ChildComponent className="peer ui-hover:bg-gray-50" />
140
+ </ParentComponent>
141
+ ```
142
+
143
+ ## Variants and their equivalent data attributes
144
+
145
+ | Variant | Data attributes |
146
+ |---------------------------|--------------------------------------------|
147
+ | `hover` | `data-hover` |
148
+ | `focus` | `data-focus` |
149
+ | `focus-visible` | `data-focus-visible` |
150
+ | `focusable` | `data-focusable` |
151
+ | `active` | `data-active` |
152
+ | `invalid` | `data-invalid` |
153
+ | `disabled` | `data-disabled` |
154
+ | `readonly` | `data-readonly` |
155
+ | `current` | `data-current` |
156
+ | `inview` | `data-inview` |
157
+ | `copied` | `data-copied` |
158
+ | `collapsible` | `data-collapsible` |
159
+ | `highlighted` | `data-highlighted` |
160
+ | `selected` | `data-selected` |
161
+ | `placeholder-shown` | `data-placeholder-shown` |
162
+ | `autoresize` | `data-autoresize` |
163
+ | `required` | `data-required` |
164
+ | `dragging` | `data-dragging` |
165
+ | `complete` | `data-complete` |
166
+ | `incomplete` | `data-incomplete` |
167
+ | `expanded` | `data-expanded` |
168
+ | `half` | `data-half` |
169
+ | `first` | `data-first` |
170
+ | `mounted` | `data-mounted` |
171
+ | `overlap` | `data-overlap` |
172
+ | `sibling` | `data-sibling` |
173
+ | `paused` | `data-paused` |
174
+ | `pressed` | `data-pressed` |
175
+ | `on` | `data-state="on"` |
176
+ | `off` | `data-state="off"` |
177
+ | `open` | `data-state="open"` |
178
+ | `closed` | `data-state="closed"` |
179
+ | `hidden` | `data-state="hidden"` |
180
+ | `visible` | `data-state="visible"` |
181
+ | `checked` | `data-checked`, `data-state="checked"` |
182
+ | `unchecked` | `data-unchecked`, `data-state="unchecked"` |
183
+ | `indeterminate` | `data-state="indeterminate"` |
184
+ | `vertical` | `data-orientation="vertical"` |
185
+ | `horizontal` | `data-orientation="horizontal"` |
186
+ | `placement-top` | `data-placement="top"` |
187
+ | `placement-top-end` | `data-placement="top-end"` |
188
+ | `placement-top-start` | `data-placement="top-start"` |
189
+ | `placement-left` | `data-placement="left"` |
190
+ | `placement-left-end` | `data-placement="left-end"` |
191
+ | `placement-left-start` | `data-placement="left-start"` |
192
+ | `placement-right` | `data-placement="right"` |
193
+ | `placement-right-end` | `data-placement="right-end"` |
194
+ | `placement-right-start` | `data-placement="right-start"` |
195
+ | `placement-bottom` | `data-placement="bottom"` |
196
+ | `placement-bottom-end` | `data-placement="bottom-end"` |
197
+ | `placement-bottom-start` | `data-placement="bottom-start"` |
198
+ | `side-top` | `data-side="top"` |
199
+ | `side-left` | `data-side="left"` |
200
+ | `side-right` | `data-side="right"` |
201
+ | `side-bottom` | `data-side="bottom"` |
202
+ | `align-center` | `data-align="center"` |
203
+ | `align-start` | `data-align="start"` |
204
+ | `align-end` | `data-align="end"` |
205
+ | `today` | `data-today` |
206
+ | `weekend` | `data-weekend` |
207
+ | `in-range` | `data-in-range` |
208
+ | `range-start` | `data-range-start` |
209
+ | `range-end` | `data-range-end` |
210
+ | `view-day` | `data-view="day"` |
211
+ | `view-month` | `data-view="month"` |
212
+ | `view-year` | `data-view="year"` |
213
+ | `under-value` | `data-state="under-value"` |
214
+ | `over-value` | `data-state="over-value"` |
215
+ | `delete-intent` | `data-delete-intent` |
216
+ | `unit-hour` | `data-unit="hour"` |
217
+ | `unit-minute` | `data-unit="minute"` |
218
+ | `unit-second` | `data-unit="second"` |
219
+ | `unit-period` | `data-unit="period"` |
220
+ | `channel-hue` | `data-channel="hue"` |
221
+ | `channel-saturation` | `data-channel="saturation"` |
222
+ | `channel-brightness` | `data-channel="brightness"` |
223
+ | `channel-lightness` | `data-channel="lightness"` |
224
+ | `channel-red` | `data-channel="red"` |
225
+ | `channel-green` | `data-channel="green"` |
226
+ | `channel-blue` | `data-channel="blue"` |
227
+ | `channel-alpha` | `data-channel="alpha"` |
228
+ | `channel-hex` | `data-channel="hex"` |
229
+ | `channel-css` | `data-channel="css"` |
230
+ | `tour-highlighted` | `data-tour-highlighted` |
231
+ | `scroll-lock` | `data-scroll-lock` |
232
+ | `inert` | `data-inert` |
233
+ | `scope-<value>` | `data-scope="<value>"` |
234
+ | `part-<value>` | `data-part="<value>"` |
235
+ | `value-<value>` | `data-value="<value>"` |
236
+ | `valuetext-<value>` | `data-valuetext="<value>"` |
237
+ | `index-<value>` | `data-index="<value>"` |
238
+ | `columns-<value>` | `data-columns="<value>"` |
239
+ | `branch-<value>` | `data-branch="<value>"` |
240
+ | `depth-<value>` | `data-depth="<value>"` |
241
+ | `path-<value>` | `data-path="<value>"` |
242
+ | `type-<value>` | `data-type="<value>"` |
243
+
244
+ ## Credits
245
+
246
+ - [@headlessui/tailwindcss](https://github.com/tailwindlabs/headlessui/tree/main/packages/%40headlessui-tailwindcss)
247
247
  - [@kobalte/tailwindcss](https://github.com/kobaltedev/kobalte/tree/main/packages/tailwindcss)
package/dist/index.cjs CHANGED
@@ -421,6 +421,42 @@ const STATIC_VARIANT_ENTRIES = [
421
421
  {
422
422
  key: "loaded",
423
423
  values: [null]
424
+ },
425
+ {
426
+ key: "overflow-x",
427
+ values: [null]
428
+ },
429
+ {
430
+ key: "overflow-y",
431
+ values: [null]
432
+ },
433
+ {
434
+ key: "scrolling",
435
+ values: [null]
436
+ },
437
+ {
438
+ key: "at-top",
439
+ values: [null]
440
+ },
441
+ {
442
+ key: "at-bottom",
443
+ values: [null]
444
+ },
445
+ {
446
+ key: "at-left",
447
+ values: [null]
448
+ },
449
+ {
450
+ key: "at-right",
451
+ values: [null]
452
+ },
453
+ {
454
+ key: "reverse",
455
+ values: [null]
456
+ },
457
+ {
458
+ key: "clone",
459
+ values: [null]
424
460
  }
425
461
  ];
426
462
  const DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from({ length: 10 }).reduce((o, _v, i) => {
@@ -431,6 +467,7 @@ function isInt(subject) {
431
467
  return !Number.isNaN(Number.parseInt(subject, 36));
432
468
  }
433
469
  const DYNAMIC_VARIANT_ENTRIES = [
470
+ { key: "id" },
434
471
  { key: "scope" },
435
472
  { key: "part" },
436
473
  { key: "value" },
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["STATIC_VARIANT_ENTRIES: StaticVariantEntry[]","DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[]","plugin"],"sources":["../src/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin.js';\n\nexport interface StaticVariantEntry {\n\tkey: string;\n\tvalues: (string | null)[];\n}\n\nconst STATIC_VARIANT_ENTRIES: StaticVariantEntry[] = [\n\t{key: 'hover', values: [null]},\n\t{key: 'focus', values: [null]},\n\t{key: 'focus-visible', values: [null]},\n\t{key: 'focusable', values: [null]},\n\t{key: 'active', values: [null]},\n\t{key: 'valid', values: [null]},\n\t{key: 'invalid', values: [null]},\n\t{key: 'disabled', values: [null]},\n\t{key: 'readonly', values: [null, 'read-only']},\n\t{key: 'current', values: [null]},\n\t{key: 'inview', values: [null]},\n\t{key: 'copied', values: [null]},\n\t{key: 'collapsible', values: [null]},\n\t{key: 'highlighted', values: [null]},\n\t{key: 'selected', values: [null]},\n\t{key: 'placeholder', values: [null]},\n\t{key: 'placeholder-shown', values: [null]},\n\t{key: 'autoresize', values: [null]},\n\t{key: 'required', values: [null]},\n\t{key: 'grabbed', values: [null]},\n\t{key: 'dragging', values: [null]},\n\t{key: 'complete', values: [null]},\n\t{key: 'incomplete', values: [null]},\n\t{key: 'expanded', values: [null, 'state=\"expanded\"']},\n\t{key: 'half', values: [null]},\n\t{key: 'first', values: [null]},\n\t{key: 'mounted', values: [null]},\n\t{key: 'overlap', values: [null]},\n\t{key: 'sibling', values: [null]},\n\t{key: 'paused', values: [null]},\n\t{key: 'pressed', values: [null]},\n\t{key: 'on', values: ['state=\"on\"']},\n\t{key: 'off', values: ['state=\"off\"']},\n\t{key: 'open', values: ['state=\"open\"']},\n\t{key: 'closed', values: ['state=\"closed\"']},\n\t{key: 'hidden', values: [null, 'state=\"hidden\"']},\n\t{key: 'visible', values: [null, 'state=\"visible\"']},\n\t{key: 'checked', values: [null, 'state=\"checked\"']},\n\t{key: 'unchecked', values: [null, 'state=\"unchecked\"']},\n\t{key: 'indeterminate', values: [null, 'state=\"indeterminate\"']},\n\t{key: 'vertical', values: ['orientation=\"vertical\"']},\n\t{key: 'horizontal', values: ['orientation=\"horizontal\"']},\n\t{key: 'placement-top', values: ['placement=\"top\"']},\n\t{key: 'placement-top-end', values: ['placement=\"top-end\"']},\n\t{key: 'placement-top-start', values: ['placement=\"top-start\"']},\n\t{key: 'placement-left', values: ['placement=\"left\"']},\n\t{key: 'placement-left-end', values: ['placement=\"left-end\"']},\n\t{key: 'placement-left-start', values: ['placement=\"left-start\"']},\n\t{key: 'placement-right', values: ['placement=\"right\"']},\n\t{key: 'placement-right-end', values: ['placement=\"right-end\"']},\n\t{key: 'placement-right-start', values: ['placement=\"right-start\"']},\n\t{key: 'placement-bottom', values: ['placement=\"bottom\"']},\n\t{key: 'placement-bottom-end', values: ['placement=\"bottom-end\"']},\n\t{key: 'placement-bottom-start', values: ['placement=\"bottom-start\"']},\n\t{key: 'side-top', values: ['side=\"top\"']},\n\t{key: 'side-left', values: ['side=\"left\"']},\n\t{key: 'side-right', values: ['side=\"right\"']},\n\t{key: 'side-bottom', values: ['side=\"bottom\"']},\n\t{key: 'align-center', values: ['align=\"center\"']},\n\t{key: 'align-start', values: ['align=\"start\"']},\n\t{key: 'align-end', values: ['align=\"end\"']},\n\t{key: 'now', values: [null]},\n\t{key: 'today', values: [null]},\n\t{key: 'weekend', values: [null]},\n\t{key: 'in-range', values: [null]},\n\t{key: 'out-of-range', values: ['outside-range']},\n\t{key: 'range-start', values: [null]},\n\t{key: 'range-end', values: [null]},\n\t{key: 'unavailable', values: [null]},\n\t{key: 'topmost', values: [null]},\n\t{key: 'view-day', values: ['view=\"day\"']},\n\t{key: 'view-month', values: ['view=\"month\"']},\n\t{key: 'view-year', values: ['view=\"year\"']},\n\t{key: 'under-value', values: ['state=\"under-value\"']},\n\t{key: 'over-value', values: ['state=\"over-value\"']},\n\t{key: 'at-value', values: ['state=\"at-value\"']},\n\t{key: 'delete-intent', values: [null]},\n\t{key: 'unit-hour', values: ['unit=\"hour\"']},\n\t{key: 'unit-minute', values: ['unit=\"minute\"']},\n\t{key: 'unit-second', values: ['unit=\"second\"']},\n\t{key: 'unit-period', values: ['unit=\"period\"']},\n\t{key: 'channel-hue', values: ['channel=\"hue\"']},\n\t{key: 'channel-saturation', values: ['channel=\"saturation\"']},\n\t{key: 'channel-brightness', values: ['channel=\"brightness\"']},\n\t{key: 'channel-lightness', values: ['channel=\"lightness\"']},\n\t{key: 'channel-red', values: ['channel=\"red\"']},\n\t{key: 'channel-green', values: ['channel=\"green\"']},\n\t{key: 'channel-blue', values: ['channel=\"blue\"']},\n\t{key: 'channel-alpha', values: ['channel=\"alpha\"']},\n\t{key: 'channel-hex', values: ['channel=\"hex\"']},\n\t{key: 'channel-css', values: ['channel=\"css\"']},\n\t{key: 'tour-highlighted', values: [null]},\n\t{key: 'scroll-lock', values: [null]},\n\t{key: 'inert', values: [null]},\n\t{key: 'empty', values: [null]},\n\t{key: 'fullscreen', values: [null]},\n\t{key: 'loading', values: [null]},\n\t{key: 'loaded', values: [null]},\n];\n\nexport interface DynamicVariantEntry {\n\tkey: string;\n\tvalidate?(subject: string): boolean;\n\tknownValues?: Record<string, string>;\n}\n\nconst DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from<never>({\n\tlength: 10,\n}).reduce<Record<string, string>>((o, _v, i) => {\n\to[i] = i.toString();\n\treturn o;\n}, {});\n\nfunction isInt(subject: string) {\n\treturn !Number.isNaN(Number.parseInt(subject, 36));\n}\n\nconst DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[] = [\n\t{key: 'scope'},\n\t{key: 'part'},\n\t{key: 'value'},\n\t{key: 'valuetext'},\n\t{\n\t\tkey: 'index',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'columns',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{key: 'branch'},\n\t{\n\t\tkey: 'depth',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'path',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'type',\n\t\tknownValues: {\n\t\t\t/* toast */\n\t\t\tinfo: 'info',\n\t\t\terror: 'error',\n\t\t\twarning: 'warning',\n\t\t\tsuccess: 'success',\n\t\t\tloading: 'loading',\n\t\t\t/* tour */\n\t\t\tfloating: 'floating',\n\t\t\ttooltip: 'tooltip',\n\t\t\tdialog: 'dialog',\n\t\t\twait: 'wait',\n\t\t},\n\t},\n];\n\nexport interface ZagPluginOptions {\n\t/**\n\t * @description The prefix for the variants.\n\t * @default \"ui\"\n\t * @example\n\t * ```tsx\n\t * <Dialog.Content class=\"ui-open:animate-fade-in ui-closed:animate-fade-out\">\n\t * \t...\n\t * </Dialog.Content>\n\t * ```\n\t */\n\tprefix?: string;\n}\n\n/**\n * @see https://github.com/calvo-jp/tailwindcss-plugin-zag\n */\nexport default plugin.withOptions<ZagPluginOptions>((config = {}) => {\n\tconst prefix = config.prefix ?? 'ui';\n\n\treturn ({addVariant, matchVariant}) => {\n\t\tfor (const {key, values} of STATIC_VARIANT_ENTRIES) {\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-${key}`,\n\t\t\t\tvalues.map((value) => (value === null ? `&[data-${key}]` : `&[data-${value}]`)),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-not-${key}`,\n\t\t\t\tvalues.map((value) => (value === null ? `&:not([data-${key}])` : `&:not([data-${value}])`)),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-group-${key}`,\n\t\t\t\tvalues.map((value) =>\n\t\t\t\t\tvalue === null ? `.group[data-${key}] &` : `.group[data-${value}] &`,\n\t\t\t\t),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-peer-${key}`,\n\t\t\t\tvalues.map((value) =>\n\t\t\t\t\tvalue === null ? `.peer[data-${key}] ~ &` : `.peer[data-${value}] ~ &`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\tfor (const {key, knownValues, validate} of DYNAMIC_VARIANT_ENTRIES) {\n\t\t\tconst isValid = validate ?? (() => true);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `&[data-${key}=\"${value}\"]`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-not-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `&:not([data-${key}=\"${value}\"])`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-group-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `.group[data-${key}=\"${value}\"] &`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-peer-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `.peer[data-${value}=\"${value}\"] ~ &`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\t\t}\n\t};\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["STATIC_VARIANT_ENTRIES: StaticVariantEntry[]","DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[]","plugin"],"sources":["../src/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin.js';\r\n\r\nexport interface StaticVariantEntry {\r\n\tkey: string;\r\n\tvalues: (string | null)[];\r\n}\r\n\r\nconst STATIC_VARIANT_ENTRIES: StaticVariantEntry[] = [\r\n\t{key: 'hover', values: [null]},\r\n\t{key: 'focus', values: [null]},\r\n\t{key: 'focus-visible', values: [null]},\r\n\t{key: 'focusable', values: [null]},\r\n\t{key: 'active', values: [null]},\r\n\t{key: 'valid', values: [null]},\r\n\t{key: 'invalid', values: [null]},\r\n\t{key: 'disabled', values: [null]},\r\n\t{key: 'readonly', values: [null, 'read-only']},\r\n\t{key: 'current', values: [null]},\r\n\t{key: 'inview', values: [null]},\r\n\t{key: 'copied', values: [null]},\r\n\t{key: 'collapsible', values: [null]},\r\n\t{key: 'highlighted', values: [null]},\r\n\t{key: 'selected', values: [null]},\r\n\t{key: 'placeholder', values: [null]},\r\n\t{key: 'placeholder-shown', values: [null]},\r\n\t{key: 'autoresize', values: [null]},\r\n\t{key: 'required', values: [null]},\r\n\t{key: 'grabbed', values: [null]},\r\n\t{key: 'dragging', values: [null]},\r\n\t{key: 'complete', values: [null]},\r\n\t{key: 'incomplete', values: [null]},\r\n\t{key: 'expanded', values: [null, 'state=\"expanded\"']},\r\n\t{key: 'half', values: [null]},\r\n\t{key: 'first', values: [null]},\r\n\t{key: 'mounted', values: [null]},\r\n\t{key: 'overlap', values: [null]},\r\n\t{key: 'sibling', values: [null]},\r\n\t{key: 'paused', values: [null]},\r\n\t{key: 'pressed', values: [null]},\r\n\t{key: 'on', values: ['state=\"on\"']},\r\n\t{key: 'off', values: ['state=\"off\"']},\r\n\t{key: 'open', values: ['state=\"open\"']},\r\n\t{key: 'closed', values: ['state=\"closed\"']},\r\n\t{key: 'hidden', values: [null, 'state=\"hidden\"']},\r\n\t{key: 'visible', values: [null, 'state=\"visible\"']},\r\n\t{key: 'checked', values: [null, 'state=\"checked\"']},\r\n\t{key: 'unchecked', values: [null, 'state=\"unchecked\"']},\r\n\t{key: 'indeterminate', values: [null, 'state=\"indeterminate\"']},\r\n\t{key: 'vertical', values: ['orientation=\"vertical\"']},\r\n\t{key: 'horizontal', values: ['orientation=\"horizontal\"']},\r\n\t{key: 'placement-top', values: ['placement=\"top\"']},\r\n\t{key: 'placement-top-end', values: ['placement=\"top-end\"']},\r\n\t{key: 'placement-top-start', values: ['placement=\"top-start\"']},\r\n\t{key: 'placement-left', values: ['placement=\"left\"']},\r\n\t{key: 'placement-left-end', values: ['placement=\"left-end\"']},\r\n\t{key: 'placement-left-start', values: ['placement=\"left-start\"']},\r\n\t{key: 'placement-right', values: ['placement=\"right\"']},\r\n\t{key: 'placement-right-end', values: ['placement=\"right-end\"']},\r\n\t{key: 'placement-right-start', values: ['placement=\"right-start\"']},\r\n\t{key: 'placement-bottom', values: ['placement=\"bottom\"']},\r\n\t{key: 'placement-bottom-end', values: ['placement=\"bottom-end\"']},\r\n\t{key: 'placement-bottom-start', values: ['placement=\"bottom-start\"']},\r\n\t{key: 'side-top', values: ['side=\"top\"']},\r\n\t{key: 'side-left', values: ['side=\"left\"']},\r\n\t{key: 'side-right', values: ['side=\"right\"']},\r\n\t{key: 'side-bottom', values: ['side=\"bottom\"']},\r\n\t{key: 'align-center', values: ['align=\"center\"']},\r\n\t{key: 'align-start', values: ['align=\"start\"']},\r\n\t{key: 'align-end', values: ['align=\"end\"']},\r\n\t{key: 'now', values: [null]},\r\n\t{key: 'today', values: [null]},\r\n\t{key: 'weekend', values: [null]},\r\n\t{key: 'in-range', values: [null]},\r\n\t{key: 'out-of-range', values: ['outside-range']},\r\n\t{key: 'range-start', values: [null]},\r\n\t{key: 'range-end', values: [null]},\r\n\t{key: 'unavailable', values: [null]},\r\n\t{key: 'topmost', values: [null]},\r\n\t{key: 'view-day', values: ['view=\"day\"']},\r\n\t{key: 'view-month', values: ['view=\"month\"']},\r\n\t{key: 'view-year', values: ['view=\"year\"']},\r\n\t{key: 'under-value', values: ['state=\"under-value\"']},\r\n\t{key: 'over-value', values: ['state=\"over-value\"']},\r\n\t{key: 'at-value', values: ['state=\"at-value\"']},\r\n\t{key: 'delete-intent', values: [null]},\r\n\t{key: 'unit-hour', values: ['unit=\"hour\"']},\r\n\t{key: 'unit-minute', values: ['unit=\"minute\"']},\r\n\t{key: 'unit-second', values: ['unit=\"second\"']},\r\n\t{key: 'unit-period', values: ['unit=\"period\"']},\r\n\t{key: 'channel-hue', values: ['channel=\"hue\"']},\r\n\t{key: 'channel-saturation', values: ['channel=\"saturation\"']},\r\n\t{key: 'channel-brightness', values: ['channel=\"brightness\"']},\r\n\t{key: 'channel-lightness', values: ['channel=\"lightness\"']},\r\n\t{key: 'channel-red', values: ['channel=\"red\"']},\r\n\t{key: 'channel-green', values: ['channel=\"green\"']},\r\n\t{key: 'channel-blue', values: ['channel=\"blue\"']},\r\n\t{key: 'channel-alpha', values: ['channel=\"alpha\"']},\r\n\t{key: 'channel-hex', values: ['channel=\"hex\"']},\r\n\t{key: 'channel-css', values: ['channel=\"css\"']},\r\n\t{key: 'tour-highlighted', values: [null]},\r\n\t{key: 'scroll-lock', values: [null]},\r\n\t{key: 'inert', values: [null]},\r\n\t{key: 'empty', values: [null]},\r\n\t{key: 'fullscreen', values: [null]},\r\n\t{key: 'loading', values: [null]},\r\n\t{key: 'loaded', values: [null]},\r\n\t{key: 'overflow-x', values: [null]},\r\n\t{key: 'overflow-y', values: [null]},\r\n\t{key: 'scrolling', values: [null]},\r\n\t{key: 'at-top', values: [null]},\r\n\t{key: 'at-bottom', values: [null]},\r\n\t{key: 'at-left', values: [null]},\r\n\t{key: 'at-right', values: [null]},\r\n\t{key: 'reverse', values: [null]},\r\n\t{key: 'clone', values: [null]},\r\n];\r\n\r\nexport interface DynamicVariantEntry {\r\n\tkey: string;\r\n\tvalidate?(subject: string): boolean;\r\n\tknownValues?: Record<string, string>;\r\n}\r\n\r\nconst DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from<never>({\r\n\tlength: 10,\r\n}).reduce<Record<string, string>>((o, _v, i) => {\r\n\to[i] = i.toString();\r\n\treturn o;\r\n}, {});\r\n\r\nfunction isInt(subject: string) {\r\n\treturn !Number.isNaN(Number.parseInt(subject, 36));\r\n}\r\n\r\nconst DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[] = [\r\n\t{key: 'id'},\r\n\t{key: 'scope'},\r\n\t{key: 'part'},\r\n\t{key: 'value'},\r\n\t{key: 'valuetext'},\r\n\t{\r\n\t\tkey: 'index',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'columns',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{key: 'branch'},\r\n\t{\r\n\t\tkey: 'depth',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'path',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'type',\r\n\t\tknownValues: {\r\n\t\t\t/* toast */\r\n\t\t\tinfo: 'info',\r\n\t\t\terror: 'error',\r\n\t\t\twarning: 'warning',\r\n\t\t\tsuccess: 'success',\r\n\t\t\tloading: 'loading',\r\n\t\t\t/* tour */\r\n\t\t\tfloating: 'floating',\r\n\t\t\ttooltip: 'tooltip',\r\n\t\t\tdialog: 'dialog',\r\n\t\t\twait: 'wait',\r\n\t\t},\r\n\t},\r\n];\r\n\r\nexport interface ZagPluginOptions {\r\n\t/**\r\n\t * @description The prefix for the variants.\r\n\t * @default \"ui\"\r\n\t * @example\r\n\t * ```tsx\r\n\t * <Dialog.Content class=\"ui-open:animate-fade-in ui-closed:animate-fade-out\">\r\n\t * \t...\r\n\t * </Dialog.Content>\r\n\t * ```\r\n\t */\r\n\tprefix?: string;\r\n}\r\n\r\n/**\r\n * @see https://github.com/calvo-jp/tailwindcss-plugin-zag\r\n */\r\nexport default plugin.withOptions<ZagPluginOptions>((config = {}) => {\r\n\tconst prefix = config.prefix ?? 'ui';\r\n\r\n\treturn ({addVariant, matchVariant}) => {\r\n\t\tfor (const {key, values} of STATIC_VARIANT_ENTRIES) {\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-${key}`,\r\n\t\t\t\tvalues.map((value) => (value === null ? `&[data-${key}]` : `&[data-${value}]`)),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-not-${key}`,\r\n\t\t\t\tvalues.map((value) => (value === null ? `&:not([data-${key}])` : `&:not([data-${value}])`)),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-group-${key}`,\r\n\t\t\t\tvalues.map((value) =>\r\n\t\t\t\t\tvalue === null ? `.group[data-${key}] &` : `.group[data-${value}] &`,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-peer-${key}`,\r\n\t\t\t\tvalues.map((value) =>\r\n\t\t\t\t\tvalue === null ? `.peer[data-${key}] ~ &` : `.peer[data-${value}] ~ &`,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tfor (const {key, knownValues, validate} of DYNAMIC_VARIANT_ENTRIES) {\r\n\t\t\tconst isValid = validate ?? (() => true);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `&[data-${key}=\"${value}\"]`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-not-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `&:not([data-${key}=\"${value}\"])`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-group-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `.group[data-${key}=\"${value}\"] &`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-peer-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `.peer[data-${value}=\"${value}\"] ~ &`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n});\r\n"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -393,6 +393,42 @@ const STATIC_VARIANT_ENTRIES = [
393
393
  {
394
394
  key: "loaded",
395
395
  values: [null]
396
+ },
397
+ {
398
+ key: "overflow-x",
399
+ values: [null]
400
+ },
401
+ {
402
+ key: "overflow-y",
403
+ values: [null]
404
+ },
405
+ {
406
+ key: "scrolling",
407
+ values: [null]
408
+ },
409
+ {
410
+ key: "at-top",
411
+ values: [null]
412
+ },
413
+ {
414
+ key: "at-bottom",
415
+ values: [null]
416
+ },
417
+ {
418
+ key: "at-left",
419
+ values: [null]
420
+ },
421
+ {
422
+ key: "at-right",
423
+ values: [null]
424
+ },
425
+ {
426
+ key: "reverse",
427
+ values: [null]
428
+ },
429
+ {
430
+ key: "clone",
431
+ values: [null]
396
432
  }
397
433
  ];
398
434
  const DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from({ length: 10 }).reduce((o, _v, i) => {
@@ -403,6 +439,7 @@ function isInt(subject) {
403
439
  return !Number.isNaN(Number.parseInt(subject, 36));
404
440
  }
405
441
  const DYNAMIC_VARIANT_ENTRIES = [
442
+ { key: "id" },
406
443
  { key: "scope" },
407
444
  { key: "part" },
408
445
  { key: "value" },
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["STATIC_VARIANT_ENTRIES: StaticVariantEntry[]","DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[]"],"sources":["../src/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin.js';\n\nexport interface StaticVariantEntry {\n\tkey: string;\n\tvalues: (string | null)[];\n}\n\nconst STATIC_VARIANT_ENTRIES: StaticVariantEntry[] = [\n\t{key: 'hover', values: [null]},\n\t{key: 'focus', values: [null]},\n\t{key: 'focus-visible', values: [null]},\n\t{key: 'focusable', values: [null]},\n\t{key: 'active', values: [null]},\n\t{key: 'valid', values: [null]},\n\t{key: 'invalid', values: [null]},\n\t{key: 'disabled', values: [null]},\n\t{key: 'readonly', values: [null, 'read-only']},\n\t{key: 'current', values: [null]},\n\t{key: 'inview', values: [null]},\n\t{key: 'copied', values: [null]},\n\t{key: 'collapsible', values: [null]},\n\t{key: 'highlighted', values: [null]},\n\t{key: 'selected', values: [null]},\n\t{key: 'placeholder', values: [null]},\n\t{key: 'placeholder-shown', values: [null]},\n\t{key: 'autoresize', values: [null]},\n\t{key: 'required', values: [null]},\n\t{key: 'grabbed', values: [null]},\n\t{key: 'dragging', values: [null]},\n\t{key: 'complete', values: [null]},\n\t{key: 'incomplete', values: [null]},\n\t{key: 'expanded', values: [null, 'state=\"expanded\"']},\n\t{key: 'half', values: [null]},\n\t{key: 'first', values: [null]},\n\t{key: 'mounted', values: [null]},\n\t{key: 'overlap', values: [null]},\n\t{key: 'sibling', values: [null]},\n\t{key: 'paused', values: [null]},\n\t{key: 'pressed', values: [null]},\n\t{key: 'on', values: ['state=\"on\"']},\n\t{key: 'off', values: ['state=\"off\"']},\n\t{key: 'open', values: ['state=\"open\"']},\n\t{key: 'closed', values: ['state=\"closed\"']},\n\t{key: 'hidden', values: [null, 'state=\"hidden\"']},\n\t{key: 'visible', values: [null, 'state=\"visible\"']},\n\t{key: 'checked', values: [null, 'state=\"checked\"']},\n\t{key: 'unchecked', values: [null, 'state=\"unchecked\"']},\n\t{key: 'indeterminate', values: [null, 'state=\"indeterminate\"']},\n\t{key: 'vertical', values: ['orientation=\"vertical\"']},\n\t{key: 'horizontal', values: ['orientation=\"horizontal\"']},\n\t{key: 'placement-top', values: ['placement=\"top\"']},\n\t{key: 'placement-top-end', values: ['placement=\"top-end\"']},\n\t{key: 'placement-top-start', values: ['placement=\"top-start\"']},\n\t{key: 'placement-left', values: ['placement=\"left\"']},\n\t{key: 'placement-left-end', values: ['placement=\"left-end\"']},\n\t{key: 'placement-left-start', values: ['placement=\"left-start\"']},\n\t{key: 'placement-right', values: ['placement=\"right\"']},\n\t{key: 'placement-right-end', values: ['placement=\"right-end\"']},\n\t{key: 'placement-right-start', values: ['placement=\"right-start\"']},\n\t{key: 'placement-bottom', values: ['placement=\"bottom\"']},\n\t{key: 'placement-bottom-end', values: ['placement=\"bottom-end\"']},\n\t{key: 'placement-bottom-start', values: ['placement=\"bottom-start\"']},\n\t{key: 'side-top', values: ['side=\"top\"']},\n\t{key: 'side-left', values: ['side=\"left\"']},\n\t{key: 'side-right', values: ['side=\"right\"']},\n\t{key: 'side-bottom', values: ['side=\"bottom\"']},\n\t{key: 'align-center', values: ['align=\"center\"']},\n\t{key: 'align-start', values: ['align=\"start\"']},\n\t{key: 'align-end', values: ['align=\"end\"']},\n\t{key: 'now', values: [null]},\n\t{key: 'today', values: [null]},\n\t{key: 'weekend', values: [null]},\n\t{key: 'in-range', values: [null]},\n\t{key: 'out-of-range', values: ['outside-range']},\n\t{key: 'range-start', values: [null]},\n\t{key: 'range-end', values: [null]},\n\t{key: 'unavailable', values: [null]},\n\t{key: 'topmost', values: [null]},\n\t{key: 'view-day', values: ['view=\"day\"']},\n\t{key: 'view-month', values: ['view=\"month\"']},\n\t{key: 'view-year', values: ['view=\"year\"']},\n\t{key: 'under-value', values: ['state=\"under-value\"']},\n\t{key: 'over-value', values: ['state=\"over-value\"']},\n\t{key: 'at-value', values: ['state=\"at-value\"']},\n\t{key: 'delete-intent', values: [null]},\n\t{key: 'unit-hour', values: ['unit=\"hour\"']},\n\t{key: 'unit-minute', values: ['unit=\"minute\"']},\n\t{key: 'unit-second', values: ['unit=\"second\"']},\n\t{key: 'unit-period', values: ['unit=\"period\"']},\n\t{key: 'channel-hue', values: ['channel=\"hue\"']},\n\t{key: 'channel-saturation', values: ['channel=\"saturation\"']},\n\t{key: 'channel-brightness', values: ['channel=\"brightness\"']},\n\t{key: 'channel-lightness', values: ['channel=\"lightness\"']},\n\t{key: 'channel-red', values: ['channel=\"red\"']},\n\t{key: 'channel-green', values: ['channel=\"green\"']},\n\t{key: 'channel-blue', values: ['channel=\"blue\"']},\n\t{key: 'channel-alpha', values: ['channel=\"alpha\"']},\n\t{key: 'channel-hex', values: ['channel=\"hex\"']},\n\t{key: 'channel-css', values: ['channel=\"css\"']},\n\t{key: 'tour-highlighted', values: [null]},\n\t{key: 'scroll-lock', values: [null]},\n\t{key: 'inert', values: [null]},\n\t{key: 'empty', values: [null]},\n\t{key: 'fullscreen', values: [null]},\n\t{key: 'loading', values: [null]},\n\t{key: 'loaded', values: [null]},\n];\n\nexport interface DynamicVariantEntry {\n\tkey: string;\n\tvalidate?(subject: string): boolean;\n\tknownValues?: Record<string, string>;\n}\n\nconst DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from<never>({\n\tlength: 10,\n}).reduce<Record<string, string>>((o, _v, i) => {\n\to[i] = i.toString();\n\treturn o;\n}, {});\n\nfunction isInt(subject: string) {\n\treturn !Number.isNaN(Number.parseInt(subject, 36));\n}\n\nconst DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[] = [\n\t{key: 'scope'},\n\t{key: 'part'},\n\t{key: 'value'},\n\t{key: 'valuetext'},\n\t{\n\t\tkey: 'index',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'columns',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{key: 'branch'},\n\t{\n\t\tkey: 'depth',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'path',\n\t\tvalidate: isInt,\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\n\t},\n\t{\n\t\tkey: 'type',\n\t\tknownValues: {\n\t\t\t/* toast */\n\t\t\tinfo: 'info',\n\t\t\terror: 'error',\n\t\t\twarning: 'warning',\n\t\t\tsuccess: 'success',\n\t\t\tloading: 'loading',\n\t\t\t/* tour */\n\t\t\tfloating: 'floating',\n\t\t\ttooltip: 'tooltip',\n\t\t\tdialog: 'dialog',\n\t\t\twait: 'wait',\n\t\t},\n\t},\n];\n\nexport interface ZagPluginOptions {\n\t/**\n\t * @description The prefix for the variants.\n\t * @default \"ui\"\n\t * @example\n\t * ```tsx\n\t * <Dialog.Content class=\"ui-open:animate-fade-in ui-closed:animate-fade-out\">\n\t * \t...\n\t * </Dialog.Content>\n\t * ```\n\t */\n\tprefix?: string;\n}\n\n/**\n * @see https://github.com/calvo-jp/tailwindcss-plugin-zag\n */\nexport default plugin.withOptions<ZagPluginOptions>((config = {}) => {\n\tconst prefix = config.prefix ?? 'ui';\n\n\treturn ({addVariant, matchVariant}) => {\n\t\tfor (const {key, values} of STATIC_VARIANT_ENTRIES) {\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-${key}`,\n\t\t\t\tvalues.map((value) => (value === null ? `&[data-${key}]` : `&[data-${value}]`)),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-not-${key}`,\n\t\t\t\tvalues.map((value) => (value === null ? `&:not([data-${key}])` : `&:not([data-${value}])`)),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-group-${key}`,\n\t\t\t\tvalues.map((value) =>\n\t\t\t\t\tvalue === null ? `.group[data-${key}] &` : `.group[data-${value}] &`,\n\t\t\t\t),\n\t\t\t);\n\n\t\t\taddVariant(\n\t\t\t\t`${prefix}-peer-${key}`,\n\t\t\t\tvalues.map((value) =>\n\t\t\t\t\tvalue === null ? `.peer[data-${key}] ~ &` : `.peer[data-${value}] ~ &`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\tfor (const {key, knownValues, validate} of DYNAMIC_VARIANT_ENTRIES) {\n\t\t\tconst isValid = validate ?? (() => true);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `&[data-${key}=\"${value}\"]`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-not-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `&:not([data-${key}=\"${value}\"])`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-group-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `.group[data-${key}=\"${value}\"] &`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\n\t\t\tmatchVariant(\n\t\t\t\t`${prefix}-peer-${key}`,\n\t\t\t\t(value) => (!isValid(value) ? [] : `.peer[data-${value}=\"${value}\"] ~ &`),\n\t\t\t\t{values: knownValues},\n\t\t\t);\n\t\t}\n\t};\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["STATIC_VARIANT_ENTRIES: StaticVariantEntry[]","DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[]"],"sources":["../src/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin.js';\r\n\r\nexport interface StaticVariantEntry {\r\n\tkey: string;\r\n\tvalues: (string | null)[];\r\n}\r\n\r\nconst STATIC_VARIANT_ENTRIES: StaticVariantEntry[] = [\r\n\t{key: 'hover', values: [null]},\r\n\t{key: 'focus', values: [null]},\r\n\t{key: 'focus-visible', values: [null]},\r\n\t{key: 'focusable', values: [null]},\r\n\t{key: 'active', values: [null]},\r\n\t{key: 'valid', values: [null]},\r\n\t{key: 'invalid', values: [null]},\r\n\t{key: 'disabled', values: [null]},\r\n\t{key: 'readonly', values: [null, 'read-only']},\r\n\t{key: 'current', values: [null]},\r\n\t{key: 'inview', values: [null]},\r\n\t{key: 'copied', values: [null]},\r\n\t{key: 'collapsible', values: [null]},\r\n\t{key: 'highlighted', values: [null]},\r\n\t{key: 'selected', values: [null]},\r\n\t{key: 'placeholder', values: [null]},\r\n\t{key: 'placeholder-shown', values: [null]},\r\n\t{key: 'autoresize', values: [null]},\r\n\t{key: 'required', values: [null]},\r\n\t{key: 'grabbed', values: [null]},\r\n\t{key: 'dragging', values: [null]},\r\n\t{key: 'complete', values: [null]},\r\n\t{key: 'incomplete', values: [null]},\r\n\t{key: 'expanded', values: [null, 'state=\"expanded\"']},\r\n\t{key: 'half', values: [null]},\r\n\t{key: 'first', values: [null]},\r\n\t{key: 'mounted', values: [null]},\r\n\t{key: 'overlap', values: [null]},\r\n\t{key: 'sibling', values: [null]},\r\n\t{key: 'paused', values: [null]},\r\n\t{key: 'pressed', values: [null]},\r\n\t{key: 'on', values: ['state=\"on\"']},\r\n\t{key: 'off', values: ['state=\"off\"']},\r\n\t{key: 'open', values: ['state=\"open\"']},\r\n\t{key: 'closed', values: ['state=\"closed\"']},\r\n\t{key: 'hidden', values: [null, 'state=\"hidden\"']},\r\n\t{key: 'visible', values: [null, 'state=\"visible\"']},\r\n\t{key: 'checked', values: [null, 'state=\"checked\"']},\r\n\t{key: 'unchecked', values: [null, 'state=\"unchecked\"']},\r\n\t{key: 'indeterminate', values: [null, 'state=\"indeterminate\"']},\r\n\t{key: 'vertical', values: ['orientation=\"vertical\"']},\r\n\t{key: 'horizontal', values: ['orientation=\"horizontal\"']},\r\n\t{key: 'placement-top', values: ['placement=\"top\"']},\r\n\t{key: 'placement-top-end', values: ['placement=\"top-end\"']},\r\n\t{key: 'placement-top-start', values: ['placement=\"top-start\"']},\r\n\t{key: 'placement-left', values: ['placement=\"left\"']},\r\n\t{key: 'placement-left-end', values: ['placement=\"left-end\"']},\r\n\t{key: 'placement-left-start', values: ['placement=\"left-start\"']},\r\n\t{key: 'placement-right', values: ['placement=\"right\"']},\r\n\t{key: 'placement-right-end', values: ['placement=\"right-end\"']},\r\n\t{key: 'placement-right-start', values: ['placement=\"right-start\"']},\r\n\t{key: 'placement-bottom', values: ['placement=\"bottom\"']},\r\n\t{key: 'placement-bottom-end', values: ['placement=\"bottom-end\"']},\r\n\t{key: 'placement-bottom-start', values: ['placement=\"bottom-start\"']},\r\n\t{key: 'side-top', values: ['side=\"top\"']},\r\n\t{key: 'side-left', values: ['side=\"left\"']},\r\n\t{key: 'side-right', values: ['side=\"right\"']},\r\n\t{key: 'side-bottom', values: ['side=\"bottom\"']},\r\n\t{key: 'align-center', values: ['align=\"center\"']},\r\n\t{key: 'align-start', values: ['align=\"start\"']},\r\n\t{key: 'align-end', values: ['align=\"end\"']},\r\n\t{key: 'now', values: [null]},\r\n\t{key: 'today', values: [null]},\r\n\t{key: 'weekend', values: [null]},\r\n\t{key: 'in-range', values: [null]},\r\n\t{key: 'out-of-range', values: ['outside-range']},\r\n\t{key: 'range-start', values: [null]},\r\n\t{key: 'range-end', values: [null]},\r\n\t{key: 'unavailable', values: [null]},\r\n\t{key: 'topmost', values: [null]},\r\n\t{key: 'view-day', values: ['view=\"day\"']},\r\n\t{key: 'view-month', values: ['view=\"month\"']},\r\n\t{key: 'view-year', values: ['view=\"year\"']},\r\n\t{key: 'under-value', values: ['state=\"under-value\"']},\r\n\t{key: 'over-value', values: ['state=\"over-value\"']},\r\n\t{key: 'at-value', values: ['state=\"at-value\"']},\r\n\t{key: 'delete-intent', values: [null]},\r\n\t{key: 'unit-hour', values: ['unit=\"hour\"']},\r\n\t{key: 'unit-minute', values: ['unit=\"minute\"']},\r\n\t{key: 'unit-second', values: ['unit=\"second\"']},\r\n\t{key: 'unit-period', values: ['unit=\"period\"']},\r\n\t{key: 'channel-hue', values: ['channel=\"hue\"']},\r\n\t{key: 'channel-saturation', values: ['channel=\"saturation\"']},\r\n\t{key: 'channel-brightness', values: ['channel=\"brightness\"']},\r\n\t{key: 'channel-lightness', values: ['channel=\"lightness\"']},\r\n\t{key: 'channel-red', values: ['channel=\"red\"']},\r\n\t{key: 'channel-green', values: ['channel=\"green\"']},\r\n\t{key: 'channel-blue', values: ['channel=\"blue\"']},\r\n\t{key: 'channel-alpha', values: ['channel=\"alpha\"']},\r\n\t{key: 'channel-hex', values: ['channel=\"hex\"']},\r\n\t{key: 'channel-css', values: ['channel=\"css\"']},\r\n\t{key: 'tour-highlighted', values: [null]},\r\n\t{key: 'scroll-lock', values: [null]},\r\n\t{key: 'inert', values: [null]},\r\n\t{key: 'empty', values: [null]},\r\n\t{key: 'fullscreen', values: [null]},\r\n\t{key: 'loading', values: [null]},\r\n\t{key: 'loaded', values: [null]},\r\n\t{key: 'overflow-x', values: [null]},\r\n\t{key: 'overflow-y', values: [null]},\r\n\t{key: 'scrolling', values: [null]},\r\n\t{key: 'at-top', values: [null]},\r\n\t{key: 'at-bottom', values: [null]},\r\n\t{key: 'at-left', values: [null]},\r\n\t{key: 'at-right', values: [null]},\r\n\t{key: 'reverse', values: [null]},\r\n\t{key: 'clone', values: [null]},\r\n];\r\n\r\nexport interface DynamicVariantEntry {\r\n\tkey: string;\r\n\tvalidate?(subject: string): boolean;\r\n\tknownValues?: Record<string, string>;\r\n}\r\n\r\nconst DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES = Array.from<never>({\r\n\tlength: 10,\r\n}).reduce<Record<string, string>>((o, _v, i) => {\r\n\to[i] = i.toString();\r\n\treturn o;\r\n}, {});\r\n\r\nfunction isInt(subject: string) {\r\n\treturn !Number.isNaN(Number.parseInt(subject, 36));\r\n}\r\n\r\nconst DYNAMIC_VARIANT_ENTRIES: DynamicVariantEntry[] = [\r\n\t{key: 'id'},\r\n\t{key: 'scope'},\r\n\t{key: 'part'},\r\n\t{key: 'value'},\r\n\t{key: 'valuetext'},\r\n\t{\r\n\t\tkey: 'index',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'columns',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{key: 'branch'},\r\n\t{\r\n\t\tkey: 'depth',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'path',\r\n\t\tvalidate: isInt,\r\n\t\tknownValues: DEFAULT_DYNAMIC_VARIANT_ENTRY_KNOWN_INT_VALUES,\r\n\t},\r\n\t{\r\n\t\tkey: 'type',\r\n\t\tknownValues: {\r\n\t\t\t/* toast */\r\n\t\t\tinfo: 'info',\r\n\t\t\terror: 'error',\r\n\t\t\twarning: 'warning',\r\n\t\t\tsuccess: 'success',\r\n\t\t\tloading: 'loading',\r\n\t\t\t/* tour */\r\n\t\t\tfloating: 'floating',\r\n\t\t\ttooltip: 'tooltip',\r\n\t\t\tdialog: 'dialog',\r\n\t\t\twait: 'wait',\r\n\t\t},\r\n\t},\r\n];\r\n\r\nexport interface ZagPluginOptions {\r\n\t/**\r\n\t * @description The prefix for the variants.\r\n\t * @default \"ui\"\r\n\t * @example\r\n\t * ```tsx\r\n\t * <Dialog.Content class=\"ui-open:animate-fade-in ui-closed:animate-fade-out\">\r\n\t * \t...\r\n\t * </Dialog.Content>\r\n\t * ```\r\n\t */\r\n\tprefix?: string;\r\n}\r\n\r\n/**\r\n * @see https://github.com/calvo-jp/tailwindcss-plugin-zag\r\n */\r\nexport default plugin.withOptions<ZagPluginOptions>((config = {}) => {\r\n\tconst prefix = config.prefix ?? 'ui';\r\n\r\n\treturn ({addVariant, matchVariant}) => {\r\n\t\tfor (const {key, values} of STATIC_VARIANT_ENTRIES) {\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-${key}`,\r\n\t\t\t\tvalues.map((value) => (value === null ? `&[data-${key}]` : `&[data-${value}]`)),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-not-${key}`,\r\n\t\t\t\tvalues.map((value) => (value === null ? `&:not([data-${key}])` : `&:not([data-${value}])`)),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-group-${key}`,\r\n\t\t\t\tvalues.map((value) =>\r\n\t\t\t\t\tvalue === null ? `.group[data-${key}] &` : `.group[data-${value}] &`,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\r\n\t\t\taddVariant(\r\n\t\t\t\t`${prefix}-peer-${key}`,\r\n\t\t\t\tvalues.map((value) =>\r\n\t\t\t\t\tvalue === null ? `.peer[data-${key}] ~ &` : `.peer[data-${value}] ~ &`,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tfor (const {key, knownValues, validate} of DYNAMIC_VARIANT_ENTRIES) {\r\n\t\t\tconst isValid = validate ?? (() => true);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `&[data-${key}=\"${value}\"]`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-not-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `&:not([data-${key}=\"${value}\"])`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-group-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `.group[data-${key}=\"${value}\"] &`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\r\n\t\t\tmatchVariant(\r\n\t\t\t\t`${prefix}-peer-${key}`,\r\n\t\t\t\t(value) => (!isValid(value) ? [] : `.peer[data-${value}=\"${value}\"] ~ &`),\r\n\t\t\t\t{values: knownValues},\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n});\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,86 +1,86 @@
1
- {
2
- "name": "tailwind-zag",
3
- "type": "module",
4
- "license": "MIT",
5
- "version": "1.0.5",
6
- "main": "./dist/index.cjs",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": {
13
- "types": "./dist/index.d.ts",
14
- "default": "./dist/index.js"
15
- },
16
- "require": "./dist/index.cjs"
17
- },
18
- "./package.json": "./package.json"
19
- },
20
- "files": [
21
- "dist"
22
- ],
23
- "publishConfig": {
24
- "access": "public"
25
- },
26
- "packageManager": "pnpm@10.25.0",
27
- "author": {
28
- "name": "John Paul Calvo",
29
- "email": "looselytiedshoelace@gmail.com"
30
- },
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/CalvoJohnPaul/tailwind-zag.git"
34
- },
35
- "bugs": {
36
- "url": "https://github.com/CalvoJohnPaul/tailwind-zag/issues",
37
- "email": "looselytiedshoelace@gmail.com"
38
- },
39
- "description": "TailwindCSS plugin for zag-powered components",
40
- "keywords": [
41
- "TailwindCSS",
42
- "zag",
43
- "Ark UI",
44
- "Plugin"
45
- ],
46
- "scripts": {
47
- "dev": "tsdown --watch",
48
- "test": "vitest",
49
- "lint": "biome lint .",
50
- "format": "biome format --write .",
51
- "build": "tsdown",
52
- "release": "release-it"
53
- },
54
- "devDependencies": {
55
- "@biomejs/biome": "^2.3.8",
56
- "@tsconfig/node22": "^22.0.5",
57
- "@types/node": "^24.10.2",
58
- "postcss": "^8.5.6",
59
- "release-it": "^19.0.6",
60
- "tailwindcss": "^3.4.17",
61
- "tsdown": "^0.17.2",
62
- "typescript": "^5.9.3",
63
- "vitest": "^4.0.15"
64
- },
65
- "peerDependencies": {
66
- "tailwindcss": "^3.3.3 || ^4.0.0"
67
- },
68
- "release-it": {
69
- "git": {
70
- "commitMessage": "chore: release ${npm.name} v${version}",
71
- "tagName": "${npm.name}@${version}"
72
- },
73
- "github": {
74
- "release": false
75
- },
76
- "hooks": {
77
- "before:init": [
78
- "pnpm lint",
79
- "pnpm test"
80
- ],
81
- "after:bump": [
82
- "pnpm build"
83
- ]
84
- }
85
- }
86
- }
1
+ {
2
+ "name": "tailwind-zag",
3
+ "type": "module",
4
+ "license": "MIT",
5
+ "version": "1.1.0",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "require": "./dist/index.cjs"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "packageManager": "pnpm@10.25.0",
27
+ "author": {
28
+ "name": "John Paul Calvo",
29
+ "email": "looselytiedshoelace@gmail.com"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/CalvoJohnPaul/tailwind-zag.git"
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/CalvoJohnPaul/tailwind-zag/issues",
37
+ "email": "looselytiedshoelace@gmail.com"
38
+ },
39
+ "description": "TailwindCSS plugin for zag-powered components",
40
+ "keywords": [
41
+ "TailwindCSS",
42
+ "zag",
43
+ "Ark UI",
44
+ "Plugin"
45
+ ],
46
+ "scripts": {
47
+ "dev": "tsdown --watch",
48
+ "test": "vitest",
49
+ "lint": "biome lint .",
50
+ "format": "biome format --write .",
51
+ "build": "tsdown",
52
+ "release": "release-it"
53
+ },
54
+ "devDependencies": {
55
+ "@biomejs/biome": "^2.3.8",
56
+ "@tsconfig/node22": "^22.0.5",
57
+ "@types/node": "^24.10.2",
58
+ "postcss": "^8.5.6",
59
+ "release-it": "^19.0.6",
60
+ "tailwindcss": "^3.4.17",
61
+ "tsdown": "^0.17.2",
62
+ "typescript": "^5.9.3",
63
+ "vitest": "^4.0.15"
64
+ },
65
+ "peerDependencies": {
66
+ "tailwindcss": "^3.3.3 || ^4.0.0"
67
+ },
68
+ "release-it": {
69
+ "git": {
70
+ "commitMessage": "chore: release ${npm.name} v${version}",
71
+ "tagName": "${npm.name}@${version}"
72
+ },
73
+ "github": {
74
+ "release": false
75
+ },
76
+ "hooks": {
77
+ "before:init": [
78
+ "pnpm lint",
79
+ "pnpm test"
80
+ ],
81
+ "after:bump": [
82
+ "pnpm build"
83
+ ]
84
+ }
85
+ }
86
+ }