Skip to content

Commit a3d9194

Browse files
[6.x] Improve replicator click areas (#13173)
Co-authored-by: Jason Varga <[email protected]>
1 parent 1411a2e commit a3d9194

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

resources/js/components/field-actions/FieldActions.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="flex relative items-center gap-1 -top-0.5">
2+
<div class="flex relative items-center gap-1 -top-1">
33
<Dropdown v-if="hasNonQuickActions">
44
<template #trigger>
55
<Button icon="dots" variant="ghost" size="xs" :aria-label="__('Open dropdown menu')" />

resources/js/components/fieldtypes/replicator/AddSetButton.vue

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,30 @@
11
<template>
2-
<set-picker :enabled="enabled" :sets="groups" :align="variant === 'between' ? 'center' : 'start'" @added="addSet">
2+
<div class="inline-block" v-if="variant === 'button'">
3+
<set-picker :enabled="enabled" :sets="groups" align="start" @added="addSet">
4+
<template #trigger>
5+
<div class="inline-flex relative pt-2" :class="{ 'pt-6': showConnector }">
6+
<div v-if="showConnector" class="absolute group-hover:opacity-0 transition-opacity delay-25 duration-125 inset-y-0 h-full left-3.5 border-l-1 border-gray-400 dark:border-gray-600 border-dashed z-0 dark:bg-gray-850" />
7+
<Button v-if="enabled" size="sm" :text="label" icon="plus" class="relative z-2" />
8+
</div>
9+
</template>
10+
</set-picker>
11+
</div>
12+
<set-picker v-else :enabled="enabled" :sets="groups" align="center" @added="addSet">
313
<template #trigger>
4-
<div class="flex relative pt-2" :class="{ 'pt-6': showConnector }" v-if="variant === 'button'">
5-
<div v-if="showConnector" class="absolute group-hover:opacity-0 transition-opacity delay-25 duration-125 inset-y-0 h-full left-3.5 border-l-1 border-gray-400 dark:border-gray-600 border-dashed z-0 dark:bg-gray-850" />
6-
<Button v-if="enabled" size="sm" :text="label" icon="plus" class="relative z-2" />
7-
</div>
814
<div
9-
v-if="variant === 'between'"
1015
class="flex justify-center relative group py-3"
11-
:class="{ '-mt-3': isFirst }"
16+
:class="{ 'py-3.5 -mt-2 top-0.5': isFirst }"
1217
>
1318
<div
1419
v-if="showConnector"
1520
class="absolute group-hover:opacity-0 transition-opacity delay-10 duration-250 inset-y-0 left-3.5 border-l-1 border-gray-400 dark:border-gray-600 border-dashed z-0 dark:bg-gray-850"
16-
:class="isFirst ? 'h-[50%] top-[50%] opacity-50' : 'h-full opacity-100'"
21+
:class="isFirst ? 'h-[65%] top-[30%] opacity-60' : 'h-full opacity-100'"
1722
/>
18-
<button class="w-full absolute inset-0 h-full opacity-0 group-hover:opacity-100 transition-opacity delay-10 duration-250 cursor-pointer">
23+
<button
24+
class="absolute inset-0 h-full w-full opacity-0 group-hover:opacity-100 transition-opacity delay-10 duration-250 cursor-pointer"
25+
>
1926
<div class="h-full flex flex-col justify-center">
20-
<div class="rounded-full bg-gray-200 dark:bg-gray-700 h-2" />
27+
<div class="rounded-full bg-[linear-gradient(90deg,theme(colors.gray.100)_0%,theme(colors.gray.200)_50%,theme(colors.gray.100)_100%)] dark:bg-[linear-gradient(90deg,theme(colors.gray.800)_0%,theme(colors.gray.700)_50%,theme(colors.gray.800)_100%)] h-2" />
2128
</div>
2229
</button>
2330
<Button v-if="enabled" round icon="plus" size="sm" class="-my-4 z-3 opacity-0 group-hover:opacity-100 transition-opacity delay-10 duration-250" />

resources/js/components/fieldtypes/replicator/Replicator.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
:show-connector="value.length > 0"
7575
:index="value.length"
7676
:label="config.button_label"
77+
:is-first="value.length === 0"
7778
@added="addSet"
7879
/>
7980
</section>

0 commit comments

Comments
 (0)