@yoozsoft/yoozsoft-ng 5.3.5 → 7.1.1

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.
Files changed (113) hide show
  1. package/README.md +143 -24
  2. package/assets/js/UTIF.js-master/LICENSE +21 -21
  3. package/assets/js/UTIF.js-master/README.md +72 -72
  4. package/assets/js/UTIF.js-master/UTIF.js +1762 -1762
  5. package/assets/js/UTIF.js-master/package-lock.json +13 -13
  6. package/assets/js/UTIF.js-master/package.json +24 -0
  7. package/assets/styles/components/_ys-navbar.scss +22 -0
  8. package/assets/styles/components/_ys-pagination.scss +10 -0
  9. package/assets/styles/{ys-layout.scss → utilities/ys-layout.scss} +1 -1
  10. package/assets/styles/ys-styles.scss +2 -0
  11. package/autocomplete/package.json +4 -0
  12. package/date/package.json +4 -0
  13. package/datepicker/package.json +4 -0
  14. package/dropdown/package.json +4 -0
  15. package/fesm2022/yoozsoft-yoozsoft-ng-autocomplete.mjs +257 -197
  16. package/fesm2022/yoozsoft-yoozsoft-ng-autocomplete.mjs.map +1 -1
  17. package/fesm2022/yoozsoft-yoozsoft-ng-date.mjs +562 -0
  18. package/fesm2022/yoozsoft-yoozsoft-ng-date.mjs.map +1 -0
  19. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs +600 -837
  20. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs.map +1 -1
  21. package/fesm2022/yoozsoft-yoozsoft-ng-dropdown.mjs +161 -151
  22. package/fesm2022/yoozsoft-yoozsoft-ng-dropdown.mjs.map +1 -1
  23. package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs +93 -103
  24. package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs.map +1 -1
  25. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs +16 -21
  26. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs.map +1 -1
  27. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs +20 -24
  28. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs.map +1 -1
  29. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs +60 -76
  30. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs.map +1 -1
  31. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs +11 -15
  32. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs.map +1 -1
  33. package/fesm2022/yoozsoft-yoozsoft-ng-pagination.mjs +61 -55
  34. package/fesm2022/yoozsoft-yoozsoft-ng-pagination.mjs.map +1 -1
  35. package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs +142 -130
  36. package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs.map +1 -1
  37. package/fesm2022/yoozsoft-yoozsoft-ng-pipes.mjs +44 -0
  38. package/fesm2022/yoozsoft-yoozsoft-ng-pipes.mjs.map +1 -0
  39. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs +51 -34
  40. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs.map +1 -1
  41. package/fesm2022/yoozsoft-yoozsoft-ng-rating.mjs +155 -0
  42. package/fesm2022/yoozsoft-yoozsoft-ng-rating.mjs.map +1 -0
  43. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs +78 -80
  44. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs.map +1 -1
  45. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs +99 -99
  46. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs.map +1 -1
  47. package/fesm2022/yoozsoft-yoozsoft-ng-table.mjs +316 -0
  48. package/fesm2022/yoozsoft-yoozsoft-ng-table.mjs.map +1 -0
  49. package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs +128 -114
  50. package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs.map +1 -1
  51. package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs +112 -62
  52. package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs.map +1 -1
  53. package/fesm2022/yoozsoft-yoozsoft-ng-validators.mjs +37 -0
  54. package/fesm2022/yoozsoft-yoozsoft-ng-validators.mjs.map +1 -0
  55. package/fesm2022/yoozsoft-yoozsoft-ng.mjs.map +1 -1
  56. package/file-upload/package.json +4 -0
  57. package/footer/package.json +4 -0
  58. package/loading/package.json +4 -0
  59. package/navbar/package.json +4 -0
  60. package/overlay/package.json +4 -0
  61. package/package.json +61 -38
  62. package/pagination/package.json +4 -0
  63. package/password-strength/package.json +4 -0
  64. package/pipes/package.json +4 -0
  65. package/progress/package.json +4 -0
  66. package/rating/package.json +4 -0
  67. package/select/package.json +4 -0
  68. package/sidebar/package.json +4 -0
  69. package/table/package.json +4 -0
  70. package/tiff-viewer/package.json +4 -0
  71. package/toast/package.json +4 -0
  72. package/types/yoozsoft-yoozsoft-ng-autocomplete.d.ts +79 -0
  73. package/types/yoozsoft-yoozsoft-ng-date.d.ts +118 -0
  74. package/types/yoozsoft-yoozsoft-ng-datepicker.d.ts +120 -0
  75. package/types/yoozsoft-yoozsoft-ng-dropdown.d.ts +76 -0
  76. package/types/yoozsoft-yoozsoft-ng-file-upload.d.ts +75 -0
  77. package/types/yoozsoft-yoozsoft-ng-footer.d.ts +26 -0
  78. package/types/yoozsoft-yoozsoft-ng-loading.d.ts +14 -0
  79. package/types/yoozsoft-yoozsoft-ng-navbar.d.ts +60 -0
  80. package/types/yoozsoft-yoozsoft-ng-overlay.d.ts +10 -0
  81. package/types/yoozsoft-yoozsoft-ng-pagination.d.ts +31 -0
  82. package/types/yoozsoft-yoozsoft-ng-password-strength.d.ts +73 -0
  83. package/types/yoozsoft-yoozsoft-ng-pipes.d.ts +11 -0
  84. package/types/yoozsoft-yoozsoft-ng-progress.d.ts +31 -0
  85. package/types/yoozsoft-yoozsoft-ng-rating.d.ts +56 -0
  86. package/types/yoozsoft-yoozsoft-ng-select.d.ts +43 -0
  87. package/types/yoozsoft-yoozsoft-ng-sidebar.d.ts +69 -0
  88. package/types/yoozsoft-yoozsoft-ng-table.d.ts +137 -0
  89. package/types/yoozsoft-yoozsoft-ng-tiff-viewer.d.ts +53 -0
  90. package/types/yoozsoft-yoozsoft-ng-toast.d.ts +66 -0
  91. package/types/yoozsoft-yoozsoft-ng-validators.d.ts +5 -0
  92. package/validators/package.json +4 -0
  93. package/autocomplete/index.d.ts +0 -71
  94. package/datepicker/index.d.ts +0 -291
  95. package/directives/index.d.ts +0 -17
  96. package/dropdown/index.d.ts +0 -62
  97. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs +0 -57
  98. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs.map +0 -1
  99. package/file-upload/index.d.ts +0 -72
  100. package/footer/index.d.ts +0 -25
  101. package/loading/index.d.ts +0 -13
  102. package/navbar/index.d.ts +0 -56
  103. package/overlay/index.d.ts +0 -11
  104. package/pagination/index.d.ts +0 -29
  105. package/password-strength/index.d.ts +0 -84
  106. package/progress/index.d.ts +0 -28
  107. package/select/index.d.ts +0 -39
  108. package/sidebar/index.d.ts +0 -94
  109. package/tiff-viewer/index.d.ts +0 -52
  110. package/toast/index.d.ts +0 -53
  111. /package/assets/styles/{ys-preloader-9.scss → preloaders/ys-preloader-9.scss} +0 -0
  112. /package/assets/styles/{ys-preloader.scss → preloaders/ys-preloader.scss} +0 -0
  113. /package/{index.d.ts → types/yoozsoft-yoozsoft-ng.d.ts} +0 -0
