@semantic-components/ui-lab 0.73.0 → 0.75.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.
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, DestroyRef, output, signal, effect, ElementRef, InjectionToken, model, viewChild, booleanAttribute, Directive, PLATFORM_ID, afterNextRender, afterRenderEffect, ViewChild, ViewContainerRef, contentChild, Injector, runInInjectionContext, contentChildren, untracked, Injectable, TemplateRef } from '@angular/core';
3
3
  import { RouterOutlet, Router, NavigationEnd } from '@angular/router';
4
4
  import { cn, ScSlider, buttonVariants, ScCalendar, SC_FIELD, SC_TIME_PICKER, ScPopoverProvider, ScButton, ScPopoverTrigger, ScPopoverPortal, ScPopover } from '@semantic-components/ui';
5
- import { SiVolumeOffIcon, SiVolumeXIcon, SiVolume1Icon, SiVolume2Icon, SiPipetteIcon, SiSearchIcon, SiChevronRightIcon, SiCheckIcon, SiCopyIcon, SiChevronUpIcon, SiChevronDownIcon, SiChevronsUpDownIcon, SiSlidersVerticalIcon, SiChevronsLeftIcon, SiChevronLeftIcon, SiChevronsRightIcon, SiCalendarIcon, SiXIcon, SiSmileIcon, SiLoaderCircleIcon, SiPlusIcon, SiZoomOutIcon, SiZoomInIcon, SiMinimize2Icon, SiMinusIcon, SiTriangleAlertIcon, SiCircleXIcon, SiMessageSquareIcon, SiInfoIcon, SiCircleCheckIcon, SiTrash2Icon, SiBellIcon, SiEyeIcon, SiEyeOffIcon, SiCircleIcon, SiFileTextIcon, SiRotateCcwIcon, SiRotateCwIcon, SiDownloadIcon, SiPrinterIcon, SiMaximizeIcon, SiMinimizeIcon, SiPhoneIcon, SiGripVerticalIcon, SiClockIcon, SiGlobeIcon } from '@semantic-icons/lucide-icons';
5
+ import { SiVolumeOffIcon, SiVolumeXIcon, SiVolume1Icon, SiVolume2Icon, SiPipetteIcon, SiSearchIcon, SiChevronRightIcon, SiChevronUpIcon, SiChevronDownIcon, SiChevronsUpDownIcon, SiSlidersVerticalIcon, SiChevronsLeftIcon, SiChevronLeftIcon, SiChevronsRightIcon, SiCalendarIcon, SiXIcon, SiSmileIcon, SiLoaderCircleIcon, SiPlusIcon, SiZoomOutIcon, SiZoomInIcon, SiMinimize2Icon, SiCheckIcon, SiMinusIcon, SiTriangleAlertIcon, SiCircleXIcon, SiMessageSquareIcon, SiInfoIcon, SiCircleCheckIcon, SiTrash2Icon, SiBellIcon, SiEyeIcon, SiEyeOffIcon, SiCircleIcon, SiFileTextIcon, SiRotateCcwIcon, SiRotateCwIcon, SiDownloadIcon, SiPrinterIcon, SiMaximizeIcon, SiMinimizeIcon, SiPhoneIcon, SiGripVerticalIcon, SiClockIcon, SiGlobeIcon } from '@semantic-icons/lucide-icons';
6
6
  import { isPlatformBrowser, NgTemplateOutlet, DOCUMENT } from '@angular/common';
7
7
  import * as i1 from '@angular/aria/combobox';
8
8
  import { Combobox, ComboboxInput, ComboboxPopupContainer, ComboboxDialog } from '@angular/aria/combobox';
