Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 29 additions & 0 deletions .sync/log/3bf1a92a9d3aa47ee7f02c1b2363363bc906f313.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Port: perf(components): drop the redundant inner in component extend (#6647)

**Upstream:** `3bf1a92a9d3aa47ee7f02c1b2363363bc906f313` (nuxt/ui)
**Decision:** port

## Upstream change
In every component the theme is composed as
`tv({ extend: tv(theme), … })(…)`. The inner `tv(theme)` wrapper is redundant —
`tv`'s `extend` accepts a raw theme object directly — so it is dropped:
`extend: tv(theme)` → `extend: theme`. The outer `tv({ … })(…)` call is
unchanged, so `tv` stays imported and used.

## b24ui port — direct 1:1 (mechanical)
b24ui uses the identical pattern (`tv({ extend: tv(theme), ...(appConfig.b24ui?.<name> || {}) })(…)`).
Replaced `extend: tv(theme)` → `extend: theme` across all **162** occurrences
in `src/runtime/{components,components/prose,components/content,vue/overrides/*}`
(one line per file, 162 files, +162/−162). Upstream touched 163 files; the
1-file delta is just the diverging component set (no behavioural meaning).

No renames (no `ui`→`b24ui`/icon/color tokens in the diff). The only b24ui
surface difference is the `appConfig.b24ui?.<name>` spread (vs upstream
`appConfig.ui?.<name>`), which is pre-existing and untouched.

## Tests
Behaviour-preserving (same resolved theme) → no runtime/markup change, no
snapshot churn. Full suite unchanged (225 files, 5143 passed / 6 skipped).

## Verify (CI=true)
`dev:prepare` · `lint` · `typecheck` · `test` · `build` — all green.
10 changes: 8 additions & 2 deletions .sync/nuxt-ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"upstream": "nuxt/ui",
"branch": "v4",
"sync_enabled": false,
"cursor": "7eab4bcb78f17b9eed365d617aa3ef3874c21bac",
"cursor": "3bf1a92a9d3aa47ee7f02c1b2363363bc906f313",
"_cursor_note": "cursor = last upstream commit ported into b24ui (oldest-first, manual cadence). sync_enabled stays false until Phase 2 (porter workflow #67 + CLAUDE_CODE_OAUTH_TOKEN) is wired and trusted. `processed` is maintained per port from now on (backfilled #68-#72 on 2026-06-09).",
"stats": {
"queue_depth": 0,
Expand Down Expand Up @@ -779,10 +779,16 @@
"summary": "fix(Separator): forward fall-through attributes to root (#6641) — Separator.vue: add defineOptions({ inheritAttrs: false }) + change root <Separator> binding v-bind=rootProps -> v-bind={...rootProps, ...$attrs} so fall-through attrs land on the actual root. Direct 1:1 (b24ui matched pre-change; useForwardProps rootProps + reka <Separator> root unchanged; no ui/icon/color renames). +attr-forwarding spec mirroring #218 (d3b5f1d3) (targets [data-slot=root] since Separator is multi-root). 2 snapshots updated (Separator + -vue): the existing 'with color success' renderEach case passes `color` which is NOT a SeparatorProps member = a fall-through attr; pre-fix multi-root dropped it, post-fix $attrs forwards it to root -> snapshot now carries color=air-primary-success (the fix demonstrating itself)"
},
"7eab4bcb78f17b9eed365d617aa3ef3874c21bac": {
"pr": 227,
"b24ui_sha": "575c8dee",
"decision": "port",
"summary": "perf(types): import cross-component types from source, not the barrel (#6646) — replace `import type {...} from '../types'` barrel imports with per-source imports (owning component .vue, e.g. ButtonProps from ./Button.vue; or specific ../types/* module, e.g. Messages from ../types/locale) across 119 consumer files in src/runtime/{components,composables,utils,dictionary,locale,vue/...}; +eslint no-restricted-imports guard on ../types & ../../types for components/**/*.vue + composables/**/*.ts, with useComponentProps.ts exempted (keeps `import type * as ComponentTypes from '../types'`). Adapted, not 1:1: resolved each type->source against b24ui's OWN exports (IconComponent->../types/icons since b24ui has no Icon.vue; own component set; curated 20 locale files vs upstream 62 per §2). 0 unresolved / 0 ambiguous names. Rule appended via existing .append chain (bitrix24-ui/ namespace). Types-only, no snapshot churn. 120 files, +284/-120. Rebased onto main after v2.9.0 release (#226) landed mid-CI"
},
"3bf1a92a9d3aa47ee7f02c1b2363363bc906f313": {
"pr": null,
"b24ui_sha": "pending-merge",
"decision": "port",
"summary": "perf(types): import cross-component types from source, not the barrel (#6646) — replace `import type {...} from '../types'` barrel imports with per-source imports (owning component .vue, e.g. ButtonProps from ./Button.vue; or specific ../types/* module, e.g. Messages from ../types/locale) across 119 consumer files in src/runtime/{components,composables,utils,dictionary,locale,vue/...}; +eslint no-restricted-imports guard on ../types & ../../types for components/**/*.vue + composables/**/*.ts, with useComponentProps.ts exempted (keeps `import type * as ComponentTypes from '../types'`). Adapted, not 1:1: resolved each type->source against b24ui's OWN exports (IconComponent->../types/icons since b24ui has no Icon.vue; own component set; curated 20 locale files vs upstream 62 per §2). 0 unresolved / 0 ambiguous names. Rule appended via existing .append chain (bitrix24-ui/ namespace). Types-only, no snapshot churn. 120 files, +284/-120"
"summary": "perf(components): drop the redundant inner in component extend (#6647) — replace `extend: tv(theme)` -> `extend: theme` across all 162 occurrences in src/runtime/{components,components/prose,components/content,vue/overrides/*} (tv's extend takes a raw theme object; inner tv() wrapper redundant). Outer tv({...})(...) unchanged so tv stays imported. Direct 1:1 mechanical (1 line/file, 162 files, +162/-162; upstream 163, delta = diverging component set). appConfig.b24ui?.<name> spread pre-existing/untouched. Behaviour-preserving, no snapshot churn"
}
}
}
2 changes: 1 addition & 1 deletion src/runtime/components/Accordion.vue
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ const appConfig = useAppConfig() as Accordion['AppConfig']
const rootProps = useForwardProps(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'unmountOnHide'), emits)

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.accordion || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.accordion || {}) })({
disabled: props.disabled
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Advice.vue
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ const { isLeading, leadingIconName } = useComponentIcons(
)

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.advice || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.advice || {}) })({
angle: props.angle
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Alert.vue
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ const { t } = useLocale()
const appConfig = useAppConfig() as Alert['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.alert || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.alert || {}) })({
color: props.color,
inverted: Boolean(props.inverted),
size: props.size,
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Avatar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const appConfig = useAppConfig() as Avatar['AppConfig']
const { size, color } = useAvatarGroup(_props)

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.avatar || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.avatar || {}) })({
size: size.value ?? props.size,
color: color.value ?? props.color
}))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/AvatarGroup.vue
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const props = useComponentProps('avatarGroup', _props)
const appConfig = useAppConfig() as AvatarGroup['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.avatarGroup || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.avatarGroup || {}) })({
size: props.size,
color: props.color
}))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Badge.vue
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ const { orientation, size: fieldGroupSize } = useFieldGroup<BadgeProps>(_props)
const { isLeading, leadingIconName } = useComponentIcons(props)

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.badge || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.badge || {}) })({
color: props.color,
inverted: Boolean(props.inverted),
size: fieldGroupSize.value ?? props.size,
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Banner.vue
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ const appConfig = useAppConfig() as Banner['AppConfig']
const prefix = usePrefix()

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.banner || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.banner || {}) })({
color: props.color,
to: !!props.to
}))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Breadcrumb.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const appConfig = useAppConfig() as Breadcrumb['AppConfig']
const separatorIcon = computed(() => props.separatorIcon || (dir.value === 'rtl' ? icons.chevronLeft : icons.chevronRight))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.breadcrumb || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.breadcrumb || {}) })({
color: props.color
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Button.vue
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ const isLabel = computed(() => {

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({
extend: tv(theme),
extend: theme,
...defu({
variants: {
active: {
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Calendar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ const prevYearIcon = computed(() => props.prevYearIcon || (dir.value === 'rtl' ?
const prevMonthIcon = computed(() => props.prevMonthIcon || (dir.value === 'rtl' ? icons.chevronRight : icons.chevronLeft))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.calendar || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.calendar || {}) })({
color: props.color,
size: props.size,
weekNumbers: props.weekNumbers
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Card.vue
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const props = useComponentProps('card', _props)
const appConfig = useAppConfig() as Card['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.card || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.card || {}) })({
variant: props.variant
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatMessage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ const textParts = computed(() => props.parts?.filter((part): part is TextUIPart
const messageProps = computed(() => omit(props, ['as', 'icon', 'avatar', 'variant', 'color', 'side', 'actions', 'compact', 'class', 'b24ui']))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatMessage || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatMessage || {}) })({
variant: props.variant,
color: props.color,
side: props.side,
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatMessages.vue
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ const userProps = toRef(() => defu(props.user, { side: 'right' as const, variant
const assistantProps = toRef(() => defu(props.assistant, { side: 'left' as const, variant: 'message' as const }))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatMessages || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatMessages || {}) })({
compact: props.compact
}))

Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatPalette.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const props = useComponentProps('chatPalette', _props)
const appConfig = useAppConfig() as ChatPalette['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatPalette || {}) })())
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatPalette || {}) })())
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatPrompt.vue
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const textareaProps = useForwardProps(reactivePick(props, 'rows', 'autofocus', '
const getProxySlots = () => omit(slots, ['header', 'footer', 'default'])

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatPrompt || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatPrompt || {}) })({
variant: props.variant
}))

Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatPromptSubmit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ const statusButtonProps = computed(() => ({
} satisfies { [key: string]: ButtonProps })[props.status])

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatPromptSubmit || {}) })())
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatPromptSubmit || {}) })())
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatReasoning.vue
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const { t, code } = useLocale()
const appConfig = useAppConfig() as ChatReasoning['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatReasoning || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatReasoning || {}) })({
chevron: props.chevron
}))

Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatShimmer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const props = useComponentProps('chatShimmer', _props)
const appConfig = useAppConfig() as ChatShimmer['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatShimmer || {}) }))
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatShimmer || {}) }))

