Skip to content

Commit e8ff7c1

Browse files
committed
chore(accordion): upd examples
1 parent 083832b commit e8ff7c1

4 files changed

Lines changed: 24 additions & 14 deletions

File tree

apps/origin-ui/src/registry/default/components/accordions/accordion-01.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ import {
1717
template: `
1818
<div class="space-y-4">
1919
<h2 class="text-xl font-bold">W/ chevron</h2>
20-
<div class="w-full" [defaultValue]="'1'" oriAccordion>
20+
<div class="w-full" defaultValue="3" type="single" collapsible oriAccordion>
2121
@for (item of items; track item) {
2222
<div class="py-2" [value]="item.id" oriAccordionItem>
2323
<ori-accordion-trigger>{{ item.title }}</ori-accordion-trigger>
24-
<div oriAccordionContent>
24+
<div class="text-muted-foreground pb-2" oriAccordionContent>
2525
{{ item.content }}
2626
</div>
2727
</div>

apps/origin-ui/src/registry/default/components/accordions/accordion-02.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import { OriAccordion, OriAccordionContent, OriAccordionItem } from '~/registry/
1616
template: `
1717
<div class="space-y-4">
1818
<h2 class="text-xl font-bold">W/ plus-minus</h2>
19-
<div class="w-full" type="single" oriAccordion value="3">
19+
<div class="w-full" type="single" oriAccordion collapsible defaultValue="3">
2020
@for (item of items; track $index) {
2121
<div class="py-2" [value]="item.id" oriAccordionItem>
2222
<h3 class="group flex" rdxAccordionHeader>
2323
<button
24-
class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-semibold transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[state=open]:[&>*>svg]:rotate-180"
24+
class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-2 text-left text-sm text-[15px] leading-6 font-semibold transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&>svg>path:last-child]:origin-center [&>svg>path:last-child]:transition-all [&>svg>path:last-child]:duration-200 [&[data-state=open]>*>svg]:rotate-180 [&[data-state=open]>*>svg>path:last-child]:rotate-90 [&[data-state=open]>*>svg>path:last-child]:opacity-0"
2525
rdxAccordionTrigger
2626
type="button"
2727
>

apps/origin-ui/src/registry/default/ui/accordion.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ import { cn } from '~/registry/default/lib/utils';
1717
directive: RdxAccordionRootDirective,
1818
inputs: ['orientation', 'type', 'value', 'defaultValue', 'collapsible', 'dir', 'disabled']
1919
}
20-
]
20+
],
21+
host: {
22+
'data-slot': 'accordion'
23+
}
2124
})
2225
export class OriAccordion {}
2326

@@ -30,7 +33,8 @@ export class OriAccordion {}
3033
}
3134
],
3235
host: {
33-
'[class]': 'hostClasses()'
36+
'[class]': 'hostClasses()',
37+
'data-slot': 'accordion-item'
3438
}
3539
})
3640
export class OriAccordionItem {
@@ -45,7 +49,7 @@ export class OriAccordionItem {
4549
selector: '[oriAccordionTrigger], ori-accordion-trigger',
4650
imports: [RdxAccordionHeaderDirective, LucideAngularModule, RdxAccordionTriggerDirective],
4751
template: `
48-
<h3 class="flex" rdxAccordionHeader>
52+
<h3 class="group flex" rdxAccordionHeader>
4953
<button [class]="computedClass()" rdxAccordionTrigger>
5054
<ng-content />
5155
<lucide-icon
@@ -63,7 +67,7 @@ export class OriAccordionTrigger {
6367

6468
readonly computedClass = computed(() => {
6569
return cn(
66-
'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-semibold transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',
70+
'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-semibold transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>*>svg]:rotate-180',
6771
this.class()
6872
);
6973
});
@@ -75,7 +79,8 @@ export class OriAccordionTrigger {
7579
hostDirectives: [RdxAccordionContentDirective],
7680
host: {
7781
'[class]':
78-
'"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"'
82+
'"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"',
83+
'data-slot': 'accordion-content'
7984
},
8085
template: `
8186
<div [class]="computedClass()">

packages/components/accordion/src/accordion.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ import { ChevronDown, LucideAngularModule } from 'lucide-angular';
1717
directive: RdxAccordionRootDirective,
1818
inputs: ['orientation', 'type', 'value', 'defaultValue', 'collapsible', 'dir', 'disabled']
1919
}
20-
]
20+
],
21+
host: {
22+
'data-slot': 'accordion'
23+
}
2124
})
2225
export class OriAccordion {}
2326

@@ -30,7 +33,8 @@ export class OriAccordion {}
3033
}
3134
],
3235
host: {
33-
'[class]': 'hostClasses()'
36+
'[class]': 'hostClasses()',
37+
'data-slot': 'accordion-item'
3438
}
3539
})
3640
export class OriAccordionItem {
@@ -45,7 +49,7 @@ export class OriAccordionItem {
4549
selector: '[oriAccordionTrigger], ori-accordion-trigger',
4650
imports: [RdxAccordionHeaderDirective, LucideAngularModule, RdxAccordionTriggerDirective],
4751
template: `
48-
<h3 class="flex" rdxAccordionHeader>
52+
<h3 class="group flex" rdxAccordionHeader>
4953
<button [class]="computedClass()" rdxAccordionTrigger>
5054
<ng-content />
5155
<lucide-icon
@@ -63,7 +67,7 @@ export class OriAccordionTrigger {
6367

6468
readonly computedClass = computed(() => {
6569
return cn(
66-
'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-semibold transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',
70+
'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-semibold transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>*>svg]:rotate-180',
6771
this.class()
6872
);
6973
});
@@ -75,7 +79,8 @@ export class OriAccordionTrigger {
7579
hostDirectives: [RdxAccordionContentDirective],
7680
host: {
7781
'[class]':
78-
'"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"'
82+
'"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"',
83+
'data-slot': 'accordion-content'
7984
},
8085
template: `
8186
<div [class]="computedClass()">

0 commit comments

Comments
 (0)