codexly-ui 0.0.81 → 0.0.83

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.
@@ -1,3 +1,14 @@
1
+ /* ── Backdrop base ───────────────────────────────────────────────────────── */
2
+ .clx-modal-backdrop,
3
+ .clx-alert-backdrop {
4
+ animation: clx-backdrop-in 220ms ease forwards;
5
+ }
6
+
7
+ @keyframes clx-backdrop-in {
8
+ from { opacity: 0; }
9
+ to { opacity: 1; }
10
+ }
11
+
1
12
  /* ── Modal backdrop ─────────────────────────────────────────────────────── */
2
13
  .clx-modal-backdrop {
3
14
  background-color: rgba(15, 23, 42, 0.40);
@@ -5,6 +16,13 @@
5
16
  -webkit-backdrop-filter: blur(4px);
6
17
  }
7
18
 
19
+ /* ── Alert backdrop ──────────────────────────────────────────────────────── */
20
+ .clx-alert-backdrop {
21
+ background-color: rgba(15, 23, 42, 0.45);
22
+ backdrop-filter: blur(6px);
23
+ -webkit-backdrop-filter: blur(6px);
24
+ }
25
+
8
26
 
9
27
  /* ── Scrollbar ───────────────────────────────────────────────────────────── */
10
28
  ::-webkit-scrollbar { width: 0.5rem; height: 0.5rem; }
@@ -1,4 +1,5 @@
1
1
  /* ── Safelist: all color shades for dynamic class binding ── */
2
+ @source inline("shadow-none shadow-sm shadow-md shadow-lg shadow-xl shadow-2xl");
2
3
  @source inline("{bg,hover:bg,ring,hover:ring,focus:ring,focus-within:ring,hover:border,border,focus:border,focus-within:border,text}-{red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose,slate,gray,zinc,neutral,stone}-{50,100,200,300,400,500,600,700,800,900,950}{/10,/20,/25,/50,/75,}");
3
4
  @source inline("{bg,hover:bg,focus:ring,focus-within:ring,border,focus:border,focus-within:border,hover:border,border-t}-{white,black,transparent}");
4
5
  @source inline("border-white/30 border-t-white");
@@ -6316,6 +6316,14 @@ const CARD_PADDING_MAP = {
6316
6316
  md: 'p-5',
6317
6317
  lg: 'p-7',
6318
6318
  };
6319
+ const CARD_SHADOW_MAP = {
6320
+ none: 'shadow-none',
6321
+ sm: 'shadow-sm',
6322
+ md: 'shadow-md',
6323
+ lg: 'shadow-lg',
6324
+ xl: 'shadow-xl',
6325
+ '2xl': 'shadow-2xl',
6326
+ };
6319
6327
 
