@semantic-components/ui 0.33.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Khalil LAGRIDA
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -29,6 +29,8 @@ import * as i1$3 from '@angular/cdk/accordion';
29
29
  import { CdkAccordionModule } from '@angular/cdk/accordion';
30
30
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
31
31
  import { BreakpointObserver, LayoutModule } from '@angular/cdk/layout';
32
+ import * as i1$4 from '@angular/router';
33
+ import { RouterLinkActive } from '@angular/router';
32
34
  import { HttpEventType, HttpResponse } from '@angular/common/http';
33
35
  import { DataService } from '@semantic-components/supabase';
34
36
  import { debounceTime as debounceTime$1, distinctUntilChanged } from 'rxjs/operators';
@@ -8375,6 +8377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8375
8377
 
8376
8378
  class InputOtpHandler {
8377
8379
  inputIndex = signal(-1);
8380
+ length = signal(0);
8378
8381
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: InputOtpHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8379
8382
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: InputOtpHandler });
8380
8383
  }
@@ -8384,17 +8387,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8384
8387
 
8385
8388
  class ScInputOTPSlot {
8386
8389
  inputOtpHandler = inject(InputOtpHandler);
8387
- class = input('');
8388
- classes = computed(() => cn('flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md', this.isActive() && 'z-10 ring-2 ring-ring ring-offset-background', this.class()));
8390
+ classInput = input('', {
8391
+ alias: 'class',
8392
+ });
8393
+ class = computed(() => cn('flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md', this.isActive() && 'z-10 ring-2 ring-ring ring-offset-background', this.classInput()));
8389
8394
  formControl = signal(null);
8390
8395
  index = 0;
8391
8396
  isActive = signal(false);
8392
8397
  input = viewChild.required('input');
8393
- _handleInput() {
8394
- this.inputOtpHandler.inputIndex.set(this.index);
8398
+ handleKeydown(event) {
8399
+ if (event.key === 'Backspace') {
8400
+ this.autoFocusPrev();
8401
+ }
8402
+ else {
8403
+ this.autoFocusNext();
8404
+ }
8405
+ }
8406
+ autoFocusNext() {
8407
+ if (this.inputOtpHandler.inputIndex() < this.inputOtpHandler.length() - 1) {
8408
+ this.isActive.set(false);
8409
+ this.inputOtpHandler.inputIndex.update((index) => index + 1);
8410
+ }
8411
+ }
8412
+ autoFocusPrev() {
8413
+ //TODO remove old data
8414
+ if (this.inputOtpHandler.inputIndex() > 0) {
8415
+ this.isActive.set(false);
8416
+ this.inputOtpHandler.inputIndex.update((index) => index - 1);
8417
+ }
8395
8418
  }
8396
8419
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScInputOTPSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
8397
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: ScInputOTPSlot, isStandalone: true, selector: "sc-input-otp-slot", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: `
8420
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: ScInputOTPSlot, isStandalone: true, selector: "sc-input-otp-slot", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: `
8398
8421
  @let control = formControl();
8399
8422
  @if (control !== null) {
8400
8423
  <input
@@ -8402,7 +8425,7 @@ class ScInputOTPSlot {
8402
8425
  #input
8403
8426
  [formControl]="control"
8404
8427
  [readonly]="!isActive()"
8405
- (input)="_handleInput()"
8428
+ (keydown)="handleKeydown($event)"
8406
8429
  type="text"
8407
8430
  inputmode="numeric"
8408
8431
  autocomplete="one-time-code"
@@ -8422,7 +8445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8422
8445
  #input
8423
8446
  [formControl]="control"
8424
8447
  [readonly]="!isActive()"
8425
- (input)="_handleInput()"
8448
+ (keydown)="handleKeydown($event)"
8426
8449
  type="text"
8427
8450
  inputmode="numeric"
8428
8451
  autocomplete="one-time-code"
@@ -8431,17 +8454,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8431
8454
  />
8432
8455
  }
8433
8456
  `, host: {
8434
- '[class]': 'classes()',
8457
+ '[class]': 'class()',
8435
8458
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
8436
8459
  }] });
8437
8460
 
8438
8461
  class ScInputOtp {
8439
8462
  inputOtpHandler = inject(InputOtpHandler);
8440
- _focusMonitor = inject(FocusMonitor);
8441
- _cdr = inject(ChangeDetectorRef);
8442
- class = input('');
8443
- classes = computed(() => cn('flex items-center gap-2 has-[:disabled]:opacity-50', this.class()));
8444
- _required = input(false, {
8463
+ focusMonitor = inject(FocusMonitor);
8464
+ changeDetectorRef = inject(ChangeDetectorRef);
8465
+ classInput = input('', {
8466
+ alias: 'class',
8467
+ });
8468
+ class = computed(() => cn('flex items-center gap-2 has-[:disabled]:opacity-50', this.classInput()));
8469
+ required = input(false, {
8445
8470
  alias: 'required',
8446
8471
  transform: booleanAttribute,
8447
8472
  });
@@ -8454,28 +8479,24 @@ class ScInputOtp {
8454
8479
  slots = contentChildren(ScInputOTPSlot, { descendants: true });
8455
8480
  constructor() {
8456
8481
  effect(() => {
8457
- if (this.inputOtpHandler.inputIndex() !== -1 &&
8458
- this.inputOtpHandler.inputIndex() < this.slots().length - 1 &&
8459
- this.slots().length > 1) {
8482
+ if (this.inputOtpHandler.inputIndex() !== -1) {
8460
8483
  const index = this.inputOtpHandler.inputIndex();
8461
- const currentSlot = this.slots()[index];
8462
- currentSlot.isActive.set(false);
8463
- const nextSlot = this.slots()[index + 1];
8464
- nextSlot.isActive.set(true);
8465
- this._focusMonitor.focusVia(nextSlot.input(), 'program');
8484
+ const slot = this.slots()[index];
8485
+ //TODO remove old data
8486
+ slot.isActive.set(true);
8487
+ this.focusMonitor.focusVia(slot.input(), 'program');
8466
8488
  }
8467
8489
  });
8468
8490
  afterNextRender(() => {
8469
8491
  for (let i = 0; i < this.slots().length; i++) {
8470
8492
  const slot = this.slots()[i];
8471
- if (i === 0) {
8472
- slot.isActive.set(true);
8473
- }
8474
8493
  const formControl = new FormControl('', Validators.required);
8475
8494
  slot.index = i;
8476
8495
  slot.formControl.set(formControl);
8477
8496
  this.inputs.push(formControl);
8478
8497
  }
8498
+ this.inputOtpHandler.length.set(this.slots().length);
8499
+ this.inputOtpHandler.inputIndex.set(0);
8479
8500
  });
8480
8501
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8481
8502
  this.formGroup.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {
@@ -8495,7 +8516,7 @@ class ScInputOtp {
8495
8516
  // }
8496
8517
  this._value.set(tel);
8497
8518
  this.onChange(tel);
8498
- this._cdr.markForCheck();
8519
+ this.changeDetectorRef.markForCheck();
8499
8520
  }
8500
8521
  _value = model(null, { alias: 'value' });
8501
8522
  disabledByInput = input(false, {
@@ -8527,10 +8548,10 @@ class ScInputOtp {
8527
8548
  stateChanges = new Subject();
8528
8549
  ngOnDestroy() {
8529
8550
  this.stateChanges.complete();
8530
- this._focusMonitor.stopMonitoring(this._elementRef);
8551
+ this.focusMonitor.stopMonitoring(this._elementRef);
8531
8552
  }
8532
8553
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScInputOtp, deps: [], target: i0.ɵɵFactoryTarget.Component });
8533
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: ScInputOtp, isStandalone: true, selector: "sc-input-otp", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _value: { classPropertyName: "_value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledByInput: { classPropertyName: "disabledByInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { _value: "valueChange" }, host: { properties: { "class": "classes()" } }, providers: [
8554
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: ScInputOtp, isStandalone: true, selector: "sc-input-otp", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _value: { classPropertyName: "_value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledByInput: { classPropertyName: "disabledByInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { _value: "valueChange" }, host: { properties: { "class": "class()" } }, providers: [
8534
8555
  {
8535
8556
  provide: NG_VALUE_ACCESSOR,
8536
8557
  useExisting: forwardRef(() => ScInputOtp),
@@ -8550,7 +8571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8550
8571
  <ng-content />
8551
8572
  `,
8552
8573
  host: {
8553
- '[class]': 'classes()',
8574
+ '[class]': 'class()',
8554
8575
  },
8555
8576
  encapsulation: ViewEncapsulation.None,
8556
8577
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -8566,10 +8587,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8566
8587
  }], ctorParameters: () => [] });
