@semantic-components/ui-lab 0.76.0 → 0.77.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.
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, DestroyRef, output, signal, effect, ElementRef, InjectionToken, model, viewChild, Directive, PLATFORM_ID, afterNextRender, TemplateRef, contentChild,
|
|
2
|
+
import { input, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, DestroyRef, output, signal, effect, ElementRef, InjectionToken, model, viewChild, Directive, PLATFORM_ID, afterNextRender, TemplateRef, contentChild, Injector, runInInjectionContext, contentChildren, ViewContainerRef, ViewChild, untracked, Injectable, booleanAttribute } from '@angular/core';
|
|
3
3
|
import { RouterOutlet, Router, NavigationEnd } from '@angular/router';
|
|
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,
|
|
4
|
+
import { cn, ScSlider, buttonVariants, ScCalendar, ScCalendarHeader, ScCalendarHeading, ScCalendarNext, ScCalendarPrevious, SC_FIELD, SC_TIME_PICKER, ScPopoverProvider, ScButton, ScPopoverTrigger, ScPopoverPortal, ScPopover } from '@semantic-components/ui';
|
|
5
|
+
import { SiVolumeOffIcon, SiVolumeXIcon, SiVolume1Icon, SiVolume2Icon, SiCircleAlertIcon, SiCircleXIcon, SiScanBarcodeIcon, SiSquareIcon, SiSwitchCameraIcon, SiFlashlightIcon, SiPipetteIcon, SiChevronUpIcon, SiChevronDownIcon, SiChevronsUpDownIcon, SiSlidersVerticalIcon, SiChevronsLeftIcon, SiChevronLeftIcon, SiChevronRightIcon, SiChevronsRightIcon, SiCalendarIcon, SiXIcon, SiSmileIcon, SiLoaderCircleIcon, SiPlusIcon, SiZoomOutIcon, SiZoomInIcon, SiMinimize2Icon, SiCheckIcon, SiTriangleAlertIcon, SiMessageSquareIcon, SiInfoIcon, SiCircleCheckIcon, SiTrash2Icon, SiBellIcon, SiMinusIcon, 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 { _IdGenerator, CdkTrapFocus } from '@angular/cdk/a11y';
|
|
8
|
-
import * as i1 from '@angular/aria/listbox';
|
|
9
|
-
import { Option, Listbox } from '@angular/aria/listbox';
|
|
10
|
-
import * as i1$1 from '@angular/cdk/overlay';
|
|
11
|
-
import { Overlay, OverlayModule, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
12
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
13
8
|
import { Temporal } from '@js-temporal/polyfill';
|
|
14
9
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
10
|
+
import * as i1 from '@angular/cdk/overlay';
|
|
11
|
+
import { CdkOverlayOrigin, Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
15
12
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
16
13
|
import { filter } from 'rxjs';
|
|
17
|
-
import
|
|
14
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
15
|
+
import * as i1$1 from '@angular/aria/tree';
|
|
18
16
|
import { Tree, TreeItemGroup, TreeItem } from '@angular/aria/tree';
|
|
19
17
|
|
|
20
18
|
class ScStackedLayout {
|
|
@@ -546,8 +544,7 @@ class ScAudioPlayerProgress {
|
|
|
546
544
|
player = inject(SC_AUDIO_PLAYER);
|
|
547
545
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
548
546
|
class = computed(() => cn('flex items-center gap-2', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
549
|
-
onSeek(
|
|
550
|
-
const percent = +event.target.value;
|
|
547
|
+
onSeek(percent) {
|
|
551
548
|
this.player.seek((percent / 100) * this.player.duration());
|
|
552
549
|
}
|
|
553
550
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScAudioPlayerProgress, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -567,18 +564,16 @@ class ScAudioPlayerProgress {
|
|
|
567
564
|
aria-label="Seek"
|
|
568
565
|
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"
|
|
569
566
|
style="--muted: oklch(0 0 0 / 0.1)"
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
step="0.1"
|
|
567
|
+
[max]="100"
|
|
568
|
+
[step]="0.1"
|
|
573
569
|
[value]="player.progressPercent()"
|
|
574
|
-
|
|
575
|
-
(input)="onSeek($event)"
|
|
570
|
+
(valueChange)="onSeek($event)"
|
|
576
571
|
/>
|
|
577
572
|
</div>
|
|
578
573
|
<span class="text-muted-foreground w-10 text-xs">
|
|
579
574
|
{{ player.formatTime(player.duration()) }}
|
|
580
575
|
</span>
|
|
581
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
576
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["value", "min", "max", "step", "id", "class", "aria-describedby"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
582
577
|
}
|
|
583
578
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScAudioPlayerProgress, decorators: [{
|
|
584
579
|
type: Component,
|
|
@@ -601,12 +596,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
601
596
|
aria-label="Seek"
|
|
602
597
|
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"
|
|
603
598
|
style="--muted: oklch(0 0 0 / 0.1)"
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
step="0.1"
|
|
599
|
+
[max]="100"
|
|
600
|
+
[step]="0.1"
|
|
607
601
|
[value]="player.progressPercent()"
|
|
608
|
-
|
|
609
|
-
(input)="onSeek($event)"
|
|
602
|
+
(valueChange)="onSeek($event)"
|
|
610
603
|
/>
|
|
611
604
|
</div>
|
|
612
605
|
<span class="text-muted-foreground w-10 text-xs">
|
|
@@ -772,10 +765,6 @@ class ScAudioPlayerVolume {
|
|
|
772
765
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
773
766
|
iconButtonClass = cn(buttonVariants({ variant: 'ghost', size: 'sm' }), 'size-7 rounded-full');
|
|
774
767
|
class = computed(() => cn('flex items-center justify-center gap-2', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
775
|
-
onVolumeChange(event) {
|
|
776
|
-
const value = +event.target.value;
|
|
777
|
-
this.player.setVolume(value);
|
|
778
|
-
}
|
|
779
768
|
onMaxVolume() {
|
|
780
769
|
this.player.setVolume(1);
|
|
781
770
|
}
|
|
@@ -801,14 +790,12 @@ class ScAudioPlayerVolume {
|
|
|
801
790
|
<input
|
|
802
791
|
scSlider
|
|
803
792
|
class="w-24"
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
step="0.01"
|
|
793
|
+
[max]="1"
|
|
794
|
+
[step]="0.01"
|
|
807
795
|
aria-label="Volume"
|
|
808
796
|
[disabled]="player.isMuted()"
|
|
809
797
|
[value]="player.volume()"
|
|
810
|
-
|
|
811
|
-
(input)="onVolumeChange($event)"
|
|
798
|
+
(valueChange)="player.setVolume($event)"
|
|
812
799
|
/>
|
|
813
800
|
|
|
814
801
|
<button
|
|
@@ -819,7 +806,7 @@ class ScAudioPlayerVolume {
|
|
|
819
806
|
>
|
|
820
807
|
<svg siVolume2Icon class="pointer-events-none size-3.5"></svg>
|
|
821
808
|
</button>
|
|
822
|
-
`, 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 });
|
|
809
|
+
`, 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: ["value", "min", "max", "step", "id", "class", "aria-describedby"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
823
810
|
}
|
|
824
811
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScAudioPlayerVolume, decorators: [{
|
|
825
812
|
type: Component,
|
|
@@ -853,14 +840,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
853
840
|
<input
|
|
854
841
|
scSlider
|
|
855
842
|
class="w-24"
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
step="0.01"
|
|
843
|
+
[max]="1"
|
|
844
|
+
[step]="0.01"
|
|
859
845
|
aria-label="Volume"
|
|
860
846
|
[disabled]="player.isMuted()"
|
|
861
847
|
[value]="player.volume()"
|
|
862
|
-
|
|
863
|
-
(input)="onVolumeChange($event)"
|
|
848
|
+
(valueChange)="player.setVolume($event)"
|
|
864
849
|
/>
|
|
865
850
|
|
|
866
851
|
<button
|
|
@@ -1038,17 +1023,9 @@ class ScBarcodeScanner {
|
|
|
1038
1023
|
@if (!isSupported()) {
|
|
1039
1024
|
<div class="flex flex-col items-center justify-center p-8 text-center">
|
|
1040
1025
|
<svg
|
|
1041
|
-
|
|
1042
|
-
viewBox="0 0 24 24"
|
|
1043
|
-
fill="none"
|
|
1044
|
-
stroke="currentColor"
|
|
1045
|
-
stroke-width="2"
|
|
1026
|
+
siCircleAlertIcon
|
|
1046
1027
|
class="text-muted-foreground mb-4 size-12"
|
|
1047
|
-
>
|
|
1048
|
-
<circle cx="12" cy="12" r="10" />
|
|
1049
|
-
<line x1="12" x2="12" y1="8" y2="12" />
|
|
1050
|
-
<line x1="12" x2="12.01" y1="16" y2="16" />
|
|
1051
|
-
</svg>
|
|
1028
|
+
></svg>
|
|
1052
1029
|
<p class="mb-2 text-lg font-medium">Barcode Scanner Not Supported</p>
|
|
1053
1030
|
<p class="text-muted-foreground text-sm">
|
|
1054
1031
|
Your browser doesn't support the Barcode Detection API. Try using
|
|
@@ -1057,18 +1034,7 @@ class ScBarcodeScanner {
|
|
|
1057
1034
|
</div>
|
|
1058
1035
|
} @else if (error()) {
|
|
1059
1036
|
<div class="flex flex-col items-center justify-center p-8 text-center">
|
|
1060
|
-
<svg
|
|
1061
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1062
|
-
viewBox="0 0 24 24"
|
|
1063
|
-
fill="none"
|
|
1064
|
-
stroke="currentColor"
|
|
1065
|
-
stroke-width="2"
|
|
1066
|
-
class="text-destructive mb-4 size-12"
|
|
1067
|
-
>
|
|
1068
|
-
<circle cx="12" cy="12" r="10" />
|
|
1069
|
-
<line x1="15" x2="9" y1="9" y2="15" />
|
|
1070
|
-
<line x1="9" x2="15" y1="9" y2="15" />
|
|
1071
|
-
</svg>
|
|
1037
|
+
<svg siCircleXIcon class="text-destructive mb-4 size-12"></svg>
|
|
1072
1038
|
<p class="mb-2 text-lg font-medium">Camera Error</p>
|
|
1073
1039
|
<p class="text-muted-foreground mb-4 text-sm">{{ error() }}</p>
|
|
1074
1040
|
<button
|
|
@@ -1142,20 +1108,7 @@ class ScBarcodeScanner {
|
|
|
1142
1108
|
(click)="startScanning()"
|
|
1143
1109
|
class="bg-primary text-primary-foreground hover:bg-primary/90 inline-flex items-center gap-2 rounded-md px-4 py-2"
|
|
1144
1110
|
>
|
|
1145
|
-
<svg
|
|
1146
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1147
|
-
viewBox="0 0 24 24"
|
|
1148
|
-
fill="none"
|
|
1149
|
-
stroke="currentColor"
|
|
1150
|
-
stroke-width="2"
|
|
1151
|
-
class="size-4"
|
|
1152
|
-
>
|
|
1153
|
-
<path d="M3 7V5a2 2 0 0 1 2-2h2" />
|
|
1154
|
-
<path d="M17 3h2a2 2 0 0 1 2 2v2" />
|
|
1155
|
-
<path d="M21 17v2a2 2 0 0 1-2 2h-2" />
|
|
1156
|
-
<path d="M7 21H5a2 2 0 0 1-2-2v-2" />
|
|
1157
|
-
<rect width="10" height="8" x="7" y="8" rx="1" />
|
|
1158
|
-
</svg>
|
|
1111
|
+
<svg siScanBarcodeIcon class="size-4"></svg>
|
|
1159
1112
|
Start Scanning
|
|
1160
1113
|
</button>
|
|
1161
1114
|
} @else {
|
|
@@ -1164,16 +1117,7 @@ class ScBarcodeScanner {
|
|
|
1164
1117
|
(click)="stopScanning()"
|
|
1165
1118
|
class="hover:bg-accent inline-flex items-center gap-2 rounded-md border px-4 py-2"
|
|
1166
1119
|
>
|
|
1167
|
-
<svg
|
|
1168
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1169
|
-
viewBox="0 0 24 24"
|
|
1170
|
-
fill="none"
|
|
1171
|
-
stroke="currentColor"
|
|
1172
|
-
stroke-width="2"
|
|
1173
|
-
class="size-4"
|
|
1174
|
-
>
|
|
1175
|
-
<rect x="6" y="6" width="12" height="12" rx="2" />
|
|
1176
|
-
</svg>
|
|
1120
|
+
<svg siSquareIcon class="size-4"></svg>
|
|
1177
1121
|
Stop
|
|
1178
1122
|
</button>
|
|
1179
1123
|
}
|
|
@@ -1186,20 +1130,7 @@ class ScBarcodeScanner {
|
|
|
1186
1130
|
class="hover:bg-accent rounded-md border p-2"
|
|
1187
1131
|
aria-label="Switch camera"
|
|
1188
1132
|
>
|
|
1189
|
-
<svg
|
|
1190
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1191
|
-
viewBox="0 0 24 24"
|
|
1192
|
-
fill="none"
|
|
1193
|
-
stroke="currentColor"
|
|
1194
|
-
stroke-width="2"
|
|
1195
|
-
class="size-5"
|
|
1196
|
-
>
|
|
1197
|
-
<path d="M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5" />
|
|
1198
|
-
<path d="M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5" />
|
|
1199
|
-
<circle cx="12" cy="12" r="3" />
|
|
1200
|
-
<path d="m18 22-3-3 3-3" />
|
|
1201
|
-
<path d="m6 2 3 3-3 3" />
|
|
1202
|
-
</svg>
|
|
1133
|
+
<svg siSwitchCameraIcon class="size-5"></svg>
|
|
1203
1134
|
</button>
|
|
1204
1135
|
}
|
|
1205
1136
|
</div>
|
|
@@ -1216,45 +1147,31 @@ class ScBarcodeScanner {
|
|
|
1216
1147
|
"
|
|
1217
1148
|
aria-label="Toggle flashlight"
|
|
1218
1149
|
>
|
|
1219
|
-
<svg
|
|
1220
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1221
|
-
viewBox="0 0 24 24"
|
|
1222
|
-
fill="none"
|
|
1223
|
-
stroke="currentColor"
|
|
1224
|
-
stroke-width="2"
|
|
1225
|
-
class="size-5"
|
|
1226
|
-
>
|
|
1227
|
-
<path
|
|
1228
|
-
d="M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z"
|
|
1229
|
-
/>
|
|
1230
|
-
<line x1="6" x2="18" y1="6" y2="6" />
|
|
1231
|
-
<line x1="12" x2="12" y1="12" y2="12" />
|
|
1232
|
-
</svg>
|
|
1150
|
+
<svg siFlashlightIcon class="size-5"></svg>
|
|
1233
1151
|
</button>
|
|
1234
1152
|
}
|
|
1235
1153
|
</div>
|
|
1236
1154
|
}
|
|
1237
1155
|
</div>
|
|
1238
|
-
`, isInline: true, styles: ["@keyframes scan{0%,to{transform:translateY(0)}50%{transform:translateY(calc(100% - 2px))}}.animate-scan{animation:scan 2s ease-in-out infinite}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1156
|
+
`, isInline: true, styles: ["@keyframes scan{0%,to{transform:translateY(0)}50%{transform:translateY(calc(100% - 2px))}}.animate-scan{animation:scan 2s ease-in-out infinite}\n"], dependencies: [{ kind: "component", type: SiCircleAlertIcon, selector: "svg[siCircleAlertIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiCircleXIcon, selector: "svg[siCircleXIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiScanBarcodeIcon, selector: "svg[siScanBarcodeIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiSquareIcon, selector: "svg[siSquareIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiSwitchCameraIcon, selector: "svg[siSwitchCameraIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiFlashlightIcon, selector: "svg[siFlashlightIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1239
1157
|
}
|
|
1240
1158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScBarcodeScanner, decorators: [{
|
|
1241
1159
|
type: Component,
|
|
1242
|
-
args: [{ selector: 'sc-barcode-scanner',
|
|
1160
|
+
args: [{ selector: 'sc-barcode-scanner', imports: [
|
|
1161
|
+
SiCircleAlertIcon,
|
|
1162
|
+
SiCircleXIcon,
|
|
1163
|
+
SiScanBarcodeIcon,
|
|
1164
|
+
SiSquareIcon,
|
|
1165
|
+
SiSwitchCameraIcon,
|
|
1166
|
+
SiFlashlightIcon,
|
|
1167
|
+
], template: `
|
|
1243
1168
|
<div [class]="containerClass()">
|
|
1244
1169
|
@if (!isSupported()) {
|
|
1245
1170
|
<div class="flex flex-col items-center justify-center p-8 text-center">
|
|
1246
1171
|
<svg
|
|
1247
|
-
|
|
1248
|
-
viewBox="0 0 24 24"
|
|
1249
|
-
fill="none"
|
|
1250
|
-
stroke="currentColor"
|
|
1251
|
-
stroke-width="2"
|
|
1172
|
+
siCircleAlertIcon
|
|
1252
1173
|
class="text-muted-foreground mb-4 size-12"
|
|
1253
|
-
>
|
|
1254
|
-
<circle cx="12" cy="12" r="10" />
|
|
1255
|
-
<line x1="12" x2="12" y1="8" y2="12" />
|
|
1256
|
-
<line x1="12" x2="12.01" y1="16" y2="16" />
|
|
1257
|
-
</svg>
|
|
1174
|
+
></svg>
|
|
1258
1175
|
<p class="mb-2 text-lg font-medium">Barcode Scanner Not Supported</p>
|
|
1259
1176
|
<p class="text-muted-foreground text-sm">
|
|
1260
1177
|
Your browser doesn't support the Barcode Detection API. Try using
|
|
@@ -1263,18 +1180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
1263
1180
|
</div>
|
|
1264
1181
|
} @else if (error()) {
|
|
1265
1182
|
<div class="flex flex-col items-center justify-center p-8 text-center">
|
|
1266
|
-
<svg
|
|
1267
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1268
|
-
viewBox="0 0 24 24"
|
|
1269
|
-
fill="none"
|
|
1270
|
-
stroke="currentColor"
|
|
1271
|
-
stroke-width="2"
|
|
1272
|
-
class="text-destructive mb-4 size-12"
|
|
1273
|
-
>
|
|
1274
|
-
<circle cx="12" cy="12" r="10" />
|
|
1275
|
-
<line x1="15" x2="9" y1="9" y2="15" />
|
|
1276
|
-
<line x1="9" x2="15" y1="9" y2="15" />
|
|
1277
|
-
</svg>
|
|
1183
|
+
<svg siCircleXIcon class="text-destructive mb-4 size-12"></svg>
|
|
1278
1184
|
<p class="mb-2 text-lg font-medium">Camera Error</p>
|
|
1279
1185
|
<p class="text-muted-foreground mb-4 text-sm">{{ error() }}</p>
|
|
1280
1186
|
<button
|
|
@@ -1348,20 +1254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
1348
1254
|
(click)="startScanning()"
|
|
1349
1255
|
class="bg-primary text-primary-foreground hover:bg-primary/90 inline-flex items-center gap-2 rounded-md px-4 py-2"
|
|
1350
1256
|
>
|
|
1351
|
-
<svg
|
|
1352
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1353
|
-
viewBox="0 0 24 24"
|
|
1354
|
-
fill="none"
|
|
1355
|
-
stroke="currentColor"
|
|
1356
|
-
stroke-width="2"
|
|
1357
|
-
class="size-4"
|
|
1358
|
-
>
|
|
1359
|
-
<path d="M3 7V5a2 2 0 0 1 2-2h2" />
|
|
1360
|
-
<path d="M17 3h2a2 2 0 0 1 2 2v2" />
|
|
1361
|
-
<path d="M21 17v2a2 2 0 0 1-2 2h-2" />
|
|
1362
|
-
<path d="M7 21H5a2 2 0 0 1-2-2v-2" />
|
|
1363
|
-
<rect width="10" height="8" x="7" y="8" rx="1" />
|
|
1364
|
-
</svg>
|
|
1257
|
+
<svg siScanBarcodeIcon class="size-4"></svg>
|
|
1365
1258
|
Start Scanning
|
|
1366
1259
|
</button>
|
|
1367
1260
|
} @else {
|
|
@@ -1370,16 +1263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
1370
1263
|
(click)="stopScanning()"
|
|
1371
1264
|
class="hover:bg-accent inline-flex items-center gap-2 rounded-md border px-4 py-2"
|
|
1372
1265
|
>
|
|
1373
|
-
<svg
|
|
1374
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1375
|
-
viewBox="0 0 24 24"
|
|
1376
|
-
fill="none"
|
|
1377
|
-
stroke="currentColor"
|
|
1378
|
-
stroke-width="2"
|
|
1379
|
-
class="size-4"
|
|
1380
|
-
>
|
|
1381
|
-
<rect x="6" y="6" width="12" height="12" rx="2" />
|
|
1382
|
-
</svg>
|
|
1266
|
+
<svg siSquareIcon class="size-4"></svg>
|
|
1383
1267
|
Stop
|
|
1384
1268
|
</button>
|
|
1385
1269
|
}
|
|
@@ -1392,20 +1276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
1392
1276
|
class="hover:bg-accent rounded-md border p-2"
|
|
1393
1277
|
aria-label="Switch camera"
|
|
1394
1278
|
>
|
|
1395
|
-
<svg
|
|
1396
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1397
|
-
viewBox="0 0 24 24"
|
|
1398
|
-
fill="none"
|
|
1399
|
-
stroke="currentColor"
|
|
1400
|
-
stroke-width="2"
|
|
1401
|
-
class="size-5"
|
|
1402
|
-
>
|
|
1403
|
-
<path d="M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5" />
|
|
1404
|
-
<path d="M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5" />
|
|
1405
|
-
<circle cx="12" cy="12" r="3" />
|
|
1406
|
-
<path d="m18 22-3-3 3-3" />
|
|
1407
|
-
<path d="m6 2 3 3-3 3" />
|
|
1408
|
-
</svg>
|
|
1279
|
+
<svg siSwitchCameraIcon class="size-5"></svg>
|
|
1409
1280
|
</button>
|
|
1410
1281
|
}
|
|
1411
1282
|
</div>
|
|
@@ -1422,20 +1293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
1422
1293
|
"
|
|
1423
1294
|
aria-label="Toggle flashlight"
|
|
1424
1295
|
>
|
|
1425
|
-
<svg
|
|
1426
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1427
|
-
viewBox="0 0 24 24"
|
|
1428
|
-
fill="none"
|
|
1429
|
-
stroke="currentColor"
|
|
1430
|
-
stroke-width="2"
|
|
1431
|
-
class="size-5"
|
|
1432
|
-
>
|
|
1433
|
-
<path
|
|
1434
|
-
d="M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z"
|
|
1435
|
-
/>
|
|
1436
|
-
<line x1="6" x2="18" y1="6" y2="6" />
|
|
1437
|
-
<line x1="12" x2="12" y1="12" y2="12" />
|
|
1438
|
-
</svg>
|
|
1296
|
+
<svg siFlashlightIcon class="size-5"></svg>
|
|
1439
1297
|
</button>
|
|
1440
1298
|
}
|
|
1441
1299
|
</div>
|
|
@@ -3227,233 +3085,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
3227
3085
|
}]
|
|
3228
3086
|
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3229
3087
|
|
|
3230
|
-
class ScCommand {
|
|
3231
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3232
|
-
/** Current search/filter value */
|
|
3233
|
-
value = model('', ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
3234
|
-
class = computed(() => cn('flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3235
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommand, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3236
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScCommand, isStandalone: true, selector: "div[scCommand]", inputs: { 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" }, host: { attributes: { "data-slot": "command" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
3237
|
-
<ng-content />
|
|
3238
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3239
|
-
}
|
|
3240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommand, decorators: [{
|
|
3241
|
-
type: Component,
|
|
3242
|
-
args: [{
|
|
3243
|
-
selector: 'div[scCommand]',
|
|
3244
|
-
template: `
|
|
3245
|
-
<ng-content />
|
|
3246
|
-
`,
|
|
3247
|
-
host: {
|
|
3248
|
-
'data-slot': 'command',
|
|
3249
|
-
'[class]': 'class()',
|
|
3250
|
-
},
|
|
3251
|
-
encapsulation: ViewEncapsulation.None,
|
|
3252
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3253
|
-
}]
|
|
3254
|
-
}], propDecorators: { 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"] }] } });
|
|
3255
|
-
|
|
3256
|
-
class ScCommandEmpty {
|
|
3257
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3258
|
-
class = computed(() => cn('py-6 text-center text-sm', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3259
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3260
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandEmpty, isStandalone: true, selector: "div[scCommandEmpty]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-empty" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3261
|
-
}
|
|
3262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandEmpty, decorators: [{
|
|
3263
|
-
type: Directive,
|
|
3264
|
-
args: [{
|
|
3265
|
-
selector: 'div[scCommandEmpty]',
|
|
3266
|
-
host: {
|
|
3267
|
-
'data-slot': 'command-empty',
|
|
3268
|
-
'[class]': 'class()',
|
|
3269
|
-
},
|
|
3270
|
-
}]
|
|
3271
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3272
|
-
|
|
3273
|
-
class ScCommandGroup {
|
|
3274
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3275
|
-
heading = input('', ...(ngDevMode ? [{ debugName: "heading" }] : []));
|
|
3276
|
-
class = computed(() => cn('overflow-hidden p-1 text-foreground', '**:data-[slot=command-group-heading]:px-2 **:data-[slot=command-group-heading]:py-1.5 **:data-[slot=command-group-heading]:text-xs **:data-[slot=command-group-heading]:font-medium **:data-[slot=command-group-heading]:text-muted-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3277
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3278
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandGroup, isStandalone: true, selector: "div[scCommandGroup]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-group", "role": "group" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3279
|
-
}
|
|
3280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandGroup, decorators: [{
|
|
3281
|
-
type: Directive,
|
|
3282
|
-
args: [{
|
|
3283
|
-
selector: 'div[scCommandGroup]',
|
|
3284
|
-
host: {
|
|
3285
|
-
'data-slot': 'command-group',
|
|
3286
|
-
role: 'group',
|
|
3287
|
-
'[class]': 'class()',
|
|
3288
|
-
},
|
|
3289
|
-
}]
|
|
3290
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }] } });
|
|
3291
|
-
|
|
3292
|
-
class ScCommandGroupHeading {
|
|
3293
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3294
|
-
class = computed(() => cn('px-2 py-1.5 text-xs font-medium text-muted-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3295
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandGroupHeading, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3296
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandGroupHeading, isStandalone: true, selector: "[scCommandGroupHeading]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-group-heading" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3297
|
-
}
|
|
3298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandGroupHeading, decorators: [{
|
|
3299
|
-
type: Directive,
|
|
3300
|
-
args: [{
|
|
3301
|
-
selector: '[scCommandGroupHeading]',
|
|
3302
|
-
host: {
|
|
3303
|
-
'data-slot': 'command-group-heading',
|
|
3304
|
-
'[class]': 'class()',
|
|
3305
|
-
},
|
|
3306
|
-
}]
|
|
3307
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3308
|
-
|
|
3309
|
-
class ScCommandInput {
|
|
3310
|
-
command = inject(ScCommand);
|
|
3311
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3312
|
-
placeholder = input('Search...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
3313
|
-
class = computed(() => cn('flex items-center border-b px-3', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3314
|
-
inputClass = computed(() => cn('flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none', 'placeholder:text-muted-foreground', 'disabled:cursor-not-allowed disabled:opacity-50'), ...(ngDevMode ? [{ debugName: "inputClass" }] : []));
|
|
3315
|
-
onInput(event) {
|
|
3316
|
-
const input = event.target;
|
|
3317
|
-
this.command.value.set(input.value);
|
|
3318
|
-
}
|
|
3319
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3320
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandInput, isStandalone: true, selector: "div[scCommandInput]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-input" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
3321
|
-
<svg
|
|
3322
|
-
siSearchIcon
|
|
3323
|
-
class="mr-2 size-4 shrink-0 opacity-50"
|
|
3324
|
-
aria-hidden="true"
|
|
3325
|
-
></svg>
|
|
3326
|
-
<input
|
|
3327
|
-
type="text"
|
|
3328
|
-
[class]="inputClass()"
|
|
3329
|
-
[placeholder]="placeholder()"
|
|
3330
|
-
[value]="command.value()"
|
|
3331
|
-
(input)="onInput($event)"
|
|
3332
|
-
/>
|
|
3333
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SiSearchIcon, selector: "svg[siSearchIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3334
|
-
}
|
|
3335
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandInput, decorators: [{
|
|
3336
|
-
type: Component,
|
|
3337
|
-
args: [{
|
|
3338
|
-
selector: 'div[scCommandInput]',
|
|
3339
|
-
imports: [SiSearchIcon],
|
|
3340
|
-
template: `
|
|
3341
|
-
<svg
|
|
3342
|
-
siSearchIcon
|
|
3343
|
-
class="mr-2 size-4 shrink-0 opacity-50"
|
|
3344
|
-
aria-hidden="true"
|
|
3345
|
-
></svg>
|
|
3346
|
-
<input
|
|
3347
|
-
type="text"
|
|
3348
|
-
[class]="inputClass()"
|
|
3349
|
-
[placeholder]="placeholder()"
|
|
3350
|
-
[value]="command.value()"
|
|
3351
|
-
(input)="onInput($event)"
|
|
3352
|
-
/>
|
|
3353
|
-
`,
|
|
3354
|
-
host: {
|
|
3355
|
-
'data-slot': 'command-input',
|
|
3356
|
-
'[class]': 'class()',
|
|
3357
|
-
},
|
|
3358
|
-
encapsulation: ViewEncapsulation.None,
|
|
3359
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3360
|
-
}]
|
|
3361
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
|
|
3362
|
-
|
|
3363
|
-
class ScCommandItem {
|
|
3364
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3365
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
3366
|
-
select = output();
|
|
3367
|
-
option = inject(Option);
|
|
3368
|
-
elementRef = inject(ElementRef);
|
|
3369
|
-
constructor() {
|
|
3370
|
-
effect(() => {
|
|
3371
|
-
if (this.option.active()) {
|
|
3372
|
-
this.elementRef.nativeElement.scrollIntoView({ block: 'nearest' });
|
|
3373
|
-
}
|
|
3374
|
-
});
|
|
3375
|
-
}
|
|
3376
|
-
class = computed(() => cn('relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none', 'data-disabled:pointer-events-none data-disabled:opacity-50', 'data-[active=true]:bg-accent data-[active=true]:text-accent-foreground', 'hover:bg-accent hover:text-accent-foreground', '[&>svg]:size-4 [&>svg]:shrink-0', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3377
|
-
onClick() {
|
|
3378
|
-
if (!this.disabled()) {
|
|
3379
|
-
this.select.emit();
|
|
3380
|
-
}
|
|
3381
|
-
}
|
|
3382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3383
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandItem, isStandalone: true, selector: "div[scCommandItem]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select" }, host: { attributes: { "data-slot": "command-item" }, listeners: { "click": "onClick()" }, properties: { "attr.data-disabled": "disabled() || null", "class": "class()" } }, hostDirectives: [{ directive: i1.Option, inputs: ["value", "value", "label", "label"] }], ngImport: i0 });
|
|
3384
|
-
}
|
|
3385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandItem, decorators: [{
|
|
3386
|
-
type: Directive,
|
|
3387
|
-
args: [{
|
|
3388
|
-
selector: 'div[scCommandItem]',
|
|
3389
|
-
hostDirectives: [
|
|
3390
|
-
{
|
|
3391
|
-
directive: Option,
|
|
3392
|
-
inputs: ['value', 'label'],
|
|
3393
|
-
},
|
|
3394
|
-
],
|
|
3395
|
-
host: {
|
|
3396
|
-
'data-slot': 'command-item',
|
|
3397
|
-
'[attr.data-disabled]': 'disabled() || null',
|
|
3398
|
-
'[class]': 'class()',
|
|
3399
|
-
'(click)': 'onClick()',
|
|
3400
|
-
},
|
|
3401
|
-
}]
|
|
3402
|
-
}], ctorParameters: () => [], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], select: [{ type: i0.Output, args: ["select"] }] } });
|
|
3403
|
-
|
|
3404
|
-
class ScCommandList {
|
|
3405
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3406
|
-
class = computed(() => cn('max-h-[300px] overflow-y-auto overflow-x-hidden', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3407
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3408
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandList, isStandalone: true, selector: "div[scCommandList]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-list" }, properties: { "class": "class()" } }, hostDirectives: [{ directive: i1.Listbox }], ngImport: i0 });
|
|
3409
|
-
}
|
|
3410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandList, decorators: [{
|
|
3411
|
-
type: Directive,
|
|
3412
|
-
args: [{
|
|
3413
|
-
selector: 'div[scCommandList]',
|
|
3414
|
-
hostDirectives: [Listbox],
|
|
3415
|
-
host: {
|
|
3416
|
-
'data-slot': 'command-list',
|
|
3417
|
-
'[class]': 'class()',
|
|
3418
|
-
},
|
|
3419
|
-
}]
|
|
3420
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3421
|
-
|
|
3422
|
-
class ScCommandSeparator {
|
|
3423
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3424
|
-
class = computed(() => cn('-mx-1 h-px bg-border', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3425
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3426
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandSeparator, isStandalone: true, selector: "[scCommandSeparator]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-separator", "role": "separator" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3427
|
-
}
|
|
3428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandSeparator, decorators: [{
|
|
3429
|
-
type: Directive,
|
|
3430
|
-
args: [{
|
|
3431
|
-
selector: '[scCommandSeparator]',
|
|
3432
|
-
host: {
|
|
3433
|
-
'data-slot': 'command-separator',
|
|
3434
|
-
role: 'separator',
|
|
3435
|
-
'[class]': 'class()',
|
|
3436
|
-
},
|
|
3437
|
-
}]
|
|
3438
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3439
|
-
|
|
3440
|
-
class ScCommandShortcut {
|
|
3441
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3442
|
-
class = computed(() => cn('ml-auto text-xs tracking-widest text-muted-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3443
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3444
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScCommandShortcut, isStandalone: true, selector: "[scCommandShortcut]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-shortcut" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3445
|
-
}
|
|
3446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScCommandShortcut, decorators: [{
|
|
3447
|
-
type: Directive,
|
|
3448
|
-
args: [{
|
|
3449
|
-
selector: '[scCommandShortcut]',
|
|
3450
|
-
host: {
|
|
3451
|
-
'data-slot': 'command-shortcut',
|
|
3452
|
-
'[class]': 'class()',
|
|
3453
|
-
},
|
|
3454
|
-
}]
|
|
3455
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3456
|
-
|
|
3457
3088
|
const DEFAULT_CONFETTI_OPTIONS = {
|
|
3458
3089
|
particleCount: 100,
|
|
3459
3090
|
spread: 70,
|
|
@@ -3651,427 +3282,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
3651
3282
|
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}\n"] }]
|
|
3652
3283
|
}], ctorParameters: () => [], propDecorators: { canvasRef: [{ type: i0.ViewChild, args: ['canvas', { isSignal: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], complete: [{ type: i0.Output, args: ["complete"] }] } });
|
|
3653
3284
|
|
|
3654
|
-
class ScContextMenuContent {
|
|
3655
|
-
contextMenu = inject(ScContextMenu);
|
|
3656
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3657
|
-
templateRef;
|
|
3658
|
-
class = computed(() => cn('z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md', 'animate-in fade-in-0 zoom-in-95', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3659
|
-
onKeydown(event) {
|
|
3660
|
-
if (event.key === 'Escape') {
|
|
3661
|
-
this.contextMenu.closeMenu();
|
|
3662
|
-
}
|
|
3663
|
-
}
|
|
3664
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3665
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuContent, isStandalone: true, selector: "sc-context-menu-content", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["contentTemplate"], descendants: true, static: true }], ngImport: i0, template: `
|
|
3666
|
-
<ng-template #contentTemplate>
|
|
3667
|
-
<div [class]="class()" role="menu" (keydown)="onKeydown($event)">
|
|
3668
|
-
<ng-content />
|
|
3669
|
-
</div>
|
|
3670
|
-
</ng-template>
|
|
3671
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3672
|
-
}
|
|
3673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuContent, decorators: [{
|
|
3674
|
-
type: Component,
|
|
3675
|
-
args: [{
|
|
3676
|
-
selector: 'sc-context-menu-content',
|
|
3677
|
-
template: `
|
|
3678
|
-
<ng-template #contentTemplate>
|
|
3679
|
-
<div [class]="class()" role="menu" (keydown)="onKeydown($event)">
|
|
3680
|
-
<ng-content />
|
|
3681
|
-
</div>
|
|
3682
|
-
</ng-template>
|
|
3683
|
-
`,
|
|
3684
|
-
encapsulation: ViewEncapsulation.None,
|
|
3685
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3686
|
-
}]
|
|
3687
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], templateRef: [{
|
|
3688
|
-
type: ViewChild,
|
|
3689
|
-
args: ['contentTemplate', { static: true }]
|
|
3690
|
-
}] } });
|
|
3691
|
-
|
|
3692
|
-
class ScContextMenu {
|
|
3693
|
-
overlay = inject(Overlay);
|
|
3694
|
-
viewContainerRef = inject(ViewContainerRef);
|
|
3695
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3696
|
-
/** Whether the context menu is open */
|
|
3697
|
-
open = signal(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
3698
|
-
/** Position where the context menu should appear */
|
|
3699
|
-
position = signal({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
3700
|
-
overlayRef = null;
|
|
3701
|
-
contentChild = contentChild(ScContextMenuContent, ...(ngDevMode ? [{ debugName: "contentChild" }] : []));
|
|
3702
|
-
class = computed(() => cn('relative', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3703
|
-
openAt(x, y, template) {
|
|
3704
|
-
this.closeMenu();
|
|
3705
|
-
this.position.set({ x, y });
|
|
3706
|
-
this.overlayRef = this.overlay.create({
|
|
3707
|
-
positionStrategy: this.overlay
|
|
3708
|
-
.position()
|
|
3709
|
-
.flexibleConnectedTo({ x, y })
|
|
3710
|
-
.withPositions([
|
|
3711
|
-
{
|
|
3712
|
-
originX: 'start',
|
|
3713
|
-
originY: 'bottom',
|
|
3714
|
-
overlayX: 'start',
|
|
3715
|
-
overlayY: 'top',
|
|
3716
|
-
},
|
|
3717
|
-
{
|
|
3718
|
-
originX: 'start',
|
|
3719
|
-
originY: 'top',
|
|
3720
|
-
overlayX: 'start',
|
|
3721
|
-
overlayY: 'bottom',
|
|
3722
|
-
},
|
|
3723
|
-
{
|
|
3724
|
-
originX: 'end',
|
|
3725
|
-
originY: 'bottom',
|
|
3726
|
-
overlayX: 'end',
|
|
3727
|
-
overlayY: 'top',
|
|
3728
|
-
},
|
|
3729
|
-
{
|
|
3730
|
-
originX: 'end',
|
|
3731
|
-
originY: 'top',
|
|
3732
|
-
overlayX: 'end',
|
|
3733
|
-
overlayY: 'bottom',
|
|
3734
|
-
},
|
|
3735
|
-
]),
|
|
3736
|
-
scrollStrategy: this.overlay.scrollStrategies.close(),
|
|
3737
|
-
hasBackdrop: true,
|
|
3738
|
-
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
3739
|
-
});
|
|
3740
|
-
const portal = new TemplatePortal(template, this.viewContainerRef);
|
|
3741
|
-
this.overlayRef.attach(portal);
|
|
3742
|
-
this.open.set(true);
|
|
3743
|
-
this.overlayRef.backdropClick().subscribe(() => this.closeMenu());
|
|
3744
|
-
this.overlayRef.keydownEvents().subscribe((event) => {
|
|
3745
|
-
if (event.key === 'Escape') {
|
|
3746
|
-
this.closeMenu();
|
|
3747
|
-
}
|
|
3748
|
-
});
|
|
3749
|
-
}
|
|
3750
|
-
closeMenu() {
|
|
3751
|
-
if (this.overlayRef) {
|
|
3752
|
-
this.overlayRef.dispose();
|
|
3753
|
-
this.overlayRef = null;
|
|
3754
|
-
}
|
|
3755
|
-
this.open.set(false);
|
|
3756
|
-
}
|
|
3757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3758
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.1", type: ScContextMenu, isStandalone: true, selector: "div[scContextMenu]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu" }, properties: { "class": "class()" } }, queries: [{ propertyName: "contentChild", first: true, predicate: ScContextMenuContent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
3759
|
-
<ng-content />
|
|
3760
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3761
|
-
}
|
|
3762
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenu, decorators: [{
|
|
3763
|
-
type: Component,
|
|
3764
|
-
args: [{
|
|
3765
|
-
selector: 'div[scContextMenu]',
|
|
3766
|
-
template: `
|
|
3767
|
-
<ng-content />
|
|
3768
|
-
`,
|
|
3769
|
-
host: {
|
|
3770
|
-
'data-slot': 'context-menu',
|
|
3771
|
-
'[class]': 'class()',
|
|
3772
|
-
},
|
|
3773
|
-
encapsulation: ViewEncapsulation.None,
|
|
3774
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3775
|
-
}]
|
|
3776
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], contentChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ScContextMenuContent), { isSignal: true }] }] } });
|
|
3777
|
-
|
|
3778
|
-
class ScContextMenuItem {
|
|
3779
|
-
contextMenu = inject(ScContextMenu);
|
|
3780
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3781
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
3782
|
-
closeOnSelect = input(true, ...(ngDevMode ? [{ debugName: "closeOnSelect" }] : []));
|
|
3783
|
-
select = output();
|
|
3784
|
-
class = computed(() => cn('relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none', 'focus:bg-accent focus:text-accent-foreground', 'data-disabled:pointer-events-none data-disabled:opacity-50', '[&>svg]:size-4 [&>svg]:shrink-0', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3785
|
-
onClick() {
|
|
3786
|
-
if (this.disabled())
|
|
3787
|
-
return;
|
|
3788
|
-
this.select.emit();
|
|
3789
|
-
if (this.closeOnSelect()) {
|
|
3790
|
-
this.contextMenu.closeMenu();
|
|
3791
|
-
}
|
|
3792
|
-
}
|
|
3793
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3794
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuItem, isStandalone: true, selector: "[scContextMenuItem]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "closeOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select" }, host: { attributes: { "data-slot": "context-menu-item", "role": "menuitem", "tabindex": "-1" }, listeners: { "click": "onClick()", "keydown.enter": "onClick()", "keydown.space": "onClick()" }, properties: { "class": "class()", "attr.data-disabled": "disabled() || null" } }, ngImport: i0 });
|
|
3795
|
-
}
|
|
3796
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuItem, decorators: [{
|
|
3797
|
-
type: Directive,
|
|
3798
|
-
args: [{
|
|
3799
|
-
selector: '[scContextMenuItem]',
|
|
3800
|
-
host: {
|
|
3801
|
-
'data-slot': 'context-menu-item',
|
|
3802
|
-
role: 'menuitem',
|
|
3803
|
-
tabindex: '-1',
|
|
3804
|
-
'[class]': 'class()',
|
|
3805
|
-
'[attr.data-disabled]': 'disabled() || null',
|
|
3806
|
-
'(click)': 'onClick()',
|
|
3807
|
-
'(keydown.enter)': 'onClick()',
|
|
3808
|
-
'(keydown.space)': 'onClick()',
|
|
3809
|
-
},
|
|
3810
|
-
}]
|
|
3811
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], closeOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnSelect", required: false }] }], select: [{ type: i0.Output, args: ["select"] }] } });
|
|
3812
|
-
|
|
3813
|
-
class ScContextMenuLabel {
|
|
3814
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3815
|
-
inset = input(false, ...(ngDevMode ? [{ debugName: "inset" }] : []));
|
|
3816
|
-
class = computed(() => cn('px-2 py-1.5 text-sm font-semibold', this.inset() && 'pl-8', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3817
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3818
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuLabel, isStandalone: true, selector: "[scContextMenuLabel]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-label" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3819
|
-
}
|
|
3820
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuLabel, decorators: [{
|
|
3821
|
-
type: Directive,
|
|
3822
|
-
args: [{
|
|
3823
|
-
selector: '[scContextMenuLabel]',
|
|
3824
|
-
host: {
|
|
3825
|
-
'data-slot': 'context-menu-label',
|
|
3826
|
-
'[class]': 'class()',
|
|
3827
|
-
},
|
|
3828
|
-
}]
|
|
3829
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }] } });
|
|
3830
|
-
|
|
3831
|
-
class ScContextMenuSeparator {
|
|
3832
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3833
|
-
class = computed(() => cn('-mx-1 my-1 h-px bg-border', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3835
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuSeparator, isStandalone: true, selector: "[scContextMenuSeparator]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-separator", "role": "separator" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3836
|
-
}
|
|
3837
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSeparator, decorators: [{
|
|
3838
|
-
type: Directive,
|
|
3839
|
-
args: [{
|
|
3840
|
-
selector: '[scContextMenuSeparator]',
|
|
3841
|
-
host: {
|
|
3842
|
-
'data-slot': 'context-menu-separator',
|
|
3843
|
-
role: 'separator',
|
|
3844
|
-
'[class]': 'class()',
|
|
3845
|
-
},
|
|
3846
|
-
}]
|
|
3847
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3848
|
-
|
|
3849
|
-
class ScContextMenuShortcut {
|
|
3850
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3851
|
-
class = computed(() => cn('ml-auto text-xs tracking-widest text-muted-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3852
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3853
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuShortcut, isStandalone: true, selector: "[scContextMenuShortcut]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-shortcut" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
3854
|
-
}
|
|
3855
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuShortcut, decorators: [{
|
|
3856
|
-
type: Directive,
|
|
3857
|
-
args: [{
|
|
3858
|
-
selector: '[scContextMenuShortcut]',
|
|
3859
|
-
host: {
|
|
3860
|
-
'data-slot': 'context-menu-shortcut',
|
|
3861
|
-
'[class]': 'class()',
|
|
3862
|
-
},
|
|
3863
|
-
}]
|
|
3864
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3865
|
-
|
|
3866
|
-
class ScContextMenuSub {
|
|
3867
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3868
|
-
/** Whether the submenu is open */
|
|
3869
|
-
open = signal(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
3870
|
-
/** Overlay origin registered by the sub-trigger */
|
|
3871
|
-
overlayOrigin = null;
|
|
3872
|
-
/** Cancel hide function registered by the sub-trigger */
|
|
3873
|
-
cancelTriggerHide = null;
|
|
3874
|
-
class = computed(() => cn('relative', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3875
|
-
show() {
|
|
3876
|
-
this.open.set(true);
|
|
3877
|
-
}
|
|
3878
|
-
hide() {
|
|
3879
|
-
this.open.set(false);
|
|
3880
|
-
}
|
|
3881
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSub, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3882
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuSub, isStandalone: true, selector: "div[scContextMenuSub]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-sub" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
3883
|
-
<ng-content />
|
|
3884
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3885
|
-
}
|
|
3886
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSub, decorators: [{
|
|
3887
|
-
type: Component,
|
|
3888
|
-
args: [{
|
|
3889
|
-
selector: 'div[scContextMenuSub]',
|
|
3890
|
-
template: `
|
|
3891
|
-
<ng-content />
|
|
3892
|
-
`,
|
|
3893
|
-
host: {
|
|
3894
|
-
'data-slot': 'context-menu-sub',
|
|
3895
|
-
'[class]': 'class()',
|
|
3896
|
-
},
|
|
3897
|
-
encapsulation: ViewEncapsulation.None,
|
|
3898
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3899
|
-
}]
|
|
3900
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3901
|
-
|
|
3902
|
-
const positions = [
|
|
3903
|
-
{
|
|
3904
|
-
originX: 'end',
|
|
3905
|
-
originY: 'top',
|
|
3906
|
-
overlayX: 'start',
|
|
3907
|
-
overlayY: 'top',
|
|
3908
|
-
offsetX: 4,
|
|
3909
|
-
},
|
|
3910
|
-
{
|
|
3911
|
-
originX: 'start',
|
|
3912
|
-
originY: 'top',
|
|
3913
|
-
overlayX: 'end',
|
|
3914
|
-
overlayY: 'top',
|
|
3915
|
-
offsetX: -4,
|
|
3916
|
-
},
|
|
3917
|
-
];
|
|
3918
|
-
class ScContextMenuSubContent {
|
|
3919
|
-
submenu = inject(ScContextMenuSub);
|
|
3920
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3921
|
-
positions = positions;
|
|
3922
|
-
class = computed(() => cn('', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3923
|
-
contentClass = computed(() => cn('z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg', this.submenu.open()
|
|
3924
|
-
? 'opacity-100 scale-100 transition-[opacity,transform] duration-150 ease-out'
|
|
3925
|
-
: 'opacity-0 scale-95 transition-[opacity,transform] duration-150 ease-in'), ...(ngDevMode ? [{ debugName: "contentClass" }] : []));
|
|
3926
|
-
onMouseEnter() {
|
|
3927
|
-
this.submenu.cancelTriggerHide?.();
|
|
3928
|
-
}
|
|
3929
|
-
onMouseLeave() {
|
|
3930
|
-
this.submenu.hide();
|
|
3931
|
-
}
|
|
3932
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSubContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3933
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuSubContent, isStandalone: true, selector: "div[scContextMenuSubContent]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-sub-content" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
3934
|
-
<ng-template
|
|
3935
|
-
cdkConnectedOverlay
|
|
3936
|
-
[cdkConnectedOverlayOrigin]="submenu.overlayOrigin!"
|
|
3937
|
-
[cdkConnectedOverlayOpen]="submenu.open()"
|
|
3938
|
-
[cdkConnectedOverlayPositions]="positions"
|
|
3939
|
-
>
|
|
3940
|
-
<div
|
|
3941
|
-
[class]="contentClass()"
|
|
3942
|
-
role="menu"
|
|
3943
|
-
(mouseenter)="onMouseEnter()"
|
|
3944
|
-
(mouseleave)="onMouseLeave()"
|
|
3945
|
-
>
|
|
3946
|
-
<ng-content />
|
|
3947
|
-
</div>
|
|
3948
|
-
</ng-template>
|
|
3949
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3950
|
-
}
|
|
3951
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSubContent, decorators: [{
|
|
3952
|
-
type: Component,
|
|
3953
|
-
args: [{
|
|
3954
|
-
selector: 'div[scContextMenuSubContent]',
|
|
3955
|
-
imports: [OverlayModule],
|
|
3956
|
-
template: `
|
|
3957
|
-
<ng-template
|
|
3958
|
-
cdkConnectedOverlay
|
|
3959
|
-
[cdkConnectedOverlayOrigin]="submenu.overlayOrigin!"
|
|
3960
|
-
[cdkConnectedOverlayOpen]="submenu.open()"
|
|
3961
|
-
[cdkConnectedOverlayPositions]="positions"
|
|
3962
|
-
>
|
|
3963
|
-
<div
|
|
3964
|
-
[class]="contentClass()"
|
|
3965
|
-
role="menu"
|
|
3966
|
-
(mouseenter)="onMouseEnter()"
|
|
3967
|
-
(mouseleave)="onMouseLeave()"
|
|
3968
|
-
>
|
|
3969
|
-
<ng-content />
|
|
3970
|
-
</div>
|
|
3971
|
-
</ng-template>
|
|
3972
|
-
`,
|
|
3973
|
-
host: {
|
|
3974
|
-
'data-slot': 'context-menu-sub-content',
|
|
3975
|
-
'[class]': 'class()',
|
|
3976
|
-
},
|
|
3977
|
-
encapsulation: ViewEncapsulation.None,
|
|
3978
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3979
|
-
}]
|
|
3980
|
-
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
3981
|
-
|
|
3982
|
-
class ScContextMenuSubTrigger {
|
|
3983
|
-
submenu = inject(ScContextMenuSub);
|
|
3984
|
-
overlayOrigin = inject(CdkOverlayOrigin);
|
|
3985
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
3986
|
-
constructor() {
|
|
3987
|
-
this.submenu.overlayOrigin = this.overlayOrigin;
|
|
3988
|
-
this.submenu.cancelTriggerHide = () => this.cancelHide();
|
|
3989
|
-
}
|
|
3990
|
-
showTimeout = null;
|
|
3991
|
-
hideTimeout = null;
|
|
3992
|
-
class = computed(() => cn('flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none', 'focus:bg-accent focus:text-accent-foreground', 'data-[state=open]:bg-accent data-[state=open]:text-accent-foreground', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
3993
|
-
onMouseEnter() {
|
|
3994
|
-
this.cancelHide();
|
|
3995
|
-
this.showTimeout = setTimeout(() => {
|
|
3996
|
-
this.submenu.show();
|
|
3997
|
-
}, 100);
|
|
3998
|
-
}
|
|
3999
|
-
onMouseLeave() {
|
|
4000
|
-
this.cancelShow();
|
|
4001
|
-
this.hideTimeout = setTimeout(() => {
|
|
4002
|
-
this.submenu.hide();
|
|
4003
|
-
}, 100);
|
|
4004
|
-
}
|
|
4005
|
-
cancelShow() {
|
|
4006
|
-
if (this.showTimeout) {
|
|
4007
|
-
clearTimeout(this.showTimeout);
|
|
4008
|
-
this.showTimeout = null;
|
|
4009
|
-
}
|
|
4010
|
-
}
|
|
4011
|
-
cancelHide() {
|
|
4012
|
-
if (this.hideTimeout) {
|
|
4013
|
-
clearTimeout(this.hideTimeout);
|
|
4014
|
-
this.hideTimeout = null;
|
|
4015
|
-
}
|
|
4016
|
-
}
|
|
4017
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSubTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4018
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScContextMenuSubTrigger, isStandalone: true, selector: "div[scContextMenuSubTrigger]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-sub-trigger", "role": "menuitem", "aria-haspopup": "menu" }, listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "attr.aria-expanded": "submenu.open()", "attr.data-state": "submenu.open() ? \"open\" : \"closed\"", "class": "class()" } }, hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }], ngImport: i0, template: `
|
|
4019
|
-
<ng-content />
|
|
4020
|
-
<svg siChevronRightIcon class="ml-auto size-4" aria-hidden="true"></svg>
|
|
4021
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SiChevronRightIcon, selector: "svg[siChevronRightIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
4022
|
-
}
|
|
4023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuSubTrigger, decorators: [{
|
|
4024
|
-
type: Component,
|
|
4025
|
-
args: [{
|
|
4026
|
-
selector: 'div[scContextMenuSubTrigger]',
|
|
4027
|
-
imports: [SiChevronRightIcon],
|
|
4028
|
-
hostDirectives: [CdkOverlayOrigin],
|
|
4029
|
-
template: `
|
|
4030
|
-
<ng-content />
|
|
4031
|
-
<svg siChevronRightIcon class="ml-auto size-4" aria-hidden="true"></svg>
|
|
4032
|
-
`,
|
|
4033
|
-
host: {
|
|
4034
|
-
'data-slot': 'context-menu-sub-trigger',
|
|
4035
|
-
role: 'menuitem',
|
|
4036
|
-
'aria-haspopup': 'menu',
|
|
4037
|
-
'[attr.aria-expanded]': 'submenu.open()',
|
|
4038
|
-
'[attr.data-state]': 'submenu.open() ? "open" : "closed"',
|
|
4039
|
-
'[class]': 'class()',
|
|
4040
|
-
'(mouseenter)': 'onMouseEnter()',
|
|
4041
|
-
'(mouseleave)': 'onMouseLeave()',
|
|
4042
|
-
},
|
|
4043
|
-
encapsulation: ViewEncapsulation.None,
|
|
4044
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4045
|
-
}]
|
|
4046
|
-
}], ctorParameters: () => [], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
4047
|
-
|
|
4048
|
-
class ScContextMenuTrigger {
|
|
4049
|
-
contextMenu = inject(ScContextMenu);
|
|
4050
|
-
contentChild = contentChild(ScContextMenuContent, ...(ngDevMode ? [{ debugName: "contentChild" }] : []));
|
|
4051
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
4052
|
-
class = computed(() => cn('', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
4053
|
-
onContextMenu(event) {
|
|
4054
|
-
event.preventDefault();
|
|
4055
|
-
const content = this.contentChild();
|
|
4056
|
-
if (content?.templateRef) {
|
|
4057
|
-
this.contextMenu.openAt(event.clientX, event.clientY, content.templateRef);
|
|
4058
|
-
}
|
|
4059
|
-
}
|
|
4060
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4061
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.1", type: ScContextMenuTrigger, isStandalone: true, selector: "[scContextMenuTrigger]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-trigger" }, listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class": "class()" } }, queries: [{ propertyName: "contentChild", first: true, predicate: ScContextMenuContent, descendants: true, isSignal: true }], ngImport: i0 });
|
|
4062
|
-
}
|
|
4063
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScContextMenuTrigger, decorators: [{
|
|
4064
|
-
type: Directive,
|
|
4065
|
-
args: [{
|
|
4066
|
-
selector: '[scContextMenuTrigger]',
|
|
4067
|
-
host: {
|
|
4068
|
-
'data-slot': 'context-menu-trigger',
|
|
4069
|
-
'[class]': 'class()',
|
|
4070
|
-
'(contextmenu)': 'onContextMenu($event)',
|
|
4071
|
-
},
|
|
4072
|
-
}]
|
|
4073
|
-
}], propDecorators: { contentChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ScContextMenuContent), { isSignal: true }] }], classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
4074
|
-
|
|
4075
3285
|
class ScCountdown {
|
|
4076
3286
|
destroyRef = inject(DestroyRef);
|
|
4077
3287
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
@@ -5145,29 +4355,143 @@ class ScDateRangePicker {
|
|
|
5145
4355
|
<div class="p-3">
|
|
5146
4356
|
@if (showTwoMonths()) {
|
|
5147
4357
|
<div class="flex gap-4">
|
|
5148
|
-
<
|
|
4358
|
+
<div
|
|
4359
|
+
scCalendar
|
|
5149
4360
|
mode="range"
|
|
5150
4361
|
[(value)]="value"
|
|
5151
4362
|
[minDate]="minDate()"
|
|
5152
4363
|
[maxDate]="maxDate()"
|
|
5153
4364
|
[disabled]="disabledDates()"
|
|
5154
|
-
|
|
5155
|
-
|
|
4365
|
+
#cal1="scCalendar"
|
|
4366
|
+
>
|
|
4367
|
+
<div scCalendarHeader>
|
|
4368
|
+
<button scCalendarPrevious>
|
|
4369
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4370
|
+
<span class="sr-only">
|
|
4371
|
+
@switch (cal1.viewMode()) {
|
|
4372
|
+
@case ('day') {
|
|
4373
|
+
Go to previous month
|
|
4374
|
+
}
|
|
4375
|
+
@case ('month') {
|
|
4376
|
+
Go to previous year
|
|
4377
|
+
}
|
|
4378
|
+
@case ('year') {
|
|
4379
|
+
Go to previous decade
|
|
4380
|
+
}
|
|
4381
|
+
}
|
|
4382
|
+
</span>
|
|
4383
|
+
</button>
|
|
4384
|
+
<button scCalendarHeading>{{ cal1.heading() }}</button>
|
|
4385
|
+
<button scCalendarNext>
|
|
4386
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4387
|
+
<span class="sr-only">
|
|
4388
|
+
@switch (cal1.viewMode()) {
|
|
4389
|
+
@case ('day') {
|
|
4390
|
+
Go to next month
|
|
4391
|
+
}
|
|
4392
|
+
@case ('month') {
|
|
4393
|
+
Go to next year
|
|
4394
|
+
}
|
|
4395
|
+
@case ('year') {
|
|
4396
|
+
Go to next decade
|
|
4397
|
+
}
|
|
4398
|
+
}
|
|
4399
|
+
</span>
|
|
4400
|
+
</button>
|
|
4401
|
+
</div>
|
|
4402
|
+
</div>
|
|
4403
|
+
<div
|
|
4404
|
+
scCalendar
|
|
5156
4405
|
mode="range"
|
|
5157
4406
|
[(value)]="value"
|
|
5158
4407
|
[minDate]="minDate()"
|
|
5159
4408
|
[maxDate]="maxDate()"
|
|
5160
4409
|
[disabled]="disabledDates()"
|
|
5161
|
-
|
|
4410
|
+
#cal2="scCalendar"
|
|
4411
|
+
>
|
|
4412
|
+
<div scCalendarHeader>
|
|
4413
|
+
<button scCalendarPrevious>
|
|
4414
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4415
|
+
<span class="sr-only">
|
|
4416
|
+
@switch (cal2.viewMode()) {
|
|
4417
|
+
@case ('day') {
|
|
4418
|
+
Go to previous month
|
|
4419
|
+
}
|
|
4420
|
+
@case ('month') {
|
|
4421
|
+
Go to previous year
|
|
4422
|
+
}
|
|
4423
|
+
@case ('year') {
|
|
4424
|
+
Go to previous decade
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
4427
|
+
</span>
|
|
4428
|
+
</button>
|
|
4429
|
+
<button scCalendarHeading>{{ cal2.heading() }}</button>
|
|
4430
|
+
<button scCalendarNext>
|
|
4431
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4432
|
+
<span class="sr-only">
|
|
4433
|
+
@switch (cal2.viewMode()) {
|
|
4434
|
+
@case ('day') {
|
|
4435
|
+
Go to next month
|
|
4436
|
+
}
|
|
4437
|
+
@case ('month') {
|
|
4438
|
+
Go to next year
|
|
4439
|
+
}
|
|
4440
|
+
@case ('year') {
|
|
4441
|
+
Go to next decade
|
|
4442
|
+
}
|
|
4443
|
+
}
|
|
4444
|
+
</span>
|
|
4445
|
+
</button>
|
|
4446
|
+
</div>
|
|
4447
|
+
</div>
|
|
5162
4448
|
</div>
|
|
5163
4449
|
} @else {
|
|
5164
|
-
<
|
|
4450
|
+
<div
|
|
4451
|
+
scCalendar
|
|
5165
4452
|
mode="range"
|
|
5166
4453
|
[(value)]="value"
|
|
5167
4454
|
[minDate]="minDate()"
|
|
5168
4455
|
[maxDate]="maxDate()"
|
|
5169
4456
|
[disabled]="disabledDates()"
|
|
5170
|
-
|
|
4457
|
+
#cal="scCalendar"
|
|
4458
|
+
>
|
|
4459
|
+
<div scCalendarHeader>
|
|
4460
|
+
<button scCalendarPrevious>
|
|
4461
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4462
|
+
<span class="sr-only">
|
|
4463
|
+
@switch (cal.viewMode()) {
|
|
4464
|
+
@case ('day') {
|
|
4465
|
+
Go to previous month
|
|
4466
|
+
}
|
|
4467
|
+
@case ('month') {
|
|
4468
|
+
Go to previous year
|
|
4469
|
+
}
|
|
4470
|
+
@case ('year') {
|
|
4471
|
+
Go to previous decade
|
|
4472
|
+
}
|
|
4473
|
+
}
|
|
4474
|
+
</span>
|
|
4475
|
+
</button>
|
|
4476
|
+
<button scCalendarHeading>{{ cal.heading() }}</button>
|
|
4477
|
+
<button scCalendarNext>
|
|
4478
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4479
|
+
<span class="sr-only">
|
|
4480
|
+
@switch (cal.viewMode()) {
|
|
4481
|
+
@case ('day') {
|
|
4482
|
+
Go to next month
|
|
4483
|
+
}
|
|
4484
|
+
@case ('month') {
|
|
4485
|
+
Go to next year
|
|
4486
|
+
}
|
|
4487
|
+
@case ('year') {
|
|
4488
|
+
Go to next decade
|
|
4489
|
+
}
|
|
4490
|
+
}
|
|
4491
|
+
</span>
|
|
4492
|
+
</button>
|
|
4493
|
+
</div>
|
|
4494
|
+
</div>
|
|
5171
4495
|
}
|
|
5172
4496
|
|
|
5173
4497
|
<!-- Footer -->
|
|
@@ -5209,7 +4533,7 @@ class ScDateRangePicker {
|
|
|
5209
4533
|
@if (dropdownOpen()) {
|
|
5210
4534
|
<div class="fixed inset-0 z-40" (click)="closeDropdown()"></div>
|
|
5211
4535
|
}
|
|
5212
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ScCalendar, selector: "
|
|
4536
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ScCalendar, selector: "div[scCalendar]", inputs: ["class", "mode", "disabled", "minDate", "maxDate", "value", "ariaLabel", "dayViewLabel", "monthViewLabel", "yearViewLabel", "startOfWeek", "weekDays", "monthLabels", "viewMode"], outputs: ["valueChange"], exportAs: ["scCalendar"] }, { kind: "component", type: ScCalendarHeader, selector: "div[scCalendarHeader]", inputs: ["class"] }, { kind: "directive", type: ScCalendarHeading, selector: "button[scCalendarHeading]", inputs: ["class", "variant", "size"] }, { kind: "directive", type: ScCalendarNext, selector: "button[scCalendarNext]", inputs: ["class", "variant", "size"] }, { kind: "directive", type: ScCalendarPrevious, selector: "button[scCalendarPrevious]", inputs: ["class", "variant", "size"] }, { kind: "component", type: SiCalendarIcon, selector: "svg[siCalendarIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiChevronLeftIcon, selector: "svg[siChevronLeftIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiChevronRightIcon, selector: "svg[siChevronRightIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { 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 });
|
|
5213
4537
|
}
|
|
5214
4538
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScDateRangePicker, decorators: [{
|
|
5215
4539
|
type: Component,
|
|
@@ -5265,29 +4589,143 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
5265
4589
|
<div class="p-3">
|
|
5266
4590
|
@if (showTwoMonths()) {
|
|
5267
4591
|
<div class="flex gap-4">
|
|
5268
|
-
<
|
|
4592
|
+
<div
|
|
4593
|
+
scCalendar
|
|
5269
4594
|
mode="range"
|
|
5270
4595
|
[(value)]="value"
|
|
5271
4596
|
[minDate]="minDate()"
|
|
5272
4597
|
[maxDate]="maxDate()"
|
|
5273
4598
|
[disabled]="disabledDates()"
|
|
5274
|
-
|
|
5275
|
-
|
|
4599
|
+
#cal1="scCalendar"
|
|
4600
|
+
>
|
|
4601
|
+
<div scCalendarHeader>
|
|
4602
|
+
<button scCalendarPrevious>
|
|
4603
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4604
|
+
<span class="sr-only">
|
|
4605
|
+
@switch (cal1.viewMode()) {
|
|
4606
|
+
@case ('day') {
|
|
4607
|
+
Go to previous month
|
|
4608
|
+
}
|
|
4609
|
+
@case ('month') {
|
|
4610
|
+
Go to previous year
|
|
4611
|
+
}
|
|
4612
|
+
@case ('year') {
|
|
4613
|
+
Go to previous decade
|
|
4614
|
+
}
|
|
4615
|
+
}
|
|
4616
|
+
</span>
|
|
4617
|
+
</button>
|
|
4618
|
+
<button scCalendarHeading>{{ cal1.heading() }}</button>
|
|
4619
|
+
<button scCalendarNext>
|
|
4620
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4621
|
+
<span class="sr-only">
|
|
4622
|
+
@switch (cal1.viewMode()) {
|
|
4623
|
+
@case ('day') {
|
|
4624
|
+
Go to next month
|
|
4625
|
+
}
|
|
4626
|
+
@case ('month') {
|
|
4627
|
+
Go to next year
|
|
4628
|
+
}
|
|
4629
|
+
@case ('year') {
|
|
4630
|
+
Go to next decade
|
|
4631
|
+
}
|
|
4632
|
+
}
|
|
4633
|
+
</span>
|
|
4634
|
+
</button>
|
|
4635
|
+
</div>
|
|
4636
|
+
</div>
|
|
4637
|
+
<div
|
|
4638
|
+
scCalendar
|
|
5276
4639
|
mode="range"
|
|
5277
4640
|
[(value)]="value"
|
|
5278
4641
|
[minDate]="minDate()"
|
|
5279
4642
|
[maxDate]="maxDate()"
|
|
5280
4643
|
[disabled]="disabledDates()"
|
|
5281
|
-
|
|
4644
|
+
#cal2="scCalendar"
|
|
4645
|
+
>
|
|
4646
|
+
<div scCalendarHeader>
|
|
4647
|
+
<button scCalendarPrevious>
|
|
4648
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4649
|
+
<span class="sr-only">
|
|
4650
|
+
@switch (cal2.viewMode()) {
|
|
4651
|
+
@case ('day') {
|
|
4652
|
+
Go to previous month
|
|
4653
|
+
}
|
|
4654
|
+
@case ('month') {
|
|
4655
|
+
Go to previous year
|
|
4656
|
+
}
|
|
4657
|
+
@case ('year') {
|
|
4658
|
+
Go to previous decade
|
|
4659
|
+
}
|
|
4660
|
+
}
|
|
4661
|
+
</span>
|
|
4662
|
+
</button>
|
|
4663
|
+
<button scCalendarHeading>{{ cal2.heading() }}</button>
|
|
4664
|
+
<button scCalendarNext>
|
|
4665
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4666
|
+
<span class="sr-only">
|
|
4667
|
+
@switch (cal2.viewMode()) {
|
|
4668
|
+
@case ('day') {
|
|
4669
|
+
Go to next month
|
|
4670
|
+
}
|
|
4671
|
+
@case ('month') {
|
|
4672
|
+
Go to next year
|
|
4673
|
+
}
|
|
4674
|
+
@case ('year') {
|
|
4675
|
+
Go to next decade
|
|
4676
|
+
}
|
|
4677
|
+
}
|
|
4678
|
+
</span>
|
|
4679
|
+
</button>
|
|
4680
|
+
</div>
|
|
4681
|
+
</div>
|
|
5282
4682
|
</div>
|
|
5283
4683
|
} @else {
|
|
5284
|
-
<
|
|
4684
|
+
<div
|
|
4685
|
+
scCalendar
|
|
5285
4686
|
mode="range"
|
|
5286
4687
|
[(value)]="value"
|
|
5287
4688
|
[minDate]="minDate()"
|
|
5288
4689
|
[maxDate]="maxDate()"
|
|
5289
4690
|
[disabled]="disabledDates()"
|
|
5290
|
-
|
|
4691
|
+
#cal="scCalendar"
|
|
4692
|
+
>
|
|
4693
|
+
<div scCalendarHeader>
|
|
4694
|
+
<button scCalendarPrevious>
|
|
4695
|
+
<svg siChevronLeftIcon class="size-4"></svg>
|
|
4696
|
+
<span class="sr-only">
|
|
4697
|
+
@switch (cal.viewMode()) {
|
|
4698
|
+
@case ('day') {
|
|
4699
|
+
Go to previous month
|
|
4700
|
+
}
|
|
4701
|
+
@case ('month') {
|
|
4702
|
+
Go to previous year
|
|
4703
|
+
}
|
|
4704
|
+
@case ('year') {
|
|
4705
|
+
Go to previous decade
|
|
4706
|
+
}
|
|
4707
|
+
}
|
|
4708
|
+
</span>
|
|
4709
|
+
</button>
|
|
4710
|
+
<button scCalendarHeading>{{ cal.heading() }}</button>
|
|
4711
|
+
<button scCalendarNext>
|
|
4712
|
+
<svg siChevronRightIcon class="size-4"></svg>
|
|
4713
|
+
<span class="sr-only">
|
|
4714
|
+
@switch (cal.viewMode()) {
|
|
4715
|
+
@case ('day') {
|
|
4716
|
+
Go to next month
|
|
4717
|
+
}
|
|
4718
|
+
@case ('month') {
|
|
4719
|
+
Go to next year
|
|
4720
|
+
}
|
|
4721
|
+
@case ('year') {
|
|
4722
|
+
Go to next decade
|
|
4723
|
+
}
|
|
4724
|
+
}
|
|
4725
|
+
</span>
|
|
4726
|
+
</button>
|
|
4727
|
+
</div>
|
|
4728
|
+
</div>
|
|
5291
4729
|
}
|
|
5292
4730
|
|
|
5293
4731
|
<!-- Footer -->
|
|
@@ -5333,7 +4771,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
5333
4771
|
host: {
|
|
5334
4772
|
'data-slot': 'date-range-picker',
|
|
5335
4773
|
},
|
|
5336
|
-
imports: [
|
|
4774
|
+
imports: [
|
|
4775
|
+
ScCalendar,
|
|
4776
|
+
ScCalendarHeader,
|
|
4777
|
+
ScCalendarHeading,
|
|
4778
|
+
ScCalendarNext,
|
|
4779
|
+
ScCalendarPrevious,
|
|
4780
|
+
SiCalendarIcon,
|
|
4781
|
+
SiChevronLeftIcon,
|
|
4782
|
+
SiChevronRightIcon,
|
|
4783
|
+
SiXIcon,
|
|
4784
|
+
],
|
|
5337
4785
|
encapsulation: ViewEncapsulation.None,
|
|
5338
4786
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5339
4787
|
}]
|
|
@@ -8767,40 +8215,21 @@ class ScImageCropperZoomSlider {
|
|
|
8767
8215
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
8768
8216
|
class = computed(() => cn('flex items-center gap-2', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
8769
8217
|
zoomPercentage = computed(() => `${(this.cropper.zoom() * 100).toFixed(0)}%`, ...(ngDevMode ? [{ debugName: "zoomPercentage" }] : []));
|
|
8770
|
-
sliderEl = viewChild('sliderEl', ...(ngDevMode ? [{ debugName: "sliderEl" }] : []));
|
|
8771
|
-
constructor() {
|
|
8772
|
-
effect(() => {
|
|
8773
|
-
const zoom = this.cropper.zoom();
|
|
8774
|
-
const el = this.sliderEl()?.nativeElement;
|
|
8775
|
-
if (!el)
|
|
8776
|
-
return;
|
|
8777
|
-
el.value = String(zoom);
|
|
8778
|
-
const min = parseFloat(el.min) || 0;
|
|
8779
|
-
const max = parseFloat(el.max) || 100;
|
|
8780
|
-
const percent = ((zoom - min) / (max - min)) * 100;
|
|
8781
|
-
el.style.setProperty('--fill-percent', `${percent}%`);
|
|
8782
|
-
});
|
|
8783
|
-
}
|
|
8784
|
-
onInput(event) {
|
|
8785
|
-
const value = parseFloat(event.target.value);
|
|
8786
|
-
this.cropper.setZoom(value);
|
|
8787
|
-
}
|
|
8788
8218
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScImageCropperZoomSlider, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8789
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8219
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScImageCropperZoomSlider, isStandalone: true, selector: "[scImageCropperZoomSlider]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "image-cropper-zoom-slider" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
8790
8220
|
<input
|
|
8791
|
-
#sliderEl
|
|
8792
8221
|
scSlider
|
|
8793
8222
|
aria-label="Zoom level"
|
|
8794
8223
|
[min]="0.1"
|
|
8795
8224
|
[max]="3"
|
|
8796
8225
|
[step]="0.1"
|
|
8797
8226
|
[value]="cropper.zoom()"
|
|
8798
|
-
(
|
|
8227
|
+
(valueChange)="cropper.setZoom($event)"
|
|
8799
8228
|
/>
|
|
8800
8229
|
<span class="text-muted-foreground min-w-[50px] text-center text-sm">
|
|
8801
8230
|
{{ zoomPercentage() }}
|
|
8802
8231
|
</span>
|
|
8803
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
8232
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["value", "min", "max", "step", "id", "class", "aria-describedby"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
8804
8233
|
}
|
|
8805
8234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScImageCropperZoomSlider, decorators: [{
|
|
8806
8235
|
type: Component,
|
|
@@ -8809,14 +8238,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
8809
8238
|
imports: [ScSlider],
|
|
8810
8239
|
template: `
|
|
8811
8240
|
<input
|
|
8812
|
-
#sliderEl
|
|
8813
8241
|
scSlider
|
|
8814
8242
|
aria-label="Zoom level"
|
|
8815
8243
|
[min]="0.1"
|
|
8816
8244
|
[max]="3"
|
|
8817
8245
|
[step]="0.1"
|
|
8818
8246
|
[value]="cropper.zoom()"
|
|
8819
|
-
(
|
|
8247
|
+
(valueChange)="cropper.setZoom($event)"
|
|
8820
8248
|
/>
|
|
8821
8249
|
<span class="text-muted-foreground min-w-[50px] text-center text-sm">
|
|
8822
8250
|
{{ zoomPercentage() }}
|
|
@@ -8829,7 +8257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
8829
8257
|
encapsulation: ViewEncapsulation.None,
|
|
8830
8258
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8831
8259
|
}]
|
|
8832
|
-
}],
|
|
8260
|
+
}], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
8833
8261
|
|
|
8834
8262
|
class ScImageCropperZoomIn {
|
|
8835
8263
|
cropper = inject(SC_IMAGE_CROPPER);
|
|
@@ -9936,20 +9364,7 @@ class ScKanbanColumn {
|
|
|
9936
9364
|
class="text-muted-foreground hover:text-foreground hover:bg-muted/50 flex w-full items-center justify-center gap-1 border-t p-2 text-sm transition-colors"
|
|
9937
9365
|
(click)="startAddingCard()"
|
|
9938
9366
|
>
|
|
9939
|
-
<svg
|
|
9940
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
9941
|
-
width="14"
|
|
9942
|
-
height="14"
|
|
9943
|
-
viewBox="0 0 24 24"
|
|
9944
|
-
fill="none"
|
|
9945
|
-
stroke="currentColor"
|
|
9946
|
-
stroke-width="2"
|
|
9947
|
-
stroke-linecap="round"
|
|
9948
|
-
stroke-linejoin="round"
|
|
9949
|
-
>
|
|
9950
|
-
<path d="M5 12h14" />
|
|
9951
|
-
<path d="M12 5v14" />
|
|
9952
|
-
</svg>
|
|
9367
|
+
<svg siPlusIcon class="size-3.5"></svg>
|
|
9953
9368
|
Add card
|
|
9954
9369
|
</button>
|
|
9955
9370
|
}
|
|
@@ -10111,20 +9526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
10111
9526
|
class="text-muted-foreground hover:text-foreground hover:bg-muted/50 flex w-full items-center justify-center gap-1 border-t p-2 text-sm transition-colors"
|
|
10112
9527
|
(click)="startAddingCard()"
|
|
10113
9528
|
>
|
|
10114
|
-
<svg
|
|
10115
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
10116
|
-
width="14"
|
|
10117
|
-
height="14"
|
|
10118
|
-
viewBox="0 0 24 24"
|
|
10119
|
-
fill="none"
|
|
10120
|
-
stroke="currentColor"
|
|
10121
|
-
stroke-width="2"
|
|
10122
|
-
stroke-linecap="round"
|
|
10123
|
-
stroke-linejoin="round"
|
|
10124
|
-
>
|
|
10125
|
-
<path d="M5 12h14" />
|
|
10126
|
-
<path d="M12 5v14" />
|
|
10127
|
-
</svg>
|
|
9529
|
+
<svg siPlusIcon class="size-3.5"></svg>
|
|
10128
9530
|
Add card
|
|
10129
9531
|
</button>
|
|
10130
9532
|
}
|
|
@@ -11740,7 +11142,7 @@ class ScNavbar {
|
|
|
11740
11142
|
overlayOrigin = inject(CdkOverlayOrigin);
|
|
11741
11143
|
class = computed(() => cn('flex items-center justify-between', 'w-full px-4 py-3 md:px-6', 'bg-background border-b border-border', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
11742
11144
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScNavbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11743
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScNavbar, isStandalone: true, selector: "nav[scNavbar]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navbar" }, properties: { "class": "class()" } }, hostDirectives: [{ directive: i1
|
|
11145
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScNavbar, isStandalone: true, selector: "nav[scNavbar]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navbar" }, properties: { "class": "class()" } }, hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0, template: `
|
|
11744
11146
|
<ng-content />
|
|
11745
11147
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11746
11148
|
}
|
|
@@ -15743,22 +15145,7 @@ class ScPdfViewer {
|
|
|
15743
15145
|
<div
|
|
15744
15146
|
class="bg-destructive/10 flex h-16 w-16 items-center justify-center rounded-full"
|
|
15745
15147
|
>
|
|
15746
|
-
<svg
|
|
15747
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
15748
|
-
width="32"
|
|
15749
|
-
height="32"
|
|
15750
|
-
viewBox="0 0 24 24"
|
|
15751
|
-
fill="none"
|
|
15752
|
-
stroke="currentColor"
|
|
15753
|
-
stroke-width="2"
|
|
15754
|
-
stroke-linecap="round"
|
|
15755
|
-
stroke-linejoin="round"
|
|
15756
|
-
class="text-destructive"
|
|
15757
|
-
>
|
|
15758
|
-
<circle cx="12" cy="12" r="10" />
|
|
15759
|
-
<path d="m15 9-6 6" />
|
|
15760
|
-
<path d="m9 9 6 6" />
|
|
15761
|
-
</svg>
|
|
15148
|
+
<svg siCircleXIcon class="text-destructive size-8"></svg>
|
|
15762
15149
|
</div>
|
|
15763
15150
|
<p class="text-foreground text-sm font-medium">
|
|
15764
15151
|
Failed to load PDF
|
|
@@ -15813,26 +15200,7 @@ class ScPdfViewer {
|
|
|
15813
15200
|
<div
|
|
15814
15201
|
class="bg-muted flex h-16 w-16 items-center justify-center rounded-full"
|
|
15815
15202
|
>
|
|
15816
|
-
<svg
|
|
15817
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
15818
|
-
width="32"
|
|
15819
|
-
height="32"
|
|
15820
|
-
viewBox="0 0 24 24"
|
|
15821
|
-
fill="none"
|
|
15822
|
-
stroke="currentColor"
|
|
15823
|
-
stroke-width="1.5"
|
|
15824
|
-
stroke-linecap="round"
|
|
15825
|
-
stroke-linejoin="round"
|
|
15826
|
-
class="text-muted-foreground"
|
|
15827
|
-
>
|
|
15828
|
-
<path
|
|
15829
|
-
d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
|
|
15830
|
-
/>
|
|
15831
|
-
<polyline points="14 2 14 8 20 8" />
|
|
15832
|
-
<line x1="16" x2="8" y1="13" y2="13" />
|
|
15833
|
-
<line x1="16" x2="8" y1="17" y2="17" />
|
|
15834
|
-
<line x1="10" x2="8" y1="9" y2="9" />
|
|
15835
|
-
</svg>
|
|
15203
|
+
<svg siFileTextIcon class="text-muted-foreground size-8"></svg>
|
|
15836
15204
|
</div>
|
|
15837
15205
|
<p class="text-muted-foreground text-sm">No PDF selected</p>
|
|
15838
15206
|
</div>
|
|
@@ -15840,11 +15208,11 @@ class ScPdfViewer {
|
|
|
15840
15208
|
}
|
|
15841
15209
|
</div>
|
|
15842
15210
|
</div>
|
|
15843
|
-
`, isInline: true, styles: [":host{display:block}.fullscreen{position:fixed!important;inset:0!important;z-index:50!important;width:100vw!important;height:100vh!important}\n"], dependencies: [{ kind: "component", type: ScPdfViewerToolbar, selector: "sc-pdf-viewer-toolbar", inputs: ["currentPage", "totalPages", "zoom", "isFullscreen", "toolbarConfig", "class"], outputs: ["prevPage", "nextPage", "goToPage", "zoomIn", "zoomOut", "zoomChange", "rotateLeft", "rotateRight", "download", "print", "toggleFullscreen"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
15211
|
+
`, isInline: true, styles: [":host{display:block}.fullscreen{position:fixed!important;inset:0!important;z-index:50!important;width:100vw!important;height:100vh!important}\n"], dependencies: [{ kind: "component", type: ScPdfViewerToolbar, selector: "sc-pdf-viewer-toolbar", inputs: ["currentPage", "totalPages", "zoom", "isFullscreen", "toolbarConfig", "class"], outputs: ["prevPage", "nextPage", "goToPage", "zoomIn", "zoomOut", "zoomChange", "rotateLeft", "rotateRight", "download", "print", "toggleFullscreen"] }, { kind: "component", type: SiCircleXIcon, selector: "svg[siCircleXIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "component", type: SiFileTextIcon, selector: "svg[siFileTextIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
15844
15212
|
}
|
|
15845
15213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScPdfViewer, decorators: [{
|
|
15846
15214
|
type: Component,
|
|
15847
|
-
args: [{ selector: 'sc-pdf-viewer', imports: [ScPdfViewerToolbar], template: `
|
|
15215
|
+
args: [{ selector: 'sc-pdf-viewer', imports: [ScPdfViewerToolbar, SiCircleXIcon, SiFileTextIcon], template: `
|
|
15848
15216
|
<div
|
|
15849
15217
|
#container
|
|
15850
15218
|
[class]="containerClass()"
|
|
@@ -15897,22 +15265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
15897
15265
|
<div
|
|
15898
15266
|
class="bg-destructive/10 flex h-16 w-16 items-center justify-center rounded-full"
|
|
15899
15267
|
>
|
|
15900
|
-
<svg
|
|
15901
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
15902
|
-
width="32"
|
|
15903
|
-
height="32"
|
|
15904
|
-
viewBox="0 0 24 24"
|
|
15905
|
-
fill="none"
|
|
15906
|
-
stroke="currentColor"
|
|
15907
|
-
stroke-width="2"
|
|
15908
|
-
stroke-linecap="round"
|
|
15909
|
-
stroke-linejoin="round"
|
|
15910
|
-
class="text-destructive"
|
|
15911
|
-
>
|
|
15912
|
-
<circle cx="12" cy="12" r="10" />
|
|
15913
|
-
<path d="m15 9-6 6" />
|
|
15914
|
-
<path d="m9 9 6 6" />
|
|
15915
|
-
</svg>
|
|
15268
|
+
<svg siCircleXIcon class="text-destructive size-8"></svg>
|
|
15916
15269
|
</div>
|
|
15917
15270
|
<p class="text-foreground text-sm font-medium">
|
|
15918
15271
|
Failed to load PDF
|
|
@@ -15967,26 +15320,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
15967
15320
|
<div
|
|
15968
15321
|
class="bg-muted flex h-16 w-16 items-center justify-center rounded-full"
|
|
15969
15322
|
>
|
|
15970
|
-
<svg
|
|
15971
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
15972
|
-
width="32"
|
|
15973
|
-
height="32"
|
|
15974
|
-
viewBox="0 0 24 24"
|
|
15975
|
-
fill="none"
|
|
15976
|
-
stroke="currentColor"
|
|
15977
|
-
stroke-width="1.5"
|
|
15978
|
-
stroke-linecap="round"
|
|
15979
|
-
stroke-linejoin="round"
|
|
15980
|
-
class="text-muted-foreground"
|
|
15981
|
-
>
|
|
15982
|
-
<path
|
|
15983
|
-
d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
|
|
15984
|
-
/>
|
|
15985
|
-
<polyline points="14 2 14 8 20 8" />
|
|
15986
|
-
<line x1="16" x2="8" y1="13" y2="13" />
|
|
15987
|
-
<line x1="16" x2="8" y1="17" y2="17" />
|
|
15988
|
-
<line x1="10" x2="8" y1="9" y2="9" />
|
|
15989
|
-
</svg>
|
|
15323
|
+
<svg siFileTextIcon class="text-muted-foreground size-8"></svg>
|
|
15990
15324
|
</div>
|
|
15991
15325
|
<p class="text-muted-foreground text-sm">No PDF selected</p>
|
|
15992
15326
|
</div>
|
|
@@ -17120,29 +16454,18 @@ class ScQrCodeDownload {
|
|
|
17120
16454
|
/>
|
|
17121
16455
|
@if (showDownload()) {
|
|
17122
16456
|
<button type="button" (click)="download()" [class]="buttonClass()">
|
|
17123
|
-
<svg
|
|
17124
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
17125
|
-
viewBox="0 0 24 24"
|
|
17126
|
-
fill="none"
|
|
17127
|
-
stroke="currentColor"
|
|
17128
|
-
stroke-width="2"
|
|
17129
|
-
class="size-4"
|
|
17130
|
-
>
|
|
17131
|
-
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
|
|
17132
|
-
<polyline points="7 10 12 15 17 10" />
|
|
17133
|
-
<line x1="12" x2="12" y1="15" y2="3" />
|
|
17134
|
-
</svg>
|
|
16457
|
+
<svg siDownloadIcon class="size-4"></svg>
|
|
17135
16458
|
{{ downloadLabel() }}
|
|
17136
16459
|
</button>
|
|
17137
16460
|
}
|
|
17138
16461
|
</div>
|
|
17139
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ScQrCode, selector: "sc-qr-code", inputs: ["value", "size", "errorCorrectionLevel", "foregroundColor", "backgroundColor", "quietZone", "logo", "logoSize", "ariaLabel", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
16462
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ScQrCode, selector: "sc-qr-code", inputs: ["value", "size", "errorCorrectionLevel", "foregroundColor", "backgroundColor", "quietZone", "logo", "logoSize", "ariaLabel", "class"] }, { kind: "component", type: SiDownloadIcon, selector: "svg[siDownloadIcon]", inputs: ["ariaHidden", "width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
17140
16463
|
}
|
|
17141
16464
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScQrCodeDownload, decorators: [{
|
|
17142
16465
|
type: Component,
|
|
17143
16466
|
args: [{
|
|
17144
16467
|
selector: 'sc-qr-code-download',
|
|
17145
|
-
imports: [ScQrCode],
|
|
16468
|
+
imports: [ScQrCode, SiDownloadIcon],
|
|
17146
16469
|
template: `
|
|
17147
16470
|
<div [class]="containerClass()">
|
|
17148
16471
|
<sc-qr-code
|
|
@@ -17157,18 +16480,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
17157
16480
|
/>
|
|
17158
16481
|
@if (showDownload()) {
|
|
17159
16482
|
<button type="button" (click)="download()" [class]="buttonClass()">
|
|
17160
|
-
<svg
|
|
17161
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
17162
|
-
viewBox="0 0 24 24"
|
|
17163
|
-
fill="none"
|
|
17164
|
-
stroke="currentColor"
|
|
17165
|
-
stroke-width="2"
|
|
17166
|
-
class="size-4"
|
|
17167
|
-
>
|
|
17168
|
-
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
|
|
17169
|
-
<polyline points="7 10 12 15 17 10" />
|
|
17170
|
-
<line x1="12" x2="12" y1="15" y2="3" />
|
|
17171
|
-
</svg>
|
|
16483
|
+
<svg siDownloadIcon class="size-4"></svg>
|
|
17172
16484
|
{{ downloadLabel() }}
|
|
17173
16485
|
</button>
|
|
17174
16486
|
}
|
|
@@ -21450,7 +20762,7 @@ class ScTree {
|
|
|
21450
20762
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
21451
20763
|
class = computed(() => cn('flex flex-col gap-1', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
21452
20764
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScTree, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21453
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScTree, isStandalone: true, selector: "ul[scTree]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tree" }, properties: { "class": "class()" } }, exportAs: ["scTree"], hostDirectives: [{ directive: i1$
|
|
20765
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScTree, isStandalone: true, selector: "ul[scTree]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tree" }, properties: { "class": "class()" } }, exportAs: ["scTree"], hostDirectives: [{ directive: i1$1.Tree }], ngImport: i0 });
|
|
21454
20766
|
}
|
|
21455
20767
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScTree, decorators: [{
|
|
21456
20768
|
type: Directive,
|
|
@@ -21518,7 +20830,7 @@ class ScTreeItem {
|
|
|
21518
20830
|
hasChildren = computed(() => !!this.groupContent(), ...(ngDevMode ? [{ debugName: "hasChildren" }] : []));
|
|
21519
20831
|
class = computed(() => cn('flex flex-col', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
21520
20832
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21521
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.1", type: ScTreeItem, isStandalone: true, selector: "li[scTreeItem]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tree-item" }, properties: { "class": "class()", "attr.data-state": "treeItem.expanded() ? \"open\" : \"closed\"" } }, providers: [{ provide: SC_TREE_ITEM, useExisting: ScTreeItem }], queries: [{ propertyName: "groupContent", first: true, predicate: ScTreeItemGroup, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$
|
|
20833
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.1", type: ScTreeItem, isStandalone: true, selector: "li[scTreeItem]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "tree-item" }, properties: { "class": "class()", "attr.data-state": "treeItem.expanded() ? \"open\" : \"closed\"" } }, providers: [{ provide: SC_TREE_ITEM, useExisting: ScTreeItem }], queries: [{ propertyName: "groupContent", first: true, predicate: ScTreeItemGroup, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.TreeItem, inputs: ["value", "value", "parent", "parent", "label", "label", "disabled", "disabled", "expanded", "expanded"] }], ngImport: i0, template: `
|
|
21522
20834
|
<ng-content />
|
|
21523
20835
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
21524
20836
|
}
|
|
@@ -21975,10 +21287,6 @@ class ScVideoPlayerProgress {
|
|
|
21975
21287
|
player = inject(SC_VIDEO_PLAYER);
|
|
21976
21288
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
21977
21289
|
class = computed(() => cn('group relative mb-2 block h-3', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
21978
|
-
onSeek(event) {
|
|
21979
|
-
const value = +event.target.value;
|
|
21980
|
-
this.player.seek(value);
|
|
21981
|
-
}
|
|
21982
21290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScVideoPlayerProgress, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21983
21291
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScVideoPlayerProgress, isStandalone: true, selector: "div[scVideoPlayerProgress]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "style.--primary": "\"oklch(1 0 0)\"", "style.--muted": "\"oklch(1 0 0 / 0.3)\"", "style.--ring": "\"oklch(1 0 0 / 0.5)\"" } }, ngImport: i0, template: `
|
|
21984
21292
|
<!-- Buffered -->
|
|
@@ -21991,14 +21299,12 @@ class ScVideoPlayerProgress {
|
|
|
21991
21299
|
scSlider
|
|
21992
21300
|
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"
|
|
21993
21301
|
aria-label="Video progress"
|
|
21994
|
-
|
|
21995
|
-
|
|
21996
|
-
step="0.1"
|
|
21302
|
+
[max]="100"
|
|
21303
|
+
[step]="0.1"
|
|
21997
21304
|
[value]="player.progressPercent()"
|
|
21998
|
-
|
|
21999
|
-
(input)="onSeek($event)"
|
|
21305
|
+
(valueChange)="player.seek($event)"
|
|
22000
21306
|
/>
|
|
22001
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
21307
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["value", "min", "max", "step", "id", "class", "aria-describedby"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
22002
21308
|
}
|
|
22003
21309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScVideoPlayerProgress, decorators: [{
|
|
22004
21310
|
type: Component,
|
|
@@ -22016,12 +21322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
22016
21322
|
scSlider
|
|
22017
21323
|
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"
|
|
22018
21324
|
aria-label="Video progress"
|
|
22019
|
-
|
|
22020
|
-
|
|
22021
|
-
step="0.1"
|
|
21325
|
+
[max]="100"
|
|
21326
|
+
[step]="0.1"
|
|
22022
21327
|
[value]="player.progressPercent()"
|
|
22023
|
-
|
|
22024
|
-
(input)="onSeek($event)"
|
|
21328
|
+
(valueChange)="player.seek($event)"
|
|
22025
21329
|
/>
|
|
22026
21330
|
`,
|
|
22027
21331
|
host: {
|
|
@@ -22040,10 +21344,6 @@ class ScVideoPlayerVolume {
|
|
|
22040
21344
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
22041
21345
|
class = computed(() => cn('group/volume flex items-center gap-1', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
22042
21346
|
buttonClass = computed(() => cn(buttonVariants({ variant: 'ghost', size: 'icon' }), 'text-foreground', '[&_svg]:size-5'), ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
|
|
22043
|
-
onVolumeInput(event) {
|
|
22044
|
-
const value = +event.target.value;
|
|
22045
|
-
this.player.setVolume(value);
|
|
22046
|
-
}
|
|
22047
21347
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScVideoPlayerVolume, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22048
21348
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ScVideoPlayerVolume, isStandalone: true, selector: "div[scVideoPlayerVolume]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()", "style.--primary": "\"oklch(1 0 0)\"", "style.--muted": "\"oklch(1 0 0 / 0.3)\"", "style.--ring": "\"oklch(1 0 0 / 0.5)\"" } }, ngImport: i0, template: `
|
|
22049
21349
|
<button
|
|
@@ -22057,15 +21357,13 @@ class ScVideoPlayerVolume {
|
|
|
22057
21357
|
<input
|
|
22058
21358
|
scSlider
|
|
22059
21359
|
class="h-1 w-0 cursor-pointer opacity-0 transition-all duration-200 group-hover/volume:w-20 group-hover/volume:opacity-100"
|
|
22060
|
-
|
|
22061
|
-
|
|
22062
|
-
step="0.01"
|
|
21360
|
+
[max]="1"
|
|
21361
|
+
[step]="0.01"
|
|
22063
21362
|
[value]="player.volume()"
|
|
22064
|
-
|
|
22065
|
-
(input)="onVolumeInput($event)"
|
|
21363
|
+
(valueChange)="player.setVolume($event)"
|
|
22066
21364
|
aria-label="Volume"
|
|
22067
21365
|
/>
|
|
22068
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["id", "class", "aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
21366
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ScSlider, selector: "input[scSlider]", inputs: ["value", "min", "max", "step", "id", "class", "aria-describedby"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
22069
21367
|
}
|
|
22070
21368
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScVideoPlayerVolume, decorators: [{
|
|
22071
21369
|
type: Component,
|
|
@@ -22084,12 +21382,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
22084
21382
|
<input
|
|
22085
21383
|
scSlider
|
|
22086
21384
|
class="h-1 w-0 cursor-pointer opacity-0 transition-all duration-200 group-hover/volume:w-20 group-hover/volume:opacity-100"
|
|
22087
|
-
|
|
22088
|
-
|
|
22089
|
-
step="0.01"
|
|
21385
|
+
[max]="1"
|
|
21386
|
+
[step]="0.01"
|
|
22090
21387
|
[value]="player.volume()"
|
|
22091
|
-
|
|
22092
|
-
(input)="onVolumeInput($event)"
|
|
21388
|
+
(valueChange)="player.setVolume($event)"
|
|
22093
21389
|
aria-label="Volume"
|
|
22094
21390
|
/>
|
|
22095
21391
|
`,
|
|
@@ -22942,5 +22238,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
22942
22238
|
* Generated bundle index. Do not edit.
|
|
22943
22239
|
*/
|
|
22944
22240
|
|
|
22945
|
-
export { AuthLayout, CHART_COLORS, COUNTRIES, DEFAULT_BREAKPOINTS, DEFAULT_CONFETTI_OPTIONS, DEFAULT_CONFIG, DEFAULT_COUNTER_OPTIONS, DEFAULT_DOCK_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_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,
|
|
22241
|
+
export { AuthLayout, CHART_COLORS, COUNTRIES, DEFAULT_BREAKPOINTS, DEFAULT_CONFETTI_OPTIONS, DEFAULT_CONFIG, DEFAULT_COUNTER_OPTIONS, DEFAULT_DOCK_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_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, ScConfetti, 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, ScNativeCheckbox, ScNativeDialog, ScNativeDialogBody, ScNativeDialogClose, ScNativeDialogContent, ScNativeDialogDescription, ScNativeDialogFooter, ScNativeDialogHeader, ScNativeDialogProvider, ScNativeDialogTitle, ScNativeDialogTrigger, ScNavbar, ScNavbarActions, ScNavbarBrand, ScNavbarGroup, ScNavbarMobileLink, ScNavbarMobileMenu, ScNavbarMobilePortal, ScNavbarMobileTrigger, ScNavbarProvider, ScNotificationCenterDirective as ScNotificationCenter, ScNotificationCenterContainer, ScNotificationCenterDirective, ScNotificationGroup, ScNotificationItem, ScNumberField, ScNumberFieldDecrement, ScNumberFieldIncrement, ScNumberFieldInput, ScNumberFieldInputGroup, ScNumberFieldScrubArea, 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, ScSidebarLayout, ScSignaturePad, ScSignaturePadCanvas, ScSignaturePadClearButton, ScSignaturePadColorButton, ScSignaturePadControls, ScSignaturePadToolbar, ScSignaturePadUndoButton, ScSignaturePadWidthButton, ScSortableHandle, ScSortableItem, ScSortableList, ScSortableOverlay, ScSpeedDial, ScSpeedDialAction, 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 };
|
|
22946
22242
|
//# sourceMappingURL=semantic-components-ui-lab.mjs.map
|