Skip to content

Commit 2efa115

Browse files
authored
Merge pull request #1009 from joshhanley/josh/tailwind-v4
Tailwind v4 Support
2 parents 71fa62f + c0e058d commit 2efa115

11 files changed

+34
-558
lines changed

dist/flux-lite.css

+1-525
Large diffs are not rendered by default.

stubs/resources/views/flux/button/index.blade.php

+9-9
Original file line numberDiff line numberDiff line change
@@ -85,28 +85,28 @@
8585
default => '',
8686
})
8787
->add(match ($variant) { // Shadows...
88-
'primary' => 'shadow-[inset_0px_1px_theme(colors.white/.2)]',
89-
'danger' => 'shadow-[inset_0px_1px_theme(colors.red.500),inset_0px_2px_theme(colors.white/.15)] dark:shadow-none',
88+
'primary' => 'shadow-[inset_0px_1px_--theme(--color-white/.2)]',
89+
'danger' => 'shadow-[inset_0px_1px_var(--color-red-500),inset_0px_2px_--theme(--color-white/.15)] dark:shadow-none',
9090
'outline' => match ($size) {
91-
'base' => 'shadow-sm',
92-
'sm' => 'shadow-sm',
91+
'base' => 'shadow-xs',
92+
'sm' => 'shadow-xs',
9393
'xs' => 'shadow-none',
9494
},
9595
default => '',
9696
})
9797
->add(match ($variant) { // Grouped border treatments...
9898
'ghost' => '',
9999
'subtle' => '',
100-
'outline' => '[[data-flux-button-group]_&]:border-l-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-l-[1px]',
101-
'filled' => '[[data-flux-button-group]_&]:border-r [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 [[data-flux-button-group]_&]:border-zinc-200/80 [[data-flux-button-group]_&]:dark:border-zinc-900/50',
102-
'danger' => '[[data-flux-button-group]_&]:border-r [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 [[data-flux-button-group]_&]:border-red-600 [[data-flux-button-group]_&]:dark:border-red-900/25',
103-
'primary' => '[[data-flux-button-group]_&]:border-r-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-l-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-l-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]',
100+
'outline' => 'in-data-flux-button-group:border-l-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-l-[1px]',
101+
'filled' => 'in-data-flux-button-group:border-r [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 in-data-flux-button-group:border-zinc-200/80 dark:in-data-flux-button-group:border-zinc-900/50',
102+
'danger' => 'in-data-flux-button-group:border-r [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 in-data-flux-button-group:border-red-600 dark:in-data-flux-button-group:border-red-900/25',
103+
'primary' => 'in-data-flux-button-group:border-r-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-r-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-l-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-l-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]',
104104
})
105105
->add($loading ? [ // Loading states...
106106
'*:transition-opacity',
107107
$type === 'submit' ? '[&[disabled]>:not([data-flux-loading-indicator])]:opacity-0' : '[&[data-flux-loading]>:not([data-flux-loading-indicator])]:opacity-0',
108108
$type === 'submit' ? '[&[disabled]>[data-flux-loading-indicator]]:opacity-100' : '[&[data-flux-loading]>[data-flux-loading-indicator]]:opacity-100',
109-
$type === 'submit' ? '[&[disabled]]:pointer-events-none' : '[&[data-flux-loading]]:pointer-events-none',
109+
$type === 'submit' ? '[&[disabled]]:pointer-events-none' : 'data-flux-loading:pointer-events-none',
110110
] : [])
111111
;
112112
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<!-- This file's sole purpose is to get compiled by Tailwind and allow us to detect the -->
22
<!-- user's darkMode setting by inspecting the effects of using this selector elsewhere... -->
33

4-
dark:[&[data-flux-dark-mode-beacon]]:hidden
4+
dark:data-flux-dark-mode-beacon:hidden

stubs/resources/views/flux/menu/checkbox/index.blade.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@
2323
;
2424
2525
$classes = Flux::classes()
26-
->add('group/menu-checkbox flex items-center px-2 py-1.5 w-full focus:outline-none')
26+
->add('group/menu-checkbox flex items-center px-2 py-1.5 w-full focus:outline-hidden')
2727
->add('rounded-md')
2828
->add('text-left text-sm font-medium')
29-
->add('[[disabled]_&]:opacity-50 [&[disabled]]:opacity-50')
29+
->add('in-[[disabled]]:opacity-50 [&[disabled]]:opacity-50')
3030
->add([
31-
'text-zinc-800 data-[active]:bg-zinc-50 dark:text-white data-[active]:dark:bg-zinc-600',
32-
'[&_[data-flux-menu-item-icon]]:text-zinc-400 dark:[&_[data-flux-menu-item-icon]]:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
31+
'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600',
32+
'**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
3333
])
3434
;
3535
@endphp
3636

3737
<ui-menu-checkbox {{ $attributes->class($classes) }} data-flux-menu-item-has-icon data-flux-menu-checkbox>
3838
<div class="w-7">
39-
<div class="hidden group-data-[checked]/menu-checkbox:block">
39+
<div class="hidden group-data-checked/menu-checkbox:block">
4040
<flux:icon :variant="$iconVariant" icon="check" :class="$iconClasses" data-flux-menu-item-icon />
4141
</div>
4242
</div>