8567
8588
 
8568
8589
  class ScInputOTPGroup {
8569
- class = input('');
8570
- classes = computed(() => cn('flex items-center', this.class()));
8590
+ classInput = input('', {
8591
+ alias: 'class',
8592
+ });
8593
+ class = computed(() => cn('flex items-center', this.classInput()));
8571
8594
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScInputOTPGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
8572
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScInputOTPGroup, isStandalone: true, selector: "sc-input-otp-group", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `
8595
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScInputOTPGroup, isStandalone: true, selector: "sc-input-otp-group", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" } }, ngImport: i0, template: `
8573
8596
  <ng-content />
8574
8597
  `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8575
8598
  }
@@ -8578,15 +8601,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8578
8601
  args: [{ selector: 'sc-input-otp-group', imports: [], template: `
8579
8602
  <ng-content />
8580
8603
  `, host: {
8581
- '[class]': 'classes()',
8604
+ '[class]': 'class()',
8582
8605
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
8583
8606
  }] });
8584
8607
 
8585
8608
  class ScInputOTPSeparator {
8586
- class = input('');
8587
- classes = computed(() => cn('', this.class()));
8609
+ classInput = input('', {
8610
+ alias: 'class',
8611
+ });
8612
+ class = computed(() => cn('', this.classInput()));
8588
8613
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScInputOTPSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component });
8589
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScInputOTPSeparator, isStandalone: true, selector: "sc-input-otp-separator", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `
8614
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScInputOTPSeparator, isStandalone: true, selector: "sc-input-otp-separator", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" } }, ngImport: i0, template: `
8590
8615
  <svg si-dot-icon></svg>
8591
8616
  `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: SiDotIcon, selector: "svg[si-dot-icon]", inputs: ["width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8592
8617
  }
@@ -8595,7 +8620,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8595
8620
  args: [{ selector: 'sc-input-otp-separator', imports: [SiDotIcon], template: `
8596
8621
  <svg si-dot-icon></svg>
8597
8622
  `, host: {
8598
- '[class]': 'classes()',
8623
+ '[class]': 'class()',
8599
8624
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
8600
8625
  }] });
8601
8626
 
@@ -12428,6 +12453,196 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
12428
12453
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [] }]
12429
12454
  }] });
12430
12455
 
12456
+ class ScSidebarGroup {
12457
+ classInput = input('', {
12458
+ alias: 'class',
12459
+ });
12460
+ class = computed(() => cn('relative flex w-full min-w-0 flex-col p-2', this.classInput()));
12461
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
12462
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarGroup, isStandalone: true, selector: "sc-sidebar-group", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"group\"" } }, ngImport: i0, template: `
12463
+ <ng-content />
12464
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12465
+ }
12466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroup, decorators: [{
12467
+ type: Component,
12468
+ args: [{ selector: 'sc-sidebar-group', imports: [], template: `
12469
+ <ng-content />
12470
+ `, host: {
12471
+ '[class]': 'class()',
12472
+ '[attr.data-sidebar]': '"group"',
12473
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12474
+ }] });
12475
+
12476
+ class ScSidebarGroupLabel {
12477
+ classInput = input('', {
12478
+ alias: 'class',
12479
+ });
12480
+ class = computed(() => cn('duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0', 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0', this.classInput()));
12481
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
12482
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarGroupLabel, isStandalone: true, selector: "sc-sidebar-group-label", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"group-label\"" } }, ngImport: i0, template: `
12483
+ <ng-content />
12484
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12485
+ }
12486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupLabel, decorators: [{
12487
+ type: Component,
12488
+ args: [{ selector: 'sc-sidebar-group-label', imports: [], template: `
12489
+ <ng-content />
12490
+ `, host: {
12491
+ '[class]': 'class()',
12492
+ '[attr.data-sidebar]': '"group-label"',
12493
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12494
+ }] });
12495
+
12496
+ class ScSidebarGroupAction {
12497
+ classInput = input('', {
12498
+ alias: 'class',
12499
+ });
12500
+ class = computed(() => cn('absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
12501
+ // Increases the hit area of the button on mobile.
12502
+ 'after:absolute after:-inset-2 after:md:hidden', 'group-data-[collapsible=icon]:hidden', this.classInput()));
12503
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupAction, deps: [], target: i0.ɵɵFactoryTarget.Component });
12504
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarGroupAction, isStandalone: true, selector: "sc-sidebar-group-action", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"group-action\"" } }, ngImport: i0, template: `
12505
+ <ng-content />
12506
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12507
+ }
12508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupAction, decorators: [{
12509
+ type: Component,
12510
+ args: [{ selector: 'sc-sidebar-group-action', imports: [], template: `
12511
+ <ng-content />
12512
+ `, host: {
12513
+ '[class]': 'class()',
12514
+ '[attr.data-sidebar]': '"group-action"',
12515
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12516
+ }] });
12517
+
12518
+ class ScSidebarGroupContent {
12519
+ classInput = input('', {
12520
+ alias: 'class',
12521
+ });
12522
+ class = computed(() => cn('w-full text-sm', this.classInput()));
12523
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12524
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarGroupContent, isStandalone: true, selector: "div[sc-sidebar-group-content]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"group-content\"" } }, ngImport: i0, template: `
12525
+ <ng-content />
12526
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12527
+ }
12528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarGroupContent, decorators: [{
12529
+ type: Component,
12530
+ args: [{ selector: 'div[sc-sidebar-group-content]', imports: [], template: `
12531
+ <ng-content />
12532
+ `, host: {
12533
+ '[class]': 'class()',
12534
+ '[attr.data-sidebar]': '"group-content"',
12535
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12536
+ }] });
12537
+
12538
+ class ScSidebarMenu {
12539
+ classInput = input('', {
12540
+ alias: 'class',
12541
+ });
12542
+ class = computed(() => cn('flex w-full min-w-0 flex-col gap-1', this.classInput()));
12543
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
12544
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarMenu, isStandalone: true, selector: "ul[sc-sidebar-menu]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"menu\"" } }, ngImport: i0, template: `
12545
+ <ng-content />
12546
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12547
+ }
12548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenu, decorators: [{
12549
+ type: Component,
12550
+ args: [{ selector: 'ul[sc-sidebar-menu]', imports: [], template: `
12551
+ <ng-content />
12552
+ `, host: {
12553
+ '[class]': 'class()',
12554
+ '[attr.data-sidebar]': '"menu"',
12555
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12556
+ }] });
12557
+
12558
+ class ScSidebarMenuItem {
12559
+ classInput = input('', {
12560
+ alias: 'class',
12561
+ });
12562
+ class = computed(() => cn('group/menu-item relative', this.classInput()));
12563
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
12564
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarMenuItem, isStandalone: true, selector: "li[sc-sidebar-menu-item]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "attr.data-sidebar": "\"menu-item\"" } }, ngImport: i0, template: `
12565
+ <ng-content />
12566
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12567
+ }
12568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuItem, decorators: [{
12569
+ type: Component,
12570
+ args: [{ selector: 'li[sc-sidebar-menu-item]', imports: [], template: `
12571
+ <ng-content />
12572
+ `, host: {
12573
+ '[class]': 'class()',
12574
+ '[attr.data-sidebar]': '"menu-item"',
12575
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12576
+ }] });
12577
+
12578
+ const sidebarMenuButtonVariants = cva('peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
12579
+ variants: {
12580
+ variant: {
12581
+ default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',
12582
+ outline: 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',
12583
+ },
12584
+ size: {
12585
+ default: 'h-8 text-sm',
12586
+ sm: 'h-7 text-xs',
12587
+ lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',
12588
+ },
12589
+ },
12590
+ defaultVariants: {
12591
+ variant: 'default',
12592
+ size: 'default',
12593
+ },
12594
+ });
12595
+ class ScSidebarMenuBase {
12596
+ classInput = input('', {
12597
+ alias: 'class',
12598
+ });
12599
+ variant = input('default');
12600
+ size = input('default');
12601
+ class = computed(() => cn(sidebarMenuButtonVariants({ variant: this.variant(), size: this.size() }), this.classInput()));
12602
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12603
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.4", type: ScSidebarMenuBase, isStandalone: true, inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" } }, ngImport: i0 });
12604
+ }
12605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuBase, decorators: [{
12606
+ type: Directive,
12607
+ args: [{
12608
+ host: {
12609
+ '[class]': 'class()',
12610
+ },
12611
+ }]
12612
+ }] });
12613
+
12614
+ class ScSidebarMenuLink extends ScSidebarMenuBase {
12615
+ routerLinkActive = inject(RouterLinkActive);
12616
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuLink, deps: null, target: i0.ɵɵFactoryTarget.Component });
12617
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: ScSidebarMenuLink, isStandalone: true, selector: "a[sc-sidebar-menu-link]", host: { properties: { "attr.data-sidebar": "\"menu-link\"", "attr.data-active": "routerLinkActive.isActive" } }, usesInheritance: true, hostDirectives: [{ directive: i1$4.RouterLinkActive }], ngImport: i0, template: `
12618
+ <ng-content />
12619
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12620
+ }
12621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuLink, decorators: [{
12622
+ type: Component,
12623
+ args: [{ selector: 'a[sc-sidebar-menu-link]', imports: [], template: `
12624
+ <ng-content />
12625
+ `, host: {
12626
+ '[attr.data-sidebar]': '"menu-link"',
12627
+ '[attr.data-active]': 'routerLinkActive.isActive',
12628
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [RouterLinkActive] }]
12629
+ }] });
12630
+
12631
+ class ScSidebarMenuButton extends ScSidebarMenuBase {
12632
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuButton, deps: null, target: i0.ɵɵFactoryTarget.Component });
12633
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: ScSidebarMenuButton, isStandalone: true, selector: "button[sc-sidebar-menu-button]", host: { properties: { "attr.data-sidebar": "\"menu-button\"" } }, usesInheritance: true, ngImport: i0, template: `
12634
+ <ng-content />
12635
+ `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12636
+ }
12637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScSidebarMenuButton, decorators: [{
12638
+ type: Component,
12639
+ args: [{ selector: 'button[sc-sidebar-menu-button]', imports: [], template: `
12640
+ <ng-content />
12641
+ `, host: {
12642
+ '[attr.data-sidebar]': '"menu-button"',
12643
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
12644
+ }] });
12645
+
12431
12646
  class ScAutocompleteItem {
12432
12647
  class = input('');
12433
12648
  classes = computed(() => cn('relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none hover:bg-accent hover:text-accent-foreground data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', this.class()));
@@ -15295,7 +15510,7 @@ class ShikiService {
15295
15510
  if (!this.highlighter) {
15296
15511
  this.highlighter = await createHighlighter({
15297
15512
  themes: ['github-dark'],
15298
- langs: ['angular-html'],
15513
+ langs: ['angular-html', 'typescript'], //TODO provider langs and themes
15299
15514
  });
15300
15515
  }
15301
15516
  return this.highlighter;
@@ -15318,6 +15533,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
15318
15533
  }] });
