Skip to content

Commit ea547db

Browse files
Mohammad JavedMohammad Javed
Mohammad Javed
authored and
Mohammad Javed
committed
core: updated naming convention
1 parent 07dc7f5 commit ea547db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+545
-622
lines changed

projects/core/src/lib/accordion.ts

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import { computed, Directive, input } from '@angular/core';
2+
import { NgpAccordion, NgpAccordionTrigger, NgpAccordionItem, NgpAccordionContent } from 'ng-primitives/accordion';
3+
import { tv } from 'tailwind-variants';
4+
5+
export const accordionItemVariants = tv({
6+
base: 'border-b border-border last:border-b-0'
7+
});
8+
9+
export const accordionTriggerVariants = tv({
10+
base: 'ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all hover:underline focus-visible:ring-4 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&[data-open]>[uiAccordionTriggerIcon]]:rotate-180'
11+
});
12+
13+
export const accordionContentVariants = tv({
14+
base: 'data-[closed]:animate-accordion-up data-[open]:animate-accordion-down overflow-hidden text-sm'
15+
});
16+
17+
@Directive({
18+
selector: '[uiAccordion]',
19+
exportAs: 'uiAccordion',
20+
hostDirectives: [
21+
{
22+
directive: NgpAccordion,
23+
inputs: [
24+
'ngpAccordionValue:value',
25+
'ngpAccordionType:type',
26+
'ngpAccordionCollapsible:collapsible',
27+
'ngpAccordionDisabled:disabled',
28+
'ngpAccordionOrientation:orientation',
29+
],
30+
outputs: ['ngpAccordionValueChange: uiAccordionValueChange'],
31+
},
32+
],
33+
})
34+
export class UiAccordion {
35+
36+
}
37+
38+
39+
@Directive({
40+
selector: '[uiAccordionTrigger]',
41+
exportAs: 'uiAccordionTrigger',
42+
host: {
43+
'[class]': 'computedClass()'
44+
},
45+
hostDirectives: [NgpAccordionTrigger]
46+
})
47+
export class UiAccordionTrigger {
48+
49+
inputClass = input<string>('', { alias: 'class' });
50+
51+
computedClass = computed(() => accordionTriggerVariants({ class: this.inputClass() }));
52+
53+
}
54+
55+
@Directive({
56+
selector: '[uiAccordionItem]',
57+
exportAs: 'uiAccordionItem',
58+
host: {
59+
'[class]': 'computedClass()'
60+
},
61+
hostDirectives: [
62+
{
63+
directive: NgpAccordionItem,
64+
inputs: ['ngpAccordionItemValue:value', 'ngpAccordionItemDisabled:disabled'],
65+
},
66+
],
67+
})
68+
export class UiAccordionItem {
69+
70+
inputClass = input<string>('', { alias: 'class' });
71+
72+
computedClass = computed(() => accordionItemVariants({ class: this.inputClass() }));
73+
74+
}
75+
76+
77+
@Directive({
78+
selector: '[uiAccordionContent]',
79+
exportAs: 'uiAccordionContent',
80+
host: {
81+
'[class]': 'computedClass()'
82+
},
83+
hostDirectives: [NgpAccordionContent]
84+
})
85+
export class UiAccordionContent {
86+
87+
inputClass = input<string>('', { alias: 'class' });
88+
89+
computedClass = computed(() => accordionContentVariants({ class: this.inputClass() }));
90+
91+
}

projects/core/src/lib/accordion/accordion-content.directive.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

projects/core/src/lib/accordion/accordion-item.directive.ts

Lines changed: 0 additions & 24 deletions
This file was deleted.

projects/core/src/lib/accordion/accordion-trigger.directive.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

projects/core/src/lib/accordion/accordion.directive.ts

Lines changed: 0 additions & 25 deletions
This file was deleted.

projects/core/src/lib/accordion/accordion.styles.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

projects/core/src/lib/accordion/index.ts

Lines changed: 0 additions & 4 deletions
This file was deleted.

projects/core/src/lib/alert.ts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { computed, Directive, input } from '@angular/core';
2+
import { tv, VariantProps } from 'tailwind-variants';
3+
4+
export const alertVariants = tv({
5+
base: 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>[uiAlertIcon]]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>[uiAlertIcon]]:gap-x-3 gap-y-0.5 items-start [&>[uiAlertIcon]]:size-4 [&>[uiAlertIcon]]:translate-y-0.5 [&>[uiAlertIcon]]:text-current',
6+
variants: {
7+
variant: {
8+
default: "bg-background text-foreground border-border",
9+
destructive: "border-destructive/50 text-destructive [&>[uiAlertIcon]]:text-current",
10+
},
11+
},
12+
defaultVariants: {
13+
variant: 'default'
14+
},
15+
});
16+
17+
export const alertTitleVariants = tv({
18+
base: 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight'
19+
});
20+
21+
export const alertDescriptionVariants = tv({
22+
base: 'col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed'
23+
});
24+
25+
type AlertVariants = VariantProps<typeof alertVariants>;
26+
27+
@Directive({
28+
selector: '[uiAlert]',
29+
exportAs: 'uiAlert',
30+
host: {
31+
'[class]': 'computedClass()'
32+
}
33+
})
34+
35+
export class UiAlert {
36+
inputClass = input<string>('', { alias: 'class' });
37+
38+
variant = input<AlertVariants['variant']>('default');
39+
40+
computedClass = computed(() => alertVariants({ variant: this.variant(), class: this.inputClass() }));
41+
}
42+
43+
@Directive({
44+
selector: '[uiAlertTitle]',
45+
exportAs: 'uiAlertTitle',
46+
host: {
47+
'[class]': 'computedClass()'
48+
}
49+
})
50+
export class UiAlertTitle {
51+
52+
inputClass = input<string>('', { alias: 'class' });
53+
computedClass = computed(() => alertTitleVariants({ class: this.inputClass() }));
54+
}
55+
56+
@Directive({
57+
selector: '[uiAlertDescription]',
58+
exportAs: 'uiAlertDescription',
59+
host: {
60+
'[class]': 'computedClass()'
61+
}
62+
})
63+
export class UiAlertDescription {
64+
65+
inputClass = input<string>('', { alias: 'class' });
66+
computedClass = computed(() => alertDescriptionVariants({ class: this.inputClass() }));
67+
}

projects/core/src/lib/alert/alert-description.directive.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

projects/core/src/lib/alert/alert-title.directive.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

projects/core/src/lib/alert/alert.directive.ts

Lines changed: 0 additions & 21 deletions
This file was deleted.

projects/core/src/lib/alert/alert.styles.ts

Lines changed: 0 additions & 22 deletions
This file was deleted.

projects/core/src/lib/alert/index.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)