codexly-ui 0.10.99 → 0.10.101
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
CHANGED
|
@@ -10191,19 +10191,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
10191
10191
|
}], ctorParameters: () => [], propDecorators: { activeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeColor", required: false }] }], collapsedChange: [{ type: i0.Output, args: ["collapsedChange"] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }] } });
|
|
10192
10192
|
|
|
10193
10193
|
class ClxBrandComponent {
|
|
10194
|
+
_sanitizer = inject(DomSanitizer);
|
|
10194
10195
|
logo = input.required(...(ngDevMode ? [{ debugName: "logo" }] : /* istanbul ignore next */ []));
|
|
10195
10196
|
name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
10197
|
+
/** Optional rich-text brand name (e.g. per-word colored spans) — takes over from the plain
|
|
10198
|
+
* `name` text when set, which still backs the logo's `alt` and the fallback rendering. Caller
|
|
10199
|
+
* is responsible for only ever passing admin-authored content here, never unescaped user input —
|
|
10200
|
+
* this component trusts it as-is (bypassSecurityTrustHtml), same as ClxSocialIconComponent's
|
|
10201
|
+
* internal SVG markup. */
|
|
10202
|
+
nameHtml = input(undefined, ...(ngDevMode ? [{ debugName: "nameHtml" }] : /* istanbul ignore next */ []));
|
|
10196
10203
|
description = input('', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
10197
10204
|
collapsed = input(false, ...(ngDevMode ? [{ debugName: "collapsed" }] : /* istanbul ignore next */ []));
|
|
10205
|
+
_safeNameHtml = computed(() => this._sanitizer.bypassSecurityTrustHtml(this.nameHtml() ?? ''), ...(ngDevMode ? [{ debugName: "_safeNameHtml" }] : /* istanbul ignore next */ []));
|
|
10198
10206
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxBrandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxBrandComponent, isStandalone: true, selector: "clx-brand", inputs: { logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
10207
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxBrandComponent, isStandalone: true, selector: "clx-brand", inputs: { logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, nameHtml: { classPropertyName: "nameHtml", publicName: "nameHtml", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
10200
10208
|
<div [class]="collapsed() ? 'flex items-center justify-center py-4' : 'flex items-center gap-3 px-4 py-4'">
|
|
10201
10209
|
<img [src]="logo()" [alt]="name()" class="h-8 w-8 shrink-0 object-contain" />
|
|
10202
10210
|
@if (!collapsed()) {
|
|
10203
10211
|
<div class="min-w-0 overflow-hidden">
|
|
10204
|
-
|
|
10212
|
+
@if (nameHtml()) {
|
|
10213
|
+
<p class="text-sm font-semibold truncate leading-tight" [innerHTML]="_safeNameHtml()"></p>
|
|
10214
|
+
} @else {
|
|
10215
|
+
<p class="text-clx-text-label text-sm font-semibold truncate leading-tight">{{ name() }}</p>
|
|
10216
|
+
}
|
|
10205
10217
|
@if (description()) {
|
|
10206
|
-
<p class="text-
|
|
10218
|
+
<p class="text-clx-text-muted text-xs truncate leading-tight">{{ description() }}</p>
|
|
10207
10219
|
}
|
|
10208
10220
|
</div>
|
|
10209
10221
|
}
|
|
@@ -10220,9 +10232,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
10220
10232
|
<img [src]="logo()" [alt]="name()" class="h-8 w-8 shrink-0 object-contain" />
|
|
10221
10233
|
@if (!collapsed()) {
|
|
10222
10234
|
<div class="min-w-0 overflow-hidden">
|
|
10223
|
-
|
|
10235
|
+
@if (nameHtml()) {
|
|
10236
|
+
<p class="text-sm font-semibold truncate leading-tight" [innerHTML]="_safeNameHtml()"></p>
|
|
10237
|
+
} @else {
|
|
10238
|
+
<p class="text-clx-text-label text-sm font-semibold truncate leading-tight">{{ name() }}</p>
|
|
10239
|
+
}
|
|
10224
10240
|
@if (description()) {
|
|
10225
|
-
<p class="text-
|
|
10241
|
+
<p class="text-clx-text-muted text-xs truncate leading-tight">{{ description() }}</p>
|
|
10226
10242
|
}
|
|
10227
10243
|
</div>
|
|
10228
10244
|
}
|
|
@@ -10232,7 +10248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
10232
10248
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10233
10249
|
host: { class: 'block' },
|
|
10234
10250
|
}]
|
|
10235
|
-
}], propDecorators: { logo: [{ type: i0.Input, args: [{ isSignal: true, alias: "logo", required: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }] } });
|
|
10251
|
+
}], propDecorators: { logo: [{ type: i0.Input, args: [{ isSignal: true, alias: "logo", required: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], nameHtml: [{ type: i0.Input, args: [{ isSignal: true, alias: "nameHtml", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }] } });
|
|
10236
10252
|
|
|
10237
10253
|
// ── Item geometry ──────────────────────────────────────────────────────────────
|
|
10238
10254
|
const NAV_ITEM_BASE = 'flex items-center gap-3 cursor-pointer select-none';
|