26807984ee
Extracts duplication that built up as shot/asset/task features reached parity: CheckableCommandItem/ColumnToggleList replace 14+ hand-rolled checkbox-list blocks, shared toolbar pieces (debounced search, detail-panel toggle, clear-filters, segmented view/context toggle) replace copy-pasted markup in the three table toolbars, icon-only buttons standardize on the icon-sm size, TaskBulkActionsMenu's Assign To submenu matches Set Status, and a shared DetailPanelOverlay/Header/Loading/Error shell backs all three detail panels (adding a previously-missing error state to the task panel).
27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
import type { Ref } from "vue"
|
|
import { createContext } from "reka-ui"
|
|
|
|
export { default as Command } from "./Command.vue"
|
|
export { default as CheckableCommandItem } from "./CheckableCommandItem.vue"
|
|
export { default as CommandDialog } from "./CommandDialog.vue"
|
|
export { default as CommandEmpty } from "./CommandEmpty.vue"
|
|
export { default as CommandGroup } from "./CommandGroup.vue"
|
|
export { default as CommandInput } from "./CommandInput.vue"
|
|
export { default as CommandItem } from "./CommandItem.vue"
|
|
export { default as CommandList } from "./CommandList.vue"
|
|
export { default as CommandSeparator } from "./CommandSeparator.vue"
|
|
export { default as CommandShortcut } from "./CommandShortcut.vue"
|
|
|
|
export const [useCommand, provideCommandContext] = createContext<{
|
|
allItems: Ref<Map<string, string>>
|
|
allGroups: Ref<Map<string, Set<string>>>
|
|
filterState: {
|
|
search: string
|
|
filtered: { count: number, items: Map<string, number>, groups: Set<string> }
|
|
}
|
|
}>("Command")
|
|
|
|
export const [useCommandGroup, provideCommandGroupContext] = createContext<{
|
|
id?: string
|
|
}>("CommandGroup")
|