diff --git a/eslint.config.js b/eslint.config.js index dbc634f16..a164fc477 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -33,8 +33,17 @@ export default antfu( ], rules: { 'import/first': 'off', + 'sort-imports': 'off', + 'import/no-duplicates': 'off', 'import/order': 'off', + 'vue/block-order': ['error', { + order: ['script', 'template', 'style'], + }], 'vue/block-tag-newline': 'off', + 'vue/component-api-style': ['error', ['script-setup']], + 'vue/component-tags-order': ['error', { + order: ['script', 'template', 'style'], + }], }, }, ) diff --git a/packages/core/src/accordion/AccordionContent.ts b/packages/core/src/accordion/AccordionContent.ts deleted file mode 100644 index cc842f4b1..000000000 --- a/packages/core/src/accordion/AccordionContent.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { Ref } from 'vue' -import type { RadixPrimitiveGetAttrs, RadixPrimitiveReturns } from '../shared/index.ts' -import { type CollapsibleContentProps, DEFAULT_COLLAPSIBLE_CONTENT_PROPS, useCollapsibleContent, type UseCollapsibleContentProps } from '../collapsible/index.ts' -import { mergePrimitiveAttrs } from '../shared/index.ts' -import { useAccordionItemContext } from './AccordionItem.ts' -import { useAccordionContext } from './AccordionRoot.ts' - -export type AccordionContentProps = CollapsibleContentProps - -export const DEFAULT_ACCORDION_CONTENT_PROPS = DEFAULT_COLLAPSIBLE_CONTENT_PROPS - -export interface UseAccordionContentProps extends UseCollapsibleContentProps {} - -export function useAccordionContent(props: UseAccordionContentProps): RadixPrimitiveReturns<{ - isOpen: Ref - attrs: RadixPrimitiveGetAttrs -}> { - const collapsibleContent = useCollapsibleContent(props) - - const accordionContext = useAccordionContext('AccordionContent') - const itemContext = useAccordionItemContext('AccordionContent') - - const style = { - '--radix-accordion-content-height': 'var(--radix-collapsible-content-height)', - '--radix-accordion-content-width': 'var(--radix-collapsible-content-width)', - } - - return { - isOpen: collapsibleContent.isOpen, - attrs(extraAttrs = []) { - const attrs = { - 'role': 'region', - 'aria-labelledby': itemContext.triggerId, - 'data-orientation': accordionContext.orientation, - 'style': style, - } - - mergePrimitiveAttrs(attrs, [collapsibleContent.attrs(), ...extraAttrs]) - - return attrs - }, - } -} diff --git a/packages/core/src/accordion/AccordionContent.vue b/packages/core/src/accordion/AccordionContent.vue index 127bd9324..a0cd7ff2c 100644 --- a/packages/core/src/accordion/AccordionContent.vue +++ b/packages/core/src/accordion/AccordionContent.vue @@ -1,7 +1,61 @@ + + + + + +