shirkasoft-ui-components 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +216 -0
- package/fesm2022/shirkasoft-ui-components.mjs +1337 -130
- package/fesm2022/shirkasoft-ui-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/theme.css +264 -63
- package/types/shirkasoft-ui-components.d.ts +347 -12
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef, OnDestroy, Type, ViewContainerRef, ComponentRef, AfterViewInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { ElementRef, OnDestroy, Type, ViewContainerRef, ComponentRef, AfterViewInit, TemplateRef, OnInit } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, FormGroup, FormControl } from '@angular/forms';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
4
5
|
|
|
5
6
|
declare class TextFieldComponent implements ControlValueAccessor {
|
|
6
7
|
private cdr;
|
|
@@ -456,6 +457,30 @@ declare class FileUploadComponent {
|
|
|
456
457
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "shk-file-upload", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "fileUploadText": { "alias": "fileUploadText"; "required": false; "isSignal": true; }; "fileRecommendation": { "alias": "fileRecommendation"; "required": false; "isSignal": true; }; "changeFilesText": { "alias": "changeFilesText"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "fileSelected": "fileSelected"; "fileRemoved": "fileRemoved"; "fileError": "fileError"; "fileWarning": "fileWarning"; }, never, never, true, never>;
|
|
457
458
|
}
|
|
458
459
|
|
|
460
|
+
/** Resolves a lucide icon name to its component. Falls back to a help circle. */
|
|
461
|
+
declare function getIcon$6(name?: string): any;
|
|
462
|
+
|
|
463
|
+
type TagSeverity = 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'contrast';
|
|
464
|
+
/** Small label used to highlight a value, status or category. */
|
|
465
|
+
declare class TagComponent {
|
|
466
|
+
/** Text shown inside the tag. */
|
|
467
|
+
value: _angular_core.InputSignal<string | number>;
|
|
468
|
+
/** Color variant. Defaults to 'secondary'. */
|
|
469
|
+
severity: _angular_core.InputSignal<TagSeverity>;
|
|
470
|
+
/** Renders the tag with fully rounded corners (pill). */
|
|
471
|
+
rounded: _angular_core.InputSignal<boolean>;
|
|
472
|
+
/** Optional leading lucide icon name. */
|
|
473
|
+
icon: _angular_core.InputSignal<string>;
|
|
474
|
+
/** Inline styles applied to the tag. */
|
|
475
|
+
style: _angular_core.InputSignal<Record<string, string | number>>;
|
|
476
|
+
/** Extra CSS classes. */
|
|
477
|
+
styleClass: _angular_core.InputSignal<string>;
|
|
478
|
+
protected getIcon: typeof getIcon$6;
|
|
479
|
+
protected tagClass: _angular_core.Signal<string>;
|
|
480
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagComponent, never>;
|
|
481
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagComponent, "shk-tag", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
482
|
+
}
|
|
483
|
+
|
|
459
484
|
declare function getIcon$5(name: string): any;
|
|
460
485
|
interface Column {
|
|
461
486
|
field: string;
|
|
@@ -473,10 +498,10 @@ interface Column {
|
|
|
473
498
|
template?: 'text' | 'tag';
|
|
474
499
|
format?: (row: any) => string;
|
|
475
500
|
tagValue?: (row: any) => string;
|
|
476
|
-
tagSeverity?: (row: any) =>
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
501
|
+
tagSeverity?: (row: any) => TagSeverity | undefined;
|
|
502
|
+
tagRounded?: boolean | ((row: any) => boolean);
|
|
503
|
+
tagIcon?: string | ((row: any) => string);
|
|
504
|
+
tagStyle?: (row: any) => Record<string, string | number> | undefined;
|
|
480
505
|
}
|
|
481
506
|
interface TableAction {
|
|
482
507
|
label: string;
|
|
@@ -630,7 +655,11 @@ declare class TableComponent {
|
|
|
630
655
|
isRowActionDisabled(action: RowAction, rowData: any): boolean;
|
|
631
656
|
isRowActionVisible(action: RowAction, rowData: any): boolean;
|
|
632
657
|
truncate(value: any, limit?: number): string;
|
|
633
|
-
|
|
658
|
+
getTagValue(col: Column, rowData: any): string;
|
|
659
|
+
getTagSeverity(col: Column, rowData: any): TagSeverity;
|
|
660
|
+
getTagRounded(col: Column, rowData: any): boolean;
|
|
661
|
+
getTagIcon(col: Column, rowData: any): string;
|
|
662
|
+
getTagStyle(col: Column, rowData: any): Record<string, string | number>;
|
|
634
663
|
/**
|
|
635
664
|
* FIX #7 (medio): trackBy real por identidad de fila en vez de `$index`.
|
|
636
665
|
* Si tu dato no tiene `id`/`_id`, cae de vuelta al índice (comportamiento
|
|
@@ -645,15 +674,28 @@ declare class TableComponent {
|
|
|
645
674
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "shk-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rowsPerPage": { "alias": "rowsPerPage"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showActionRow": { "alias": "showActionRow"; "required": false; "isSignal": true; }; "customTemplates": { "alias": "customTemplates"; "required": false; "isSignal": true; }; "headerActions": { "alias": "headerActions"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "hasShadow": { "alias": "hasShadow"; "required": false; "isSignal": true; }; "defaultSortField": { "alias": "defaultSortField"; "required": false; "isSignal": true; }; "defaultSortOrder": { "alias": "defaultSortOrder"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "serverSide": { "alias": "serverSide"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "activeFilter": { "alias": "activeFilter"; "required": false; "isSignal": true; }; }, { "refresh": "refresh"; "pageChange": "pageChange"; "filterChange": "filterChange"; "searchChange": "searchChange"; "filterClick": "filterClick"; }, never, never, true, never>;
|
|
646
675
|
}
|
|
647
676
|
|
|
648
|
-
|
|
677
|
+
/**
|
|
678
|
+
* Tooltip que se renderiza en `document.body` con `position: fixed`, de modo
|
|
679
|
+
* que siempre flota por encima de cualquier contenedor (tablas con
|
|
680
|
+
* `overflow: hidden`, modales, scroll wrappers, etc.) y nunca queda
|
|
681
|
+
* recortado ni pasa por debajo de su elemento ancla.
|
|
682
|
+
*/
|
|
683
|
+
declare class TooltipComponent implements OnDestroy {
|
|
649
684
|
readonly text: _angular_core.InputSignal<string>;
|
|
650
685
|
readonly position: _angular_core.InputSignal<"top" | "bottom" | "right">;
|
|
651
686
|
readonly mode: _angular_core.InputSignal<"fixed" | "hover">;
|
|
652
687
|
readonly offset: _angular_core.InputSignal<number>;
|
|
653
|
-
private
|
|
654
|
-
|
|
655
|
-
|
|
688
|
+
private readonly host;
|
|
689
|
+
private readonly document;
|
|
690
|
+
private tooltipEl;
|
|
691
|
+
private cleanup;
|
|
656
692
|
onMouseEnter(): void;
|
|
693
|
+
onMouseLeave(): void;
|
|
694
|
+
private show;
|
|
695
|
+
private computePosition;
|
|
696
|
+
private hide;
|
|
697
|
+
private removeTooltip;
|
|
698
|
+
ngOnDestroy(): void;
|
|
657
699
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipComponent, never>;
|
|
658
700
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "shk-tooltip", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
659
701
|
}
|
|
@@ -1126,5 +1168,298 @@ declare class WizardComponent {
|
|
|
1126
1168
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WizardComponent, "shk-wizard", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "currentStep": { "alias": "currentStep"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "headerTitle": { "alias": "headerTitle"; "required": false; "isSignal": true; }; "headerSubtitle": { "alias": "headerSubtitle"; "required": false; "isSignal": true; }; "showBackButton": { "alias": "showBackButton"; "required": false; "isSignal": true; }; "backTooltip": { "alias": "backTooltip"; "required": false; "isSignal": true; }; "headerIcon": { "alias": "headerIcon"; "required": false; "isSignal": true; }; "showStepper": { "alias": "showStepper"; "required": false; "isSignal": true; }; "stepperClickable": { "alias": "stepperClickable"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showStepCounter": { "alias": "showStepCounter"; "required": false; "isSignal": true; }; "stepCounterPrefix": { "alias": "stepCounterPrefix"; "required": false; "isSignal": true; }; "showCancel": { "alias": "showCancel"; "required": false; "isSignal": true; }; "advanceOnNext": { "alias": "advanceOnNext"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "prevIcon": { "alias": "prevIcon"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "cancelIcon": { "alias": "cancelIcon"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "nextIcon": { "alias": "nextIcon"; "required": false; "isSignal": true; }; "finishLabel": { "alias": "finishLabel"; "required": false; "isSignal": true; }; "finishIcon": { "alias": "finishIcon"; "required": false; "isSignal": true; }; "primaryLabel": { "alias": "primaryLabel"; "required": false; "isSignal": true; }; "primaryIcon": { "alias": "primaryIcon"; "required": false; "isSignal": true; }; "primaryLoading": { "alias": "primaryLoading"; "required": false; "isSignal": true; }; "primaryDisabled": { "alias": "primaryDisabled"; "required": false; "isSignal": true; }; }, { "currentStep": "currentStepChange"; "back": "back"; "cancel": "cancel"; "prev": "prev"; "next": "next"; "finish": "finish"; "stepChange": "stepChange"; }, ["stepContents"], ["[shkWizardHeaderActions]"], true, never>;
|
|
1127
1169
|
}
|
|
1128
1170
|
|
|
1129
|
-
|
|
1130
|
-
|
|
1171
|
+
type SkeletonShape = 'rectangle' | 'circle';
|
|
1172
|
+
type SkeletonAnimation = 'wave' | 'pulse' | 'none';
|
|
1173
|
+
/** Placeholder block shown while content is loading. */
|
|
1174
|
+
declare class SkeletonComponent {
|
|
1175
|
+
/** Shape of the skeleton: rectangle (default) or circle. */
|
|
1176
|
+
shape: _angular_core.InputSignal<SkeletonShape>;
|
|
1177
|
+
/** When shape is circle, sets both width and height. */
|
|
1178
|
+
size: _angular_core.InputSignal<string>;
|
|
1179
|
+
/** Width of the rectangle skeleton. */
|
|
1180
|
+
width: _angular_core.InputSignal<string>;
|
|
1181
|
+
/** Height of the rectangle skeleton. */
|
|
1182
|
+
height: _angular_core.InputSignal<string>;
|
|
1183
|
+
/** Custom border radius (rectangle only). */
|
|
1184
|
+
borderRadius: _angular_core.InputSignal<string>;
|
|
1185
|
+
/** Animation effect: 'wave' (default), 'pulse' or 'none'. */
|
|
1186
|
+
animation: _angular_core.InputSignal<SkeletonAnimation>;
|
|
1187
|
+
/** Inline styles applied to the skeleton block. */
|
|
1188
|
+
style: _angular_core.InputSignal<Record<string, string | number>>;
|
|
1189
|
+
/** Extra CSS classes. */
|
|
1190
|
+
styleClass: _angular_core.InputSignal<string>;
|
|
1191
|
+
protected rootStyle: _angular_core.Signal<{
|
|
1192
|
+
[x: string]: string | number;
|
|
1193
|
+
}>;
|
|
1194
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonComponent, never>;
|
|
1195
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonComponent, "shk-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
type ButtonSeverity = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'help' | 'contrast';
|
|
1199
|
+
type ButtonSize = 'small' | 'large';
|
|
1200
|
+
type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
1201
|
+
/** Generic button with icon, severity variants, loading state and sizes. */
|
|
1202
|
+
declare class ButtonComponent {
|
|
1203
|
+
/** Text shown inside the button. */
|
|
1204
|
+
label: _angular_core.InputSignal<string>;
|
|
1205
|
+
/** Optional leading lucide icon name. */
|
|
1206
|
+
icon: _angular_core.InputSignal<string>;
|
|
1207
|
+
/** Position of the icon relative to the label. */
|
|
1208
|
+
iconPos: _angular_core.InputSignal<ButtonIconPosition>;
|
|
1209
|
+
/** Color variant. Defaults to 'primary'. */
|
|
1210
|
+
severity: _angular_core.InputSignal<ButtonSeverity>;
|
|
1211
|
+
/** Transparent background with a colored border. */
|
|
1212
|
+
outlined: _angular_core.InputSignal<boolean>;
|
|
1213
|
+
/** Borderless button with a colored label. */
|
|
1214
|
+
text: _angular_core.InputSignal<boolean>;
|
|
1215
|
+
/** Adds a soft shadow. */
|
|
1216
|
+
raised: _angular_core.InputSignal<boolean>;
|
|
1217
|
+
/** Fully rounded corners (pill). */
|
|
1218
|
+
rounded: _angular_core.InputSignal<boolean>;
|
|
1219
|
+
/** Size variant. */
|
|
1220
|
+
size: _angular_core.InputSignal<ButtonSize | undefined>;
|
|
1221
|
+
/** Disables the button. */
|
|
1222
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1223
|
+
/** Shows a spinner and disables the button. */
|
|
1224
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
1225
|
+
/** Icon shown while loading. Defaults to 'refresh'. */
|
|
1226
|
+
loadingIcon: _angular_core.InputSignal<string>;
|
|
1227
|
+
/** Optional text shown instead of the label while loading. */
|
|
1228
|
+
loadingText: _angular_core.InputSignal<string>;
|
|
1229
|
+
/** Native button type. */
|
|
1230
|
+
type: _angular_core.InputSignal<"submit" | "button" | "reset">;
|
|
1231
|
+
/** Accessible label when the button is icon-only. */
|
|
1232
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
1233
|
+
/** Native title tooltip. */
|
|
1234
|
+
title: _angular_core.InputSignal<string>;
|
|
1235
|
+
/** Inline styles applied to the button. */
|
|
1236
|
+
style: _angular_core.InputSignal<Record<string, string | number>>;
|
|
1237
|
+
/** Extra CSS classes. */
|
|
1238
|
+
styleClass: _angular_core.InputSignal<string>;
|
|
1239
|
+
/** Emitted on click with the original MouseEvent. */
|
|
1240
|
+
onClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
1241
|
+
protected getIcon: typeof getIcon$6;
|
|
1242
|
+
protected iconOnly: _angular_core.Signal<boolean>;
|
|
1243
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
1244
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "shk-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPos": { "alias": "iconPos"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "raised": { "alias": "raised"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
/** SVG radial knob with drag and keyboard support. Implements ControlValueAccessor. */
|
|
1248
|
+
declare class KnobComponent implements ControlValueAccessor {
|
|
1249
|
+
/** Current value. Two-way bindable with [(value)]. */
|
|
1250
|
+
value: _angular_core.ModelSignal<number>;
|
|
1251
|
+
/** Minimum value. */
|
|
1252
|
+
min: _angular_core.InputSignal<number>;
|
|
1253
|
+
/** Maximum value. */
|
|
1254
|
+
max: _angular_core.InputSignal<number>;
|
|
1255
|
+
/** Increment used by arrows and pointer drag rounding. */
|
|
1256
|
+
step: _angular_core.InputSignal<number>;
|
|
1257
|
+
/** Diameter of the knob in px. */
|
|
1258
|
+
size: _angular_core.InputSignal<number>;
|
|
1259
|
+
/** Thickness of the arc stroke. */
|
|
1260
|
+
strokeWidth: _angular_core.InputSignal<number>;
|
|
1261
|
+
/** Color of the filled arc. */
|
|
1262
|
+
valueColor: _angular_core.InputSignal<string>;
|
|
1263
|
+
/** Color of the track arc. */
|
|
1264
|
+
rangeColor: _angular_core.InputSignal<string>;
|
|
1265
|
+
/** Whether the current value is shown in the center. */
|
|
1266
|
+
showValue: _angular_core.InputSignal<boolean>;
|
|
1267
|
+
/** Disables user interaction. */
|
|
1268
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1269
|
+
/** Blocks editing but keeps the control styled as enabled. */
|
|
1270
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
1271
|
+
/** Accessible label. */
|
|
1272
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
1273
|
+
/** Emitted when the knob value changes. */
|
|
1274
|
+
change: _angular_core.OutputEmitterRef<number>;
|
|
1275
|
+
/** Emitted when the user releases the pointer. */
|
|
1276
|
+
end: _angular_core.OutputEmitterRef<number>;
|
|
1277
|
+
protected knobSvg: _angular_core.Signal<ElementRef<SVGElement> | undefined>;
|
|
1278
|
+
private onChange;
|
|
1279
|
+
private onTouched;
|
|
1280
|
+
private dragging;
|
|
1281
|
+
private formDisabled;
|
|
1282
|
+
/** Effective disabled state combining the `disabled` input and the form binding. */
|
|
1283
|
+
protected effectiveDisabled: _angular_core.Signal<boolean>;
|
|
1284
|
+
protected r: _angular_core.Signal<number>;
|
|
1285
|
+
protected center: _angular_core.Signal<number>;
|
|
1286
|
+
protected fraction: _angular_core.Signal<number>;
|
|
1287
|
+
protected rangeArc: _angular_core.Signal<string>;
|
|
1288
|
+
protected valueArc: _angular_core.Signal<string>;
|
|
1289
|
+
writeValue(value: any): void;
|
|
1290
|
+
registerOnChange(fn: any): void;
|
|
1291
|
+
registerOnTouched(fn: any): void;
|
|
1292
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1293
|
+
onPointerDown(event: PointerEvent): void;
|
|
1294
|
+
onPointerMove(event: PointerEvent): void;
|
|
1295
|
+
onPointerUp(event: PointerEvent): void;
|
|
1296
|
+
updateByKey(step: number): void;
|
|
1297
|
+
private applyEvent;
|
|
1298
|
+
private setValue;
|
|
1299
|
+
private clamp;
|
|
1300
|
+
private getArcPath;
|
|
1301
|
+
private anglePoint;
|
|
1302
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KnobComponent, never>;
|
|
1303
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KnobComponent, "shk-knob", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "valueColor": { "alias": "valueColor"; "required": false; "isSignal": true; }; "rangeColor": { "alias": "rangeColor"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "change": "change"; "end": "end"; }, never, never, true, never>;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
/** Circular indeterminate spinner. */
|
|
1307
|
+
declare class LoadingSpinnerComponent {
|
|
1308
|
+
/** Diameter of the spinner. */
|
|
1309
|
+
size: _angular_core.InputSignal<string>;
|
|
1310
|
+
/** Border thickness in px. */
|
|
1311
|
+
thickness: _angular_core.InputSignal<number>;
|
|
1312
|
+
/** Color of the moving arc. Defaults to the primary token. */
|
|
1313
|
+
color: _angular_core.InputSignal<string>;
|
|
1314
|
+
/** Optional text shown under the spinner. */
|
|
1315
|
+
label: _angular_core.InputSignal<string>;
|
|
1316
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingSpinnerComponent, never>;
|
|
1317
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingSpinnerComponent, "shk-loading-spinner", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
/** Progress bar with an indeterminate sweep or a determinate percentage. */
|
|
1321
|
+
declare class LoadingBarComponent {
|
|
1322
|
+
/** Height of the bar. */
|
|
1323
|
+
height: _angular_core.InputSignal<string>;
|
|
1324
|
+
/** When true the bar animates without a known percentage. */
|
|
1325
|
+
indeterminate: _angular_core.InputSignal<boolean>;
|
|
1326
|
+
/** Current progress 0-100 when `indeterminate` is false. */
|
|
1327
|
+
progress: _angular_core.InputSignal<number>;
|
|
1328
|
+
/** Fill color. Defaults to the primary token. */
|
|
1329
|
+
color: _angular_core.InputSignal<string>;
|
|
1330
|
+
/** Renders fully rounded ends. */
|
|
1331
|
+
rounded: _angular_core.InputSignal<boolean>;
|
|
1332
|
+
protected fillStyle: _angular_core.Signal<{
|
|
1333
|
+
width?: undefined;
|
|
1334
|
+
} | {
|
|
1335
|
+
width: string;
|
|
1336
|
+
}>;
|
|
1337
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingBarComponent, never>;
|
|
1338
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingBarComponent, "shk-loading-bar", never, { "height": { "alias": "height"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
type LoadingOverlayBackdrop = 'transparent' | 'light' | 'dark';
|
|
1342
|
+
/** Wraps content and shows a centered spinner over it while `visible` is true. */
|
|
1343
|
+
declare class LoadingOverlayComponent {
|
|
1344
|
+
/** Controls whether the spinner layer is shown. */
|
|
1345
|
+
visible: _angular_core.InputSignal<boolean>;
|
|
1346
|
+
/** Optional text under the spinner. */
|
|
1347
|
+
message: _angular_core.InputSignal<string>;
|
|
1348
|
+
/** Diameter of the spinner. */
|
|
1349
|
+
spinnerSize: _angular_core.InputSignal<string>;
|
|
1350
|
+
/** Spinner color. Defaults to the primary token. */
|
|
1351
|
+
color: _angular_core.InputSignal<string>;
|
|
1352
|
+
/** Backdrop behind the spinner. */
|
|
1353
|
+
backdrop: _angular_core.InputSignal<LoadingOverlayBackdrop>;
|
|
1354
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingOverlayComponent, never>;
|
|
1355
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingOverlayComponent, "shk-loading-overlay", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "spinnerSize": { "alias": "spinnerSize"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
/** Bouncing dots loading indicator. */
|
|
1359
|
+
declare class LoadingDotsComponent {
|
|
1360
|
+
/** Diameter of each dot. */
|
|
1361
|
+
size: _angular_core.InputSignal<string>;
|
|
1362
|
+
/** Dot color. Defaults to the primary token. */
|
|
1363
|
+
color: _angular_core.InputSignal<string>;
|
|
1364
|
+
/** Number of dots. */
|
|
1365
|
+
count: _angular_core.InputSignal<number>;
|
|
1366
|
+
/** Optional text shown next to the dots. */
|
|
1367
|
+
label: _angular_core.InputSignal<string>;
|
|
1368
|
+
protected dots: _angular_core.Signal<unknown[]>;
|
|
1369
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingDotsComponent, never>;
|
|
1370
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingDotsComponent, "shk-loading-dots", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
/** Shared state between shk-tabs and its projected tab/tabpanel children. */
|
|
1374
|
+
declare class TabsService {
|
|
1375
|
+
readonly active: _angular_core.WritableSignal<any>;
|
|
1376
|
+
select(value: any): void;
|
|
1377
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsService, never>;
|
|
1378
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TabsService>;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
/** Container for tab panels. Renders its projected shk-tablist/shh-tab content. */
|
|
1382
|
+
declare class TabsComponent {
|
|
1383
|
+
/** Currently active tab value. Two-way bindable with [(value)]. */
|
|
1384
|
+
value: _angular_core.ModelSignal<any>;
|
|
1385
|
+
/** Allows the tab header to scroll horizontally when it overflows. */
|
|
1386
|
+
scrollable: _angular_core.InputSignal<boolean>;
|
|
1387
|
+
protected tabsSvc: TabsService;
|
|
1388
|
+
constructor();
|
|
1389
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
|
|
1390
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "shk-tabs", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["*"], true, never>;
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
/** Horizontal bar that contains the shk-tab headers. */
|
|
1394
|
+
declare class TablistComponent {
|
|
1395
|
+
/** Allows the header to scroll horizontally when it overflows. */
|
|
1396
|
+
scrollable: _angular_core.InputSignal<boolean>;
|
|
1397
|
+
/** Extra CSS classes. */
|
|
1398
|
+
styleClass: _angular_core.InputSignal<string>;
|
|
1399
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TablistComponent, never>;
|
|
1400
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TablistComponent, "shk-tablist", never, { "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
/** A single tab header. Clicking it activates the matching panel. */
|
|
1404
|
+
declare class TabComponent {
|
|
1405
|
+
/** Value that links this tab to its panel. */
|
|
1406
|
+
value: _angular_core.InputSignal<any>;
|
|
1407
|
+
/** Disables the tab. */
|
|
1408
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1409
|
+
/** Extra CSS classes. */
|
|
1410
|
+
styleClass: _angular_core.InputSignal<string>;
|
|
1411
|
+
protected tabsSvc: TabsService;
|
|
1412
|
+
protected active: _angular_core.Signal<boolean>;
|
|
1413
|
+
select(): void;
|
|
1414
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
|
|
1415
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "shk-tab", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
/** Container that groups the shk-tabpanel content sections. */
|
|
1419
|
+
declare class TabpanelsComponent {
|
|
1420
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabpanelsComponent, never>;
|
|
1421
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabpanelsComponent, "shk-tabpanels", never, {}, {}, never, ["*"], true, never>;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
/** Content section shown only while its value is the active tab. */
|
|
1425
|
+
declare class TabPanelComponent {
|
|
1426
|
+
/** Value that links this panel to its tab. */
|
|
1427
|
+
value: _angular_core.InputSignal<any>;
|
|
1428
|
+
protected tabsSvc: TabsService;
|
|
1429
|
+
protected active: _angular_core.Signal<boolean>;
|
|
1430
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabPanelComponent, never>;
|
|
1431
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabPanelComponent, "shk-tabpanel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
interface BreadcrumbItem {
|
|
1435
|
+
label: string;
|
|
1436
|
+
route?: string;
|
|
1437
|
+
}
|
|
1438
|
+
declare class BreadcrumbService {
|
|
1439
|
+
private breadcrumbsSubject;
|
|
1440
|
+
breadcrumbs$: Observable<BreadcrumbItem[]>;
|
|
1441
|
+
set(items: BreadcrumbItem[]): void;
|
|
1442
|
+
clear(): void;
|
|
1443
|
+
getCurrent(): BreadcrumbItem[];
|
|
1444
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbService, never>;
|
|
1445
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<BreadcrumbService>;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
type BreadcrumbSeparator = 'chevron' | 'slash' | 'arrow';
|
|
1449
|
+
declare class BreadcrumbComponent implements OnInit, OnDestroy {
|
|
1450
|
+
private readonly breadcrumbService;
|
|
1451
|
+
items: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
1452
|
+
separator: _angular_core.InputSignal<BreadcrumbSeparator>;
|
|
1453
|
+
useService: _angular_core.InputSignal<boolean>;
|
|
1454
|
+
protected serviceItems: _angular_core.WritableSignal<BreadcrumbItem[]>;
|
|
1455
|
+
protected resolvedItems: _angular_core.Signal<BreadcrumbItem[]>;
|
|
1456
|
+
private serviceSub;
|
|
1457
|
+
constructor();
|
|
1458
|
+
ngOnInit(): void;
|
|
1459
|
+
ngOnDestroy(): void;
|
|
1460
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
|
|
1461
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbComponent, "shk-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "useService": { "alias": "useService"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
export { BreadcrumbComponent, BreadcrumbService, ButtonComponent, COLOR_PALETTE, ChartComponent, ConfirmDialogComponent, ConfirmDialogService, DEFAULT_MARKER_GRADIENTS, DEFAULT_SUPPLIER_ICON_COLORS, DEFAULT_SUPPLIER_TYPE_ICONS, DatePickerComponent, FieldsetComponent, FileUploadComponent, KnobComponent, LoadingBarComponent, LoadingDotsComponent, LoadingOverlayComponent, LoadingSpinnerComponent, ModalComponent, ModalService, NotificationComponent, NotificationService, PriceInputComponent, RailSidebarComponent, SelectComponent, ShkWizardStepContent, SidebarComponent, SkeletonComponent, TabComponent, TabPanelComponent, TableComponent, TablistComponent, TabpanelsComponent, TabsComponent, TagComponent, TextFieldComponent, TimelineComponent, ToggleComponent, TooltipComponent, WizardComponent, readThemeColors };
|
|
1465
|
+
export type { BreadcrumbItem, BreadcrumbSeparator, ButtonIconPosition, ButtonSeverity, ButtonSize, Column, ConfirmConfig, DatePickerView, FieldsetHeaderAction, FileUploadError, FilterChangeEvent, LoadingOverlayBackdrop, ModalConfig, Notification, NotificationPosition, PageChangeEvent, RailSidebarItem, RailSidebarSection, RailSidebarSectionEvent, RowAction, SelectOption, SidebarGroup, SidebarItem, SkeletonAnimation, SkeletonShape, TableAction, TagSeverity, TimelineAction, TimelineAlignment, TimelineItem, TimelineItemAction, TimelineMarkerSize, TimelineMeta, TimelineSubItem, TimelineSubItemAction, WizardStep };
|