// eslint-disable-next-line vue/no-dupe-keys
const spread = computed(() => (props.text || '').length * props.spread)
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ChatTool.vue
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ const props = useComponentProps('chatTool', _props)
const appConfig = useAppConfig() as ChatTool['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chatTool || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chatTool || {}) })({
variant: props.variant,
chevron: props.chevron,
loading: Boolean(props.loading),
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Checkbox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ const forwardedAttrs = computed(() => {
})

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.checkbox || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.checkbox || {}) })({
size: size.value ?? props.size,
color: color.value ?? props.color,
variant: props.variant,
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Chip.vue
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ const show = defineModel<boolean>('show', { default: true })
const appConfig = useAppConfig() as Chip['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.chip || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.chip || {}) })({
color: props.color,
inverted: Boolean(props.inverted),
size: props.size, // size.value ?? props.size
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Collapsible.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const appConfig = useAppConfig() as Collapsible['AppConfig']
const rootProps = useForwardProps(reactivePick(props, 'as', 'defaultOpen', 'open', 'disabled', 'unmountOnHide'), emits)

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.collapsible || {}) })())
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.collapsible || {}) })())
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ColorPicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const modelValue = defineModel<string>(undefined)
const appConfig = useAppConfig() as ColorPicker['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.colorPicker || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.colorPicker || {}) })({
size: props.size
}))

Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/CommandPalette.vue
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ const [DefineItemTemplate, ReuseItemTemplate] = createReusableTemplate<{ item: C
})

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.commandPalette || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.commandPalette || {}) })({
size: props.size,
virtualize: !!props.virtualize
}))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Container.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const props = useComponentProps('container', _props)
const appConfig = useAppConfig() as Container['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.container || {}) }))
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.container || {}) }))
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/ContextMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ const contentProps = toRef(() => props.content)
const getProxySlots = () => omit(slots, ['default'])

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.contextMenu || {}) })({}))
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.contextMenu || {}) })({}))
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/Countdown.vue
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ const { isLeading, leadingIconName } = useComponentIcons(
const appConfig = useAppConfig() as Countdown['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.countdown || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.countdown || {}) })({
size: props.size,
leading: Boolean(isLeading.value),
useCircle: Boolean(props.useCircle)
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardGroup.vue
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const nuxtApp = useNuxtApp()
const appConfig = useAppConfig() as DashboardGroup['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardGroup || {}) }))
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardGroup || {}) }))

