mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 14:30:41 +00:00
## Summary Enable `better-tailwindcss/enforce-consistent-class-order` lint rule and auto-fix all 1027 violations across 263 files. Stacked on #9427. ## Changes - **What**: Sort Tailwind classes into consistent order via `eslint --fix` - Enable `enforce-consistent-class-order` as `'error'` in eslint config - Purely cosmetic reordering — no behavioral or visual changes ## Review Focus Mechanical auto-fix PR — all changes are class reordering only. This is the largest diff but lowest risk since it changes no class names, only their order. **Stack:** #9417 → #9427 → **this PR** Fixes #9300 (partial — 3 of 3 rules) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9428-fix-enable-enforce-consistent-class-order-tailwind-lint-rule-31a6d73d3650811c9065f5178ba3e724) by [Unito](https://www.unito.io)
66 lines
1.7 KiB
Vue
66 lines
1.7 KiB
Vue
<script setup lang="ts">
|
|
import type { MenuItem } from 'primevue/menuitem'
|
|
import {
|
|
DropdownMenuItem,
|
|
DropdownMenuPortal,
|
|
DropdownMenuSeparator,
|
|
DropdownMenuSub,
|
|
DropdownMenuSubContent,
|
|
DropdownMenuSubTrigger
|
|
} from 'reka-ui'
|
|
import { useI18n } from 'vue-i18n'
|
|
import { toValue } from 'vue'
|
|
|
|
const { t } = useI18n()
|
|
|
|
defineOptions({
|
|
inheritAttrs: false
|
|
})
|
|
|
|
defineProps<{ itemClass: string; contentClass: string; item: MenuItem }>()
|
|
</script>
|
|
<template>
|
|
<DropdownMenuSeparator
|
|
v-if="item.separator"
|
|
class="m-1 h-px bg-border-subtle"
|
|
/>
|
|
<DropdownMenuSub v-else-if="item.items">
|
|
<DropdownMenuSubTrigger
|
|
:class="itemClass"
|
|
:disabled="toValue(item.disabled) ?? !item.items?.length"
|
|
>
|
|
{{ item.label }}
|
|
<i class="ml-auto icon-[lucide--chevron-right]" />
|
|
</DropdownMenuSubTrigger>
|
|
<DropdownMenuPortal>
|
|
<DropdownMenuSubContent
|
|
:class="contentClass"
|
|
:side-offset="2"
|
|
:align-offset="-5"
|
|
>
|
|
<DropdownItem
|
|
v-for="(subitem, index) in item.items"
|
|
:key="toValue(subitem.label) ?? index"
|
|
:item="subitem"
|
|
:item-class
|
|
:content-class
|
|
/>
|
|
</DropdownMenuSubContent>
|
|
</DropdownMenuPortal>
|
|
</DropdownMenuSub>
|
|
<DropdownMenuItem
|
|
v-else
|
|
:class="itemClass"
|
|
:disabled="toValue(item.disabled) ?? !item.command"
|
|
@select="item.command?.({ originalEvent: $event, item })"
|
|
>
|
|
<i class="size-5" :class="item.icon" />
|
|
{{ item.label }}
|
|
<div
|
|
v-if="item.new"
|
|
class="ml-auto flex items-center rounded-full bg-primary-background px-1 text-xxs leading-none font-bold"
|
|
v-text="t('contextMenu.new')"
|
|
/>
|
|
</DropdownMenuItem>
|
|
</template>
|