@@ -567,6 +567,7 @@ class ScAudioPlayerProgress {
567
567
  <!-- Seek slider -->
568
568
  <input
569
569
  scSlider
570
+ aria-label="Seek"
570
571
  class="absolute inset-0 h-full [&::-moz-range-progress]:transition-[height] group-hover:[&::-moz-range-progress]:h-1.5 [&::-moz-range-track]:transition-[height] group-hover:[&::-moz-range-track]:h-1.5 [&::-webkit-slider-runnable-track]:transition-[height] group-hover:[&::-webkit-slider-runnable-track]:h-1.5"
571
572
  style="--muted: oklch(0 0 0 / 0.1)"
572
573
  min="0"
@@ -580,7 +581,7 @@ class ScAudioPlayerProgress {
580
581
  <span class="text-muted-foreground w-10 text-xs">
581
582
  {{ player.formatTime(player.duration()) }}
582
583
  </span>
583
- `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
584
+ `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
584
585
  }
585
586
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScAudioPlayerProgress, decorators: [{
586
587
  type: Component,
@@ -600,6 +601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
600
601
  <!-- Seek slider -->
601
602
  <input
602
603
  scSlider
604
+ aria-label="Seek"
603
605
  class="absolute inset-0 h-full [&::-moz-range-progress]:transition-[height] group-hover:[&::-moz-range-progress]:h-1.5 [&::-moz-range-track]:transition-[height] group-hover:[&::-moz-range-track]:h-1.5 [&::-webkit-slider-runnable-track]:transition-[height] group-hover:[&::-webkit-slider-runnable-track]:h-1.5"
604
606
  style="--muted: oklch(0 0 0 / 0.1)"
605
607
  min="0"
@@ -820,7 +822,7 @@ class ScAudioPlayerVolume {
820
822
  >
821
823
  <svg siVolume2Icon class="pointer-events-none size-3.5"></svg>
822
824
  </button>
823
- `, isInline: true, dependencies: [{ kind: "component", type: SiVolumeOffIcon, selector: "svg[siVolumeOffIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolumeXIcon, selector: "svg[siVolumeXIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolume1Icon, selector: "svg[siVolume1Icon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolume2Icon, selector: "svg[siVolume2Icon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
825
+ `, isInline: true, dependencies: [{ kind: "component", type: SiVolumeOffIcon, selector: "svg[siVolumeOffIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolumeXIcon, selector: "svg[siVolumeXIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolume1Icon, selector: "svg[siVolume1Icon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiVolume2Icon, selector: "svg[siVolume2Icon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
824
826
  }
825
827
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScAudioPlayerVolume, decorators: [{
826
828
  type: Component,
@@ -4145,252 +4147,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4145
4147
  }]
4146
4148
  }], propDecorators: { contentChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ScContextMenuContent), { isSignal: true }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
4147
4149
 
4148
- class ScCopyButton {
4149
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
4150
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
4151
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4152
- timeout = input(2000, ...(ngDevMode ? [{ debugName: "timeout" }] : []));
4153
- variant = input('ghost', ...(ngDevMode ? [{ debugName: "variant" }] : []));
4154
- size = input('icon', ...(ngDevMode ? [{ debugName: "size" }] : []));
4155
- copySuccess = output();
4156
- copyError = output();
4157
- copied = signal(false, ...(ngDevMode ? [{ debugName: "copied" }] : []));
4158
- timeoutId = null;
4159
- class = computed(() => cn('inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors', 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring', 'disabled:pointer-events-none disabled:opacity-50',
4160
- // Variants
4161
- this.variant() === 'default' &&
4162
- 'bg-primary text-primary-foreground shadow hover:bg-primary/90', this.variant() === 'ghost' &&
4163
- 'hover:bg-accent hover:text-accent-foreground', this.variant() === 'outline' &&
4164
- 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',
4165
- // Sizes
4166
- this.size() === 'sm' && 'h-8 px-3 text-xs', this.size() === 'default' && 'h-9 px-4 py-2 text-sm', this.size() === 'lg' && 'h-10 px-8 text-sm', this.size() === 'icon' && 'size-9', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
4167
- iconClass = computed(() => cn(this.size() === 'sm' && 'size-3.5', this.size() === 'default' && 'size-4', this.size() === 'lg' && 'size-5', this.size() === 'icon' && 'size-4'), ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
4168
- ariaLabel = computed(() => this.copied() ? 'Copied to clipboard' : 'Copy to clipboard', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
4169
- async copy() {
4170
- if (this.disabled() || this.copied())
4171
- return;
4172
- try {
4173
- await navigator.clipboard.writeText(this.value());
4174
- this.copied.set(true);
4175
- this.copySuccess.emit(this.value());
4176
- // Clear any existing timeout
4177
- if (this.timeoutId) {
4178
- clearTimeout(this.timeoutId);
4179
- }
4180
- // Reset after timeout
4181
- this.timeoutId = setTimeout(() => {
4182
- this.copied.set(false);
4183
- this.timeoutId = null;
4184
- }, this.timeout());
4185
- }
4186
- catch (error) {
4187
- this.copyError.emit(error instanceof Error ? error : new Error('Failed to copy'));
4188
- }
4189
- }
4190
- reset() {
4191
- if (this.timeoutId) {
4192
- clearTimeout(this.timeoutId);
4193
- this.timeoutId = null;
4194
- }
4195
- this.copied.set(false);
4196
- }
4197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
4198
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ScCopyButton, isStandalone: true, selector: "button[scCopyButton]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, timeout: { classPropertyName: "timeout", publicName: "timeout", 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 } }, outputs: { copySuccess: "copySuccess", copyError: "copyError" }, host: { attributes: { "data-slot": "copy-button", "type": "button" }, listeners: { "click": "copy()" }, properties: { "class": "class()", "disabled": "disabled()", "attr.data-copied": "copied() || null", "attr.aria-label": "ariaLabel()" } }, exportAs: ["scCopyButton"], ngImport: i0, template: `
4199
- @if (copied()) {
4200
- <svg siCheckIcon [class]="iconClass()" class="text-green-500"></svg>
4201
- } @else {
4202
- <svg siCopyIcon [class]="iconClass()"></svg>
4203
- }
4204
- <ng-content />
4205
- `, isInline: true, dependencies: [{ kind: "component", type: SiCheckIcon, selector: "svg[siCheckIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiCopyIcon, selector: "svg[siCopyIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4206
- }
4207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyButton, decorators: [{
4208
- type: Component,
4209
- args: [{
4210
- selector: 'button[scCopyButton]',
4211
- exportAs: 'scCopyButton',
4212
- imports: [SiCheckIcon, SiCopyIcon],
4213
- template: `
4214
- @if (copied()) {
4215
- <svg siCheckIcon [class]="iconClass()" class="text-green-500"></svg>
4216
- } @else {
4217
- <svg siCopyIcon [class]="iconClass()"></svg>
4218
- }
4219
- <ng-content />
4220
- `,
4221
- host: {
4222
- 'data-slot': 'copy-button',
4223
- type: 'button',
4224
- '[class]': 'class()',
4225
- '[disabled]': 'disabled()',
4226
- '[attr.data-copied]': 'copied() || null',
4227
- '[attr.aria-label]': 'ariaLabel()',
4228
- '(click)': 'copy()',
4229
- },
4230
- encapsulation: ViewEncapsulation.None,
4231
- changeDetection: ChangeDetectionStrategy.OnPush,
4232
- }]
4233
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], timeout: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeout", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], copySuccess: [{ type: i0.Output, args: ["copySuccess"] }], copyError: [{ type: i0.Output, args: ["copyError"] }] } });
4234
-
4235
- class ScCopyButtonWithText {
4236
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
4237
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
4238
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4239
- timeout = input(2000, ...(ngDevMode ? [{ debugName: "timeout" }] : []));
4240
- variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
4241
- size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
4242
- copyText = input('Copy', ...(ngDevMode ? [{ debugName: "copyText" }] : []));
4243
- copiedText = input('Copied!', ...(ngDevMode ? [{ debugName: "copiedText" }] : []));
4244
- copySuccess = output();
4245
- copyError = output();
4246
- class = computed(() => cn('inline-block', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
4247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyButtonWithText, deps: [], target: i0.ɵɵFactoryTarget.Component });
4248
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScCopyButtonWithText, isStandalone: true, selector: "[scCopyButtonWithText]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, timeout: { classPropertyName: "timeout", publicName: "timeout", 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 }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, copiedText: { classPropertyName: "copiedText", publicName: "copiedText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { copySuccess: "copySuccess", copyError: "copyError" }, host: { attributes: { "data-slot": "copy-button-with-text" }, properties: { "class": "class()" } }, ngImport: i0, template: `
4249
- <button
4250
- scCopyButton
4251
- [value]="value()"
4252
- [disabled]="disabled()"
4253
- [timeout]="timeout()"
4254
- [variant]="variant()"
4255
- [size]="size()"
4256
- (copySuccess)="copySuccess.emit($event)"
4257
- (copyError)="copyError.emit($event)"
4258
- #copyBtn="scCopyButton"
4259
- >
4260
- {{ copyBtn.copied() ? copiedText() : copyText() }}
4261
- </button>
4262
- `, isInline: true, dependencies: [{ kind: "component", type: ScCopyButton, selector: "button[scCopyButton]", inputs: ["class", "value", "disabled", "timeout", "variant", "size"], outputs: ["copySuccess", "copyError"], exportAs: ["scCopyButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4263
- }
4264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyButtonWithText, decorators: [{
4265
- type: Component,
4266
- args: [{
4267
- selector: '[scCopyButtonWithText]',
4268
- template: `
4269
- <button
4270
- scCopyButton
4271
- [value]="value()"
4272
- [disabled]="disabled()"
4273
- [timeout]="timeout()"
4274
- [variant]="variant()"
4275
- [size]="size()"
4276
- (copySuccess)="copySuccess.emit($event)"
4277
- (copyError)="copyError.emit($event)"
4278
- #copyBtn="scCopyButton"
4279
- >
4280
- {{ copyBtn.copied() ? copiedText() : copyText() }}
4281
- </button>
4282
- `,
4283
- host: {
4284
- 'data-slot': 'copy-button-with-text',
4285
- '[class]': 'class()',
4286
- },
4287
- imports: [ScCopyButton],
4288
- encapsulation: ViewEncapsulation.None,
4289
- changeDetection: ChangeDetectionStrategy.OnPush,
4290
- }]
4291
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], timeout: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeout", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], copiedText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copiedText", required: false }] }], copySuccess: [{ type: i0.Output, args: ["copySuccess"] }], copyError: [{ type: i0.Output, args: ["copyError"] }] } });
4292
-
4293
- class ScCopyInput {
4294
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
4295
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
4296
- readonly = input(true, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
4297
- class = computed(() => cn('inline-block', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
4298
- inputClass = computed(() => cn('flex h-9 w-full rounded-md rounded-r-none border border-input bg-transparent px-3 py-1 text-sm shadow-sm', 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring', this.readonly() && 'bg-muted text-muted-foreground'), ...(ngDevMode ? [{ debugName: "inputClass" }] : []));
4299
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
4300
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScCopyInput, isStandalone: true, selector: "[scCopyInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "copy-input" }, properties: { "class": "class()" } }, ngImport: i0, template: `
4301
- <div class="flex">
4302
- <input
4303
- type="text"
4304
- [value]="value()"
4305
- [readonly]="readonly()"
4306
- [class]="inputClass()"
4307
- />
4308
- <button
4309
- scCopyButton
4310
- [value]="value()"
4311
- [variant]="'outline'"
4312
- [size]="'icon'"
4313
- class="rounded-l-none border-l-0"
4314
- ></button>
4315
- </div>
4316
- `, isInline: true, dependencies: [{ kind: "component", type: ScCopyButton, selector: "button[scCopyButton]", inputs: ["class", "value", "disabled", "timeout", "variant", "size"], outputs: ["copySuccess", "copyError"], exportAs: ["scCopyButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4317
- }
4318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyInput, decorators: [{
4319
- type: Component,
4320
- args: [{
4321
- selector: '[scCopyInput]',
4322
- template: `
4323
- <div class="flex">
4324
- <input
4325
- type="text"
4326
- [value]="value()"
4327
- [readonly]="readonly()"
4328
- [class]="inputClass()"
4329
- />
4330
- <button
4331
- scCopyButton
4332
- [value]="value()"
4333
- [variant]="'outline'"
4334
- [size]="'icon'"
4335
- class="rounded-l-none border-l-0"
4336
- ></button>
4337
- </div>
4338
- `,
4339
- host: {
4340
- 'data-slot': 'copy-input',
4341
- '[class]': 'class()',
4342
- },
4343
- imports: [ScCopyButton],
4344
- encapsulation: ViewEncapsulation.None,
4345
- changeDetection: ChangeDetectionStrategy.OnPush,
4346
- }]
4347
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }] } });
4348
-
4349
- class ScCopyCode {
4350
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
4351
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
4352
- class = computed(() => cn('block', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
4353
- preClass = computed(() => cn('rounded-lg bg-muted p-4 pr-12 overflow-x-auto text-sm', 'font-mono'), ...(ngDevMode ? [{ debugName: "preClass" }] : []));
4354
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyCode, deps: [], target: i0.ɵɵFactoryTarget.Component });
4355
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScCopyCode, isStandalone: true, selector: "[scCopyCode]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "data-slot": "copy-code" }, properties: { "class": "class()" } }, ngImport: i0, template: `
4356
- <div class="relative">
4357
- <pre [class]="preClass()"><code><ng-content /></code></pre>
4358
- <button
4359
- scCopyButton
4360
- [value]="value()"
4361
- class="absolute top-2 right-2"
4362
- [variant]="'ghost'"
4363
- [size]="'icon'"
4364
- ></button>
4365
- </div>
4366
- `, isInline: true, dependencies: [{ kind: "component", type: ScCopyButton, selector: "button[scCopyButton]", inputs: ["class", "value", "disabled", "timeout", "variant", "size"], outputs: ["copySuccess", "copyError"], exportAs: ["scCopyButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4367
- }
4368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScCopyCode, decorators: [{
4369
- type: Component,
4370
- args: [{
4371
- selector: '[scCopyCode]',
4372
- template: `
4373
- <div class="relative">
4374
- <pre [class]="preClass()"><code><ng-content /></code></pre>
4375
- <button
4376
- scCopyButton
4377
- [value]="value()"
4378
- class="absolute top-2 right-2"
4379
- [variant]="'ghost'"
4380
- [size]="'icon'"
4381
- ></button>
4382
- </div>
4383
- `,
4384
- host: {
4385
- 'data-slot': 'copy-code',
4386
- '[class]': 'class()',
4387
- },
4388
- imports: [ScCopyButton],
4389
- encapsulation: ViewEncapsulation.None,
4390
- changeDetection: ChangeDetectionStrategy.OnPush,
4391
- }]
4392
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
4393
-
4394
4150
  class ScCountdown {
4395
4151
  destroyRef = inject(DestroyRef);
4396
4152
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
@@ -8915,7 +8671,7 @@ class ScImageCropperSelection {
8915
8671
  }
8916
8672
  }
8917
8673
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScImageCropperSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8918
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScImageCropperSelection, isStandalone: true, selector: "[scImageCropperSelection]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "image-cropper-selection", "tabindex": "0", "role": "slider", "aria-label": "Crop selection" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "class()", "style.left.px": "cropper.cropArea().x", "style.top.px": "cropper.cropArea().y", "style.width.px": "cropper.cropArea().width", "style.height.px": "cropper.cropArea().height" } }, ngImport: i0 });
8674
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScImageCropperSelection, isStandalone: true, selector: "[scImageCropperSelection]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "image-cropper-selection", "tabindex": "0", "role": "group", "aria-label": "Crop selection", "aria-roledescription": "crop region" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "class()", "style.left.px": "cropper.cropArea().x", "style.top.px": "cropper.cropArea().y", "style.width.px": "cropper.cropArea().width", "style.height.px": "cropper.cropArea().height" } }, ngImport: i0 });
8919
8675
  }
8920
8676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScImageCropperSelection, decorators: [{
8921
8677
  type: Directive,
@@ -8929,8 +8685,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
8929
8685
  '[style.width.px]': 'cropper.cropArea().width',
8930
8686
  '[style.height.px]': 'cropper.cropArea().height',
8931
8687
  tabindex: '0',
8932
- role: 'slider',
8688
+ role: 'group',
8933
8689
  'aria-label': 'Crop selection',
8690
+ 'aria-roledescription': 'crop region',
8934
8691
  '(keydown)': 'onKeyDown($event)',
8935
8692
  },
8936
8693
  }]
@@ -9107,6 +8864,7 @@ class ScImageCropperZoomSlider {
9107
8864
  <input
9108
8865
  #sliderEl
9109
8866
  scSlider
8867
+ aria-label="Zoom level"
9110
8868
  [min]="0.1"
9111
8869
  [max]="3"
9112
8870
  [step]="0.1"
@@ -9116,7 +8874,7 @@ class ScImageCropperZoomSlider {
9116
8874
  <span class="text-muted-foreground min-w-[50px] text-center text-sm">
9117
8875
  {{ zoomPercentage() }}
9118
8876
  </span>
9119
- `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8877
+ `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
9120
8878
  }
9121
8879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScImageCropperZoomSlider, decorators: [{
9122
8880
  type: Component,
@@ -9127,6 +8885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9127
8885
  <input
9128
8886
  #sliderEl
9129
8887
  scSlider
8888
+ aria-label="Zoom level"
9130
8889
  [min]="0.1"
9131
8890
  [max]="3"
9132
8891
  [step]="0.1"
@@ -9415,30 +9174,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9415
9174
  }]
9416
9175
  }] });
9417
9176
 
9418
- class ScInfiniteScrollLoader {
9419
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollLoader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9420
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScInfiniteScrollLoader, isStandalone: true, selector: "[scInfiniteScrollLoader]", host: { attributes: { "data-slot": "infinite-scroll-loader" } }, ngImport: i0 });
9177
+ class ScInfiniteScrollEnd {
9178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollEnd, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9179
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScInfiniteScrollEnd, isStandalone: true, selector: "[scInfiniteScrollEnd]", host: { attributes: { "data-slot": "infinite-scroll-end" } }, ngImport: i0 });
9421
9180
  }
9422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollLoader, decorators: [{
9181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollEnd, decorators: [{
9423
9182
  type: Directive,
9424
9183
  args: [{
9425
- selector: '[scInfiniteScrollLoader]',
9184
+ selector: '[scInfiniteScrollEnd]',
9426
9185
  host: {
9427
- 'data-slot': 'infinite-scroll-loader',
9186
+ 'data-slot': 'infinite-scroll-end',
9428
9187
  },
9429
9188
  }]
9430
9189
  }] });
9431
9190
 
9432
- class ScInfiniteScrollEnd {
9433
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollEnd, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9434
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScInfiniteScrollEnd, isStandalone: true, selector: "[scInfiniteScrollEnd]", host: { attributes: { "data-slot": "infinite-scroll-end" } }, ngImport: i0 });
9191
+ class ScInfiniteScrollLoader {
9192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollLoader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9193
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScInfiniteScrollLoader, isStandalone: true, selector: "[scInfiniteScrollLoader]", host: { attributes: { "data-slot": "infinite-scroll-loader" } }, ngImport: i0 });
9435
9194
  }
9436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollEnd, decorators: [{
9195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScInfiniteScrollLoader, decorators: [{
9437
9196
  type: Directive,
9438
9197
  args: [{
9439
- selector: '[scInfiniteScrollEnd]',
9198
+ selector: '[scInfiniteScrollLoader]',
9440
9199
  host: {
9441
- 'data-slot': 'infinite-scroll-end',
9200
+ 'data-slot': 'infinite-scroll-loader',
9442
9201
  },
9443
9202
  }]
9444
9203
  }] });
@@ -9695,6 +9454,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9695
9454
  }]
9696
9455
  }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeight", required: false }] }], overscan: [{ type: i0.Input, args: [{ isSignal: true, alias: "overscan", required: false }] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: false }] }] } });
9697
9456
 
9457
+ class ScOptFieldSlotCaret {
9458
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9459
+ class = computed(() => cn('pointer-events-none absolute inset-0 flex items-center justify-center', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9460
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotCaret, deps: [], target: i0.ɵɵFactoryTarget.Component });
9461
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScOptFieldSlotCaret, isStandalone: true, selector: "div[scOptFieldSlotCaret]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "opt-field-slot-caret" }, properties: { "class": "class()" } }, ngImport: i0, template: `
9462
+ <div class="animate-caret-blink bg-foreground h-4 w-px"></div>
9463
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
9464
+ }
9465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotCaret, decorators: [{
9466
+ type: Component,
9467
+ args: [{
9468
+ selector: 'div[scOptFieldSlotCaret]',
9469
+ host: {
9470
+ 'data-slot': 'opt-field-slot-caret',
9471
+ '[class]': 'class()',
9472
+ },
9473
+ template: `
9474
+ <div class="animate-caret-blink bg-foreground h-4 w-px"></div>
9475
+ `,
9476
+ encapsulation: ViewEncapsulation.None,
9477
+ changeDetection: ChangeDetectionStrategy.OnPush,
9478
+ }]
9479
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
9480
+
9481
+ class ScOptFieldSlotChar {
9482
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9483
+ char = input('', ...(ngDevMode ? [{ debugName: "char" }] : []));
9484
+ class = computed(() => cn('pointer-events-none', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9485
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotChar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9486
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScOptFieldSlotChar, isStandalone: true, selector: "span[scOptFieldSlotChar]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, char: { classPropertyName: "char", publicName: "char", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "opt-field-slot-char" }, properties: { "class": "class()", "textContent": "char()" } }, ngImport: i0 });
9487
+ }
9488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotChar, decorators: [{
9489
+ type: Directive,
9490
+ args: [{
9491
+ selector: 'span[scOptFieldSlotChar]',
9492
+ host: {
9493
+ 'data-slot': 'opt-field-slot-char',
9494
+ '[class]': 'class()',
9495
+ '[textContent]': 'char()',
9496
+ },
9497
+ }]
9498
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], char: [{ type: i0.Input, args: [{ isSignal: true, alias: "char", required: false }] }] } });
9499
+
9698
9500
  class ScOptFieldSlotInput {
9699
9501
  elementRef = inject((ElementRef));
9700
9502
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
@@ -9742,49 +9544,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9742
9544
  }]
9743
9545
  }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], inputChange: [{ type: i0.Output, args: ["inputChange"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }], focused: [{ type: i0.Output, args: ["focused"] }] } });
9744
9546
 
9745
- class ScOptFieldSlotCaret {
9746
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9747
- class = computed(() => cn('pointer-events-none absolute inset-0 flex items-center justify-center', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9748
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotCaret, deps: [], target: i0.ɵɵFactoryTarget.Component });
9749
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScOptFieldSlotCaret, isStandalone: true, selector: "div[scOptFieldSlotCaret]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "opt-field-slot-caret" }, properties: { "class": "class()" } }, ngImport: i0, template: `
9750
- <div class="animate-caret-blink bg-foreground h-4 w-px"></div>
9751
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
9752
- }
9753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotCaret, decorators: [{
9754
- type: Component,
9755
- args: [{
9756
- selector: 'div[scOptFieldSlotCaret]',
9757
- host: {
9758
- 'data-slot': 'opt-field-slot-caret',
9759
- '[class]': 'class()',
9760
- },
9761
- template: `
9762
- <div class="animate-caret-blink bg-foreground h-4 w-px"></div>
9763
- `,
9764
- encapsulation: ViewEncapsulation.None,
9765
- changeDetection: ChangeDetectionStrategy.OnPush,
9766
- }]
9767
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
9768
-
9769
- class ScOptFieldSlotChar {
9770
- classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9771
- char = input('', ...(ngDevMode ? [{ debugName: "char" }] : []));
9772
- class = computed(() => cn('pointer-events-none', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9773
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotChar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9774
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScOptFieldSlotChar, isStandalone: true, selector: "span[scOptFieldSlotChar]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, char: { classPropertyName: "char", publicName: "char", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "opt-field-slot-char" }, properties: { "class": "class()", "textContent": "char()" } }, ngImport: i0 });
9775
- }
9776
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScOptFieldSlotChar, decorators: [{
9777
- type: Directive,
9778
- args: [{
9779
- selector: 'span[scOptFieldSlotChar]',
9780
- host: {
9781
- 'data-slot': 'opt-field-slot-char',
9782
- '[class]': 'class()',
9783
- '[textContent]': 'char()',
9784
- },
9785
- }]
9786
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], char: [{ type: i0.Input, args: [{ isSignal: true, alias: "char", required: false }] }] } });
9787
-
9788
9547
  class ScOptFieldSlot {
9789
9548
  optField = inject(ScOptField);
9790
9549
  inputComponent = viewChild.required(ScOptFieldSlotInput);
@@ -9900,6 +9659,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9900
9659
  class ScOptField {
9901
9660
  elementRef = inject((ElementRef));
9902
9661
  id = input(inject(_IdGenerator).getId('sc-opt-field-'), ...(ngDevMode ? [{ debugName: "id" }] : []));
9662
+ descriptionIds = signal([], ...(ngDevMode ? [{ debugName: "descriptionIds" }] : []));
9903
9663
  role = computed(() => {
9904
9664
  const tagName = this.elementRef.nativeElement.tagName;
9905
9665
  return tagName === 'LABEL' ? null : 'group';
@@ -14054,6 +13814,7 @@ const SC_NUMBER_FIELD = new InjectionToken('SC_NUMBER_FIELD');
14054
13814
  class ScNumberField {
14055
13815
  elementRef = inject((ElementRef));
14056
13816
  id = input(inject(_IdGenerator).getId('sc-number-field-'), ...(ngDevMode ? [{ debugName: "id" }] : []));
13817
+ descriptionIds = signal([], ...(ngDevMode ? [{ debugName: "descriptionIds" }] : []));
14057
13818
  role = computed(() => {
14058
13819
  const tagName = this.elementRef.nativeElement.tagName;
14059
13820
  return tagName === 'LABEL' ? null : 'group';
@@ -14299,7 +14060,7 @@ class ScNumberFieldInput {
14299
14060
  }
14300
14061
  }
14301
14062
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScNumberFieldInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
14302
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScNumberFieldInput, isStandalone: true, selector: "input[scNumberFieldInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "number-field-input", "type": "text", "inputmode": "decimal" }, listeners: { "input": "onInput($event)", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "class": "class()", "value": "displayValue()", "disabled": "numberField.disabled()", "attr.aria-valuemin": "numberField.min()", "attr.aria-valuemax": "numberField.max()", "attr.aria-valuenow": "numberField.value()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14063
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScNumberFieldInput, isStandalone: true, selector: "input[scNumberFieldInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "number-field-input", "type": "text", "inputmode": "decimal", "role": "spinbutton" }, listeners: { "input": "onInput($event)", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "class": "class()", "value": "displayValue()", "disabled": "numberField.disabled()", "attr.aria-valuemin": "numberField.min()", "attr.aria-valuemax": "numberField.max()", "attr.aria-valuenow": "numberField.value()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14303
14064
  }
14304
14065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScNumberFieldInput, decorators: [{
14305
14066
  type: Component,
@@ -14310,6 +14071,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
14310
14071
  'data-slot': 'number-field-input',
14311
14072
  type: 'text',
14312
14073
  inputmode: 'decimal',
14074
+ role: 'spinbutton',
14313
14075
  '[class]': 'class()',
14314
14076
  '[value]': 'displayValue()',
14315
14077
  '[disabled]': 'numberField.disabled()',
@@ -14712,6 +14474,7 @@ const SC_PASSWORD_FIELD = new InjectionToken('SC_PASSWORD_FIELD');
14712
14474
  class ScPasswordField {
14713
14475
  elementRef = inject((ElementRef));
14714
14476
  id = input(inject(_IdGenerator).getId('sc-password-field-'), ...(ngDevMode ? [{ debugName: "id" }] : []));
14477
+ descriptionIds = signal([], ...(ngDevMode ? [{ debugName: "descriptionIds" }] : []));
14715
14478
  role = computed(() => {
14716
14479
  const tagName = this.elementRef.nativeElement.tagName;
14717
14480
  return tagName === 'LABEL' ? null : 'group';
@@ -14803,16 +14566,20 @@ class ScPasswordFieldInput {
14803
14566
  field = inject(SC_FIELD);
14804
14567
  passwordField = inject(SC_PASSWORD_FIELD);
14805
14568
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
14569
+ ariaDescribedByInput = input('', { ...(ngDevMode ? { debugName: "ariaDescribedByInput" } : {}), alias: 'aria-describedby' });
14806
14570
  placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
14807
14571
  readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
14808
14572
  autocomplete = input('current-password', ...(ngDevMode ? [{ debugName: "autocomplete" }] : []));
14573
+ ariaDescribedBy = computed(() => this.ariaDescribedByInput() ||
14574
+ this.field.descriptionIds().join(' ') ||
14575
+ null, ...(ngDevMode ? [{ debugName: "ariaDescribedBy" }] : []));
14809
14576
  class = computed(() => cn('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 pr-10 text-sm shadow-sm transition-colors', 'file:border-0 file:bg-transparent file:text-sm file:font-medium', 'placeholder:text-muted-foreground', 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring', 'disabled:cursor-not-allowed disabled:opacity-50', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
14810
14577
  onInput(event) {
14811
14578
  const input = event.target;
14812
14579
  this.passwordField.setValue(input.value);
14813
14580
  }
14814
14581
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScPasswordFieldInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
14815
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScPasswordFieldInput, isStandalone: true, selector: "input[scPasswordFieldInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "password-field-input" }, listeners: { "input": "onInput($event)" }, properties: { "id": "field.id()", "type": "passwordField.visible() ? \"text\" : \"password\"", "class": "class()", "value": "passwordField.value()", "disabled": "passwordField.disabled()", "attr.aria-invalid": "passwordField.invalid()", "readonly": "readonly()", "placeholder": "placeholder()", "autocomplete": "autocomplete()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14582
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScPasswordFieldInput, isStandalone: true, selector: "input[scPasswordFieldInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedByInput: { classPropertyName: "ariaDescribedByInput", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "password-field-input" }, listeners: { "input": "onInput($event)" }, properties: { "id": "field.id()", "type": "passwordField.visible() ? \"text\" : \"password\"", "class": "class()", "value": "passwordField.value()", "disabled": "passwordField.disabled()", "attr.aria-invalid": "passwordField.invalid()", "attr.aria-describedby": "ariaDescribedBy()", "readonly": "readonly()", "placeholder": "placeholder()", "autocomplete": "autocomplete()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14816
14583
  }
14817
14584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScPasswordFieldInput, decorators: [{
14818
14585
  type: Component,
@@ -14827,6 +14594,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
14827
14594
  '[value]': 'passwordField.value()',
14828
14595
  '[disabled]': 'passwordField.disabled()',
14829
14596
  '[attr.aria-invalid]': 'passwordField.invalid()',
14597
+ '[attr.aria-describedby]': 'ariaDescribedBy()',
14830
14598
  '[readonly]': 'readonly()',
14831
14599
  '[placeholder]': 'placeholder()',
14832
14600
  '[autocomplete]': 'autocomplete()',
@@ -14835,7 +14603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
14835
14603
  encapsulation: ViewEncapsulation.None,
14836
14604
  changeDetection: ChangeDetectionStrategy.OnPush,
14837
14605
  }]
14838
- }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }] } });
14606
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], ariaDescribedByInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }] } });
14839
14607
 
14840
14608
  class ScPasswordFieldToggle {
14841
14609
  passwordField = inject(SC_PASSWORD_FIELD);
@@ -18364,6 +18132,7 @@ const SC_RATING_FIELD = new InjectionToken('SC_RATING_FIELD');
18364
18132
  class ScRatingField {
18365
18133
  elementRef = inject((ElementRef));
18366
18134
  id = input(inject(_IdGenerator).getId('sc-rating-field-'), ...(ngDevMode ? [{ debugName: "id" }] : []));
18135
+ descriptionIds = signal([], ...(ngDevMode ? [{ debugName: "descriptionIds" }] : []));
18367
18136
  role = computed(() => {
18368
18137
  const tagName = this.elementRef.nativeElement.tagName;
18369
18138
  return tagName === 'LABEL' ? null : 'group';
@@ -18839,6 +18608,7 @@ class ScSignaturePadCanvas {
18839
18608
  // CSS/Tailwind only sets display size, which causes stretching and poor drawing quality.
18840
18609
  width = input(400, ...(ngDevMode ? [{ debugName: "width" }] : []));
18841
18610
  height = input(200, ...(ngDevMode ? [{ debugName: "height" }] : []));
18611
+ ariaLabel = input('Signature pad', { ...(ngDevMode ? { debugName: "ariaLabel" } : {}), alias: 'aria-label' });
18842
18612
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
18843
18613
  // Two-way binding
18844
18614
  value = model('', ...(ngDevMode ? [{ debugName: "value" }] : []));
@@ -18982,7 +18752,7 @@ class ScSignaturePadCanvas {
18982
18752
  this.signatureChange.emit(dataURL);
18983
18753
  }
18984
18754
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadCanvas, deps: [], target: i0.ɵɵFactoryTarget.Component });
18985
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadCanvas, isStandalone: true, selector: "canvas[scSignaturePadCanvas]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", signatureChange: "signatureChange", strokeEnd: "strokeEnd" }, host: { attributes: { "data-slot": "signature-pad-canvas", "role": "img" }, listeners: { "mousedown": "onPointerDown($event)", "mousemove": "onPointerMove($event)", "mouseup": "onPointerUp()", "mouseleave": "onPointerUp()", "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onPointerUp()" }, properties: { "class": "class()", "width": "width()", "height": "height()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18755
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadCanvas, isStandalone: true, selector: "canvas[scSignaturePadCanvas]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", signatureChange: "signatureChange", strokeEnd: "strokeEnd" }, host: { attributes: { "data-slot": "signature-pad-canvas", "role": "img" }, listeners: { "mousedown": "onPointerDown($event)", "mousemove": "onPointerMove($event)", "mouseup": "onPointerUp()", "mouseleave": "onPointerUp()", "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onPointerUp()" }, properties: { "class": "class()", "width": "width()", "height": "height()", "attr.aria-label": "ariaLabel()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18986
18756
  }
18987
18757
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadCanvas, decorators: [{
18988
18758
  type: Component,
@@ -18995,6 +18765,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
18995
18765
  '[width]': 'width()',
18996
18766
  '[height]': 'height()',
18997
18767
  role: 'img',
18768
+ '[attr.aria-label]': 'ariaLabel()',
18998
18769
  '(mousedown)': 'onPointerDown($event)',
18999
18770
  '(mousemove)': 'onPointerMove($event)',
19000
18771
  '(mouseup)': 'onPointerUp()',
@@ -19006,7 +18777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
19006
18777
  encapsulation: ViewEncapsulation.None,
19007
18778
  changeDetection: ChangeDetectionStrategy.OnPush,
19008
18779
  }]
19009
- }], ctorParameters: () => [], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], signatureChange: [{ type: i0.Output, args: ["signatureChange"] }], strokeEnd: [{ type: i0.Output, args: ["strokeEnd"] }] } });
18780
+ }], ctorParameters: () => [], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], signatureChange: [{ type: i0.Output, args: ["signatureChange"] }], strokeEnd: [{ type: i0.Output, args: ["strokeEnd"] }] } });
19010
18781
 