stubs/resources/views/flux/menu/index.blade.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
@php
22
$classes = Flux::classes()
33
->add('[:where(&)]:min-w-48 p-[.3125rem]')
4-
->add('rounded-lg shadow-sm')
4+
->add('rounded-lg shadow-xs')
55
->add('border border-zinc-200 dark:border-zinc-600')
66
->add('bg-white dark:bg-zinc-700')
7-
->add('focus:outline-none')
7+
->add('focus:outline-hidden')
88
;
99
@endphp
1010

stubs/resources/views/flux/menu/item.blade.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,18 @@
2424
;
2525
2626
$classes = Flux::classes()
27-
->add('flex items-center px-2 py-1.5 w-full focus:outline-none')
27+
->add('flex items-center px-2 py-1.5 w-full focus:outline-hidden')
2828
->add('rounded-md')
2929
->add('text-left text-sm font-medium')
3030
->add('[&[disabled]]:opacity-50')
3131
->add(match ($variant) {
3232
'danger' => [
33-
'text-zinc-800 data-[active]:text-red-600 data-[active]:bg-red-50 dark:text-white dark:data-[active]:bg-red-400/20 dark:data-[active]:text-red-400',
34-
'[&_[data-flux-menu-item-icon]]:text-zinc-400 dark:[&_[data-flux-menu-item-icon]]:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
33+
'text-zinc-800 data-active:text-red-600 data-active:bg-red-50 dark:text-white dark:data-active:bg-red-400/20 dark:data-active:text-red-400',
34+
'**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
3535
],
3636
'default' => [
37-
'text-zinc-800 data-[active]:bg-zinc-50 dark:text-white data-[active]:dark:bg-zinc-600',
38-
'[&_[data-flux-menu-item-icon]]:text-zinc-400 dark:[&_[data-flux-menu-item-icon]]:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
37+
'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600',
38+
'**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
3939
]
4040
})
4141
;

stubs/resources/views/flux/menu/radio/index.blade.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@
2323
;
2424
2525
$classes = Flux::classes()
26-
->add('group/menu-radio flex items-center px-2 py-1.5 w-full focus:outline-none')
26+
->add('group/menu-radio flex items-center px-2 py-1.5 w-full focus:outline-hidden')
2727
->add('rounded-md')
2828
->add('text-left text-sm font-medium')
29-
->add('[[disabled]_&]:opacity-50 [&[disabled]]:opacity-50')
29+
->add('in-[[disabled]]:opacity-50 [&[disabled]]:opacity-50')
3030
->add([
31-
'text-zinc-800 data-[active]:bg-zinc-50 dark:text-white data-[active]:dark:bg-zinc-600',
32-
'[&_[data-flux-menu-item-icon]]:text-zinc-400 dark:[&_[data-flux-menu-item-icon]]:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
31+
'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600',
32+
'**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current',
3333
])
3434
;
3535
@endphp
3636

3737
<ui-menu-radio {{ $attributes->class($classes) }} data-flux-menu-item-has-icon data-flux-menu-radio>
3838
<div class="w-7">
39-
<div class="hidden group-data-[checked]/menu-radio:block">
39+
<div class="hidden group-data-checked/menu-radio:block">
4040
<flux:icon :variant="$iconVariant" icon="check" :class="$iconClasses" data-flux-menu-item-icon />
4141
</div>
4242
</div>
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

22
<div class="-mx-[.3125rem] my-[.3125rem] h-px" {{ $attributes }} data-flux-menu-separator>
3-
<flux:separator class="dark:!bg-zinc-600" />
3+
<flux:separator class="dark:bg-zinc-600!" />
44
</div>

stubs/resources/views/flux/navmenu/index.blade.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@php
22
$classes = Flux::classes()
33
->add('[:where(&)]:min-w-48 p-[.3125rem]')
4-
->add('rounded-lg shadow-sm')
4+
->add('rounded-lg shadow-xs')
55
->add('border border-zinc-200 dark:border-zinc-600')
66
->add('bg-white dark:bg-zinc-700')
77
;

stubs/resources/views/flux/navmenu/item.blade.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232
->add(match ($variant) {
3333
'danger' => [
3434
'text-zinc-800 hover:text-red-600 hover:bg-red-50 dark:text-white dark:hover:bg-red-400/20 dark:hover:text-red-400',
35-
'[&_[data-navmenu-icon]]:text-zinc-400 dark:[&_[data-navmenu-icon]]:text-white/60 [&:hover_[data-navmenu-icon]]:text-current',
35+
'**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current',
3636
],
3737
'default' => [
38-
'text-zinc-800 hover:bg-zinc-50 dark:text-white hover:dark:bg-zinc-600',
39-
'[&_[data-navmenu-icon]]:text-zinc-400 dark:[&_[data-navmenu-icon]]:text-white/60 [&:hover_[data-navmenu-icon]]:text-current',
38+
'text-zinc-800 hover:bg-zinc-50 dark:text-white dark:hover:bg-zinc-600',
39+
'**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current',
4040
]
4141
})
4242
->add($disabled ? 'text-zinc-400' : '')
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

22
<div class="-mx-[.3125rem] my-[.3125rem] h-px" {{ $attributes }} data-flux-navmenu-separator>
3-
<flux:separator class="dark:!bg-zinc-600" />
3+
<flux:separator class="dark:bg-zinc-600!" />
44
</div>

0 commit comments

Comments
 (0)