15319
15534
 
15320
15535
  class ScCodeHighlighter {
15536
+ classInput = input('', {
15537
+ alias: 'class',
15538
+ });
15539
+ class = computed(() => cn('block', this.classInput()));
15321
15540
  shikiService = inject(ShikiService);
15322
15541
  sanitizer = inject(DomSanitizer);
15323
15542
  code = input.required();
@@ -15329,15 +15548,14 @@ class ScCodeHighlighter {
15329
15548
  this.highlightedCode.set(this.sanitizer.bypassSecurityTrustHtml(highlighted));
15330
15549
  }
15331
15550
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScCodeHighlighter, deps: [], target: i0.ɵɵFactoryTarget.Component });
15332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScCodeHighlighter, isStandalone: true, selector: "sc-code-highlighter", inputs: { code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
15333
- <div class="code-block" [innerHTML]="highlightedCode()"></div>
15334
- `, isInline: true, styles: [".code-block{background:#24292e;border-radius:6px;padding:16px 16px 40px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15551
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: ScCodeHighlighter, isStandalone: true, selector: "sc-code-highlighter", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "innerHTML": "highlightedCode()" } }, ngImport: i0, template: ``, isInline: true, styles: ["pre{overflow:auto;border-radius:.375rem;padding-left:1rem;padding-right:1rem;padding-bottom:1.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15335
15552
  }
15336
15553
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ScCodeHighlighter, decorators: [{
15337
15554
  type: Component,
15338
- args: [{ selector: 'sc-code-highlighter', imports: [], template: `
15339
- <div class="code-block" [innerHTML]="highlightedCode()"></div>
15340
- `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".code-block{background:#24292e;border-radius:6px;padding:16px 16px 40px}\n"] }]
15555
+ args: [{ selector: 'sc-code-highlighter', imports: [], template: ``, host: {
15556
+ '[class]': 'class()',
15557
+ '[innerHTML]': 'highlightedCode()',
15558
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["pre{overflow:auto;border-radius:.375rem;padding-left:1rem;padding-right:1rem;padding-bottom:1.5rem}\n"] }]
15341
15559
  }] });
15342
15560
 
15343
15561
  class ScChat {
@@ -15444,5 +15662,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
15444
15662
  * Generated bundle index. Do not edit.
15445
15663
  */
15446
15664
 
15447
- export { FormFieldCustomControlComponent, ScAccordion, ScAccordionContent, ScAccordionHeader, ScAccordionItem, ScAccordionItemDescription, ScAccordionTrigger, ScAlert, ScAlertDescription, ScAlertDialogTrigger, ScAlertTitle, ScArticle, ScAspectRatio, ScAutoResizeInput, ScAutocomplete, ScAvatar, ScBadge, ScBlockquote, ScBreadcrumb, ScBreadcrumbEllipsis, ScBreadcrumbItem, ScBreadcrumbLink, ScBreadcrumbList, ScBreadcrumbPage, ScBreadcrumbSeparator, ScButton, ScCalendar, ScCard, ScCardContent, ScCardDescription, ScCardFooter, ScCardHeader, ScCardTitle, ScCarousel, ScCarouselContainer, ScCarouselItem, ScCarouselItems, ScCarouselNext, ScCarouselPrevious, ScChat, ScCheckbox, ScCheckboxGroup, ScCheckboxItem, ScCircularProgress, ScClockPicker, ScClockPicker2, ScCodeHighlighter, ScCollapsible, ScCollapsibleContent, ScCollapsibleTrigger, ScCombobox, ScCommand, ScCommandDialog, ScCommandEmpty, ScCommandError, ScCommandGroup, ScCommandInput, ScCommandItem, ScCommandList, ScCommandLoading, ScCommandSeparator, ScCommandShortcut, ScComments, ScConfirmationDialog, ScContextMenuTriggerFor, ScCookieConsent, ScCursor, ScDataTable, ScDatePicker, ScDialog, ScDialogClose, ScDialogContent, ScDialogDescription, ScDialogFooter, ScDialogHeader, ScDialogTitle, ScEditor, ScFileUpload, ScFileUploader, ScFullCalendar, ScHeading, ScHoverCard, ScHoverCardTriggerFor, ScImagePlaceholder, ScInput, ScInputOTPGroup, ScInputOTPSeparator, ScInputOTPSlot, ScInputOtp, ScInputPassword, ScLabel, ScMenu, ScMenuBar, ScMenuBarItem, ScMenuCheckboxGroup, ScMenuCheckboxItem, ScMenuGroup, ScMenuItem, ScMenuLabel, ScMenuRadioGroup, ScMenuRadioItem, ScMenuSeparator, ScMenuShortcut, ScMenuTriggerFor, ScMobileCalendar, ScNav, ScNavItem, ScNavItemDropdown, ScNavLink, ScNavList, ScOption, ScPageDescription, ScPageSubtitle, ScPageTitle, ScPaginator, ScPlainInput, ScPopoverTriggerFor, ScProgress, ScRTL, ScRadioGroup, ScRadioItem, ScScrollArea, ScSelect, ScSeparator, ScSettings, ScSheet, ScSheetClose, ScSheetConfig, ScSheetTrigger, ScSidebar, ScSidebarProvider, ScSidebarState, ScSidebarToggler, ScSingleFileUploader, ScSkeleton, ScSlider, ScSwitch, ScTab, ScTabContent, ScTabContent2, ScTabGroup, ScTabItem, ScTabLabel, ScTabLabel2, ScTable, ScTableBody, ScTableCaption, ScTableCell, ScTableContainer, ScTableFooter, ScTableHead, ScTableHeader, ScTableRow, ScTabs, ScTags, ScTextarea, ScThemeToggler, ScTimePicker, ScTimePicker2, ScToast, ScToastExample, ScToggle, ScToggleGroup, ScToggleGroupItem, ScTooltip, ScWeekView, Section, TelInputComponent, TelModel, Toaster, buttonVariants, scArticleClasses, scInputStyles, scThemeProvider };
15665
+ export { FormFieldCustomControlComponent, ScAccordion, ScAccordionContent, ScAccordionHeader, ScAccordionItem, ScAccordionItemDescription, ScAccordionTrigger, ScAlert, ScAlertDescription, ScAlertDialogTrigger, ScAlertTitle, ScArticle, ScAspectRatio, ScAutoResizeInput, ScAutocomplete, ScAvatar, ScBadge, ScBlockquote, ScBreadcrumb, ScBreadcrumbEllipsis, ScBreadcrumbItem, ScBreadcrumbLink, ScBreadcrumbList, ScBreadcrumbPage, ScBreadcrumbSeparator, ScButton, ScCalendar, ScCard, ScCardContent, ScCardDescription, ScCardFooter, ScCardHeader, ScCardTitle, ScCarousel, ScCarouselContainer, ScCarouselItem, ScCarouselItems, ScCarouselNext, ScCarouselPrevious, ScChat, ScCheckbox, ScCheckboxGroup, ScCheckboxItem, ScCircularProgress, ScClockPicker, ScClockPicker2, ScCodeHighlighter, ScCollapsible, ScCollapsibleContent, ScCollapsibleTrigger, ScCombobox, ScCommand, ScCommandDialog, ScCommandEmpty, ScCommandError, ScCommandGroup, ScCommandInput, ScCommandItem, ScCommandList, ScCommandLoading, ScCommandSeparator, ScCommandShortcut, ScComments, ScConfirmationDialog, ScContextMenuTriggerFor, ScCookieConsent, ScCursor, ScDataTable, ScDatePicker, ScDialog, ScDialogClose, ScDialogContent, ScDialogDescription, ScDialogFooter, ScDialogHeader, ScDialogTitle, ScEditor, ScFileUpload, ScFileUploader, ScFullCalendar, ScHeading, ScHoverCard, ScHoverCardTriggerFor, ScImagePlaceholder, ScInput, ScInputOTPGroup, ScInputOTPSeparator, ScInputOTPSlot, ScInputOtp, ScInputPassword, ScLabel, ScMenu, ScMenuBar, ScMenuBarItem, ScMenuCheckboxGroup, ScMenuCheckboxItem, ScMenuGroup, ScMenuItem, ScMenuLabel, ScMenuRadioGroup, ScMenuRadioItem, ScMenuSeparator, ScMenuShortcut, ScMenuTriggerFor, ScMobileCalendar, ScNav, ScNavItem, ScNavItemDropdown, ScNavLink, ScNavList, ScOption, ScPageDescription, ScPageSubtitle, ScPageTitle, ScPaginator, ScPlainInput, ScPopoverTriggerFor, ScProgress, ScRTL, ScRadioGroup, ScRadioItem, ScScrollArea, ScSelect, ScSeparator, ScSettings, ScSheet, ScSheetClose, ScSheetConfig, ScSheetTrigger, ScSidebar, ScSidebarGroup, ScSidebarGroupAction, ScSidebarGroupContent, ScSidebarGroupLabel, ScSidebarMenu, ScSidebarMenuButton, ScSidebarMenuItem, ScSidebarMenuLink, ScSidebarProvider, ScSidebarState, ScSidebarToggler, ScSingleFileUploader, ScSkeleton, ScSlider, ScSwitch, ScTab, ScTabContent, ScTabContent2, ScTabGroup, ScTabItem, ScTabLabel, ScTabLabel2, ScTable, ScTableBody, ScTableCaption, ScTableCell, ScTableContainer, ScTableFooter, ScTableHead, ScTableHeader, ScTableRow, ScTabs, ScTags, ScTextarea, ScThemeToggler, ScTimePicker, ScTimePicker2, ScToast, ScToastExample, ScToggle, ScToggleGroup, ScToggleGroupItem, ScTooltip, ScWeekView, Section, TelInputComponent, TelModel, Toaster, buttonVariants, scArticleClasses, scInputStyles, scThemeProvider };
15448
15666
  //# sourceMappingURL=semantic-components-ui.mjs.map