19011
18782
  class ScSignaturePadControls {
19012
18783
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
@@ -19116,8 +18887,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
19116
18887
  class ScSignaturePadColorButton {
19117
18888
  signaturePad = inject(SC_SIGNATURE_PAD);
19118
18889
  color = input.required(...(ngDevMode ? [{ debugName: "color" }] : []));
19119
- ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
18890
+ ariaLabelInput = input('', { ...(ngDevMode ? { debugName: "ariaLabelInput" } : {}), alias: 'aria-label' });
19120
18891
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
18892
+ ariaLabel = computed(() => this.ariaLabelInput() || `Pen color ${this.color()}`, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
19121
18893
  isActive = computed(() => this.signaturePad.penColor() === this.color(), ...(ngDevMode ? [{ debugName: "isActive" }] : []));
19122
18894
  class = computed(() => cn('inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground transition-colors', 'disabled:pointer-events-none disabled:opacity-50', 'data-active:border-primary data-active:bg-primary/10', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
19123
18895
  onClick() {
@@ -19126,7 +18898,7 @@ class ScSignaturePadColorButton {
19126
18898
  this.signaturePad.penColor.set(this.color());
19127
18899
  }
19128
18900
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadColorButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
19129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadColorButton, isStandalone: true, selector: "button[scSignaturePadPenColor]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class": "class()", "attr.aria-label": "ariaLabel()", "attr.data-active": "isActive() || null", "disabled": "signaturePad.disabled() || null" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18901
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadColorButton, isStandalone: true, selector: "button[scSignaturePadPenColor]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class": "class()", "attr.aria-label": "ariaLabel()", "attr.data-active": "isActive() || null", "disabled": "signaturePad.disabled() || null" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19130
18902
  }
19131
18903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadColorButton, decorators: [{
19132
18904
  type: Component,
@@ -19144,13 +18916,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
19144
18916
  encapsulation: ViewEncapsulation.None,
19145
18917
  changeDetection: ChangeDetectionStrategy.OnPush,
19146
18918
  }]
19147
- }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: true }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
18919
+ }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: true }] }], ariaLabelInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
19148
18920
 
