Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
98d6c7a
wip
duncanmcclean Feb 4, 2026
5d8863d
wip
duncanmcclean Feb 4, 2026
4237342
wip
duncanmcclean Feb 4, 2026
6157dad
tidy up
duncanmcclean Feb 4, 2026
409fe91
dark mode disabled styling
duncanmcclean Feb 4, 2026
bde614e
don't need a min-height now we have a max-height
duncanmcclean Feb 5, 2026
f597936
wip
duncanmcclean Feb 5, 2026
4496fd8
clear search query when closing dropdown
duncanmcclean Feb 5, 2026
3069ec0
wip
duncanmcclean Feb 5, 2026
b2fe2c1
wip
duncanmcclean Feb 5, 2026
e9d5716
fix option hover state
duncanmcclean Feb 5, 2026
f0ad342
fix typing space in search term
duncanmcclean Feb 5, 2026
5094246
focus input if its available, otherwise focus the trigger
duncanmcclean Feb 5, 2026
14a5982
wip
duncanmcclean Feb 5, 2026
56624db
truncate text
duncanmcclean Feb 5, 2026
4d4215e
keyboard navigation should start from selected option
duncanmcclean Feb 5, 2026
6f2dc28
accessibility improvements
duncanmcclean Feb 5, 2026
9992939
add opt-in for adaptive widths
duncanmcclean Feb 5, 2026
264711f
reorder props and tweak descriptions
duncanmcclean Feb 5, 2026
959b2ba
Merge branch '6.x' into combobox-2-0
duncanmcclean Feb 6, 2026
3ba80b7
add combobox story & tests
duncanmcclean Feb 6, 2026
f06b37e
update select component story to better mirror combobox
duncanmcclean Feb 6, 2026
3a29e6d
wip
duncanmcclean Feb 6, 2026
706d4cc
fix icon
duncanmcclean Feb 6, 2026
7d49995
grabbing cursors
duncanmcclean Feb 6, 2026
86c9281
Merge branch '6.x' into combobox-2-0
duncanmcclean Feb 12, 2026
cd22a97
taggable fixes
duncanmcclean Feb 12, 2026
54b0e84
wip
duncanmcclean Feb 12, 2026
1b35468
actually, remove props preventing reka from doing this
duncanmcclean Feb 13, 2026
8581ee7
Fix relationship typeahead...
duncanmcclean Feb 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .storybook/preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {router} from '@inertiajs/vue3';
import {action} from 'storybook/actions';
import './storybook.css';
import './theme.css';
import {translate} from '@/translations/translator';
import {translate, translateChoice} from '@/translations/translator';
import registerUiComponents from '@/bootstrap/ui';
import DateFormatter from '@/components/DateFormatter';
import cleanCodeSnippet from './clean-code-snippet';
Expand All @@ -23,6 +23,7 @@ router.on('before', (event) => {

setup(async (app) => {
window.__ = translate;
window.__n = translateChoice;

window.Statamic = {
$config: {
Expand Down Expand Up @@ -54,6 +55,7 @@ setup(async (app) => {
};

app.config.globalProperties.__ = translate;
app.config.globalProperties.__n = translateChoice;
app.config.globalProperties.$date = new DateFormatter;
app.config.globalProperties.cp_url = (url) => url;
app.config.globalProperties.$portals = portals;
Expand Down
2 changes: 2 additions & 0 deletions .storybook/storybook.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
@custom-variant dark (&:where(.dark, .dark *));

:root {
--focus-outline-color: var(--color-blue-400);

/* GROUP VARIABLES -- DECORATION -- COLOURS
=================================================== */
--color-code-background: hsl(287deg 80% 93.5%);
Expand Down
2 changes: 2 additions & 0 deletions resources/js/components/SiteSelector.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ defineEmits(['update:modelValue']);
:options="sites"
option-label="name"
option-value="handle"
align="end"
:adaptive-width="true"
:model-value="modelValue"
@update:model-value="$emit('update:modelValue', $event)"
/>
Expand Down
6 changes: 3 additions & 3 deletions resources/js/components/field-conditions/Condition.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<template #no-options><div class="hidden" /></template>
<template #option="option">
<div class="flex items-center">
<span v-text="option.label" />
<span class="flex-shrink-0 truncate" v-text="option.label" />
<span
v-text="option.value"
class="font-mono text-2xs text-gray-500 dark:text-dark-150"
class="font-mono text-2xs text-gray-500 dark:text-dark-150 truncate"
:class="{ 'ml-2': option.label }"
/>
</div>
Expand All @@ -29,7 +29,7 @@
</Combobox>
</div>

<div class="w-auto min-w-32">
<div class="w-auto min-w-40">
<Select
class="w-full"
:model-value="condition.operator"
Expand Down
6 changes: 3 additions & 3 deletions resources/js/components/field-validation/Builder.vue
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
<button
type="button"
class="opacity-75 hover:opacity-100 cursor-pointer"
:aria-label="__('Deselect option')"
:aria-label="__('Remove :label', { label: rule })"
@click="remove(rule)"
>
&times;
Expand Down Expand Up @@ -236,6 +236,8 @@ export default {
if (!this.rules.includes(rule)) {
this.rules.push(rule);
}

this.$nextTick(() => this.$refs.rulesSelect.focus());
},

add(rule) {
Expand All @@ -258,8 +260,6 @@ export default {
if (this.searchNotFound(rulesSelect) || this.hasUnfinishedParameters(rule)) return;

this.add(rule);

this.$nextTick(() => this.$refs.searchInput.blur());
},

remove(rule) {
Expand Down
12 changes: 4 additions & 8 deletions resources/js/components/fieldtypes/DictionaryFieldtype.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<div
v-for="option in selectedOptions"
:key="getOptionValue(option)"
class="sortable-item cursor-grab"
class="sortable-item cursor-grab active:cursor-grabbing"
>
<Badge size="lg" color="white">
<div v-if="labelHtml" v-html="getOptionLabel(option)"></div>
Expand All @@ -42,18 +42,14 @@
v-if="!disabled && !readOnly"
type="button"
class="-mx-3 cursor-pointer px-3 text-gray-400 hover:text-gray-700"
:aria-label="__('Deselect option')"
:aria-label="__('Remove :label', { label: getOptionLabel(option) })"
@click="deselect(option.value)"
>
<span>&times;</span>
</button>
<button
v-else
type="button"
class="-mx-3 cursor-pointer px-3 text-gray-400 hover:text-gray-700"
>
<span v-else class="-mx-3 cursor-pointer px-3 text-gray-400 hover:text-gray-700">
<span>&times;</span>
</button>
</span>
</Badge>
</div>
</div>
Expand Down
3 changes: 2 additions & 1 deletion resources/js/components/fieldtypes/SelectFieldtype.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<template>
<Combobox
:id="id"
:clearable="config.clearable"
:disabled="config.disabled"
:label-html="config.label_html"
Expand All @@ -11,7 +12,7 @@
:read-only="isReadOnly"
:searchable="config.searchable || config.taggable"
:taggable="config.taggable"
:id="id"
:close-on-select="(config.taggable && !options.length) || !config.multiple"
@update:modelValue="comboboxUpdated"
/>
</template>
Expand Down
1 change: 1 addition & 0 deletions resources/js/components/fieldtypes/TagsFieldtype.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
:placeholder="__(config.placeholder)"
:read-only="isReadOnly"
:taggable="true"
:should-open-dropdown="({ open }) => open && options.length > 0"
@update:modelValue="update"
/>
</template>
Expand Down
2 changes: 2 additions & 0 deletions resources/js/components/global-header/SiteSelector.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
size="sm"
variant="ghost"
icon="globe-arrow"
align="end"
:adaptive-width="true"
class="[&_[data-ui-combobox-trigger]]:text-white/85"
/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
:placeholder="__(config.placeholder) || __('Choose...')"
:read-only="readOnly"
:taggable="isTaggable"
:close-on-select="isTaggable"
option-label="title"
option-value="id"
@update:modelValue="itemsSelected"
Expand Down
Loading
Loading