shirkasoft-ui-components 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/shirkasoft-ui-components-breadcrumb.mjs +199 -0
- package/fesm2022/shirkasoft-ui-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-button.mjs +148 -0
- package/fesm2022/shirkasoft-ui-components-button.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-chart.mjs +153 -0
- package/fesm2022/shirkasoft-ui-components-chart.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-confirm-dialog.mjs +143 -0
- package/fesm2022/shirkasoft-ui-components-confirm-dialog.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-date-picker.mjs +638 -0
- package/fesm2022/shirkasoft-ui-components-date-picker.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-fieldset.mjs +94 -0
- package/fesm2022/shirkasoft-ui-components-fieldset.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-file-upload.mjs +242 -0
- package/fesm2022/shirkasoft-ui-components-file-upload.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-knob.mjs +269 -0
- package/fesm2022/shirkasoft-ui-components-knob.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-loading.mjs +255 -0
- package/fesm2022/shirkasoft-ui-components-loading.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-modal.mjs +290 -0
- package/fesm2022/shirkasoft-ui-components-modal.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-notification.mjs +143 -0
- package/fesm2022/shirkasoft-ui-components-notification.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-price-input.mjs +64 -0
- package/fesm2022/shirkasoft-ui-components-price-input.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-rail-sidebar.mjs +205 -0
- package/fesm2022/shirkasoft-ui-components-rail-sidebar.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-select.mjs +737 -0
- package/fesm2022/shirkasoft-ui-components-select.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-sidebar.mjs +185 -0
- package/fesm2022/shirkasoft-ui-components-sidebar.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-skeleton.mjs +74 -0
- package/fesm2022/shirkasoft-ui-components-skeleton.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-table.mjs +689 -0
- package/fesm2022/shirkasoft-ui-components-table.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-tabs.mjs +249 -0
- package/fesm2022/shirkasoft-ui-components-tabs.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-tag.mjs +70 -0
- package/fesm2022/shirkasoft-ui-components-tag.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-text-field.mjs +370 -0
- package/fesm2022/shirkasoft-ui-components-text-field.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-timeline.mjs +222 -0
- package/fesm2022/shirkasoft-ui-components-timeline.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-toggle.mjs +186 -0
- package/fesm2022/shirkasoft-ui-components-toggle.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-tooltip.mjs +169 -0
- package/fesm2022/shirkasoft-ui-components-tooltip.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-utils.mjs +64 -0
- package/fesm2022/shirkasoft-ui-components-utils.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components-wizard.mjs +167 -0
- package/fesm2022/shirkasoft-ui-components-wizard.mjs.map +1 -0
- package/fesm2022/shirkasoft-ui-components.mjs +0 -5729
- package/fesm2022/shirkasoft-ui-components.mjs.map +1 -1
- package/package.json +101 -1
- package/types/shirkasoft-ui-components-breadcrumb.d.ts +68 -0
- package/types/shirkasoft-ui-components-button.d.ts +59 -0
- package/types/shirkasoft-ui-components-chart.d.ts +65 -0
- package/types/shirkasoft-ui-components-confirm-dialog.d.ts +88 -0
- package/types/shirkasoft-ui-components-date-picker.d.ts +200 -0
- package/types/shirkasoft-ui-components-fieldset.d.ts +72 -0
- package/types/shirkasoft-ui-components-file-upload.d.ts +87 -0
- package/types/shirkasoft-ui-components-knob.d.ts +69 -0
- package/types/shirkasoft-ui-components-loading.d.ts +94 -0
- package/types/shirkasoft-ui-components-modal.d.ts +139 -0
- package/types/shirkasoft-ui-components-notification.d.ts +82 -0
- package/types/shirkasoft-ui-components-price-input.d.ts +41 -0
- package/types/shirkasoft-ui-components-rail-sidebar.d.ts +121 -0
- package/types/shirkasoft-ui-components-select.d.ts +182 -0
- package/types/shirkasoft-ui-components-sidebar.d.ts +106 -0
- package/types/shirkasoft-ui-components-skeleton.d.ts +36 -0
- package/types/shirkasoft-ui-components-table.d.ts +293 -0
- package/types/shirkasoft-ui-components-tabs.d.ts +102 -0
- package/types/shirkasoft-ui-components-tag.d.ts +31 -0
- package/types/shirkasoft-ui-components-text-field.d.ts +120 -0
- package/types/shirkasoft-ui-components-timeline.d.ts +178 -0
- package/types/shirkasoft-ui-components-toggle.d.ts +48 -0
- package/types/shirkasoft-ui-components-tooltip.d.ts +47 -0
- package/types/shirkasoft-ui-components-utils.d.ts +9 -0
- package/types/shirkasoft-ui-components-wizard.d.ts +101 -0
- package/types/shirkasoft-ui-components.d.ts +1 -2333
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/** An action button rendered on the right side of the fieldset header. */
|
|
4
|
+
interface FieldsetHeaderAction {
|
|
5
|
+
label: string;
|
|
6
|
+
icon: string | any;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
class?: string;
|
|
9
|
+
isVisible?: () => boolean;
|
|
10
|
+
isDisabled?: () => boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Shirkasoft UI Components.
|
|
14
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
15
|
+
* Belongs to Shirkasoft.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Collapsible content group with a legend header, optional leading icon,
|
|
19
|
+
* badge and action buttons on the right side.
|
|
20
|
+
*/
|
|
21
|
+
declare class FieldsetComponent {
|
|
22
|
+
protected getIcon: (name: any) => any;
|
|
23
|
+
/** Title shown in the header. */
|
|
24
|
+
legend: _angular_core.InputSignal<string>;
|
|
25
|
+
/** Collapsed state (default: collapsed). Two-way bindable with [(collapsed)]. */
|
|
26
|
+
collapsed: _angular_core.ModelSignal<boolean>;
|
|
27
|
+
/** Whether the header toggles the content. */
|
|
28
|
+
toggleable: _angular_core.InputSignal<boolean>;
|
|
29
|
+
/** Shows the expand/collapse icon button. */
|
|
30
|
+
showToggleIcon: _angular_core.InputSignal<boolean>;
|
|
31
|
+
/** Optional leading icon shown next to the legend. */
|
|
32
|
+
icon: _angular_core.InputSignal<any>;
|
|
33
|
+
/** Optional badge/count shown after the legend. */
|
|
34
|
+
badge: _angular_core.InputSignal<string | number>;
|
|
35
|
+
/** CSS classes for the badge (override). */
|
|
36
|
+
badgeClass: _angular_core.InputSignal<string>;
|
|
37
|
+
/** Icon shown when collapsed. */
|
|
38
|
+
collapsedIcon: _angular_core.InputSignal<string>;
|
|
39
|
+
/** Icon shown when expanded. */
|
|
40
|
+
expandedIcon: _angular_core.InputSignal<string>;
|
|
41
|
+
/** Action buttons rendered on the right side of the header. */
|
|
42
|
+
headerActions: _angular_core.InputSignal<FieldsetHeaderAction[]>;
|
|
43
|
+
/** Custom content templates: key 'legend' (context: $implicit collapsed, expanded). */
|
|
44
|
+
customTemplates: _angular_core.InputSignal<{
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
}>;
|
|
47
|
+
/** CSS classes for the extra shadow styling of the panel. */
|
|
48
|
+
hasShadow: _angular_core.InputSignal<boolean>;
|
|
49
|
+
/** Accessible label for the expand action. */
|
|
50
|
+
expandLabel: _angular_core.InputSignal<string>;
|
|
51
|
+
/** Accessible label for the collapse action. */
|
|
52
|
+
collapseLabel: _angular_core.InputSignal<string>;
|
|
53
|
+
/** Emits the new expanded state when toggled. */
|
|
54
|
+
toggle: _angular_core.OutputEmitterRef<boolean>;
|
|
55
|
+
/** Emitted when the fieldset is expanded. */
|
|
56
|
+
expand: _angular_core.OutputEmitterRef<void>;
|
|
57
|
+
/** Emitted when the fieldset is collapsed. */
|
|
58
|
+
collapse: _angular_core.OutputEmitterRef<void>;
|
|
59
|
+
/** Stable id linking the header button and the content region. */
|
|
60
|
+
contentId: string;
|
|
61
|
+
/** Toggles the collapsed state and emits the new state (unless not toggleable). */
|
|
62
|
+
onToggle(): void;
|
|
63
|
+
/** Whether a header action can be rendered. */
|
|
64
|
+
isHeaderActionVisible(action: FieldsetHeaderAction): boolean;
|
|
65
|
+
/** Whether a header action should be disabled. */
|
|
66
|
+
isHeaderActionDisabled(action: FieldsetHeaderAction): boolean;
|
|
67
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldsetComponent, never>;
|
|
68
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FieldsetComponent, "shk-fieldset", never, { "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "showToggleIcon": { "alias": "showToggleIcon"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeClass": { "alias": "badgeClass"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "headerActions": { "alias": "headerActions"; "required": false; "isSignal": true; }; "customTemplates": { "alias": "customTemplates"; "required": false; "isSignal": true; }; "hasShadow": { "alias": "hasShadow"; "required": false; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "toggle": "toggle"; "expand": "expand"; "collapse": "collapse"; }, never, ["*"], true, never>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { FieldsetComponent };
|
|
72
|
+
export type { FieldsetHeaderAction };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
interface FileUploadError {
|
|
4
|
+
type: 'size' | 'type';
|
|
5
|
+
message: string;
|
|
6
|
+
file: File;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Shirkasoft UI Components.
|
|
10
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
11
|
+
* Belongs to Shirkasoft.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Drag & drop file uploader with file type/size validation, image previews,
|
|
15
|
+
* multiple files support and localized error messages.
|
|
16
|
+
*/
|
|
17
|
+
declare class FileUploadComponent {
|
|
18
|
+
protected getIcon: (name: any) => any;
|
|
19
|
+
private transloco;
|
|
20
|
+
/** Main label of the uploader. */
|
|
21
|
+
label: _angular_core.InputSignal<string>;
|
|
22
|
+
/** Accepted MIME types/extensions (e.g. 'image/*', '.pdf'). */
|
|
23
|
+
accept: _angular_core.InputSignal<string>;
|
|
24
|
+
/** Maximum allowed size per file (bytes). */
|
|
25
|
+
maxFileSize: _angular_core.InputSignal<number>;
|
|
26
|
+
/** Maximum number of files (0 = unlimited). */
|
|
27
|
+
maxFiles: _angular_core.InputSignal<number>;
|
|
28
|
+
/** Text of the file picker button. */
|
|
29
|
+
fileUploadText: _angular_core.InputSignal<string>;
|
|
30
|
+
/** Helper text shown next to the label. */
|
|
31
|
+
fileRecommendation: _angular_core.InputSignal<string>;
|
|
32
|
+
/** Text shown when files are already loaded. */
|
|
33
|
+
changeFilesText: _angular_core.InputSignal<string>;
|
|
34
|
+
/** Enables selecting more than one file at once. */
|
|
35
|
+
multiple: _angular_core.InputSignal<boolean>;
|
|
36
|
+
/** Emitted with the currently selected files. */
|
|
37
|
+
fileSelected: _angular_core.OutputEmitterRef<File[]>;
|
|
38
|
+
/** Emitted when the last selected file is removed. */
|
|
39
|
+
fileRemoved: _angular_core.OutputEmitterRef<void>;
|
|
40
|
+
/** Emitted when a file fails validation (type/size). */
|
|
41
|
+
fileError: _angular_core.OutputEmitterRef<FileUploadError>;
|
|
42
|
+
/** Emitted when a file is near the size limit. */
|
|
43
|
+
fileWarning: _angular_core.OutputEmitterRef<FileUploadError>;
|
|
44
|
+
/** Currently selected files. */
|
|
45
|
+
selectedFiles: _angular_core.WritableSignal<File[]>;
|
|
46
|
+
/** Localized error message displayed to the user. */
|
|
47
|
+
errorMessage: _angular_core.WritableSignal<string>;
|
|
48
|
+
/** Whether the user is dragging files over the zone. */
|
|
49
|
+
isDragOver: _angular_core.WritableSignal<boolean>;
|
|
50
|
+
/** Object URLs used for image previews. */
|
|
51
|
+
private previewUrls;
|
|
52
|
+
/** Whether another selection is allowed. */
|
|
53
|
+
canAddMore: _angular_core.Signal<boolean>;
|
|
54
|
+
/** True when the maximum number of files has been reached. */
|
|
55
|
+
maxReached: _angular_core.Signal<boolean>;
|
|
56
|
+
/** Whether the file is an image (used for previews). */
|
|
57
|
+
isImageFile(file: File): boolean;
|
|
58
|
+
/** Returns (creating on demand) the object URL for a file preview. */
|
|
59
|
+
previewUrl(file: File): string;
|
|
60
|
+
/** Marks the drop zone as active while dragging over it. */
|
|
61
|
+
onDragOver(event: DragEvent): void;
|
|
62
|
+
/** Clears the drag-over state when the drag leaves the zone. */
|
|
63
|
+
onDragLeave(event: DragEvent): void;
|
|
64
|
+
/** Processes the files dropped on the zone. */
|
|
65
|
+
onDrop(event: DragEvent): void;
|
|
66
|
+
/** Processes the files picked from the native file input. */
|
|
67
|
+
onFileChange(event: Event): void;
|
|
68
|
+
/** Validates and appends the received files, emitting errors/warnings. */
|
|
69
|
+
private processFiles;
|
|
70
|
+
/** Validates a file against `accept` and `maxFileSize`. */
|
|
71
|
+
private validateFile;
|
|
72
|
+
/** Emits a warning when the file is close to the size limit (>90%). */
|
|
73
|
+
private checkSizeWarning;
|
|
74
|
+
/** Removes a file, revoking its preview URL. */
|
|
75
|
+
removeFile(file: File): void;
|
|
76
|
+
/** Clears all selected files and previews. */
|
|
77
|
+
changeFiles(): void;
|
|
78
|
+
/** Revokes every stored preview object URL. */
|
|
79
|
+
private clearPreviews;
|
|
80
|
+
/** Human readable size (B/KB/MB). */
|
|
81
|
+
private formatFileSize;
|
|
82
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
|
|
83
|
+
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>;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { FileUploadComponent };
|
|
87
|
+
export type { FileUploadError };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Shirkasoft UI Components.
|
|
7
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
8
|
+
* Belongs to Shirkasoft.
|
|
9
|
+
*/
|
|
10
|
+
/** SVG radial knob with drag and keyboard support. Implements ControlValueAccessor. */
|
|
11
|
+
declare class KnobComponent implements ControlValueAccessor {
|
|
12
|
+
/** Current value. Two-way bindable with [(value)]. */
|
|
13
|
+
value: _angular_core.ModelSignal<number>;
|
|
14
|
+
/** Minimum value. */
|
|
15
|
+
min: _angular_core.InputSignal<number>;
|
|
16
|
+
/** Maximum value. */
|
|
17
|
+
max: _angular_core.InputSignal<number>;
|
|
18
|
+
/** Increment used by arrows and pointer drag rounding. */
|
|
19
|
+
step: _angular_core.InputSignal<number>;
|
|
20
|
+
/** Diameter of the knob in px. */
|
|
21
|
+
size: _angular_core.InputSignal<number>;
|
|
22
|
+
/** Thickness of the arc stroke. */
|
|
23
|
+
strokeWidth: _angular_core.InputSignal<number>;
|
|
24
|
+
/** Color of the filled arc. */
|
|
25
|
+
valueColor: _angular_core.InputSignal<string>;
|
|
26
|
+
/** Color of the track arc. */
|
|
27
|
+
rangeColor: _angular_core.InputSignal<string>;
|
|
28
|
+
/** Whether the current value is shown in the center. */
|
|
29
|
+
showValue: _angular_core.InputSignal<boolean>;
|
|
30
|
+
/** Disables user interaction. */
|
|
31
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
32
|
+
/** Blocks editing but keeps the control styled as enabled. */
|
|
33
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
34
|
+
/** Accessible label. */
|
|
35
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
36
|
+
/** Emitted when the knob value changes. */
|
|
37
|
+
change: _angular_core.OutputEmitterRef<number>;
|
|
38
|
+
/** Emitted when the user releases the pointer. */
|
|
39
|
+
end: _angular_core.OutputEmitterRef<number>;
|
|
40
|
+
protected knobSvg: _angular_core.Signal<ElementRef<SVGElement> | undefined>;
|
|
41
|
+
private onChange;
|
|
42
|
+
private onTouched;
|
|
43
|
+
private dragging;
|
|
44
|
+
private formDisabled;
|
|
45
|
+
/** Effective disabled state combining the `disabled` input and the form binding. */
|
|
46
|
+
protected effectiveDisabled: _angular_core.Signal<boolean>;
|
|
47
|
+
protected r: _angular_core.Signal<number>;
|
|
48
|
+
protected center: _angular_core.Signal<number>;
|
|
49
|
+
protected fraction: _angular_core.Signal<number>;
|
|
50
|
+
protected rangeArc: _angular_core.Signal<string>;
|
|
51
|
+
protected valueArc: _angular_core.Signal<string>;
|
|
52
|
+
writeValue(value: any): void;
|
|
53
|
+
registerOnChange(fn: any): void;
|
|
54
|
+
registerOnTouched(fn: any): void;
|
|
55
|
+
setDisabledState(isDisabled: boolean): void;
|
|
56
|
+
onPointerDown(event: PointerEvent): void;
|
|
57
|
+
onPointerMove(event: PointerEvent): void;
|
|
58
|
+
onPointerUp(event: PointerEvent): void;
|
|
59
|
+
updateByKey(step: number): void;
|
|
60
|
+
private applyEvent;
|
|
61
|
+
private setValue;
|
|
62
|
+
private clamp;
|
|
63
|
+
private getArcPath;
|
|
64
|
+
private anglePoint;
|
|
65
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KnobComponent, never>;
|
|
66
|
+
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>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { KnobComponent };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shirkasoft UI Components.
|
|
5
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
6
|
+
* Belongs to Shirkasoft.
|
|
7
|
+
*/
|
|
8
|
+
/** Circular indeterminate spinner. */
|
|
9
|
+
declare class LoadingSpinnerComponent {
|
|
10
|
+
/** Diameter of the spinner. */
|
|
11
|
+
size: _angular_core.InputSignal<string>;
|
|
12
|
+
/** Border thickness in px. */
|
|
13
|
+
thickness: _angular_core.InputSignal<number>;
|
|
14
|
+
/** Color of the moving arc. Defaults to the primary token. */
|
|
15
|
+
color: _angular_core.InputSignal<string>;
|
|
16
|
+
/** Optional text shown under the spinner. */
|
|
17
|
+
label: _angular_core.InputSignal<string>;
|
|
18
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingSpinnerComponent, never>;
|
|
19
|
+
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>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Shirkasoft UI Components.
|
|
24
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
25
|
+
* Belongs to Shirkasoft.
|
|
26
|
+
*/
|
|
27
|
+
/** Progress bar with an indeterminate sweep or a determinate percentage. */
|
|
28
|
+
declare class LoadingBarComponent {
|
|
29
|
+
/** Height of the bar. */
|
|
30
|
+
height: _angular_core.InputSignal<string>;
|
|
31
|
+
/** When true the bar animates without a known percentage. */
|
|
32
|
+
indeterminate: _angular_core.InputSignal<boolean>;
|
|
33
|
+
/** Current progress 0-100 when `indeterminate` is false. */
|
|
34
|
+
progress: _angular_core.InputSignal<number>;
|
|
35
|
+
/** Fill color. Defaults to the primary token. */
|
|
36
|
+
color: _angular_core.InputSignal<string>;
|
|
37
|
+
/** Renders fully rounded ends. */
|
|
38
|
+
rounded: _angular_core.InputSignal<boolean>;
|
|
39
|
+
/** Fill width/style for the determinate mode, empty for indeterminate. */
|
|
40
|
+
protected fillStyle: _angular_core.Signal<{
|
|
41
|
+
width?: undefined;
|
|
42
|
+
} | {
|
|
43
|
+
width: string;
|
|
44
|
+
}>;
|
|
45
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingBarComponent, never>;
|
|
46
|
+
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>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** Backdrop style behind the overlay: none, light or dark. */
|
|
50
|
+
type LoadingOverlayBackdrop = 'transparent' | 'light' | 'dark';
|
|
51
|
+
/**
|
|
52
|
+
* Shirkasoft UI Components.
|
|
53
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
54
|
+
* Belongs to Shirkasoft.
|
|
55
|
+
*/
|
|
56
|
+
/** Wraps content and shows a centered spinner over it while `visible` is true. */
|
|
57
|
+
declare class LoadingOverlayComponent {
|
|
58
|
+
/** Controls whether the spinner layer is shown. */
|
|
59
|
+
visible: _angular_core.InputSignal<boolean>;
|
|
60
|
+
/** Optional text under the spinner. */
|
|
61
|
+
message: _angular_core.InputSignal<string>;
|
|
62
|
+
/** Diameter of the spinner. */
|
|
63
|
+
spinnerSize: _angular_core.InputSignal<string>;
|
|
64
|
+
/** Spinner color. Defaults to the primary token. */
|
|
65
|
+
color: _angular_core.InputSignal<string>;
|
|
66
|
+
/** Backdrop behind the spinner. */
|
|
67
|
+
backdrop: _angular_core.InputSignal<LoadingOverlayBackdrop>;
|
|
68
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingOverlayComponent, never>;
|
|
69
|
+
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>;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Shirkasoft UI Components.
|
|
74
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
75
|
+
* Belongs to Shirkasoft.
|
|
76
|
+
*/
|
|
77
|
+
/** Bouncing dots loading indicator. */
|
|
78
|
+
declare class LoadingDotsComponent {
|
|
79
|
+
/** Diameter of each dot. */
|
|
80
|
+
size: _angular_core.InputSignal<string>;
|
|
81
|
+
/** Dot color. Defaults to the primary token. */
|
|
82
|
+
color: _angular_core.InputSignal<string>;
|
|
83
|
+
/** Number of dots. */
|
|
84
|
+
count: _angular_core.InputSignal<number>;
|
|
85
|
+
/** Optional text shown next to the dots. */
|
|
86
|
+
label: _angular_core.InputSignal<string>;
|
|
87
|
+
/** Array of dot indices to render based on the `count` input. */
|
|
88
|
+
protected dots: _angular_core.Signal<unknown[]>;
|
|
89
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingDotsComponent, never>;
|
|
90
|
+
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>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { LoadingBarComponent, LoadingDotsComponent, LoadingOverlayComponent, LoadingSpinnerComponent };
|
|
94
|
+
export type { LoadingOverlayBackdrop };
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Type, ViewContainerRef, ComponentRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Shirkasoft UI Components.
|
|
6
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
7
|
+
* Belongs to Shirkasoft.
|
|
8
|
+
*/
|
|
9
|
+
/** Options for opening a modal through the service. */
|
|
10
|
+
interface ModalConfig {
|
|
11
|
+
/** Title shown in the modal header. */
|
|
12
|
+
title: string;
|
|
13
|
+
/** Component rendered inside the modal body. */
|
|
14
|
+
component: Type<any>;
|
|
15
|
+
/** Data passed to the modal component via inputs. */
|
|
16
|
+
data?: Record<string, any>;
|
|
17
|
+
/** Modal width (CSS value). */
|
|
18
|
+
width?: string;
|
|
19
|
+
/** Whether the accept/cancel buttons are shown. */
|
|
20
|
+
showButtons?: boolean;
|
|
21
|
+
/** Whether the expand (fullscreen) button is shown. */
|
|
22
|
+
showExpandButton?: boolean;
|
|
23
|
+
/** Label of the accept button. */
|
|
24
|
+
acceptLabel?: string;
|
|
25
|
+
/** Label of the cancel button. */
|
|
26
|
+
cancelLabel?: string;
|
|
27
|
+
/** Optional callback invoked when the modal closes. */
|
|
28
|
+
onClose?: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Global modal manager. Opens modals on a stack, exposing reactive access to
|
|
32
|
+
* the current modal and the top-most opened config.
|
|
33
|
+
*/
|
|
34
|
+
declare class ModalService {
|
|
35
|
+
/** Stack of open modals (top-most renders on top). */
|
|
36
|
+
private stackSignal;
|
|
37
|
+
/** Counter emitted on each close, used to trigger close animations. */
|
|
38
|
+
private closeRequestSignal;
|
|
39
|
+
private router;
|
|
40
|
+
private destroyRef;
|
|
41
|
+
constructor();
|
|
42
|
+
/** Reactive list of open modals. */
|
|
43
|
+
modalStack: _angular_core.Signal<ModalConfig[]>;
|
|
44
|
+
/** Top-most modal on the stack, or null. */
|
|
45
|
+
currentModal: _angular_core.Signal<ModalConfig | null>;
|
|
46
|
+
/** Reactive close-request counter. */
|
|
47
|
+
closeRequest: _angular_core.Signal<number>;
|
|
48
|
+
/** Opens a new modal on top of the stack. */
|
|
49
|
+
open(config: ModalConfig): void;
|
|
50
|
+
/** Alias of `close()` used by the accept button. */
|
|
51
|
+
accept(): void;
|
|
52
|
+
/** Closes the top-most modal, invoking its onClose callback. */
|
|
53
|
+
close(): void;
|
|
54
|
+
/** Closes all open modals at once. */
|
|
55
|
+
clear(): void;
|
|
56
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalService, never>;
|
|
57
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalService>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Shirkasoft UI Components.
|
|
62
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
63
|
+
* Belongs to Shirkasoft.
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* Modal dialog that renders a dynamically loaded component, tracks its
|
|
67
|
+
* form validity and submit outputs, and delegates accept/cancel to the
|
|
68
|
+
* shared ModalService.
|
|
69
|
+
*/
|
|
70
|
+
declare class ModalComponent {
|
|
71
|
+
protected getIcon: (name: any) => any;
|
|
72
|
+
private notificationSrv;
|
|
73
|
+
private destroyRef;
|
|
74
|
+
private modalSrv;
|
|
75
|
+
private transloco;
|
|
76
|
+
private cdr;
|
|
77
|
+
/** Reference where the dynamic content is rendered. */
|
|
78
|
+
container: _angular_core.Signal<ViewContainerRef | undefined>;
|
|
79
|
+
/** Configuration of the modal currently open (from the service). */
|
|
80
|
+
currentConfig: _angular_core.WritableSignal<ModalConfig | null>;
|
|
81
|
+
/** Modal title. */
|
|
82
|
+
title: _angular_core.WritableSignal<string>;
|
|
83
|
+
/** Whether the modal is visible. */
|
|
84
|
+
visible: _angular_core.WritableSignal<boolean>;
|
|
85
|
+
/** Generic loading flag for the footer actions. */
|
|
86
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
87
|
+
/** Whether the accept action is being processed. */
|
|
88
|
+
isProcessing: _angular_core.WritableSignal<boolean>;
|
|
89
|
+
/** Whether the modal is currently expanded to fullscreen. */
|
|
90
|
+
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
91
|
+
/** True when the dynamic component reports a valid form. */
|
|
92
|
+
isFormValid: _angular_core.WritableSignal<boolean>;
|
|
93
|
+
/** Reference to the dynamically created component. */
|
|
94
|
+
componentRef: ComponentRef<any> | null;
|
|
95
|
+
/** Subscriptions to the dynamic component outputs. */
|
|
96
|
+
private subscriptions;
|
|
97
|
+
/** Width of the modal (fullscreen when expanded). */
|
|
98
|
+
computedModalWidth: _angular_core.Signal<string>;
|
|
99
|
+
/** Whether the footer buttons should be rendered. */
|
|
100
|
+
modalButtonsVisible: _angular_core.Signal<boolean>;
|
|
101
|
+
/** Whether the expand/fullscreen button is shown. */
|
|
102
|
+
showExpandButton: _angular_core.Signal<boolean>;
|
|
103
|
+
/** Resolved cancel button label. */
|
|
104
|
+
cancelLabel: _angular_core.Signal<string>;
|
|
105
|
+
/** Resolved accept button label. */
|
|
106
|
+
acceptLabel: _angular_core.Signal<string>;
|
|
107
|
+
constructor();
|
|
108
|
+
/** Updates visibility when the backdrop/close controls change. */
|
|
109
|
+
onVisibleChange(show: boolean): void;
|
|
110
|
+
/** Creates the dynamic component and wires its form/submit outputs. */
|
|
111
|
+
private loadComponent;
|
|
112
|
+
/** Subscribes to a dynamic component output if it exists. */
|
|
113
|
+
private subscribeToOutput;
|
|
114
|
+
/** Finalizes the submit flow, accepting the modal on success. */
|
|
115
|
+
private handleSubmit;
|
|
116
|
+
/** Closes the modal, calling the dynamic component's `handleCancel` if any. */
|
|
117
|
+
closeModal(): void;
|
|
118
|
+
/** Performs the actual close sequence and cleanup. */
|
|
119
|
+
doClose(): void;
|
|
120
|
+
/** Toggles between normal width and fullscreen. */
|
|
121
|
+
toggleExpand(): void;
|
|
122
|
+
/** Validates the dynamic component form and triggers its `onSubmit`. */
|
|
123
|
+
onAccept(): void;
|
|
124
|
+
/** Resolves the dynamic component's form (property or getter function). */
|
|
125
|
+
private getForm;
|
|
126
|
+
/** Recursively checks for real validation errors (ignoring 'warning'). */
|
|
127
|
+
private hasRealErrors;
|
|
128
|
+
/** Marks a form (and all its descendants) as touched. */
|
|
129
|
+
private markAllAsTouched;
|
|
130
|
+
/** True when the component exposes both `onSubmit` and a `form`. */
|
|
131
|
+
private isDynamicComponent;
|
|
132
|
+
/** Unsubscribes outputs and destroys the dynamic component. */
|
|
133
|
+
private cleanup;
|
|
134
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
135
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "shk-modal", never, {}, {}, never, never, true, never>;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { ModalComponent, ModalService };
|
|
139
|
+
export type { ModalConfig };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shirkasoft UI Components.
|
|
5
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
6
|
+
* Belongs to Shirkasoft.
|
|
7
|
+
*/
|
|
8
|
+
/** Toast-style notification entry. */
|
|
9
|
+
interface Notification {
|
|
10
|
+
id: string;
|
|
11
|
+
message: string;
|
|
12
|
+
type: 'success' | 'error' | 'warning' | 'info';
|
|
13
|
+
/** Current progress 0-100 when `showProgress` is true. */
|
|
14
|
+
progress?: number;
|
|
15
|
+
/** Whether the notification renders a progress indicator. */
|
|
16
|
+
showProgress?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Central notification store. Components push/update/remove notifications
|
|
20
|
+
* reactively through signals for the notification component to render.
|
|
21
|
+
*/
|
|
22
|
+
declare class NotificationService {
|
|
23
|
+
/** Reactive list of visible notifications. */
|
|
24
|
+
private notificationsSignal;
|
|
25
|
+
/** Monotonic id counter for new notifications. */
|
|
26
|
+
private currentId;
|
|
27
|
+
/** Readonly reactive list of visible notifications. */
|
|
28
|
+
notifications: _angular_core.Signal<Notification[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Adds a notification and returns its id. When `showProgress` is false and
|
|
31
|
+
* `duration` is positive, it auto-removes after that many ms.
|
|
32
|
+
*/
|
|
33
|
+
addNotification(message: string, type?: Notification['type'], showProgress?: boolean, duration?: number): string;
|
|
34
|
+
/** Updates a progress notification; auto-removes when progress hits 100. */
|
|
35
|
+
updateProgress(notificationId: string, progress: number): void;
|
|
36
|
+
/** Removes the given notification. */
|
|
37
|
+
removeNotification(notification: Notification): void;
|
|
38
|
+
/** Removes the notification with the given id. */
|
|
39
|
+
removeNotificationById(notificationId: string): void;
|
|
40
|
+
/** Removes every visible notification. */
|
|
41
|
+
clearAll(): void;
|
|
42
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
43
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type NotificationPosition = 'center-top' | 'right-top' | 'left-top';
|
|
47
|
+
/**
|
|
48
|
+
* Shirkasoft UI Components.
|
|
49
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
50
|
+
* Belongs to Shirkasoft.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* Toast notification host that renders the notifications pushed through the
|
|
54
|
+
* NotificationService in the configured position.
|
|
55
|
+
*/
|
|
56
|
+
declare class NotificationComponent {
|
|
57
|
+
/** Position of the notification stack: center, right or left top. */
|
|
58
|
+
position: _angular_core.InputSignal<NotificationPosition>;
|
|
59
|
+
private notificationService;
|
|
60
|
+
protected getIcon: (name: any) => any;
|
|
61
|
+
/** Maps each notification type to its internal icon name. */
|
|
62
|
+
private readonly iconMap;
|
|
63
|
+
/** Resolves the icon name for a notification type. */
|
|
64
|
+
getNotificationIcon(type: string): string;
|
|
65
|
+
/** Live list of active notifications. */
|
|
66
|
+
notifications: _angular_core.Signal<Notification[]>;
|
|
67
|
+
/** Notifications sorted with the newest first. */
|
|
68
|
+
sortedNotifications: _angular_core.Signal<Notification[]>;
|
|
69
|
+
/** Removes a notification through the service. */
|
|
70
|
+
removeNotification(notification: Notification): void;
|
|
71
|
+
/** Rounds the progress value of a notification. */
|
|
72
|
+
roundProgress(progress: number | undefined): number;
|
|
73
|
+
/** Whether there are notifications to show. */
|
|
74
|
+
hasNotifications: _angular_core.Signal<boolean>;
|
|
75
|
+
/** CSS classes positioning the stack according to `position`. */
|
|
76
|
+
positionClass: _angular_core.Signal<"fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 right-4" | "fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 left-4" | "fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 left-1/2 -translate-x-1/2">;
|
|
77
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationComponent, never>;
|
|
78
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationComponent, "shk-notification", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { NotificationComponent, NotificationService };
|
|
82
|
+
export type { Notification, NotificationPosition };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shirkasoft UI Components.
|
|
5
|
+
* Authors: Roberto Valladares Martin (Ansem13), Julio César García García (Sanjuli14).
|
|
6
|
+
* Belongs to Shirkasoft.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Numeric input tailored for currency values with a optional percentage mode.
|
|
10
|
+
* Uses two-way bindable models: `value` and `isPercentage`.
|
|
11
|
+
*/
|
|
12
|
+
declare class PriceInputComponent {
|
|
13
|
+
/** Numeric value, bindable with [(value)]. */
|
|
14
|
+
value: _angular_core.ModelSignal<number>;
|
|
15
|
+
/** Whether the input works as a percentage, bindable with [(isPercentage)]. */
|
|
16
|
+
isPercentage: _angular_core.ModelSignal<boolean>;
|
|
17
|
+
/** Label displayed above the field. */
|
|
18
|
+
label: _angular_core.InputSignal<string>;
|
|
19
|
+
/** id attribute applied to the native input. */
|
|
20
|
+
inputId: _angular_core.InputSignal<string>;
|
|
21
|
+
/** Marks the field as required. */
|
|
22
|
+
required: _angular_core.InputSignal<boolean>;
|
|
23
|
+
/** Disables the input. */
|
|
24
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
25
|
+
/** Minimum allowed value. */
|
|
26
|
+
min: _angular_core.InputSignal<number>;
|
|
27
|
+
/** Maximum allowed value. */
|
|
28
|
+
max: _angular_core.InputSignal<number>;
|
|
29
|
+
/** Shows the error styling on the field. */
|
|
30
|
+
showError: _angular_core.InputSignal<boolean>;
|
|
31
|
+
/** Message rendered when the field is in error state. */
|
|
32
|
+
errorMessage: _angular_core.InputSignal<string>;
|
|
33
|
+
/** Toggles between amount and percentage modes (unless disabled). */
|
|
34
|
+
toggleMode(): void;
|
|
35
|
+
/** Parses the user input and updates the bound `value`. */
|
|
36
|
+
onInput(event: Event): void;
|
|
37
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PriceInputComponent, never>;
|
|
38
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PriceInputComponent, "shk-price-input", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "isPercentage": { "alias": "isPercentage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showError": { "alias": "showError"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "isPercentage": "isPercentageChange"; }, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { PriceInputComponent };
|