create-nextjs-cms 0.5.20 → 0.5.23
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/package.json +5 -5
- package/templates/default/_gitignore +1 -1
- package/templates/default/app/(auth)/auth/login/LoginPage.tsx +5 -5
- package/templates/default/app/api/video/route.ts +1 -1
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/LICENSE +191 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/README.md +118 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/install/build.js +38 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/install/check.js +14 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/channel.js +177 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/colour.js +195 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/composite.js +212 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/constructor.js +499 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/index.d.ts +1971 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/index.js +16 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/input.js +809 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/is.js +143 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/libvips.js +207 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/operation.js +1016 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/output.js +1666 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/resize.js +595 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/sharp.js +121 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/lib/utility.js +291 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/package.json +202 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/binding.gyp +298 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/common.cc +1130 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/common.h +402 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/metadata.cc +346 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/metadata.h +90 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/operations.cc +499 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/operations.h +137 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/pipeline.cc +1814 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/pipeline.h +408 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/sharp.cc +43 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/stats.cc +186 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/stats.h +62 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/utilities.cc +288 -0
- package/templates/default/apps/cms/node_modules/next/node_modules/sharp/src/utilities.h +22 -0
- package/templates/default/apps/cms/node_modules/sharp/LICENSE +191 -0
- package/templates/default/apps/cms/node_modules/sharp/README.md +118 -0
- package/templates/default/apps/cms/node_modules/sharp/install/check.js +41 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/channel.js +174 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/colour.js +180 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/composite.js +210 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/constructor.js +452 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/index.d.ts +1754 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/index.js +16 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/input.js +658 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/is.js +169 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/libvips.js +203 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/operation.js +958 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/output.js +1587 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/resize.js +587 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/sharp.js +114 -0
- package/templates/default/apps/cms/node_modules/sharp/lib/utility.js +296 -0
- package/templates/default/apps/cms/node_modules/sharp/package.json +222 -0
- package/templates/default/apps/cms/node_modules/sharp/src/binding.gyp +280 -0
- package/templates/default/apps/cms/node_modules/sharp/src/common.cc +1091 -0
- package/templates/default/apps/cms/node_modules/sharp/src/common.h +393 -0
- package/templates/default/apps/cms/node_modules/sharp/src/metadata.cc +320 -0
- package/templates/default/apps/cms/node_modules/sharp/src/metadata.h +85 -0
- package/templates/default/apps/cms/node_modules/sharp/src/operations.cc +475 -0
- package/templates/default/apps/cms/node_modules/sharp/src/operations.h +125 -0
- package/templates/default/apps/cms/node_modules/sharp/src/pipeline.cc +1758 -0
- package/templates/default/apps/cms/node_modules/sharp/src/pipeline.h +393 -0
- package/templates/default/apps/cms/node_modules/sharp/src/sharp.cc +40 -0
- package/templates/default/apps/cms/node_modules/sharp/src/stats.cc +183 -0
- package/templates/default/apps/cms/node_modules/sharp/src/stats.h +59 -0
- package/templates/default/apps/cms/node_modules/sharp/src/utilities.cc +269 -0
- package/templates/default/apps/cms/node_modules/sharp/src/utilities.h +19 -0
- package/templates/default/components/AdminCard.tsx +1 -1
- package/templates/default/components/AdminsPage.tsx +1 -1
- package/templates/default/components/AdvancedSettingsPage.tsx +1 -1
- package/templates/default/components/AnalyticsPage.tsx +1 -1
- package/templates/default/components/BrowsePage.tsx +2 -2
- package/templates/default/components/CategorizedSectionPage.tsx +3 -3
- package/templates/default/components/CategoryDeleteConfirmPage.tsx +4 -4
- package/templates/default/components/CategorySectionSelectInput.tsx +1 -1
- package/templates/default/components/ContainerBox.tsx +1 -1
- package/templates/default/components/DashboardPage.tsx +1 -1
- package/templates/default/components/EmailCard.tsx +1 -1
- package/templates/default/components/EmailPasswordForm.tsx +2 -2
- package/templates/default/components/EmailQuotaForm.tsx +1 -1
- package/templates/default/components/EmailsPage.tsx +1 -1
- package/templates/default/components/GalleryPhoto.tsx +1 -1
- package/templates/default/components/ItemEditPage.tsx +2 -2
- package/templates/default/components/Layout.tsx +1 -1
- package/templates/default/components/LogPage.tsx +1 -1
- package/templates/default/components/Navbar.tsx +2 -2
- package/templates/default/components/NavbarAlt.tsx +6 -6
- package/templates/default/components/NewAdminForm.tsx +2 -2
- package/templates/default/components/NewEmailForm.tsx +3 -3
- package/templates/default/components/NewPage.tsx +2 -2
- package/templates/default/components/NewVariantComponent.tsx +1 -1
- package/templates/default/components/SectionItemCard.tsx +1 -1
- package/templates/default/components/SectionItemStatusBadge.tsx +1 -1
- package/templates/default/components/SectionPage.tsx +2 -2
- package/templates/default/components/SelectBox.tsx +2 -2
- package/templates/default/components/SettingsPage.tsx +1 -1
- package/templates/default/components/Sidebar.tsx +3 -3
- package/templates/default/components/VariantEditPage.tsx +2 -2
- package/templates/default/components/form/Form.tsx +1 -1
- package/templates/default/components/form/FormInputElement.tsx +1 -1
- package/templates/default/components/form/helpers/{_section-hot-reload.ts → _section-hot-reload.js} +1 -1
- package/templates/default/components/form/helpers/util.ts +1 -1
- package/templates/default/components/form/inputs/ColorFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/DateFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/DocumentFormInput.tsx +3 -3
- package/templates/default/components/form/inputs/NumberFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/PasswordFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/PhotoFormInput.tsx +4 -4
- package/templates/default/components/form/inputs/SelectFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/TagsFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/TextFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/TextareaFormInput.tsx +1 -1
- package/templates/default/components/form/inputs/VideoFormInput.tsx +3 -3
- package/templates/default/components/ui/badge.tsx +6 -6
- package/templates/default/components/ui/button.tsx +5 -5
- package/templates/default/components/ui/card.tsx +1 -1
- package/templates/default/components/ui/checkbox.tsx +1 -1
- package/templates/default/components/ui/dropdown-menu.tsx +6 -6
- package/templates/default/components/ui/input.tsx +1 -1
- package/templates/default/components/ui/popover.tsx +1 -1
- package/templates/default/components/ui/scroll-area.tsx +2 -2
- package/templates/default/components/ui/select.tsx +4 -4
- package/templates/default/components/ui/sheet.tsx +1 -1
- package/templates/default/components/ui/switch.tsx +1 -1
- package/templates/default/components/ui/table.tsx +3 -3
- package/templates/default/components/ui/tabs.tsx +2 -2
- package/templates/default/components/ui/toast.tsx +4 -4
- package/templates/default/eslint.config.mjs +38 -0
- package/templates/default/lz.config.ts +25 -17
- package/templates/default/next-env.d.ts +1 -1
- package/templates/default/package.json +24 -33
- package/templates/default/postcss.config.mjs +7 -0
- package/templates/default/{middleware.ts → proxy.ts} +2 -3
- package/templates/default/styles/globals.css +107 -4
- package/templates/default/tsconfig.json +45 -44
- package/templates/default/postcss.config.js +0 -6
- package/templates/default/tailwind.config.js +0 -95
|
@@ -67,7 +67,7 @@ export default function SectionItemCard({
|
|
|
67
67
|
|
|
68
68
|
return (
|
|
69
69
|
<>
|
|
70
|
-
<Card className='relative mx-auto w-full max-w-md overflow-hidden rounded-lg border-secondary-foreground pb-[85px] shadow'>
|
|
70
|
+
<Card className='relative mx-auto w-full max-w-md overflow-hidden rounded-lg border-secondary-foreground pb-[85px] shadow-sm'>
|
|
71
71
|
{item.coverPhoto ? (
|
|
72
72
|
<div className='relative h-[200px]'>
|
|
73
73
|
{[0, 1].includes(item.permission) ? <SectionItemStatusBadge status={item.permission} /> : null}
|
|
@@ -6,7 +6,7 @@ const SectionItemStatusBadge = ({ status }: { status: number }) => {
|
|
|
6
6
|
return (
|
|
7
7
|
<Badge
|
|
8
8
|
variant={status === 1 ? 'success' : 'destructive'}
|
|
9
|
-
className='absolute top-3 shadow left-3 z-30 font-bold'
|
|
9
|
+
className='absolute top-3 shadow-sm left-3 z-30 font-bold'
|
|
10
10
|
>
|
|
11
11
|
{status === 1 ? getString('approved') : getString('pending_approval')}
|
|
12
12
|
</Badge>
|
|
@@ -100,8 +100,8 @@ export default function SectionPage({ section }: { section: string }) {
|
|
|
100
100
|
{isError ? <div>{error?.message}</div> : null}
|
|
101
101
|
{data ? (
|
|
102
102
|
<div className='flex w-full flex-col'>
|
|
103
|
-
<div className='relative z-
|
|
104
|
-
<div className='absolute left-0 top-0 z-
|
|
103
|
+
<div className='relative z-1 border-b-2 p-8 pt-12 font-extrabold text-foreground'>
|
|
104
|
+
<div className='absolute left-0 top-0 z-2 h-4 w-full bg-linear-to-r from-emerald-800 via-emerald-400 to-sky-600'></div>
|
|
105
105
|
<h1 className='pb-4 text-4xl'>{data.section?.title}</h1>
|
|
106
106
|
<span>
|
|
107
107
|
/{getString('edit')} {data.section?.title}
|
|
@@ -44,7 +44,7 @@ export default function SelectBox({
|
|
|
44
44
|
<>
|
|
45
45
|
{/*<Listbox.Label className='block text-sm font-medium leading-6 text-gray-900'>Fabrics</Listbox.Label>*/}
|
|
46
46
|
<div className={`relative ${classname}`}>
|
|
47
|
-
<ListboxButton className='relative w-full cursor-default rounded bg-input p-3 pe-1 ps-1 text-start text-foreground shadow-
|
|
47
|
+
<ListboxButton className='relative w-full cursor-default rounded bg-input p-3 pe-1 ps-1 text-start text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-sm sm:leading-6'>
|
|
48
48
|
<span className='ml-3 block truncate'>{selected?.label ? selected.label : ''}</span>
|
|
49
49
|
<span className='pointer-events-none absolute inset-y-0 right-0 ml-3 flex items-center pr-2'>
|
|
50
50
|
<ChevronDownIcon className='h-5 w-5 text-gray-400' aria-hidden='true' />
|
|
@@ -58,7 +58,7 @@ export default function SelectBox({
|
|
|
58
58
|
leaveFrom='opacity-100'
|
|
59
59
|
leaveTo='opacity-0'
|
|
60
60
|
>
|
|
61
|
-
<ListboxOptions className='absolute z-40 mt-1 max-h-56 w-full overflow-auto rounded-md border bg-background py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-
|
|
61
|
+
<ListboxOptions className='absolute z-40 mt-1 max-h-56 w-full overflow-auto rounded-md border bg-background py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-hidden sm:text-sm'>
|
|
62
62
|
{items.map((item: SelectOption, index: number) => (
|
|
63
63
|
<ListboxOption
|
|
64
64
|
key={`${item.label}-${index}`}
|
|
@@ -113,7 +113,7 @@ export default function SettingsPage() {
|
|
|
113
113
|
return (
|
|
114
114
|
<div>
|
|
115
115
|
<div className='w-full overflow-hidden bg-background'>
|
|
116
|
-
<div className='bg-
|
|
116
|
+
<div className='bg-linear-to-r from-rose-200 via-rose-400 to-sky-400 p-8 font-extrabold text-black'>
|
|
117
117
|
<h1 className='text-3xl'>{getString('accountSettings')}</h1>
|
|
118
118
|
</div>
|
|
119
119
|
<div className='flex w-full flex-col'>
|
|
@@ -32,7 +32,7 @@ const Sidebar = (props: SidebarProps) => {
|
|
|
32
32
|
return (
|
|
33
33
|
<div
|
|
34
34
|
className={classNames({
|
|
35
|
-
'fixed z-20 h-full bg-
|
|
35
|
+
'fixed z-20 h-full bg-linear-to-br from-indigo-600 to-sky-500 text-zinc-50 dark:from-slate-950 dark:to-pink-950 md:translate-x-0':
|
|
36
36
|
true,
|
|
37
37
|
'transition-all duration-100 ease-in-out': true,
|
|
38
38
|
'w-[300px] md:w-[275px]': true,
|
|
@@ -55,7 +55,7 @@ const Sidebar = (props: SidebarProps) => {
|
|
|
55
55
|
LAZEMNI
|
|
56
56
|
</span>
|
|
57
57
|
</div>
|
|
58
|
-
<ScrollArea type='always' className='
|
|
58
|
+
<ScrollArea type='always' className='grow'>
|
|
59
59
|
<ul
|
|
60
60
|
className={classNames({
|
|
61
61
|
'my-2 flex flex-col items-stretch gap-2': true,
|
|
@@ -182,7 +182,7 @@ const Sidebar = (props: SidebarProps) => {
|
|
|
182
182
|
width={40}
|
|
183
183
|
height={40}
|
|
184
184
|
// fill={true}
|
|
185
|
-
className='rounded-full ring ring-foreground'
|
|
185
|
+
className='rounded-full ring-3 ring-foreground'
|
|
186
186
|
/>
|
|
187
187
|
) : (
|
|
188
188
|
<Image
|
|
@@ -154,7 +154,7 @@ export default function VariantEditPage({
|
|
|
154
154
|
<div>
|
|
155
155
|
<div className='w-full overflow-hidden'>
|
|
156
156
|
<form onSubmit={handleSubmit}>
|
|
157
|
-
<div className='bg-
|
|
157
|
+
<div className='bg-linear-to-r from-sky-200 via-emerald-300 to-blue-600 p-8 font-extrabold text-black'>
|
|
158
158
|
{data && data.variant && (
|
|
159
159
|
<>
|
|
160
160
|
<h1 className='pb-4 text-4xl'>{data?.variant?.variant_html_name_en}</h1>
|
|
@@ -200,7 +200,7 @@ export default function VariantEditPage({
|
|
|
200
200
|
<div className='mt-5'>
|
|
201
201
|
<button
|
|
202
202
|
className={classNames({
|
|
203
|
-
'w-full rounded bg-
|
|
203
|
+
'w-full rounded bg-linear-to-r p-2 font-bold text-white drop-shadow-sm':
|
|
204
204
|
true,
|
|
205
205
|
'from-emerald-700 via-green-700 to-green-500': !isSubmitting,
|
|
206
206
|
'from-gray-600 via-gray-500 to-gray-400': isSubmitting,
|
|
@@ -263,7 +263,7 @@ export default function Form({
|
|
|
263
263
|
className={classNames({
|
|
264
264
|
'w-full': buttonType === 'big',
|
|
265
265
|
'float-end': buttonType === 'small',
|
|
266
|
-
'rounded bg-
|
|
266
|
+
'rounded bg-linear-to-r px-4 py-2 font-bold text-white drop-shadow-sm':
|
|
267
267
|
true,
|
|
268
268
|
'from-emerald-700 via-green-700 to-green-500 dark:from-blue-800 dark:via-sky-800 dark:to-slate-500':
|
|
269
269
|
!isSubmitting,
|
|
@@ -53,7 +53,7 @@ export default function FormInputElement({
|
|
|
53
53
|
})}
|
|
54
54
|
>
|
|
55
55
|
{readonly ? (
|
|
56
|
-
<div className='w-full rounded bg-input p-3 text-foreground shadow-
|
|
56
|
+
<div className='w-full rounded bg-input p-3 text-foreground shadow-xs outline-0'>{value}</div>
|
|
57
57
|
) : (
|
|
58
58
|
<>
|
|
59
59
|
{children}
|
|
@@ -9,7 +9,7 @@ try {
|
|
|
9
9
|
// Try to import the auto-generated file from root
|
|
10
10
|
// Using dynamic require to handle missing file gracefully
|
|
11
11
|
// @/ alias resolves to the app root directory
|
|
12
|
-
const sectionInfo = require('./_section-hot-reload.
|
|
12
|
+
const sectionInfo = require('./_section-hot-reload.js')
|
|
13
13
|
sectionSchemaLastUpdated = sectionInfo?.sectionSchemaLastUpdated ?? Date.now()
|
|
14
14
|
} catch {
|
|
15
15
|
// If file doesn't exist or can't be loaded, use current timestamp as fallback
|
|
@@ -37,7 +37,7 @@ export default function ColorFormInput({ input }: { input: ColorFieldClientConfi
|
|
|
37
37
|
onBlur={field.onBlur}
|
|
38
38
|
value={field.value}
|
|
39
39
|
ref={field.ref}
|
|
40
|
-
className='h-10 w-full rounded bg-input p-1 text-foreground shadow-
|
|
40
|
+
className='h-10 w-full rounded bg-input p-1 text-foreground shadow-xs outline-0 ring-2 ring-blue-300 focus:ring-blue-500'
|
|
41
41
|
/>
|
|
42
42
|
</FormInputElement>
|
|
43
43
|
)
|
|
@@ -69,7 +69,7 @@ export default function DateFormInput({ input }: { input: DateFieldClientConfig
|
|
|
69
69
|
<Button
|
|
70
70
|
variant={'outline'}
|
|
71
71
|
className={cn(
|
|
72
|
-
'min-w-[250px] justify-start rounded bg-input px-3 py-6 text-start font-normal text-foreground shadow-
|
|
72
|
+
'min-w-[250px] justify-start rounded bg-input px-3 py-6 text-start font-normal text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:ring-blue-500',
|
|
73
73
|
!date && 'text-muted-foreground',
|
|
74
74
|
)}
|
|
75
75
|
>
|
|
@@ -44,7 +44,7 @@ export default function DocumentFormInput({
|
|
|
44
44
|
file={input.value}
|
|
45
45
|
width={450}
|
|
46
46
|
height={620}
|
|
47
|
-
className='mb-4 rounded p-1 ring ring-gray-400'
|
|
47
|
+
className='mb-4 rounded p-1 ring-3 ring-gray-400'
|
|
48
48
|
/>
|
|
49
49
|
)
|
|
50
50
|
|
|
@@ -79,7 +79,7 @@ export default function DocumentFormInput({
|
|
|
79
79
|
/>
|
|
80
80
|
<embed
|
|
81
81
|
src={image}
|
|
82
|
-
className='mb-4 max-w-full rounded p-1 ring ring-green-600'
|
|
82
|
+
className='mb-4 max-w-full rounded p-1 ring-3 ring-green-600'
|
|
83
83
|
width={350}
|
|
84
84
|
height={520}
|
|
85
85
|
/>
|
|
@@ -105,7 +105,7 @@ export default function DocumentFormInput({
|
|
|
105
105
|
<div className='w-full flex-1 md:flex-[0.5]'>
|
|
106
106
|
<button
|
|
107
107
|
type='button'
|
|
108
|
-
className='w-full rounded border bg-
|
|
108
|
+
className='w-full rounded border bg-linear-to-r from-blue-700 to-sky-500 p-2 text-center text-sm font-bold uppercase text-white drop-shadow-sm'
|
|
109
109
|
onClick={() => {
|
|
110
110
|
if (fileInputContainerRef.current?.firstChild) {
|
|
111
111
|
;(fileInputContainerRef.current.firstChild as HTMLInputElement).click()
|
|
@@ -35,7 +35,7 @@ export default function NumberFormInput({ input }: { input: NumberFieldClientCon
|
|
|
35
35
|
onBlur={field.onBlur}
|
|
36
36
|
value={field.value}
|
|
37
37
|
ref={field.ref}
|
|
38
|
-
className='w-full rounded bg-input p-3 text-foreground shadow-
|
|
38
|
+
className='w-full rounded bg-input p-3 text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:ring-blue-500'
|
|
39
39
|
/>
|
|
40
40
|
</FormInputElement>
|
|
41
41
|
)
|
|
@@ -40,7 +40,7 @@ export default function PasswordFormInput({
|
|
|
40
40
|
onBlur={field.onBlur}
|
|
41
41
|
value={field.value}
|
|
42
42
|
ref={field.ref}
|
|
43
|
-
className='w-full rounded bg-input p-3 text-foreground shadow-
|
|
43
|
+
className='w-full rounded bg-input p-3 text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:ring-blue-500'
|
|
44
44
|
/>
|
|
45
45
|
</FormInputElement>
|
|
46
46
|
)
|
|
@@ -47,7 +47,7 @@ export default function PhotoFormInput({ input, sectionName }: { input: PhotoFie
|
|
|
47
47
|
alt={'admin'}
|
|
48
48
|
width={imageWidth}
|
|
49
49
|
height={imageHeight}
|
|
50
|
-
className='rounded p-1 ring ring-gray-400'
|
|
50
|
+
className='rounded p-1 ring-3 ring-gray-400'
|
|
51
51
|
/>
|
|
52
52
|
)
|
|
53
53
|
|
|
@@ -123,7 +123,7 @@ export default function PhotoFormInput({ input, sectionName }: { input: PhotoFie
|
|
|
123
123
|
}}
|
|
124
124
|
/>
|
|
125
125
|
<Image
|
|
126
|
-
className='mb-4 rounded p-1 ring ring-green-600'
|
|
126
|
+
className='mb-4 rounded p-1 ring-3 ring-green-600'
|
|
127
127
|
src={image}
|
|
128
128
|
alt='new'
|
|
129
129
|
fill={true}
|
|
@@ -156,7 +156,7 @@ export default function PhotoFormInput({ input, sectionName }: { input: PhotoFie
|
|
|
156
156
|
<div className='w-[400px] max-w-full'>
|
|
157
157
|
<button
|
|
158
158
|
type='button'
|
|
159
|
-
className='flex w-full flex-wrap items-center justify-center gap-1.5 rounded border bg-
|
|
159
|
+
className='flex w-full flex-wrap items-center justify-center gap-1.5 rounded border bg-linear-to-r from-red-600 to-amber-500 p-2 text-center text-sm font-bold uppercase text-white drop-shadow-sm hover:from-red-400 hover:to-amber-400'
|
|
160
160
|
onClick={() => {
|
|
161
161
|
setModal({
|
|
162
162
|
title: getString('deletePhoto'),
|
|
@@ -196,7 +196,7 @@ export default function PhotoFormInput({ input, sectionName }: { input: PhotoFie
|
|
|
196
196
|
<div className='dark:border-neutral my-2 flex w-[400px] max-w-full flex-col gap-1 rounded-lg border border-gray-400 p-2'>
|
|
197
197
|
<button
|
|
198
198
|
type='button'
|
|
199
|
-
className='flex w-full flex-wrap items-center justify-center gap-1.5 rounded border bg-
|
|
199
|
+
className='flex w-full flex-wrap items-center justify-center gap-1.5 rounded border bg-linear-to-r from-blue-700 to-sky-500 p-2 text-center text-sm font-bold uppercase text-white drop-shadow-sm hover:from-blue-500 hover:to-sky-400'
|
|
200
200
|
onClick={() => {
|
|
201
201
|
if (fileInputContainerRef.current?.firstChild) {
|
|
202
202
|
;(fileInputContainerRef.current.firstChild as HTMLInputElement).click()
|
|
@@ -42,7 +42,7 @@ export default function TagsFormInput({ input }: { input: TagsFieldClientConfig
|
|
|
42
42
|
<TextField
|
|
43
43
|
{...params}
|
|
44
44
|
label={input.label}
|
|
45
|
-
// className='ring-2 outline-0 focus:ring-blue-500 hover:ring-gray-400 ring-gray-300 shadow-
|
|
45
|
+
// className='ring-2 outline-0 focus:ring-blue-500 hover:ring-gray-400 ring-gray-300 shadow-xs rounded w-full bg-input text-foreground'
|
|
46
46
|
placeholder={input.placeholder ? input.placeholder : getString('start_typing')}
|
|
47
47
|
/>
|
|
48
48
|
)}
|
|
@@ -41,7 +41,7 @@ export default function TextFormInput({
|
|
|
41
41
|
onBlur={field.onBlur}
|
|
42
42
|
value={field.value}
|
|
43
43
|
ref={field.ref}
|
|
44
|
-
className='w-full rounded bg-input p-3 text-foreground shadow-
|
|
44
|
+
className='w-full rounded bg-input p-3 text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:ring-blue-500'
|
|
45
45
|
/>
|
|
46
46
|
</FormInputElement>
|
|
47
47
|
)
|
|
@@ -40,7 +40,7 @@ export default function TextareaFormInput({
|
|
|
40
40
|
onBlur={field.onBlur}
|
|
41
41
|
value={field.value}
|
|
42
42
|
ref={field.ref}
|
|
43
|
-
className='h-[150px] w-full rounded bg-input p-3 text-foreground shadow-
|
|
43
|
+
className='h-[150px] w-full rounded bg-input p-3 text-foreground shadow-xs outline-0 ring-2 ring-gray-300 hover:ring-gray-400 focus:ring-blue-500'
|
|
44
44
|
></textarea>
|
|
45
45
|
</FormInputElement>
|
|
46
46
|
)
|
|
@@ -38,7 +38,7 @@ export default function VideoFormInput({ input, sectionName }: { input: VideoFie
|
|
|
38
38
|
file={input.value}
|
|
39
39
|
width={400}
|
|
40
40
|
height={280}
|
|
41
|
-
className='mb-4 rounded p-1 ring ring-gray-400'
|
|
41
|
+
className='mb-4 rounded p-1 ring-3 ring-gray-400'
|
|
42
42
|
/>
|
|
43
43
|
)
|
|
44
44
|
|
|
@@ -72,7 +72,7 @@ export default function VideoFormInput({ input, sectionName }: { input: VideoFie
|
|
|
72
72
|
/>
|
|
73
73
|
<embed
|
|
74
74
|
src={image}
|
|
75
|
-
className='mb-4 max-w-full rounded p-1 ring ring-green-600'
|
|
75
|
+
className='mb-4 max-w-full rounded p-1 ring-3 ring-green-600'
|
|
76
76
|
width={300}
|
|
77
77
|
height={190}
|
|
78
78
|
/>
|
|
@@ -98,7 +98,7 @@ export default function VideoFormInput({ input, sectionName }: { input: VideoFie
|
|
|
98
98
|
<div className='w-full flex-1 md:flex-[0.5]'>
|
|
99
99
|
<button
|
|
100
100
|
type='button'
|
|
101
|
-
className='w-full rounded border bg-
|
|
101
|
+
className='w-full rounded border bg-linear-to-r from-blue-700 to-sky-500 p-2 text-center text-sm font-bold uppercase text-white drop-shadow-sm'
|
|
102
102
|
onClick={() => {
|
|
103
103
|
if (fileInputContainerRef.current?.firstChild) {
|
|
104
104
|
;(fileInputContainerRef.current.firstChild as HTMLInputElement).click()
|
|
@@ -4,18 +4,18 @@ import { cva, type VariantProps } from 'class-variance-authority'
|
|
|
4
4
|
import { cn } from 'nextjs-cms/utils'
|
|
5
5
|
|
|
6
6
|
const badgeVariants = cva(
|
|
7
|
-
'inline-flex items-center rounded-md border px-1.5 py-0.5 text-xs font-semibold transition-colors focus:outline-
|
|
7
|
+
'inline-flex items-center rounded-md border px-1.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2',
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
11
|
-
default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',
|
|
11
|
+
default: 'border-transparent bg-primary text-primary-foreground shadow-sm hover:bg-primary/80',
|
|
12
12
|
secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
13
13
|
destructive:
|
|
14
|
-
'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',
|
|
14
|
+
'border-transparent bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/80',
|
|
15
15
|
outline: 'text-foreground',
|
|
16
|
-
primary: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',
|
|
17
|
-
success: 'border-transparent bg-success text-success-foreground shadow hover:bg-success/80',
|
|
18
|
-
warning: 'border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80',
|
|
16
|
+
primary: 'border-transparent bg-primary text-primary-foreground shadow-sm hover:bg-primary/80',
|
|
17
|
+
success: 'border-transparent bg-success text-success-foreground shadow-sm hover:bg-success/80',
|
|
18
|
+
warning: 'border-transparent bg-warning text-warning-foreground shadow-sm hover:bg-warning/80',
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
defaultVariants: {
|
|
@@ -5,18 +5,18 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
5
5
|
import { cn } from 'nextjs-cms/utils'
|
|
6
6
|
|
|
7
7
|
const buttonVariants = cva(
|
|
8
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-
|
|
8
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
variant: {
|
|
12
12
|
default:
|
|
13
|
-
"bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
13
|
+
"bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
|
|
14
14
|
destructive:
|
|
15
|
-
"bg-destructive text-destructive-foreground shadow-
|
|
15
|
+
"bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90",
|
|
16
16
|
outline:
|
|
17
|
-
"border border-input bg-background shadow-
|
|
17
|
+
"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
|
|
18
18
|
secondary:
|
|
19
|
-
"bg-secondary text-secondary-foreground shadow-
|
|
19
|
+
"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
|
|
20
20
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
21
21
|
link: "text-primary underline-offset-4 hover:underline",
|
|
22
22
|
},
|
|
@@ -13,7 +13,7 @@ const Checkbox = React.forwardRef<
|
|
|
13
13
|
<CheckboxPrimitive.Root
|
|
14
14
|
ref={ref}
|
|
15
15
|
className={cn(
|
|
16
|
-
'peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-
|
|
16
|
+
'peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow-sm focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state="indeterminate"]:bg-gray-300 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state="indeterminate"]:bg-gray-500',
|
|
17
17
|
className,
|
|
18
18
|
)}
|
|
19
19
|
{...props}
|
|
@@ -31,7 +31,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
|
|
|
31
31
|
<DropdownMenuPrimitive.SubTrigger
|
|
32
32
|
ref={ref}
|
|
33
33
|
className={cn(
|
|
34
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-
|
|
34
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent",
|
|
35
35
|
inset && "pl-8",
|
|
36
36
|
className
|
|
37
37
|
)}
|
|
@@ -51,7 +51,7 @@ const DropdownMenuSubContent = React.forwardRef<
|
|
|
51
51
|
<DropdownMenuPrimitive.SubContent
|
|
52
52
|
ref={ref}
|
|
53
53
|
className={cn(
|
|
54
|
-
"z-50 min-w-
|
|
54
|
+
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
55
55
|
className
|
|
56
56
|
)}
|
|
57
57
|
{...props}
|
|
@@ -69,7 +69,7 @@ const DropdownMenuContent = React.forwardRef<
|
|
|
69
69
|
ref={ref}
|
|
70
70
|
sideOffset={sideOffset}
|
|
71
71
|
className={cn(
|
|
72
|
-
"z-50 min-w-
|
|
72
|
+
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
73
73
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
74
74
|
className
|
|
75
75
|
)}
|
|
@@ -88,7 +88,7 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
88
88
|
<DropdownMenuPrimitive.Item
|
|
89
89
|
ref={ref}
|
|
90
90
|
className={cn(
|
|
91
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-
|
|
91
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
92
92
|
inset && "pl-8",
|
|
93
93
|
className
|
|
94
94
|
)}
|
|
@@ -104,7 +104,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
|
|
|
104
104
|
<DropdownMenuPrimitive.CheckboxItem
|
|
105
105
|
ref={ref}
|
|
106
106
|
className={cn(
|
|
107
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-
|
|
107
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
108
108
|
className
|
|
109
109
|
)}
|
|
110
110
|
checked={checked}
|
|
@@ -128,7 +128,7 @@ const DropdownMenuRadioItem = React.forwardRef<
|
|
|
128
128
|
<DropdownMenuPrimitive.RadioItem
|
|
129
129
|
ref={ref}
|
|
130
130
|
className={cn(
|
|
131
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-
|
|
131
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
132
132
|
className
|
|
133
133
|
)}
|
|
134
134
|
{...props}
|
|
@@ -11,7 +11,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
|
11
11
|
<input
|
|
12
12
|
type={type}
|
|
13
13
|
className={cn(
|
|
14
|
-
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-
|
|
14
|
+
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
ref={ref}
|
|
@@ -19,7 +19,7 @@ const PopoverContent = React.forwardRef<
|
|
|
19
19
|
align={align}
|
|
20
20
|
sideOffset={sideOffset}
|
|
21
21
|
className={cn(
|
|
22
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-
|
|
22
|
+
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...props}
|
|
@@ -28,8 +28,8 @@ const ScrollBar = React.forwardRef<
|
|
|
28
28
|
orientation={orientation}
|
|
29
29
|
className={cn(
|
|
30
30
|
'flex touch-none select-none transition-colors',
|
|
31
|
-
orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-
|
|
32
|
-
orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-
|
|
31
|
+
orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-px',
|
|
32
|
+
orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-px',
|
|
33
33
|
className,
|
|
34
34
|
)}
|
|
35
35
|
{...props}
|
|
@@ -24,7 +24,7 @@ const SelectTrigger = React.forwardRef<
|
|
|
24
24
|
<SelectPrimitive.Trigger
|
|
25
25
|
ref={ref}
|
|
26
26
|
className={cn(
|
|
27
|
-
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-
|
|
27
|
+
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
28
28
|
className
|
|
29
29
|
)}
|
|
30
30
|
{...props}
|
|
@@ -80,7 +80,7 @@ const SelectContent = React.forwardRef<
|
|
|
80
80
|
<SelectPrimitive.Content
|
|
81
81
|
ref={ref}
|
|
82
82
|
className={cn(
|
|
83
|
-
"relative z-50 max-h-96 min-w-
|
|
83
|
+
"relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
84
84
|
position === "popper" &&
|
|
85
85
|
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
86
86
|
className
|
|
@@ -93,7 +93,7 @@ const SelectContent = React.forwardRef<
|
|
|
93
93
|
className={cn(
|
|
94
94
|
"p-1",
|
|
95
95
|
position === "popper" &&
|
|
96
|
-
"h-
|
|
96
|
+
"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
|
|
97
97
|
)}
|
|
98
98
|
>
|
|
99
99
|
{children}
|
|
@@ -123,7 +123,7 @@ const SelectItem = React.forwardRef<
|
|
|
123
123
|
<SelectPrimitive.Item
|
|
124
124
|
ref={ref}
|
|
125
125
|
className={cn(
|
|
126
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-
|
|
126
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
127
127
|
className
|
|
128
128
|
)}
|
|
129
129
|
{...props}
|
|
@@ -57,7 +57,7 @@ const SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Con
|
|
|
57
57
|
<SheetOverlay />
|
|
58
58
|
<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>
|
|
59
59
|
{children}
|
|
60
|
-
<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-
|
|
60
|
+
<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary'>
|
|
61
61
|
<Cross2Icon className='h-4 w-4' />
|
|
62
62
|
<span className='sr-only'>Close</span>
|
|
63
63
|
</SheetPrimitive.Close>
|
|
@@ -11,7 +11,7 @@ const Switch = React.forwardRef<
|
|
|
11
11
|
>(({ className, ...props }, ref) => (
|
|
12
12
|
<SwitchPrimitives.Root
|
|
13
13
|
className={cn(
|
|
14
|
-
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-
|
|
14
|
+
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -43,7 +43,7 @@ const TableFooter = React.forwardRef<
|
|
|
43
43
|
<tfoot
|
|
44
44
|
ref={ref}
|
|
45
45
|
className={cn(
|
|
46
|
-
"border-t bg-muted/50 font-medium [&>tr]:
|
|
46
|
+
"border-t bg-muted/50 font-medium last:[&>tr]:border-b-0",
|
|
47
47
|
className
|
|
48
48
|
)}
|
|
49
49
|
{...props}
|
|
@@ -73,7 +73,7 @@ const TableHead = React.forwardRef<
|
|
|
73
73
|
<th
|
|
74
74
|
ref={ref}
|
|
75
75
|
className={cn(
|
|
76
|
-
"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [
|
|
76
|
+
"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
77
77
|
className
|
|
78
78
|
)}
|
|
79
79
|
{...props}
|
|
@@ -88,7 +88,7 @@ const TableCell = React.forwardRef<
|
|
|
88
88
|
<td
|
|
89
89
|
ref={ref}
|
|
90
90
|
className={cn(
|
|
91
|
-
"p-2 align-middle [&:has([role=checkbox])]:pr-0 [
|
|
91
|
+
"p-2 align-middle [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
92
92
|
className
|
|
93
93
|
)}
|
|
94
94
|
{...props}
|
|
@@ -29,7 +29,7 @@ const TabsTrigger = React.forwardRef<
|
|
|
29
29
|
<TabsPrimitive.Trigger
|
|
30
30
|
ref={ref}
|
|
31
31
|
className={cn(
|
|
32
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-
|
|
32
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
|
|
33
33
|
className
|
|
34
34
|
)}
|
|
35
35
|
{...props}
|
|
@@ -44,7 +44,7 @@ const TabsContent = React.forwardRef<
|
|
|
44
44
|
<TabsPrimitive.Content
|
|
45
45
|
ref={ref}
|
|
46
46
|
className={cn(
|
|
47
|
-
"mt-2 ring-offset-background focus-visible:outline-
|
|
47
|
+
"mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
48
48
|
className
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|