codexly-ui 0.10.100 → 0.10.102

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.
@@ -10190,6 +10190,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
10190
10190
  }]
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
+ const SIZE_CLASSES = {
10194
+ md: {
10195
+ wrapper: 'flex items-center gap-3 px-4 py-4',
10196
+ wrapperCollapsed: 'flex items-center justify-center py-4',
10197
+ logo: 'h-8 w-8 shrink-0 object-contain',
10198
+ name: 'text-sm font-semibold truncate leading-tight',
10199
+ description: 'text-xs truncate leading-tight',
10200
+ },
10201
+ lg: {
10202
+ wrapper: 'flex items-center justify-center gap-3 px-4 py-2.5',
10203
+ wrapperCollapsed: 'flex items-center justify-center py-2.5',
10204
+ logo: 'h-11 w-11 shrink-0 object-contain',
10205
+ name: 'text-lg font-semibold truncate leading-tight',
10206
+ description: 'text-sm truncate leading-tight',
10207
+ },
10208
+ };
10193
10209
  class ClxBrandComponent {
10194
10210
  _sanitizer = inject(DomSanitizer);
10195
10211
  logo = input.required(...(ngDevMode ? [{ debugName: "logo" }] : /* istanbul ignore next */ []));
@@ -10202,20 +10218,24 @@ class ClxBrandComponent {
10202
10218
  nameHtml = input(undefined, ...(ngDevMode ? [{ debugName: "nameHtml" }] : /* istanbul ignore next */ []));
10203
10219
  description = input('', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
10204
10220
  collapsed = input(false, ...(ngDevMode ? [{ debugName: "collapsed" }] : /* istanbul ignore next */ []));
10221
+ /** 'md' (default) preserves the original compact, left-aligned look. 'lg' centers the whole
10222
+ * block and enlarges the logo/name for a more prominent brand splash. */
10223
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
10224
+ _sizeClasses = computed(() => SIZE_CLASSES[this.size()], ...(ngDevMode ? [{ debugName: "_sizeClasses" }] : /* istanbul ignore next */ []));
10205
10225
  _safeNameHtml = computed(() => this._sanitizer.bypassSecurityTrustHtml(this.nameHtml() ?? ''), ...(ngDevMode ? [{ debugName: "_safeNameHtml" }] : /* istanbul ignore next */ []));
10206
10226
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxBrandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
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: `
10208
- <div [class]="collapsed() ? 'flex items-center justify-center py-4' : 'flex items-center gap-3 px-4 py-4'">
10209
- <img [src]="logo()" [alt]="name()" class="h-8 w-8 shrink-0 object-contain" />
10227
+ 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 }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block" }, ngImport: i0, template: `
10228
+ <div [class]="collapsed() ? _sizeClasses().wrapperCollapsed : _sizeClasses().wrapper">
10229
+ <img [src]="logo()" [alt]="name()" [class]="_sizeClasses().logo" />
10210
10230
  @if (!collapsed()) {
10211
10231
  <div class="min-w-0 overflow-hidden">
10212
10232
  @if (nameHtml()) {
10213
- <p class="text-sm font-semibold truncate leading-tight" [innerHTML]="_safeNameHtml()"></p>
10233
+ <p [class]="_sizeClasses().name" [innerHTML]="_safeNameHtml()"></p>
10214
10234
  } @else {
10215
- <p class="text-white text-sm font-semibold truncate leading-tight">{{ name() }}</p>
10235
+ <p class="text-clx-text-label" [class]="_sizeClasses().name">{{ name() }}</p>
10216
10236
  }
10217
10237
  @if (description()) {
10218
- <p class="text-slate-400 text-xs truncate leading-tight">{{ description() }}</p>
10238
+ <p class="text-clx-text-muted" [class]="_sizeClasses().description">{{ description() }}</p>
10219
10239
  }
10220
10240
  </div>
10221
10241
  }
@@ -10228,17 +10248,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
10228
10248
  selector: 'clx-brand',
10229
10249
  standalone: true,
10230
10250
  template: `
10231
- <div [class]="collapsed() ? 'flex items-center justify-center py-4' : 'flex items-center gap-3 px-4 py-4'">
10232
- <img [src]="logo()" [alt]="name()" class="h-8 w-8 shrink-0 object-contain" />
10251
+ <div [class]="collapsed() ? _sizeClasses().wrapperCollapsed : _sizeClasses().wrapper">
10252
+ <img [src]="logo()" [alt]="name()" [class]="_sizeClasses().logo" />
10233
10253
  @if (!collapsed()) {
10234
10254
  <div class="min-w-0 overflow-hidden">
10235
10255
  @if (nameHtml()) {
10236
- <p class="text-sm font-semibold truncate leading-tight" [innerHTML]="_safeNameHtml()"></p>
10256
+ <p [class]="_sizeClasses().name" [innerHTML]="_safeNameHtml()"></p>
10237
10257
  } @else {
10238
- <p class="text-white text-sm font-semibold truncate leading-tight">{{ name() }}</p>
10258
+ <p class="text-clx-text-label" [class]="_sizeClasses().name">{{ name() }}</p>
10239
10259
  }
10240
10260
  @if (description()) {
10241
- <p class="text-slate-400 text-xs truncate leading-tight">{{ description() }}</p>
10261
+ <p class="text-clx-text-muted" [class]="_sizeClasses().description">{{ description() }}</p>
10242
10262
  }
10243
10263
  </div>
10244
10264
  }
@@ -10248,7 +10268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
10248
10268
  changeDetection: ChangeDetectionStrategy.OnPush,
10249
10269
  host: { class: 'block' },
10250
10270
  }]
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 }] }] } });
10271
+ }], 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 }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
10252
10272
 
10253
10273
  // ── Item geometry ──────────────────────────────────────────────────────────────
10254
10274
  const NAV_ITEM_BASE = 'flex items-center gap-3 cursor-pointer select-none';