@spartan-ng/brain 0.0.1-alpha.707 → 0.0.1-alpha.709
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/fesm2022/spartan-ng-brain-accordion.mjs +57 -58
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +19 -19
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-autocomplete.mjs +89 -102
- package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-avatar.mjs +15 -15
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-button.mjs +4 -4
- package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-calendar.mjs +120 -127
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-checkbox.mjs +27 -26
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +17 -17
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-combobox.mjs +151 -178
- package/fesm2022/spartan-ng-brain-combobox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs +43 -52
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-core.mjs +5 -5
- package/fesm2022/spartan-ng-brain-core.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs +72 -86
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-field.mjs +38 -43
- package/fesm2022/spartan-ng-brain-field.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs +20 -20
- package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs +24 -32
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input-otp.mjs +33 -35
- package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input.mjs +6 -6
- package/fesm2022/spartan-ng-brain-input.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-label.mjs +6 -6
- package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-navigation-menu.mjs +49 -53
- package/fesm2022/spartan-ng-brain-navigation-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs +13 -15
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-progress.mjs +11 -13
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +31 -36
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-resizable.mjs +23 -23
- package/fesm2022/spartan-ng-brain-resizable.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +102 -105
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs +24 -24
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs +55 -78
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sonner.mjs +108 -132
- package/fesm2022/spartan-ng-brain-sonner.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +34 -25
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +36 -39
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-textarea.mjs +6 -6
- package/fesm2022/spartan-ng-brain-textarea.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle-group.mjs +24 -31
- package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +10 -12
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs +27 -27
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/hlm-tailwind-preset.css +6 -6
- package/package.json +44 -43
- package/{accordion/index.d.ts → types/spartan-ng-brain-accordion.d.ts} +2 -1
- package/{autocomplete/index.d.ts → types/spartan-ng-brain-autocomplete.d.ts} +10 -10
- package/{calendar/index.d.ts → types/spartan-ng-brain-calendar.d.ts} +2 -2
- package/{checkbox/index.d.ts → types/spartan-ng-brain-checkbox.d.ts} +4 -3
- package/{combobox/index.d.ts → types/spartan-ng-brain-combobox.d.ts} +10 -10
- package/{dialog/index.d.ts → types/spartan-ng-brain-dialog.d.ts} +1 -1
- package/{hover-card/index.d.ts → types/spartan-ng-brain-hover-card.d.ts} +1 -1
- package/{input-otp/index.d.ts → types/spartan-ng-brain-input-otp.d.ts} +3 -2
- package/{radio-group/index.d.ts → types/spartan-ng-brain-radio-group.d.ts} +3 -2
- package/{select/index.d.ts → types/spartan-ng-brain-select.d.ts} +11 -11
- package/{slider/index.d.ts → types/spartan-ng-brain-slider.d.ts} +3 -2
- package/{switch/index.d.ts → types/spartan-ng-brain-switch.d.ts} +12 -2
- package/{toggle-group/index.d.ts → types/spartan-ng-brain-toggle-group.d.ts} +3 -2
- /package/{alert-dialog/index.d.ts → types/spartan-ng-brain-alert-dialog.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/spartan-ng-brain-avatar.d.ts} +0 -0
- /package/{button/index.d.ts → types/spartan-ng-brain-button.d.ts} +0 -0
- /package/{collapsible/index.d.ts → types/spartan-ng-brain-collapsible.d.ts} +0 -0
- /package/{command/index.d.ts → types/spartan-ng-brain-command.d.ts} +0 -0
- /package/{core/index.d.ts → types/spartan-ng-brain-core.d.ts} +0 -0
- /package/{date-time-luxon/index.d.ts → types/spartan-ng-brain-date-time-luxon.d.ts} +0 -0
- /package/{date-time/index.d.ts → types/spartan-ng-brain-date-time.d.ts} +0 -0
- /package/{field/index.d.ts → types/spartan-ng-brain-field.d.ts} +0 -0
- /package/{forms/index.d.ts → types/spartan-ng-brain-forms.d.ts} +0 -0
- /package/{input/index.d.ts → types/spartan-ng-brain-input.d.ts} +0 -0
- /package/{label/index.d.ts → types/spartan-ng-brain-label.d.ts} +0 -0
- /package/{navigation-menu/index.d.ts → types/spartan-ng-brain-navigation-menu.d.ts} +0 -0
- /package/{popover/index.d.ts → types/spartan-ng-brain-popover.d.ts} +0 -0
- /package/{progress/index.d.ts → types/spartan-ng-brain-progress.d.ts} +0 -0
- /package/{resizable/index.d.ts → types/spartan-ng-brain-resizable.d.ts} +0 -0
- /package/{separator/index.d.ts → types/spartan-ng-brain-separator.d.ts} +0 -0
- /package/{sheet/index.d.ts → types/spartan-ng-brain-sheet.d.ts} +0 -0
- /package/{sonner/index.d.ts → types/spartan-ng-brain-sonner.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/spartan-ng-brain-tabs.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/spartan-ng-brain-textarea.d.ts} +0 -0
- /package/{toggle/index.d.ts → types/spartan-ng-brain-toggle.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/spartan-ng-brain-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/spartan-ng-brain.d.ts} +0 -0
|
@@ -40,17 +40,17 @@ class BrnAccordionItem {
|
|
|
40
40
|
* Whether the item is opened or closed.
|
|
41
41
|
* @default false
|
|
42
42
|
*/
|
|
43
|
-
isOpened = input(false, ...(ngDevMode ?
|
|
43
|
+
isOpened = input(false, { ...(ngDevMode ? { debugName: "isOpened" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
44
44
|
/**
|
|
45
45
|
* Whether the item is disabled.
|
|
46
46
|
* @default false
|
|
47
47
|
*/
|
|
48
|
-
disabled = input(false, ...(ngDevMode ?
|
|
48
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
49
49
|
/**
|
|
50
50
|
* Computed state of the item, either 'open' or 'closed'
|
|
51
51
|
* @default closed
|
|
52
52
|
*/
|
|
53
|
-
state = computed(() => (this._accordion.openItemIds()?.includes(this.id) ? 'open' : 'closed'), ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
53
|
+
state = computed(() => (this._accordion.openItemIds()?.includes(this.id) ? 'open' : 'closed'), ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
54
54
|
/**
|
|
55
55
|
* Emits boolean when the item is opened or closed.
|
|
56
56
|
*/
|
|
@@ -63,41 +63,46 @@ class BrnAccordionItem {
|
|
|
63
63
|
if (!this._accordion) {
|
|
64
64
|
throw Error('Accordion item can only be used inside an Accordion. Add brnAccordion to ancestor.');
|
|
65
65
|
}
|
|
66
|
-
effect(() => {
|
|
67
|
-
const state = this.state();
|
|
68
|
-
if (untracked(this.disabled))
|
|
69
|
-
return;
|
|
70
|
-
untracked(() => {
|
|
71
|
-
this.stateChange.emit(state);
|
|
72
|
-
this.openedChange.emit(state === 'open');
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
66
|
effect(() => {
|
|
76
67
|
const isOpened = this.isOpened();
|
|
77
68
|
untracked(() => {
|
|
78
69
|
if (isOpened) {
|
|
79
|
-
this.
|
|
70
|
+
this._triggerOpen(false);
|
|
80
71
|
}
|
|
81
72
|
else {
|
|
82
|
-
this.
|
|
73
|
+
this._triggerClose(false);
|
|
83
74
|
}
|
|
84
75
|
});
|
|
85
76
|
});
|
|
86
77
|
}
|
|
87
78
|
open() {
|
|
88
|
-
|
|
79
|
+
this._triggerOpen(true);
|
|
80
|
+
}
|
|
81
|
+
close() {
|
|
82
|
+
this._triggerClose(true);
|
|
83
|
+
}
|
|
84
|
+
_triggerOpen(emitEvent) {
|
|
85
|
+
if (this.disabled() || this.state() === 'open')
|
|
89
86
|
return;
|
|
90
87
|
this._accordion.openItem(this.id);
|
|
88
|
+
if (emitEvent) {
|
|
89
|
+
this.stateChange.emit('open');
|
|
90
|
+
this.openedChange.emit(true);
|
|
91
|
+
}
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
-
if (this.disabled())
|
|
93
|
+
_triggerClose(emitEvent) {
|
|
94
|
+
if (this.disabled() || this.state() !== 'open')
|
|
94
95
|
return;
|
|
95
96
|
this._accordion.closeItem(this.id);
|
|
97
|
+
if (emitEvent) {
|
|
98
|
+
this.stateChange.emit('closed');
|
|
99
|
+
this.openedChange.emit(false);
|
|
100
|
+
}
|
|
96
101
|
}
|
|
97
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
98
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
102
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
103
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnAccordionItem, isStandalone: true, selector: "[brnAccordionItem]", inputs: { isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange", openedChange: "openedChange" }, host: { properties: { "attr.data-state": "state()" } }, providers: [provideBrnAccordionItem(BrnAccordionItem)], exportAs: ["brnAccordionItem"], ngImport: i0 });
|
|
99
104
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionItem, decorators: [{
|
|
101
106
|
type: Directive,
|
|
102
107
|
args: [{
|
|
103
108
|
selector: '[brnAccordionItem]',
|
|
@@ -132,7 +137,7 @@ const VERTICAL_KEYS_TO_PREVENT_DEFAULT = [
|
|
|
132
137
|
class BrnAccordion {
|
|
133
138
|
_el = inject((ElementRef));
|
|
134
139
|
_dir = inject(Directionality);
|
|
135
|
-
_brnAccordionItems = contentChildren(BrnAccordionItem, ...(ngDevMode ? [{ debugName: "_brnAccordionItems" }] : []));
|
|
140
|
+
_brnAccordionItems = contentChildren(BrnAccordionItem, ...(ngDevMode ? [{ debugName: "_brnAccordionItems" }] : /* istanbul ignore next */ []));
|
|
136
141
|
_focusMonitor = inject(FocusMonitor);
|
|
137
142
|
_keyManager = computed(() => new FocusKeyManager(this._triggers())
|
|
138
143
|
.withHomeAndEnd()
|
|
@@ -140,24 +145,24 @@ class BrnAccordion {
|
|
|
140
145
|
.withWrap()
|
|
141
146
|
.withHorizontalOrientation(this.orientation() === 'vertical' ? null : (this._direction() ?? 'ltr'))
|
|
142
147
|
.withVerticalOrientation(this.orientation() === 'vertical')
|
|
143
|
-
.skipPredicate((item) => item.disabled), ...(ngDevMode ? [{ debugName: "_keyManager" }] : []));
|
|
148
|
+
.skipPredicate((item) => item.disabled), ...(ngDevMode ? [{ debugName: "_keyManager" }] : /* istanbul ignore next */ []));
|
|
144
149
|
// Not a signal: FocusMonitor can fire mid-render (a disabled child blurs during change
|
|
145
150
|
// detection) and a signal write there throws NG0600. Only read imperatively in keydown. #1371
|
|
146
151
|
_focused = false;
|
|
147
|
-
_openItemIds = signal([], ...(ngDevMode ? [{ debugName: "_openItemIds" }] : []));
|
|
152
|
+
_openItemIds = signal([], ...(ngDevMode ? [{ debugName: "_openItemIds" }] : /* istanbul ignore next */ []));
|
|
148
153
|
openItemIds = this._openItemIds.asReadonly();
|
|
149
|
-
state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'), ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
150
|
-
_triggers = signal([], ...(ngDevMode ? [{ debugName: "_triggers" }] : []));
|
|
154
|
+
state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'), ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
155
|
+
_triggers = signal([], ...(ngDevMode ? [{ debugName: "_triggers" }] : /* istanbul ignore next */ []));
|
|
151
156
|
/**
|
|
152
157
|
* Whether the accordion is in single or multiple mode.
|
|
153
158
|
* @default 'single'
|
|
154
159
|
*/
|
|
155
|
-
type = input('single', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
160
|
+
type = input('single', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
156
161
|
/**
|
|
157
162
|
* The orientation of the accordion, either 'horizontal' or 'vertical'.
|
|
158
163
|
* @default 'vertical'
|
|
159
164
|
*/
|
|
160
|
-
orientation = input('vertical', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
|
|
165
|
+
orientation = input('vertical', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
161
166
|
/** internal **/
|
|
162
167
|
_direction = this._dir.valueSignal;
|
|
163
168
|
ngAfterContentInit() {
|
|
@@ -183,13 +188,6 @@ class BrnAccordion {
|
|
|
183
188
|
setActiveItem(item) {
|
|
184
189
|
this._keyManager()?.setActiveItem(item);
|
|
185
190
|
}
|
|
186
|
-
toggleItem(id) {
|
|
187
|
-
if (this._openItemIds().includes(id)) {
|
|
188
|
-
this.closeItem(id);
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
this.openItem(id);
|
|
192
|
-
}
|
|
193
191
|
openItem(id) {
|
|
194
192
|
if (this.type() === 'single') {
|
|
195
193
|
this._openItemIds.set([id]);
|
|
@@ -238,23 +236,19 @@ class BrnAccordion {
|
|
|
238
236
|
}
|
|
239
237
|
openAll() {
|
|
240
238
|
if (this.type() === 'multiple') {
|
|
241
|
-
this._brnAccordionItems()
|
|
242
|
-
.filter((a) => !a.disabled())
|
|
243
|
-
.forEach((a) => this.openItem(a.id));
|
|
239
|
+
this._brnAccordionItems().forEach((a) => a.open());
|
|
244
240
|
}
|
|
245
241
|
else {
|
|
246
242
|
console.warn('[BrnAccordion]: openAll is only available in multiple mode');
|
|
247
243
|
}
|
|
248
244
|
}
|
|
249
245
|
closeAll() {
|
|
250
|
-
this._brnAccordionItems()
|
|
251
|
-
.filter((a) => !a.disabled())
|
|
252
|
-
.forEach((a) => this.closeItem(a.id));
|
|
246
|
+
this._brnAccordionItems().forEach((a) => a.close());
|
|
253
247
|
}
|
|
254
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
255
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
248
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
249
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.16", type: BrnAccordion, isStandalone: true, selector: "[brnAccordion]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.dir": "_direction()", "attr.data-state": "state()", "attr.data-orientation": "orientation()" } }, providers: [provideBrnAccordion(BrnAccordion)], queries: [{ propertyName: "_brnAccordionItems", predicate: BrnAccordionItem, isSignal: true }], exportAs: ["brnAccordion"], ngImport: i0 });
|
|
256
250
|
}
|
|
257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordion, decorators: [{
|
|
258
252
|
type: Directive,
|
|
259
253
|
args: [{
|
|
260
254
|
selector: '[brnAccordion]',
|
|
@@ -275,9 +269,9 @@ class BrnAccordionContent {
|
|
|
275
269
|
_destroyRef = inject(DestroyRef);
|
|
276
270
|
_ngZone = inject(NgZone);
|
|
277
271
|
_platformId = inject(PLATFORM_ID);
|
|
278
|
-
_width = signal(null, ...(ngDevMode ? [{ debugName: "_width" }] : []));
|
|
279
|
-
_height = signal(null, ...(ngDevMode ? [{ debugName: "_height" }] : []));
|
|
280
|
-
_inert = computed(() => (this.state?.() === 'closed' ? true : undefined), ...(ngDevMode ? [{ debugName: "_inert" }] : []));
|
|
272
|
+
_width = signal(null, ...(ngDevMode ? [{ debugName: "_width" }] : /* istanbul ignore next */ []));
|
|
273
|
+
_height = signal(null, ...(ngDevMode ? [{ debugName: "_height" }] : /* istanbul ignore next */ []));
|
|
274
|
+
_inert = computed(() => (this.state?.() === 'closed' ? true : undefined), ...(ngDevMode ? [{ debugName: "_inert" }] : /* istanbul ignore next */ []));
|
|
281
275
|
state = this._item?.state;
|
|
282
276
|
id = `brn-accordion-content-${this._item?.id}`;
|
|
283
277
|
ariaLabeledBy = `brn-accordion-trigger-${this._item?.id}`;
|
|
@@ -285,7 +279,7 @@ class BrnAccordionContent {
|
|
|
285
279
|
* The style to be applied to the host element after the dimensions are calculated.
|
|
286
280
|
* @default 'overflow: hidden'
|
|
287
281
|
*/
|
|
288
|
-
style = input('overflow: hidden', ...(ngDevMode ? [{ debugName: "style" }] : []));
|
|
282
|
+
style = input('overflow: hidden', ...(ngDevMode ? [{ debugName: "style" }] : /* istanbul ignore next */ []));
|
|
289
283
|
constructor() {
|
|
290
284
|
if (!this._item) {
|
|
291
285
|
throw Error('Accordion Content can only be used inside an AccordionItem. Add brnAccordionItem to parent.');
|
|
@@ -325,10 +319,10 @@ class BrnAccordionContent {
|
|
|
325
319
|
this._destroyRef.onDestroy(() => observer.disconnect());
|
|
326
320
|
});
|
|
327
321
|
}
|
|
328
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
329
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
322
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
323
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnAccordionContent, isStandalone: true, selector: "brn-accordion-content,[brnAccordionContent]", inputs: { style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "attr.data-state": "state?.()", "attr.aria-labelledby": "ariaLabeledBy", "id": "id", "style.--brn-accordion-content-width.px": "_width()", "style.--brn-accordion-content-height.px": "_height()", "attr.inert": "_inert()", "attr.style": "style()" } }, ngImport: i0 });
|
|
330
324
|
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionContent, decorators: [{
|
|
332
326
|
type: Directive,
|
|
333
327
|
args: [{
|
|
334
328
|
selector: 'brn-accordion-content,[brnAccordionContent]',
|
|
@@ -348,10 +342,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
348
342
|
class BrnAccordionHeader {
|
|
349
343
|
_accordion = injectBrnAccordion();
|
|
350
344
|
_orientation = this._accordion.orientation;
|
|
351
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
352
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
345
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
346
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAccordionHeader, isStandalone: true, selector: "[brnAccordionHeader]", host: { properties: { "attr.data-orientation": "_orientation()" } }, ngImport: i0 });
|
|
353
347
|
}
|
|
354
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionHeader, decorators: [{
|
|
355
349
|
type: Directive,
|
|
356
350
|
args: [{
|
|
357
351
|
selector: '[brnAccordionHeader]',
|
|
@@ -368,7 +362,7 @@ class BrnAccordionTrigger {
|
|
|
368
362
|
_el = inject((ElementRef));
|
|
369
363
|
_orientation = this._accordion.orientation;
|
|
370
364
|
_state = this._item.state;
|
|
371
|
-
_isExpanded = computed(() => this._item.state() === 'open', ...(ngDevMode ? [{ debugName: "_isExpanded" }] : []));
|
|
365
|
+
_isExpanded = computed(() => this._item.state() === 'open', ...(ngDevMode ? [{ debugName: "_isExpanded" }] : /* istanbul ignore next */ []));
|
|
372
366
|
_disabled = this._item.disabled;
|
|
373
367
|
id = `brn-accordion-trigger-${this._item.id}`;
|
|
374
368
|
ariaControls = `brn-accordion-content-${this._item.id}`;
|
|
@@ -393,7 +387,12 @@ class BrnAccordionTrigger {
|
|
|
393
387
|
}
|
|
394
388
|
toggle(event) {
|
|
395
389
|
event.preventDefault();
|
|
396
|
-
this.
|
|
390
|
+
if (this._state() === 'open') {
|
|
391
|
+
this._item.close();
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
this._item.open();
|
|
395
|
+
}
|
|
397
396
|
}
|
|
398
397
|
focus() {
|
|
399
398
|
this._el.nativeElement.focus();
|
|
@@ -426,10 +425,10 @@ class BrnAccordionTrigger {
|
|
|
426
425
|
throw Error('BrnAccordionTrigger: Elements with role="heading" must have an aria-level attribute.');
|
|
427
426
|
}
|
|
428
427
|
}
|
|
429
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
430
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
428
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
429
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAccordionTrigger, isStandalone: true, selector: "button[brnAccordionTrigger]", host: { attributes: { "type": "button", "tabindex": "0" }, listeners: { "click": "toggle($event)", "keyup.space": "toggle($event)", "keyup.enter": "toggle($event)" }, properties: { "id": "id", "attr.data-orientation": "_orientation()", "attr.data-state": "_state()", "attr.aria-expanded": "_isExpanded()", "attr.aria-controls": "ariaControls", "attr.aria-disabled": "_disabled()", "disabled": "_disabled()" } }, ngImport: i0 });
|
|
431
430
|
}
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAccordionTrigger, decorators: [{
|
|
433
432
|
type: Directive,
|
|
434
433
|
args: [{
|
|
435
434
|
selector: 'button[brnAccordionTrigger]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-accordion.mjs","sources":["../../../../libs/brain/accordion/src/lib/brn-accordion-token.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-item.ts","../../../../libs/brain/accordion/src/lib/brn-accordion.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-content.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-header.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-trigger.ts","../../../../libs/brain/accordion/src/index.ts","../../../../libs/brain/accordion/src/spartan-ng-brain-accordion.ts"],"sourcesContent":["import { type ExistingProvider, inject, InjectionToken, type Type, type ValueProvider } from '@angular/core';\nimport type { MeasurementDisplay } from '@spartan-ng/brain/core';\nimport type { BrnAccordion } from './brn-accordion';\nimport type { BrnAccordionItem } from './brn-accordion-item';\n\nexport const BrnAccordionToken = new InjectionToken<BrnAccordion>('BrnAccordionToken');\n\nexport function injectBrnAccordion() {\n\treturn inject(BrnAccordionToken);\n}\n\nexport function provideBrnAccordion(accordion: Type<BrnAccordion>): ExistingProvider {\n\treturn { provide: BrnAccordionToken, useExisting: accordion };\n}\n\nexport const BrnAccordionItemToken = new InjectionToken<BrnAccordionItem>('BrnAccordionItemToken');\n\nexport function injectBrnAccordionItem() {\n\treturn inject(BrnAccordionItemToken);\n}\n\nexport function provideBrnAccordionItem(item: Type<BrnAccordionItem>): ExistingProvider {\n\treturn { provide: BrnAccordionItemToken, useExisting: item };\n}\n\nexport interface BrBrnAccordionConfig {\n\t/**\n\t * The display style to use when measuring element dimensions.\n\t * @default 'block'\n\t */\n\tmeasurementDisplay: MeasurementDisplay;\n}\n\nconst defaultConfig: BrBrnAccordionConfig = {\n\tmeasurementDisplay: 'block',\n};\n\nconst BrnAccordionConfigToken = new InjectionToken<BrBrnAccordionConfig>('BrnBrnAccordionConfig');\n\nexport function provideBrnAccordionConfig(config: Partial<BrBrnAccordionConfig>): ValueProvider {\n\treturn { provide: BrnAccordionConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnAccordionConfig(): BrBrnAccordionConfig {\n\treturn inject(BrnAccordionConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, input, output, untracked } from '@angular/core';\nimport { injectBrnAccordion, provideBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: '[brnAccordionItem]',\n\texportAs: 'brnAccordionItem',\n\tproviders: [provideBrnAccordionItem(BrnAccordionItem)],\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t},\n})\nexport class BrnAccordionItem {\n\tprivate static _itemIdGenerator = 0;\n\tpublic readonly id = ++BrnAccordionItem._itemIdGenerator;\n\tprivate readonly _accordion = injectBrnAccordion();\n\t/**\n\t * Whether the item is opened or closed.\n\t * @default false\n\t */\n\tpublic readonly isOpened = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Whether the item is disabled.\n\t * @default false\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Computed state of the item, either 'open' or 'closed'\n\t * @default closed\n\t */\n\tpublic readonly state = computed(() => (this._accordion.openItemIds()?.includes(this.id) ? 'open' : 'closed'));\n\t/**\n\t * Emits boolean when the item is opened or closed.\n\t */\n\tpublic readonly stateChange = output<'open' | 'closed'>();\n\t/**\n\t * Emits state change when item is opened or closed\n\t */\n\tpublic readonly openedChange = output<boolean>();\n\n\tconstructor() {\n\t\tif (!this._accordion) {\n\t\t\tthrow Error('Accordion item can only be used inside an Accordion. Add brnAccordion to ancestor.');\n\t\t}\n\t\teffect(() => {\n\t\t\tconst state = this.state();\n\t\t\tif (untracked(this.disabled)) return;\n\t\t\tuntracked(() => {\n\t\t\t\tthis.stateChange.emit(state);\n\t\t\t\tthis.openedChange.emit(state === 'open');\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst isOpened = this.isOpened();\n\t\t\tuntracked(() => {\n\t\t\t\tif (isOpened) {\n\t\t\t\t\tthis.open();\n\t\t\t\t} else {\n\t\t\t\t\tthis.close();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic open(): void {\n\t\tif (this.disabled()) return;\n\t\tthis._accordion.openItem(this.id);\n\t}\n\n\tpublic close(): void {\n\t\tif (this.disabled()) return;\n\t\tthis._accordion.closeItem(this.id);\n\t}\n}\n","import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\ttype AfterContentInit,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\tElementRef,\n\tinject,\n\tinput,\n\ttype OnDestroy,\n\tsignal,\n} from '@angular/core';\nimport { BrnAccordionItem } from './brn-accordion-item';\nimport { provideBrnAccordion } from './brn-accordion-token';\nimport type { BrnAccordionTrigger } from './brn-accordion-trigger';\n\nconst HORIZONTAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowLeft',\n\t'ArrowRight',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\nconst VERTICAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowUp',\n\t'ArrowDown',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\n@Directive({\n\tselector: '[brnAccordion]',\n\texportAs: 'brnAccordion',\n\tproviders: [provideBrnAccordion(BrnAccordion)],\n\thost: {\n\t\t'[attr.dir]': '_direction()',\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnAccordion implements AfterContentInit, OnDestroy {\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _brnAccordionItems = contentChildren(BrnAccordionItem);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _keyManager = computed(() =>\n\t\tnew FocusKeyManager<BrnAccordionTrigger>(this._triggers())\n\t\t\t.withHomeAndEnd()\n\t\t\t.withPageUpDown()\n\t\t\t.withWrap()\n\t\t\t.withHorizontalOrientation(this.orientation() === 'vertical' ? null : (this._direction() ?? 'ltr'))\n\t\t\t.withVerticalOrientation(this.orientation() === 'vertical')\n\t\t\t.skipPredicate((item) => item.disabled),\n\t);\n\n\t// Not a signal: FocusMonitor can fire mid-render (a disabled child blurs during change\n\t// detection) and a signal write there throws NG0600. Only read imperatively in keydown. #1371\n\tprivate _focused = false;\n\tprivate readonly _openItemIds = signal<number[]>([]);\n\tpublic readonly openItemIds = this._openItemIds.asReadonly();\n\tpublic readonly state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'));\n\n\tprivate readonly _triggers = signal<BrnAccordionTrigger[]>([]);\n\n\t/**\n\t * Whether the accordion is in single or multiple mode.\n\t * @default 'single'\n\t */\n\tpublic readonly type = input<'single' | 'multiple'>('single');\n\n\t/**\n\t * The orientation of the accordion, either 'horizontal' or 'vertical'.\n\t * @default 'vertical'\n\t */\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('vertical');\n\n\t/** internal **/\n\tprotected readonly _direction = this._dir.valueSignal;\n\n\tpublic ngAfterContentInit() {\n\t\tthis._el.nativeElement.addEventListener('keydown', (event: KeyboardEvent) => {\n\t\t\tif (this.shouldIgnoreEvent(event)) return;\n\t\t\tthis._keyManager()?.onKeydown(event);\n\t\t\tthis.preventDefaultEvents(event);\n\t\t});\n\t\tthis._focusMonitor.monitor(this._el, true).subscribe((origin) => {\n\t\t\tthis._focused = origin !== null;\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._el);\n\t}\n\n\tpublic registerTrigger(trigger: BrnAccordionTrigger) {\n\t\tthis._triggers.update((triggers) => [...triggers, trigger]);\n\t}\n\n\tpublic unregisterTrigger(trigger: BrnAccordionTrigger) {\n\t\tthis._triggers.update((triggers) => triggers.filter((t) => t !== trigger));\n\t}\n\n\tpublic setActiveItem(item: BrnAccordionTrigger) {\n\t\tthis._keyManager()?.setActiveItem(item);\n\t}\n\n\tpublic toggleItem(id: number) {\n\t\tif (this._openItemIds().includes(id)) {\n\t\t\tthis.closeItem(id);\n\t\t\treturn;\n\t\t}\n\t\tthis.openItem(id);\n\t}\n\n\tpublic openItem(id: number) {\n\t\tif (this.type() === 'single') {\n\t\t\tthis._openItemIds.set([id]);\n\t\t\treturn;\n\t\t}\n\t\tthis._openItemIds.update((ids) => (ids.includes(id) ? ids : [...ids, id]));\n\t}\n\n\tpublic closeItem(id: number) {\n\t\tthis._openItemIds.update((ids) => ids.filter((openId) => openId !== id));\n\t}\n\n\tprivate isEditableTarget(el: EventTarget | null): boolean {\n\t\tconst node = el as HTMLElement | null;\n\t\tif (!node) return false;\n\n\t\tconst tag = node.tagName;\n\t\tif (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return true;\n\t\tif (node.isContentEditable) return true;\n\n\t\tconst role = node.getAttribute?.('role') ?? '';\n\t\tif (/^(textbox|searchbox|combobox|listbox|grid|tree|menu|spinbutton|slider)$/.test(role)) return true;\n\n\t\tconst editableAncestor = node.closest?.(\n\t\t\t'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], ' +\n\t\t\t\t'[role=\"textbox\"], [role=\"searchbox\"], [role=\"combobox\"], [role=\"listbox\"], ' +\n\t\t\t\t'[role=\"grid\"], [role=\"tree\"], [role=\"menu\"], [role=\"spinbutton\"], [role=\"slider\"]',\n\t\t);\n\t\treturn !!editableAncestor;\n\t}\n\n\tprivate shouldIgnoreEvent(e: KeyboardEvent): boolean {\n\t\tif (e.defaultPrevented) return true; // another handler already acted\n\t\tif (e.ctrlKey || e.metaKey || e.altKey) return true; // let shortcuts through\n\t\treturn this.isEditableTarget(e.target); // don't steal from editable/ARIA widgets\n\t}\n\n\tprivate preventDefaultEvents(event: KeyboardEvent) {\n\t\tif (event.defaultPrevented) return;\n\t\tif (!this._focused) return;\n\t\tif (!('key' in event)) return;\n\n\t\tconst keys: readonly string[] =\n\t\t\tthis.orientation() === 'horizontal' ? HORIZONTAL_KEYS_TO_PREVENT_DEFAULT : VERTICAL_KEYS_TO_PREVENT_DEFAULT;\n\n\t\tif (keys.includes(event.key) && event.code !== 'NumpadEnter') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tpublic openAll(): void {\n\t\tif (this.type() === 'multiple') {\n\t\t\tthis._brnAccordionItems()\n\t\t\t\t.filter((a) => !a.disabled())\n\t\t\t\t.forEach((a) => this.openItem(a.id));\n\t\t} else {\n\t\t\tconsole.warn('[BrnAccordion]: openAll is only available in multiple mode');\n\t\t}\n\t}\n\n\tpublic closeAll(): void {\n\t\tthis._brnAccordionItems()\n\t\t\t.filter((a) => !a.disabled())\n\t\t\t.forEach((a) => this.closeItem(a.id));\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tNgZone,\n\tPLATFORM_ID,\n\tafterNextRender,\n\tcomputed,\n\tinject,\n\tinput,\n\tsignal,\n} from '@angular/core';\nimport { measureDimensions } from '@spartan-ng/brain/core';\nimport { injectBrnAccordionConfig, injectBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: 'brn-accordion-content,[brnAccordionContent]',\n\thost: {\n\t\t'[attr.data-state]': 'state?.()',\n\t\t'[attr.aria-labelledby]': 'ariaLabeledBy',\n\t\trole: 'region',\n\t\t'[id]': 'id',\n\t\t'[style.--brn-accordion-content-width.px]': '_width()',\n\t\t'[style.--brn-accordion-content-height.px]': '_height()',\n\t\t'[attr.inert]': '_inert()',\n\t\t'[attr.style]': 'style()',\n\t},\n})\nexport class BrnAccordionContent {\n\tprivate readonly _config = injectBrnAccordionConfig();\n\tprivate readonly _item = injectBrnAccordionItem();\n\tprivate readonly _elementRef = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _ngZone = inject(NgZone);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\n\tprotected readonly _width = signal<number | null>(null);\n\tprotected readonly _height = signal<number | null>(null);\n\tprotected readonly _inert = computed(() => (this.state?.() === 'closed' ? true : undefined));\n\n\tpublic readonly state = this._item?.state;\n\tpublic readonly id = `brn-accordion-content-${this._item?.id}`;\n\tpublic readonly ariaLabeledBy = `brn-accordion-trigger-${this._item?.id}`;\n\t/**\n\t * The style to be applied to the host element after the dimensions are calculated.\n\t * @default 'overflow: hidden'\n\t */\n\tpublic readonly style = input<string>('overflow: hidden');\n\n\tconstructor() {\n\t\tif (!this._item) {\n\t\t\tthrow Error('Accordion Content can only be used inside an AccordionItem. Add brnAccordionItem to parent.');\n\t\t}\n\t\tafterNextRender(() => {\n\t\t\tconst hasValidDimensions = this._measureAndSetDimensions();\n\t\t\tif (!hasValidDimensions) {\n\t\t\t\tthis._setupVisibilityObserver();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _measureAndSetDimensions(): boolean {\n\t\tconst content = this._elementRef.nativeElement.firstChild as HTMLElement | null;\n\t\tif (!content) return false;\n\n\t\tconst { width, height } = measureDimensions(content, this._config.measurementDisplay);\n\t\tthis._width.set(width);\n\t\tthis._height.set(height);\n\n\t\treturn width > 0 && height > 0;\n\t}\n\n\tprivate _setupVisibilityObserver(): void {\n\t\tif (!isPlatformBrowser(this._platformId)) return;\n\t\tif (typeof IntersectionObserver === 'undefined') return;\n\n\t\tthis._ngZone.runOutsideAngular(() => {\n\t\t\tconst observer = new IntersectionObserver(\n\t\t\t\t(entries) => {\n\t\t\t\t\tif (entries[0].isIntersecting) {\n\t\t\t\t\t\tthis._ngZone.run(() => {\n\t\t\t\t\t\t\tif (this._measureAndSetDimensions()) {\n\t\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ root: null, threshold: 0 },\n\t\t\t);\n\n\t\t\tobserver.observe(this._elementRef.nativeElement);\n\t\t\tthis._destroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnAccordion } from './brn-accordion-token';\n\n@Directive({\n\tselector: '[brnAccordionHeader]',\n\thost: {\n\t\t'[attr.data-orientation]': '_orientation()',\n\t},\n})\nexport class BrnAccordionHeader {\n\tprivate readonly _accordion = injectBrnAccordion();\n\n\tprotected readonly _orientation = this._accordion.orientation;\n}\n","import type { FocusableOption } from '@angular/cdk/a11y';\nimport { computed, DestroyRef, Directive, ElementRef, inject, isDevMode, untracked } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { injectBrnAccordion, injectBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: 'button[brnAccordionTrigger]',\n\thost: {\n\t\t'[id]': 'id',\n\t\ttype: 'button',\n\t\ttabindex: '0',\n\t\t'[attr.data-orientation]': '_orientation()',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.aria-expanded]': '_isExpanded()',\n\t\t'[attr.aria-controls]': 'ariaControls',\n\t\t'[attr.aria-disabled]': '_disabled()',\n\t\t'[disabled]': '_disabled()',\n\t\t'(click)': 'toggle($event)',\n\t\t'(keyup.space)': 'toggle($event)',\n\t\t'(keyup.enter)': 'toggle($event)',\n\t},\n})\nexport class BrnAccordionTrigger implements FocusableOption {\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _accordion = injectBrnAccordion();\n\tprivate readonly _item = injectBrnAccordionItem();\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\n\tprotected readonly _orientation = this._accordion.orientation;\n\tprotected readonly _state = this._item.state;\n\tprotected readonly _isExpanded = computed(() => this._item.state() === 'open');\n\tprotected readonly _disabled = this._item.disabled;\n\tpublic readonly id = `brn-accordion-trigger-${this._item.id}`;\n\tpublic readonly ariaControls = `brn-accordion-content-${this._item.id}`;\n\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\tconstructor() {\n\t\tif (!this._accordion) throw Error('Accordion trigger requires a parent Accordion.');\n\t\tif (!this._item) throw Error('Accordion trigger requires a parent AccordionItem.');\n\n\t\tthis._accordion.registerTrigger(this);\n\n\t\tthis._destroyRef.onDestroy(() => this._accordion.unregisterTrigger(this));\n\n\t\tthis.validateAriaStructure();\n\n\t\tfromEvent(this._el.nativeElement, 'focus')\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\t// Focus can land here mid-render, and setActiveItem writes the key manager's signals.\n\t\t\t\t// untracked keeps that from throwing NG0600 (those signals aren't read by any view). #1371\n\t\t\t\tuntracked(() => this._accordion.setActiveItem(this));\n\t\t\t});\n\t}\n\n\tprotected toggle(event: Event): void {\n\t\tevent.preventDefault();\n\t\tthis._accordion.toggleItem(this._item.id);\n\t}\n\n\tpublic focus() {\n\t\tthis._el.nativeElement.focus();\n\t}\n\n\tprivate validateAriaStructure(): void {\n\t\tconst element = this._el.nativeElement;\n\n\t\tconst isButton = element.tagName === 'BUTTON';\n\t\tconst hasButtonRole = element.getAttribute('role') === 'button';\n\n\t\tif (!isButton && !hasButtonRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger element must be a <button> or have role=\"button\". ` +\n\t\t\t\t\t`Found: <${element.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tconst parent = element.parentElement;\n\t\tif (!parent) {\n\t\t\tconst message = 'BrnAccordionTrigger: The trigger button must be wrapped in a heading element.';\n\t\t\tif (isDevMode()) {\n\t\t\t\tthrow Error(message);\n\t\t\t} else {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t}\n\n\t\tconst isNativeHeading = /^H[1-6]$/.test(parent.tagName);\n\t\tconst hasHeadingRole = parent.getAttribute('role') === 'heading';\n\n\t\tif (!isNativeHeading && !hasHeadingRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger button must be wrapped in a heading element ` +\n\t\t\t\t\t`(h1-h6) or an element with role=\"heading\". Found parent: <${parent.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tif (hasHeadingRole && !parent.hasAttribute('aria-level')) {\n\t\t\tthrow Error('BrnAccordionTrigger: Elements with role=\"heading\" must have an aria-level attribute.');\n\t\t}\n\t}\n}\n","import { BrnAccordion } from './lib/brn-accordion';\nimport { BrnAccordionContent } from './lib/brn-accordion-content';\nimport { BrnAccordionHeader } from './lib/brn-accordion-header';\nimport { BrnAccordionItem } from './lib/brn-accordion-item';\nimport { BrnAccordionTrigger } from './lib/brn-accordion-trigger';\n\nexport * from './lib/brn-accordion';\nexport * from './lib/brn-accordion-content';\nexport * from './lib/brn-accordion-header';\nexport * from './lib/brn-accordion-item';\nexport * from './lib/brn-accordion-token';\nexport * from './lib/brn-accordion-trigger';\n\nexport const BrnAccordionImports = [\n\tBrnAccordion,\n\tBrnAccordionContent,\n\tBrnAccordionHeader,\n\tBrnAccordionItem,\n\tBrnAccordionTrigger,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-accordion.mjs","sources":["../../../../libs/brain/accordion/src/lib/brn-accordion-token.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-item.ts","../../../../libs/brain/accordion/src/lib/brn-accordion.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-content.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-header.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-trigger.ts","../../../../libs/brain/accordion/src/index.ts","../../../../libs/brain/accordion/src/spartan-ng-brain-accordion.ts"],"sourcesContent":["import { type ExistingProvider, inject, InjectionToken, type Type, type ValueProvider } from '@angular/core';\nimport type { MeasurementDisplay } from '@spartan-ng/brain/core';\nimport type { BrnAccordion } from './brn-accordion';\nimport type { BrnAccordionItem } from './brn-accordion-item';\n\nexport const BrnAccordionToken = new InjectionToken<BrnAccordion>('BrnAccordionToken');\n\nexport function injectBrnAccordion() {\n\treturn inject(BrnAccordionToken);\n}\n\nexport function provideBrnAccordion(accordion: Type<BrnAccordion>): ExistingProvider {\n\treturn { provide: BrnAccordionToken, useExisting: accordion };\n}\n\nexport const BrnAccordionItemToken = new InjectionToken<BrnAccordionItem>('BrnAccordionItemToken');\n\nexport function injectBrnAccordionItem() {\n\treturn inject(BrnAccordionItemToken);\n}\n\nexport function provideBrnAccordionItem(item: Type<BrnAccordionItem>): ExistingProvider {\n\treturn { provide: BrnAccordionItemToken, useExisting: item };\n}\n\nexport interface BrBrnAccordionConfig {\n\t/**\n\t * The display style to use when measuring element dimensions.\n\t * @default 'block'\n\t */\n\tmeasurementDisplay: MeasurementDisplay;\n}\n\nconst defaultConfig: BrBrnAccordionConfig = {\n\tmeasurementDisplay: 'block',\n};\n\nconst BrnAccordionConfigToken = new InjectionToken<BrBrnAccordionConfig>('BrnBrnAccordionConfig');\n\nexport function provideBrnAccordionConfig(config: Partial<BrBrnAccordionConfig>): ValueProvider {\n\treturn { provide: BrnAccordionConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnAccordionConfig(): BrBrnAccordionConfig {\n\treturn inject(BrnAccordionConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, input, output, untracked } from '@angular/core';\nimport { injectBrnAccordion, provideBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: '[brnAccordionItem]',\n\texportAs: 'brnAccordionItem',\n\tproviders: [provideBrnAccordionItem(BrnAccordionItem)],\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t},\n})\nexport class BrnAccordionItem {\n\tprivate static _itemIdGenerator = 0;\n\tpublic readonly id = ++BrnAccordionItem._itemIdGenerator;\n\tprivate readonly _accordion = injectBrnAccordion();\n\t/**\n\t * Whether the item is opened or closed.\n\t * @default false\n\t */\n\tpublic readonly isOpened = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Whether the item is disabled.\n\t * @default false\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Computed state of the item, either 'open' or 'closed'\n\t * @default closed\n\t */\n\tpublic readonly state = computed(() => (this._accordion.openItemIds()?.includes(this.id) ? 'open' : 'closed'));\n\t/**\n\t * Emits boolean when the item is opened or closed.\n\t */\n\tpublic readonly stateChange = output<'open' | 'closed'>();\n\t/**\n\t * Emits state change when item is opened or closed\n\t */\n\tpublic readonly openedChange = output<boolean>();\n\n\tconstructor() {\n\t\tif (!this._accordion) {\n\t\t\tthrow Error('Accordion item can only be used inside an Accordion. Add brnAccordion to ancestor.');\n\t\t}\n\n\t\teffect(() => {\n\t\t\tconst isOpened = this.isOpened();\n\t\t\tuntracked(() => {\n\t\t\t\tif (isOpened) {\n\t\t\t\t\tthis._triggerOpen(false);\n\t\t\t\t} else {\n\t\t\t\t\tthis._triggerClose(false);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic open(): void {\n\t\tthis._triggerOpen(true);\n\t}\n\n\tpublic close(): void {\n\t\tthis._triggerClose(true);\n\t}\n\n\tprivate _triggerOpen(emitEvent: boolean): void {\n\t\tif (this.disabled() || this.state() === 'open') return;\n\t\tthis._accordion.openItem(this.id);\n\t\tif (emitEvent) {\n\t\t\tthis.stateChange.emit('open');\n\t\t\tthis.openedChange.emit(true);\n\t\t}\n\t}\n\n\tprivate _triggerClose(emitEvent: boolean): void {\n\t\tif (this.disabled() || this.state() !== 'open') return;\n\t\tthis._accordion.closeItem(this.id);\n\t\tif (emitEvent) {\n\t\t\tthis.stateChange.emit('closed');\n\t\t\tthis.openedChange.emit(false);\n\t\t}\n\t}\n}\n","import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\ttype AfterContentInit,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\tElementRef,\n\tinject,\n\tinput,\n\ttype OnDestroy,\n\tsignal,\n} from '@angular/core';\nimport { BrnAccordionItem } from './brn-accordion-item';\nimport { provideBrnAccordion } from './brn-accordion-token';\nimport type { BrnAccordionTrigger } from './brn-accordion-trigger';\n\nconst HORIZONTAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowLeft',\n\t'ArrowRight',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\nconst VERTICAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowUp',\n\t'ArrowDown',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\n@Directive({\n\tselector: '[brnAccordion]',\n\texportAs: 'brnAccordion',\n\tproviders: [provideBrnAccordion(BrnAccordion)],\n\thost: {\n\t\t'[attr.dir]': '_direction()',\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnAccordion implements AfterContentInit, OnDestroy {\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _brnAccordionItems = contentChildren(BrnAccordionItem);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _keyManager = computed(() =>\n\t\tnew FocusKeyManager<BrnAccordionTrigger>(this._triggers())\n\t\t\t.withHomeAndEnd()\n\t\t\t.withPageUpDown()\n\t\t\t.withWrap()\n\t\t\t.withHorizontalOrientation(this.orientation() === 'vertical' ? null : (this._direction() ?? 'ltr'))\n\t\t\t.withVerticalOrientation(this.orientation() === 'vertical')\n\t\t\t.skipPredicate((item) => item.disabled),\n\t);\n\n\t// Not a signal: FocusMonitor can fire mid-render (a disabled child blurs during change\n\t// detection) and a signal write there throws NG0600. Only read imperatively in keydown. #1371\n\tprivate _focused = false;\n\tprivate readonly _openItemIds = signal<number[]>([]);\n\tpublic readonly openItemIds = this._openItemIds.asReadonly();\n\tpublic readonly state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'));\n\n\tprivate readonly _triggers = signal<BrnAccordionTrigger[]>([]);\n\n\t/**\n\t * Whether the accordion is in single or multiple mode.\n\t * @default 'single'\n\t */\n\tpublic readonly type = input<'single' | 'multiple'>('single');\n\n\t/**\n\t * The orientation of the accordion, either 'horizontal' or 'vertical'.\n\t * @default 'vertical'\n\t */\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('vertical');\n\n\t/** internal **/\n\tprotected readonly _direction = this._dir.valueSignal;\n\n\tpublic ngAfterContentInit() {\n\t\tthis._el.nativeElement.addEventListener('keydown', (event: KeyboardEvent) => {\n\t\t\tif (this.shouldIgnoreEvent(event)) return;\n\t\t\tthis._keyManager()?.onKeydown(event);\n\t\t\tthis.preventDefaultEvents(event);\n\t\t});\n\t\tthis._focusMonitor.monitor(this._el, true).subscribe((origin) => {\n\t\t\tthis._focused = origin !== null;\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._el);\n\t}\n\n\tpublic registerTrigger(trigger: BrnAccordionTrigger) {\n\t\tthis._triggers.update((triggers) => [...triggers, trigger]);\n\t}\n\n\tpublic unregisterTrigger(trigger: BrnAccordionTrigger) {\n\t\tthis._triggers.update((triggers) => triggers.filter((t) => t !== trigger));\n\t}\n\n\tpublic setActiveItem(item: BrnAccordionTrigger) {\n\t\tthis._keyManager()?.setActiveItem(item);\n\t}\n\n\tpublic openItem(id: number) {\n\t\tif (this.type() === 'single') {\n\t\t\tthis._openItemIds.set([id]);\n\t\t\treturn;\n\t\t}\n\t\tthis._openItemIds.update((ids) => (ids.includes(id) ? ids : [...ids, id]));\n\t}\n\n\tpublic closeItem(id: number) {\n\t\tthis._openItemIds.update((ids) => ids.filter((openId) => openId !== id));\n\t}\n\n\tprivate isEditableTarget(el: EventTarget | null): boolean {\n\t\tconst node = el as HTMLElement | null;\n\t\tif (!node) return false;\n\n\t\tconst tag = node.tagName;\n\t\tif (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return true;\n\t\tif (node.isContentEditable) return true;\n\n\t\tconst role = node.getAttribute?.('role') ?? '';\n\t\tif (/^(textbox|searchbox|combobox|listbox|grid|tree|menu|spinbutton|slider)$/.test(role)) return true;\n\n\t\tconst editableAncestor = node.closest?.(\n\t\t\t'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], ' +\n\t\t\t\t'[role=\"textbox\"], [role=\"searchbox\"], [role=\"combobox\"], [role=\"listbox\"], ' +\n\t\t\t\t'[role=\"grid\"], [role=\"tree\"], [role=\"menu\"], [role=\"spinbutton\"], [role=\"slider\"]',\n\t\t);\n\t\treturn !!editableAncestor;\n\t}\n\n\tprivate shouldIgnoreEvent(e: KeyboardEvent): boolean {\n\t\tif (e.defaultPrevented) return true; // another handler already acted\n\t\tif (e.ctrlKey || e.metaKey || e.altKey) return true; // let shortcuts through\n\t\treturn this.isEditableTarget(e.target); // don't steal from editable/ARIA widgets\n\t}\n\n\tprivate preventDefaultEvents(event: KeyboardEvent) {\n\t\tif (event.defaultPrevented) return;\n\t\tif (!this._focused) return;\n\t\tif (!('key' in event)) return;\n\n\t\tconst keys: readonly string[] =\n\t\t\tthis.orientation() === 'horizontal' ? HORIZONTAL_KEYS_TO_PREVENT_DEFAULT : VERTICAL_KEYS_TO_PREVENT_DEFAULT;\n\n\t\tif (keys.includes(event.key) && event.code !== 'NumpadEnter') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tpublic openAll(): void {\n\t\tif (this.type() === 'multiple') {\n\t\t\tthis._brnAccordionItems().forEach((a) => a.open());\n\t\t} else {\n\t\t\tconsole.warn('[BrnAccordion]: openAll is only available in multiple mode');\n\t\t}\n\t}\n\n\tpublic closeAll(): void {\n\t\tthis._brnAccordionItems().forEach((a) => a.close());\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tNgZone,\n\tPLATFORM_ID,\n\tafterNextRender,\n\tcomputed,\n\tinject,\n\tinput,\n\tsignal,\n} from '@angular/core';\nimport { measureDimensions } from '@spartan-ng/brain/core';\nimport { injectBrnAccordionConfig, injectBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: 'brn-accordion-content,[brnAccordionContent]',\n\thost: {\n\t\t'[attr.data-state]': 'state?.()',\n\t\t'[attr.aria-labelledby]': 'ariaLabeledBy',\n\t\trole: 'region',\n\t\t'[id]': 'id',\n\t\t'[style.--brn-accordion-content-width.px]': '_width()',\n\t\t'[style.--brn-accordion-content-height.px]': '_height()',\n\t\t'[attr.inert]': '_inert()',\n\t\t'[attr.style]': 'style()',\n\t},\n})\nexport class BrnAccordionContent {\n\tprivate readonly _config = injectBrnAccordionConfig();\n\tprivate readonly _item = injectBrnAccordionItem();\n\tprivate readonly _elementRef = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _ngZone = inject(NgZone);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\n\tprotected readonly _width = signal<number | null>(null);\n\tprotected readonly _height = signal<number | null>(null);\n\tprotected readonly _inert = computed(() => (this.state?.() === 'closed' ? true : undefined));\n\n\tpublic readonly state = this._item?.state;\n\tpublic readonly id = `brn-accordion-content-${this._item?.id}`;\n\tpublic readonly ariaLabeledBy = `brn-accordion-trigger-${this._item?.id}`;\n\t/**\n\t * The style to be applied to the host element after the dimensions are calculated.\n\t * @default 'overflow: hidden'\n\t */\n\tpublic readonly style = input<string>('overflow: hidden');\n\n\tconstructor() {\n\t\tif (!this._item) {\n\t\t\tthrow Error('Accordion Content can only be used inside an AccordionItem. Add brnAccordionItem to parent.');\n\t\t}\n\t\tafterNextRender(() => {\n\t\t\tconst hasValidDimensions = this._measureAndSetDimensions();\n\t\t\tif (!hasValidDimensions) {\n\t\t\t\tthis._setupVisibilityObserver();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _measureAndSetDimensions(): boolean {\n\t\tconst content = this._elementRef.nativeElement.firstChild as HTMLElement | null;\n\t\tif (!content) return false;\n\n\t\tconst { width, height } = measureDimensions(content, this._config.measurementDisplay);\n\t\tthis._width.set(width);\n\t\tthis._height.set(height);\n\n\t\treturn width > 0 && height > 0;\n\t}\n\n\tprivate _setupVisibilityObserver(): void {\n\t\tif (!isPlatformBrowser(this._platformId)) return;\n\t\tif (typeof IntersectionObserver === 'undefined') return;\n\n\t\tthis._ngZone.runOutsideAngular(() => {\n\t\t\tconst observer = new IntersectionObserver(\n\t\t\t\t(entries) => {\n\t\t\t\t\tif (entries[0].isIntersecting) {\n\t\t\t\t\t\tthis._ngZone.run(() => {\n\t\t\t\t\t\t\tif (this._measureAndSetDimensions()) {\n\t\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ root: null, threshold: 0 },\n\t\t\t);\n\n\t\t\tobserver.observe(this._elementRef.nativeElement);\n\t\t\tthis._destroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnAccordion } from './brn-accordion-token';\n\n@Directive({\n\tselector: '[brnAccordionHeader]',\n\thost: {\n\t\t'[attr.data-orientation]': '_orientation()',\n\t},\n})\nexport class BrnAccordionHeader {\n\tprivate readonly _accordion = injectBrnAccordion();\n\n\tprotected readonly _orientation = this._accordion.orientation;\n}\n","import type { FocusableOption } from '@angular/cdk/a11y';\nimport { computed, DestroyRef, Directive, ElementRef, inject, isDevMode, untracked } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { injectBrnAccordion, injectBrnAccordionItem } from './brn-accordion-token';\n\n@Directive({\n\tselector: 'button[brnAccordionTrigger]',\n\thost: {\n\t\t'[id]': 'id',\n\t\ttype: 'button',\n\t\ttabindex: '0',\n\t\t'[attr.data-orientation]': '_orientation()',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.aria-expanded]': '_isExpanded()',\n\t\t'[attr.aria-controls]': 'ariaControls',\n\t\t'[attr.aria-disabled]': '_disabled()',\n\t\t'[disabled]': '_disabled()',\n\t\t'(click)': 'toggle($event)',\n\t\t'(keyup.space)': 'toggle($event)',\n\t\t'(keyup.enter)': 'toggle($event)',\n\t},\n})\nexport class BrnAccordionTrigger implements FocusableOption {\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _accordion = injectBrnAccordion();\n\tprivate readonly _item = injectBrnAccordionItem();\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\n\tprotected readonly _orientation = this._accordion.orientation;\n\tprotected readonly _state = this._item.state;\n\tprotected readonly _isExpanded = computed(() => this._item.state() === 'open');\n\tprotected readonly _disabled = this._item.disabled;\n\tpublic readonly id = `brn-accordion-trigger-${this._item.id}`;\n\tpublic readonly ariaControls = `brn-accordion-content-${this._item.id}`;\n\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\tconstructor() {\n\t\tif (!this._accordion) throw Error('Accordion trigger requires a parent Accordion.');\n\t\tif (!this._item) throw Error('Accordion trigger requires a parent AccordionItem.');\n\n\t\tthis._accordion.registerTrigger(this);\n\n\t\tthis._destroyRef.onDestroy(() => this._accordion.unregisterTrigger(this));\n\n\t\tthis.validateAriaStructure();\n\n\t\tfromEvent(this._el.nativeElement, 'focus')\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\t// Focus can land here mid-render, and setActiveItem writes the key manager's signals.\n\t\t\t\t// untracked keeps that from throwing NG0600 (those signals aren't read by any view). #1371\n\t\t\t\tuntracked(() => this._accordion.setActiveItem(this));\n\t\t\t});\n\t}\n\n\tprotected toggle(event: Event): void {\n\t\tevent.preventDefault();\n\t\tif (this._state() === 'open') {\n\t\t\tthis._item.close();\n\t\t} else {\n\t\t\tthis._item.open();\n\t\t}\n\t}\n\n\tpublic focus() {\n\t\tthis._el.nativeElement.focus();\n\t}\n\n\tprivate validateAriaStructure(): void {\n\t\tconst element = this._el.nativeElement;\n\n\t\tconst isButton = element.tagName === 'BUTTON';\n\t\tconst hasButtonRole = element.getAttribute('role') === 'button';\n\n\t\tif (!isButton && !hasButtonRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger element must be a <button> or have role=\"button\". ` +\n\t\t\t\t\t`Found: <${element.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tconst parent = element.parentElement;\n\t\tif (!parent) {\n\t\t\tconst message = 'BrnAccordionTrigger: The trigger button must be wrapped in a heading element.';\n\t\t\tif (isDevMode()) {\n\t\t\t\tthrow Error(message);\n\t\t\t} else {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t}\n\n\t\tconst isNativeHeading = /^H[1-6]$/.test(parent.tagName);\n\t\tconst hasHeadingRole = parent.getAttribute('role') === 'heading';\n\n\t\tif (!isNativeHeading && !hasHeadingRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger button must be wrapped in a heading element ` +\n\t\t\t\t\t`(h1-h6) or an element with role=\"heading\". Found parent: <${parent.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tif (hasHeadingRole && !parent.hasAttribute('aria-level')) {\n\t\t\tthrow Error('BrnAccordionTrigger: Elements with role=\"heading\" must have an aria-level attribute.');\n\t\t}\n\t}\n}\n","import { BrnAccordion } from './lib/brn-accordion';\nimport { BrnAccordionContent } from './lib/brn-accordion-content';\nimport { BrnAccordionHeader } from './lib/brn-accordion-header';\nimport { BrnAccordionItem } from './lib/brn-accordion-item';\nimport { BrnAccordionTrigger } from './lib/brn-accordion-trigger';\n\nexport * from './lib/brn-accordion';\nexport * from './lib/brn-accordion-content';\nexport * from './lib/brn-accordion-header';\nexport * from './lib/brn-accordion-item';\nexport * from './lib/brn-accordion-token';\nexport * from './lib/brn-accordion-trigger';\n\nexport const BrnAccordionImports = [\n\tBrnAccordion,\n\tBrnAccordionContent,\n\tBrnAccordionHeader,\n\tBrnAccordionItem,\n\tBrnAccordionTrigger,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ const BRN_ALERT_DIALOG_DEFAULT_OPTIONS = {
|
|
|
10
10
|
role: 'alertdialog',
|
|
11
11
|
};
|
|
12
12
|
class BrnAlertDialog extends BrnDialog {
|
|
13
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
13
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialog, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAlertDialog, isStandalone: true, selector: "[brnAlertDialog],brn-alert-dialog", providers: [
|
|
15
15
|
{
|
|
16
16
|
provide: BrnDialog,
|
|
17
17
|
useExisting: forwardRef((() => BrnAlertDialog)),
|
|
@@ -19,7 +19,7 @@ class BrnAlertDialog extends BrnDialog {
|
|
|
19
19
|
provideBrnDialogDefaultOptions(BRN_ALERT_DIALOG_DEFAULT_OPTIONS),
|
|
20
20
|
], exportAs: ["brnAlertDialog"], usesInheritance: true, ngImport: i0 });
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialog, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[brnAlertDialog],brn-alert-dialog',
|
|
@@ -35,10 +35,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
35
35
|
}] });
|
|
36
36
|
|
|
37
37
|
class BrnAlertDialogContent extends BrnDialogContent {
|
|
38
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
38
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAlertDialogContent, isStandalone: true, selector: "[brnAlertDialogContent]", providers: [provideExposesStateProviderExisting((() => BrnAlertDialogContent))], usesInheritance: true, ngImport: i0 });
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogContent, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
selector: '[brnAlertDialogContent]',
|
|
@@ -47,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
47
47
|
}] });
|
|
48
48
|
|
|
49
49
|
class BrnAlertDialogDescription {
|
|
50
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
51
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
50
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAlertDialogDescription, isStandalone: true, selector: "[brnAlertDialogDescription]", hostDirectives: [{ directive: i1.BrnDialogDescription }], ngImport: i0 });
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogDescription, decorators: [{
|
|
54
54
|
type: Directive,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: '[brnAlertDialogDescription]',
|
|
@@ -59,10 +59,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
59
59
|
}] });
|
|
60
60
|
|
|
61
61
|
class BrnAlertDialogOverlay extends BrnDialogOverlay {
|
|
62
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
63
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
62
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogOverlay, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
63
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAlertDialogOverlay, isStandalone: true, selector: "[brnAlertDialogOverlay],brn-alert-dialog-overlay", providers: [provideCustomClassSettableExisting((() => BrnAlertDialogOverlay))], usesInheritance: true, ngImport: i0 });
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogOverlay, decorators: [{
|
|
66
66
|
type: Directive,
|
|
67
67
|
args: [{
|
|
68
68
|
selector: '[brnAlertDialogOverlay],brn-alert-dialog-overlay',
|
|
@@ -71,10 +71,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
71
71
|
}] });
|
|
72
72
|
|
|
73
73
|
class BrnAlertDialogTitle {
|
|
74
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
75
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
74
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnAlertDialogTitle, isStandalone: true, selector: "[brnAlertDialogTitle]", hostDirectives: [{ directive: i1.BrnDialogTitle }], ngImport: i0 });
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogTitle, decorators: [{
|
|
78
78
|
type: Directive,
|
|
79
79
|
args: [{
|
|
80
80
|
selector: '[brnAlertDialogTitle]',
|
|
@@ -83,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
83
83
|
}] });
|
|
84
84
|
|
|
85
85
|
class BrnAlertDialogTrigger extends BrnDialogTrigger {
|
|
86
|
-
brnAlertDialogTriggerFor = input(...(ngDevMode ? [undefined, { debugName: "brnAlertDialogTriggerFor" }] : []));
|
|
86
|
+
brnAlertDialogTriggerFor = input(...(ngDevMode ? [undefined, { debugName: "brnAlertDialogTriggerFor" }] : /* istanbul ignore next */ []));
|
|
87
87
|
constructor() {
|
|
88
88
|
super();
|
|
89
89
|
effect(() => {
|
|
@@ -95,10 +95,10 @@ class BrnAlertDialogTrigger extends BrnDialogTrigger {
|
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
98
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnAlertDialogTrigger, isStandalone: true, selector: "button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]", inputs: { brnAlertDialogTriggerFor: { classPropertyName: "brnAlertDialogTriggerFor", publicName: "brnAlertDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-haspopup": "dialog" }, properties: { "id": "id()", "attr.aria-expanded": "state() === 'open' ? 'true': 'false'", "attr.data-state": "state()", "attr.aria-controls": "dialogId", "type": "type()" } }, usesInheritance: true, ngImport: i0 });
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnAlertDialogTrigger, decorators: [{
|
|
102
102
|
type: Directive,
|
|
103
103
|
args: [{
|
|
104
104
|
selector: 'button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-alert-dialog.mjs","sources":["../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-content.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-description.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-overlay.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-title.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-trigger.ts","../../../../libs/brain/alert-dialog/src/index.ts","../../../../libs/brain/alert-dialog/src/spartan-ng-brain-alert-dialog.ts"],"sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { BrnDialog, type BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_ALERT_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\tcloseOnBackdropClick: false,\n\tcloseOnOutsidePointerEvents: false,\n\trole: 'alertdialog',\n};\n\n@Directive({\n\tselector: '[brnAlertDialog],brn-alert-dialog',\n\texportAs: 'brnAlertDialog',\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnAlertDialog),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_ALERT_DIALOG_DEFAULT_OPTIONS),\n\t],\n})\nexport class BrnAlertDialog extends BrnDialog {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnAlertDialogContent)],\n})\nexport class BrnAlertDialogContent<T> extends BrnDialogContent<T> {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogDescription]',\n\thostDirectives: [BrnDialogDescription],\n})\nexport class BrnAlertDialogDescription {}\n","import { Directive } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogOverlay],brn-alert-dialog-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnAlertDialogOverlay)],\n})\nexport class BrnAlertDialogOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogTitle]',\n\thostDirectives: [BrnDialogTitle],\n})\nexport class BrnAlertDialogTitle {}\n","import { Directive, effect, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnAlertDialog } from './brn-alert-dialog';\n\n@Directive({\n\tselector: 'button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t\t'[type]': 'type()',\n\t},\n})\nexport class BrnAlertDialogTrigger extends BrnDialogTrigger {\n\tpublic readonly brnAlertDialogTriggerFor = input<BrnAlertDialog | undefined>();\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnAlertDialogTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (brnDialog) {\n\t\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { BrnAlertDialog } from './lib/brn-alert-dialog';\nimport { BrnAlertDialogContent } from './lib/brn-alert-dialog-content';\nimport { BrnAlertDialogDescription } from './lib/brn-alert-dialog-description';\nimport { BrnAlertDialogOverlay } from './lib/brn-alert-dialog-overlay';\nimport { BrnAlertDialogTitle } from './lib/brn-alert-dialog-title';\nimport { BrnAlertDialogTrigger } from './lib/brn-alert-dialog-trigger';\n\nexport * from './lib/brn-alert-dialog';\nexport * from './lib/brn-alert-dialog-content';\nexport * from './lib/brn-alert-dialog-description';\nexport * from './lib/brn-alert-dialog-overlay';\nexport * from './lib/brn-alert-dialog-title';\nexport * from './lib/brn-alert-dialog-trigger';\n\nexport const BrnAlertDialogImports = [\n\tBrnAlertDialog,\n\tBrnAlertDialogOverlay,\n\tBrnAlertDialogTrigger,\n\tBrnAlertDialogContent,\n\tBrnAlertDialogTitle,\n\tBrnAlertDialogDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAGO,MAAM,gCAAgC,GAAqC;AACjF,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,IAAI,EAAE,aAAa;;AAcd,MAAO,cAAe,SAAQ,SAAS,CAAA;2HAAhC,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,SAAA,EARf;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,cAAc,EAAC;AAC7C,aAAA;YACD,8BAA8B,CAAC,gCAAgC,CAAC;AAChE,SAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAEW,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,SAAS;AAClB,4BAAA,WAAW,EAAE,UAAU,EAAC,oBAAoB,EAAC;AAC7C,yBAAA;wBACD,8BAA8B,CAAC,gCAAgC,CAAC;AAChE,qBAAA;AACD,iBAAA;;;ACXK,MAAO,qBAAyB,SAAQ,gBAAmB,CAAA;2HAApD,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAFtB,CAAC,mCAAmC,EAAC,MAAM,qBAAqB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAEjE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;oBACnC,SAAS,EAAE,CAAC,mCAAmC,EAAC,MAAK,qBAAsB,EAAC,CAAC;AAC7E,iBAAA;;;MCAY,yBAAyB,CAAA;2HAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,6BAA6B;oBACvC,cAAc,EAAE,CAAC,oBAAoB,CAAC;AACtC,iBAAA;;;ACEK,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;2HAA9C,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,SAAA,EAFtB,CAAC,kCAAkC,EAAC,MAAM,qBAAqB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAEhE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kDAAkD;oBAC5D,SAAS,EAAE,CAAC,kCAAkC,EAAC,MAAK,qBAAsB,EAAC,CAAC;AAC5E,iBAAA;;;MCAY,mBAAmB,CAAA;2HAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;oBACjC,cAAc,EAAE,CAAC,cAAc,CAAC;AAChC,iBAAA;;;ACSK,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;IAC1C,wBAAwB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,0BAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-alert-dialog.mjs","sources":["../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-content.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-description.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-overlay.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-title.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-trigger.ts","../../../../libs/brain/alert-dialog/src/index.ts","../../../../libs/brain/alert-dialog/src/spartan-ng-brain-alert-dialog.ts"],"sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { BrnDialog, type BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_ALERT_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\tcloseOnBackdropClick: false,\n\tcloseOnOutsidePointerEvents: false,\n\trole: 'alertdialog',\n};\n\n@Directive({\n\tselector: '[brnAlertDialog],brn-alert-dialog',\n\texportAs: 'brnAlertDialog',\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnAlertDialog),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_ALERT_DIALOG_DEFAULT_OPTIONS),\n\t],\n})\nexport class BrnAlertDialog extends BrnDialog {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnAlertDialogContent)],\n})\nexport class BrnAlertDialogContent<T> extends BrnDialogContent<T> {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogDescription]',\n\thostDirectives: [BrnDialogDescription],\n})\nexport class BrnAlertDialogDescription {}\n","import { Directive } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogOverlay],brn-alert-dialog-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnAlertDialogOverlay)],\n})\nexport class BrnAlertDialogOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogTitle]',\n\thostDirectives: [BrnDialogTitle],\n})\nexport class BrnAlertDialogTitle {}\n","import { Directive, effect, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnAlertDialog } from './brn-alert-dialog';\n\n@Directive({\n\tselector: 'button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t\t'[type]': 'type()',\n\t},\n})\nexport class BrnAlertDialogTrigger extends BrnDialogTrigger {\n\tpublic readonly brnAlertDialogTriggerFor = input<BrnAlertDialog | undefined>();\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnAlertDialogTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (brnDialog) {\n\t\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { BrnAlertDialog } from './lib/brn-alert-dialog';\nimport { BrnAlertDialogContent } from './lib/brn-alert-dialog-content';\nimport { BrnAlertDialogDescription } from './lib/brn-alert-dialog-description';\nimport { BrnAlertDialogOverlay } from './lib/brn-alert-dialog-overlay';\nimport { BrnAlertDialogTitle } from './lib/brn-alert-dialog-title';\nimport { BrnAlertDialogTrigger } from './lib/brn-alert-dialog-trigger';\n\nexport * from './lib/brn-alert-dialog';\nexport * from './lib/brn-alert-dialog-content';\nexport * from './lib/brn-alert-dialog-description';\nexport * from './lib/brn-alert-dialog-overlay';\nexport * from './lib/brn-alert-dialog-title';\nexport * from './lib/brn-alert-dialog-trigger';\n\nexport const BrnAlertDialogImports = [\n\tBrnAlertDialog,\n\tBrnAlertDialogOverlay,\n\tBrnAlertDialogTrigger,\n\tBrnAlertDialogContent,\n\tBrnAlertDialogTitle,\n\tBrnAlertDialogDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|