19149
18921
  class ScSignaturePadWidthButton {
19150
18922
  signaturePad = inject(SC_SIGNATURE_PAD);
19151
18923
  width = input.required(...(ngDevMode ? [{ debugName: "width" }] : []));
19152
- ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
18924
+ ariaLabelInput = input('', { ...(ngDevMode ? { debugName: "ariaLabelInput" } : {}), alias: 'aria-label' });
19153
18925
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
18926
+ ariaLabel = computed(() => this.ariaLabelInput() || `Pen width ${this.width()}`, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
19154
18927
  isActive = computed(() => this.signaturePad.penWidth() === this.width(), ...(ngDevMode ? [{ debugName: "isActive" }] : []));
19155
18928
  class = computed(() => cn('inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground transition-colors', 'disabled:pointer-events-none disabled:opacity-50', 'data-active:border-primary data-active:bg-primary/10', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
19156
18929
  onClick() {
@@ -19159,7 +18932,7 @@ class ScSignaturePadWidthButton {
19159
18932
  this.signaturePad.penWidth.set(this.width());
19160
18933
  }
19161
18934
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadWidthButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
19162
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadWidthButton, isStandalone: true, selector: "button[scSignaturePadPenWidth]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class": "class()", "attr.aria-label": "ariaLabel()", "attr.data-active": "isActive() || null", "disabled": "signaturePad.disabled() || null" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18935
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScSignaturePadWidthButton, isStandalone: true, selector: "button[scSignaturePadPenWidth]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: true, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class": "class()", "attr.aria-label": "ariaLabel()", "attr.data-active": "isActive() || null", "disabled": "signaturePad.disabled() || null" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19163
18936
  }
19164
18937
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSignaturePadWidthButton, decorators: [{
19165
18938
  type: Component,
@@ -19177,7 +18950,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
19177
18950
  encapsulation: ViewEncapsulation.None,
19178
18951
  changeDetection: ChangeDetectionStrategy.OnPush,
19179
18952
  }]
19180
- }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: true }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
18953
+ }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: true }] }], ariaLabelInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
19181
18954
 
19182
18955
  // Token for sortable list context
19183
18956
  const SC_SORTABLE_LIST = new InjectionToken('SC_SORTABLE_LIST');
@@ -19994,17 +19767,7 @@ class ScSpotlight {
19994
19767
  class="bg-background/90 hover:bg-background text-foreground absolute top-4 right-4 z-10 rounded-full p-2 shadow-lg"
19995
19768
  aria-label="Close spotlight"
19996
19769
  >
19997
- <svg
19998
- xmlns="http://www.w3.org/2000/svg"
19999
- viewBox="0 0 24 24"
20000
- fill="none"
20001
- stroke="currentColor"
20002
- stroke-width="2"
20003
- class="size-5"
20004
- >
20005
- <path d="M18 6 6 18" />
20006
- <path d="m6 6 12 12" />
20007
- </svg>
19770
+ <svg siXIcon class="size-5"></svg>
20008
19771
  </button>
20009
19772
  }
20010
19773
 
@@ -20020,12 +19783,13 @@ class ScSpotlight {
20020
19783
  }
20021
19784
  </div>
20022
19785
  }
20023
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19786
+ `, isInline: true, dependencies: [{ kind: "component", type: SiXIcon, selector: "svg[siXIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20024
19787
  }
20025
19788
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScSpotlight, decorators: [{
20026
19789
  type: Component,
20027
19790
  args: [{
20028
19791
  selector: 'sc-spotlight',
19792
+ imports: [SiXIcon],
20029
19793
  template: `
