@codefast/ui 0.0.25 → 0.0.27

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/animate.plugin.ts CHANGED
@@ -62,6 +62,7 @@ const animate = plugin(
62
62
  matchUtilities(
63
63
  {
64
64
  "animation-delay": (value) => ({
65
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
65
66
  animationDelay: value,
66
67
  }),
67
68
  },
@@ -74,6 +75,7 @@ const animate = plugin(
74
75
  matchUtilities(
75
76
  {
76
77
  "animation-direction": (value) => ({
78
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
77
79
  animationDirection: value,
78
80
  }),
79
81
  },
@@ -86,6 +88,7 @@ const animate = plugin(
86
88
  matchUtilities(
87
89
  {
88
90
  "animation-duration": (value) => ({
91
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
89
92
  animationDuration: value,
90
93
  }),
91
94
  },
@@ -98,6 +101,7 @@ const animate = plugin(
98
101
  matchUtilities(
99
102
  {
100
103
  "animation-fill-mode": (value) => ({
104
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
101
105
  animationFillMode: value,
102
106
  }),
103
107
  },
@@ -110,9 +114,11 @@ const animate = plugin(
110
114
  matchUtilities(
111
115
  {
112
116
  "fade-in": (value) => ({
117
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
113
118
  "--animate-enter-opacity": value,
114
119
  }),
115
120
  "fade-out": (value) => ({
121
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
116
122
  "--animate-exit-opacity": value,
117
123
  }),
118
124
  },
@@ -125,6 +131,7 @@ const animate = plugin(
125
131
  matchUtilities(
126
132
  {
127
133
  "animation-repeat": (value) => ({
134
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
128
135
  animationIterationCount: value,
129
136
  }),
130
137
  },
@@ -137,9 +144,11 @@ const animate = plugin(
137
144
  matchUtilities(
138
145
  {
139
146
  "spin-in": (value) => ({
147
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
140
148
  "--animate-enter-rotate": value,
141
149
  }),
142
150
  "spin-out": (value) => ({
151
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
143
152
  "--animate-exit-rotate": value,
144
153
  }),
145
154
  },
@@ -152,9 +161,11 @@ const animate = plugin(
152
161
  matchUtilities(
153
162
  {
154
163
  "zoom-in": (value) => ({
164
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
155
165
  "--animate-enter-scale": value,
156
166
  }),
157
167
  "zoom-out": (value) => ({
168
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
158
169
  "--animate-exit-scale": value,
159
170
  }),
160
171
  },
@@ -167,6 +178,7 @@ const animate = plugin(
167
178
  matchUtilities(
168
179
  {
169
180
  "animation-ease": (value) => ({
181
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
170
182
  animationTimingFunction: value,
171
183
  }),
172
184
  },
@@ -183,6 +195,7 @@ const animate = plugin(
183
195
  }),
184
196
 
185
197
  "slide-in-from-bottom": (value) => ({
198
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
186
199
  "--animate-enter-translate-y": value,
187
200
  }),
188
201
 
@@ -191,6 +204,7 @@ const animate = plugin(
191
204
  }),
192
205
 
193
206
  "slide-in-from-right": (value) => ({
207
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
194
208
  "--animate-enter-translate-x": value,
195
209
  }),
196
210
 
@@ -199,6 +213,7 @@ const animate = plugin(
199
213
  }),
200
214
 
201
215
  "slide-out-to-bottom": (value) => ({
216
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
202
217
  "--animate-exit-translate-y": value,
203
218
  }),
204
219
 
@@ -207,6 +222,7 @@ const animate = plugin(
207
222
  }),
208
223
 
209
224
  "slide-out-to-right": (value) => ({
225
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
210
226
  "--animate-exit-translate-x": value,
211
227
  }),
212
228
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport { type SortDirection } from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"ml-auto hidden h-8 lg:flex\">\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div className={cn(\"flex items-center justify-between px-2\", className)} {...props}>\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={className}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"xs\" className=\"data-[state=open]:bg-accent -ml-3\">\n <span>{title}</span>\n <SortIcon sorted={column.getIsSorted()} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | SortDirection }): React.JSX.Element {\n switch (sorted) {\n case \"desc\":\n return <ArrowDownIcon className=\"ml-2 size-4\" />;\n case \"asc\":\n return <ArrowUpIcon className=\"ml-2 size-4\" />;\n default:\n return <CaretSortIcon className=\"ml-2 size-4\" />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n"]}
1
+ {"version":3,"sources":["../src/data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"ml-auto hidden h-8 lg:flex\">\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div className={cn(\"flex items-center justify-between px-2\", className)} {...props}>\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={className}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"xs\" className=\"data-[state=open]:bg-accent -ml-3\">\n <span>{title}</span>\n <SortIcon sorted={column.getIsSorted()} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): React.JSX.Element {\n switch (sorted) {\n case \"desc\":\n return <ArrowDownIcon className=\"ml-2 size-4\" />;\n case \"asc\":\n return <ArrowUpIcon className=\"ml-2 size-4\" />;\n default:\n return <CaretSortIcon className=\"ml-2 size-4\" />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-table.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport { type SortDirection } from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"ml-auto hidden h-8 lg:flex\">\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div className={cn(\"flex items-center justify-between px-2\", className)} {...props}>\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={className}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"xs\" className=\"data-[state=open]:bg-accent -ml-3\">\n <span>{title}</span>\n <SortIcon sorted={column.getIsSorted()} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | SortDirection }): React.JSX.Element {\n switch (sorted) {\n case \"desc\":\n return <ArrowDownIcon className=\"ml-2 size-4\" />;\n case \"asc\":\n return <ArrowUpIcon className=\"ml-2 size-4\" />;\n default:\n return <CaretSortIcon className=\"ml-2 size-4\" />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/data-table.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"ml-auto hidden h-8 lg:flex\">\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div className={cn(\"flex items-center justify-between px-2\", className)} {...props}>\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={className}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"xs\" className=\"data-[state=open]:bg-accent -ml-3\">\n <span>{title}</span>\n <SortIcon sorted={column.getIsSorted()} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): React.JSX.Element {\n switch (sorted) {\n case \"desc\":\n return <ArrowDownIcon className=\"ml-2 size-4\" />;\n case \"asc\":\n return <ArrowUpIcon className=\"ml-2 size-4\" />;\n default:\n return <CaretSortIcon className=\"ml-2 size-4\" />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n"],"mappings":"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","names":[]}
@@ -56,6 +56,7 @@ var animate = _plugin2.default.call(void 0,
56
56
  matchUtilities(
57
57
  {
58
58
  "animation-delay": (value) => ({
59
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
59
60
  animationDelay: value
60
61
  })
61
62
  },
@@ -66,6 +67,7 @@ var animate = _plugin2.default.call(void 0,
66
67
  matchUtilities(
67
68
  {
68
69
  "animation-direction": (value) => ({
70
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
69
71
  animationDirection: value
70
72
  })
71
73
  },
@@ -76,6 +78,7 @@ var animate = _plugin2.default.call(void 0,
76
78
  matchUtilities(
77
79
  {
78
80
  "animation-duration": (value) => ({
81
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
79
82
  animationDuration: value
80
83
  })
81
84
  },
@@ -86,6 +89,7 @@ var animate = _plugin2.default.call(void 0,
86
89
  matchUtilities(
87
90
  {
88
91
  "animation-fill-mode": (value) => ({
92
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
89
93
  animationFillMode: value
90
94
  })
91
95
  },
@@ -96,9 +100,11 @@ var animate = _plugin2.default.call(void 0,
96
100
  matchUtilities(
97
101
  {
98
102
  "fade-in": (value) => ({
103
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
99
104
  "--animate-enter-opacity": value
100
105
  }),
101
106
  "fade-out": (value) => ({
107
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
102
108
  "--animate-exit-opacity": value
103
109
  })
104
110
  },
@@ -109,6 +115,7 @@ var animate = _plugin2.default.call(void 0,
109
115
  matchUtilities(
110
116
  {
111
117
  "animation-repeat": (value) => ({
118
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
112
119
  animationIterationCount: value
113
120
  })
114
121
  },
@@ -119,9 +126,11 @@ var animate = _plugin2.default.call(void 0,
119
126
  matchUtilities(
120
127
  {
121
128
  "spin-in": (value) => ({
129
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
122
130
  "--animate-enter-rotate": value
123
131
  }),
124
132
  "spin-out": (value) => ({
133
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
125
134
  "--animate-exit-rotate": value
126
135
  })
127
136
  },
@@ -132,9 +141,11 @@ var animate = _plugin2.default.call(void 0,
132
141
  matchUtilities(
133
142
  {
134
143
  "zoom-in": (value) => ({
144
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
135
145
  "--animate-enter-scale": value
136
146
  }),
137
147
  "zoom-out": (value) => ({
148
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
138
149
  "--animate-exit-scale": value
139
150
  })
140
151
  },
@@ -145,6 +156,7 @@ var animate = _plugin2.default.call(void 0,
145
156
  matchUtilities(
146
157
  {
147
158
  "animation-ease": (value) => ({
159
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
148
160
  animationTimingFunction: value
149
161
  })
150
162
  },
@@ -158,24 +170,28 @@ var animate = _plugin2.default.call(void 0,
158
170
  "--animate-enter-translate-y": `-${value}`
159
171
  }),
160
172
  "slide-in-from-bottom": (value) => ({
173
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
161
174
  "--animate-enter-translate-y": value
162
175
  }),
163
176
  "slide-in-from-left": (value) => ({
164
177
  "--animate-enter-translate-x": `-${value}`
165
178
  }),
166
179
  "slide-in-from-right": (value) => ({
180
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
167
181
  "--animate-enter-translate-x": value
168
182
  }),
169
183
  "slide-out-to-top": (value) => ({
170
184
  "--animate-exit-translate-y": `-${value}`
171
185
  }),
172
186
  "slide-out-to-bottom": (value) => ({
187
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
173
188
  "--animate-exit-translate-y": value
174
189
  }),
175
190
  "slide-out-to-left": (value) => ({
176
191
  "--animate-exit-translate-x": `-${value}`
177
192
  }),
178
193
  "slide-out-to-right": (value) => ({
194
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
179
195
  "--animate-exit-translate-x": value
180
196
  })
181
197
  },
@@ -1 +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"]}
1
+ {"version":3,"sources":["../tailwind.config.ts","../animate.plugin.ts","../perspective.plugin.ts"],"names":["plugin"],"mappings":";AACA,SAAS,kBAAkB;;;ACD3B,OAAO,YAAY;AAKnB,IAAM,UAAU;AAAA,EACd,CAAC,EAAE,cAAc,gBAAgB,MAAM,MAAM;AAC3C,iBAAa;AAAA,MACX,oBAAoB;AAAA,QAClB,MAAM;AAAA,UACJ,SAAS;AAAA,UACT,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF,EAAE,KAAK,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAEA,mBAAmB;AAAA,QACjB,IAAI;AAAA,UACF,SAAS;AAAA,UACT,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF,EAAE,KAAK,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAEA,eAAe;AAAA,QACb,eAAe;AAAA,QACf,mBAAmB,MAAM,2BAA2B;AAAA,QACpD,2BAA2B;AAAA,QAC3B,yBAAyB;AAAA,QACzB,0BAA0B;AAAA,QAC1B,+BAA+B;AAAA,QAC/B,+BAA+B;AAAA,MACjC;AAAA,MAEA,gBAAgB;AAAA,QACd,eAAe;AAAA,QACf,mBAAmB,MAAM,2BAA2B;AAAA,QACpD,0BAA0B;AAAA,QAC1B,wBAAwB;AAAA,QACxB,yBAAyB;AAAA,QACzB,8BAA8B;AAAA,QAC9B,8BAA8B;AAAA,MAChC;AAAA,IACF,CAAC;AAED,iBAAa;AAAA,MACX,sBAAsB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,MACA,qBAAqB;AAAA,QACnB,oBAAoB;AAAA,MACtB;AAAA,IACF,CAAC;AAGD;AAAA,MACE;AAAA,QACE,mBAAmB,CAAC,WAAW;AAAA;AAAA,UAE7B,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,gBAAgB;AAAA,MAChC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,uBAAuB,CAAC,WAAW;AAAA;AAAA,UAEjC,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,oBAAoB;AAAA,MACpC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,sBAAsB,CAAC,WAAW;AAAA;AAAA,UAEhC,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,mBAAmB;AAAA,MACnC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,uBAAuB,CAAC,WAAW;AAAA;AAAA,UAEjC,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,mBAAmB;AAAA,MACnC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,WAAW,CAAC,WAAW;AAAA;AAAA,UAErB,2BAA2B;AAAA,QAC7B;AAAA,QACA,YAAY,CAAC,WAAW;AAAA;AAAA,UAEtB,0BAA0B;AAAA,QAC5B;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,kBAAkB;AAAA,MAClC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,oBAAoB,CAAC,WAAW;AAAA;AAAA,UAE9B,yBAAyB;AAAA,QAC3B;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,iBAAiB;AAAA,MACjC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,WAAW,CAAC,WAAW;AAAA;AAAA,UAErB,0BAA0B;AAAA,QAC5B;AAAA,QACA,YAAY,CAAC,WAAW;AAAA;AAAA,UAEtB,yBAAyB;AAAA,QAC3B;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,iBAAiB;AAAA,MACjC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,WAAW,CAAC,WAAW;AAAA;AAAA,UAErB,yBAAyB;AAAA,QAC3B;AAAA,QACA,YAAY,CAAC,WAAW;AAAA;AAAA,UAEtB,wBAAwB;AAAA,QAC1B;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,gBAAgB;AAAA,MAChC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,kBAAkB,CAAC,WAAW;AAAA;AAAA,UAE5B,yBAAyB;AAAA,QAC3B;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,yBAAyB;AAAA,MACzC;AAAA,IACF;AAGA;AAAA,MACE;AAAA,QACE,qBAAqB,CAAC,WAAW;AAAA,UAC/B,+BAA+B,IAAI,KAAK;AAAA,QAC1C;AAAA,QAEA,wBAAwB,CAAC,WAAW;AAAA;AAAA,UAElC,+BAA+B;AAAA,QACjC;AAAA,QAEA,sBAAsB,CAAC,WAAW;AAAA,UAChC,+BAA+B,IAAI,KAAK;AAAA,QAC1C;AAAA,QAEA,uBAAuB,CAAC,WAAW;AAAA;AAAA,UAEjC,+BAA+B;AAAA,QACjC;AAAA,QAEA,oBAAoB,CAAC,WAAW;AAAA,UAC9B,8BAA8B,IAAI,KAAK;AAAA,QACzC;AAAA,QAEA,uBAAuB,CAAC,WAAW;AAAA;AAAA,UAEjC,8BAA8B;AAAA,QAChC;AAAA,QAEA,qBAAqB,CAAC,WAAW;AAAA,UAC/B,8BAA8B,IAAI,KAAK;AAAA,QACzC;AAAA,QAEA,sBAAsB,CAAC,WAAW;AAAA;AAAA,UAEhC,8BAA8B;AAAA,QAChC;AAAA,MACF;AAAA,MACA;AAAA,QACE,QAAQ,MAAM,oBAAoB;AAAA,MACpC;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,QAAQ;AAAA,QACN,gBAAgB,CAAC,EAAE,MAAM,OAAyB;AAAA,UAChD,GAAG,MAAM,iBAAiB;AAAA,QAC5B;AAAA,QAEA,oBAAoB;AAAA,UAClB,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,qBAAqB;AAAA,QACvB;AAAA,QAEA,mBAAmB,CAAC,EAAE,MAAM,OAAyB;AAAA,UACnD,GAAG,MAAM,oBAAoB;AAAA,QAC/B;AAAA,QAEA,mBAAmB;AAAA,UACjB,MAAM;AAAA,UACN,UAAU;AAAA,UACV,WAAW;AAAA,UACX,MAAM;AAAA,QACR;AAAA,QAEA,kBAAkB,CAAC,EAAE,MAAM,OAAyB;AAAA,UAClD,SAAS;AAAA,UACT,GAAG,MAAM,SAAS;AAAA,QACpB;AAAA,QAEA,iBAAiB;AAAA,UACf,GAAG;AAAA,UACH,GAAG;AAAA,UACH,UAAU;AAAA,QACZ;AAAA,QAEA,iBAAiB,CAAC,EAAE,MAAM,OAAyB;AAAA,UACjD,SAAS;AAAA,UACT,GAAG,MAAM,QAAQ;AAAA,QACnB;AAAA,QAEA,gBAAgB,CAAC,EAAE,MAAM,OAAyB;AAAA,UAChD,SAAS;AAAA,UACT,GAAG,MAAM,OAAO;AAAA,QAClB;AAAA,QAEA,yBAAyB,CAAC,EAAE,MAAM,OAAyB;AAAA,UACzD,GAAG,MAAM,0BAA0B;AAAA,QACrC;AAAA,QAEA,oBAAoB,CAAC,EAAE,MAAM,OAAyB;AAAA,UACpD,SAAS;AAAA,UACT,GAAG,MAAM,WAAW;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,yBAAQ;;;ACpSf,OAAOA,aAAY;AAEnB,IAAM,cAAcA,QAAO,CAAC,EAAE,eAAe,MAAM;AACjD,iBAAe;AAAA,IACb,aAAa,CAAC,WAAW;AAAA,MACvB,aAAa;AAAA,IACf;AAAA,EACF,CAAC;AACH,CAAC;AAED,IAAO,6BAAQ;;;AFLf,IAAM,SAAiB;AAAA,EACrB,SAAS,CAAC,gCAAgC;AAAA,EAC1C,UAAU,CAAC,OAAO;AAAA,EAClB,SAAS,CAAC,wBAAS,0BAAW;AAAA,EAC9B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,QAChB,eAAe;AAAA,MACjB;AAAA,MACA,cAAc;AAAA,QACZ,IAAI;AAAA;AAAA,QACJ,SAAS;AAAA;AAAA,QACT,IAAI;AAAA;AAAA,QACJ,IAAI;AAAA;AAAA,QACJ,IAAI;AAAA;AAAA,QACJ,OAAO;AAAA;AAAA,QACP,OAAO;AAAA;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,UAAU;AAAA,QACV,aAAa;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,YAAY;AAAA,QACZ,MAAM;AAAA,UACJ,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,MAAM;AAAA,QACN,WAAW;AAAA,UACT,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,MAAM,oBAAoB,WAAW,KAAK,KAAK,IAAI,CAAC;AAAA,MACtD;AAAA,MACA,WAAW;AAAA,QACT,kBAAkB;AAAA,UAChB,MAAM;AAAA,YACJ,QAAQ;AAAA,UACV;AAAA,UACA,IAAI;AAAA,YACF,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,YACJ,QAAQ;AAAA,UACV;AAAA,UACA,IAAI;AAAA,YACF,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,eAAe;AAAA,UACb,eAAe;AAAA,YACb,SAAS;AAAA,UACX;AAAA,UACA,WAAW;AAAA,YACT,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA;AAAA,MACR;AAAA,MACA,oBAAoB;AAAA,QAClB,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,0BAAQ","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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animation-direction\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animation-duration\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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"]}
@@ -56,6 +56,7 @@ var animate = plugin(
56
56
  matchUtilities(
57
57
  {
58
58
  "animation-delay": (value) => ({
59
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
59
60
  animationDelay: value
60
61
  })
61
62
  },
@@ -66,6 +67,7 @@ var animate = plugin(
66
67
  matchUtilities(
67
68
  {
68
69
  "animation-direction": (value) => ({
70
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
69
71
  animationDirection: value
70
72
  })
71
73
  },
@@ -76,6 +78,7 @@ var animate = plugin(
76
78
  matchUtilities(
77
79
  {
78
80
  "animation-duration": (value) => ({
81
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
79
82
  animationDuration: value
80
83
  })
81
84
  },
@@ -86,6 +89,7 @@ var animate = plugin(
86
89
  matchUtilities(
87
90
  {
88
91
  "animation-fill-mode": (value) => ({
92
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
89
93
  animationFillMode: value
90
94
  })
91
95
  },
@@ -96,9 +100,11 @@ var animate = plugin(
96
100
  matchUtilities(
97
101
  {
98
102
  "fade-in": (value) => ({
103
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
99
104
  "--animate-enter-opacity": value
100
105
  }),
101
106
  "fade-out": (value) => ({
107
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
102
108
  "--animate-exit-opacity": value
103
109
  })
104
110
  },
@@ -109,6 +115,7 @@ var animate = plugin(
109
115
  matchUtilities(
110
116
  {
111
117
  "animation-repeat": (value) => ({
118
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
112
119
  animationIterationCount: value
113
120
  })
114
121
  },
@@ -119,9 +126,11 @@ var animate = plugin(
119
126
  matchUtilities(
120
127
  {
121
128
  "spin-in": (value) => ({
129
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
122
130
  "--animate-enter-rotate": value
123
131
  }),
124
132
  "spin-out": (value) => ({
133
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
125
134
  "--animate-exit-rotate": value
126
135
  })
127
136
  },
@@ -132,9 +141,11 @@ var animate = plugin(
132
141
  matchUtilities(
133
142
  {
134
143
  "zoom-in": (value) => ({
144
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
135
145
  "--animate-enter-scale": value
136
146
  }),
137
147
  "zoom-out": (value) => ({
148
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
138
149
  "--animate-exit-scale": value
139
150
  })
140
151
  },
@@ -145,6 +156,7 @@ var animate = plugin(
145
156
  matchUtilities(
146
157
  {
147
158
  "animation-ease": (value) => ({
159
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
148
160
  animationTimingFunction: value
149
161
  })
150
162
  },
@@ -158,24 +170,28 @@ var animate = plugin(
158
170
  "--animate-enter-translate-y": `-${value}`
159
171
  }),
160
172
  "slide-in-from-bottom": (value) => ({
173
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
161
174
  "--animate-enter-translate-y": value
162
175
  }),
163
176
  "slide-in-from-left": (value) => ({
164
177
  "--animate-enter-translate-x": `-${value}`
165
178
  }),
166
179
  "slide-in-from-right": (value) => ({
180
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
167
181
  "--animate-enter-translate-x": value
168
182
  }),
169
183
  "slide-out-to-top": (value) => ({
170
184
  "--animate-exit-translate-y": `-${value}`
171
185
  }),
172
186
  "slide-out-to-bottom": (value) => ({
187
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
173
188
  "--animate-exit-translate-y": value
174
189
  }),
175
190
  "slide-out-to-left": (value) => ({
176
191
  "--animate-exit-translate-x": `-${value}`
177
192
  }),
178
193
  "slide-out-to-right": (value) => ({
194
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
179
195
  "--animate-exit-translate-x": value
180
196
  })
181
197
  },
@@ -1 +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"]}
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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animation-direction\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animation-duration\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-enter-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\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.25",
3
+ "version": "0.0.27",
4
4
  "license": "MIT",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -394,21 +394,17 @@
394
394
  "tailwindcss": "^3.4.3",
395
395
  "tsup": "^8.0.2",
396
396
  "typescript": "^5.4.5",
397
- "@codefast/eslint-config": "0.0.17",
397
+ "@codefast/eslint-config": "0.0.18",
398
398
  "@codefast/typescript-config": "0.0.2"
399
399
  },
400
400
  "peerDependencies": {
401
- "@types/react": "*",
402
- "@types/react-dom": "*",
403
- "react": "^18.0",
404
- "react-dom": "^18.0"
401
+ "@types/react": "^18.2.79",
402
+ "react": "^18.2.0",
403
+ "tailwindcss": "^3.4.3"
405
404
  },
406
405
  "peerDependenciesMeta": {
407
406
  "@types/react": {
408
407
  "optional": true
409
- },
410
- "@types/react-dom": {
411
- "optional": true
412
408
  }
413
409
  },
414
410
  "publishConfig": {
@@ -2,7 +2,6 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import type * as ReactTable from "@tanstack/react-table";
5
- import { type SortDirection } from "@tanstack/react-table";
6
5
  import {
7
6
  ArrowDownIcon,
8
7
  ArrowUpIcon,
@@ -223,7 +222,7 @@ function DataTableColumnHeader<TData, TValue>({
223
222
  );
224
223
  }
225
224
 
226
- function SortIcon({ sorted }: { sorted: false | SortDirection }): React.JSX.Element {
225
+ function SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): React.JSX.Element {
227
226
  switch (sorted) {
228
227
  case "desc":
229
228
  return <ArrowDownIcon className="ml-2 size-4" />;