@atelier-ui/angular 0.2.42 → 0.2.43

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.
@@ -67,11 +67,11 @@ class AtlButton {
67
67
  afterNextRender(() => {
68
68
  const host = this.el.nativeElement;
69
69
  const hasText = host.textContent.trim().length > 0;
70
- const hasAriaLabel = host.hasAttribute('aria-label')
71
- || host.hasAttribute('aria-labelledby');
70
+ const hasAriaLabel = host.hasAttribute('aria-label') ||
71
+ host.hasAttribute('aria-labelledby');
72
72
  if (!hasText && !hasAriaLabel) {
73
- console.warn('[AtlButton] icon-only button is missing an accessible name — '
74
- + 'add an aria-label attribute so screen readers announce its purpose.', host);
73
+ console.warn('[AtlButton] icon-only button is missing an accessible name — ' +
74
+ 'add an aria-label attribute so screen readers announce its purpose.', host);
75
75
  }
76
76
  });
77
77
  }
@@ -209,12 +209,31 @@ const ATL_ICON_GEOMETRY = {
209
209
  // `success` is a status icon and sits beside the circled danger/error/info, so it
210
210
  // is a circled check. `check` is the bare mark used inside controls (combobox
211
211
  // option, stepper step, copy confirmation) — two names, two shapes, on purpose.
212
- success: { kind: 'stroke', paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M8 12L11 15L16 9'] },
212
+ success: {
213
+ kind: 'stroke',
214
+ paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M8 12L11 15L16 9'],
215
+ },
213
216
  check: { kind: 'stroke', paths: ['M20 6L9 17L4 12'] },
214
- warning: { kind: 'stroke', paths: ['M12 3L22 20H2L12 3Z', 'M12 9V14', 'M12 17.5V17.6'] },
215
- danger: { kind: 'stroke', paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M15 9L9 15', 'M9 9L15 15'] },
216
- error: { kind: 'stroke', paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M12 7V13', 'M12 16.5V16.6'] },
217
- info: { kind: 'stroke', paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M12 11V17', 'M12 7.5V7.6'] },
217
+ warning: {
218
+ kind: 'stroke',
219
+ paths: ['M12 3L22 20H2L12 3Z', 'M12 9V14', 'M12 17.5V17.6'],
220
+ },
221
+ danger: {
222
+ kind: 'stroke',
223
+ paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M15 9L9 15', 'M9 9L15 15'],
224
+ },
225
+ error: {
226
+ kind: 'stroke',
227
+ paths: [
228
+ 'M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3',
229
+ 'M12 7V13',
230
+ 'M12 16.5V16.6',
231
+ ],
232
+ },
233
+ info: {
234
+ kind: 'stroke',
235
+ paths: ['M12 3A9 9 0 1 0 12 21A9 9 0 1 0 12 3', 'M12 11V17', 'M12 7.5V7.6'],
236
+ },
218
237
  // ── direction ─────────────────────────────────────────────────────────────
219
238
  'chevron-up': { kind: 'stroke', paths: ['M6 15L12 9L18 15'] },
220
239
  'chevron-down': { kind: 'stroke', paths: ['M6 9L12 15L18 9'] },
@@ -223,8 +242,14 @@ const ATL_ICON_GEOMETRY = {
223
242
  // Two chevrons, for "jump to the first / last page" as against "one step".
224
243
  // AtlPagination drew these as the guillemets « and », which are quotation marks
225
244
  // in typography and were arrows only by resemblance (ADR-0055).
226
- 'chevron-double-left': { kind: 'stroke', paths: ['M18 6L12 12L18 18', 'M11 6L5 12L11 18'] },
227
- 'chevron-double-right': { kind: 'stroke', paths: ['M6 6L12 12L6 18', 'M13 6L19 12L13 18'] },
245
+ 'chevron-double-left': {
246
+ kind: 'stroke',
247
+ paths: ['M18 6L12 12L18 18', 'M11 6L5 12L11 18'],
248
+ },
249
+ 'chevron-double-right': {
250
+ kind: 'stroke',
251
+ paths: ['M6 6L12 12L6 18', 'M13 6L19 12L13 18'],
252
+ },
228
253
  'arrow-left': { kind: 'stroke', paths: ['M19 12H5', 'M11 6L5 12L11 18'] },
229
254
  'arrow-right': { kind: 'stroke', paths: ['M5 12H19', 'M13 6L19 12L13 18'] },
230
255
  // ── sorting — two solid triangles, used separately by AtlTable ────────────
@@ -233,11 +258,24 @@ const ATL_ICON_GEOMETRY = {
233
258
  // ── actions ───────────────────────────────────────────────────────────────
234
259
  close: { kind: 'stroke', paths: ['M18 6L6 18', 'M6 6L18 18'] },
235
260
  add: { kind: 'stroke', paths: ['M12 5V19', 'M5 12H19'] },
236
- more: { kind: 'fill', paths: ['M6 10A2 2 0 1 0 6 14A2 2 0 1 0 6 10', 'M12 10A2 2 0 1 0 12 14A2 2 0 1 0 12 10', 'M18 10A2 2 0 1 0 18 14A2 2 0 1 0 18 10'] },
261
+ more: {
262
+ kind: 'fill',
263
+ paths: [
264
+ 'M6 10A2 2 0 1 0 6 14A2 2 0 1 0 6 10',
265
+ 'M12 10A2 2 0 1 0 12 14A2 2 0 1 0 12 10',
266
+ 'M18 10A2 2 0 1 0 18 14A2 2 0 1 0 18 10',
267
+ ],
268
+ },
237
269
  copy: { kind: 'stroke', paths: ['M9 9H20V20H9V9Z', 'M15 5H4V16H5'] },
238
270
  paste: { kind: 'stroke', paths: ['M8 4H16V7H8V4Z', 'M6 6H5V20H19V6H18'] },
239
- edit: { kind: 'stroke', paths: ['M4 20H8L19 9L15 5L4 16V20Z', 'M14 6L18 10'] },
240
- delete: { kind: 'stroke', paths: ['M4 7H20', 'M6 7V20H18V7', 'M10 4H14', 'M10 11V16', 'M14 11V16'] },
271
+ edit: {
272
+ kind: 'stroke',
273
+ paths: ['M4 20H8L19 9L15 5L4 16V20Z', 'M14 6L18 10'],
274
+ },
275
+ delete: {
276
+ kind: 'stroke',
277
+ paths: ['M4 7H20', 'M6 7V20H18V7', 'M10 4H14', 'M10 11V16', 'M14 11V16'],
278
+ },
241
279
  // ── content ───────────────────────────────────────────────────────────────
242
280
  person: {
243
281
  kind: 'fill',
@@ -1376,7 +1414,12 @@ class AtlAlert {
1376
1414
  <ng-content />
1377
1415
  </span>
1378
1416
  @if (isDismissible) {
1379
- <button class="dismiss" type="button" aria-label="Dismiss" (click)="dismiss()">
1417
+ <button
1418
+ class="dismiss"
1419
+ type="button"
1420
+ aria-label="Dismiss"
1421
+ (click)="dismiss()"
1422
+ >
1380
1423
  <atl-icon name="close" size="sm" />
1381
1424
  </button>
1382
1425
  }
@@ -1392,7 +1435,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1392
1435
  <ng-content />
1393
1436
  </span>
1394
1437
  @if (isDismissible) {
1395
- <button class="dismiss" type="button" aria-label="Dismiss" (click)="dismiss()">
1438
+ <button
1439
+ class="dismiss"
1440
+ type="button"
1441
+ aria-label="Dismiss"
1442
+ (click)="dismiss()"
1443
+ >
1396
1444
  <atl-icon name="close" size="sm" />
1397
1445
  </button>
1398
1446
  }
@@ -1544,7 +1592,10 @@ class AtlSelect {
1544
1592
  injector = inject(Injector);
1545
1593
  /** @internal — called by AtlOption on init */
1546
1594
  registerOption(id, value, labelText, disabled) {
1547
- this.optionsList.update((list) => [...list, { id, value, labelText, disabled }]);
1595
+ this.optionsList.update((list) => [
1596
+ ...list,
1597
+ { id, value, labelText, disabled },
1598
+ ]);
1548
1599
  }
1549
1600
  /** @internal — called by AtlOption on destroy */
1550
1601
  unregisterOption(id) {
@@ -1603,8 +1654,18 @@ class AtlSelect {
1603
1654
  break;
1604
1655
  }
1605
1656
  default: {
1606
- const isNav = ['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key);
1607
- const isTypeahead = event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;
1657
+ const isNav = [
1658
+ 'ArrowDown',
1659
+ 'ArrowUp',
1660
+ 'ArrowLeft',
1661
+ 'ArrowRight',
1662
+ 'Home',
1663
+ 'End',
1664
+ ].includes(event.key);
1665
+ const isTypeahead = event.key.length === 1 &&
1666
+ !event.ctrlKey &&
1667
+ !event.metaKey &&
1668
+ !event.altKey;
1608
1669
  if ((isNav || isTypeahead) && !this.isOpen()) {
1609
1670
  this.open();
1610
1671
  if (isNav)
@@ -1677,8 +1738,20 @@ class AtlSelect {
1677
1738
  throw new Error('AtlSelect: trigger element not found');
1678
1739
  const positionStrategy = createFlexibleConnectedPositionStrategy(this.injector, triggerEl)
1679
1740
  .withPositions([
1680
- { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 },
1681
- { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 },
1741
+ {
1742
+ originX: 'start',
1743
+ originY: 'bottom',
1744
+ overlayX: 'start',
1745
+ overlayY: 'top',
1746
+ offsetY: 4,
1747
+ },
1748
+ {
1749
+ originX: 'start',
1750
+ originY: 'top',
1751
+ overlayX: 'start',
1752
+ overlayY: 'bottom',
1753
+ offsetY: -4,
1754
+ },
1682
1755
  ])
1683
1756
  .withFlexibleDimensions(false)
1684
1757
  .withPush(true);
@@ -1719,7 +1792,9 @@ class AtlSelect {
1719
1792
  <atl-icon name="danger" size="sm" class="invalid-icon" />
1720
1793
  }
1721
1794
  </span>
1722
- <span class="trigger-icon" aria-hidden="true"><atl-icon name="chevron-down" size="sm" /></span>
1795
+ <span class="trigger-icon" aria-hidden="true"
1796
+ ><atl-icon name="chevron-down" size="sm"
1797
+ /></span>
1723
1798
  </button>
1724
1799
 
1725
1800
  <div
@@ -1772,7 +1847,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1772
1847
  <atl-icon name="danger" size="sm" class="invalid-icon" />
1773
1848
  }
1774
1849
  </span>
1775
- <span class="trigger-icon" aria-hidden="true"><atl-icon name="chevron-down" size="sm" /></span>
1850
+ <span class="trigger-icon" aria-hidden="true"
1851
+ ><atl-icon name="chevron-down" size="sm"
1852
+ /></span>
1776
1853
  </button>
1777
1854
 
1778
1855
  <div
@@ -2083,7 +2160,9 @@ class AtlCombobox {
2083
2160
  }
2084
2161
  event.preventDefault();
2085
2162
  const opts = this.filteredOptions();
2086
- const enabledIndices = opts.map((_, i) => i).filter((i) => !opts[i].disabled);
2163
+ const enabledIndices = opts
2164
+ .map((_, i) => i)
2165
+ .filter((i) => !opts[i].disabled);
2087
2166
  if (enabledIndices.length === 0)
2088
2167
  break;
2089
2168
  const currentPos = enabledIndices.indexOf(this.activeIndex());
@@ -2142,7 +2221,7 @@ class AtlCombobox {
2142
2221
  aria-autocomplete="list"
2143
2222
  [attr.aria-activedescendant]="activeOptionId()"
2144
2223
  [attr.aria-invalid]="invalid() || null"
2145
- [attr.aria-describedby]="showErrors() ? errorId : null"
2224
+ [attr.aria-describedby]="showErrors() ? errorId : null"
2146
2225
  [attr.disabled]="disabled() || null"
2147
2226
  [attr.required]="required() || null"
2148
2227
  [attr.name]="name() || null"
@@ -2190,7 +2269,14 @@ class AtlCombobox {
2190
2269
  </li>
2191
2270
  }
2192
2271
  @if (filteredOptions().length === 0) {
2193
- <li class="no-results" role="option" aria-selected="false" aria-disabled="true">No results found.</li>
2272
+ <li
2273
+ class="no-results"
2274
+ role="option"
2275
+ aria-selected="false"
2276
+ aria-disabled="true"
2277
+ >
2278
+ No results found.
2279
+ </li>
2194
2280
  }
2195
2281
  </ul>
2196
2282
 
@@ -2219,7 +2305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2219
2305
  aria-autocomplete="list"
2220
2306
  [attr.aria-activedescendant]="activeOptionId()"
2221
2307
  [attr.aria-invalid]="invalid() || null"
2222
- [attr.aria-describedby]="showErrors() ? errorId : null"
2308
+ [attr.aria-describedby]="showErrors() ? errorId : null"
2223
2309
  [attr.disabled]="disabled() || null"
2224
2310
  [attr.required]="required() || null"
2225
2311
  [attr.name]="name() || null"
@@ -2267,7 +2353,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2267
2353
  </li>
2268
2354
  }
2269
2355
  @if (filteredOptions().length === 0) {
2270
- <li class="no-results" role="option" aria-selected="false" aria-disabled="true">No results found.</li>
2356
+ <li
2357
+ class="no-results"
2358
+ role="option"
2359
+ aria-selected="false"
2360
+ aria-disabled="true"
2361
+ >
2362
+ No results found.
2363
+ </li>
2271
2364
  }
2272
2365
  </ul>
2273
2366
 
@@ -2325,7 +2418,7 @@ class AtlDialog {
2325
2418
  ...(ngDevMode ? [{ debugName: "triggerEl" }] : /* istanbul ignore next */ []));
2326
2419
  panelClass = computed(() => `panel size-${this.size()}`, /* @ts-ignore */
2327
2420
  ...(ngDevMode ? [{ debugName: "panelClass" }] : /* istanbul ignore next */ []));
2328
- hostClasses = computed(() => (this.open() ? 'is-open' : ''), /* @ts-ignore */
2421
+ hostClasses = computed(() => this.open() ? 'is-open' : '', /* @ts-ignore */
2329
2422
  ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2330
2423
  constructor() {
2331
2424
  effect(() => {
@@ -2349,7 +2442,8 @@ class AtlDialog {
2349
2442
  this.open.set(false);
2350
2443
  }
2351
2444
  onBackdropClick(event) {
2352
- if (this.closeOnBackdrop() && event.target === this.dialogRef()?.nativeElement) {
2445
+ if (this.closeOnBackdrop() &&
2446
+ event.target === this.dialogRef()?.nativeElement) {
2353
2447
  this.open.set(false);
2354
2448
  }
2355
2449
  }
@@ -2369,7 +2463,7 @@ class AtlDialog {
2369
2463
  #dialogEl
2370
2464
  class="atl-dialog"
2371
2465
  [attr.aria-label]="ariaLabel() || null"
2372
- [attr.aria-labelledby]="ariaLabel() ? null : (ariaLabelledby() || headerId)"
2466
+ [attr.aria-labelledby]="ariaLabel() ? null : ariaLabelledby() || headerId"
2373
2467
  aria-modal="true"
2374
2468
  [cdkTrapFocus]="open()"
2375
2469
  (cancel)="onCancel($event)"
@@ -2398,7 +2492,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2398
2492
  #dialogEl
2399
2493
  class="atl-dialog"
2400
2494
  [attr.aria-label]="ariaLabel() || null"
2401
- [attr.aria-labelledby]="ariaLabel() ? null : (ariaLabelledby() || headerId)"
2495
+ [attr.aria-labelledby]="ariaLabel() ? null : ariaLabelledby() || headerId"
2402
2496
  aria-modal="true"
2403
2497
  [cdkTrapFocus]="open()"
2404
2498
  (cancel)="onCancel($event)"
@@ -2532,7 +2626,9 @@ class AtlTabGroup {
2532
2626
  /** @internal */
2533
2627
  onTabKeydown(event) {
2534
2628
  const allTabs = this.tabs();
2535
- const enabledIndices = allTabs.map((_, i) => i).filter((i) => !allTabs[i].disabled);
2629
+ const enabledIndices = allTabs
2630
+ .map((_, i) => i)
2631
+ .filter((i) => !allTabs[i].disabled);
2536
2632
  const len = enabledIndices.length;
2537
2633
  if (len === 0)
2538
2634
  return;
@@ -2847,7 +2943,9 @@ class AtlAccordionItem {
2847
2943
  }
2848
2944
  /** @internal — for FocusKeyManager */
2849
2945
  focus() {
2850
- this.el.nativeElement.querySelector('.accordion-trigger')?.focus();
2946
+ this.el.nativeElement
2947
+ .querySelector('.accordion-trigger')
2948
+ ?.focus();
2851
2949
  }
2852
2950
  /** @internal */
2853
2951
  onToggle() {
@@ -2861,7 +2959,11 @@ class AtlAccordionItem {
2861
2959
  }
2862
2960
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
2863
2961
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: AtlAccordionItem, isStandalone: true, selector: "atl-accordion-item", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { properties: { "attr.data-accordion-id": "id" }, classAttribute: "atl-accordion-item" }, hostDirectives: [{ directive: i1$2.CdkAccordionItem }], ngImport: i0, template: `
2864
- <div role="heading" [attr.aria-level]="headingLevel()" class="accordion-heading">
2962
+ <div
2963
+ role="heading"
2964
+ [attr.aria-level]="headingLevel()"
2965
+ class="accordion-heading"
2966
+ >
2865
2967
  <button
2866
2968
  type="button"
2867
2969
  class="accordion-trigger"
@@ -2874,13 +2976,15 @@ class AtlAccordionItem {
2874
2976
  (keydown)="onKeydown($event)"
2875
2977
  >
2876
2978
  <ng-content select="[atlAccordionHeader]" />
2877
- <atl-icon name="chevron-down" size="sm" class="chevron" [class.is-expanded]="isExpandedValue" />
2979
+ <atl-icon
2980
+ name="chevron-down"
2981
+ size="sm"
2982
+ class="chevron"
2983
+ [class.is-expanded]="isExpandedValue"
2984
+ />
2878
2985
  </button>
2879
2986
  </div>
2880
- <div
2881
- class="accordion-panel-wrapper"
2882
- [class.is-expanded]="isExpandedValue"
2883
- >
2987
+ <div class="accordion-panel-wrapper" [class.is-expanded]="isExpandedValue">
2884
2988
  <div
2885
2989
  role="region"
2886
2990
  [id]="panelId"
@@ -2895,7 +2999,11 @@ class AtlAccordionItem {
2895
2999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlAccordionItem, decorators: [{
2896
3000
  type: Component,
2897
3001
  args: [{ selector: 'atl-accordion-item', standalone: true, imports: [AtlIcon], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [CdkAccordionItem], template: `
2898
- <div role="heading" [attr.aria-level]="headingLevel()" class="accordion-heading">
3002
+ <div
3003
+ role="heading"
3004
+ [attr.aria-level]="headingLevel()"
3005
+ class="accordion-heading"
3006
+ >
2899
3007
  <button
2900
3008
  type="button"
2901
3009
  class="accordion-trigger"
@@ -2908,13 +3016,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2908
3016
  (keydown)="onKeydown($event)"
2909
3017
  >
2910
3018
  <ng-content select="[atlAccordionHeader]" />
2911
- <atl-icon name="chevron-down" size="sm" class="chevron" [class.is-expanded]="isExpandedValue" />
3019
+ <atl-icon
3020
+ name="chevron-down"
3021
+ size="sm"
3022
+ class="chevron"
3023
+ [class.is-expanded]="isExpandedValue"
3024
+ />
2912
3025
  </button>
2913
3026
  </div>
2914
- <div
2915
- class="accordion-panel-wrapper"
2916
- [class.is-expanded]="isExpandedValue"
2917
- >
3027
+ <div class="accordion-panel-wrapper" [class.is-expanded]="isExpandedValue">
2918
3028
  <div
2919
3029
  role="region"
2920
3030
  [id]="panelId"
@@ -3008,7 +3118,10 @@ class AtlMenuItem {
3008
3118
  disabled = input(false, /* @ts-ignore */
3009
3119
  ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
3010
3120
  /** @internal — detect if this item also triggers a submenu */
3011
- menuTrigger = inject(CdkMenuTrigger, { optional: true, self: true });
3121
+ menuTrigger = inject(CdkMenuTrigger, {
3122
+ optional: true,
3123
+ self: true,
3124
+ });
3012
3125
  /** @internal */
3013
3126
  hasSubmenu = computed(() => !!this.menuTrigger, /* @ts-ignore */
3014
3127
  ...(ngDevMode ? [{ debugName: "hasSubmenu" }] : /* istanbul ignore next */ []));
@@ -3095,20 +3208,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3095
3208
  }], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], tooltipId: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipId", required: false }] }] } });
3096
3209
  const POSITIONS = {
3097
3210
  above: [
3098
- { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -8 },
3099
- { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 8 },
3211
+ {
3212
+ originX: 'center',
3213
+ originY: 'top',
3214
+ overlayX: 'center',
3215
+ overlayY: 'bottom',
3216
+ offsetY: -8,
3217
+ },
3218
+ {
3219
+ originX: 'center',
3220
+ originY: 'bottom',
3221
+ overlayX: 'center',
3222
+ overlayY: 'top',
3223
+ offsetY: 8,
3224
+ },
3100
3225
  ],
3101
3226
  below: [
3102
- { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 8 },
3103
- { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -8 },
3227
+ {
3228
+ originX: 'center',
3229
+ originY: 'bottom',
3230
+ overlayX: 'center',
3231
+ overlayY: 'top',
3232
+ offsetY: 8,
3233
+ },
3234
+ {
3235
+ originX: 'center',
3236
+ originY: 'top',
3237
+ overlayX: 'center',
3238
+ overlayY: 'bottom',
3239
+ offsetY: -8,
3240
+ },
3104
3241
  ],
3105
3242
  left: [
3106
- { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -8 },
3107
- { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 8 },
3243
+ {
3244
+ originX: 'start',
3245
+ originY: 'center',
3246
+ overlayX: 'end',
3247
+ overlayY: 'center',
3248
+ offsetX: -8,
3249
+ },
3250
+ {
3251
+ originX: 'end',
3252
+ originY: 'center',
3253
+ overlayX: 'start',
3254
+ overlayY: 'center',
3255
+ offsetX: 8,
3256
+ },
3108
3257
  ],
3109
3258
  right: [
3110
- { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 8 },
3111
- { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -8 },
3259
+ {
3260
+ originX: 'end',
3261
+ originY: 'center',
3262
+ overlayX: 'start',
3263
+ overlayY: 'center',
3264
+ offsetX: 8,
3265
+ },
3266
+ {
3267
+ originX: 'start',
3268
+ originY: 'center',
3269
+ overlayX: 'end',
3270
+ overlayY: 'center',
3271
+ offsetX: -8,
3272
+ },
3112
3273
  ],
3113
3274
  };
3114
3275
  /**
@@ -3374,7 +3535,12 @@ class AtlToast {
3374
3535
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: AtlToast, isStandalone: true, selector: "atl-toast", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, toastId: { classPropertyName: "toastId", publicName: "toastId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, host: { attributes: { "role": "status" }, properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
3375
3536
  <span class="message">{{ message() }}</span>
3376
3537
  @if (dismissible()) {
3377
- <button class="dismiss" type="button" aria-label="Dismiss" (click)="onDismiss()">
3538
+ <button
3539
+ class="dismiss"
3540
+ type="button"
3541
+ aria-label="Dismiss"
3542
+ (click)="onDismiss()"
3543
+ >
3378
3544
  <atl-icon name="close" size="sm" />
3379
3545
  </button>
3380
3546
  }
@@ -3385,7 +3551,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3385
3551
  args: [{ selector: 'atl-toast', standalone: true, imports: [AtlIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: `
3386
3552
  <span class="message">{{ message() }}</span>
3387
3553
  @if (dismissible()) {
3388
- <button class="dismiss" type="button" aria-label="Dismiss" (click)="onDismiss()">
3554
+ <button
3555
+ class="dismiss"
3556
+ type="button"
3557
+ aria-label="Dismiss"
3558
+ (click)="onDismiss()"
3559
+ >
3389
3560
  <atl-icon name="close" size="sm" />
3390
3561
  </button>
3391
3562
  }
@@ -3567,7 +3738,8 @@ class AtlAvatarGroup {
3567
3738
  effect(() => {
3568
3739
  const max = this.max();
3569
3740
  this.avatarEls().forEach((el, i) => {
3570
- el.nativeElement.style.display = i >= max ? 'none' : '';
3741
+ el.nativeElement.style.display =
3742
+ i >= max ? 'none' : '';
3571
3743
  });
3572
3744
  });
3573
3745
  }
@@ -3575,7 +3747,9 @@ class AtlAvatarGroup {
3575
3747
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: AtlAvatarGroup, isStandalone: true, selector: "atl-avatar-group", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "\"group size-\" + size()" }, classAttribute: "group" }, queries: [{ propertyName: "avatarEls", predicate: AtlAvatar, read: ElementRef, isSignal: true }], ngImport: i0, template: `
3576
3748
  <ng-content />
3577
3749
  @if (overflowCount() > 0) {
3578
- <span [class]="'overflow-badge size-' + size()">+{{ overflowCount() }}</span>
3750
+ <span [class]="'overflow-badge size-' + size()"
3751
+ >+{{ overflowCount() }}</span
3752
+ >
3579
3753
  }
3580
3754
  `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight);font-weight:var(--ui-font-weight-semibold);background-color:color-mix(in srgb,var(--ui-color-primary) 12%,var(--ui-color-surface-sunken));color:var(--ui-color-primary);-webkit-user-select:none;user-select:none}:host(.size-xs){width:24px;height:24px;font-size:var(--ui-font-size-2xs)}:host(.size-sm){width:32px;height:32px;font-size:var(--ui-font-size-xs)}:host(.size-md){width:40px;height:40px;font-size:var(--ui-font-size-sm)}:host(.size-lg){width:48px;height:48px;font-size:var(--ui-font-size-md)}:host(.size-xl){width:64px;height:64px;font-size:var(--ui-font-size-lg)}:host(.shape-circle){border-radius:var(--ui-radius-full)}:host(.shape-square){border-radius:var(--ui-radius-md)}img{width:100%;height:100%;object-fit:cover;display:block}.initials{line-height:1;letter-spacing:.02em}atl-icon.icon{width:55%;height:55%;opacity:.6}.status-dot{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:6px;min-height:6px;max-width:14px;max-height:14px;border-radius:var(--ui-radius-full);border:var(--ui-border-width-thick) solid var(--ui-color-surface);box-sizing:content-box}.status-dot.status-online{background-color:var(--ui-color-success)}.status-dot.status-offline{background-color:var(--ui-color-text-muted)}.status-dot.status-away{background-color:var(--ui-color-warning)}.status-dot.status-busy{background-color:var(--ui-color-danger)}:host(.group){display:inline-flex;align-items:center;background:none;overflow:visible;padding-inline-start:4px}:host-context(atl-avatar-group){box-shadow:0 0 0 2px var(--ui-color-surface);margin-inline-start:-8px}.overflow-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text-muted);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-full);font-weight:var(--ui-font-weight-semibold);box-shadow:0 0 0 2px var(--ui-color-surface);margin-inline-start:-8px}.overflow-badge.size-xs{width:24px;height:24px;font-size:var(--ui-font-size-2xs)}.overflow-badge.size-sm{width:32px;height:32px;font-size:var(--ui-font-size-xs)}.overflow-badge.size-md{width:40px;height:40px;font-size:var(--ui-font-size-sm)}.overflow-badge.size-lg{width:48px;height:48px;font-size:var(--ui-font-size-sm)}.overflow-badge.size-xl{width:64px;height:64px;font-size:var(--ui-font-size-md)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3581
3755
  }
@@ -3584,7 +3758,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3584
3758
  args: [{ selector: 'atl-avatar-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
3585
3759
  <ng-content />
3586
3760
  @if (overflowCount() > 0) {
3587
- <span [class]="'overflow-badge size-' + size()">+{{ overflowCount() }}</span>
3761
+ <span [class]="'overflow-badge size-' + size()"
3762
+ >+{{ overflowCount() }}</span
3763
+ >
3588
3764
  }
3589
3765
  `, host: {
3590
3766
  class: 'group',
@@ -3763,7 +3939,8 @@ class AtlBreadcrumbItem {
3763
3939
  <a
3764
3940
  [attr.href]="href() && !isCurrent() ? href() : null"
3765
3941
  [attr.aria-current]="isCurrent() ? 'page' : null"
3766
- ><ng-content /></a>
3942
+ ><ng-content
3943
+ /></a>
3767
3944
  </li>
3768
3945
  `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host(.atl-breadcrumbs){display:block;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight)}.list{display:flex;flex-wrap:wrap;align-items:center;gap:0;list-style:none;margin:0;padding:0;font-size:var(--ui-font-size-sm);color:var(--ui-color-text-muted)}:host(.atl-breadcrumb-item){display:flex;align-items:center}:host(.atl-breadcrumb-item):after{content:var(--atl-separator, \"/\") / \"\";margin:0 var(--ui-spacing-2);color:var(--ui-color-border-hover);font-size:var(--ui-font-size-md);line-height:1}:host(.atl-breadcrumb-item.is-current):after{display:none}a{color:var(--ui-color-text-muted);text-decoration:none;border-radius:var(--ui-radius-sm);padding:var(--ui-spacing-1) var(--ui-spacing-2);margin:calc(var(--ui-spacing-1) * -1) calc(var(--ui-spacing-2) * -1);transition:color var(--ui-transition-fast),background-color var(--ui-transition-fast)}a:hover{color:var(--ui-color-text);background-color:var(--ui-color-surface-sunken)}a:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.atl-breadcrumb-item.is-current) a{color:var(--ui-color-text);font-weight:var(--ui-font-weight-semibold)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3769
3946
  }
@@ -3774,7 +3951,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3774
3951
  <a
3775
3952
  [attr.href]="href() && !isCurrent() ? href() : null"
3776
3953
  [attr.aria-current]="isCurrent() ? 'page' : null"
3777
- ><ng-content /></a>
3954
+ ><ng-content
3955
+ /></a>
3778
3956
  </li>
3779
3957
  `, host: {
3780
3958
  class: 'atl-breadcrumb-item',
@@ -3859,7 +4037,9 @@ class AtlPagination {
3859
4037
  [disabled]="page() <= 1"
3860
4038
  aria-label="First page"
3861
4039
  (click)="goFirst()"
3862
- ><atl-icon name="chevron-double-left" size="sm" /></button>
4040
+ >
4041
+ <atl-icon name="chevron-double-left" size="sm" />
4042
+ </button>
3863
4043
  </li>
3864
4044
  }
3865
4045
  <li>
@@ -3869,7 +4049,9 @@ class AtlPagination {
3869
4049
  [disabled]="page() <= 1"
3870
4050
  aria-label="Previous page"
3871
4051
  (click)="goPrev()"
3872
- ><atl-icon name="chevron-left" size="sm" /></button>
4052
+ >
4053
+ <atl-icon name="chevron-left" size="sm" />
4054
+ </button>
3873
4055
  </li>
3874
4056
 
3875
4057
  @for (item of pageItems(); track $index) {
@@ -3881,7 +4063,9 @@ class AtlPagination {
3881
4063
  [attr.aria-current]="item.page === page() ? 'page' : null"
3882
4064
  [attr.aria-label]="'Page ' + item.page"
3883
4065
  (click)="goTo(item.page)"
3884
- >{{ item.page }}</button>
4066
+ >
4067
+ {{ item.page }}
4068
+ </button>
3885
4069
  </li>
3886
4070
  } @else {
3887
4071
  <li>
@@ -3897,7 +4081,9 @@ class AtlPagination {
3897
4081
  [disabled]="page() >= pageCount()"
3898
4082
  aria-label="Next page"
3899
4083
  (click)="goNext()"
3900
- ><atl-icon name="chevron-right" size="sm" /></button>
4084
+ >
4085
+ <atl-icon name="chevron-right" size="sm" />
4086
+ </button>
3901
4087
  </li>
3902
4088
  @if (showFirstLast()) {
3903
4089
  <li>
@@ -3907,7 +4093,9 @@ class AtlPagination {
3907
4093
  [disabled]="page() >= pageCount()"
3908
4094
  aria-label="Last page"
3909
4095
  (click)="goLast()"
3910
- ><atl-icon name="chevron-double-right" size="sm" /></button>
4096
+ >
4097
+ <atl-icon name="chevron-double-right" size="sm" />
4098
+ </button>
3911
4099
  </li>
3912
4100
  }
3913
4101
  </ul>
@@ -3927,7 +4115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3927
4115
  [disabled]="page() <= 1"
3928
4116
  aria-label="First page"
3929
4117
  (click)="goFirst()"
3930
- ><atl-icon name="chevron-double-left" size="sm" /></button>
4118
+ >
4119
+ <atl-icon name="chevron-double-left" size="sm" />
4120
+ </button>
3931
4121
  </li>
3932
4122
  }
3933
4123
  <li>
@@ -3937,7 +4127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3937
4127
  [disabled]="page() <= 1"
3938
4128
  aria-label="Previous page"
3939
4129
  (click)="goPrev()"
3940
- ><atl-icon name="chevron-left" size="sm" /></button>
4130
+ >
4131
+ <atl-icon name="chevron-left" size="sm" />
4132
+ </button>
3941
4133
  </li>
3942
4134
 
3943
4135
  @for (item of pageItems(); track $index) {
@@ -3949,7 +4141,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3949
4141
  [attr.aria-current]="item.page === page() ? 'page' : null"
3950
4142
  [attr.aria-label]="'Page ' + item.page"
3951
4143
  (click)="goTo(item.page)"
3952
- >{{ item.page }}</button>
4144
+ >
4145
+ {{ item.page }}
4146
+ </button>
3953
4147
  </li>
3954
4148
  } @else {
3955
4149
  <li>
@@ -3965,7 +4159,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3965
4159
  [disabled]="page() >= pageCount()"
3966
4160
  aria-label="Next page"
3967
4161
  (click)="goNext()"
3968
- ><atl-icon name="chevron-right" size="sm" /></button>
4162
+ >
4163
+ <atl-icon name="chevron-right" size="sm" />
4164
+ </button>
3969
4165
  </li>
3970
4166
  @if (showFirstLast()) {
3971
4167
  <li>
@@ -3975,7 +4171,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
3975
4171
  [disabled]="page() >= pageCount()"
3976
4172
  aria-label="Last page"
3977
4173
  (click)="goLast()"
3978
- ><atl-icon name="chevron-double-right" size="sm" /></button>
4174
+ >
4175
+ <atl-icon name="chevron-double-right" size="sm" />
4176
+ </button>
3979
4177
  </li>
3980
4178
  }
3981
4179
  </ul>
@@ -4048,7 +4246,8 @@ class AtlDrawer {
4048
4246
  this.open.set(false);
4049
4247
  }
4050
4248
  onBackdropClick(event) {
4051
- if (this.closeOnBackdrop() && event.target === this.dialogRef()?.nativeElement) {
4249
+ if (this.closeOnBackdrop() &&
4250
+ event.target === this.dialogRef()?.nativeElement) {
4052
4251
  this.open.set(false);
4053
4252
  }
4054
4253
  }
@@ -4218,7 +4417,11 @@ class AtlTable {
4218
4417
  ariaLabel = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
4219
4418
  /** @internal */
4220
4419
  hostClasses = computed(() => {
4221
- const classes = ['atl-table', `variant-${this.variant()}`, `size-${this.size()}`];
4420
+ const classes = [
4421
+ 'atl-table',
4422
+ `variant-${this.variant()}`,
4423
+ `size-${this.size()}`,
4424
+ ];
4222
4425
  if (this.stickyHeader())
4223
4426
  classes.push('is-sticky-header');
4224
4427
  return classes.join(' ');
@@ -4289,11 +4492,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
4289
4492
  */
4290
4493
  class AtlThead {
4291
4494
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlThead, deps: [], target: i0.ɵɵFactoryTarget.Component });
4292
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: AtlThead, isStandalone: true, selector: "atl-thead", host: { properties: { "style.display": "\"contents\"" } }, ngImport: i0, template: `<thead><ng-content /></thead>`, isInline: true, styles: [":host,:host *{box-sizing:border-box}.atl-table{display:block;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight);color:var(--ui-color-text)}.atl-table-wrapper{width:100%;overflow-x:auto}.atl-table table{width:100%;border-collapse:collapse}.atl-table thead th{font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-muted);letter-spacing:var(--ui-letter-spacing-wide);text-transform:uppercase;border-bottom:var(--ui-border-width-thick) solid var(--ui-color-border);background-color:var(--ui-color-surface);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);text-align:start;white-space:nowrap}.atl-table tbody td{border-bottom:var(--ui-border-width) solid var(--ui-color-border);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);vertical-align:middle;background-color:var(--ui-color-surface);transition:background-color var(--ui-transition-fast)}.atl-table.size-sm thead th,.atl-table.size-sm tbody td{height:var(--ui-row-height-sm);padding-inline:var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.atl-table.size-md thead th,.atl-table.size-md tbody td{height:var(--ui-row-height-md);padding-inline:var(--ui-spacing-4);font-size:var(--ui-font-size-sm)}.atl-table.size-lg thead th,.atl-table.size-lg tbody td{height:var(--ui-row-height-lg);padding-inline:var(--ui-spacing-6);font-size:var(--ui-font-size-md)}.atl-table.variant-striped tbody atl-tr:nth-child(2n) td{background-color:var(--ui-color-surface-sunken)}.atl-table.variant-bordered thead th,.atl-table.variant-bordered tbody td{border:var(--ui-border-width) solid var(--ui-color-border)}th.align-start,td.align-start{text-align:start}th.align-center,td.align-center{text-align:center}th.align-end,td.align-end{text-align:end}.atl-table tbody tr:hover td{background-color:var(--ui-color-surface-sunken)}.atl-table tbody tr.is-selected td,.atl-table tbody tr.is-selected:hover td{background-color:var(--ui-color-primary-light)}.atl-tr-select-cell{width:2.75rem;text-align:center}.atl-tr-select-cell .atl-checkbox label{justify-content:center}.atl-table.is-sticky-header thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 0 var(--ui-color-border)}.atl-th-sort-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--ui-spacing-2);cursor:pointer;font:inherit;color:inherit;font-weight:inherit;width:100%}.atl-th-sort-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-radius:var(--ui-radius-sm)}.atl-th-sort-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.atl-table .atl-th-sort-icon atl-icon{width:.625rem;height:.5rem}.atl-th-sort-asc-arrow,.atl-th-sort-desc-arrow{opacity:.25;transition:opacity var(--ui-transition-fast)}th.is-sorted .atl-th-sort-icon{color:var(--ui-color-primary)}th.sort-asc .atl-th-sort-asc-arrow,th.sort-desc .atl-th-sort-desc-arrow{opacity:1}.atl-tbody-empty-cell{text-align:center;padding:var(--ui-spacing-12) var(--ui-spacing-4)!important;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-md);background-color:var(--ui-color-surface)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4495
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: AtlThead, isStandalone: true, selector: "atl-thead", host: { properties: { "style.display": "\"contents\"" } }, ngImport: i0, template: `<thead>
4496
+ <ng-content />
4497
+ </thead>`, isInline: true, styles: [":host,:host *{box-sizing:border-box}.atl-table{display:block;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight);color:var(--ui-color-text)}.atl-table-wrapper{width:100%;overflow-x:auto}.atl-table table{width:100%;border-collapse:collapse}.atl-table thead th{font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-muted);letter-spacing:var(--ui-letter-spacing-wide);text-transform:uppercase;border-bottom:var(--ui-border-width-thick) solid var(--ui-color-border);background-color:var(--ui-color-surface);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);text-align:start;white-space:nowrap}.atl-table tbody td{border-bottom:var(--ui-border-width) solid var(--ui-color-border);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);vertical-align:middle;background-color:var(--ui-color-surface);transition:background-color var(--ui-transition-fast)}.atl-table.size-sm thead th,.atl-table.size-sm tbody td{height:var(--ui-row-height-sm);padding-inline:var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.atl-table.size-md thead th,.atl-table.size-md tbody td{height:var(--ui-row-height-md);padding-inline:var(--ui-spacing-4);font-size:var(--ui-font-size-sm)}.atl-table.size-lg thead th,.atl-table.size-lg tbody td{height:var(--ui-row-height-lg);padding-inline:var(--ui-spacing-6);font-size:var(--ui-font-size-md)}.atl-table.variant-striped tbody atl-tr:nth-child(2n) td{background-color:var(--ui-color-surface-sunken)}.atl-table.variant-bordered thead th,.atl-table.variant-bordered tbody td{border:var(--ui-border-width) solid var(--ui-color-border)}th.align-start,td.align-start{text-align:start}th.align-center,td.align-center{text-align:center}th.align-end,td.align-end{text-align:end}.atl-table tbody tr:hover td{background-color:var(--ui-color-surface-sunken)}.atl-table tbody tr.is-selected td,.atl-table tbody tr.is-selected:hover td{background-color:var(--ui-color-primary-light)}.atl-tr-select-cell{width:2.75rem;text-align:center}.atl-tr-select-cell .atl-checkbox label{justify-content:center}.atl-table.is-sticky-header thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 0 var(--ui-color-border)}.atl-th-sort-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--ui-spacing-2);cursor:pointer;font:inherit;color:inherit;font-weight:inherit;width:100%}.atl-th-sort-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-radius:var(--ui-radius-sm)}.atl-th-sort-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.atl-table .atl-th-sort-icon atl-icon{width:.625rem;height:.5rem}.atl-th-sort-asc-arrow,.atl-th-sort-desc-arrow{opacity:.25;transition:opacity var(--ui-transition-fast)}th.is-sorted .atl-th-sort-icon{color:var(--ui-color-primary)}th.sort-asc .atl-th-sort-asc-arrow,th.sort-desc .atl-th-sort-desc-arrow{opacity:1}.atl-tbody-empty-cell{text-align:center;padding:var(--ui-spacing-12) var(--ui-spacing-4)!important;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-md);background-color:var(--ui-color-surface)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4293
4498
  }
4294
4499
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlThead, decorators: [{
4295
4500
  type: Component,
4296
- args: [{ selector: 'atl-thead', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<thead><ng-content /></thead>`, host: { '[style.display]': '"contents"' }, styles: [":host,:host *{box-sizing:border-box}.atl-table{display:block;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight);color:var(--ui-color-text)}.atl-table-wrapper{width:100%;overflow-x:auto}.atl-table table{width:100%;border-collapse:collapse}.atl-table thead th{font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-muted);letter-spacing:var(--ui-letter-spacing-wide);text-transform:uppercase;border-bottom:var(--ui-border-width-thick) solid var(--ui-color-border);background-color:var(--ui-color-surface);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);text-align:start;white-space:nowrap}.atl-table tbody td{border-bottom:var(--ui-border-width) solid var(--ui-color-border);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);vertical-align:middle;background-color:var(--ui-color-surface);transition:background-color var(--ui-transition-fast)}.atl-table.size-sm thead th,.atl-table.size-sm tbody td{height:var(--ui-row-height-sm);padding-inline:var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.atl-table.size-md thead th,.atl-table.size-md tbody td{height:var(--ui-row-height-md);padding-inline:var(--ui-spacing-4);font-size:var(--ui-font-size-sm)}.atl-table.size-lg thead th,.atl-table.size-lg tbody td{height:var(--ui-row-height-lg);padding-inline:var(--ui-spacing-6);font-size:var(--ui-font-size-md)}.atl-table.variant-striped tbody atl-tr:nth-child(2n) td{background-color:var(--ui-color-surface-sunken)}.atl-table.variant-bordered thead th,.atl-table.variant-bordered tbody td{border:var(--ui-border-width) solid var(--ui-color-border)}th.align-start,td.align-start{text-align:start}th.align-center,td.align-center{text-align:center}th.align-end,td.align-end{text-align:end}.atl-table tbody tr:hover td{background-color:var(--ui-color-surface-sunken)}.atl-table tbody tr.is-selected td,.atl-table tbody tr.is-selected:hover td{background-color:var(--ui-color-primary-light)}.atl-tr-select-cell{width:2.75rem;text-align:center}.atl-tr-select-cell .atl-checkbox label{justify-content:center}.atl-table.is-sticky-header thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 0 var(--ui-color-border)}.atl-th-sort-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--ui-spacing-2);cursor:pointer;font:inherit;color:inherit;font-weight:inherit;width:100%}.atl-th-sort-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-radius:var(--ui-radius-sm)}.atl-th-sort-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.atl-table .atl-th-sort-icon atl-icon{width:.625rem;height:.5rem}.atl-th-sort-asc-arrow,.atl-th-sort-desc-arrow{opacity:.25;transition:opacity var(--ui-transition-fast)}th.is-sorted .atl-th-sort-icon{color:var(--ui-color-primary)}th.sort-asc .atl-th-sort-asc-arrow,th.sort-desc .atl-th-sort-desc-arrow{opacity:1}.atl-tbody-empty-cell{text-align:center;padding:var(--ui-spacing-12) var(--ui-spacing-4)!important;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-md);background-color:var(--ui-color-surface)!important}\n"] }]
4501
+ args: [{ selector: 'atl-thead', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<thead>
4502
+ <ng-content />
4503
+ </thead>`, host: { '[style.display]': '"contents"' }, styles: [":host,:host *{box-sizing:border-box}.atl-table{display:block;font-family:var(--ui-font-family);line-height:var(--ui-line-height-tight);color:var(--ui-color-text)}.atl-table-wrapper{width:100%;overflow-x:auto}.atl-table table{width:100%;border-collapse:collapse}.atl-table thead th{font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-muted);letter-spacing:var(--ui-letter-spacing-wide);text-transform:uppercase;border-bottom:var(--ui-border-width-thick) solid var(--ui-color-border);background-color:var(--ui-color-surface);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);text-align:start;white-space:nowrap}.atl-table tbody td{border-bottom:var(--ui-border-width) solid var(--ui-color-border);height:var(--ui-row-height-md);padding-block:0;padding-inline:var(--ui-spacing-4);line-height:var(--ui-line-height-tight);vertical-align:middle;background-color:var(--ui-color-surface);transition:background-color var(--ui-transition-fast)}.atl-table.size-sm thead th,.atl-table.size-sm tbody td{height:var(--ui-row-height-sm);padding-inline:var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.atl-table.size-md thead th,.atl-table.size-md tbody td{height:var(--ui-row-height-md);padding-inline:var(--ui-spacing-4);font-size:var(--ui-font-size-sm)}.atl-table.size-lg thead th,.atl-table.size-lg tbody td{height:var(--ui-row-height-lg);padding-inline:var(--ui-spacing-6);font-size:var(--ui-font-size-md)}.atl-table.variant-striped tbody atl-tr:nth-child(2n) td{background-color:var(--ui-color-surface-sunken)}.atl-table.variant-bordered thead th,.atl-table.variant-bordered tbody td{border:var(--ui-border-width) solid var(--ui-color-border)}th.align-start,td.align-start{text-align:start}th.align-center,td.align-center{text-align:center}th.align-end,td.align-end{text-align:end}.atl-table tbody tr:hover td{background-color:var(--ui-color-surface-sunken)}.atl-table tbody tr.is-selected td,.atl-table tbody tr.is-selected:hover td{background-color:var(--ui-color-primary-light)}.atl-tr-select-cell{width:2.75rem;text-align:center}.atl-tr-select-cell .atl-checkbox label{justify-content:center}.atl-table.is-sticky-header thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 0 var(--ui-color-border)}.atl-th-sort-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--ui-spacing-2);cursor:pointer;font:inherit;color:inherit;font-weight:inherit;width:100%}.atl-th-sort-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-radius:var(--ui-radius-sm)}.atl-th-sort-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.atl-table .atl-th-sort-icon atl-icon{width:.625rem;height:.5rem}.atl-th-sort-asc-arrow,.atl-th-sort-desc-arrow{opacity:.25;transition:opacity var(--ui-transition-fast)}th.is-sorted .atl-th-sort-icon{color:var(--ui-color-primary)}th.sort-asc .atl-th-sort-asc-arrow,th.sort-desc .atl-th-sort-desc-arrow{opacity:1}.atl-tbody-empty-cell{text-align:center;padding:var(--ui-spacing-12) var(--ui-spacing-4)!important;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-md);background-color:var(--ui-color-surface)!important}\n"] }]
4297
4504
  }] });
4298
4505
  // ---------------------------------------------------------------------------
4299
4506
  // AtlTbody
@@ -4389,7 +4596,10 @@ class AtlTr {
4389
4596
  >
4390
4597
  @if (selectable()) {
4391
4598
  <td class="atl-tr-select-cell">
4392
- <atl-checkbox [checked]="selected()" (checkedChange)="selectedChange.emit($event)" />
4599
+ <atl-checkbox
4600
+ [checked]="selected()"
4601
+ (checkedChange)="selectedChange.emit($event)"
4602
+ />
4393
4603
  </td>
4394
4604
  }
4395
4605
  <ng-content />
@@ -4405,7 +4615,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
4405
4615
  >
4406
4616
  @if (selectable()) {
4407
4617
  <td class="atl-tr-select-cell">
4408
- <atl-checkbox [checked]="selected()" (checkedChange)="selectedChange.emit($event)" />
4618
+ <atl-checkbox
4619
+ [checked]="selected()"
4620
+ (checkedChange)="selectedChange.emit($event)"
4621
+ />
4409
4622
  </td>
4410
4623
  }
4411
4624
  <ng-content />
@@ -4484,7 +4697,11 @@ class AtlTh {
4484
4697
  <ng-content />
4485
4698
  <span class="atl-th-sort-icon" aria-hidden="true">
4486
4699
  <atl-icon name="sort-asc" size="sm" class="atl-th-sort-asc-arrow" />
4487
- <atl-icon name="sort-desc" size="sm" class="atl-th-sort-desc-arrow" />
4700
+ <atl-icon
4701
+ name="sort-desc"
4702
+ size="sm"
4703
+ class="atl-th-sort-desc-arrow"
4704
+ />
4488
4705
  </span>
4489
4706
  </button>
4490
4707
  } @else {
@@ -4506,7 +4723,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
4506
4723
  <ng-content />
4507
4724
  <span class="atl-th-sort-icon" aria-hidden="true">
4508
4725
  <atl-icon name="sort-asc" size="sm" class="atl-th-sort-asc-arrow" />
4509
- <atl-icon name="sort-desc" size="sm" class="atl-th-sort-desc-arrow" />
4726
+ <atl-icon
4727
+ name="sort-desc"
4728
+ size="sm"
4729
+ class="atl-th-sort-desc-arrow"
4730
+ />
4510
4731
  </span>
4511
4732
  </button>
4512
4733
  } @else {
@@ -5020,7 +5241,9 @@ class AtlChat {
5020
5241
  return;
5021
5242
  // Wait for the surface to be in the DOM (showModal / @if (open) render).
5022
5243
  requestAnimationFrame(() => {
5023
- this.host.nativeElement.querySelector('textarea')?.focus();
5244
+ this.host.nativeElement
5245
+ .querySelector('textarea')
5246
+ ?.focus();
5024
5247
  });
5025
5248
  });
5026
5249
  }
@@ -5061,21 +5284,30 @@ class AtlChat {
5061
5284
  (click)="onBackdropClick($event)"
5062
5285
  >
5063
5286
  <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->
5064
- <div class="surface drawer-surface" (click)="$event.stopPropagation()">
5287
+ <div
5288
+ class="surface drawer-surface"
5289
+ (click)="$event.stopPropagation()"
5290
+ >
5065
5291
  <ng-container [ngTemplateOutlet]="content" />
5066
5292
  </div>
5067
5293
  </dialog>
5068
5294
  }
5069
5295
  @case ('popup') {
5070
5296
  @if (open()) {
5071
- <div class="surface popup-surface" [attr.aria-labelledby]="headerId" role="dialog">
5297
+ <div
5298
+ class="surface popup-surface"
5299
+ [attr.aria-labelledby]="headerId"
5300
+ role="dialog"
5301
+ >
5072
5302
  <ng-container [ngTemplateOutlet]="content" />
5073
5303
  </div>
5074
5304
  }
5075
5305
  <button
5076
5306
  type="button"
5077
5307
  class="fab-bubble"
5078
- [attr.aria-label]="open() ? 'Close AI assistant' : 'Open AI assistant'"
5308
+ [attr.aria-label]="
5309
+ open() ? 'Close AI assistant' : 'Open AI assistant'
5310
+ "
5079
5311
  [attr.aria-expanded]="open()"
5080
5312
  (click)="open.set(!open())"
5081
5313
  >
@@ -5083,12 +5315,15 @@ class AtlChat {
5083
5315
  </button>
5084
5316
  }
5085
5317
  @default {
5086
- <section class="surface inline-surface" [attr.aria-labelledby]="headerId">
5318
+ <section
5319
+ class="surface inline-surface"
5320
+ [attr.aria-labelledby]="headerId"
5321
+ >
5087
5322
  <ng-container [ngTemplateOutlet]="content" />
5088
5323
  </section>
5089
5324
  }
5090
5325
  }
5091
- `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5326
+ `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5092
5327
  }
5093
5328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChat, decorators: [{
5094
5329
  type: Component,
@@ -5119,21 +5354,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5119
5354
  (click)="onBackdropClick($event)"
5120
5355
  >
5121
5356
  <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->
5122
- <div class="surface drawer-surface" (click)="$event.stopPropagation()">
5357
+ <div
5358
+ class="surface drawer-surface"
5359
+ (click)="$event.stopPropagation()"
5360
+ >
5123
5361
  <ng-container [ngTemplateOutlet]="content" />
5124
5362
  </div>
5125
5363
  </dialog>
5126
5364
  }
5127
5365
  @case ('popup') {
5128
5366
  @if (open()) {
5129
- <div class="surface popup-surface" [attr.aria-labelledby]="headerId" role="dialog">
5367
+ <div
5368
+ class="surface popup-surface"
5369
+ [attr.aria-labelledby]="headerId"
5370
+ role="dialog"
5371
+ >
5130
5372
  <ng-container [ngTemplateOutlet]="content" />
5131
5373
  </div>
5132
5374
  }
5133
5375
  <button
5134
5376
  type="button"
5135
5377
  class="fab-bubble"
5136
- [attr.aria-label]="open() ? 'Close AI assistant' : 'Open AI assistant'"
5378
+ [attr.aria-label]="
5379
+ open() ? 'Close AI assistant' : 'Open AI assistant'
5380
+ "
5137
5381
  [attr.aria-expanded]="open()"
5138
5382
  (click)="open.set(!open())"
5139
5383
  >
@@ -5141,14 +5385,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5141
5385
  </button>
5142
5386
  }
5143
5387
  @default {
5144
- <section class="surface inline-surface" [attr.aria-labelledby]="headerId">
5388
+ <section
5389
+ class="surface inline-surface"
5390
+ [attr.aria-labelledby]="headerId"
5391
+ >
5145
5392
  <ng-container [ngTemplateOutlet]="content" />
5146
5393
  </section>
5147
5394
  }
5148
5395
  }
5149
5396
  `, host: {
5150
5397
  '[class]': 'hostClasses()',
5151
- }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5398
+ }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5152
5399
  }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], dialogRef: [{ type: i0.ViewChild, args: ['dialogEl', { isSignal: true }] }] } });
5153
5400
  /**
5154
5401
  * Header slot for `atl-chat`. Holds the title, status indicator, and close button.
@@ -5171,7 +5418,7 @@ class AtlChatHeader {
5171
5418
  <atl-icon name="close" size="sm" />
5172
5419
  </button>
5173
5420
  }
5174
- `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], dependencies: [{ kind: "component", type: AtlIcon, selector: "atl-icon", inputs: ["name", "size", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5421
+ `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], dependencies: [{ kind: "component", type: AtlIcon, selector: "atl-icon", inputs: ["name", "size", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5175
5422
  }
5176
5423
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatHeader, decorators: [{
5177
5424
  type: Component,
@@ -5191,7 +5438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5191
5438
  }
5192
5439
  `, host: {
5193
5440
  '[attr.id]': 'context.headerId',
5194
- }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5441
+ }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5195
5442
  }] });
5196
5443
  /**
5197
5444
  * Scrollable message list for `atl-chat`. Project `atl-chat-message`,
@@ -5216,23 +5463,33 @@ class AtlChatMessages {
5216
5463
  constructor() {
5217
5464
  afterNextRender(() => {
5218
5465
  const el = this.host.nativeElement;
5219
- const stickToBottom = () => { el.scrollTop = el.scrollHeight; };
5466
+ const stickToBottom = () => {
5467
+ el.scrollTop = el.scrollHeight;
5468
+ };
5220
5469
  stickToBottom();
5221
5470
  const observer = new MutationObserver(stickToBottom);
5222
- observer.observe(el, { childList: true, subtree: true, characterData: true });
5471
+ observer.observe(el, {
5472
+ childList: true,
5473
+ subtree: true,
5474
+ characterData: true,
5475
+ });
5223
5476
  this.destroyRef.onDestroy(() => observer.disconnect());
5224
5477
  });
5225
5478
  }
5226
5479
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatMessages, deps: [], target: i0.ɵɵFactoryTarget.Component });
5227
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: AtlChatMessages, isStandalone: true, selector: "atl-chat-messages", host: { properties: { "attr.role": "\"log\"", "attr.aria-live": "\"polite\"", "attr.aria-label": "\"Conversation\"" } }, ngImport: i0, template: `<div class="messages-list" role="list" aria-label="Messages"><ng-content /></div>`, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5480
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: AtlChatMessages, isStandalone: true, selector: "atl-chat-messages", host: { properties: { "attr.role": "\"log\"", "attr.aria-live": "\"polite\"", "attr.aria-label": "\"Conversation\"" } }, ngImport: i0, template: `<div class="messages-list" role="list" aria-label="Messages">
5481
+ <ng-content />
5482
+ </div>`, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5228
5483
  }
5229
5484
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatMessages, decorators: [{
5230
5485
  type: Component,
5231
- args: [{ selector: 'atl-chat-messages', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<div class="messages-list" role="list" aria-label="Messages"><ng-content /></div>`, host: {
5486
+ args: [{ selector: 'atl-chat-messages', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<div class="messages-list" role="list" aria-label="Messages">
5487
+ <ng-content />
5488
+ </div>`, host: {
5232
5489
  '[attr.role]': '"log"',
5233
5490
  '[attr.aria-live]': '"polite"',
5234
5491
  '[attr.aria-label]': '"Conversation"',
5235
- }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5492
+ }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5236
5493
  }], ctorParameters: () => [] });
5237
5494
  /**
5238
5495
  * A single chat message. Role drives bubble alignment and color.
@@ -5254,14 +5511,14 @@ class AtlChatMessage {
5254
5511
  hostClasses = computed(() => `role-${this.role()}${this.failed() ? ' is-failed' : ''}`, /* @ts-ignore */
5255
5512
  ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
5256
5513
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
5257
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: AtlChatMessage, isStandalone: true, selector: "atl-chat-message", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, failed: { classPropertyName: "failed", publicName: "failed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "attr.role": "\"listitem\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5514
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: AtlChatMessage, isStandalone: true, selector: "atl-chat-message", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, failed: { classPropertyName: "failed", publicName: "failed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "attr.role": "\"listitem\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5258
5515
  }
5259
5516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatMessage, decorators: [{
5260
5517
  type: Component,
5261
5518
  args: [{ selector: 'atl-chat-message', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content />`, host: {
5262
5519
  '[class]': 'hostClasses()',
5263
5520
  '[attr.role]': '"listitem"',
5264
- }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5521
+ }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5265
5522
  }], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], failed: [{ type: i0.Input, args: [{ isSignal: true, alias: "failed", required: false }] }] } });
5266
5523
  /**
5267
5524
  * Typing indicator (three animated dots).
@@ -5287,7 +5544,7 @@ class AtlChatTyping {
5287
5544
  <span class="dot"></span>
5288
5545
  <span class="dot"></span>
5289
5546
  <span class="sr-only">Assistant is typing</span>
5290
- `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5547
+ `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5291
5548
  }
5292
5549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatTyping, decorators: [{
5293
5550
  type: Component,
@@ -5300,7 +5557,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5300
5557
  '[class]': 'hostClasses()',
5301
5558
  '[attr.role]': '"status"',
5302
5559
  '[attr.aria-live]': '"polite"',
5303
- }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5560
+ }, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5304
5561
  }], propDecorators: { inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }] } });
5305
5562
  /**
5306
5563
  * Tappable suggestion chip used in the empty state to seed a conversation.
@@ -5327,7 +5584,7 @@ class AtlChatSuggestion {
5327
5584
  <span class="chip-hint">{{ hint() }}</span>
5328
5585
  }
5329
5586
  </button>
5330
- `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5587
+ `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5331
5588
  }
5332
5589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatSuggestion, decorators: [{
5333
5590
  type: Component,
@@ -5338,7 +5595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5338
5595
  <span class="chip-hint">{{ hint() }}</span>
5339
5596
  }
5340
5597
  </button>
5341
- `, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5598
+ `, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5342
5599
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
5343
5600
  /**
5344
5601
  * Composable input footer for `atl-chat`. Wraps a text field and emits
@@ -5431,7 +5688,7 @@ class AtlChatInput {
5431
5688
  Send
5432
5689
  </button>
5433
5690
  }
5434
- `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5691
+ `, isInline: true, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5435
5692
  }
5436
5693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: AtlChatInput, decorators: [{
5437
5694
  type: Component,
@@ -5464,7 +5721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
5464
5721
  Send
5465
5722
  </button>
5466
5723
  }
5467
- `, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var(--ui-color-input-border-hover, var(--ui-color-border-hover))}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5724
+ `, styles: [":host,:host *{box-sizing:border-box}:host{font-family:var(--ui-font-family);line-height:var(--ui-line-height-normal)}:host(atl-chat){display:contents}.surface{display:flex;flex-direction:column;background:var(--ui-color-surface);color:var(--ui-color-text);overflow:hidden}:host(.variant-drawer) dialog{all:unset;box-sizing:border-box;font-family:var(--ui-font-family);position:fixed;inset:0 0 0 auto;height:100dvh;width:28rem;display:none;flex-direction:column;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xl, -8px 0 32px rgba(0, 0, 0, .12));color:var(--ui-color-text);overflow:hidden;transform:translate(100%);transition:transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) dialog[open]{display:flex;transform:translate(0)}@starting-style{:host(.variant-drawer) dialog[open]{transform:translate(100%)}}:host(.variant-drawer) dialog::backdrop{background:var(--ui-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),display var(--ui-duration-slow) allow-discrete,overlay var(--ui-duration-slow) allow-discrete}:host(.variant-drawer) .drawer-surface{width:100%;height:100%}:host(.variant-popup) .popup-surface{position:fixed;bottom:calc(var(--ui-spacing-6) + 3.5rem + var(--ui-spacing-4));right:var(--ui-spacing-6);width:23.75rem;height:35rem;border-radius:var(--ui-radius-xl);box-shadow:0 12px 32px #0000002e;z-index:var(--ui-z-dropdown)}:host(.variant-popup) .fab-bubble{position:fixed;bottom:var(--ui-spacing-6);right:var(--ui-spacing-6);width:3.5rem;height:3.5rem;border-radius:var(--ui-radius-full);background:var(--ui-color-brand-ai, #b5e61c);color:var(--ui-color-text);border:none;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform var(--ui-transition-fast),box-shadow var(--ui-transition-fast);z-index:101}:host(.variant-popup) .fab-bubble:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000038}:host(.variant-popup) .fab-bubble:focus-visible{outline:none;box-shadow:var(--ui-focus-ring),0 6px 16px #0000002e}:host(.variant-inline) .inline-surface{width:100%;height:100%;min-height:24rem;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-xl)}:host(.variant-inline) atl-chat-header .close-btn{display:none}:host(atl-chat-header){display:flex;align-items:center;justify-content:space-between;gap:var(--ui-spacing-3);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:var(--ui-border-width) solid var(--ui-color-border);flex-shrink:0}:host(atl-chat-header) .title-block{display:flex;align-items:center;gap:var(--ui-spacing-3);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);letter-spacing:var(--ui-letter-spacing-tight);flex:1;min-width:0}:host(atl-chat-header) .close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);padding:0;background:transparent;border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-sm);cursor:pointer;color:var(--ui-color-text-muted);transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}:host(atl-chat-header) .close-btn:hover{background-color:var(--ui-color-surface-sunken);color:var(--ui-color-text)}:host(atl-chat-header) .close-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-messages){display:flex;flex-direction:column;gap:var(--ui-spacing-3);padding:var(--ui-spacing-4);overflow-y:auto;overflow-anchor:auto;scroll-behavior:smooth;flex:1;background:var(--ui-color-surface)}:host(atl-chat-messages) .messages-list{display:contents}:host(atl-chat-message){display:block;max-width:85%;padding:var(--ui-spacing-3) var(--ui-spacing-4);border-radius:var(--ui-radius-lg);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);word-wrap:break-word}:host(atl-chat-message.role-assistant),:host(atl-chat-message.role-system){background:var(--ui-color-surface-sunken);color:var(--ui-color-text);align-self:flex-start}:host(atl-chat-message.role-user){background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);align-self:flex-end}:host(atl-chat-message.role-system){font-style:italic;color:var(--ui-color-text-muted)}:host(atl-chat-message.is-failed){background:var(--ui-color-surface-sunken);border:var(--ui-border-width) dashed var(--ui-color-danger);color:var(--ui-color-text)}:host(atl-chat-typing){display:inline-flex;align-items:center;gap:var(--ui-spacing-1);padding:var(--ui-spacing-2) var(--ui-spacing-3);background:var(--ui-color-surface-sunken);border-radius:var(--ui-radius-lg);align-self:flex-start}:host(atl-chat-typing) .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--ui-color-text-muted);animation:atl-chat-typing 1.4s infinite ease-in-out}:host(atl-chat-typing) .dot:nth-child(2){animation-delay:.16s}:host(atl-chat-typing) .dot:nth-child(3){animation-delay:.32s}:host(atl-chat-typing.is-inline){display:inline-flex;padding:0;margin-left:var(--ui-spacing-1);background:transparent;border-radius:0;vertical-align:baseline;align-self:auto}:host(atl-chat-typing.is-inline) .dot{width:.25rem;height:.25rem}@keyframes atl-chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:host(atl-chat-typing) .dot{animation:none;opacity:.6}}:host(atl-chat-typing) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:host(atl-chat-suggestion){display:block}:host(atl-chat-suggestion) .chip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-spacing-1);width:100%;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);color:var(--ui-color-text);border:var(--ui-border-width) solid var(--ui-color-border);border-radius:var(--ui-radius-lg);text-align:left;cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast)}:host(atl-chat-suggestion) .chip:hover{background-color:var(--ui-color-surface-sunken);border-color:var(--ui-color-border-hover)}:host(atl-chat-suggestion) .chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(atl-chat-suggestion) .chip-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}:host(atl-chat-suggestion) .chip-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted)}:host(atl-chat-input){display:flex;align-items:flex-end;gap:var(--ui-spacing-2);padding:var(--ui-spacing-3) var(--ui-spacing-4);border-top:var(--ui-border-width) solid var(--ui-color-border);background:var(--ui-color-surface);flex-shrink:0}:host(atl-chat-input) .field{flex:1;min-width:0;padding:var(--ui-spacing-2) var(--ui-spacing-3);border:var(--ui-border-width) solid var(--ui-color-input-border, var(--ui-color-border));border-radius:var(--ui-radius-md);background:var(--ui-color-surface-sunken);color:var(--ui-color-text);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);resize:none;transition:border-color var(--ui-transition-fast)}:host(atl-chat-input) .field::placeholder{color:var(--ui-color-text-muted)}:host(atl-chat-input) .field:hover:not(:disabled){border-color:var( --ui-color-input-border-hover, var(--ui-color-border-hover) )}:host(atl-chat-input) .field:focus-visible{outline:none;border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}:host(atl-chat-input) .field:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--ui-spacing-2) var(--ui-spacing-4);border:var(--ui-border-width) solid transparent;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),transform var(--ui-transition-fast)}:host(atl-chat-input) .action-btn.variant-primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary);border-color:var(--ui-color-primary)}:host(atl-chat-input) .action-btn.variant-primary:hover:not(:disabled){background:var(--ui-color-primary-hover);border-color:var(--ui-color-primary-hover)}:host(atl-chat-input) .action-btn.variant-danger{background:var(--ui-color-danger);color:var(--ui-color-text-on-danger);border-color:var(--ui-color-danger)}:host(atl-chat-input) .action-btn.variant-danger:hover{background:var(--ui-color-danger-hover);border-color:var(--ui-color-danger-hover)}:host(atl-chat-input) .action-btn:disabled{opacity:var(--ui-opacity-disabled);cursor:not-allowed}:host(atl-chat-input) .action-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}:host(.status-streaming) atl-chat-input .field{cursor:wait}\n"] }]
5468
5725
  }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], send: [{ type: i0.Output, args: ["send"] }], stop: [{ type: i0.Output, args: ["stop"] }] } });
5469
5726
 
5470
5727
  // Design tokens stylesheet — consumers should import: