@frame-ui-ng/components 0.5.0-beta.0 → 0.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/src/styles/_vars.css +2 -5
- package/accordion/src/styles/accordion.css +44 -30
- package/breadcrumb/src/styles/breadcrumb.css +12 -2
- package/button/src/styles/button.css +20 -66
- package/button-group/src/styles/button-group.css +0 -38
- package/calendar/src/styles/_vars.css +4 -0
- package/calendar/src/styles/calendar.css +26 -18
- package/carousel/src/styles/carousel.css +103 -89
- package/checkbox/src/styles/checkbox.css +14 -5
- package/collapsible/src/styles/_vars.css +1 -0
- package/collapsible/src/styles/collapsible.css +15 -11
- package/combobox/src/styles/combobox.css +11 -2
- package/confirm-popover/src/styles/confirm-popover.css +0 -1
- package/date-picker/src/styles/date-picker.css +15 -10
- package/dropdown-menu/src/styles/dropdown-menu-item.css +6 -2
- package/fesm2022/frame-ui-ng-components-accordion.mjs +201 -147
- package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-alert.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +10 -2
- package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-button-group.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-button.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-calendar.mjs +202 -50
- package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-card.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-carousel.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-collapsible.mjs +80 -22
- package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-combobox.mjs +61 -6
- package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-command.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +6 -6
- package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-date-picker.mjs +75 -37
- package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-empty.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-hover-card.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input-otp.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-item.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-menubar.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-modal.mjs +10 -4
- package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +4 -4
- package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-pagination.mjs +20 -4
- package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-popover.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-radio-group.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-resizable.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sheet.mjs +90 -65
- package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-table.mjs +6 -5
- package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tabs.mjs +2 -2
- package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-toast.mjs +6 -6
- package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tooltip.mjs +6 -6
- package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +4 -4
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components.mjs +850 -420
- package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
- package/input/src/styles/input-group.css +0 -7
- package/input/src/styles/input.css +0 -23
- package/modal/src/styles/modal.css +5 -19
- package/package.json +6 -6
- package/pagination/src/styles/pagination.css +6 -2
- package/popover/src/styles/popover.css +3 -3
- package/select/src/styles/select-item.css +67 -68
- package/sheet/src/styles/sheet.css +32 -19
- package/src/styles/components.css +2 -2
- package/src/styles/corner-handles.css +217 -0
- package/styles/components.css +2 -2
- package/styles/corner-handles.css +217 -0
- package/styles.css +2 -2
- package/toggle/src/styles/toggle.css +6 -1
- package/tooltip/src/styles/_vars.css +1 -1
- package/tooltip/src/styles/tooltip.css +13 -14
- package/types/frame-ui-ng-components-accordion.d.ts +69 -61
- package/types/frame-ui-ng-components-calendar.d.ts +7 -7
- package/types/frame-ui-ng-components-collapsible.d.ts +12 -4
- package/types/frame-ui-ng-components-combobox.d.ts +8 -0
- package/types/frame-ui-ng-components-date-picker.d.ts +2 -4
- package/types/frame-ui-ng-components-sheet.d.ts +6 -2
- package/types/frame-ui-ng-components.d.ts +172 -135
- package/src/styles/blueprint.css +0 -707
- package/styles/blueprint.css +0 -707
|
@@ -1,181 +1,233 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { inject, TemplateRef, Directive, InjectionToken, DestroyRef, signal, contentChild, viewChild, input, booleanAttribute, computed, effect, Component, output, NgModule } from '@angular/core';
|
|
3
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
|
+
import * as i1 from '@angular/cdk/accordion';
|
|
5
|
+
import { CdkAccordionItem, CdkAccordion } from '@angular/cdk/accordion';
|
|
6
|
+
|
|
7
|
+
/** Content template for accordion items. */
|
|
8
|
+
class FrAccordionContent {
|
|
9
|
+
templateRef = inject((TemplateRef));
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrAccordionContent, isStandalone: true, selector: "ng-template[frameAccordionContent]", ngImport: i0 });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionContent, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'ng-template[frameAccordionContent]',
|
|
17
|
+
standalone: true,
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
3
20
|
|
|
4
21
|
const ACCORDION_ROOT = new InjectionToken('FrAccordion');
|
|
5
22
|
const ACCORDION_ITEM = new InjectionToken('FrAccordionItem');
|
|
6
23
|
|
|
7
|
-
/**
|
|
8
|
-
class
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
/** Accordion item powered by Angular CDK accordion item state. */
|
|
25
|
+
class FrAccordionItem {
|
|
26
|
+
root = inject(ACCORDION_ROOT);
|
|
27
|
+
cdkItem = inject(CdkAccordionItem, { self: true });
|
|
28
|
+
destroyRef = inject(DestroyRef);
|
|
29
|
+
expanded = signal(false, ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
|
|
30
|
+
frameId = null;
|
|
31
|
+
syncingDefaultState = false;
|
|
32
|
+
content = contentChild(FrAccordionContent, ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
|
|
33
|
+
contentPanel = viewChild('contentPanel', ...(ngDevMode ? [{ debugName: "contentPanel" }] : /* istanbul ignore next */ []));
|
|
34
|
+
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
35
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
36
|
+
open = computed(() => this.expanded(), ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
37
|
+
contentHeight = signal('0px', ...(ngDevMode ? [{ debugName: "contentHeight" }] : /* istanbul ignore next */ []));
|
|
38
|
+
triggerId = computed(() => `frame-accordion-trigger-${this.cdkItem.id}`, ...(ngDevMode ? [{ debugName: "triggerId" }] : /* istanbul ignore next */ []));
|
|
39
|
+
contentId = computed(() => `frame-accordion-content-${this.cdkItem.id}`, ...(ngDevMode ? [{ debugName: "contentId" }] : /* istanbul ignore next */ []));
|
|
40
|
+
constructor() {
|
|
41
|
+
const expandedSubscription = this.cdkItem.expandedChange.subscribe((expanded) => {
|
|
42
|
+
this.setExpanded(expanded, !this.syncingDefaultState);
|
|
43
|
+
if (!this.syncingDefaultState) {
|
|
44
|
+
this.root.itemExpansionChanged(this.value(), expanded);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
this.destroyRef.onDestroy(() => {
|
|
48
|
+
expandedSubscription.unsubscribe();
|
|
49
|
+
this.cancelFrame();
|
|
50
|
+
});
|
|
51
|
+
effect(() => {
|
|
52
|
+
this.cdkItem.disabled = this.disabled();
|
|
53
|
+
});
|
|
54
|
+
effect(() => {
|
|
55
|
+
this.syncingDefaultState = true;
|
|
56
|
+
const shouldBeExpanded = this.root.isDefaultItemOpen(this.value());
|
|
57
|
+
if (this.cdkItem.expanded !== shouldBeExpanded) {
|
|
58
|
+
this.cdkItem.expanded = shouldBeExpanded;
|
|
59
|
+
this.setExpanded(shouldBeExpanded, false);
|
|
60
|
+
}
|
|
61
|
+
this.syncingDefaultState = false;
|
|
62
|
+
});
|
|
18
63
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (!this.initialized || open === this.lastOpen) {
|
|
64
|
+
toggle() {
|
|
65
|
+
if (this.disabled()) {
|
|
22
66
|
return;
|
|
23
67
|
}
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.cancelAnimationFrame();
|
|
68
|
+
if (this.open() && this.root.type() === 'single' && !this.root.collapsible()) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.root.syncCdkMode();
|
|
72
|
+
this.cdkItem.toggle();
|
|
30
73
|
}
|
|
31
|
-
|
|
32
|
-
if (event.target !== this.
|
|
74
|
+
onContentTransitionEnd(event) {
|
|
75
|
+
if (event.target !== this.contentPanel()?.nativeElement || event.propertyName !== 'height') {
|
|
33
76
|
return;
|
|
34
77
|
}
|
|
35
|
-
if (
|
|
36
|
-
this.
|
|
78
|
+
if (this.open()) {
|
|
79
|
+
this.contentHeight.set('auto');
|
|
37
80
|
return;
|
|
38
81
|
}
|
|
39
|
-
this.host.nativeElement.style.height = 'auto';
|
|
40
82
|
}
|
|
41
|
-
animate
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (open) {
|
|
46
|
-
element.style.visibility = 'visible';
|
|
47
|
-
element.style.height = `${currentHeight}px`;
|
|
48
|
-
if (currentHeight === 0) {
|
|
49
|
-
element.style.opacity = '0';
|
|
50
|
-
}
|
|
51
|
-
void element.offsetHeight;
|
|
52
|
-
this.requestAnimationFrame(() => {
|
|
53
|
-
element.style.height = `${contentHeight}px`;
|
|
54
|
-
element.style.opacity = '1';
|
|
55
|
-
});
|
|
83
|
+
setExpanded(expanded, animate) {
|
|
84
|
+
this.expanded.set(expanded);
|
|
85
|
+
if (expanded) {
|
|
86
|
+
this.openContent(animate);
|
|
56
87
|
return;
|
|
57
88
|
}
|
|
58
|
-
|
|
59
|
-
element.style.opacity = '1';
|
|
60
|
-
void element.offsetHeight;
|
|
61
|
-
this.requestAnimationFrame(() => {
|
|
62
|
-
element.style.height = '0px';
|
|
63
|
-
element.style.opacity = '0';
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
applyStaticState(open) {
|
|
67
|
-
const element = this.host.nativeElement;
|
|
68
|
-
element.style.height = open ? 'auto' : '0px';
|
|
69
|
-
element.style.opacity = open ? '1' : '0';
|
|
70
|
-
element.style.visibility = open ? 'visible' : 'hidden';
|
|
71
|
-
}
|
|
72
|
-
measureContentHeight() {
|
|
73
|
-
return this.host.nativeElement.scrollHeight;
|
|
89
|
+
this.closeContent(animate);
|
|
74
90
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
91
|
+
openContent(animate) {
|
|
92
|
+
this.cancelFrame();
|
|
93
|
+
if (!animate) {
|
|
94
|
+
this.contentHeight.set('auto');
|
|
95
|
+
return;
|
|
78
96
|
}
|
|
79
|
-
this.
|
|
97
|
+
this.contentHeight.set('0px');
|
|
98
|
+
this.scheduleFrame(() => {
|
|
99
|
+
const panel = this.contentPanel()?.nativeElement;
|
|
100
|
+
if (!panel || !this.open()) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this.contentHeight.set(`${panel.scrollHeight}px`);
|
|
104
|
+
});
|
|
80
105
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
106
|
+
closeContent(animate) {
|
|
107
|
+
this.cancelFrame();
|
|
108
|
+
const panel = this.contentPanel()?.nativeElement;
|
|
109
|
+
if (!animate || !panel) {
|
|
110
|
+
this.contentHeight.set('0px');
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
this.contentHeight.set(`${panel.getBoundingClientRect().height}px`);
|
|
114
|
+
this.scheduleFrame(() => {
|
|
115
|
+
if (this.open()) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.contentHeight.set('0px');
|
|
85
119
|
});
|
|
86
|
-
this.rafIds.push(rafId);
|
|
87
120
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionContent, decorators: [{
|
|
92
|
-
type: Directive,
|
|
93
|
-
args: [{
|
|
94
|
-
selector: '[frAccordionContent]',
|
|
95
|
-
standalone: true,
|
|
96
|
-
host: {
|
|
97
|
-
class: 'frame-accordion__content',
|
|
98
|
-
'[attr.aria-hidden]': 'item.open() ? "false" : "true"',
|
|
99
|
-
'[attr.aria-labelledby]': 'item.triggerId()',
|
|
100
|
-
'[attr.data-state]': 'item.open() ? "open" : "closed"',
|
|
101
|
-
'[attr.id]': 'item.contentId()',
|
|
102
|
-
'(transitionend)': 'onTransitionEnd($event)',
|
|
103
|
-
'role': 'region',
|
|
104
|
-
},
|
|
105
|
-
}]
|
|
106
|
-
}] });
|
|
107
|
-
|
|
108
|
-
let accordionItemId = 0;
|
|
109
|
-
/** Item slot for accordion. */
|
|
110
|
-
class FrAccordionItem {
|
|
111
|
-
root = inject(ACCORDION_ROOT);
|
|
112
|
-
itemId = ++accordionItemId;
|
|
113
|
-
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
114
|
-
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
115
|
-
open = computed(() => this.root.isItemOpen(this.value()), ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
116
|
-
triggerId = computed(() => `frame-accordion-trigger-${this.itemId}`, ...(ngDevMode ? [{ debugName: "triggerId" }] : /* istanbul ignore next */ []));
|
|
117
|
-
contentId = computed(() => `frame-accordion-content-${this.itemId}`, ...(ngDevMode ? [{ debugName: "contentId" }] : /* istanbul ignore next */ []));
|
|
118
|
-
toggle() {
|
|
119
|
-
if (this.disabled()) {
|
|
121
|
+
scheduleFrame(callback) {
|
|
122
|
+
if (typeof globalThis.requestAnimationFrame === 'function') {
|
|
123
|
+
this.frameId = globalThis.requestAnimationFrame(callback);
|
|
120
124
|
return;
|
|
121
125
|
}
|
|
122
|
-
|
|
126
|
+
callback();
|
|
123
127
|
}
|
|
124
|
-
|
|
125
|
-
|
|
128
|
+
cancelFrame() {
|
|
129
|
+
if (this.frameId == null || typeof globalThis.cancelAnimationFrame !== 'function') {
|
|
130
|
+
this.frameId = null;
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
globalThis.cancelAnimationFrame(this.frameId);
|
|
134
|
+
this.frameId = null;
|
|
135
|
+
}
|
|
136
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
137
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: FrAccordionItem, isStandalone: true, selector: "frame-accordion-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-state": "open() ? \"open\" : \"closed\"" }, classAttribute: "frame-accordion__item" }, providers: [{ provide: ACCORDION_ITEM, useExisting: FrAccordionItem }], queries: [{ propertyName: "content", first: true, predicate: FrAccordionContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "contentPanel", first: true, predicate: ["contentPanel"], descendants: true, isSignal: true }], exportAs: ["frameAccordionItem"], hostDirectives: [{ directive: i1.CdkAccordionItem }], ngImport: i0, template: `
|
|
138
|
+
<ng-content select="button[frameAccordionTrigger]" />
|
|
139
|
+
|
|
140
|
+
<div
|
|
141
|
+
#contentPanel
|
|
142
|
+
class="frame-accordion__content"
|
|
143
|
+
[attr.aria-hidden]="open() ? null : 'true'"
|
|
144
|
+
[attr.aria-labelledby]="triggerId()"
|
|
145
|
+
[attr.id]="contentId()"
|
|
146
|
+
[attr.data-state]="open() ? 'open' : 'closed'"
|
|
147
|
+
[style.height]="contentHeight()"
|
|
148
|
+
(transitionend)="onContentTransitionEnd($event)"
|
|
149
|
+
role="region"
|
|
150
|
+
>
|
|
151
|
+
<div class="frame-accordion__content-inner">
|
|
152
|
+
<ng-container [ngTemplateOutlet]="content()?.templateRef ?? null" />
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
126
156
|
}
|
|
127
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionItem, decorators: [{
|
|
128
|
-
type:
|
|
158
|
+
type: Component,
|
|
129
159
|
args: [{
|
|
130
|
-
selector: '
|
|
131
|
-
exportAs: '
|
|
160
|
+
selector: 'frame-accordion-item',
|
|
161
|
+
exportAs: 'frameAccordionItem',
|
|
132
162
|
standalone: true,
|
|
163
|
+
imports: [NgTemplateOutlet],
|
|
164
|
+
hostDirectives: [CdkAccordionItem],
|
|
133
165
|
providers: [{ provide: ACCORDION_ITEM, useExisting: FrAccordionItem }],
|
|
134
166
|
host: {
|
|
135
167
|
class: 'frame-accordion__item',
|
|
136
168
|
'[attr.data-disabled]': 'disabled() ? "" : null',
|
|
137
169
|
'[attr.data-state]': 'open() ? "open" : "closed"',
|
|
138
170
|
},
|
|
171
|
+
template: `
|
|
172
|
+
<ng-content select="button[frameAccordionTrigger]" />
|
|
173
|
+
|
|
174
|
+
<div
|
|
175
|
+
#contentPanel
|
|
176
|
+
class="frame-accordion__content"
|
|
177
|
+
[attr.aria-hidden]="open() ? null : 'true'"
|
|
178
|
+
[attr.aria-labelledby]="triggerId()"
|
|
179
|
+
[attr.id]="contentId()"
|
|
180
|
+
[attr.data-state]="open() ? 'open' : 'closed'"
|
|
181
|
+
[style.height]="contentHeight()"
|
|
182
|
+
(transitionend)="onContentTransitionEnd($event)"
|
|
183
|
+
role="region"
|
|
184
|
+
>
|
|
185
|
+
<div class="frame-accordion__content-inner">
|
|
186
|
+
<ng-container [ngTemplateOutlet]="content()?.templateRef ?? null" />
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
`,
|
|
139
190
|
}]
|
|
140
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
191
|
+
}], ctorParameters: () => [], propDecorators: { content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FrAccordionContent), { isSignal: true }] }], contentPanel: [{ type: i0.ViewChild, args: ['contentPanel', { isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
141
192
|
|
|
142
|
-
/** Accordion
|
|
193
|
+
/** Accordion root powered by Angular CDK accordion state management. */
|
|
143
194
|
class FrAccordion {
|
|
195
|
+
cdkAccordion = inject(CdkAccordion, { self: true });
|
|
144
196
|
type = input('single', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
145
|
-
border = input(
|
|
197
|
+
border = input(false, { ...(ngDevMode ? { debugName: "border" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
146
198
|
collapsible = input(false, { ...(ngDevMode ? { debugName: "collapsible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
147
199
|
defaultValue = input(null, ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
|
|
148
200
|
valueChange = output();
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
201
|
+
defaultOpenValues = computed(() => this.normalizeValues(this.defaultValue(), this.type()), ...(ngDevMode ? [{ debugName: "defaultOpenValues" }] : /* istanbul ignore next */ []));
|
|
202
|
+
currentOpenValues = signal([], ...(ngDevMode ? [{ debugName: "currentOpenValues" }] : /* istanbul ignore next */ []));
|
|
203
|
+
openValues = computed(() => new Set(this.currentOpenValues()), ...(ngDevMode ? [{ debugName: "openValues" }] : /* istanbul ignore next */ []));
|
|
204
|
+
constructor() {
|
|
205
|
+
effect(() => {
|
|
206
|
+
this.cdkAccordion.multi = this.type() === 'multiple';
|
|
207
|
+
this.currentOpenValues.set(this.defaultOpenValues());
|
|
208
|
+
});
|
|
152
209
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const isOpen = current.includes(value);
|
|
156
|
-
if (this.type() === 'multiple') {
|
|
157
|
-
const next = isOpen
|
|
158
|
-
? current.filter((item) => item !== value)
|
|
159
|
-
: [...current, value];
|
|
160
|
-
this.commit(next);
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
if (isOpen) {
|
|
164
|
-
if (!this.collapsible()) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
this.commit([]);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
this.commit([value]);
|
|
210
|
+
isDefaultItemOpen(value) {
|
|
211
|
+
return this.currentOpenValues().includes(value);
|
|
171
212
|
}
|
|
172
|
-
|
|
173
|
-
this.
|
|
174
|
-
|
|
175
|
-
this.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
213
|
+
itemExpansionChanged(value, expanded) {
|
|
214
|
+
const current = this.openValues();
|
|
215
|
+
const next = expanded
|
|
216
|
+
? this.type() === 'multiple'
|
|
217
|
+
? [...new Set([...current, value])]
|
|
218
|
+
: [value]
|
|
219
|
+
: [...current].filter((item) => item !== value);
|
|
220
|
+
this.currentOpenValues.set(next);
|
|
221
|
+
this.valueChange.emit(this.type() === 'multiple' ? next : (next[0] ?? null));
|
|
222
|
+
}
|
|
223
|
+
openAll() {
|
|
224
|
+
this.cdkAccordion.openAll();
|
|
225
|
+
}
|
|
226
|
+
closeAll() {
|
|
227
|
+
this.cdkAccordion.closeAll();
|
|
228
|
+
}
|
|
229
|
+
syncCdkMode() {
|
|
230
|
+
this.cdkAccordion.multi = this.type() === 'multiple';
|
|
179
231
|
}
|
|
180
232
|
normalizeValues(value, type) {
|
|
181
233
|
if (Array.isArray(value)) {
|
|
@@ -186,34 +238,36 @@ class FrAccordion {
|
|
|
186
238
|
}
|
|
187
239
|
return [value];
|
|
188
240
|
}
|
|
189
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordion, deps: [], target: i0.ɵɵFactoryTarget.
|
|
190
|
-
static
|
|
241
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrAccordion, isStandalone: true, selector: "frame-accordion", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.data-border": "border() ? \"true\" : \"false\"", "attr.data-type": "type()" }, classAttribute: "frame-accordion" }, providers: [{ provide: ACCORDION_ROOT, useExisting: FrAccordion }], exportAs: ["frameAccordion"], hostDirectives: [{ directive: i1.CdkAccordion }], ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
191
243
|
}
|
|
192
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordion, decorators: [{
|
|
193
|
-
type:
|
|
245
|
+
type: Component,
|
|
194
246
|
args: [{
|
|
195
|
-
selector: '
|
|
196
|
-
exportAs: '
|
|
247
|
+
selector: 'frame-accordion',
|
|
248
|
+
exportAs: 'frameAccordion',
|
|
197
249
|
standalone: true,
|
|
250
|
+
hostDirectives: [CdkAccordion],
|
|
198
251
|
providers: [{ provide: ACCORDION_ROOT, useExisting: FrAccordion }],
|
|
199
252
|
host: {
|
|
200
253
|
class: 'frame-accordion',
|
|
201
254
|
'[attr.data-border]': 'border() ? "true" : "false"',
|
|
202
255
|
'[attr.data-type]': 'type()',
|
|
203
256
|
},
|
|
257
|
+
template: `<ng-content />`,
|
|
204
258
|
}]
|
|
205
|
-
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "border", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
259
|
+
}], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "border", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
206
260
|
|
|
207
|
-
/** Trigger control for accordion. */
|
|
261
|
+
/** Trigger control for accordion items. */
|
|
208
262
|
class FrAccordionTrigger {
|
|
209
263
|
item = inject(ACCORDION_ITEM);
|
|
210
264
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
211
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrAccordionTrigger, isStandalone: true, selector: "button[
|
|
265
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrAccordionTrigger, isStandalone: true, selector: "button[frameAccordionTrigger]", host: { attributes: { "type": "button" }, listeners: { "click": "item.toggle()" }, properties: { "attr.aria-controls": "item.contentId()", "attr.aria-expanded": "item.open() ? \"true\" : \"false\"", "attr.data-disabled": "item.disabled() ? \"\" : null", "attr.data-state": "item.open() ? \"open\" : \"closed\"", "attr.disabled": "item.disabled() ? \"\" : null", "attr.id": "item.triggerId()" }, classAttribute: "frame-accordion__trigger" }, ngImport: i0 });
|
|
212
266
|
}
|
|
213
267
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionTrigger, decorators: [{
|
|
214
268
|
type: Directive,
|
|
215
269
|
args: [{
|
|
216
|
-
selector: 'button[
|
|
270
|
+
selector: 'button[frameAccordionTrigger]',
|
|
217
271
|
standalone: true,
|
|
218
272
|
host: {
|
|
219
273
|
class: 'frame-accordion__trigger',
|
|
@@ -228,15 +282,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
228
282
|
},
|
|
229
283
|
}]
|
|
230
284
|
}] });
|
|
231
|
-
/**
|
|
285
|
+
/** Optional icon slot for accordion triggers. */
|
|
232
286
|
class FrAccordionIcon {
|
|
233
287
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
234
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrAccordionIcon, isStandalone: true, selector: "[
|
|
288
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrAccordionIcon, isStandalone: true, selector: "[frameAccordionIcon]", host: { attributes: { "aria-hidden": "true" }, classAttribute: "frame-accordion__icon" }, ngImport: i0 });
|
|
235
289
|
}
|
|
236
290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAccordionIcon, decorators: [{
|
|
237
291
|
type: Directive,
|
|
238
292
|
args: [{
|
|
239
|
-
selector: '[
|
|
293
|
+
selector: '[frameAccordionIcon]',
|
|
240
294
|
standalone: true,
|
|
241
295
|
host: {
|
|
242
296
|
class: 'frame-accordion__icon',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-accordion.mjs","sources":["../../../projects/components/accordion/src/accordion.tokens.ts","../../../projects/components/accordion/src/accordion.content.ts","../../../projects/components/accordion/src/accordion.item.ts","../../../projects/components/accordion/src/accordion.root.ts","../../../projects/components/accordion/src/accordion.trigger.ts","../../../projects/components/accordion/src/accordion.types.ts","../../../projects/components/accordion/accordion.module.ts","../../../projects/components/accordion/frame-ui-ng-components-accordion.ts"],"sourcesContent":["import { InjectionToken, Signal } from '@angular/core';\n\nexport interface FrAccordionRootContext {\n isItemOpen(value: string): boolean;\n toggleItem(value: string): void;\n}\n\nexport interface FrAccordionItemContext {\n readonly contentId: Signal<string>;\n readonly disabled: Signal<boolean>;\n readonly open: Signal<boolean>;\n readonly triggerId: Signal<string>;\n toggle(): void;\n}\n\nexport const ACCORDION_ROOT = new InjectionToken<FrAccordionRootContext>('FrAccordion');\nexport const ACCORDION_ITEM = new InjectionToken<FrAccordionItemContext>('FrAccordionItem');\n","import { AfterViewInit, Directive, DoCheck, ElementRef, OnDestroy, inject } from '@angular/core';\r\n\r\nimport { ACCORDION_ITEM } from './accordion.tokens';\r\n\r\n/** Content slot for accordion. */\r\n@Directive({\r\n selector: '[frAccordionContent]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-accordion__content',\r\n '[attr.aria-hidden]': 'item.open() ? \"false\" : \"true\"',\r\n '[attr.aria-labelledby]': 'item.triggerId()',\r\n '[attr.data-state]': 'item.open() ? \"open\" : \"closed\"',\r\n '[attr.id]': 'item.contentId()',\r\n '(transitionend)': 'onTransitionEnd($event)',\r\n 'role': 'region',\r\n },\r\n})\r\nexport class FrAccordionContent implements AfterViewInit, DoCheck, OnDestroy {\r\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\r\n protected readonly item = inject(ACCORDION_ITEM);\r\n private initialized = false;\r\n private lastOpen = false;\r\n private rafIds: number[] = [];\r\n\r\n ngAfterViewInit(): void {\r\n this.lastOpen = this.item.open();\r\n this.applyStaticState(this.lastOpen);\r\n this.initialized = true;\r\n }\r\n\r\n ngDoCheck(): void {\r\n const open = this.item.open();\r\n\r\n if (!this.initialized || open === this.lastOpen) {\r\n return;\r\n }\r\n\r\n this.cancelAnimationFrame();\r\n this.lastOpen = open;\r\n this.animate(open);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cancelAnimationFrame();\r\n }\r\n\r\n onTransitionEnd(event: TransitionEvent): void {\r\n if (event.target !== this.host.nativeElement || event.propertyName !== 'height') {\r\n return;\r\n }\r\n\r\n if (!this.item.open()) {\r\n this.host.nativeElement.style.visibility = 'hidden';\r\n return;\r\n }\r\n\r\n this.host.nativeElement.style.height = 'auto';\r\n }\r\n\r\n private animate(open: boolean): void {\r\n const element = this.host.nativeElement;\r\n const currentHeight = element.getBoundingClientRect().height;\r\n const contentHeight = this.measureContentHeight();\r\n\r\n if (open) {\r\n element.style.visibility = 'visible';\r\n element.style.height = `${currentHeight}px`;\r\n\r\n if (currentHeight === 0) {\r\n element.style.opacity = '0';\r\n }\r\n\r\n void element.offsetHeight;\r\n\r\n this.requestAnimationFrame(() => {\r\n element.style.height = `${contentHeight}px`;\r\n element.style.opacity = '1';\r\n });\r\n return;\r\n }\r\n\r\n element.style.height = `${currentHeight || contentHeight}px`;\r\n element.style.opacity = '1';\r\n void element.offsetHeight;\r\n\r\n this.requestAnimationFrame(() => {\r\n element.style.height = '0px';\r\n element.style.opacity = '0';\r\n });\r\n }\r\n\r\n private applyStaticState(open: boolean): void {\r\n const element = this.host.nativeElement;\r\n\r\n element.style.height = open ? 'auto' : '0px';\r\n element.style.opacity = open ? '1' : '0';\r\n element.style.visibility = open ? 'visible' : 'hidden';\r\n }\r\n\r\n private measureContentHeight(): number {\r\n return this.host.nativeElement.scrollHeight;\r\n }\r\n\r\n private cancelAnimationFrame(): void {\r\n for (const rafId of this.rafIds) {\r\n cancelAnimationFrame(rafId);\r\n }\r\n\r\n this.rafIds = [];\r\n }\r\n\r\n private requestAnimationFrame(callback: FrameRequestCallback): void {\r\n const rafId = requestAnimationFrame((time) => {\r\n this.rafIds = this.rafIds.filter((id) => id !== rafId);\r\n callback(time);\r\n });\r\n\r\n this.rafIds.push(rafId);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n booleanAttribute,\r\n computed,\r\n inject,\r\n input,\r\n} from '@angular/core';\r\n\r\nimport { ACCORDION_ITEM, ACCORDION_ROOT } from './accordion.tokens';\r\n\r\nlet accordionItemId = 0;\r\n\r\n/** Item slot for accordion. */\r\n@Directive({\r\n selector: '[frAccordionItem]',\r\n exportAs: 'frAccordionItem',\r\n standalone: true,\r\n providers: [{ provide: ACCORDION_ITEM, useExisting: FrAccordionItem }],\r\n host: {\r\n class: 'frame-accordion__item',\r\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\r\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\r\n },\r\n})\r\nexport class FrAccordionItem {\r\n private readonly root = inject(ACCORDION_ROOT);\r\n private readonly itemId = ++accordionItemId;\r\n\r\n readonly value = input.required<string>();\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n readonly open = computed(() => this.root.isItemOpen(this.value()));\r\n readonly triggerId = computed(() => `frame-accordion-trigger-${this.itemId}`);\r\n readonly contentId = computed(() => `frame-accordion-content-${this.itemId}`);\r\n\r\n toggle(): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n\r\n this.root.toggleItem(this.value());\r\n }\r\n}\r\n","import {\r\n Directive,\r\n booleanAttribute,\r\n input,\r\n linkedSignal,\r\n output,\r\n} from '@angular/core';\r\n\r\nimport { ACCORDION_ROOT } from './accordion.tokens';\r\nimport { FrAccordionType } from './accordion.types';\r\n\r\n/** Accordion component primitive. */\r\n@Directive({\r\n selector: '[frAccordion]',\r\n exportAs: 'frAccordion',\r\n standalone: true,\r\n providers: [{ provide: ACCORDION_ROOT, useExisting: FrAccordion }],\r\n host: {\r\n class: 'frame-accordion',\r\n '[attr.data-border]': 'border() ? \"true\" : \"false\"',\r\n '[attr.data-type]': 'type()',\r\n },\r\n})\r\nexport class FrAccordion {\r\n readonly type = input<FrAccordionType>('single');\r\n readonly border = input(true, { transform: booleanAttribute });\r\n readonly collapsible = input(false, { transform: booleanAttribute });\r\n readonly defaultValue = input<string | readonly string[] | null>(null);\r\n readonly valueChange = output<string | string[] | null>();\r\n\r\n private readonly openItems = linkedSignal(() => this.normalizeValues(this.defaultValue(), this.type()));\r\n\r\n isItemOpen(value: string): boolean {\r\n return this.openItems().includes(value);\r\n }\r\n\r\n toggleItem(value: string): void {\r\n const current = this.openItems();\r\n const isOpen = current.includes(value);\r\n\r\n if (this.type() === 'multiple') {\r\n const next = isOpen\r\n ? current.filter((item) => item !== value)\r\n : [...current, value];\r\n this.commit(next);\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n if (!this.collapsible()) {\r\n return;\r\n }\r\n\r\n this.commit([]);\r\n return;\r\n }\r\n\r\n this.commit([value]);\r\n }\r\n\r\n private commit(next: string[]): void {\r\n this.openItems.set(next);\r\n\r\n if (this.type() === 'multiple') {\r\n this.valueChange.emit(next);\r\n return;\r\n }\r\n\r\n this.valueChange.emit(next[0] ?? null);\r\n }\r\n\r\n private normalizeValues(\r\n value: string | readonly string[] | null,\r\n type: FrAccordionType,\r\n ): string[] {\r\n if (Array.isArray(value)) {\r\n return type === 'multiple' ? [...value] : value.length ? [value[0]] : [];\r\n }\r\n\r\n if (value == null || value === '') {\r\n return [];\r\n }\r\n\r\n return [value as string];\r\n }\r\n}\r\n","import { Directive, inject } from '@angular/core';\r\n\r\nimport { ACCORDION_ITEM } from './accordion.tokens';\r\n\r\n/** Trigger control for accordion. */\r\n@Directive({\r\n selector: 'button[frAccordionTrigger]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-accordion__trigger',\r\n '[attr.aria-controls]': 'item.contentId()',\r\n '[attr.aria-expanded]': 'item.open() ? \"true\" : \"false\"',\r\n '[attr.data-disabled]': 'item.disabled() ? \"\" : null',\r\n '[attr.data-state]': 'item.open() ? \"open\" : \"closed\"',\r\n '[attr.disabled]': 'item.disabled() ? \"\" : null',\r\n '[attr.id]': 'item.triggerId()',\r\n 'type': 'button',\r\n '(click)': 'item.toggle()',\r\n },\r\n})\r\nexport class FrAccordionTrigger {\r\n protected readonly item = inject(ACCORDION_ITEM);\r\n}\r\n\r\n/** Icon slot for accordion. */\r\n@Directive({\r\n selector: '[frAccordionIcon]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-accordion__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrAccordionIcon {}\r\n","export const FR_ACCORDION_TYPES = ['single', 'multiple'] as const;\n\nexport type FrAccordionType = (typeof FR_ACCORDION_TYPES)[number];\n","import { NgModule } from '@angular/core';\nimport {\n FrAccordion,\n FrAccordionContent,\n FrAccordionIcon,\n FrAccordionItem,\n FrAccordionTrigger,\n} from './src/accordion';\n\n@NgModule({\n imports: [\n FrAccordion,\n FrAccordionContent,\n FrAccordionIcon,\n FrAccordionItem,\n FrAccordionTrigger,\n ],\n exports: [\n FrAccordion,\n FrAccordionContent,\n FrAccordionIcon,\n FrAccordionItem,\n FrAccordionTrigger,\n ],\n})\nexport class FrAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-accordion.mjs","sources":["../../../projects/components/accordion/src/accordion.content.ts","../../../projects/components/accordion/src/accordion.tokens.ts","../../../projects/components/accordion/src/accordion.item.ts","../../../projects/components/accordion/src/accordion.root.ts","../../../projects/components/accordion/src/accordion.trigger.ts","../../../projects/components/accordion/src/accordion.types.ts","../../../projects/components/accordion/accordion.module.ts","../../../projects/components/accordion/frame-ui-ng-components-accordion.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\r\n\r\n/** Content template for accordion items. */\r\n@Directive({\r\n selector: 'ng-template[frameAccordionContent]',\r\n standalone: true,\r\n})\r\nexport class FrAccordionContent {\r\n readonly templateRef = inject(TemplateRef<unknown>);\r\n}\r\n","import { InjectionToken, Signal } from '@angular/core';\r\n\r\nimport { FrAccordionType } from './accordion.types';\r\n\r\nexport interface FrAccordionRootContext {\r\n readonly collapsible: Signal<boolean>;\r\n readonly type: Signal<FrAccordionType>;\r\n isDefaultItemOpen(value: string): boolean;\r\n itemExpansionChanged(value: string, expanded: boolean): void;\r\n syncCdkMode(): void;\r\n}\r\n\r\nexport interface FrAccordionItemContext {\r\n readonly contentId: Signal<string>;\r\n readonly disabled: Signal<boolean>;\r\n readonly open: Signal<boolean>;\r\n readonly triggerId: Signal<string>;\r\n toggle(): void;\r\n}\r\n\r\nexport const ACCORDION_ROOT = new InjectionToken<FrAccordionRootContext>('FrAccordion');\r\nexport const ACCORDION_ITEM = new InjectionToken<FrAccordionItemContext>('FrAccordionItem');\r\n","import {\r\n Component,\r\n DestroyRef,\r\n ElementRef,\r\n booleanAttribute,\r\n computed,\r\n contentChild,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { CdkAccordionItem } from '@angular/cdk/accordion';\r\n\r\nimport { ACCORDION_ITEM, ACCORDION_ROOT } from './accordion.tokens';\r\nimport { FrAccordionContent } from './accordion.content';\r\n\r\n/** Accordion item powered by Angular CDK accordion item state. */\r\n@Component({\r\n selector: 'frame-accordion-item',\r\n exportAs: 'frameAccordionItem',\r\n standalone: true,\r\n imports: [NgTemplateOutlet],\r\n hostDirectives: [CdkAccordionItem],\r\n providers: [{ provide: ACCORDION_ITEM, useExisting: FrAccordionItem }],\r\n host: {\r\n class: 'frame-accordion__item',\r\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\r\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\r\n },\r\n template: `\r\n <ng-content select=\"button[frameAccordionTrigger]\" />\r\n\r\n <div\r\n #contentPanel\r\n class=\"frame-accordion__content\"\r\n [attr.aria-hidden]=\"open() ? null : 'true'\"\r\n [attr.aria-labelledby]=\"triggerId()\"\r\n [attr.id]=\"contentId()\"\r\n [attr.data-state]=\"open() ? 'open' : 'closed'\"\r\n [style.height]=\"contentHeight()\"\r\n (transitionend)=\"onContentTransitionEnd($event)\"\r\n role=\"region\"\r\n >\r\n <div class=\"frame-accordion__content-inner\">\r\n <ng-container [ngTemplateOutlet]=\"content()?.templateRef ?? null\" />\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class FrAccordionItem {\r\n private readonly root = inject(ACCORDION_ROOT);\r\n private readonly cdkItem = inject(CdkAccordionItem, { self: true });\r\n private readonly destroyRef = inject(DestroyRef);\r\n private readonly expanded = signal(false);\r\n private frameId: number | null = null;\r\n private syncingDefaultState = false;\r\n\r\n readonly content = contentChild(FrAccordionContent);\r\n readonly contentPanel = viewChild<ElementRef<HTMLElement>>('contentPanel');\r\n readonly value = input.required<string>();\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n readonly open = computed(() => this.expanded());\r\n readonly contentHeight = signal('0px');\r\n readonly triggerId = computed(() => `frame-accordion-trigger-${this.cdkItem.id}`);\r\n readonly contentId = computed(() => `frame-accordion-content-${this.cdkItem.id}`);\r\n\r\n constructor() {\r\n const expandedSubscription = this.cdkItem.expandedChange.subscribe((expanded) => {\r\n this.setExpanded(expanded, !this.syncingDefaultState);\r\n\r\n if (!this.syncingDefaultState) {\r\n this.root.itemExpansionChanged(this.value(), expanded);\r\n }\r\n });\r\n\r\n this.destroyRef.onDestroy(() => {\r\n expandedSubscription.unsubscribe();\r\n this.cancelFrame();\r\n });\r\n\r\n effect(() => {\r\n this.cdkItem.disabled = this.disabled();\r\n });\r\n\r\n effect(() => {\r\n this.syncingDefaultState = true;\r\n const shouldBeExpanded = this.root.isDefaultItemOpen(this.value());\r\n\r\n if (this.cdkItem.expanded !== shouldBeExpanded) {\r\n this.cdkItem.expanded = shouldBeExpanded;\r\n this.setExpanded(shouldBeExpanded, false);\r\n }\r\n\r\n this.syncingDefaultState = false;\r\n });\r\n }\r\n\r\n toggle(): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n\r\n if (this.open() && this.root.type() === 'single' && !this.root.collapsible()) {\r\n return;\r\n }\r\n\r\n this.root.syncCdkMode();\r\n this.cdkItem.toggle();\r\n }\r\n\r\n onContentTransitionEnd(event: TransitionEvent): void {\r\n if (event.target !== this.contentPanel()?.nativeElement || event.propertyName !== 'height') {\r\n return;\r\n }\r\n\r\n if (this.open()) {\r\n this.contentHeight.set('auto');\r\n return;\r\n }\r\n }\r\n\r\n private setExpanded(expanded: boolean, animate: boolean): void {\r\n this.expanded.set(expanded);\r\n\r\n if (expanded) {\r\n this.openContent(animate);\r\n return;\r\n }\r\n\r\n this.closeContent(animate);\r\n }\r\n\r\n private openContent(animate: boolean): void {\r\n this.cancelFrame();\r\n\r\n if (!animate) {\r\n this.contentHeight.set('auto');\r\n return;\r\n }\r\n\r\n this.contentHeight.set('0px');\r\n this.scheduleFrame(() => {\r\n const panel = this.contentPanel()?.nativeElement;\r\n\r\n if (!panel || !this.open()) {\r\n return;\r\n }\r\n\r\n this.contentHeight.set(`${panel.scrollHeight}px`);\r\n });\r\n }\r\n\r\n private closeContent(animate: boolean): void {\r\n this.cancelFrame();\r\n const panel = this.contentPanel()?.nativeElement;\r\n\r\n if (!animate || !panel) {\r\n this.contentHeight.set('0px');\r\n return;\r\n }\r\n\r\n this.contentHeight.set(`${panel.getBoundingClientRect().height}px`);\r\n this.scheduleFrame(() => {\r\n if (this.open()) {\r\n return;\r\n }\r\n\r\n this.contentHeight.set('0px');\r\n });\r\n }\r\n\r\n private scheduleFrame(callback: () => void): void {\r\n if (typeof globalThis.requestAnimationFrame === 'function') {\r\n this.frameId = globalThis.requestAnimationFrame(callback);\r\n return;\r\n }\r\n\r\n callback();\r\n }\r\n\r\n private cancelFrame(): void {\r\n if (this.frameId == null || typeof globalThis.cancelAnimationFrame !== 'function') {\r\n this.frameId = null;\r\n return;\r\n }\r\n\r\n globalThis.cancelAnimationFrame(this.frameId);\r\n this.frameId = null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n booleanAttribute,\r\n computed,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { CdkAccordion } from '@angular/cdk/accordion';\r\n\r\nimport { ACCORDION_ROOT } from './accordion.tokens';\r\nimport { FrAccordionType } from './accordion.types';\r\n\r\n/** Accordion root powered by Angular CDK accordion state management. */\r\n@Component({\r\n selector: 'frame-accordion',\r\n exportAs: 'frameAccordion',\r\n standalone: true,\r\n hostDirectives: [CdkAccordion],\r\n providers: [{ provide: ACCORDION_ROOT, useExisting: FrAccordion }],\r\n host: {\r\n class: 'frame-accordion',\r\n '[attr.data-border]': 'border() ? \"true\" : \"false\"',\r\n '[attr.data-type]': 'type()',\r\n },\r\n template: `<ng-content />`,\r\n})\r\nexport class FrAccordion {\r\n private readonly cdkAccordion = inject(CdkAccordion, { self: true });\r\n\r\n readonly type = input<FrAccordionType>('single');\r\n readonly border = input(false, { transform: booleanAttribute });\r\n readonly collapsible = input(false, { transform: booleanAttribute });\r\n readonly defaultValue = input<string | readonly string[] | null>(null);\r\n readonly valueChange = output<string | string[] | null>();\r\n\r\n private readonly defaultOpenValues = computed(() =>\r\n this.normalizeValues(this.defaultValue(), this.type()),\r\n );\r\n private readonly currentOpenValues = signal<string[]>([]);\r\n private readonly openValues = computed(() => new Set(this.currentOpenValues()));\r\n\r\n constructor() {\r\n effect(() => {\r\n this.cdkAccordion.multi = this.type() === 'multiple';\r\n this.currentOpenValues.set(this.defaultOpenValues());\r\n });\r\n }\r\n\r\n isDefaultItemOpen(value: string): boolean {\r\n return this.currentOpenValues().includes(value);\r\n }\r\n\r\n itemExpansionChanged(value: string, expanded: boolean): void {\r\n const current = this.openValues();\r\n const next = expanded\r\n ? this.type() === 'multiple'\r\n ? [...new Set([...current, value])]\r\n : [value]\r\n : [...current].filter((item) => item !== value);\r\n\r\n this.currentOpenValues.set(next);\r\n this.valueChange.emit(this.type() === 'multiple' ? next : (next[0] ?? null));\r\n }\r\n\r\n openAll(): void {\r\n this.cdkAccordion.openAll();\r\n }\r\n\r\n closeAll(): void {\r\n this.cdkAccordion.closeAll();\r\n }\r\n\r\n syncCdkMode(): void {\r\n this.cdkAccordion.multi = this.type() === 'multiple';\r\n }\r\n\r\n private normalizeValues(\r\n value: string | readonly string[] | null,\r\n type: FrAccordionType,\r\n ): string[] {\r\n if (Array.isArray(value)) {\r\n return type === 'multiple' ? [...value] : value.length ? [value[0]] : [];\r\n }\r\n\r\n if (value == null || value === '') {\r\n return [];\r\n }\r\n\r\n return [value as string];\r\n }\r\n}\r\n","import { Directive, inject } from '@angular/core';\r\n\r\nimport { ACCORDION_ITEM } from './accordion.tokens';\r\n\r\n/** Trigger control for accordion items. */\r\n@Directive({\r\n selector: 'button[frameAccordionTrigger]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-accordion__trigger',\r\n '[attr.aria-controls]': 'item.contentId()',\r\n '[attr.aria-expanded]': 'item.open() ? \"true\" : \"false\"',\r\n '[attr.data-disabled]': 'item.disabled() ? \"\" : null',\r\n '[attr.data-state]': 'item.open() ? \"open\" : \"closed\"',\r\n '[attr.disabled]': 'item.disabled() ? \"\" : null',\r\n '[attr.id]': 'item.triggerId()',\r\n 'type': 'button',\r\n '(click)': 'item.toggle()',\r\n },\r\n})\r\nexport class FrAccordionTrigger {\r\n protected readonly item = inject(ACCORDION_ITEM);\r\n}\r\n\r\n/** Optional icon slot for accordion triggers. */\r\n@Directive({\r\n selector: '[frameAccordionIcon]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-accordion__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrAccordionIcon {}\r\n","export const FR_ACCORDION_TYPES = ['single', 'multiple'] as const;\n\nexport type FrAccordionType = (typeof FR_ACCORDION_TYPES)[number];\n","import { NgModule } from '@angular/core';\r\n\r\nimport {\r\n FrAccordion,\r\n FrAccordionContent,\r\n FrAccordionIcon,\r\n FrAccordionItem,\r\n FrAccordionTrigger,\r\n} from './src/accordion';\r\n\r\n@NgModule({\r\n imports: [\r\n FrAccordion,\r\n FrAccordionContent,\r\n FrAccordionIcon,\r\n FrAccordionItem,\r\n FrAccordionTrigger,\r\n ],\r\n exports: [\r\n FrAccordion,\r\n FrAccordionContent,\r\n FrAccordionIcon,\r\n FrAccordionItem,\r\n FrAccordionTrigger,\r\n ],\r\n})\r\nexport class FrAccordionModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEA;MAKa,kBAAkB,CAAA;AACpB,IAAA,WAAW,GAAG,MAAM,EAAC,WAAoB,EAAC;wGADxC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACcM,MAAM,cAAc,GAAG,IAAI,cAAc,CAAyB,aAAa,CAAC;AAChF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAyB,iBAAiB,CAAC;;ACF3F;MAiCa,eAAe,CAAA;AACT,IAAA,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7B,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAClD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;IACjC,OAAO,GAAkB,IAAI;IAC7B,mBAAmB,GAAG,KAAK;AAE1B,IAAA,OAAO,GAAG,YAAY,CAAC,kBAAkB,8EAAC;AAC1C,IAAA,YAAY,GAAG,SAAS,CAA0B,cAAc,mFAAC;AACjE,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;IAChC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAExD,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACtC,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,oFAAC;AAC7B,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAA,wBAAA,EAA2B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA,CAAE,gFAAC;AACxE,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAA,wBAAA,EAA2B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA,CAAE,gFAAC;AAEjF,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;YAC9E,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAErD,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC;YACxD;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;YAC7B,oBAAoB,CAAC,WAAW,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE;AACpB,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AACzC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAElE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,gBAAgB,EAAE;AAC9C,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,gBAAgB;AACxC,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;YAC3C;AAEA,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAClC,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB;QACF;QAEA,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YAC5E;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;IACvB;AAEA,IAAA,sBAAsB,CAAC,KAAsB,EAAA;AAC3C,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE;YAC1F;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACf,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;QACF;IACF;IAEQ,WAAW,CAAC,QAAiB,EAAE,OAAgB,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE3B,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACzB;QACF;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAC5B;AAEQ,IAAA,WAAW,CAAC,OAAgB,EAAA;QAClC,IAAI,CAAC,WAAW,EAAE;QAElB,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,MAAK;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa;YAEhD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;gBAC1B;YACF;YAEA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA,EAAG,KAAK,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC;AACnD,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,OAAgB,EAAA;QACnC,IAAI,CAAC,WAAW,EAAE;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa;AAEhD,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA,EAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAA,EAAA,CAAI,CAAC;AACnE,QAAA,IAAI,CAAC,aAAa,CAAC,MAAK;AACtB,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf;YACF;AAEA,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC/B,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,aAAa,CAAC,QAAoB,EAAA;AACxC,QAAA,IAAI,OAAO,UAAU,CAAC,qBAAqB,KAAK,UAAU,EAAE;YAC1D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YACzD;QACF;AAEA,QAAA,QAAQ,EAAE;IACZ;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,UAAU,CAAC,oBAAoB,KAAK,UAAU,EAAE;AACjF,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACnB;QACF;AAEA,QAAA,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;wGA5IW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,gCAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EA1Bf,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkCtC,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5BxC,CAAA;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA1BS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FA4Bf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhC3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,cAAc,EAAE,CAAC,gBAAgB,CAAC;oBAClC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAA,eAAiB,EAAE,CAAC;AACtE,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,sBAAsB,EAAE,wBAAwB;AAChD,wBAAA,mBAAmB,EAAE,4BAA4B;AAClD,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;AACF,iBAAA;AASiC,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,kBAAkB,uEACS,cAAc,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AC9C3E;MAca,WAAW,CAAA;IACL,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAE3D,IAAA,IAAI,GAAG,KAAK,CAAkB,QAAQ,2EAAC;IACvC,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACtD,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC3D,IAAA,YAAY,GAAG,KAAK,CAAoC,IAAI,mFAAC;IAC7D,WAAW,GAAG,MAAM,EAA4B;IAExC,iBAAiB,GAAG,QAAQ,CAAC,MAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACvD;AACgB,IAAA,iBAAiB,GAAG,MAAM,CAAW,EAAE,wFAAC;AACxC,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,iFAAC;AAE/E,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU;YACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACtD,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,iBAAiB,CAAC,KAAa,EAAA;QAC7B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IACjD;IAEA,oBAAoB,CAAC,KAAa,EAAE,QAAiB,EAAA;AACnD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;QACjC,MAAM,IAAI,GAAG;AACX,cAAE,IAAI,CAAC,IAAI,EAAE,KAAK;AAChB,kBAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;kBAChC,CAAC,KAAK;AACV,cAAE,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC;AAEjD,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9E;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;IAC7B;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC9B;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU;IACtD;IAEQ,eAAe,CACrB,KAAwC,EACxC,IAAqB,EAAA;AAErB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,KAAK,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QAC1E;QAEA,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AACjC,YAAA,OAAO,EAAE;QACX;QAEA,OAAO,CAAC,KAAe,CAAC;IAC1B;wGA/DW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,iCAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EARX,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,0GAMxD,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEf,WAAW,EAAA,UAAA,EAAA,CAAA;kBAbvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,YAAY,CAAC;oBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAA,WAAa,EAAE,CAAC;AAClE,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,oBAAoB,EAAE,6BAA6B;AACnD,wBAAA,kBAAkB,EAAE,QAAQ;AAC7B,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;;ACxBD;MAgBa,kBAAkB,CAAA;AACV,IAAA,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;wGADrC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oCAAA,EAAA,oBAAA,EAAA,+BAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,eAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,0BAA0B;AACjC,wBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,wBAAA,sBAAsB,EAAE,gCAAgC;AACxD,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,mBAAmB,EAAE,iCAAiC;AACtD,wBAAA,iBAAiB,EAAE,6BAA6B;AAChD,wBAAA,WAAW,EAAE,kBAAkB;AAC/B,wBAAA,MAAM,EAAE,QAAQ;AAChB,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA;AACF,iBAAA;;AAKD;MASa,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,aAAa,EAAE,MAAM;AACtB,qBAAA;AACF,iBAAA;;;MChCY,kBAAkB,GAAG,CAAC,QAAQ,EAAE,UAAU;;MC0B1C,iBAAiB,CAAA;wGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAd1B,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,eAAe;AACf,YAAA,kBAAkB,aAGlB,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,eAAe;YACf,kBAAkB,CAAA,EAAA,CAAA;yGAGT,iBAAiB,EAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,kBAAkB;wBAClB,eAAe;wBACf,eAAe;wBACf,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,kBAAkB;wBAClB,eAAe;wBACf,eAAe;wBACf,kBAAkB;AACnB,qBAAA;AACF,iBAAA;;;ACzBD;;AAEG;;;;"}
|
|
@@ -12,14 +12,14 @@ const FR_ALERT_VARIANTS = [
|
|
|
12
12
|
class FrAlert {
|
|
13
13
|
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
14
14
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAlert, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrAlert, isStandalone: true, selector: "[frAlert]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "alert" }, properties: { "attr.data-variant": "variant()" }, classAttribute: "frame-alert" }, ngImport: i0 });
|
|
15
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrAlert, isStandalone: true, selector: "[frAlert]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "alert" }, properties: { "attr.data-variant": "variant()" }, classAttribute: "frame-alert frame-corner-handles" }, ngImport: i0 });
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrAlert, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[frAlert]',
|
|
21
21
|
host: {
|
|
22
|
-
class: 'frame-alert',
|
|
22
|
+
class: 'frame-alert frame-corner-handles',
|
|
23
23
|
'[attr.data-variant]': 'variant()',
|
|
24
24
|
'role': 'alert',
|
|
25
25
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-alert.mjs","sources":["../../../projects/components/alert/src/alert.ts","../../../projects/components/alert/alert.module.ts","../../../projects/components/alert/frame-ui-ng-components-alert.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\r\n\r\nexport const FR_ALERT_VARIANTS = [\r\n 'default',\r\n 'destructive',\r\n 'success',\r\n 'danger',\r\n 'info',\r\n] as const;\r\n\r\nexport type FrAlertVariant = (typeof FR_ALERT_VARIANTS)[number];\r\n\r\n/** Alert component primitive. */\r\n@Directive({\r\n selector: '[frAlert]',\r\n host: {\r\n class: 'frame-alert',\r\n '[attr.data-variant]': 'variant()',\r\n 'role': 'alert',\r\n },\r\n})\r\nexport class FrAlert {\r\n readonly variant = input<FrAlertVariant>('default');\r\n}\r\n\r\n/** Icon slot for alert. */\r\n@Directive({\r\n selector: '[frAlertIcon]',\r\n host: {\r\n class: 'frame-alert__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrAlertIcon {}\r\n\r\n/** Title slot for alert. */\r\n@Directive({\r\n selector: '[frAlertTitle]',\r\n host: {\r\n class: 'frame-alert__title',\r\n },\r\n})\r\nexport class FrAlertTitle {}\r\n\r\n/** Description slot for alert. */\r\n@Directive({\r\n selector: '[frAlertDescription]',\r\n host: {\r\n class: 'frame-alert__description',\r\n },\r\n})\r\nexport class FrAlertDescription {}\r\n","import { NgModule } from '@angular/core';\nimport {\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n} from './src/alert';\n\n@NgModule({\n imports: [\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n ],\n exports: [\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n ],\n})\nexport class FrAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,aAAa;IACb,SAAS;IACT,QAAQ;IACR,MAAM;;AAKR;MASa,OAAO,CAAA;AACT,IAAA,OAAO,GAAG,KAAK,CAAiB,SAAS,8EAAC;wGADxC,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-alert.mjs","sources":["../../../projects/components/alert/src/alert.ts","../../../projects/components/alert/alert.module.ts","../../../projects/components/alert/frame-ui-ng-components-alert.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\r\n\r\nexport const FR_ALERT_VARIANTS = [\r\n 'default',\r\n 'destructive',\r\n 'success',\r\n 'danger',\r\n 'info',\r\n] as const;\r\n\r\nexport type FrAlertVariant = (typeof FR_ALERT_VARIANTS)[number];\r\n\r\n/** Alert component primitive. */\r\n@Directive({\r\n selector: '[frAlert]',\r\n host: {\r\n class: 'frame-alert frame-corner-handles',\r\n '[attr.data-variant]': 'variant()',\r\n 'role': 'alert',\r\n },\r\n})\r\nexport class FrAlert {\r\n readonly variant = input<FrAlertVariant>('default');\r\n}\r\n\r\n/** Icon slot for alert. */\r\n@Directive({\r\n selector: '[frAlertIcon]',\r\n host: {\r\n class: 'frame-alert__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrAlertIcon {}\r\n\r\n/** Title slot for alert. */\r\n@Directive({\r\n selector: '[frAlertTitle]',\r\n host: {\r\n class: 'frame-alert__title',\r\n },\r\n})\r\nexport class FrAlertTitle {}\r\n\r\n/** Description slot for alert. */\r\n@Directive({\r\n selector: '[frAlertDescription]',\r\n host: {\r\n class: 'frame-alert__description',\r\n },\r\n})\r\nexport class FrAlertDescription {}\r\n","import { NgModule } from '@angular/core';\nimport {\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n} from './src/alert';\n\n@NgModule({\n imports: [\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n ],\n exports: [\n FrAlert,\n FrAlertDescription,\n FrAlertIcon,\n FrAlertTitle,\n ],\n})\nexport class FrAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|