6320
6328
  class ClxCardHeaderDirective {
6321
6329
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxCardHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -6348,6 +6356,7 @@ class ClxCardComponent {
6348
6356
  variant = input('elevated', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
6349
6357
  color = input('indigo', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6350
6358
  padding = input('md', ...(ngDevMode ? [{ debugName: "padding" }] : /* istanbul ignore next */ []));
6359
+ shadow = input(undefined, ...(ngDevMode ? [{ debugName: "shadow" }] : /* istanbul ignore next */ []));
6351
6360
  hover = input(false, ...(ngDevMode ? [{ debugName: "hover" }] : /* istanbul ignore next */ []));
6352
6361
  _headerSlot = contentChild(ClxCardHeaderDirective, ...(ngDevMode ? [{ debugName: "_headerSlot" }] : /* istanbul ignore next */ []));
6353
6362
  _bodySlot = contentChild(ClxCardBodyDirective, ...(ngDevMode ? [{ debugName: "_bodySlot" }] : /* istanbul ignore next */ []));
@@ -6362,21 +6371,25 @@ class ClxCardComponent {
6362
6371
  _hostClass = computed(() => {
6363
6372
  const variant = this.variant();
6364
6373
  const t = resolveColor(this.color());
6374
+ const shadowInput = this.shadow();
6365
6375
  const hover = this.hover() ? `transition-shadow duration-200 hover:shadow-lg cursor-pointer` : '';
6366
6376
  let variantClass;
6367
6377
  if (variant === 'elevated') {
6368
- variantClass = `bg-white shadow-md border ${t.borderLight}`;
6378
+ const shadowClass = shadowInput !== undefined ? CARD_SHADOW_MAP[shadowInput] : 'shadow-md';
6379
+ variantClass = `bg-white ${shadowClass} border ${t.borderLight}`;
6369
6380
  }
6370
6381
  else if (variant === 'outlined') {
6371
- variantClass = `bg-white border ${t.border}`;
6382
+ const shadowClass = shadowInput !== undefined ? CARD_SHADOW_MAP[shadowInput] : '';
6383
+ variantClass = `bg-white border ${t.border} ${shadowClass}`;
6372
6384
  }
6373
6385
  else {
6374
- variantClass = `bg-slate-50 border border-transparent`;
6386
+ const shadowClass = shadowInput !== undefined ? CARD_SHADOW_MAP[shadowInput] : '';
6387
+ variantClass = `bg-slate-50 border border-transparent ${shadowClass}`;
6375
6388
  }
6376
6389
  return `flex flex-col rounded-xl overflow-hidden w-full ${variantClass} ${hover}`.trim();
6377
6390
  }, ...(ngDevMode ? [{ debugName: "_hostClass" }] : /* istanbul ignore next */ []));
6378
6391
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6379
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxCardComponent, isStandalone: true, selector: "clx-card", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, hover: { classPropertyName: "hover", publicName: "hover", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_hostClass()" } }, queries: [{ propertyName: "_headerSlot", first: true, predicate: ClxCardHeaderDirective, descendants: true, isSignal: true }, { propertyName: "_bodySlot", first: true, predicate: ClxCardBodyDirective, descendants: true, isSignal: true }, { propertyName: "_footerSlot", first: true, predicate: ClxCardFooterDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
6392
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxCardComponent, isStandalone: true, selector: "clx-card", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: true, isRequired: false, transformFunction: null }, hover: { classPropertyName: "hover", publicName: "hover", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_hostClass()" } }, queries: [{ propertyName: "_headerSlot", first: true, predicate: ClxCardHeaderDirective, descendants: true, isSignal: true }, { propertyName: "_bodySlot", first: true, predicate: ClxCardBodyDirective, descendants: true, isSignal: true }, { propertyName: "_footerSlot", first: true, predicate: ClxCardFooterDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
6380
6393
  @if (_hasHeader()) {
6381
6394
  <div class="clx-card-header flex items-center justify-between gap-3 px-5 py-4 border-b border-slate-100">
6382
6395
  <ng-content select="[clxCardHeader]" />
@@ -6427,7 +6440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
6427
6440
  }
6428
6441
  `,
6429
6442
  }]
6430
- }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], hover: [{ type: i0.Input, args: [{ isSignal: true, alias: "hover", required: false }] }], _headerSlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardHeaderDirective), { isSignal: true }] }], _bodySlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardBodyDirective), { isSignal: true }] }], _footerSlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardFooterDirective), { isSignal: true }] }] } });
6443
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], shadow: [{ type: i0.Input, args: [{ isSignal: true, alias: "shadow", required: false }] }], hover: [{ type: i0.Input, args: [{ isSignal: true, alias: "hover", required: false }] }], _headerSlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardHeaderDirective), { isSignal: true }] }], _bodySlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardBodyDirective), { isSignal: true }] }], _footerSlot: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClxCardFooterDirective), { isSignal: true }] }] } });
6431
6444
 
6432
6445
  const STEPPER_SIZE_MAP = {
6433
6446
  sm: { circle: 'w-7 h-7', iconSize: 'xs', label: 'text-xs', desc: 'text-xs', connector: 'h-0.5' },