20030
19794
  @if (isActive()) {
20031
19795
  <div
@@ -20098,17 +19862,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
20098
19862
  class="bg-background/90 hover:bg-background text-foreground absolute top-4 right-4 z-10 rounded-full p-2 shadow-lg"
20099
19863
  aria-label="Close spotlight"
20100
19864
  >
20101
- <svg
20102
- xmlns="http://www.w3.org/2000/svg"
20103
- viewBox="0 0 24 24"
20104
- fill="none"
20105
- stroke="currentColor"
20106
- stroke-width="2"
20107
- class="size-5"
20108
- >
20109
- <path d="M18 6 6 18" />
20110
- <path d="m6 6 12 12" />
20111
- </svg>
19865
+ <svg siXIcon class="size-5"></svg>
20112
19866
  </button>
20113
19867
  }
20114
19868
 
@@ -21082,6 +20836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
21082
20836
  class ScThemeField {
21083
20837
  elementRef = inject((ElementRef));
21084
20838
  id = input(inject(_IdGenerator).getId('sc-theme-field-'), ...(ngDevMode ? [{ debugName: "id" }] : []));
20839
+ descriptionIds = signal([], ...(ngDevMode ? [{ debugName: "descriptionIds" }] : []));
21085
20840
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
21086
20841
  role = computed(() => {
21087
20842
  const tagName = this.elementRef.nativeElement.tagName;
@@ -23590,6 +23345,7 @@ class ScVideoPlayerProgress {
23590
23345
  <input
23591
23346
  scSlider
23592
23347
  class="absolute inset-0 h-full [&::-moz-range-progress]:transition-[height] group-hover:[&::-moz-range-progress]:h-1.5 [&::-moz-range-track]:transition-[height] group-hover:[&::-moz-range-track]:h-1.5 [&::-webkit-slider-runnable-track]:transition-[height] group-hover:[&::-webkit-slider-runnable-track]:h-1.5"
23348
+ aria-label="Video progress"
23593
23349
  min="0"
23594
23350
  max="100"
23595
23351
  step="0.1"
@@ -23597,7 +23353,7 @@ class ScVideoPlayerProgress {
23597
23353
  [style.--fill-percent]="player.progressPercent() + '%'"
23598
23354
  (input)="onSeek($event)"
23599
23355
  />
23600
- `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23356
+ `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23601
23357
  }
23602
23358
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScVideoPlayerProgress, decorators: [{
23603
23359
  type: Component,
@@ -23614,6 +23370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
23614
23370
  <input
23615
23371
  scSlider
23616
23372
  class="absolute inset-0 h-full [&::-moz-range-progress]:transition-[height] group-hover:[&::-moz-range-progress]:h-1.5 [&::-moz-range-track]:transition-[height] group-hover:[&::-moz-range-track]:h-1.5 [&::-webkit-slider-runnable-track]:transition-[height] group-hover:[&::-webkit-slider-runnable-track]:h-1.5"
23373
+ aria-label="Video progress"
23617
23374
  min="0"
23618
23375
  max="100"
23619
23376
  step="0.1"
@@ -23663,7 +23420,7 @@ class ScVideoPlayerVolume {
23663
23420
  (input)="onVolumeInput($event)"
23664
23421
  aria-label="Volume"
23665
23422
  />
23666
- `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23423
+ `, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23667
23424
  }
23668
23425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScVideoPlayerVolume, decorators: [{
23669
23426
  type: Component,
@@ -24727,5 +24484,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
24727
24484
  * Generated bundle index. Do not edit.
24728
24485
  */
24729
24486
 
24730
- export { AuthLayout, CHART_COLORS, COUNTRIES, DEFAULT_BREAKPOINTS, DEFAULT_CONFETTI_OPTIONS, DEFAULT_CONFIG, DEFAULT_COUNTER_OPTIONS, DEFAULT_DOCK_OPTIONS, DEFAULT_SEARCH_OPTIONS, DEFAULT_TOOLBAR_CONFIG, SC_AUDIO_PLAYER, SC_CHART, SC_COLOR_PICKER, SC_DATA_TABLE, SC_IMAGE_COMPARE, SC_IMAGE_CROPPER, SC_LANGUAGE_CONFIG, SC_LIGHTBOX, SC_NOTIFICATION_CENTER, SC_NUMBER_FIELD, SC_PASSWORD_FIELD, SC_PDF_VIEWER, SC_RATING_FIELD, SC_RATING_ITEM_GROUP, SC_SIGNATURE_PAD, SC_SORTABLE_ITEM, SC_SORTABLE_LIST, SC_STEPPER, SC_STEPPER_ITEM, SC_TAG_INPUT, SC_TIMEZONE_CONFIG, SC_TREE_ITEM, ScAnimatedCounter, ScAudioPlayer, ScAudioPlayerControls, ScAudioPlayerCover, ScAudioPlayerNext, ScAudioPlayerPlay, ScAudioPlayerPrevious, ScAudioPlayerProgress, ScAudioPlayerRepeat, ScAudioPlayerShuffle, ScAudioPlayerTrackInfo, ScAudioPlayerVolume, ScAutoMarquee, ScBarChart, ScBarcodeScanner, ScBarcodeScannerSimple, ScButtonPattern, ScChartContainer, ScChartLegend, ScChartTooltip, ScColorPicker, ScColorPickerArea, ScColorPickerEyeDropper, ScColorPickerHue, ScColorPickerInput, ScColorPickerPreview, ScColorPickerSwatches, ScCombobox, ScComboboxEmpty, ScComboboxIcon, ScComboboxInput, ScComboboxItem, ScComboboxItemIndicator, ScComboboxList, ScComboboxPortal, ScComboboxTrigger, ScCommand, ScCommandEmpty, ScCommandGroup, ScCommandGroupHeading, ScCommandInput, ScCommandItem, ScCommandList, ScCommandSeparator, ScCommandShortcut, ScConfetti, ScContextMenu, ScContextMenuContent, ScContextMenuItem, ScContextMenuLabel, ScContextMenuSeparator, ScContextMenuShortcut, ScContextMenuSub, ScContextMenuSubContent, ScContextMenuSubTrigger, ScContextMenuTrigger, ScCopyButton, ScCopyButtonWithText, ScCopyCode, ScCopyInput, ScCountdown, ScCountdownSimple, ScDataTable, ScDataTableBody, ScDataTableCell, ScDataTableColumnToggle, ScDataTableFilter, ScDataTableHead, ScDataTableHeader, ScDataTablePagination, ScDataTableRow, ScDateRangePicker, ScDiffViewer, ScDock, ScDockBadge, ScDockItem, ScDockItems, ScDonutChart, ScEmojiPicker, ScEmojiPickerTrigger, ScImageAnnotator, ScImageCompare, ScImageCompareAfter, ScImageCompareArea, ScImageCompareBefore, ScImageCompareLabel, ScImageCompareSlider, ScImageCropper, ScImageCropperAspectRatio, ScImageCropperCanvas, ScImageCropperDragRegion, ScImageCropperFileInput, ScImageCropperFlipH, ScImageCropperFlipV, ScImageCropperGrid, ScImageCropperHandle, ScImageCropperImage, ScImageCropperOverlay, ScImageCropperPreview, ScImageCropperReset, ScImageCropperRotateLeft, ScImageCropperRotateRight, ScImageCropperSelection, ScImageCropperZoomIn, ScImageCropperZoomOut, ScImageCropperZoomSlider, ScInfiniteScroll, ScInfiniteScrollEnd, ScInfiniteScrollLoader, ScKanbanBoard, ScKanbanCard, ScKanbanColumn, ScLanguageButton, ScLanguageSelect, ScLanguageService, ScLanguageToggle, ScLightboxDirective as ScLightbox, ScLightboxContainer, ScLightboxDirective, ScLightboxGallery, ScLightboxTrigger, ScLineChart, ScMarquee, ScMarqueeClone, ScMarqueeFade, ScMarqueeItem, ScMarqueeText, ScMasonryGrid, ScMasonryItem, ScMentionInput, ScMultiSelect, ScNativeCheckbox, ScNavbar, ScNavbarActions, ScNavbarBrand, ScNavbarGroup, ScNavbarMobileLink, ScNavbarMobileMenu, ScNavbarMobilePortal, ScNavbarMobileTrigger, ScNavbarProvider, ScNotificationCenterDirective as ScNotificationCenter, ScNotificationCenterContainer, ScNotificationCenterDirective, ScNotificationGroup, ScNotificationItem, ScNumberField, ScNumberFieldDecrement, ScNumberFieldIncrement, ScNumberFieldInput, ScNumberFieldInputGroup, ScNumberFieldScrubArea, ScOptField, ScOptFieldSeparator, ScOptFieldSlot, ScOptFieldSlotCaret, ScOptFieldSlotChar, ScOptFieldSlotGroup, ScOptFieldSlotInput, ScOrgChart, ScOrgChartNode, ScPasswordField, ScPasswordFieldInput, ScPasswordFieldInputGroup, ScPasswordFieldRequirements, ScPasswordFieldStrength, ScPasswordFieldStrengthBar, ScPasswordFieldToggle, ScPdfViewer, ScPdfViewerContainer, ScPdfViewerContent, ScPdfViewerDownload, ScPdfViewerEmpty, ScPdfViewerError, ScPdfViewerFullscreen, ScPdfViewerLoading, ScPdfViewerNav, ScPdfViewerNextPage, ScPdfViewerPageInfo, ScPdfViewerPrevPage, ScPdfViewerPrint, ScPdfViewerRetry, ScPdfViewerRoot, ScPdfViewerRotateLeft, ScPdfViewerRotateRight, ScPdfViewerSeparator, ScPdfViewerSpacer, ScPdfViewerToolbar$1 as ScPdfViewerToolbar, ScPdfViewerToolbar as ScPdfViewerToolbarLegacy, ScPdfViewerZoom, ScPdfViewerZoomIn, ScPdfViewerZoomOut, ScPdfViewerZoomSelect, ScPhoneInput, ScPhoneInputSimple, ScPieChart, ScQrCode, ScQrCodeDownload, ScRatingField, ScRatingFieldItem, ScRatingItemGroup, ScSearchInput, ScSidebarLayout, ScSignaturePad, ScSignaturePadCanvas, ScSignaturePadClearButton, ScSignaturePadColorButton, ScSignaturePadControls, ScSignaturePadToolbar, ScSignaturePadUndoButton, ScSignaturePadWidthButton, ScSortableHandle, ScSortableItem, ScSortableList, ScSortableOverlay, ScSpeedDial, ScSpeedDialAction, ScSplitButton, ScSpotlight, ScSpotlightActions, ScSpotlightDescription, ScSpotlightTitle, ScStackedLayout, ScStatCard, ScStatCardChange, ScStatCardDescription, ScStatCardIcon, ScStatCardLabel, ScStatCardValue, ScStepper, ScStepperContent, ScStepperDescription, ScStepperItem, ScStepperList, ScStepperNext, ScStepperPrevious, ScStepperSeparator, ScStepperTitle, ScStepperTrigger, ScTagInput, ScTagInputClear, ScTagInputCount, ScTagInputField, ScTagInputTag, ScTheme, ScThemeField, ScThemeSelect, ScThemeToggle, ScTimePickerClock, ScTimeline, ScTimelineConnector, ScTimelineContent, ScTimelineDescription, ScTimelineDot, ScTimelineItem, ScTimelineTime, ScTimelineTitle, ScTimezoneBadge, ScTimezoneButton, ScTimezoneDisplay, ScTimezoneSelect, ScTimezoneService, ScTourGuide, ScTransferList, ScTree, ScTreeItem, ScTreeItemGroup, ScTreeItemIcon, ScTreeItemTrigger, ScTreeItemTriggerIcon, ScVideoPlayer, ScVideoPlayerBigPlay, ScVideoPlayerBufferingIndicator, ScVideoPlayerControls, ScVideoPlayerFullscreen, ScVideoPlayerPip, ScVideoPlayerPlayPause, ScVideoPlayerProgress, ScVideoPlayerSkip, ScVideoPlayerSpacer, ScVideoPlayerSpeed, ScVideoPlayerTime, ScVideoPlayerToolbar, ScVideoPlayerVideo, ScVideoPlayerVolume, ScVirtualList, ScVirtualScroll, TourService, ZOOM_LEVELS, computeDiff, computeWordDiff, createScDateRangePresets, createUnifiedDiff, getCountryByCode, getCountryByDialCode, sizeStyles$1 as sizeStyles, variantStyles$1 as variantStyles };
24487
+ export { AuthLayout, CHART_COLORS, COUNTRIES, DEFAULT_BREAKPOINTS, DEFAULT_CONFETTI_OPTIONS, DEFAULT_CONFIG, DEFAULT_COUNTER_OPTIONS, DEFAULT_DOCK_OPTIONS, DEFAULT_SEARCH_OPTIONS, DEFAULT_TOOLBAR_CONFIG, SC_AUDIO_PLAYER, SC_CHART, SC_COLOR_PICKER, SC_DATA_TABLE, SC_IMAGE_COMPARE, SC_IMAGE_CROPPER, SC_LANGUAGE_CONFIG, SC_LIGHTBOX, SC_NOTIFICATION_CENTER, SC_NUMBER_FIELD, SC_PASSWORD_FIELD, SC_PDF_VIEWER, SC_RATING_FIELD, SC_RATING_ITEM_GROUP, SC_SIGNATURE_PAD, SC_SORTABLE_ITEM, SC_SORTABLE_LIST, SC_STEPPER, SC_STEPPER_ITEM, SC_TAG_INPUT, SC_TIMEZONE_CONFIG, SC_TREE_ITEM, ScAnimatedCounter, ScAudioPlayer, ScAudioPlayerControls, ScAudioPlayerCover, ScAudioPlayerNext, ScAudioPlayerPlay, ScAudioPlayerPrevious, ScAudioPlayerProgress, ScAudioPlayerRepeat, ScAudioPlayerShuffle, ScAudioPlayerTrackInfo, ScAudioPlayerVolume, ScAutoMarquee, ScBarChart, ScBarcodeScanner, ScBarcodeScannerSimple, ScButtonPattern, ScChartContainer, ScChartLegend, ScChartTooltip, ScColorPicker, ScColorPickerArea, ScColorPickerEyeDropper, ScColorPickerHue, ScColorPickerInput, ScColorPickerPreview, ScColorPickerSwatches, ScCombobox, ScComboboxEmpty, ScComboboxIcon, ScComboboxInput, ScComboboxItem, ScComboboxItemIndicator, ScComboboxList, ScComboboxPortal, ScComboboxTrigger, ScCommand, ScCommandEmpty, ScCommandGroup, ScCommandGroupHeading, ScCommandInput, ScCommandItem, ScCommandList, ScCommandSeparator, ScCommandShortcut, ScConfetti, ScContextMenu, ScContextMenuContent, ScContextMenuItem, ScContextMenuLabel, ScContextMenuSeparator, ScContextMenuShortcut, ScContextMenuSub, ScContextMenuSubContent, ScContextMenuSubTrigger, ScContextMenuTrigger, ScCountdown, ScCountdownSimple, ScDataTable, ScDataTableBody, ScDataTableCell, ScDataTableColumnToggle, ScDataTableFilter, ScDataTableHead, ScDataTableHeader, ScDataTablePagination, ScDataTableRow, ScDateRangePicker, ScDiffViewer, ScDock, ScDockBadge, ScDockItem, ScDockItems, ScDonutChart, ScEmojiPicker, ScEmojiPickerTrigger, ScImageAnnotator, ScImageCompare, ScImageCompareAfter, ScImageCompareArea, ScImageCompareBefore, ScImageCompareLabel, ScImageCompareSlider, ScImageCropper, ScImageCropperAspectRatio, ScImageCropperCanvas, ScImageCropperDragRegion, ScImageCropperFileInput, ScImageCropperFlipH, ScImageCropperFlipV, ScImageCropperGrid, ScImageCropperHandle, ScImageCropperImage, ScImageCropperOverlay, ScImageCropperPreview, ScImageCropperReset, ScImageCropperRotateLeft, ScImageCropperRotateRight, ScImageCropperSelection, ScImageCropperZoomIn, ScImageCropperZoomOut, ScImageCropperZoomSlider, ScInfiniteScroll, ScInfiniteScrollEnd, ScInfiniteScrollLoader, ScKanbanBoard, ScKanbanCard, ScKanbanColumn, ScLanguageButton, ScLanguageSelect, ScLanguageService, ScLanguageToggle, ScLightboxDirective as ScLightbox, ScLightboxContainer, ScLightboxDirective, ScLightboxGallery, ScLightboxTrigger, ScLineChart, ScMarquee, ScMarqueeClone, ScMarqueeFade, ScMarqueeItem, ScMarqueeText, ScMasonryGrid, ScMasonryItem, ScMentionInput, ScMultiSelect, ScNativeCheckbox, ScNavbar, ScNavbarActions, ScNavbarBrand, ScNavbarGroup, ScNavbarMobileLink, ScNavbarMobileMenu, ScNavbarMobilePortal, ScNavbarMobileTrigger, ScNavbarProvider, ScNotificationCenterDirective as ScNotificationCenter, ScNotificationCenterContainer, ScNotificationCenterDirective, ScNotificationGroup, ScNotificationItem, ScNumberField, ScNumberFieldDecrement, ScNumberFieldIncrement, ScNumberFieldInput, ScNumberFieldInputGroup, ScNumberFieldScrubArea, ScOptField, ScOptFieldSeparator, ScOptFieldSlot, ScOptFieldSlotCaret, ScOptFieldSlotChar, ScOptFieldSlotGroup, ScOptFieldSlotInput, ScOrgChart, ScOrgChartNode, ScPasswordField, ScPasswordFieldInput, ScPasswordFieldInputGroup, ScPasswordFieldRequirements, ScPasswordFieldStrength, ScPasswordFieldStrengthBar, ScPasswordFieldToggle, ScPdfViewer, ScPdfViewerContainer, ScPdfViewerContent, ScPdfViewerDownload, ScPdfViewerEmpty, ScPdfViewerError, ScPdfViewerFullscreen, ScPdfViewerLoading, ScPdfViewerNav, ScPdfViewerNextPage, ScPdfViewerPageInfo, ScPdfViewerPrevPage, ScPdfViewerPrint, ScPdfViewerRetry, ScPdfViewerRoot, ScPdfViewerRotateLeft, ScPdfViewerRotateRight, ScPdfViewerSeparator, ScPdfViewerSpacer, ScPdfViewerToolbar$1 as ScPdfViewerToolbar, ScPdfViewerToolbar as ScPdfViewerToolbarLegacy, ScPdfViewerZoom, ScPdfViewerZoomIn, ScPdfViewerZoomOut, ScPdfViewerZoomSelect, ScPhoneInput, ScPhoneInputSimple, ScPieChart, ScQrCode, ScQrCodeDownload, ScRatingField, ScRatingFieldItem, ScRatingItemGroup, ScSearchInput, ScSidebarLayout, ScSignaturePad, ScSignaturePadCanvas, ScSignaturePadClearButton, ScSignaturePadColorButton, ScSignaturePadControls, ScSignaturePadToolbar, ScSignaturePadUndoButton, ScSignaturePadWidthButton, ScSortableHandle, ScSortableItem, ScSortableList, ScSortableOverlay, ScSpeedDial, ScSpeedDialAction, ScSplitButton, ScSpotlight, ScSpotlightActions, ScSpotlightDescription, ScSpotlightTitle, ScStackedLayout, ScStatCard, ScStatCardChange, ScStatCardDescription, ScStatCardIcon, ScStatCardLabel, ScStatCardValue, ScStepper, ScStepperContent, ScStepperDescription, ScStepperItem, ScStepperList, ScStepperNext, ScStepperPrevious, ScStepperSeparator, ScStepperTitle, ScStepperTrigger, ScTagInput, ScTagInputClear, ScTagInputCount, ScTagInputField, ScTagInputTag, ScTheme, ScThemeField, ScThemeSelect, ScThemeToggle, ScTimePickerClock, ScTimeline, ScTimelineConnector, ScTimelineContent, ScTimelineDescription, ScTimelineDot, ScTimelineItem, ScTimelineTime, ScTimelineTitle, ScTimezoneBadge, ScTimezoneButton, ScTimezoneDisplay, ScTimezoneSelect, ScTimezoneService, ScTourGuide, ScTransferList, ScTree, ScTreeItem, ScTreeItemGroup, ScTreeItemIcon, ScTreeItemTrigger, ScTreeItemTriggerIcon, ScVideoPlayer, ScVideoPlayerBigPlay, ScVideoPlayerBufferingIndicator, ScVideoPlayerControls, ScVideoPlayerFullscreen, ScVideoPlayerPip, ScVideoPlayerPlayPause, ScVideoPlayerProgress, ScVideoPlayerSkip, ScVideoPlayerSpacer, ScVideoPlayerSpeed, ScVideoPlayerTime, ScVideoPlayerToolbar, ScVideoPlayerVideo, ScVideoPlayerVolume, ScVirtualList, ScVirtualScroll, TourService, ZOOM_LEVELS, computeDiff, computeWordDiff, createScDateRangePresets, createUnifiedDiff, getCountryByCode, getCountryByDialCode, sizeStyles$1 as sizeStyles, variantStyles$1 as variantStyles };
24731
24488
  //# sourceMappingURL=semantic-components-ui-lab.mjs.map