const sidebarOpen = ref(false)
const sidebarCollapsed = ref(false)
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardNavbar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ const dashboardContext = useDashboard({})
const [DefineToggleTemplate, ReuseToggleTemplate] = createReusableTemplate()

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardNavbar || {}) })())
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardNavbar || {}) })())
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const id = `${dashboardContext.storageKey}-panel-${props.id || useId()}`
const { el, size, isDragging, onMouseDown, onTouchStart, onDoubleClick } = useResizable(id, toRef(() => ({ ...dashboardContext, ...props })))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardPanel || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardPanel || {}) })({
size: !!size.value
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardResizeHandle.vue
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const props = useComponentProps('dashboardResizeHandle', _props)
const appConfig = useAppConfig() as DashboardResizeHandle['AppConfig']

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardResizeHandle || {}) }))
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardResizeHandle || {}) }))
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardSearch.vue
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ const fuse = computed(() => defu({}, props.fuse, {
}))

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardSearch || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardSearch || {}) })({
size: props.size,
fullscreen: props.fullscreen
}))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardSearchButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ const appConfig = useAppConfig() as DashboardSearchButton['AppConfig']
const { toggleSearch } = useDashboard({ toggleSearch: () => {} })

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardSearchButton || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardSearchButton || {}) })({
collapsed: props.collapsed
}))
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/components/DashboardSidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ watch(() => route.fullPath, () => {
})

// eslint-disable-next-line vue/no-dupe-keys
const b24ui = computed(() => tv({ extend: tv(theme), ...(appConfig.b24ui?.dashboardSidebar || {}) })({
const b24ui = computed(() => tv({ extend: theme, ...(appConfig.b24ui?.dashboardSidebar || {}) })({
side: props.side
}))

Expand Down
Loading