@codefast/ui 0.0.23 → 0.0.25

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.
@@ -0,0 +1,277 @@
1
+ import plugin from "tailwindcss/plugin";
2
+ import { type Config } from "tailwindcss/types/config";
3
+
4
+ type Theme = <TDefaultValue = Config["theme"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;
5
+
6
+ const animate = plugin(
7
+ ({ addUtilities, matchUtilities, theme }) => {
8
+ addUtilities({
9
+ "@keyframes enter": {
10
+ from: {
11
+ opacity: "var(--animate-enter-opacity, 1)",
12
+ transform: [
13
+ "translate3d(var(--animate-enter-translate-x, 0), var(--animate-enter-translate-y, 0), 0)",
14
+ "scale3d(var(--animate-enter-scale, 1), var(--animate-enter-scale, 1), var(--animate-enter-scale, 1))",
15
+ "rotate(var(--animate-enter-rotate, 0))",
16
+ ].join(" "),
17
+ },
18
+ },
19
+
20
+ "@keyframes exit": {
21
+ to: {
22
+ opacity: "var(--animate-exit-opacity, 1)",
23
+ transform: [
24
+ "translate3d(var(--animate-exit-translate-x, 0), var(--animate-exit-translate-y, 0), 0)",
25
+ "scale3d(var(--animate-exit-scale, 1), var(--animate-exit-scale, 1), var(--animate-exit-scale, 1))",
26
+ "rotate(var(--animate-exit-rotate, 0))",
27
+ ].join(" "),
28
+ },
29
+ },
30
+
31
+ ".animate-in": {
32
+ animationName: "enter",
33
+ animationDuration: theme("animationDuration.DEFAULT"),
34
+ "--animate-enter-opacity": "initial",
35
+ "--animate-enter-scale": "initial",
36
+ "--animate-enter-rotate": "initial",
37
+ "--animate-enter-translate-x": "initial",
38
+ "--animate-enter-translate-y": "initial",
39
+ },
40
+
41
+ ".animate-out": {
42
+ animationName: "exit",
43
+ animationDuration: theme("animationDuration.DEFAULT"),
44
+ "--animate-exit-opacity": "initial",
45
+ "--animate-exit-scale": "initial",
46
+ "--animate-exit-rotate": "initial",
47
+ "--animate-exit-translate-x": "initial",
48
+ "--animate-exit-translate-y": "initial",
49
+ },
50
+ });
51
+
52
+ addUtilities({
53
+ ".animation-running": {
54
+ animationPlayState: "running",
55
+ },
56
+ ".animation-paused": {
57
+ animationPlayState: "paused",
58
+ },
59
+ });
60
+
61
+ // Delay
62
+ matchUtilities(
63
+ {
64
+ "animation-delay": (value) => ({
65
+ animationDelay: value,
66
+ }),
67
+ },
68
+ {
69
+ values: theme("animationDelay"),
70
+ },
71
+ );
72
+
73
+ // Direction
74
+ matchUtilities(
75
+ {
76
+ "animation-direction": (value) => ({
77
+ animationDirection: value,
78
+ }),
79
+ },
80
+ {
81
+ values: theme("animationDirection"),
82
+ },
83
+ );
84
+
85
+ // Duration
86
+ matchUtilities(
87
+ {
88
+ "animation-duration": (value) => ({
89
+ animationDuration: value,
90
+ }),
91
+ },
92
+ {
93
+ values: theme("animationDuration"),
94
+ },
95
+ );
96
+
97
+ // Fill mode
98
+ matchUtilities(
99
+ {
100
+ "animation-fill-mode": (value) => ({
101
+ animationFillMode: value,
102
+ }),
103
+ },
104
+ {
105
+ values: theme("animationFillMode"),
106
+ },
107
+ );
108
+
109
+ // Opacity
110
+ matchUtilities(
111
+ {
112
+ "fade-in": (value) => ({
113
+ "--animate-enter-opacity": value,
114
+ }),
115
+ "fade-out": (value) => ({
116
+ "--animate-exit-opacity": value,
117
+ }),
118
+ },
119
+ {
120
+ values: theme("animationOpacity"),
121
+ },
122
+ );
123
+
124
+ // Repeat
125
+ matchUtilities(
126
+ {
127
+ "animation-repeat": (value) => ({
128
+ animationIterationCount: value,
129
+ }),
130
+ },
131
+ {
132
+ values: theme("animationRepeat"),
133
+ },
134
+ );
135
+
136
+ // Rotate
137
+ matchUtilities(
138
+ {
139
+ "spin-in": (value) => ({
140
+ "--animate-enter-rotate": value,
141
+ }),
142
+ "spin-out": (value) => ({
143
+ "--animate-exit-rotate": value,
144
+ }),
145
+ },
146
+ {
147
+ values: theme("animationRotate"),
148
+ },
149
+ );
150
+
151
+ // Scale - Zoom
152
+ matchUtilities(
153
+ {
154
+ "zoom-in": (value) => ({
155
+ "--animate-enter-scale": value,
156
+ }),
157
+ "zoom-out": (value) => ({
158
+ "--animate-exit-scale": value,
159
+ }),
160
+ },
161
+ {
162
+ values: theme("animationScale"),
163
+ },
164
+ );
165
+
166
+ // Timing function
167
+ matchUtilities(
168
+ {
169
+ "animation-ease": (value) => ({
170
+ animationTimingFunction: value,
171
+ }),
172
+ },
173
+ {
174
+ values: theme("animationTimingFunction"),
175
+ },
176
+ );
177
+
178
+ // Translate - Slide
179
+ matchUtilities(
180
+ {
181
+ "slide-in-from-top": (value) => ({
182
+ "--animate-enter-translate-y": `-${value}`,
183
+ }),
184
+
185
+ "slide-in-from-bottom": (value) => ({
186
+ "--animate-enter-translate-y": value,
187
+ }),
188
+
189
+ "slide-in-from-left": (value) => ({
190
+ "--animate-enter-translate-x": `-${value}`,
191
+ }),
192
+
193
+ "slide-in-from-right": (value) => ({
194
+ "--animate-enter-translate-x": value,
195
+ }),
196
+
197
+ "slide-out-to-top": (value) => ({
198
+ "--animate-exit-translate-y": `-${value}`,
199
+ }),
200
+
201
+ "slide-out-to-bottom": (value) => ({
202
+ "--animate-exit-translate-y": value,
203
+ }),
204
+
205
+ "slide-out-to-left": (value) => ({
206
+ "--animate-exit-translate-x": `-${value}`,
207
+ }),
208
+
209
+ "slide-out-to-right": (value) => ({
210
+ "--animate-exit-translate-x": value,
211
+ }),
212
+ },
213
+ {
214
+ values: theme("animationTranslate"),
215
+ },
216
+ );
217
+ },
218
+ {
219
+ theme: {
220
+ extend: {
221
+ animationDelay: ({ theme }: { theme: Theme }) => ({
222
+ ...theme("transitionDelay"),
223
+ }),
224
+
225
+ animationDirection: {
226
+ normal: "normal",
227
+ reverse: "reverse",
228
+ alternate: "alternate",
229
+ "alternate-reverse": "alternate-reverse",
230
+ },
231
+
232
+ animationDuration: ({ theme }: { theme: Theme }) => ({
233
+ ...theme("transitionDuration"),
234
+ }),
235
+
236
+ animationFillMode: {
237
+ none: "none",
238
+ forwards: "forwards",
239
+ backwards: "backwards",
240
+ both: "both",
241
+ },
242
+
243
+ animationOpacity: ({ theme }: { theme: Theme }) => ({
244
+ DEFAULT: 0,
245
+ ...theme("opacity"),
246
+ }),
247
+
248
+ animationRepeat: {
249
+ 0: "0",
250
+ 1: "1",
251
+ infinite: "infinite",
252
+ },
253
+
254
+ animationRotate: ({ theme }: { theme: Theme }) => ({
255
+ DEFAULT: "30deg",
256
+ ...theme("rotate"),
257
+ }),
258
+
259
+ animationScale: ({ theme }: { theme: Theme }) => ({
260
+ DEFAULT: 0,
261
+ ...theme("scale"),
262
+ }),
263
+
264
+ animationTimingFunction: ({ theme }: { theme: Theme }) => ({
265
+ ...theme("transitionTimingFunction"),
266
+ }),
267
+
268
+ animationTranslate: ({ theme }: { theme: Theme }) => ({
269
+ DEFAULT: "100%",
270
+ ...theme("translate"),
271
+ }),
272
+ },
273
+ },
274
+ },
275
+ );
276
+
277
+ export default animate;
@@ -10,7 +10,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
10
10
  ref?: React.Ref<HTMLDivElement> | undefined;
11
11
  } & {
12
12
  asChild?: boolean | undefined;
13
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
13
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
14
14
  label?: string | undefined;
15
15
  shouldFilter?: boolean | undefined;
16
16
  filter?: ((value: string, search: string, keywords?: string[] | undefined) => number) | undefined;
@@ -28,7 +28,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
28
28
  ref?: React.Ref<HTMLInputElement> | undefined;
29
29
  } & {
30
30
  asChild?: boolean | undefined;
31
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
31
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
32
32
  value?: string | undefined;
33
33
  onValueChange?: ((search: string) => void) | undefined;
34
34
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -39,7 +39,7 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
39
39
  ref?: React.Ref<HTMLDivElement> | undefined;
40
40
  } & {
41
41
  asChild?: boolean | undefined;
42
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
42
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
43
43
  label?: string | undefined;
44
44
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
45
  type CommandEmptyProps = React.ComponentPropsWithoutRef<typeof Command$1.Empty>;
@@ -49,7 +49,7 @@ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
49
49
  ref?: React.Ref<HTMLDivElement> | undefined;
50
50
  } & {
51
51
  asChild?: boolean | undefined;
52
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
52
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
53
53
  type CommandGroupProps = React.ComponentPropsWithoutRef<typeof Command$1.Group>;
54
54
  declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
55
55
  children?: React.ReactNode;
@@ -57,7 +57,7 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
57
57
  ref?: React.Ref<HTMLDivElement> | undefined;
58
58
  } & {
59
59
  asChild?: boolean | undefined;
60
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
60
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
61
61
  heading?: React.ReactNode;
62
62
  value?: string | undefined;
63
63
  forceMount?: boolean | undefined;
@@ -67,7 +67,7 @@ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<R
67
67
  ref?: React.Ref<HTMLDivElement> | undefined;
68
68
  } & {
69
69
  asChild?: boolean | undefined;
70
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
70
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
71
71
  alwaysRender?: boolean | undefined;
72
72
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
73
73
  type CommandItemProps = React.ComponentPropsWithoutRef<typeof Command$1.Item>;
@@ -77,7 +77,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
77
77
  ref?: React.Ref<HTMLDivElement> | undefined;
78
78
  } & {
79
79
  asChild?: boolean | undefined;
80
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
80
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
81
81
  disabled?: boolean | undefined;
82
82
  onSelect?: ((value: string) => void) | undefined;
83
83
  value?: string | undefined;
@@ -91,7 +91,7 @@ declare const CommandLoading: React.ForwardRefExoticComponent<Omit<{
91
91
  ref?: React.Ref<HTMLDivElement> | undefined;
92
92
  } & {
93
93
  asChild?: boolean | undefined;
94
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
94
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
95
95
  progress?: number | undefined;
96
96
  label?: string | undefined;
97
97
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
package/dist/command.d.ts CHANGED
@@ -10,7 +10,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
10
10
  ref?: React.Ref<HTMLDivElement> | undefined;
11
11
  } & {
12
12
  asChild?: boolean | undefined;
13
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
13
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
14
14
  label?: string | undefined;
15
15
  shouldFilter?: boolean | undefined;
16
16
  filter?: ((value: string, search: string, keywords?: string[] | undefined) => number) | undefined;
@@ -28,7 +28,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
28
28
  ref?: React.Ref<HTMLInputElement> | undefined;
29
29
  } & {
30
30
  asChild?: boolean | undefined;
31
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
31
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
32
32
  value?: string | undefined;
33
33
  onValueChange?: ((search: string) => void) | undefined;
34
34
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -39,7 +39,7 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
39
39
  ref?: React.Ref<HTMLDivElement> | undefined;
40
40
  } & {
41
41
  asChild?: boolean | undefined;
42
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
42
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
43
43
  label?: string | undefined;
44
44
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
45
  type CommandEmptyProps = React.ComponentPropsWithoutRef<typeof Command$1.Empty>;
@@ -49,7 +49,7 @@ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
49
49
  ref?: React.Ref<HTMLDivElement> | undefined;
50
50
  } & {
51
51
  asChild?: boolean | undefined;
52
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
52
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
53
53
  type CommandGroupProps = React.ComponentPropsWithoutRef<typeof Command$1.Group>;
54
54
  declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
55
55
  children?: React.ReactNode;
@@ -57,7 +57,7 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
57
57
  ref?: React.Ref<HTMLDivElement> | undefined;
58
58
  } & {
59
59
  asChild?: boolean | undefined;
60
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
60
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
61
61
  heading?: React.ReactNode;
62
62
  value?: string | undefined;
63
63
  forceMount?: boolean | undefined;
@@ -67,7 +67,7 @@ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<R
67
67
  ref?: React.Ref<HTMLDivElement> | undefined;
68
68
  } & {
69
69
  asChild?: boolean | undefined;
70
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
70
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
71
71
  alwaysRender?: boolean | undefined;
72
72
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
73
73
  type CommandItemProps = React.ComponentPropsWithoutRef<typeof Command$1.Item>;
@@ -77,7 +77,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
77
77
  ref?: React.Ref<HTMLDivElement> | undefined;
78
78
  } & {
79
79
  asChild?: boolean | undefined;
80
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
80
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
81
81
  disabled?: boolean | undefined;
82
82
  onSelect?: ((value: string) => void) | undefined;
83
83
  value?: string | undefined;
@@ -91,7 +91,7 @@ declare const CommandLoading: React.ForwardRefExoticComponent<Omit<{
91
91
  ref?: React.Ref<HTMLDivElement> | undefined;
92
92
  } & {
93
93
  asChild?: boolean | undefined;
94
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
94
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
95
95
  progress?: number | undefined;
96
96
  label?: string | undefined;
97
97
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,368 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// tailwind.config.ts
2
+ var _defaultTheme = require('tailwindcss/defaultTheme');
3
+
4
+ // animate.plugin.ts
5
+ var _plugin = require('tailwindcss/plugin'); var _plugin2 = _interopRequireDefault(_plugin);
6
+ var animate = _plugin2.default.call(void 0,
7
+ ({ addUtilities, matchUtilities, theme }) => {
8
+ addUtilities({
9
+ "@keyframes enter": {
10
+ from: {
11
+ opacity: "var(--animate-enter-opacity, 1)",
12
+ transform: [
13
+ "translate3d(var(--animate-enter-translate-x, 0), var(--animate-enter-translate-y, 0), 0)",
14
+ "scale3d(var(--animate-enter-scale, 1), var(--animate-enter-scale, 1), var(--animate-enter-scale, 1))",
15
+ "rotate(var(--animate-enter-rotate, 0))"
16
+ ].join(" ")
17
+ }
18
+ },
19
+ "@keyframes exit": {
20
+ to: {
21
+ opacity: "var(--animate-exit-opacity, 1)",
22
+ transform: [
23
+ "translate3d(var(--animate-exit-translate-x, 0), var(--animate-exit-translate-y, 0), 0)",
24
+ "scale3d(var(--animate-exit-scale, 1), var(--animate-exit-scale, 1), var(--animate-exit-scale, 1))",
25
+ "rotate(var(--animate-exit-rotate, 0))"
26
+ ].join(" ")
27
+ }
28
+ },
29
+ ".animate-in": {
30
+ animationName: "enter",
31
+ animationDuration: theme("animationDuration.DEFAULT"),
32
+ "--animate-enter-opacity": "initial",
33
+ "--animate-enter-scale": "initial",
34
+ "--animate-enter-rotate": "initial",
35
+ "--animate-enter-translate-x": "initial",
36
+ "--animate-enter-translate-y": "initial"
37
+ },
38
+ ".animate-out": {
39
+ animationName: "exit",
40
+ animationDuration: theme("animationDuration.DEFAULT"),
41
+ "--animate-exit-opacity": "initial",
42
+ "--animate-exit-scale": "initial",
43
+ "--animate-exit-rotate": "initial",
44
+ "--animate-exit-translate-x": "initial",
45
+ "--animate-exit-translate-y": "initial"
46
+ }
47
+ });
48
+ addUtilities({
49
+ ".animation-running": {
50
+ animationPlayState: "running"
51
+ },
52
+ ".animation-paused": {
53
+ animationPlayState: "paused"
54
+ }
55
+ });
56
+ matchUtilities(
57
+ {
58
+ "animation-delay": (value) => ({
59
+ animationDelay: value
60
+ })
61
+ },
62
+ {
63
+ values: theme("animationDelay")
64
+ }
65
+ );
66
+ matchUtilities(
67
+ {
68
+ "animation-direction": (value) => ({
69
+ animationDirection: value
70
+ })
71
+ },
72
+ {
73
+ values: theme("animationDirection")
74
+ }
75
+ );
76
+ matchUtilities(
77
+ {
78
+ "animation-duration": (value) => ({
79
+ animationDuration: value
80
+ })
81
+ },
82
+ {
83
+ values: theme("animationDuration")
84
+ }
85
+ );
86
+ matchUtilities(
87
+ {
88
+ "animation-fill-mode": (value) => ({
89
+ animationFillMode: value
90
+ })
91
+ },
92
+ {
93
+ values: theme("animationFillMode")
94
+ }
95
+ );
96
+ matchUtilities(
97
+ {
98
+ "fade-in": (value) => ({
99
+ "--animate-enter-opacity": value
100
+ }),
101
+ "fade-out": (value) => ({
102
+ "--animate-exit-opacity": value
103
+ })
104
+ },
105
+ {
106
+ values: theme("animationOpacity")
107
+ }
108
+ );
109
+ matchUtilities(
110
+ {
111
+ "animation-repeat": (value) => ({
112
+ animationIterationCount: value
113
+ })
114
+ },
115
+ {
116
+ values: theme("animationRepeat")
117
+ }
118
+ );
119
+ matchUtilities(
120
+ {
121
+ "spin-in": (value) => ({
122
+ "--animate-enter-rotate": value
123
+ }),
124
+ "spin-out": (value) => ({
125
+ "--animate-exit-rotate": value
126
+ })
127
+ },
128
+ {
129
+ values: theme("animationRotate")
130
+ }
131
+ );
132
+ matchUtilities(
133
+ {
134
+ "zoom-in": (value) => ({
135
+ "--animate-enter-scale": value
136
+ }),
137
+ "zoom-out": (value) => ({
138
+ "--animate-exit-scale": value
139
+ })
140
+ },
141
+ {
142
+ values: theme("animationScale")
143
+ }
144
+ );
145
+ matchUtilities(
146
+ {
147
+ "animation-ease": (value) => ({
148
+ animationTimingFunction: value
149
+ })
150
+ },
151
+ {
152
+ values: theme("animationTimingFunction")
153
+ }
154
+ );
155
+ matchUtilities(
156
+ {
157
+ "slide-in-from-top": (value) => ({
158
+ "--animate-enter-translate-y": `-${value}`
159
+ }),
160
+ "slide-in-from-bottom": (value) => ({
161
+ "--animate-enter-translate-y": value
162
+ }),
163
+ "slide-in-from-left": (value) => ({
164
+ "--animate-enter-translate-x": `-${value}`
165
+ }),
166
+ "slide-in-from-right": (value) => ({
167
+ "--animate-enter-translate-x": value
168
+ }),
169
+ "slide-out-to-top": (value) => ({
170
+ "--animate-exit-translate-y": `-${value}`
171
+ }),
172
+ "slide-out-to-bottom": (value) => ({
173
+ "--animate-exit-translate-y": value
174
+ }),
175
+ "slide-out-to-left": (value) => ({
176
+ "--animate-exit-translate-x": `-${value}`
177
+ }),
178
+ "slide-out-to-right": (value) => ({
179
+ "--animate-exit-translate-x": value
180
+ })
181
+ },
182
+ {
183
+ values: theme("animationTranslate")
184
+ }
185
+ );
186
+ },
187
+ {
188
+ theme: {
189
+ extend: {
190
+ animationDelay: ({ theme }) => ({
191
+ ...theme("transitionDelay")
192
+ }),
193
+ animationDirection: {
194
+ normal: "normal",
195
+ reverse: "reverse",
196
+ alternate: "alternate",
197
+ "alternate-reverse": "alternate-reverse"
198
+ },
199
+ animationDuration: ({ theme }) => ({
200
+ ...theme("transitionDuration")
201
+ }),
202
+ animationFillMode: {
203
+ none: "none",
204
+ forwards: "forwards",
205
+ backwards: "backwards",
206
+ both: "both"
207
+ },
208
+ animationOpacity: ({ theme }) => ({
209
+ DEFAULT: 0,
210
+ ...theme("opacity")
211
+ }),
212
+ animationRepeat: {
213
+ 0: "0",
214
+ 1: "1",
215
+ infinite: "infinite"
216
+ },
217
+ animationRotate: ({ theme }) => ({
218
+ DEFAULT: "30deg",
219
+ ...theme("rotate")
220
+ }),
221
+ animationScale: ({ theme }) => ({
222
+ DEFAULT: 0,
223
+ ...theme("scale")
224
+ }),
225
+ animationTimingFunction: ({ theme }) => ({
226
+ ...theme("transitionTimingFunction")
227
+ }),
228
+ animationTranslate: ({ theme }) => ({
229
+ DEFAULT: "100%",
230
+ ...theme("translate")
231
+ })
232
+ }
233
+ }
234
+ }
235
+ );
236
+ var animate_plugin_default = animate;
237
+
238
+ // perspective.plugin.ts
239
+
240
+ var perspective = _plugin2.default.call(void 0, ({ matchUtilities }) => {
241
+ matchUtilities({
242
+ perspective: (value) => ({
243
+ perspective: value
244
+ })
245
+ });
246
+ });
247
+ var perspective_plugin_default = perspective;
248
+
249
+ // tailwind.config.ts
250
+ var config = {
251
+ content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
252
+ darkMode: ["class"],
253
+ plugins: [animate_plugin_default, perspective_plugin_default],
254
+ theme: {
255
+ extend: {
256
+ animation: {
257
+ "accordion-down": "accordion-down 0.2s ease-out",
258
+ "accordion-up": "accordion-up 0.2s ease-out",
259
+ "caret-blink": "caret-blink 1.25s ease-out infinite"
260
+ },
261
+ borderRadius: {
262
+ sm: "calc(var(--radius, 0.25rem) - 0.125px)",
263
+ // 2px
264
+ DEFAULT: "var(--radius, 0.25rem)",
265
+ // 4px
266
+ md: "calc(var(--radius, 0.25rem) + 0.125rem)",
267
+ // 6px
268
+ lg: "calc(var(--radius, 0.25rem) + 0.25rem)",
269
+ // 8px
270
+ xl: "calc(var(--radius, 0.25rem) + 0.5rem)",
271
+ // 12px
272
+ "2xl": "calc(var(--radius, 0.25rem) + 0.75rem)",
273
+ // 16px
274
+ "3xl": "calc(var(--radius, 0.25rem) + 1.25rem)"
275
+ // 24px
276
+ },
277
+ colors: {
278
+ accent: {
279
+ DEFAULT: "hsl(var(--accent))",
280
+ foreground: "hsl(var(--accent-foreground))"
281
+ },
282
+ background: "hsl(var(--background))",
283
+ border: "hsl(var(--border))",
284
+ card: {
285
+ DEFAULT: "hsl(var(--card))",
286
+ foreground: "hsl(var(--card-foreground))"
287
+ },
288
+ compound: "hsl(var(--compound))",
289
+ destructive: {
290
+ DEFAULT: "hsl(var(--destructive))",
291
+ foreground: "hsl(var(--destructive-foreground))"
292
+ },
293
+ foreground: "hsl(var(--foreground))",
294
+ info: {
295
+ DEFAULT: "hsl(var(--info))",
296
+ foreground: "hsl(var(--info-foreground))"
297
+ },
298
+ input: "hsl(var(--input))",
299
+ muted: {
300
+ DEFAULT: "hsl(var(--muted))",
301
+ foreground: "hsl(var(--muted-foreground))"
302
+ },
303
+ popover: {
304
+ DEFAULT: "hsl(var(--popover))",
305
+ foreground: "hsl(var(--popover-foreground))"
306
+ },
307
+ primary: {
308
+ DEFAULT: "hsl(var(--primary))",
309
+ foreground: "hsl(var(--primary-foreground))"
310
+ },
311
+ ring: "hsl(var(--ring))",
312
+ secondary: {
313
+ DEFAULT: "hsl(var(--secondary))",
314
+ foreground: "hsl(var(--secondary-foreground))"
315
+ },
316
+ success: {
317
+ DEFAULT: "hsl(var(--success))",
318
+ foreground: "hsl(var(--success-foreground))"
319
+ },
320
+ warning: {
321
+ DEFAULT: "hsl(var(--warning))",
322
+ foreground: "hsl(var(--warning-foreground))"
323
+ }
324
+ },
325
+ fontFamily: {
326
+ sans: `var(--font-sans, ${_defaultTheme.fontFamily.sans.join(", ")})`
327
+ },
328
+ keyframes: {
329
+ "accordion-down": {
330
+ from: {
331
+ height: "0"
332
+ },
333
+ to: {
334
+ height: "var(--radix-accordion-content-height)"
335
+ }
336
+ },
337
+ "accordion-up": {
338
+ from: {
339
+ height: "var(--radix-accordion-content-height)"
340
+ },
341
+ to: {
342
+ height: "0"
343
+ }
344
+ },
345
+ "caret-blink": {
346
+ "0%,70%,100%": {
347
+ opacity: "1"
348
+ },
349
+ "20%,50%": {
350
+ opacity: "0"
351
+ }
352
+ }
353
+ },
354
+ spacing: {
355
+ 0.75: "0.1875rem"
356
+ // 3px
357
+ },
358
+ transitionDuration: {
359
+ 250: "250ms"
360
+ }
361
+ }
362
+ }
363
+ };
364
+ var tailwind_config_default = config;
365
+
366
+
367
+ exports.default = tailwind_config_default;
368
+ //# sourceMappingURL=tailwind.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../tailwind.config.ts","../animate.plugin.ts","../perspective.plugin.ts"],"names":["plugin"],"mappings":"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","sourcesContent":["import type { Config } from \"tailwindcss\";\nimport { fontFamily } from \"tailwindcss/defaultTheme\";\nimport animate from \"./animate.plugin\";\nimport perspective from \"./perspective.plugin\";\n\nconst config: Config = {\n content: [\"./src/**/*.{js,ts,jsx,tsx,mdx}\"],\n darkMode: [\"class\"],\n plugins: [animate, perspective],\n theme: {\n extend: {\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"caret-blink\": \"caret-blink 1.25s ease-out infinite\",\n },\n borderRadius: {\n sm: \"calc(var(--radius, 0.25rem) - 0.125px)\", // 2px\n DEFAULT: \"var(--radius, 0.25rem)\", // 4px\n md: \"calc(var(--radius, 0.25rem) + 0.125rem)\", // 6px\n lg: \"calc(var(--radius, 0.25rem) + 0.25rem)\", // 8px\n xl: \"calc(var(--radius, 0.25rem) + 0.5rem)\", // 12px\n \"2xl\": \"calc(var(--radius, 0.25rem) + 0.75rem)\", // 16px\n \"3xl\": \"calc(var(--radius, 0.25rem) + 1.25rem)\", // 24px\n },\n colors: {\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n background: \"hsl(var(--background))\",\n border: \"hsl(var(--border))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n compound: \"hsl(var(--compound))\",\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n foreground: \"hsl(var(--foreground))\",\n info: {\n DEFAULT: \"hsl(var(--info))\",\n foreground: \"hsl(var(--info-foreground))\",\n },\n input: \"hsl(var(--input))\",\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n ring: \"hsl(var(--ring))\",\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n success: {\n DEFAULT: \"hsl(var(--success))\",\n foreground: \"hsl(var(--success-foreground))\",\n },\n warning: {\n DEFAULT: \"hsl(var(--warning))\",\n foreground: \"hsl(var(--warning-foreground))\",\n },\n },\n fontFamily: {\n sans: `var(--font-sans, ${fontFamily.sans.join(\", \")})`,\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"caret-blink\": {\n \"0%,70%,100%\": {\n opacity: \"1\",\n },\n \"20%,50%\": {\n opacity: \"0\",\n },\n },\n },\n spacing: {\n 0.75: \"0.1875rem\", // 3px\n },\n transitionDuration: {\n 250: \"250ms\",\n },\n },\n },\n};\n\nexport default config;\n","import plugin from \"tailwindcss/plugin\";\nimport { type Config } from \"tailwindcss/types/config\";\n\ntype Theme = <TDefaultValue = Config[\"theme\"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;\n\nconst animate = plugin(\n ({ addUtilities, matchUtilities, theme }) => {\n addUtilities({\n \"@keyframes enter\": {\n from: {\n opacity: \"var(--animate-enter-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-enter-translate-x, 0), var(--animate-enter-translate-y, 0), 0)\",\n \"scale3d(var(--animate-enter-scale, 1), var(--animate-enter-scale, 1), var(--animate-enter-scale, 1))\",\n \"rotate(var(--animate-enter-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes exit\": {\n to: {\n opacity: \"var(--animate-exit-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-exit-translate-x, 0), var(--animate-exit-translate-y, 0), 0)\",\n \"scale3d(var(--animate-exit-scale, 1), var(--animate-exit-scale, 1), var(--animate-exit-scale, 1))\",\n \"rotate(var(--animate-exit-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \".animate-in\": {\n animationName: \"enter\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-enter-opacity\": \"initial\",\n \"--animate-enter-scale\": \"initial\",\n \"--animate-enter-rotate\": \"initial\",\n \"--animate-enter-translate-x\": \"initial\",\n \"--animate-enter-translate-y\": \"initial\",\n },\n\n \".animate-out\": {\n animationName: \"exit\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-exit-opacity\": \"initial\",\n \"--animate-exit-scale\": \"initial\",\n \"--animate-exit-rotate\": \"initial\",\n \"--animate-exit-translate-x\": \"initial\",\n \"--animate-exit-translate-y\": \"initial\",\n },\n });\n\n addUtilities({\n \".animation-running\": {\n animationPlayState: \"running\",\n },\n \".animation-paused\": {\n animationPlayState: \"paused\",\n },\n });\n\n // Delay\n matchUtilities(\n {\n \"animation-delay\": (value) => ({\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animation-direction\": (value) => ({\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animation-duration\": (value) => ({\n animationDuration: value,\n }),\n },\n {\n values: theme(\"animationDuration\"),\n },\n );\n\n // Fill mode\n matchUtilities(\n {\n \"animation-fill-mode\": (value) => ({\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n \"--animate-enter-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n \"--animate-exit-opacity\": value,\n }),\n },\n {\n values: theme(\"animationOpacity\"),\n },\n );\n\n // Repeat\n matchUtilities(\n {\n \"animation-repeat\": (value) => ({\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n \"--animate-enter-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n \"--animate-exit-rotate\": value,\n }),\n },\n {\n values: theme(\"animationRotate\"),\n },\n );\n\n // Scale - Zoom\n matchUtilities(\n {\n \"zoom-in\": (value) => ({\n \"--animate-enter-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n \"--animate-exit-scale\": value,\n }),\n },\n {\n values: theme(\"animationScale\"),\n },\n );\n\n // Timing function\n matchUtilities(\n {\n \"animation-ease\": (value) => ({\n animationTimingFunction: value,\n }),\n },\n {\n values: theme(\"animationTimingFunction\"),\n },\n );\n\n // Translate - Slide\n matchUtilities(\n {\n \"slide-in-from-top\": (value) => ({\n \"--animate-enter-translate-y\": `-${value}`,\n }),\n\n \"slide-in-from-bottom\": (value) => ({\n \"--animate-enter-translate-y\": value,\n }),\n\n \"slide-in-from-left\": (value) => ({\n \"--animate-enter-translate-x\": `-${value}`,\n }),\n\n \"slide-in-from-right\": (value) => ({\n \"--animate-enter-translate-x\": value,\n }),\n\n \"slide-out-to-top\": (value) => ({\n \"--animate-exit-translate-y\": `-${value}`,\n }),\n\n \"slide-out-to-bottom\": (value) => ({\n \"--animate-exit-translate-y\": value,\n }),\n\n \"slide-out-to-left\": (value) => ({\n \"--animate-exit-translate-x\": `-${value}`,\n }),\n\n \"slide-out-to-right\": (value) => ({\n \"--animate-exit-translate-x\": value,\n }),\n },\n {\n values: theme(\"animationTranslate\"),\n },\n );\n },\n {\n theme: {\n extend: {\n animationDelay: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDelay\"),\n }),\n\n animationDirection: {\n normal: \"normal\",\n reverse: \"reverse\",\n alternate: \"alternate\",\n \"alternate-reverse\": \"alternate-reverse\",\n },\n\n animationDuration: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDuration\"),\n }),\n\n animationFillMode: {\n none: \"none\",\n forwards: \"forwards\",\n backwards: \"backwards\",\n both: \"both\",\n },\n\n animationOpacity: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"opacity\"),\n }),\n\n animationRepeat: {\n 0: \"0\",\n 1: \"1\",\n infinite: \"infinite\",\n },\n\n animationRotate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"30deg\",\n ...theme(\"rotate\"),\n }),\n\n animationScale: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"scale\"),\n }),\n\n animationTimingFunction: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionTimingFunction\"),\n }),\n\n animationTranslate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"100%\",\n ...theme(\"translate\"),\n }),\n },\n },\n },\n);\n\nexport default animate;\n","import plugin from \"tailwindcss/plugin\";\n\nconst perspective = plugin(({ matchUtilities }) => {\n matchUtilities({\n perspective: (value) => ({\n perspective: value,\n }),\n });\n});\n\nexport default perspective;\n"]}
@@ -0,0 +1,368 @@
1
+ // tailwind.config.ts
2
+ import { fontFamily } from "tailwindcss/defaultTheme";
3
+
4
+ // animate.plugin.ts
5
+ import plugin from "tailwindcss/plugin";
6
+ var animate = plugin(
7
+ ({ addUtilities, matchUtilities, theme }) => {
8
+ addUtilities({
9
+ "@keyframes enter": {
10
+ from: {
11
+ opacity: "var(--animate-enter-opacity, 1)",
12
+ transform: [
13
+ "translate3d(var(--animate-enter-translate-x, 0), var(--animate-enter-translate-y, 0), 0)",
14
+ "scale3d(var(--animate-enter-scale, 1), var(--animate-enter-scale, 1), var(--animate-enter-scale, 1))",
15
+ "rotate(var(--animate-enter-rotate, 0))"
16
+ ].join(" ")
17
+ }
18
+ },
19
+ "@keyframes exit": {
20
+ to: {
21
+ opacity: "var(--animate-exit-opacity, 1)",
22
+ transform: [
23
+ "translate3d(var(--animate-exit-translate-x, 0), var(--animate-exit-translate-y, 0), 0)",
24
+ "scale3d(var(--animate-exit-scale, 1), var(--animate-exit-scale, 1), var(--animate-exit-scale, 1))",
25
+ "rotate(var(--animate-exit-rotate, 0))"
26
+ ].join(" ")
27
+ }
28
+ },
29
+ ".animate-in": {
30
+ animationName: "enter",
31
+ animationDuration: theme("animationDuration.DEFAULT"),
32
+ "--animate-enter-opacity": "initial",
33
+ "--animate-enter-scale": "initial",
34
+ "--animate-enter-rotate": "initial",
35
+ "--animate-enter-translate-x": "initial",
36
+ "--animate-enter-translate-y": "initial"
37
+ },
38
+ ".animate-out": {
39
+ animationName: "exit",
40
+ animationDuration: theme("animationDuration.DEFAULT"),
41
+ "--animate-exit-opacity": "initial",
42
+ "--animate-exit-scale": "initial",
43
+ "--animate-exit-rotate": "initial",
44
+ "--animate-exit-translate-x": "initial",
45
+ "--animate-exit-translate-y": "initial"
46
+ }
47
+ });
48
+ addUtilities({
49
+ ".animation-running": {
50
+ animationPlayState: "running"
51
+ },
52
+ ".animation-paused": {
53
+ animationPlayState: "paused"
54
+ }
55
+ });
56
+ matchUtilities(
57
+ {
58
+ "animation-delay": (value) => ({
59
+ animationDelay: value
60
+ })
61
+ },
62
+ {
63
+ values: theme("animationDelay")
64
+ }
65
+ );
66
+ matchUtilities(
67
+ {
68
+ "animation-direction": (value) => ({
69
+ animationDirection: value
70
+ })
71
+ },
72
+ {
73
+ values: theme("animationDirection")
74
+ }
75
+ );
76
+ matchUtilities(
77
+ {
78
+ "animation-duration": (value) => ({
79
+ animationDuration: value
80
+ })
81
+ },
82
+ {
83
+ values: theme("animationDuration")
84
+ }
85
+ );
86
+ matchUtilities(
87
+ {
88
+ "animation-fill-mode": (value) => ({
89
+ animationFillMode: value
90
+ })
91
+ },
92
+ {
93
+ values: theme("animationFillMode")
94
+ }
95
+ );
96
+ matchUtilities(
97
+ {
98
+ "fade-in": (value) => ({
99
+ "--animate-enter-opacity": value
100
+ }),
101
+ "fade-out": (value) => ({
102
+ "--animate-exit-opacity": value
103
+ })
104
+ },
105
+ {
106
+ values: theme("animationOpacity")
107
+ }
108
+ );
109
+ matchUtilities(
110
+ {
111
+ "animation-repeat": (value) => ({
112
+ animationIterationCount: value
113
+ })
114
+ },
115
+ {
116
+ values: theme("animationRepeat")
117
+ }
118
+ );
119
+ matchUtilities(
120
+ {
121
+ "spin-in": (value) => ({
122
+ "--animate-enter-rotate": value
123
+ }),
124
+ "spin-out": (value) => ({
125
+ "--animate-exit-rotate": value
126
+ })
127
+ },
128
+ {
129
+ values: theme("animationRotate")
130
+ }
131
+ );
132
+ matchUtilities(
133
+ {
134
+ "zoom-in": (value) => ({
135
+ "--animate-enter-scale": value
136
+ }),
137
+ "zoom-out": (value) => ({
138
+ "--animate-exit-scale": value
139
+ })
140
+ },
141
+ {
142
+ values: theme("animationScale")
143
+ }
144
+ );
145
+ matchUtilities(
146
+ {
147
+ "animation-ease": (value) => ({
148
+ animationTimingFunction: value
149
+ })
150
+ },
151
+ {
152
+ values: theme("animationTimingFunction")
153
+ }
154
+ );
155
+ matchUtilities(
156
+ {
157
+ "slide-in-from-top": (value) => ({
158
+ "--animate-enter-translate-y": `-${value}`
159
+ }),
160
+ "slide-in-from-bottom": (value) => ({
161
+ "--animate-enter-translate-y": value
162
+ }),
163
+ "slide-in-from-left": (value) => ({
164
+ "--animate-enter-translate-x": `-${value}`
165
+ }),
166
+ "slide-in-from-right": (value) => ({
167
+ "--animate-enter-translate-x": value
168
+ }),
169
+ "slide-out-to-top": (value) => ({
170
+ "--animate-exit-translate-y": `-${value}`
171
+ }),
172
+ "slide-out-to-bottom": (value) => ({
173
+ "--animate-exit-translate-y": value
174
+ }),
175
+ "slide-out-to-left": (value) => ({
176
+ "--animate-exit-translate-x": `-${value}`
177
+ }),
178
+ "slide-out-to-right": (value) => ({
179
+ "--animate-exit-translate-x": value
180
+ })
181
+ },
182
+ {
183
+ values: theme("animationTranslate")
184
+ }
185
+ );
186
+ },
187
+ {
188
+ theme: {
189
+ extend: {
190
+ animationDelay: ({ theme }) => ({
191
+ ...theme("transitionDelay")
192
+ }),
193
+ animationDirection: {
194
+ normal: "normal",
195
+ reverse: "reverse",
196
+ alternate: "alternate",
197
+ "alternate-reverse": "alternate-reverse"
198
+ },
199
+ animationDuration: ({ theme }) => ({
200
+ ...theme("transitionDuration")
201
+ }),
202
+ animationFillMode: {
203
+ none: "none",
204
+ forwards: "forwards",
205
+ backwards: "backwards",
206
+ both: "both"
207
+ },
208
+ animationOpacity: ({ theme }) => ({
209
+ DEFAULT: 0,
210
+ ...theme("opacity")
211
+ }),
212
+ animationRepeat: {
213
+ 0: "0",
214
+ 1: "1",
215
+ infinite: "infinite"
216
+ },
217
+ animationRotate: ({ theme }) => ({
218
+ DEFAULT: "30deg",
219
+ ...theme("rotate")
220
+ }),
221
+ animationScale: ({ theme }) => ({
222
+ DEFAULT: 0,
223
+ ...theme("scale")
224
+ }),
225
+ animationTimingFunction: ({ theme }) => ({
226
+ ...theme("transitionTimingFunction")
227
+ }),
228
+ animationTranslate: ({ theme }) => ({
229
+ DEFAULT: "100%",
230
+ ...theme("translate")
231
+ })
232
+ }
233
+ }
234
+ }
235
+ );
236
+ var animate_plugin_default = animate;
237
+
238
+ // perspective.plugin.ts
239
+ import plugin2 from "tailwindcss/plugin";
240
+ var perspective = plugin2(({ matchUtilities }) => {
241
+ matchUtilities({
242
+ perspective: (value) => ({
243
+ perspective: value
244
+ })
245
+ });
246
+ });
247
+ var perspective_plugin_default = perspective;
248
+
249
+ // tailwind.config.ts
250
+ var config = {
251
+ content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
252
+ darkMode: ["class"],
253
+ plugins: [animate_plugin_default, perspective_plugin_default],
254
+ theme: {
255
+ extend: {
256
+ animation: {
257
+ "accordion-down": "accordion-down 0.2s ease-out",
258
+ "accordion-up": "accordion-up 0.2s ease-out",
259
+ "caret-blink": "caret-blink 1.25s ease-out infinite"
260
+ },
261
+ borderRadius: {
262
+ sm: "calc(var(--radius, 0.25rem) - 0.125px)",
263
+ // 2px
264
+ DEFAULT: "var(--radius, 0.25rem)",
265
+ // 4px
266
+ md: "calc(var(--radius, 0.25rem) + 0.125rem)",
267
+ // 6px
268
+ lg: "calc(var(--radius, 0.25rem) + 0.25rem)",
269
+ // 8px
270
+ xl: "calc(var(--radius, 0.25rem) + 0.5rem)",
271
+ // 12px
272
+ "2xl": "calc(var(--radius, 0.25rem) + 0.75rem)",
273
+ // 16px
274
+ "3xl": "calc(var(--radius, 0.25rem) + 1.25rem)"
275
+ // 24px
276
+ },
277
+ colors: {
278
+ accent: {
279
+ DEFAULT: "hsl(var(--accent))",
280
+ foreground: "hsl(var(--accent-foreground))"
281
+ },
282
+ background: "hsl(var(--background))",
283
+ border: "hsl(var(--border))",
284
+ card: {
285
+ DEFAULT: "hsl(var(--card))",
286
+ foreground: "hsl(var(--card-foreground))"
287
+ },
288
+ compound: "hsl(var(--compound))",
289
+ destructive: {
290
+ DEFAULT: "hsl(var(--destructive))",
291
+ foreground: "hsl(var(--destructive-foreground))"
292
+ },
293
+ foreground: "hsl(var(--foreground))",
294
+ info: {
295
+ DEFAULT: "hsl(var(--info))",
296
+ foreground: "hsl(var(--info-foreground))"
297
+ },
298
+ input: "hsl(var(--input))",
299
+ muted: {
300
+ DEFAULT: "hsl(var(--muted))",
301
+ foreground: "hsl(var(--muted-foreground))"
302
+ },
303
+ popover: {
304
+ DEFAULT: "hsl(var(--popover))",
305
+ foreground: "hsl(var(--popover-foreground))"
306
+ },
307
+ primary: {
308
+ DEFAULT: "hsl(var(--primary))",
309
+ foreground: "hsl(var(--primary-foreground))"
310
+ },
311
+ ring: "hsl(var(--ring))",
312
+ secondary: {
313
+ DEFAULT: "hsl(var(--secondary))",
314
+ foreground: "hsl(var(--secondary-foreground))"
315
+ },
316
+ success: {
317
+ DEFAULT: "hsl(var(--success))",
318
+ foreground: "hsl(var(--success-foreground))"
319
+ },
320
+ warning: {
321
+ DEFAULT: "hsl(var(--warning))",
322
+ foreground: "hsl(var(--warning-foreground))"
323
+ }
324
+ },
325
+ fontFamily: {
326
+ sans: `var(--font-sans, ${fontFamily.sans.join(", ")})`
327
+ },
328
+ keyframes: {
329
+ "accordion-down": {
330
+ from: {
331
+ height: "0"
332
+ },
333
+ to: {
334
+ height: "var(--radix-accordion-content-height)"
335
+ }
336
+ },
337
+ "accordion-up": {
338
+ from: {
339
+ height: "var(--radix-accordion-content-height)"
340
+ },
341
+ to: {
342
+ height: "0"
343
+ }
344
+ },
345
+ "caret-blink": {
346
+ "0%,70%,100%": {
347
+ opacity: "1"
348
+ },
349
+ "20%,50%": {
350
+ opacity: "0"
351
+ }
352
+ }
353
+ },
354
+ spacing: {
355
+ 0.75: "0.1875rem"
356
+ // 3px
357
+ },
358
+ transitionDuration: {
359
+ 250: "250ms"
360
+ }
361
+ }
362
+ }
363
+ };
364
+ var tailwind_config_default = config;
365
+ export {
366
+ tailwind_config_default as default
367
+ };
368
+ //# sourceMappingURL=tailwind.config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../tailwind.config.ts","../animate.plugin.ts","../perspective.plugin.ts"],"sourcesContent":["import type { Config } from \"tailwindcss\";\nimport { fontFamily } from \"tailwindcss/defaultTheme\";\nimport animate from \"./animate.plugin\";\nimport perspective from \"./perspective.plugin\";\n\nconst config: Config = {\n content: [\"./src/**/*.{js,ts,jsx,tsx,mdx}\"],\n darkMode: [\"class\"],\n plugins: [animate, perspective],\n theme: {\n extend: {\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"caret-blink\": \"caret-blink 1.25s ease-out infinite\",\n },\n borderRadius: {\n sm: \"calc(var(--radius, 0.25rem) - 0.125px)\", // 2px\n DEFAULT: \"var(--radius, 0.25rem)\", // 4px\n md: \"calc(var(--radius, 0.25rem) + 0.125rem)\", // 6px\n lg: \"calc(var(--radius, 0.25rem) + 0.25rem)\", // 8px\n xl: \"calc(var(--radius, 0.25rem) + 0.5rem)\", // 12px\n \"2xl\": \"calc(var(--radius, 0.25rem) + 0.75rem)\", // 16px\n \"3xl\": \"calc(var(--radius, 0.25rem) + 1.25rem)\", // 24px\n },\n colors: {\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n background: \"hsl(var(--background))\",\n border: \"hsl(var(--border))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n compound: \"hsl(var(--compound))\",\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n foreground: \"hsl(var(--foreground))\",\n info: {\n DEFAULT: \"hsl(var(--info))\",\n foreground: \"hsl(var(--info-foreground))\",\n },\n input: \"hsl(var(--input))\",\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n ring: \"hsl(var(--ring))\",\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n success: {\n DEFAULT: \"hsl(var(--success))\",\n foreground: \"hsl(var(--success-foreground))\",\n },\n warning: {\n DEFAULT: \"hsl(var(--warning))\",\n foreground: \"hsl(var(--warning-foreground))\",\n },\n },\n fontFamily: {\n sans: `var(--font-sans, ${fontFamily.sans.join(\", \")})`,\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"caret-blink\": {\n \"0%,70%,100%\": {\n opacity: \"1\",\n },\n \"20%,50%\": {\n opacity: \"0\",\n },\n },\n },\n spacing: {\n 0.75: \"0.1875rem\", // 3px\n },\n transitionDuration: {\n 250: \"250ms\",\n },\n },\n },\n};\n\nexport default config;\n","import plugin from \"tailwindcss/plugin\";\nimport { type Config } from \"tailwindcss/types/config\";\n\ntype Theme = <TDefaultValue = Config[\"theme\"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;\n\nconst animate = plugin(\n ({ addUtilities, matchUtilities, theme }) => {\n addUtilities({\n \"@keyframes enter\": {\n from: {\n opacity: \"var(--animate-enter-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-enter-translate-x, 0), var(--animate-enter-translate-y, 0), 0)\",\n \"scale3d(var(--animate-enter-scale, 1), var(--animate-enter-scale, 1), var(--animate-enter-scale, 1))\",\n \"rotate(var(--animate-enter-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes exit\": {\n to: {\n opacity: \"var(--animate-exit-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-exit-translate-x, 0), var(--animate-exit-translate-y, 0), 0)\",\n \"scale3d(var(--animate-exit-scale, 1), var(--animate-exit-scale, 1), var(--animate-exit-scale, 1))\",\n \"rotate(var(--animate-exit-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \".animate-in\": {\n animationName: \"enter\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-enter-opacity\": \"initial\",\n \"--animate-enter-scale\": \"initial\",\n \"--animate-enter-rotate\": \"initial\",\n \"--animate-enter-translate-x\": \"initial\",\n \"--animate-enter-translate-y\": \"initial\",\n },\n\n \".animate-out\": {\n animationName: \"exit\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-exit-opacity\": \"initial\",\n \"--animate-exit-scale\": \"initial\",\n \"--animate-exit-rotate\": \"initial\",\n \"--animate-exit-translate-x\": \"initial\",\n \"--animate-exit-translate-y\": \"initial\",\n },\n });\n\n addUtilities({\n \".animation-running\": {\n animationPlayState: \"running\",\n },\n \".animation-paused\": {\n animationPlayState: \"paused\",\n },\n });\n\n // Delay\n matchUtilities(\n {\n \"animation-delay\": (value) => ({\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animation-direction\": (value) => ({\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animation-duration\": (value) => ({\n animationDuration: value,\n }),\n },\n {\n values: theme(\"animationDuration\"),\n },\n );\n\n // Fill mode\n matchUtilities(\n {\n \"animation-fill-mode\": (value) => ({\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n \"--animate-enter-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n \"--animate-exit-opacity\": value,\n }),\n },\n {\n values: theme(\"animationOpacity\"),\n },\n );\n\n // Repeat\n matchUtilities(\n {\n \"animation-repeat\": (value) => ({\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n \"--animate-enter-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n \"--animate-exit-rotate\": value,\n }),\n },\n {\n values: theme(\"animationRotate\"),\n },\n );\n\n // Scale - Zoom\n matchUtilities(\n {\n \"zoom-in\": (value) => ({\n \"--animate-enter-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n \"--animate-exit-scale\": value,\n }),\n },\n {\n values: theme(\"animationScale\"),\n },\n );\n\n // Timing function\n matchUtilities(\n {\n \"animation-ease\": (value) => ({\n animationTimingFunction: value,\n }),\n },\n {\n values: theme(\"animationTimingFunction\"),\n },\n );\n\n // Translate - Slide\n matchUtilities(\n {\n \"slide-in-from-top\": (value) => ({\n \"--animate-enter-translate-y\": `-${value}`,\n }),\n\n \"slide-in-from-bottom\": (value) => ({\n \"--animate-enter-translate-y\": value,\n }),\n\n \"slide-in-from-left\": (value) => ({\n \"--animate-enter-translate-x\": `-${value}`,\n }),\n\n \"slide-in-from-right\": (value) => ({\n \"--animate-enter-translate-x\": value,\n }),\n\n \"slide-out-to-top\": (value) => ({\n \"--animate-exit-translate-y\": `-${value}`,\n }),\n\n \"slide-out-to-bottom\": (value) => ({\n \"--animate-exit-translate-y\": value,\n }),\n\n \"slide-out-to-left\": (value) => ({\n \"--animate-exit-translate-x\": `-${value}`,\n }),\n\n \"slide-out-to-right\": (value) => ({\n \"--animate-exit-translate-x\": value,\n }),\n },\n {\n values: theme(\"animationTranslate\"),\n },\n );\n },\n {\n theme: {\n extend: {\n animationDelay: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDelay\"),\n }),\n\n animationDirection: {\n normal: \"normal\",\n reverse: \"reverse\",\n alternate: \"alternate\",\n \"alternate-reverse\": \"alternate-reverse\",\n },\n\n animationDuration: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDuration\"),\n }),\n\n animationFillMode: {\n none: \"none\",\n forwards: \"forwards\",\n backwards: \"backwards\",\n both: \"both\",\n },\n\n animationOpacity: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"opacity\"),\n }),\n\n animationRepeat: {\n 0: \"0\",\n 1: \"1\",\n infinite: \"infinite\",\n },\n\n animationRotate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"30deg\",\n ...theme(\"rotate\"),\n }),\n\n animationScale: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"scale\"),\n }),\n\n animationTimingFunction: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionTimingFunction\"),\n }),\n\n animationTranslate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"100%\",\n ...theme(\"translate\"),\n }),\n },\n },\n },\n);\n\nexport default animate;\n","import plugin from \"tailwindcss/plugin\";\n\nconst perspective = plugin(({ matchUtilities }) => {\n matchUtilities({\n perspective: (value) => ({\n perspective: value,\n }),\n });\n});\n\nexport default perspective;\n"],"mappings":"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","names":["plugin"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codefast/ui",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "license": "MIT",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -321,12 +321,18 @@
321
321
  "import": "./dist/utils.mjs",
322
322
  "require": "./dist/utils.js"
323
323
  },
324
- "./styles.css": "./dist/styles.css",
325
- "./tailwind.config": "./tailwind.config.ts"
324
+ "./tailwind.config": {
325
+ "types": "./tailwind.config.ts",
326
+ "import": "./dist/tailwind.config.mjs",
327
+ "require": "./dist/tailwind.config.js"
328
+ },
329
+ "./styles.css": "./dist/styles.css"
326
330
  },
327
331
  "files": [
328
332
  "dist",
329
333
  "src",
334
+ "animate.plugin.ts",
335
+ "perspective.plugin.ts",
330
336
  "tailwind.config.ts"
331
337
  ],
332
338
  "dependencies": {
@@ -388,7 +394,7 @@
388
394
  "tailwindcss": "^3.4.3",
389
395
  "tsup": "^8.0.2",
390
396
  "typescript": "^5.4.5",
391
- "@codefast/eslint-config": "0.0.16",
397
+ "@codefast/eslint-config": "0.0.17",
392
398
  "@codefast/typescript-config": "0.0.2"
393
399
  },
394
400
  "peerDependencies": {
@@ -0,0 +1,11 @@
1
+ import plugin from "tailwindcss/plugin";
2
+
3
+ const perspective = plugin(({ matchUtilities }) => {
4
+ matchUtilities({
5
+ perspective: (value) => ({
6
+ perspective: value,
7
+ }),
8
+ });
9
+ });
10
+
11
+ export default perspective;
@@ -1,21 +1,12 @@
1
1
  import type { Config } from "tailwindcss";
2
2
  import { fontFamily } from "tailwindcss/defaultTheme";
3
- import plugin from "tailwindcss/plugin";
4
- import tailwindcssAnimate from "./animate.plugin";
3
+ import animate from "./animate.plugin";
4
+ import perspective from "./perspective.plugin";
5
5
 
6
6
  const config: Config = {
7
7
  content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
8
8
  darkMode: ["class"],
9
- plugins: [
10
- tailwindcssAnimate,
11
- plugin(({ matchUtilities }) => {
12
- matchUtilities({
13
- perspective: (value) => ({
14
- perspective: value,
15
- }),
16
- });
17
- }),
18
- ],
9
+ plugins: [animate, perspective],
19
10
  theme: {
20
11
  extend: {
21
12
  animation: {