codexly-ui 0.11.4 → 0.11.7
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/codexly-ui.mjs +32 -24
- package/fesm2022/codexly-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/codexly-ui.d.ts +9 -2
package/fesm2022/codexly-ui.mjs
CHANGED
|
@@ -11369,6 +11369,15 @@ class ClxNotificationComponent {
|
|
|
11369
11369
|
/** Optional third tab that filters items by ClxNotificationItem.category — e.g.
|
|
11370
11370
|
* `{ id: 'orders', label: 'Órdenes' }`. Omit for just Todas/Sin leer. */
|
|
11371
11371
|
categoryTab = input(undefined, ...(ngDevMode ? [{ debugName: "categoryTab" }] : /* istanbul ignore next */ []));
|
|
11372
|
+
// ── Trigger button overrides — the bell is a real clx-button under the hood, so any of its
|
|
11373
|
+
// own look-and-feel inputs can be pinned here without needing a separate trigger component. ──
|
|
11374
|
+
triggerVariant = input('ghost', ...(ngDevMode ? [{ debugName: "triggerVariant" }] : /* istanbul ignore next */ []));
|
|
11375
|
+
triggerSize = input('md', ...(ngDevMode ? [{ debugName: "triggerSize" }] : /* istanbul ignore next */ []));
|
|
11376
|
+
triggerIcon = input('notifications', ...(ngDevMode ? [{ debugName: "triggerIcon" }] : /* istanbul ignore next */ []));
|
|
11377
|
+
/** Unread-count badge color — falls back to the theme's notification.unreadColor (then
|
|
11378
|
+
* primaryColor) when unset, same precedence as every other per-instance override in this
|
|
11379
|
+
* library (instance input > theme block > primaryColor). */
|
|
11380
|
+
badgeColor = input(undefined, ...(ngDevMode ? [{ debugName: "badgeColor" }] : /* istanbul ignore next */ []));
|
|
11372
11381
|
itemClick = output();
|
|
11373
11382
|
markRead = output();
|
|
11374
11383
|
markAllRead = output();
|
|
@@ -11376,6 +11385,7 @@ class ClxNotificationComponent {
|
|
|
11376
11385
|
deleteAllRead = output();
|
|
11377
11386
|
_style = this._themeSvc.notificationStyle;
|
|
11378
11387
|
_color = computed(() => this.color() ?? this._themeSvc.config().primaryColor, ...(ngDevMode ? [{ debugName: "_color" }] : /* istanbul ignore next */ []));
|
|
11388
|
+
_badgeColor = computed(() => this.badgeColor() ?? this._style().unreadColor, ...(ngDevMode ? [{ debugName: "_badgeColor" }] : /* istanbul ignore next */ []));
|
|
11379
11389
|
// ── CDK Overlay ─────────────────────────────────────────────────────────────
|
|
11380
11390
|
_sso = inject(ScrollStrategyOptions);
|
|
11381
11391
|
_scrollStrategy = this._sso.reposition();
|
|
@@ -11385,10 +11395,6 @@ class ClxNotificationComponent {
|
|
|
11385
11395
|
];
|
|
11386
11396
|
_isOpen = signal(false, ...(ngDevMode ? [{ debugName: "_isOpen" }] : /* istanbul ignore next */ []));
|
|
11387
11397
|
_filter = signal('all', ...(ngDevMode ? [{ debugName: "_filter" }] : /* istanbul ignore next */ []));
|
|
11388
|
-
_ringClass = computed(() => {
|
|
11389
|
-
const t = resolveColor(this._color());
|
|
11390
|
-
return `focus-visible:${t.ringBase}`;
|
|
11391
|
-
}, ...(ngDevMode ? [{ debugName: "_ringClass" }] : /* istanbul ignore next */ []));
|
|
11392
11398
|
_panelClass = computed(() => `w-96 bg-clx-surface shadow-xl border border-clx-border-soft overflow-hidden mt-2 flex flex-col ${resolveContainerRadius(this._style().radius)}`, ...(ngDevMode ? [{ debugName: "_panelClass" }] : /* istanbul ignore next */ []));
|
|
11393
11399
|
_unreadCount = computed(() => this.items().filter(i => !i.read).length, ...(ngDevMode ? [{ debugName: "_unreadCount" }] : /* istanbul ignore next */ []));
|
|
11394
11400
|
_readCount = computed(() => this.items().filter(i => i.read).length, ...(ngDevMode ? [{ debugName: "_readCount" }] : /* istanbul ignore next */ []));
|
|
@@ -11473,21 +11479,22 @@ class ClxNotificationComponent {
|
|
|
11473
11479
|
return new Date(iso).toLocaleTimeString('es-CO', { hour: '2-digit', minute: '2-digit' });
|
|
11474
11480
|
}
|
|
11475
11481
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11476
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxNotificationComponent, isStandalone: true, selector: "clx-notification", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, categoryTab: { classPropertyName: "categoryTab", publicName: "categoryTab", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", markRead: "markRead", markAllRead: "markAllRead", delete: "delete", deleteAllRead: "deleteAllRead" }, host: { classAttribute: "relative inline-flex items-center" }, ngImport: i0, template: `
|
|
11482
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxNotificationComponent, isStandalone: true, selector: "clx-notification", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, categoryTab: { classPropertyName: "categoryTab", publicName: "categoryTab", isSignal: true, isRequired: false, transformFunction: null }, triggerVariant: { classPropertyName: "triggerVariant", publicName: "triggerVariant", isSignal: true, isRequired: false, transformFunction: null }, triggerSize: { classPropertyName: "triggerSize", publicName: "triggerSize", isSignal: true, isRequired: false, transformFunction: null }, triggerIcon: { classPropertyName: "triggerIcon", publicName: "triggerIcon", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", markRead: "markRead", markAllRead: "markAllRead", delete: "delete", deleteAllRead: "deleteAllRead" }, host: { classAttribute: "relative inline-flex items-center" }, ngImport: i0, template: `
|
|
11477
11483
|
<!-- Trigger -->
|
|
11478
|
-
<button
|
|
11484
|
+
<button clx-button
|
|
11479
11485
|
#origin="cdkOverlayOrigin"
|
|
11480
11486
|
cdkOverlayOrigin
|
|
11481
11487
|
type="button"
|
|
11488
|
+
[variant]="triggerVariant()"
|
|
11489
|
+
[color]="_color()"
|
|
11490
|
+
[size]="triggerSize()"
|
|
11491
|
+
shape="circle"
|
|
11492
|
+
[icon]="triggerIcon()"
|
|
11493
|
+
[iconOnly]="true"
|
|
11494
|
+
[badge]="_unreadCount() > 0 ? (_unreadCount() > 9 ? '9+' : _unreadCount()) : undefined"
|
|
11495
|
+
[badgeColor]="_badgeColor()"
|
|
11482
11496
|
aria-label="Notificaciones"
|
|
11483
|
-
class="relative flex items-center justify-center w-9 h-9 rounded-full text-clx-text-muted hover:bg-clx-surface-2 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 cursor-pointer"
|
|
11484
|
-
[class]="_ringClass()"
|
|
11485
11497
|
(click)="_toggle()">
|
|
11486
|
-
<span clx-icon name="notifications" size="sm"></span>
|
|
11487
|
-
@if (_unreadCount() > 0) {
|
|
11488
|
-
<span clx-badge [color]="_style().unreadColor" variant="solid" size="xs" shape="circle"
|
|
11489
|
-
class="absolute -top-0.5 -right-0.5">{{ _unreadCount() > 9 ? '9+' : _unreadCount() }}</span>
|
|
11490
|
-
}
|
|
11491
11498
|
</button>
|
|
11492
11499
|
|
|
11493
11500
|
<!-- Overlay panel -->
|
|
@@ -11578,29 +11585,30 @@ class ClxNotificationComponent {
|
|
|
11578
11585
|
}
|
|
11579
11586
|
</div>
|
|
11580
11587
|
</ng-template>
|
|
11581
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ClxIconComponent, selector: "span[clx-icon]", inputs: ["name", "size", "color", "fill"] }, { kind: "component", type:
|
|
11588
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ClxIconComponent, selector: "span[clx-icon]", inputs: ["name", "size", "color", "fill"] }, { kind: "component", type: ClxButtonComponent, selector: "button[clx-button], a[clx-button]", inputs: ["variant", "color", "textColor", "size", "shape", "loading", "disabled", "block", "icon", "iconPosition", "iconOnly", "badge", "badgeColor"] }, { kind: "component", type: ClxPageEmptyComponent, selector: "clx-page-empty", inputs: ["icon", "heading", "description", "ctaLabel", "ctaIcon", "ctaColor"], outputs: ["cta"] }, { kind: "component", type: ClxTabsComponent, selector: "clx-tabs", inputs: ["tabs", "clxColor", "activeTab"], outputs: ["activeTabChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11582
11589
|
}
|
|
11583
11590
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxNotificationComponent, decorators: [{
|
|
11584
11591
|
type: Component,
|
|
11585
11592
|
args: [{
|
|
11586
11593
|
selector: 'clx-notification',
|
|
11587
11594
|
standalone: true,
|
|
11588
|
-
imports: [OverlayModule, ClxIconComponent,
|
|
11595
|
+
imports: [OverlayModule, ClxIconComponent, ClxButtonComponent, ClxPageEmptyComponent, ClxTabsComponent],
|
|
11589
11596
|
template: `
|
|
11590
11597
|
<!-- Trigger -->
|
|
11591
|
-
<button
|
|
11598
|
+
<button clx-button
|
|
11592
11599
|
#origin="cdkOverlayOrigin"
|
|
11593
11600
|
cdkOverlayOrigin
|
|
11594
11601
|
type="button"
|
|
11602
|
+
[variant]="triggerVariant()"
|
|
11603
|
+
[color]="_color()"
|
|
11604
|
+
[size]="triggerSize()"
|
|
11605
|
+
shape="circle"
|
|
11606
|
+
[icon]="triggerIcon()"
|
|
11607
|
+
[iconOnly]="true"
|
|
11608
|
+
[badge]="_unreadCount() > 0 ? (_unreadCount() > 9 ? '9+' : _unreadCount()) : undefined"
|
|
11609
|
+
[badgeColor]="_badgeColor()"
|
|
11595
11610
|
aria-label="Notificaciones"
|
|
11596
|
-
class="relative flex items-center justify-center w-9 h-9 rounded-full text-clx-text-muted hover:bg-clx-surface-2 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 cursor-pointer"
|
|
11597
|
-
[class]="_ringClass()"
|
|
11598
11611
|
(click)="_toggle()">
|
|
11599
|
-
<span clx-icon name="notifications" size="sm"></span>
|
|
11600
|
-
@if (_unreadCount() > 0) {
|
|
11601
|
-
<span clx-badge [color]="_style().unreadColor" variant="solid" size="xs" shape="circle"
|
|
11602
|
-
class="absolute -top-0.5 -right-0.5">{{ _unreadCount() > 9 ? '9+' : _unreadCount() }}</span>
|
|
11603
|
-
}
|
|
11604
11612
|
</button>
|
|
11605
11613
|
|
|
11606
11614
|
<!-- Overlay panel -->
|
|
@@ -11696,7 +11704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
11696
11704
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11697
11705
|
host: { class: 'relative inline-flex items-center' },
|
|
11698
11706
|
}]
|
|
11699
|
-
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], categoryTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTab", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], markRead: [{ type: i0.Output, args: ["markRead"] }], markAllRead: [{ type: i0.Output, args: ["markAllRead"] }], delete: [{ type: i0.Output, args: ["delete"] }], deleteAllRead: [{ type: i0.Output, args: ["deleteAllRead"] }] } });
|
|
11707
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], categoryTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTab", required: false }] }], triggerVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerVariant", required: false }] }], triggerSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerSize", required: false }] }], triggerIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerIcon", required: false }] }], badgeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeColor", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], markRead: [{ type: i0.Output, args: ["markRead"] }], markAllRead: [{ type: i0.Output, args: ["markAllRead"] }], delete: [{ type: i0.Output, args: ["delete"] }], deleteAllRead: [{ type: i0.Output, args: ["deleteAllRead"] }] } });
|
|
11700
11708
|
|
|
11701
11709
|
// ─── CDK overlay token (carries the resolved ref into the component) ──────────
|
|
11702
11710
|
const CLX_ALERT_OPTIONS = new InjectionToken('CLX_ALERT_OPTIONS');
|