@@ -0,0 +1,31 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class YsPagination {
4
+ rowsPerPage: _angular_core.InputSignal<number[]>;
5
+ pageReport: _angular_core.InputSignal<boolean>;
6
+ pageReportTemplate: _angular_core.InputSignal<string>;
7
+ ellipses: _angular_core.InputSignal<boolean>;
8
+ boundaryLinks: _angular_core.InputSignal<boolean>;
9
+ maxSize: _angular_core.InputSignal<number>;
10
+ rotate: _angular_core.InputSignal<boolean>;
11
+ page: _angular_core.ModelSignal<number>;
12
+ pageSizeSelection: _angular_core.InputSignal<boolean>;
13
+ pageSize: _angular_core.ModelSignal<number>;
14
+ collectionSize: _angular_core.InputSignal<number>;
15
+ pageChanged: _angular_core.OutputEmitterRef<{
16
+ page: number;
17
+ pageSize: number;
18
+ }>;
19
+ readonly firstIndex: _angular_core.Signal<number>;
20
+ readonly lastIndex: _angular_core.Signal<number>;
21
+ readonly totalPages: _angular_core.Signal<number>;
22
+ readonly firstRecord: _angular_core.Signal<number>;
23
+ readonly pageReportText: _angular_core.Signal<string>;
24
+ constructor();
25
+ changePage(page: number): void;
26
+ changePageSize(size: number): void;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsPagination, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsPagination, "ys-pagination", never, { "rowsPerPage": { "alias": "rowsPerPage"; "required": false; "isSignal": true; }; "pageReport": { "alias": "pageReport"; "required": false; "isSignal": true; }; "pageReportTemplate": { "alias": "pageReportTemplate"; "required": false; "isSignal": true; }; "ellipses": { "alias": "ellipses"; "required": false; "isSignal": true; }; "boundaryLinks": { "alias": "boundaryLinks"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "rotate": { "alias": "rotate"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "pageSizeSelection": { "alias": "pageSizeSelection"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "collectionSize": { "alias": "collectionSize"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; "pageSize": "pageSizeChange"; "pageChanged": "pageChanged"; }, never, never, true, never>;
29
+ }
30
+
31
+ export { YsPagination };
@@ -0,0 +1,73 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AbstractControl } from '@angular/forms';
3
+
4
+ declare const STRONG_PASSWORD_REGX: RegExp;
5
+ declare const UPPERCASE_REGEX: RegExp;
6
+ declare const LOWERCASE_REGEX: RegExp;
7
+ declare const DIGIT_REGX: RegExp;
8
+ declare const NON_ALPHANUMERIC_REGX: RegExp;
9
+
10
+ interface StrengthValidationOption {
11
+ requireUppercase?: boolean;
12
+ requireLowercase?: boolean;
13
+ requireDigit?: boolean;
14
+ requireNonAlphanumeric?: boolean;
15
+ requiredMinLength: number;
16
+ }
17
+ declare const DEFAULT_OPTIONS: StrengthValidationOption;
18
+
19
+ interface StrengthValidationControl {
20
+ formControl: AbstractControl<any, any> | null;
21
+ options?: StrengthValidationOption;
22
+ }
23
+
24
+ interface StrengthValidationFeedback {
25
+ required?: string;
26
+ uppercase?: string;
27
+ lowercase?: string;
28
+ digit?: string;
29
+ nonAlphanumeric?: string;
30
+ minLength?: string;
31
+ }
32
+ declare const DEFAULT_FEEDBACK: StrengthValidationFeedback;
33
+
34
+ declare class YsPasswordStrengthDirective {
35
+ private viewContainerRef;
36
+ private injector;
37
+ private control;
38
+ private componentRef;
39
+ passwordHelp: _angular_core.InputSignal<string | null>;
40
+ displayFeedback: _angular_core.InputSignal<boolean>;
41
+ feedback: _angular_core.InputSignal<Partial<StrengthValidationFeedback>>;
42
+ options: _angular_core.InputSignal<Partial<StrengthValidationOption>>;
43
+ readonly mergedOptions: _angular_core.Signal<StrengthValidationOption>;
44
+ readonly mergedFeedback: _angular_core.Signal<StrengthValidationFeedback>;
45
+ constructor();
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsPasswordStrengthDirective, never>;
47
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YsPasswordStrengthDirective, "[ysPasswordStrength]", never, { "passwordHelp": { "alias": "passwordHelp"; "required": false; "isSignal": true; }; "displayFeedback": { "alias": "displayFeedback"; "required": false; "isSignal": true; }; "feedback": { "alias": "feedback"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
48
+ }
49
+
50
+ declare class YsPasswordStrength {
51
+ private minLengthRegx;
52
+ passwordHelp: _angular_core.InputSignal<string | null>;
53
+ displayFeedback: _angular_core.InputSignal<boolean>;
54
+ feedback: _angular_core.InputSignal<Partial<StrengthValidationFeedback>>;
55
+ control: _angular_core.InputSignal<StrengthValidationControl | undefined>;
56
+ private passwordValue;
57
+ readonly hasUppercase: _angular_core.Signal<boolean>;
58
+ readonly hasLowercase: _angular_core.Signal<boolean>;
59
+ readonly hasDigit: _angular_core.Signal<boolean>;
60
+ readonly hasNonAlphanumeric: _angular_core.Signal<boolean>;
61
+ readonly hasMinLength: _angular_core.Signal<boolean>;
62
+ readonly strengthMeter: _angular_core.Signal<number>;
63
+ readonly strengthStyleClass: _angular_core.Signal<string>;
64
+ readonly requiredOptionsLength: _angular_core.Signal<number>;
65
+ readonly mergedOptions: _angular_core.Signal<StrengthValidationOption>;
66
+ readonly mergedFeedback: _angular_core.Signal<StrengthValidationFeedback>;
67
+ constructor();
68
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsPasswordStrength, never>;
69
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsPasswordStrength, "ys-password-strength", never, { "passwordHelp": { "alias": "passwordHelp"; "required": false; "isSignal": true; }; "displayFeedback": { "alias": "displayFeedback"; "required": false; "isSignal": true; }; "feedback": { "alias": "feedback"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ }
71
+
72
+ export { DEFAULT_FEEDBACK, DEFAULT_OPTIONS, DIGIT_REGX, LOWERCASE_REGEX, NON_ALPHANUMERIC_REGX, STRONG_PASSWORD_REGX, UPPERCASE_REGEX, YsPasswordStrength, YsPasswordStrengthDirective };
73
+ export type { StrengthValidationControl, StrengthValidationFeedback, StrengthValidationOption };
@@ -0,0 +1,11 @@
1
+ import * as i0 from '@angular/core';
2
+ import { PipeTransform } from '@angular/core';
3
+ import { PersianDateFormat } from '@yoozsoft/yoozsoft-ng/date';
4
+
5
+ declare class YsPersianDatePipe implements PipeTransform {
6
+ transform(value: Date | string | number | null | undefined, format?: PersianDateFormat): string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<YsPersianDatePipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<YsPersianDatePipe, "ysPersianDate", true>;
9
+ }
10
+
11
+ export { YsPersianDatePipe };
@@ -0,0 +1,31 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
+
4
+ declare class ProgressService {
5
+ private _activeRequests;
6
+ /** loading = Do we have at least one active request? */
7
+ readonly loading: _angular_core.Signal<boolean>;
8
+ show(): void;
9
+ hide(): void;
10
+ reset(): void;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressService, never>;
12
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProgressService>;
13
+ }
14
+
15
+ declare class YsProgress {
16
+ private progressService;
17
+ private platformId;
18
+ reverse: _angular_core.InputSignal<boolean>;
19
+ styleClass: _angular_core.InputSignal<string | null>;
20
+ height: _angular_core.InputSignal<number>;
21
+ label: _angular_core.InputSignal<string | null>;
22
+ rtl: _angular_core.InputSignal<boolean | undefined>;
23
+ readonly loading: Signal<boolean>;
24
+ readonly showLabel: Signal<boolean>;
25
+ readonly isRtl: Signal<boolean>;
26
+ constructor(progressService: ProgressService);
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsProgress, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsProgress, "ys-progress", never, { "reverse": { "alias": "reverse"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "rtl": { "alias": "rtl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
29
+ }
30
+
31
+ export { ProgressService, YsProgress };
@@ -0,0 +1,56 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ declare class YsRatingInput implements ControlValueAccessor {
5
+ readonly maxScore: _angular_core.InputSignal<number>;
6
+ readonly starsCount: _angular_core.InputSignal<number>;
7
+ readonly size: _angular_core.InputSignal<number>;
8
+ readonly ratingIconClass: _angular_core.InputSignal<string>;
9
+ readonly disabled: _angular_core.InputSignal<boolean>;
10
+ readonly readonly: _angular_core.InputSignal<boolean>;
11
+ readonly allowClear: _angular_core.InputSignal<boolean>;
12
+ readonly valueChange: _angular_core.OutputEmitterRef<number>;
13
+ readonly value: _angular_core.WritableSignal<number>;
14
+ readonly hoverValue: _angular_core.WritableSignal<number | null>;
15
+ readonly displayValue: _angular_core.Signal<number>;
16
+ readonly normalizedStarsCount: _angular_core.Signal<number>;
17
+ readonly stars: _angular_core.Signal<unknown[]>;
18
+ private disabledState;
19
+ readonly isDisabled: _angular_core.Signal<boolean>;
20
+ private _onChange;
21
+ private _onTouched;
22
+ constructor();
23
+ writeValue(value: number | null): void;
24
+ registerOnChange(fn: any): void;
25
+ registerOnTouched(fn: any): void;
26
+ setDisabledState(disabled: boolean): void;
27
+ hover(index: number): void;
28
+ leave(): void;
29
+ select(index: number): void;
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsRatingInput, never>;
31
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsRatingInput, "ys-rating-input", never, { "maxScore": { "alias": "maxScore"; "required": false; "isSignal": true; }; "starsCount": { "alias": "starsCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ratingIconClass": { "alias": "ratingIconClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "allowClear": { "alias": "allowClear"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
32
+ }
33
+
34
+ declare class YsRating {
35
+ /**Current score */
36
+ readonly score: _angular_core.InputSignal<number>;
37
+ /**Points cap (default 100) */
38
+ readonly maxScore: _angular_core.InputSignal<number>;
39
+ readonly starsCount: _angular_core.InputSignal<number>;
40
+ /**Icon size in pixel */
41
+ readonly size: _angular_core.InputSignal<number>;
42
+ readonly ratingIconClass: _angular_core.InputSignal<string>;
43
+ /**Icons gap in pixel */
44
+ readonly gap: _angular_core.InputSignal<number>;
45
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
46
+ readonly wrapperSize: _angular_core.Signal<number>;
47
+ readonly normalizedAriaLabel: _angular_core.Signal<string>;
48
+ readonly normalizedScore: _angular_core.Signal<number>;
49
+ readonly normalizedStarsCount: _angular_core.Signal<number>;
50
+ readonly rating: _angular_core.Signal<number>;
51
+ readonly fillPercents: _angular_core.Signal<any[]>;
52
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsRating, never>;
53
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsRating, "ys-rating", never, { "score": { "alias": "score"; "required": false; "isSignal": true; }; "maxScore": { "alias": "maxScore"; "required": false; "isSignal": true; }; "starsCount": { "alias": "starsCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ratingIconClass": { "alias": "ratingIconClass"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
+ }
55
+
56
+ export { YsRating, YsRatingInput };
@@ -0,0 +1,43 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ declare class YsSelect<T = any> implements ControlValueAccessor {
5
+ /**ُSelect element id */
6
+ id: _angular_core.InputSignal<string>;
7
+ options: _angular_core.InputSignal<T[]>;
8
+ /**Name of field to display in option title */
9
+ optionLabel: _angular_core.InputSignal<string>;
10
+ placeholder: _angular_core.InputSignal<string | undefined>;
11
+ styleClass: _angular_core.InputSignal<string>;
12
+ invalid: _angular_core.InputSignal<boolean>;
13
+ invalidFeedback: _angular_core.InputSignal<string | undefined>;
14
+ valid: _angular_core.InputSignal<boolean>;
15
+ validFeedback: _angular_core.InputSignal<string | undefined>;
16
+ /**Support multiple attribute */
17
+ multiple: _angular_core.InputSignal<boolean>;
18
+ /**Size of multiple attribute */
19
+ size: _angular_core.InputSignal<number | undefined>;
20
+ /**Display clear button */
21
+ showClear: _angular_core.InputSignal<boolean>;
22
+ clearIconClass: _angular_core.InputSignal<string>;
23
+ disabled: _angular_core.InputSignal<boolean>;
24
+ trackBy: _angular_core.InputSignal<((item: any) => unknown) | undefined>;
25
+ selectionChange: _angular_core.OutputEmitterRef<any>;
26
+ private disabledState;
27
+ readonly isDisabled: _angular_core.Signal<boolean>;
28
+ private onChange;
29
+ private onTouched;
30
+ value: _angular_core.WritableSignal<T | T[] | null>;
31
+ writeValue(obj: any): void;
32
+ registerOnChange(fn: any): void;
33
+ registerOnTouched(fn: any): void;
34
+ setDisabledState?(isDisabled: boolean): void;
35
+ onModelChange(value: T | T[] | null): void;
36
+ clearValue(): void;
37
+ getLabel(item: any): string;
38
+ trackItem(item: any): any;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsSelect<any>, never>;
40
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsSelect<any>, "ys-select", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "invalidFeedback": { "alias": "invalidFeedback"; "required": false; "isSignal": true; }; "valid": { "alias": "valid"; "required": false; "isSignal": true; }; "validFeedback": { "alias": "validFeedback"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "clearIconClass": { "alias": "clearIconClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
41
+ }
42
+
43
+ export { YsSelect };
@@ -0,0 +1,69 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface SidebarItem {
4
+ id?: string;
5
+ label?: string;
6
+ route?: string;
7
+ iconClass?: string;
8
+ badgeLabel?: string;
9
+ badgeStyleClass?: string;
10
+ children?: SidebarItem[];
11
+ data?: any;
12
+ onClick?: (event: MouseEvent) => void;
13
+ isDivider?: boolean;
14
+ disabled?: boolean;
15
+ }
16
+
17
+ interface UserImage {
18
+ src?: string;
19
+ alt?: string;
20
+ }
21
+
22
+ interface UserProfile {
23
+ firstName?: string;
24
+ lastName?: string;
25
+ role?: string;
26
+ image?: UserImage;
27
+ }
28
+
29
+ declare class SidebarService {
30
+ private platformId;
31
+ private mediaQuery?;
32
+ private readonly _isMobile;
33
+ private readonly _isOpen;
34
+ readonly isMobile: _angular_core.Signal<boolean>;
35
+ readonly isOpen: _angular_core.Signal<boolean>;
36
+ constructor();
37
+ toggle(): void;
38
+ open(): void;
39
+ close(): void;
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarService, never>;
41
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<SidebarService>;
42
+ }
43
+
44
+ declare class YsSidebar {
45
+ private router;
46
+ items: _angular_core.InputSignal<SidebarItem[]>;
47
+ profile: _angular_core.InputSignal<UserProfile | undefined>;
48
+ styleClass: _angular_core.InputSignal<string>;
49
+ showClose: _angular_core.InputSignal<boolean>;
50
+ closeStyleClass: _angular_core.InputSignal<string>;
51
+ close: _angular_core.OutputEmitterRef<void>;
52
+ itemSelected: _angular_core.OutputEmitterRef<SidebarItem>;
53
+ readonly fullName: _angular_core.Signal<string>;
54
+ readonly currentUrl: _angular_core.Signal<string>;
55
+ readonly expandedMenu: _angular_core.WritableSignal<string | null>;
56
+ private getItemKey;
57
+ toggle(item: SidebarItem): void;
58
+ isExpanded(item: SidebarItem): boolean;
59
+ isParentActive(item: SidebarItem): boolean;
60
+ closeSidebar(): void;
61
+ onSelectItem(item: SidebarItem): void;
62
+ onItemClick(event: MouseEvent, item: SidebarItem): void;
63
+ onSubItemClick(event: MouseEvent, subItem: SidebarItem): void;
64
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsSidebar, never>;
65
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsSidebar, "ys-sidebar", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "profile": { "alias": "profile"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "closeStyleClass": { "alias": "closeStyleClass"; "required": false; "isSignal": true; }; }, { "close": "close"; "itemSelected": "itemSelected"; }, never, never, true, never>;
66
+ }
67
+
68
+ export { SidebarService, YsSidebar };
69
+ export type { SidebarItem, UserImage, UserProfile };
@@ -0,0 +1,137 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { PipeTransform, TemplateRef } from '@angular/core';
3
+
4
+ interface ActionButton {
5
+ label?: string | ((item?: any) => string);
6
+ tooltip?: string | ((item?: any) => string);
7
+ iconClass?: string | ((item: any) => string);
8
+ styleClass?: string;
9
+ onClick?: (item?: any) => void;
10
+ visible?: (item?: any) => boolean;
11
+ disabled?: (item?: any) => boolean;
12
+ isDivider?: boolean;
13
+ }
14
+
15
+ interface Pagination {
16
+ page: number;
17
+ size: number;
18
+ sort: string[];
19
+ order: 'asc' | 'desc';
20
+ }
21
+
22
+ type IndicatorType = 'icon' | 'badge';
23
+ interface RowIndicator {
24
+ type?: IndicatorType;
25
+ iconClass?: string | ((row: any) => string);
26
+ styleClass?: string | ((row: any) => string);
27
+ tooltip?: string | ((row: any) => string);
28
+ /** مخصوص badge */
29
+ badgeLabel?: string | ((row: any) => string);
30
+ badgeValue?: string | number | ((row: any) => string | number);
31
+ badgeValueClass?: string | ((row: any) => string);
32
+ visible?: boolean | ((row: any) => boolean);
33
+ onClick?: (row: any) => void;
34
+ }
35
+
36
+ interface TableColumn {
37
+ key: number;
38
+ field?: string;
39
+ header: string;
40
+ sortable?: boolean;
41
+ pipe?: PipeTransform;
42
+ pipeArgs?: any[];
43
+ template?: string;
44
+ cellTemplate?: TemplateRef<any>;
45
+ visible?: (row: any) => boolean;
46
+ styleClass?: string | ((row: any) => string);
47
+ headerStyleClass?: string;
48
+ }
49
+
50
+ interface ToolbarButton {
51
+ label?: string | (() => string);
52
+ tooltip?: string | (() => string);
53
+ iconClass?: string | (() => string);
54
+ styleClass?: string;
55
+ onClick?: () => void;
56
+ visible?: () => boolean;
57
+ disabled?: () => boolean;
58
+ }
59
+
60
+ type ValueOrFn<T> = T | ((row: any) => T);
61
+
62
+ declare class YsTable {
63
+ items: _angular_core.InputSignal<any[]>;
64
+ columns: _angular_core.InputSignal<TableColumn[]>;
65
+ actionButtons: _angular_core.InputSignal<ActionButton[]>;
66
+ toolbarButtons: _angular_core.InputSignal<ToolbarButton[]>;
67
+ rowStyleClass: _angular_core.InputSignal<string | ((row: any) => string) | undefined>;
68
+ rowIndicators: _angular_core.InputSignal<RowIndicator[]>;
69
+ serverSide: _angular_core.InputSignal<boolean>;
70
+ isPagination: _angular_core.InputSignal<boolean>;
71
+ rowsPerPage: _angular_core.InputSignal<number[]>;
72
+ pageReportTemplate: _angular_core.InputSignal<string>;
73
+ page: _angular_core.ModelSignal<number>;
74
+ pageSize: _angular_core.ModelSignal<number>;
75
+ collectionSize: _angular_core.ModelSignal<number>;
76
+ hasSearch: _angular_core.InputSignal<boolean>;
77
+ searchPlaceholder: _angular_core.InputSignal<string>;
78
+ searchStyleClass: _angular_core.InputSignal<string | undefined>;
79
+ styleClass: _angular_core.InputSignal<string | undefined>;
80
+ toolbarStyleClass: _angular_core.InputSignal<string | undefined>;
81
+ tableStyleClass: _angular_core.InputSignal<string | undefined>;
82
+ /** Selectable rows checkbox */
83
+ selectableRows: _angular_core.InputSignal<boolean>;
84
+ /** Condition for each row's checkbox to be active */
85
+ isRowSelectable: _angular_core.InputSignal<((row: any) => boolean) | undefined>;
86
+ rowKey: _angular_core.InputSignal<string>;
87
+ pageChanged: _angular_core.OutputEmitterRef<{
88
+ page: number;
89
+ pageSize: number;
90
+ }>;
91
+ search: _angular_core.OutputEmitterRef<string>;
92
+ /** checkbox */
93
+ selectedItemsChange: _angular_core.OutputEmitterRef<any[]>;
94
+ searchTerm: _angular_core.WritableSignal<string>;
95
+ sortedColumn: _angular_core.WritableSignal<string | null>;
96
+ sortDirection: _angular_core.WritableSignal<"asc" | "desc">;
97
+ readonly filteredItems: _angular_core.Signal<any[]>;
98
+ readonly paginatedItems: _angular_core.Signal<any[]>;
99
+ selectedItems: _angular_core.WritableSignal<any[]>;
100
+ totalPages: _angular_core.Signal<number>;
101
+ firstIndex: _angular_core.Signal<number>;
102
+ lastIndex: _angular_core.Signal<number>;
103
+ constructor();
104
+ onSort(field: string): void;
105
+ changePage(page: number): void;
106
+ changePageSize(size: number): void;
107
+ onSearch(target: EventTarget | null): void;
108
+ applyPipe(pipe: PipeTransform, value: unknown, args?: unknown[]): any;
109
+ resolveFieldPath(obj: any, path: string): any;
110
+ applyTemplate(template: string, item: any): string;
111
+ private checkUniqueColumnKeys;
112
+ getLabel(action: ActionButton, item: any): string;
113
+ getIconClass(action: ActionButton, item: any): string;
114
+ getTooltipText(tooltip?: string | (() => string)): string;
115
+ getLabelText(label?: string | (() => string)): string;
116
+ itemKey(item: any): string;
117
+ onSelectionChange(item: any, checked: boolean): void;
118
+ isSelected(item: any): boolean;
119
+ toggleSelection(item: any, event: Event): void;
120
+ allSelected(): boolean;
121
+ toggleSelectAll(event: Event): void;
122
+ getRowClass(row: any): string;
123
+ getColumnClass(col: TableColumn, row: any): string;
124
+ isSortable(col: TableColumn): col is TableColumn & {
125
+ field: string;
126
+ };
127
+ isSelectable(row: any): boolean;
128
+ resolveValue<T>(value: ValueOrFn<T> | undefined, row: any): T | undefined;
129
+ getVisibleIndicators(row: any): RowIndicator[];
130
+ readonly firstRecord: _angular_core.Signal<number>;
131
+ readonly pageReportText: _angular_core.Signal<string>;
132
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsTable, never>;
133
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsTable, "ys-table", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "actionButtons": { "alias": "actionButtons"; "required": false; "isSignal": true; }; "toolbarButtons": { "alias": "toolbarButtons"; "required": false; "isSignal": true; }; "rowStyleClass": { "alias": "rowStyleClass"; "required": false; "isSignal": true; }; "rowIndicators": { "alias": "rowIndicators"; "required": false; "isSignal": true; }; "serverSide": { "alias": "serverSide"; "required": false; "isSignal": true; }; "isPagination": { "alias": "isPagination"; "required": false; "isSignal": true; }; "rowsPerPage": { "alias": "rowsPerPage"; "required": false; "isSignal": true; }; "pageReportTemplate": { "alias": "pageReportTemplate"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "collectionSize": { "alias": "collectionSize"; "required": false; "isSignal": true; }; "hasSearch": { "alias": "hasSearch"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchStyleClass": { "alias": "searchStyleClass"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "toolbarStyleClass": { "alias": "toolbarStyleClass"; "required": false; "isSignal": true; }; "tableStyleClass": { "alias": "tableStyleClass"; "required": false; "isSignal": true; }; "selectableRows": { "alias": "selectableRows"; "required": false; "isSignal": true; }; "isRowSelectable": { "alias": "isRowSelectable"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; "pageSize": "pageSizeChange"; "collectionSize": "collectionSizeChange"; "pageChanged": "pageChanged"; "search": "search"; "selectedItemsChange": "selectedItemsChange"; }, never, never, true, never>;
134
+ }
135
+
136
+ export { YsTable };
137
+ export type { ActionButton, IndicatorType, Pagination, RowIndicator, TableColumn, ToolbarButton, ValueOrFn };
@@ -0,0 +1,53 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+
4
+ interface TiffPageChange {
5
+ /**zero-based */
6
+ index: number;
7
+ /**one-based */
8
+ page: number;
9
+ total: number;
10
+ }
11
+
12
+ type TiffViewerIcons = Partial<Record<'first' | 'previous' | 'next' | 'last', string>>;
13
+
14
+ declare class YsTiffViewer {
15
+ private platformId;
16
+ buffer: _angular_core.InputSignal<ArrayBuffer | Blob | File | null | undefined>;
17
+ styleClass: _angular_core.InputSignal<string | undefined>;
18
+ noFileMessage: _angular_core.InputSignal<string>;
19
+ noFileStyleClass: _angular_core.InputSignal<string>;
20
+ icons: _angular_core.InputSignal<Partial<Record<"first" | "previous" | "next" | "last", string>>>;
21
+ pageReportTemplate: _angular_core.InputSignal<string>;
22
+ pageChange: _angular_core.OutputEmitterRef<TiffPageChange>;
23
+ private emitPageChange;
24
+ private ifds;
25
+ private currentIndex;
26
+ readonly isDecoding: _angular_core.WritableSignal<boolean>;
27
+ private decodeVersion;
28
+ readonly isIFDs: _angular_core.Signal<boolean>;
29
+ readonly isFirstImage: _angular_core.Signal<boolean>;
30
+ readonly isLastImage: _angular_core.Signal<boolean>;
31
+ readonly currentPage: _angular_core.Signal<number>;
32
+ readonly mergedIcons: _angular_core.Signal<{
33
+ first: string;
34
+ previous: string;
35
+ next: string;
36
+ last: string;
37
+ }>;
38
+ readonly pageReport: _angular_core.Signal<string>;
39
+ canvasRef: _angular_core.Signal<ElementRef<HTMLCanvasElement>>;
40
+ constructor();
41
+ private decode;
42
+ private draw;
43
+ private goTo;
44
+ first(): void;
45
+ previous(): void;
46
+ next(): void;
47
+ last(): void;
48
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsTiffViewer, never>;
49
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsTiffViewer, "ys-tiff-viewer", never, { "buffer": { "alias": "buffer"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "noFileMessage": { "alias": "noFileMessage"; "required": false; "isSignal": true; }; "noFileStyleClass": { "alias": "noFileStyleClass"; "required": false; "isSignal": true; }; "icons": { "alias": "icons"; "required": false; "isSignal": true; }; "pageReportTemplate": { "alias": "pageReportTemplate"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
50
+ }
51
+
52
+ export { YsTiffViewer };
53
+ export type { TiffPageChange, TiffViewerIcons };
@@ -0,0 +1,66 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+
4
+ declare enum ToastType {
5
+ info = "info",
6
+ success = "success",
7
+ warning = "warning",
8
+ danger = "danger"
9
+ }
10
+ type ToastIconMap = Partial<Record<ToastType, string>>;
11
+
12
+ interface ToastItem {
13
+ id?: string;
14
+ textOrTpl: string | TemplateRef<unknown>;
15
+ header?: string;
16
+ classname?: string;
17
+ delay?: number;
18
+ autohide?: boolean;
19
+ type: ToastType;
20
+ }
21
+
22
+ declare class ToastService {
23
+ private readonly _toasts;
24
+ readonly toasts: _angular_core.Signal<ToastItem[]>;
25
+ show(toast: ToastItem): void;
26
+ remove(toast: ToastItem): void;
27
+ clear(): void;
28
+ info(text: string | TemplateRef<any>, header?: string): void;
29
+ success(text: string | TemplateRef<any>, header?: string): void;
30
+ warning(text: string | TemplateRef<any>, header?: string): void;
31
+ danger(text: string | TemplateRef<any>, header?: string): void;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastService, never>;
33
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ToastService>;
34
+ }
35
+
36
+ declare class YsToast {
37
+ toastService: ToastService;
38
+ autohide: _angular_core.InputSignal<boolean>;
39
+ /**
40
+ * Bootstrap placement classes
41
+ * Examples:
42
+ * ['top-0','start-50','translate-middle-x']
43
+ * ['bottom-25','end-0']
44
+ * ['top-50','start-50','translate-middle']
45
+ * Default is ['top-0', 'end-0']
46
+ */
47
+ placement: _angular_core.InputSignal<string[]>;
48
+ icons: _angular_core.InputSignal<Partial<Record<ToastType, string>>>;
49
+ readonly mergedIcons: _angular_core.Signal<{
50
+ info: string;
51
+ success: string;
52
+ warning: string;
53
+ danger: string;
54
+ }>;
55
+ private host;
56
+ constructor(toastService: ToastService);
57
+ private applyPlacement;
58
+ isTemplate(toast: ToastItem): toast is ToastItem & {
59
+ textOrTpl: TemplateRef<unknown>;
60
+ };
61
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YsToast, never>;
62
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YsToast, "ys-toast", never, { "autohide": { "alias": "autohide"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "icons": { "alias": "icons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
63
+ }
64
+
65
+ export { ToastService, ToastType, YsToast };
66
+ export type { ToastIconMap, ToastItem };
@@ -0,0 +1,5 @@
1
+ import { ValidatorFn } from '@angular/forms';
2
+
3
+ declare function ysPasswordMatch(passwordControlName: string, confirmPasswordControlName: string): ValidatorFn;
4
+
5
+ export { ysPasswordMatch };
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/yoozsoft-yoozsoft-ng-validators.mjs",
3
+ "typings": "../types/yoozsoft-yoozsoft-ng-validators.d.ts"
4
+ }