@ngstarter-ui/components 21.0.23 → 21.0.25
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/ai/component-registry.json +14 -6
- package/fesm2022/ngstarter-ui-components-avatar.mjs +3 -3
- package/fesm2022/ngstarter-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-badge.mjs +1 -2
- package/fesm2022/ngstarter-ui-components-badge.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs +0 -2
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-button.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-calendar.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-calendar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-card-overlay.mjs +0 -1
- package/fesm2022/ngstarter-ui-components-card-overlay.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-card.mjs +7 -12
- package/fesm2022/ngstarter-ui-components-card.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-carousel.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-carousel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-chips.mjs +16 -19
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +4 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-command-bar.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-command-bar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs +4 -16
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs} +12 -13
- package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs.map +1 -0
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-core.mjs +0 -9
- package/fesm2022/ngstarter-ui-components-core.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs +11 -11
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-data-view.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-datepicker.mjs +27 -23
- package/fesm2022/ngstarter-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-dialog.mjs +0 -1
- package/fesm2022/ngstarter-ui-components-dialog.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-digit-roller.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-digit-roller.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-drawer.mjs +15 -7
- package/fesm2022/ngstarter-ui-components-drawer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-empty-state.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-empty-state.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-expansion.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-expansion.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-field.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs.map → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs +9 -9
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs +4 -5
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-headless-stepper.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-headless-stepper.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-icon.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-icon.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-marquee.mjs +78 -8
- package/fesm2022/ngstarter-ui-components-marquee.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-notifications.mjs +4 -5
- package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngstarter-ui-components-card.d.ts +1 -1
- package/types/ngstarter-ui-components-chips.d.ts +3 -3
- package/types/ngstarter-ui-components-datepicker.d.ts +6 -6
- package/types/ngstarter-ui-components-expansion.d.ts +2 -2
- package/types/ngstarter-ui-components-form-field.d.ts +2 -2
- package/types/ngstarter-ui-components-guided-tour.d.ts +1 -1
- package/types/ngstarter-ui-components-marquee.d.ts +19 -11
- package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map +0 -1
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, PLATFORM_ID, input, booleanAttribute, viewChild,
|
|
3
|
-
import { isPlatformServer
|
|
2
|
+
import { inject, ElementRef, PLATFORM_ID, input, booleanAttribute, viewChild, Component, Directive } from '@angular/core';
|
|
3
|
+
import { isPlatformServer } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
class Marquee {
|
|
6
6
|
_elementRef = inject(ElementRef);
|
|
7
7
|
_platformId = inject(PLATFORM_ID);
|
|
8
8
|
_intersectionObserver;
|
|
9
|
+
_resizeObserver;
|
|
10
|
+
_mutationObserver;
|
|
11
|
+
_measureFrame = 0;
|
|
9
12
|
reverse = input(false, { ...(ngDevMode ? { debugName: "reverse" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
10
13
|
pauseOnHover = input(false, { ...(ngDevMode ? { debugName: "pauseOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
11
14
|
isInView = false;
|
|
12
|
-
|
|
15
|
+
track = viewChild.required('track');
|
|
16
|
+
sourceItem = viewChild.required('sourceItem');
|
|
13
17
|
get nativeElement() {
|
|
14
18
|
return this._elementRef.nativeElement;
|
|
15
19
|
}
|
|
@@ -21,7 +25,7 @@ class Marquee {
|
|
|
21
25
|
this.nativeElement.style.setProperty('--ngs-marquee-pause', changes['pauseOnHover'].currentValue ? 'paused' : 'running');
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
|
-
|
|
28
|
+
ngAfterViewInit() {
|
|
25
29
|
if (isPlatformServer(this._platformId)) {
|
|
26
30
|
return;
|
|
27
31
|
}
|
|
@@ -36,21 +40,87 @@ class Marquee {
|
|
|
36
40
|
}
|
|
37
41
|
});
|
|
38
42
|
this._intersectionObserver.observe(this.nativeElement);
|
|
43
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
44
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
45
|
+
this._queueRepeatMeasure();
|
|
46
|
+
});
|
|
47
|
+
this._resizeObserver.observe(this.nativeElement);
|
|
48
|
+
this._resizeObserver.observe(this.sourceItem().nativeElement);
|
|
49
|
+
}
|
|
50
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
51
|
+
this._mutationObserver = new MutationObserver(() => {
|
|
52
|
+
this._queueRepeatMeasure();
|
|
53
|
+
});
|
|
54
|
+
this._mutationObserver.observe(this.sourceItem().nativeElement, {
|
|
55
|
+
attributes: true,
|
|
56
|
+
characterData: true,
|
|
57
|
+
childList: true,
|
|
58
|
+
subtree: true
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
this._queueRepeatMeasure();
|
|
39
62
|
}
|
|
40
63
|
ngOnDestroy() {
|
|
41
64
|
if (this._intersectionObserver) {
|
|
42
65
|
this._intersectionObserver.disconnect();
|
|
43
66
|
}
|
|
67
|
+
if (this._resizeObserver) {
|
|
68
|
+
this._resizeObserver.disconnect();
|
|
69
|
+
}
|
|
70
|
+
if (this._mutationObserver) {
|
|
71
|
+
this._mutationObserver.disconnect();
|
|
72
|
+
}
|
|
73
|
+
if (this._measureFrame) {
|
|
74
|
+
cancelAnimationFrame(this._measureFrame);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_queueRepeatMeasure() {
|
|
78
|
+
if (this._measureFrame) {
|
|
79
|
+
cancelAnimationFrame(this._measureFrame);
|
|
80
|
+
}
|
|
81
|
+
this._measureFrame = requestAnimationFrame(() => {
|
|
82
|
+
this._measureFrame = 0;
|
|
83
|
+
this._syncRepeatItems();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
_syncRepeatItems() {
|
|
87
|
+
const viewport = this.nativeElement.querySelector('.content');
|
|
88
|
+
const item = this.sourceItem().nativeElement;
|
|
89
|
+
if (!viewport) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const viewportWidth = viewport.getBoundingClientRect().width;
|
|
93
|
+
const itemWidth = item.getBoundingClientRect().width;
|
|
94
|
+
if (viewportWidth <= 0 || itemWidth <= 0) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const repeatGap = Math.max(0, viewportWidth - itemWidth);
|
|
98
|
+
this.nativeElement.style.setProperty('--ngs-marquee-item-width', `${itemWidth}px`);
|
|
99
|
+
this.nativeElement.style.setProperty('--ngs-marquee-repeat-gap', `${repeatGap}px`);
|
|
100
|
+
this._renderClone();
|
|
101
|
+
}
|
|
102
|
+
_renderClone() {
|
|
103
|
+
const track = this.track().nativeElement;
|
|
104
|
+
const sourceItem = this.sourceItem().nativeElement;
|
|
105
|
+
track.querySelectorAll('[data-ngs-marquee-clone]').forEach(clone => clone.remove());
|
|
106
|
+
track.appendChild(this._createItemClone(sourceItem));
|
|
107
|
+
}
|
|
108
|
+
_createItemClone(sourceItem) {
|
|
109
|
+
const clone = sourceItem.cloneNode(true);
|
|
110
|
+
clone.dataset['ngsMarqueeClone'] = 'true';
|
|
111
|
+
clone.setAttribute('aria-hidden', 'true');
|
|
112
|
+
clone.setAttribute('inert', '');
|
|
113
|
+
return clone;
|
|
44
114
|
}
|
|
45
115
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Marquee, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: Marquee, isStandalone: true, selector: "ngs-marquee", inputs: { reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, pauseOnHover: { classPropertyName: "pauseOnHover", publicName: "pauseOnHover", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ngs-marquee" }, viewQueries: [{ propertyName: "
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: Marquee, isStandalone: true, selector: "ngs-marquee", inputs: { reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, pauseOnHover: { classPropertyName: "pauseOnHover", publicName: "pauseOnHover", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ngs-marquee" }, viewQueries: [{ propertyName: "track", first: true, predicate: ["track"], descendants: true, isSignal: true }, { propertyName: "sourceItem", first: true, predicate: ["sourceItem"], descendants: true, isSignal: true }], exportAs: ["ngsMarquee"], usesOnChanges: true, ngImport: i0, template: "<div class=\"content\" [class.out-of-view]=\"!isInView\">\n <div #track class=\"track\">\n <div #sourceItem class=\"item\">\n <ng-content/>\n </div>\n </div>\n</div>\n", styles: [":host{--ngs-marquee-animation-duration: 20s;--ngs-marquee-gap: calc(var(--spacing, .25rem) * 6);--ngs-marquee-repeat-gap: var(--ngs-marquee-gap);--ngs-marquee-item-width: 0px;--ngs-marquee-reverse: ;--ngs-marquee-pause: running;display:block;width:100%}:host .content{width:100%;height:100%;overflow:hidden;padding:.5rem}:host .content .track{display:flex;gap:var(--ngs-marquee-repeat-gap);width:max-content;animation:ngs-marquee-animation var(--ngs-marquee-animation-duration) infinite linear var(--ngs-marquee-reverse);will-change:transform}:host .content .item{display:flex;flex-shrink:0;white-space:nowrap}:host .content:hover .track{animation-play-state:var(--ngs-marquee-pause)}:host .content.out-of-view .track{animation-play-state:paused}:host .invisible{width:0;height:0;display:none;pointer-events:none}@keyframes ngs-marquee-animation{0%{transform:translate(0)}to{transform:translate(calc((var(--ngs-marquee-item-width) + var(--ngs-marquee-repeat-gap)) * -1))}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
|
|
47
117
|
}
|
|
48
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Marquee, decorators: [{
|
|
49
119
|
type: Component,
|
|
50
|
-
args: [{ selector: 'ngs-marquee', exportAs: 'ngsMarquee',
|
|
120
|
+
args: [{ selector: 'ngs-marquee', exportAs: 'ngsMarquee', host: {
|
|
51
121
|
'class': 'ngs-marquee'
|
|
52
|
-
}, template: "<
|
|
53
|
-
}], propDecorators: { reverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverse", required: false }] }], pauseOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "pauseOnHover", required: false }] }],
|
|
122
|
+
}, template: "<div class=\"content\" [class.out-of-view]=\"!isInView\">\n <div #track class=\"track\">\n <div #sourceItem class=\"item\">\n <ng-content/>\n </div>\n </div>\n</div>\n", styles: [":host{--ngs-marquee-animation-duration: 20s;--ngs-marquee-gap: calc(var(--spacing, .25rem) * 6);--ngs-marquee-repeat-gap: var(--ngs-marquee-gap);--ngs-marquee-item-width: 0px;--ngs-marquee-reverse: ;--ngs-marquee-pause: running;display:block;width:100%}:host .content{width:100%;height:100%;overflow:hidden;padding:.5rem}:host .content .track{display:flex;gap:var(--ngs-marquee-repeat-gap);width:max-content;animation:ngs-marquee-animation var(--ngs-marquee-animation-duration) infinite linear var(--ngs-marquee-reverse);will-change:transform}:host .content .item{display:flex;flex-shrink:0;white-space:nowrap}:host .content:hover .track{animation-play-state:var(--ngs-marquee-pause)}:host .content.out-of-view .track{animation-play-state:paused}:host .invisible{width:0;height:0;display:none;pointer-events:none}@keyframes ngs-marquee-animation{0%{transform:translate(0)}to{transform:translate(calc((var(--ngs-marquee-item-width) + var(--ngs-marquee-repeat-gap)) * -1))}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
123
|
+
}], propDecorators: { reverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverse", required: false }] }], pauseOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "pauseOnHover", required: false }] }], track: [{ type: i0.ViewChild, args: ['track', { isSignal: true }] }], sourceItem: [{ type: i0.ViewChild, args: ['sourceItem', { isSignal: true }] }] } });
|
|
54
124
|
|
|
55
125
|
class MarqueeItemDirective {
|
|
56
126
|
_elementRef = inject(ElementRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-marquee.mjs","sources":["../../../projects/components/marquee/src/marquee/marquee.ts","../../../projects/components/marquee/src/marquee/marquee.html","../../../projects/components/marquee/src/marquee-item.directive.ts","../../../projects/components/marquee/ngstarter-ui-components-marquee.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n input,\n viewChild,\n AfterContentInit,\n inject,\n PLATFORM_ID,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n OnDestroy,\n TemplateRef\n} from '@angular/core';\nimport { isPlatformServer, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ngs-marquee',\n exportAs: 'ngsMarquee',\n imports: [NgTemplateOutlet],\n templateUrl: './marquee.html',\n styleUrl: './marquee.scss',\n host: {\n 'class': 'ngs-marquee'\n }\n})\nexport class Marquee implements AfterContentInit, OnChanges, OnDestroy {\n private _elementRef = inject(ElementRef);\n private _platformId = inject(PLATFORM_ID);\n private _intersectionObserver?: IntersectionObserver;\n\n reverse = input(false, {\n transform: booleanAttribute\n });\n pauseOnHover = input(false, {\n transform: booleanAttribute\n });\n\n protected isInView = false;\n\n readonly template = viewChild.required(TemplateRef);\n\n protected get nativeElement(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['reverse']) {\n this.nativeElement.style.setProperty('--ngs-marquee-reverse', changes['reverse'].currentValue ? 'reverse' : '');\n }\n\n if (changes['pauseOnHover']) {\n this.nativeElement.style.setProperty('--ngs-marquee-pause', changes['pauseOnHover'].currentValue ? 'paused' : 'running');\n }\n }\n\n ngAfterContentInit(): void {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n this._intersectionObserver = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting) {\n if (!this.isInView) {\n this.isInView = true;\n }\n } else if (this.isInView) {\n this.isInView = false;\n }\n });\n this._intersectionObserver.observe(this.nativeElement);\n }\n\n ngOnDestroy(): void {\n if (this._intersectionObserver) {\n this._intersectionObserver.disconnect();\n }\n }\n}\n","<ng-template>\n <ng-content/>\n</ng-template>\n\n<div class=\"content\" [class.out-of-view]=\"!isInView\">\n <div class=\"item\">\n <ng-template [ngTemplateOutlet]=\"template()\" />\n </div>\n <div class=\"item\">\n <ng-template [ngTemplateOutlet]=\"template()\" />\n </div>\n <div class=\"item\">\n <ng-template [ngTemplateOutlet]=\"template()\" />\n </div>\n <div class=\"item\">\n <ng-template [ngTemplateOutlet]=\"template()\" />\n </div>\n</div>\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsMarqueeItem]',\n standalone: true\n})\nexport class MarqueeItemDirective {\n private _elementRef = inject(ElementRef);\n\n get nativeElement(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-marquee.mjs","sources":["../../../projects/components/marquee/src/marquee/marquee.ts","../../../projects/components/marquee/src/marquee/marquee.html","../../../projects/components/marquee/src/marquee-item.directive.ts","../../../projects/components/marquee/ngstarter-ui-components-marquee.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n input,\n viewChild,\n AfterViewInit,\n inject,\n PLATFORM_ID,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n OnDestroy\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\n\n@Component({\n selector: 'ngs-marquee',\n exportAs: 'ngsMarquee',\n templateUrl: './marquee.html',\n styleUrl: './marquee.scss',\n host: {\n 'class': 'ngs-marquee'\n }\n})\nexport class Marquee implements AfterViewInit, OnChanges, OnDestroy {\n private _elementRef = inject(ElementRef);\n private _platformId = inject(PLATFORM_ID);\n private _intersectionObserver?: IntersectionObserver;\n private _resizeObserver?: ResizeObserver;\n private _mutationObserver?: MutationObserver;\n private _measureFrame = 0;\n\n reverse = input(false, {\n transform: booleanAttribute\n });\n pauseOnHover = input(false, {\n transform: booleanAttribute\n });\n\n protected isInView = false;\n\n readonly track = viewChild.required<ElementRef<HTMLElement>>('track');\n readonly sourceItem = viewChild.required<ElementRef<HTMLElement>>('sourceItem');\n\n protected get nativeElement(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['reverse']) {\n this.nativeElement.style.setProperty('--ngs-marquee-reverse', changes['reverse'].currentValue ? 'reverse' : '');\n }\n\n if (changes['pauseOnHover']) {\n this.nativeElement.style.setProperty('--ngs-marquee-pause', changes['pauseOnHover'].currentValue ? 'paused' : 'running');\n }\n }\n\n ngAfterViewInit(): void {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n this._intersectionObserver = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting) {\n if (!this.isInView) {\n this.isInView = true;\n }\n } else if (this.isInView) {\n this.isInView = false;\n }\n });\n this._intersectionObserver.observe(this.nativeElement);\n\n if (typeof ResizeObserver !== 'undefined') {\n this._resizeObserver = new ResizeObserver(() => {\n this._queueRepeatMeasure();\n });\n this._resizeObserver.observe(this.nativeElement);\n this._resizeObserver.observe(this.sourceItem().nativeElement);\n }\n\n if (typeof MutationObserver !== 'undefined') {\n this._mutationObserver = new MutationObserver(() => {\n this._queueRepeatMeasure();\n });\n this._mutationObserver.observe(this.sourceItem().nativeElement, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n\n this._queueRepeatMeasure();\n }\n\n ngOnDestroy(): void {\n if (this._intersectionObserver) {\n this._intersectionObserver.disconnect();\n }\n\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n }\n\n if (this._mutationObserver) {\n this._mutationObserver.disconnect();\n }\n\n if (this._measureFrame) {\n cancelAnimationFrame(this._measureFrame);\n }\n }\n\n private _queueRepeatMeasure(): void {\n if (this._measureFrame) {\n cancelAnimationFrame(this._measureFrame);\n }\n\n this._measureFrame = requestAnimationFrame(() => {\n this._measureFrame = 0;\n this._syncRepeatItems();\n });\n }\n\n private _syncRepeatItems(): void {\n const viewport = this.nativeElement.querySelector<HTMLElement>('.content');\n const item = this.sourceItem().nativeElement;\n\n if (!viewport) {\n return;\n }\n\n const viewportWidth = viewport.getBoundingClientRect().width;\n const itemWidth = item.getBoundingClientRect().width;\n\n if (viewportWidth <= 0 || itemWidth <= 0) {\n return;\n }\n\n const repeatGap = Math.max(0, viewportWidth - itemWidth);\n\n this.nativeElement.style.setProperty('--ngs-marquee-item-width', `${itemWidth}px`);\n this.nativeElement.style.setProperty('--ngs-marquee-repeat-gap', `${repeatGap}px`);\n this._renderClone();\n }\n\n private _renderClone(): void {\n const track = this.track().nativeElement;\n const sourceItem = this.sourceItem().nativeElement;\n\n track.querySelectorAll('[data-ngs-marquee-clone]').forEach(clone => clone.remove());\n\n track.appendChild(this._createItemClone(sourceItem));\n }\n\n private _createItemClone(sourceItem: HTMLElement): HTMLElement {\n const clone = sourceItem.cloneNode(true) as HTMLElement;\n\n clone.dataset['ngsMarqueeClone'] = 'true';\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n\n return clone;\n }\n}\n","<div class=\"content\" [class.out-of-view]=\"!isInView\">\n <div #track class=\"track\">\n <div #sourceItem class=\"item\">\n <ng-content/>\n </div>\n </div>\n</div>\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsMarqueeItem]',\n standalone: true\n})\nexport class MarqueeItemDirective {\n private _elementRef = inject(ElementRef);\n\n get nativeElement(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: '[ngsNotificationControlsDef]',
|
|
29
|
-
standalone: true
|
|
30
29
|
}]
|
|
31
30
|
}] });
|
|
32
31
|
|
|
@@ -119,25 +118,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
119
118
|
class Notification {
|
|
120
119
|
isUnread = input(false, { ...(ngDevMode ? { debugName: "isUnread" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
121
120
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Notification, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Notification, isStandalone: true, selector: "ngs-notification,[ngs-notification]", inputs: { isUnread: { classPropertyName: "isUnread", publicName: "isUnread", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-unread": "isUnread()" }, classAttribute: "ngs-notification" }, exportAs: ["ngsNotification"], ngImport: i0, template: "<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n", styles: [":host{--ngs-notification-padding: calc(var(--spacing, .25rem) * 5);--ngs-notification-gap: calc(var(--spacing, .25rem) * 4);--ngs-notification-bg: var(--ngs-color-surface-container-
|
|
121
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Notification, isStandalone: true, selector: "ngs-notification,[ngs-notification]", inputs: { isUnread: { classPropertyName: "isUnread", publicName: "isUnread", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-unread": "isUnread()" }, classAttribute: "ngs-notification" }, exportAs: ["ngsNotification"], ngImport: i0, template: "<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n", styles: [":host{--ngs-notification-padding: calc(var(--spacing, .25rem) * 5);--ngs-notification-gap: calc(var(--spacing, .25rem) * 4);--ngs-notification-bg: var(--ngs-color-surface-container-lowest);--ngs-notification-hover-bg: var(--ngs-color-surface-container-low);--ngs-notification-is-unread-bg: var(--ngs-color-surface-container-low);--ngs-notification-is-unread-hover-bg: var(--ngs-color-surface-container);--ngs-notification-radius: .75rem;display:flex;width:100%;position:relative;border-radius:var(--ngs-notification-radius);gap:var(--ngs-notification-gap);padding:var(--ngs-notification-padding)}:host .avatar{position:relative}:host .avatar:empty{display:none}:host .actor:empty{display:none}:host .message:empty{display:none}:host-context(ngs-notification-list.is-static){cursor:auto}:host-context(ngs-notification-list){background:var(--ngs-notification-bg);cursor:pointer}:host-context(ngs-notification-list).is-unread{background:var(--ngs-notification-is-unread-bg)}:host-context(ngs-notification-list:not(.is-static)):hover{background:var(--ngs-notification-hover-bg)}:host-context(ngs-notification-list:not(.is-static)).is-unread:hover{background:var(--ngs-notification-is-unread-hover-bg)}:host-context(html.dark){--ngs-notification-is-unread-bg: var(--ngs-color-neutral-950);--ngs-notification-is-unread-hover-bg: var(--ngs-color-neutral-900)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
|
|
123
122
|
}
|
|
124
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Notification, decorators: [{
|
|
125
124
|
type: Component,
|
|
126
125
|
args: [{ selector: 'ngs-notification,[ngs-notification]', exportAs: 'ngsNotification', imports: [], host: {
|
|
127
126
|
'class': 'ngs-notification',
|
|
128
127
|
'[class.is-unread]': 'isUnread()'
|
|
129
|
-
}, template: "<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n", styles: [":host{--ngs-notification-padding: calc(var(--spacing, .25rem) * 5);--ngs-notification-gap: calc(var(--spacing, .25rem) * 4);--ngs-notification-bg: var(--ngs-color-surface-container-
|
|
128
|
+
}, template: "<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n", styles: [":host{--ngs-notification-padding: calc(var(--spacing, .25rem) * 5);--ngs-notification-gap: calc(var(--spacing, .25rem) * 4);--ngs-notification-bg: var(--ngs-color-surface-container-lowest);--ngs-notification-hover-bg: var(--ngs-color-surface-container-low);--ngs-notification-is-unread-bg: var(--ngs-color-surface-container-low);--ngs-notification-is-unread-hover-bg: var(--ngs-color-surface-container);--ngs-notification-radius: .75rem;display:flex;width:100%;position:relative;border-radius:var(--ngs-notification-radius);gap:var(--ngs-notification-gap);padding:var(--ngs-notification-padding)}:host .avatar{position:relative}:host .avatar:empty{display:none}:host .actor:empty{display:none}:host .message:empty{display:none}:host-context(ngs-notification-list.is-static){cursor:auto}:host-context(ngs-notification-list){background:var(--ngs-notification-bg);cursor:pointer}:host-context(ngs-notification-list).is-unread{background:var(--ngs-notification-is-unread-bg)}:host-context(ngs-notification-list:not(.is-static)):hover{background:var(--ngs-notification-hover-bg)}:host-context(ngs-notification-list:not(.is-static)).is-unread:hover{background:var(--ngs-notification-is-unread-hover-bg)}:host-context(html.dark){--ngs-notification-is-unread-bg: var(--ngs-color-neutral-950);--ngs-notification-is-unread-hover-bg: var(--ngs-color-neutral-900)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
130
129
|
}], propDecorators: { isUnread: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUnread", required: false }] }] } });
|
|
131
130
|
|
|
132
131
|
class NotificationContent {
|
|
133
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NotificationContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: NotificationContent, isStandalone: true, selector: "ngs-notification-content,[ngs-notification-content]", host: { classAttribute: "ngs-notification-content" }, exportAs: ["ngsNotificationContent"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: NotificationContent, isStandalone: true, selector: "ngs-notification-content,[ngs-notification-content]", host: { classAttribute: "ngs-notification-content" }, exportAs: ["ngsNotificationContent"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{--ngs-notification-content-margin: calc(var(--spacing, .25rem) * 1.5) 0 calc(var(--spacing, .25rem) * 1.5) 0;display:block;margin:var(--ngs-notification-content-margin)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
|
|
135
134
|
}
|
|
136
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NotificationContent, decorators: [{
|
|
137
136
|
type: Component,
|
|
138
137
|
args: [{ selector: 'ngs-notification-content,[ngs-notification-content]', exportAs: 'ngsNotificationContent', imports: [], host: {
|
|
139
138
|
'class': 'ngs-notification-content'
|
|
140
|
-
}, template: "<ng-content/>\n", styles: [":host{
|
|
139
|
+
}, template: "<ng-content/>\n", styles: [":host{--ngs-notification-content-margin: calc(var(--spacing, .25rem) * 1.5) 0 calc(var(--spacing, .25rem) * 1.5) 0;display:block;margin:var(--ngs-notification-content-margin)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
141
140
|
}] });
|
|
142
141
|
|
|
143
142
|
class NotificationPropsDirective {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-notifications.mjs","sources":["../../../projects/components/notifications/src/notification-def.directive.ts","../../../projects/components/notifications/src/notification-controls-def.directive.ts","../../../projects/components/notifications/src/notification-list/notification-list.ts","../../../projects/components/notifications/src/notification-list/notification-list.html","../../../projects/components/notifications/src/notification-skeleton/notification-skeleton.ts","../../../projects/components/notifications/src/notification-skeleton/notification-skeleton.html","../../../projects/components/notifications/src/notification-time/notification-time.ts","../../../projects/components/notifications/src/notification-time/notification-time.html","../../../projects/components/notifications/src/notification-actor/notification-actor.ts","../../../projects/components/notifications/src/notification-actor/notification-actor.html","../../../projects/components/notifications/src/notification-message/notification-message.ts","../../../projects/components/notifications/src/notification-message/notification-message.html","../../../projects/components/notifications/src/notification/notification.ts","../../../projects/components/notifications/src/notification/notification.html","../../../projects/components/notifications/src/notification-content/notification-content.ts","../../../projects/components/notifications/src/notification-content/notification-content.html","../../../projects/components/notifications/src/notification-props.directive.ts","../../../projects/components/notifications/src/notification-avatar.directive.ts","../../../projects/components/notifications/ngstarter-ui-components-notifications.ts"],"sourcesContent":["import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationDef]',\n standalone: true\n})\nexport class NotificationDefDirective {\n readonly templateRef = inject(TemplateRef);\n ngsNotificationDef = input.required<string>();\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationControlsDef]',\n standalone: true\n})\nexport class NotificationControlsDefDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n AfterContentInit, booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n input,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { NotificationDefDirective } from '../notification-def.directive';\nimport { NotificationControlsDefDirective } from '../notification-controls-def.directive';\nimport { NotificationInterface } from '../types';\n\n@Component({\n selector: 'ngs-notification-list',\n exportAs: 'ngsNotificationList',\n imports: [\n NgTemplateOutlet\n ],\n templateUrl: './notification-list.html',\n styleUrl: './notification-list.scss',\n host: {\n 'class': 'ngs-notification-list',\n '[class.is-static]': 'static()'\n }\n})\nexport class NotificationList<T extends NotificationInterface> implements AfterContentInit {\n readonly defs = contentChildren(NotificationDefDirective);\n readonly controlsDef = contentChild(NotificationControlsDefDirective);\n\n notifications = input<T[]>([]);\n static = input(true, {\n transform: booleanAttribute\n });\n\n protected _initialized = false;\n protected _defsMap = new Map<string, TemplateRef<any>>();\n\n get controlsTpl(): TemplateRef<any> {\n return this.controlsDef()?.templateRef as TemplateRef<any>;\n }\n\n ngAfterContentInit() {\n this.defs().forEach((def: NotificationDefDirective) => {\n this._defsMap.set(def.ngsNotificationDef(), def.templateRef);\n });\n this._initialized = true;\n }\n\n getNotificationTemplate(type: string): TemplateRef<any> {\n if (!this._defsMap.has(type)) {\n throw new Error(`Invalid type \"${type}\" for notification def`);\n }\n\n return this._defsMap.get(type) as TemplateRef<any>;\n }\n}\n","@if (_initialized) {\n @for (notification of notifications(); track notification) {\n <div class=\"notification\">\n <ng-container [ngTemplateOutlet]=\"getNotificationTemplate(notification.type)\"\n [ngTemplateOutletContext]=\"{ $implicit: notification }\" />\n @if (controlsDef()) {\n <div class=\"controls\">\n <ng-container [ngTemplateOutlet]=\"controlsTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: notification }\" />\n </div>\n }\n </div>\n }\n}\n","import { Component } from '@angular/core';\nimport { Skeleton } from '@ngstarter-ui/components/skeleton';\n\n@Component({\n selector: 'ngs-notification-skeleton',\n exportAs: 'ngsNotificationSkeleton',\n imports: [\n Skeleton\n ],\n templateUrl: './notification-skeleton.html',\n styleUrl: './notification-skeleton.scss',\n host: {\n 'class': 'ngs-notification-skeleton',\n }\n})\nexport class NotificationSkeleton {\n\n}\n","<div class=\"flex gap-3\">\n <ngs-skeleton roundedFull class=\"size-11\"/>\n <div class=\"grow flex flex-col gap-2\">\n <ngs-skeleton class=\"h-16\"/>\n <ngs-skeleton class=\"w-20 h-3\"/>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-time,[ngs-notification-time]',\n exportAs: 'ngsNotificationTime',\n imports: [],\n templateUrl: './notification-time.html',\n styleUrl: './notification-time.scss',\n host: {\n 'class': 'ngs-notification-time'\n }\n})\nexport class NotificationTime {\n\n}\n","<ng-content/>\n","import { Component, ElementRef, inject } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-actor,[ngs-notification-actor]',\n imports: [],\n templateUrl: './notification-actor.html',\n styleUrl: './notification-actor.scss',\n host: {\n 'class': 'ngs-notification-actor',\n '[class.as-link]': 'asLink'\n }\n})\nexport class NotificationActor {\n private elementRef = inject(ElementRef);\n\n protected get asLink() {\n return (this.elementRef.nativeElement as HTMLElement).tagName === 'A';\n }\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-message',\n exportAs: 'ngsNotificationMessage',\n imports: [],\n templateUrl: './notification-message.html',\n styleUrl: './notification-message.scss',\n host: {\n 'class': 'ngs-notification-message'\n }\n})\nexport class NotificationMessage {\n\n}\n","<ng-content/>\n","import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification,[ngs-notification]',\n exportAs: 'ngsNotification',\n imports: [],\n templateUrl: './notification.html',\n styleUrl: './notification.scss',\n host: {\n 'class': 'ngs-notification',\n '[class.is-unread]': 'isUnread()'\n }\n})\nexport class Notification {\n isUnread = input(false, {\n transform: booleanAttribute\n });\n}\n","<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-content,[ngs-notification-content]',\n exportAs: 'ngsNotificationContent',\n imports: [],\n templateUrl: './notification-content.html',\n styleUrl: './notification-content.scss',\n host: {\n 'class': 'ngs-notification-content'\n }\n})\nexport class NotificationContent {\n\n}\n","<ng-content/>\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationProps]',\n exportAs: 'ngsNotificationProps',\n standalone: true,\n host: {\n 'class': 'ngs-notification-props',\n '[class.is-unread]': 'isUnread()',\n }\n})\nexport class NotificationPropsDirective {\n isUnread = input(false, {\n transform: booleanAttribute\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationAvatar]',\n exportAs: 'ngsNotificationAvatar',\n host: {\n 'class': 'ngs-notification-avatar'\n }\n})\nexport class NotificationAvatarDirective {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-notifications.mjs","sources":["../../../projects/components/notifications/src/notification-def.directive.ts","../../../projects/components/notifications/src/notification-controls-def.directive.ts","../../../projects/components/notifications/src/notification-list/notification-list.ts","../../../projects/components/notifications/src/notification-list/notification-list.html","../../../projects/components/notifications/src/notification-skeleton/notification-skeleton.ts","../../../projects/components/notifications/src/notification-skeleton/notification-skeleton.html","../../../projects/components/notifications/src/notification-time/notification-time.ts","../../../projects/components/notifications/src/notification-time/notification-time.html","../../../projects/components/notifications/src/notification-actor/notification-actor.ts","../../../projects/components/notifications/src/notification-actor/notification-actor.html","../../../projects/components/notifications/src/notification-message/notification-message.ts","../../../projects/components/notifications/src/notification-message/notification-message.html","../../../projects/components/notifications/src/notification/notification.ts","../../../projects/components/notifications/src/notification/notification.html","../../../projects/components/notifications/src/notification-content/notification-content.ts","../../../projects/components/notifications/src/notification-content/notification-content.html","../../../projects/components/notifications/src/notification-props.directive.ts","../../../projects/components/notifications/src/notification-avatar.directive.ts","../../../projects/components/notifications/ngstarter-ui-components-notifications.ts"],"sourcesContent":["import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationDef]',\n standalone: true\n})\nexport class NotificationDefDirective {\n readonly templateRef = inject(TemplateRef);\n ngsNotificationDef = input.required<string>();\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationControlsDef]',\n})\nexport class NotificationControlsDefDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n AfterContentInit, booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n input,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { NotificationDefDirective } from '../notification-def.directive';\nimport { NotificationControlsDefDirective } from '../notification-controls-def.directive';\nimport { NotificationInterface } from '../types';\n\n@Component({\n selector: 'ngs-notification-list',\n exportAs: 'ngsNotificationList',\n imports: [\n NgTemplateOutlet\n ],\n templateUrl: './notification-list.html',\n styleUrl: './notification-list.scss',\n host: {\n 'class': 'ngs-notification-list',\n '[class.is-static]': 'static()'\n }\n})\nexport class NotificationList<T extends NotificationInterface> implements AfterContentInit {\n readonly defs = contentChildren(NotificationDefDirective);\n readonly controlsDef = contentChild(NotificationControlsDefDirective);\n\n notifications = input<T[]>([]);\n static = input(true, {\n transform: booleanAttribute\n });\n\n protected _initialized = false;\n protected _defsMap = new Map<string, TemplateRef<any>>();\n\n get controlsTpl(): TemplateRef<any> {\n return this.controlsDef()?.templateRef as TemplateRef<any>;\n }\n\n ngAfterContentInit() {\n this.defs().forEach((def: NotificationDefDirective) => {\n this._defsMap.set(def.ngsNotificationDef(), def.templateRef);\n });\n this._initialized = true;\n }\n\n getNotificationTemplate(type: string): TemplateRef<any> {\n if (!this._defsMap.has(type)) {\n throw new Error(`Invalid type \"${type}\" for notification def`);\n }\n\n return this._defsMap.get(type) as TemplateRef<any>;\n }\n}\n","@if (_initialized) {\n @for (notification of notifications(); track notification) {\n <div class=\"notification\">\n <ng-container [ngTemplateOutlet]=\"getNotificationTemplate(notification.type)\"\n [ngTemplateOutletContext]=\"{ $implicit: notification }\" />\n @if (controlsDef()) {\n <div class=\"controls\">\n <ng-container [ngTemplateOutlet]=\"controlsTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: notification }\" />\n </div>\n }\n </div>\n }\n}\n","import { Component } from '@angular/core';\nimport { Skeleton } from '@ngstarter-ui/components/skeleton';\n\n@Component({\n selector: 'ngs-notification-skeleton',\n exportAs: 'ngsNotificationSkeleton',\n imports: [\n Skeleton\n ],\n templateUrl: './notification-skeleton.html',\n styleUrl: './notification-skeleton.scss',\n host: {\n 'class': 'ngs-notification-skeleton',\n }\n})\nexport class NotificationSkeleton {\n\n}\n","<div class=\"flex gap-3\">\n <ngs-skeleton roundedFull class=\"size-11\"/>\n <div class=\"grow flex flex-col gap-2\">\n <ngs-skeleton class=\"h-16\"/>\n <ngs-skeleton class=\"w-20 h-3\"/>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-time,[ngs-notification-time]',\n exportAs: 'ngsNotificationTime',\n imports: [],\n templateUrl: './notification-time.html',\n styleUrl: './notification-time.scss',\n host: {\n 'class': 'ngs-notification-time'\n }\n})\nexport class NotificationTime {\n\n}\n","<ng-content/>\n","import { Component, ElementRef, inject } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-actor,[ngs-notification-actor]',\n imports: [],\n templateUrl: './notification-actor.html',\n styleUrl: './notification-actor.scss',\n host: {\n 'class': 'ngs-notification-actor',\n '[class.as-link]': 'asLink'\n }\n})\nexport class NotificationActor {\n private elementRef = inject(ElementRef);\n\n protected get asLink() {\n return (this.elementRef.nativeElement as HTMLElement).tagName === 'A';\n }\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-message',\n exportAs: 'ngsNotificationMessage',\n imports: [],\n templateUrl: './notification-message.html',\n styleUrl: './notification-message.scss',\n host: {\n 'class': 'ngs-notification-message'\n }\n})\nexport class NotificationMessage {\n\n}\n","<ng-content/>\n","import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification,[ngs-notification]',\n exportAs: 'ngsNotification',\n imports: [],\n templateUrl: './notification.html',\n styleUrl: './notification.scss',\n host: {\n 'class': 'ngs-notification',\n '[class.is-unread]': 'isUnread()'\n }\n})\nexport class Notification {\n isUnread = input(false, {\n transform: booleanAttribute\n });\n}\n","<div class=\"avatar\">\n <ng-content select=\"[ngsNotificationAvatar]\"/>\n</div>\n<div class=\"grow\">\n <span class=\"message\">\n <ng-content select=\"ngs-notification-message,[ngs-notification-message]\"/>\n </span>\n <div class=\"content\">\n <ng-content select=\"ngs-notification-content,[ngs-notification-content]\"/>\n </div>\n <ng-content select=\"ngs-notification-time,[ngs-notification-time]\"/>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-notification-content,[ngs-notification-content]',\n exportAs: 'ngsNotificationContent',\n imports: [],\n templateUrl: './notification-content.html',\n styleUrl: './notification-content.scss',\n host: {\n 'class': 'ngs-notification-content'\n }\n})\nexport class NotificationContent {\n\n}\n","<ng-content/>\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationProps]',\n exportAs: 'ngsNotificationProps',\n standalone: true,\n host: {\n 'class': 'ngs-notification-props',\n '[class.is-unread]': 'isUnread()',\n }\n})\nexport class NotificationPropsDirective {\n isUnread = input(false, {\n transform: booleanAttribute\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[ngsNotificationAvatar]',\n exportAs: 'ngsNotificationAvatar',\n host: {\n 'class': 'ngs-notification-avatar'\n }\n})\nexport class NotificationAvatarDirective {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngstarter-ui/components",
|
|
3
3
|
"description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
|
|
4
|
-
"version": "21.0.
|
|
4
|
+
"version": "21.0.25",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/elementarlabsdev/ngstarter.git"
|
|
@@ -24,7 +24,7 @@ declare class Card {
|
|
|
24
24
|
|
|
25
25
|
declare class CardHeader {
|
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<CardHeader, never>;
|
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CardHeader, "ngs-card-header",
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardHeader, "ngs-card-header", ["ngsCardHeader"], {}, {}, never, ["ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]", "ngs-card-title, [ngs-card-title], [ngsCardTitle]", "ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]", "*", "ngs-card-aside, [ngs-card-aside], [ngsCardAside]"], true, never>;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
declare class CardTitle {
|
|
@@ -44,7 +44,7 @@ declare class ChipRow extends Chip {
|
|
|
44
44
|
_startEditing(): void;
|
|
45
45
|
private _stopEditing;
|
|
46
46
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipRow, never>;
|
|
47
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipRow, "ngs-chip-row",
|
|
47
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipRow, "ngs-chip-row", ["ngsChipRow"], { "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, { "edited": "edited"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "ngs-chip-shape, [ngsChipShape]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
declare class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {
|
|
@@ -95,7 +95,7 @@ declare class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFi
|
|
|
95
95
|
_registerInput(input: any): void;
|
|
96
96
|
focus(): void;
|
|
97
97
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipGrid, never>;
|
|
98
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipGrid, "ngs-chip-grid",
|
|
98
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipGrid, "ngs-chip-grid", ["ngsChipGrid"], { "_id": { "alias": "id"; "required": false; "isSignal": true; }; "_placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_required": { "alias": "required"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, ["_chips"], ["*"], true, never>;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
declare class ChipOption extends Chip {
|
|
@@ -144,7 +144,7 @@ declare class ChipListbox implements ControlValueAccessor, AfterContentInit, OnD
|
|
|
144
144
|
|
|
145
145
|
declare class ChipSet {
|
|
146
146
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipSet, never>;
|
|
147
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipSet, "ngs-chip-set",
|
|
147
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipSet, "ngs-chip-set", ["ngsChipSet"], {}, {}, never, ["*"], true, never>;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
declare class ChipAvatar {
|
|
@@ -6,7 +6,7 @@ import { FormFieldControl } from '@ngstarter-ui/components/form-field';
|
|
|
6
6
|
|
|
7
7
|
declare class DatepickerActions {
|
|
8
8
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerActions, never>;
|
|
9
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerActions, "ngs-datepicker-actions",
|
|
9
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerActions, "ngs-datepicker-actions", ["ngsDatepickerActions"], {}, {}, never, ["*"], true, never>;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
declare class DateRange<D> {
|
|
@@ -111,7 +111,7 @@ declare class DatepickerInput<D> implements ControlValueAccessor, OnDestroy, OnI
|
|
|
111
111
|
private _formatValue;
|
|
112
112
|
getConnectedOverlayOrigin(): ElementRef;
|
|
113
113
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerInput<any>, never>;
|
|
114
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DatepickerInput<any>, "input[ngsDatepicker]",
|
|
114
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DatepickerInput<any>, "input[ngsDatepicker]", ["ngsDatepickerInput"], { "ngsDatepicker": { "alias": "ngsDatepicker"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
declare class StartDate<D> {
|
|
@@ -175,7 +175,7 @@ declare class DateRangeInput<D> implements OnDestroy, OnInit, FormFieldControl<D
|
|
|
175
175
|
getConnectedOverlayOrigin(): ElementRef;
|
|
176
176
|
focus(): void;
|
|
177
177
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangeInput<any>, never>;
|
|
178
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangeInput<any>, "ngs-date-range-input",
|
|
178
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangeInput<any>, "ngs-date-range-input", ["ngsDateRangeInput"], { "rangePicker": { "alias": "rangePicker"; "required": true; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, ["_startInput", "_endInput"], ["input[ngsStartDate]", "input[ngsEndDate]"], true, never>;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
declare class DatepickerToggleIcon {
|
|
@@ -247,7 +247,7 @@ declare class MonthView<D> {
|
|
|
247
247
|
selectDate(date: D | null): void;
|
|
248
248
|
handleHover(date: D | null): void;
|
|
249
249
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MonthView<any>, never>;
|
|
250
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MonthView<any>, "ngs-month-view",
|
|
250
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MonthView<any>, "ngs-month-view", ["ngsMonthView"], { "activeDate": { "alias": "activeDate"; "required": true; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "rangePreviewDate": { "alias": "rangePreviewDate"; "required": false; "isSignal": true; }; "sharedRangePreview": { "alias": "sharedRangePreview"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "rangePreviewDateChange": "rangePreviewDateChange"; }, never, never, true, never>;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
declare class YearView<D> {
|
|
@@ -263,7 +263,7 @@ declare class YearView<D> {
|
|
|
263
263
|
}[][]>;
|
|
264
264
|
selectMonth(month: number): void;
|
|
265
265
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YearView<any>, never>;
|
|
266
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YearView<any>, "ngs-year-view",
|
|
266
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YearView<any>, "ngs-year-view", ["ngsYearView"], { "activeDate": { "alias": "activeDate"; "required": true; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "monthSelected": "monthSelected"; }, never, never, true, never>;
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
declare class MultiYearView<D> {
|
|
@@ -279,7 +279,7 @@ declare class MultiYearView<D> {
|
|
|
279
279
|
}[][]>;
|
|
280
280
|
selectYear(year: number): void;
|
|
281
281
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiYearView<any>, never>;
|
|
282
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiYearView<any>, "ngs-multi-year-view",
|
|
282
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiYearView<any>, "ngs-multi-year-view", ["ngsMultiYearView"], { "activeDate": { "alias": "activeDate"; "required": true; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "yearSelected": "yearSelected"; }, never, never, true, never>;
|
|
283
283
|
}
|
|
284
284
|
|
|
285
285
|
/** Injection token for the DateAdapter's locale. */
|
|
@@ -47,7 +47,7 @@ declare class ExpansionPanelHeader {
|
|
|
47
47
|
_toggle(): void;
|
|
48
48
|
_getExpandedState(): string;
|
|
49
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExpansionPanelHeader, never>;
|
|
50
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ExpansionPanelHeader, "ngs-expansion-panel-header",
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ExpansionPanelHeader, "ngs-expansion-panel-header", ["ngsExpansionPanelHeader"], { "hideToggle": { "alias": "hideToggle"; "required": false; "isSignal": true; }; }, {}, never, ["ngs-panel-title", "ngs-panel-description", "*"], true, never>;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
declare class ExpansionPanelTitle {
|
|
@@ -62,7 +62,7 @@ declare class ExpansionPanelDescription {
|
|
|
62
62
|
|
|
63
63
|
declare class ActionRow {
|
|
64
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActionRow, never>;
|
|
65
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ActionRow, "ngs-action-row",
|
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ActionRow, "ngs-action-row", ["ngsActionRow"], {}, {}, never, ["*"], true, never>;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export { Accordion, ActionRow, ExpansionPanel, ExpansionPanelDescription, ExpansionPanelHeader, ExpansionPanelTitle };
|
|
@@ -27,12 +27,12 @@ declare abstract class FormFieldControl<T> {
|
|
|
27
27
|
declare class Hint {
|
|
28
28
|
align: i0.InputSignal<"start" | "end">;
|
|
29
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<Hint, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Hint, "ngs-hint",
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Hint, "ngs-hint", ["ngsHint"], { "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
declare class Error {
|
|
34
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<Error, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Error, "ngs-error",
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Error, "ngs-error", ["ngsError"], {}, {}, never, ["*"], true, never>;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
declare class Prefix {
|
|
@@ -220,7 +220,7 @@ declare class TourStep {
|
|
|
220
220
|
protected readonly htmlContent: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
221
221
|
getArrowClasses(pos: ConnectedPosition | null): string;
|
|
222
222
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TourStep, never>;
|
|
223
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TourStep, "ngs-tour-step",
|
|
223
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TourStep, "ngs-tour-step", ["ngsTourStep"], { "step": { "alias": "step"; "required": true; "isSignal": true; }; "isFirst": { "alias": "isFirst"; "required": false; "isSignal": true; }; "isLast": { "alias": "isLast"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "animateEnterClass": { "alias": "animateEnterClass"; "required": false; "isSignal": true; }; "animateLeaveClass": { "alias": "animateLeaveClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
export { TOUR_CONFIG, TOUR_STEP_COMPONENT, TourAnchorDirective, TourService, TourState, TourStep, provideTourConfig };
|
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, OnChanges, OnDestroy, ElementRef, SimpleChanges } from '@angular/core';
|
|
3
3
|
|
|
4
|
-
declare class Marquee implements
|
|
4
|
+
declare class Marquee implements AfterViewInit, OnChanges, OnDestroy {
|
|
5
5
|
private _elementRef;
|
|
6
6
|
private _platformId;
|
|
7
7
|
private _intersectionObserver?;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
private _resizeObserver?;
|
|
9
|
+
private _mutationObserver?;
|
|
10
|
+
private _measureFrame;
|
|
11
|
+
reverse: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
12
|
+
pauseOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
10
13
|
protected isInView: boolean;
|
|
11
|
-
readonly
|
|
14
|
+
readonly track: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
15
|
+
readonly sourceItem: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
12
16
|
protected get nativeElement(): HTMLElement;
|
|
13
17
|
ngOnChanges(changes: SimpleChanges): void;
|
|
14
|
-
|
|
18
|
+
ngAfterViewInit(): void;
|
|
15
19
|
ngOnDestroy(): void;
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
private _queueRepeatMeasure;
|
|
21
|
+
private _syncRepeatItems;
|
|
22
|
+
private _renderClone;
|
|
23
|
+
private _createItemClone;
|
|
24
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Marquee, never>;
|
|
25
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Marquee, "ngs-marquee", ["ngsMarquee"], { "reverse": { "alias": "reverse"; "required": false; "isSignal": true; }; "pauseOnHover": { "alias": "pauseOnHover"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
18
26
|
}
|
|
19
27
|
|
|
20
28
|
declare class MarqueeItemDirective {
|
|
21
29
|
private _elementRef;
|
|
22
30
|
get nativeElement(): HTMLElement;
|
|
23
|
-
static ɵfac:
|
|
24
|
-
static ɵdir:
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarqueeItemDirective, never>;
|
|
32
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MarqueeItemDirective, "[ngsMarqueeItem]", never, {}, {}, never, never, true, never>;
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
export { Marquee, MarqueeItemDirective };
|