@saitec/ui 0.1.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.

Potentially problematic release.


This version of @saitec/ui might be problematic. Click here for more details.

Files changed (138) hide show
  1. package/README.md +64 -0
  2. package/fesm2022/saitec-ui-autocomplete.mjs +214 -0
  3. package/fesm2022/saitec-ui-autocomplete.mjs.map +1 -0
  4. package/fesm2022/saitec-ui-badge.mjs +26 -0
  5. package/fesm2022/saitec-ui-badge.mjs.map +1 -0
  6. package/fesm2022/saitec-ui-button.mjs +35 -0
  7. package/fesm2022/saitec-ui-button.mjs.map +1 -0
  8. package/fesm2022/saitec-ui-card.mjs +28 -0
  9. package/fesm2022/saitec-ui-card.mjs.map +1 -0
  10. package/fesm2022/saitec-ui-checkbox.mjs +87 -0
  11. package/fesm2022/saitec-ui-checkbox.mjs.map +1 -0
  12. package/fesm2022/saitec-ui-chip.mjs +32 -0
  13. package/fesm2022/saitec-ui-chip.mjs.map +1 -0
  14. package/fesm2022/saitec-ui-confirm.mjs +93 -0
  15. package/fesm2022/saitec-ui-confirm.mjs.map +1 -0
  16. package/fesm2022/saitec-ui-core.mjs +4 -0
  17. package/fesm2022/saitec-ui-core.mjs.map +1 -0
  18. package/fesm2022/saitec-ui-date-picker.mjs +92 -0
  19. package/fesm2022/saitec-ui-date-picker.mjs.map +1 -0
  20. package/fesm2022/saitec-ui-dialog.mjs +95 -0
  21. package/fesm2022/saitec-ui-dialog.mjs.map +1 -0
  22. package/fesm2022/saitec-ui-divider.mjs +22 -0
  23. package/fesm2022/saitec-ui-divider.mjs.map +1 -0
  24. package/fesm2022/saitec-ui-drawer.mjs +96 -0
  25. package/fesm2022/saitec-ui-drawer.mjs.map +1 -0
  26. package/fesm2022/saitec-ui-fieldset.mjs +32 -0
  27. package/fesm2022/saitec-ui-fieldset.mjs.map +1 -0
  28. package/fesm2022/saitec-ui-file-upload.mjs +206 -0
  29. package/fesm2022/saitec-ui-file-upload.mjs.map +1 -0
  30. package/fesm2022/saitec-ui-form-field.mjs +30 -0
  31. package/fesm2022/saitec-ui-form-field.mjs.map +1 -0
  32. package/fesm2022/saitec-ui-input-number.mjs +250 -0
  33. package/fesm2022/saitec-ui-input-number.mjs.map +1 -0
  34. package/fesm2022/saitec-ui-input.mjs +95 -0
  35. package/fesm2022/saitec-ui-input.mjs.map +1 -0
  36. package/fesm2022/saitec-ui-menu.mjs +46 -0
  37. package/fesm2022/saitec-ui-menu.mjs.map +1 -0
  38. package/fesm2022/saitec-ui-menubar.mjs +72 -0
  39. package/fesm2022/saitec-ui-menubar.mjs.map +1 -0
  40. package/fesm2022/saitec-ui-message.mjs +28 -0
  41. package/fesm2022/saitec-ui-message.mjs.map +1 -0
  42. package/fesm2022/saitec-ui-multiselect.mjs +209 -0
  43. package/fesm2022/saitec-ui-multiselect.mjs.map +1 -0
  44. package/fesm2022/saitec-ui-panel.mjs +32 -0
  45. package/fesm2022/saitec-ui-panel.mjs.map +1 -0
  46. package/fesm2022/saitec-ui-progress-spinner.mjs +24 -0
  47. package/fesm2022/saitec-ui-progress-spinner.mjs.map +1 -0
  48. package/fesm2022/saitec-ui-select.mjs +105 -0
  49. package/fesm2022/saitec-ui-select.mjs.map +1 -0
  50. package/fesm2022/saitec-ui-table.mjs +172 -0
  51. package/fesm2022/saitec-ui-table.mjs.map +1 -0
  52. package/fesm2022/saitec-ui-tabs.mjs +170 -0
  53. package/fesm2022/saitec-ui-tabs.mjs.map +1 -0
  54. package/fesm2022/saitec-ui-tag.mjs +26 -0
  55. package/fesm2022/saitec-ui-tag.mjs.map +1 -0
  56. package/fesm2022/saitec-ui-textarea.mjs +95 -0
  57. package/fesm2022/saitec-ui-textarea.mjs.map +1 -0
  58. package/fesm2022/saitec-ui-toast.mjs +109 -0
  59. package/fesm2022/saitec-ui-toast.mjs.map +1 -0
  60. package/fesm2022/saitec-ui-toggle-switch.mjs +85 -0
  61. package/fesm2022/saitec-ui-toggle-switch.mjs.map +1 -0
  62. package/fesm2022/saitec-ui-toolbar.mjs +20 -0
  63. package/fesm2022/saitec-ui-toolbar.mjs.map +1 -0
  64. package/fesm2022/saitec-ui-tooltip.mjs +219 -0
  65. package/fesm2022/saitec-ui-tooltip.mjs.map +1 -0
  66. package/fesm2022/saitec-ui.mjs +22 -0
  67. package/fesm2022/saitec-ui.mjs.map +1 -0
  68. package/lib/core/themes/dark.css +233 -0
  69. package/lib/core/themes/light.css +210 -0
  70. package/lib/core/tokens/components/autocomplete.css +26 -0
  71. package/lib/core/tokens/components/badge.css +26 -0
  72. package/lib/core/tokens/components/button.css +90 -0
  73. package/lib/core/tokens/components/card.css +15 -0
  74. package/lib/core/tokens/components/checkbox.css +17 -0
  75. package/lib/core/tokens/components/chip.css +16 -0
  76. package/lib/core/tokens/components/confirm.css +8 -0
  77. package/lib/core/tokens/components/date-picker.css +18 -0
  78. package/lib/core/tokens/components/dialog.css +18 -0
  79. package/lib/core/tokens/components/divider.css +9 -0
  80. package/lib/core/tokens/components/drawer.css +16 -0
  81. package/lib/core/tokens/components/fieldset.css +15 -0
  82. package/lib/core/tokens/components/file-upload.css +31 -0
  83. package/lib/core/tokens/components/form-field.css +14 -0
  84. package/lib/core/tokens/components/input-number.css +20 -0
  85. package/lib/core/tokens/components/input.css +31 -0
  86. package/lib/core/tokens/components/menu.css +19 -0
  87. package/lib/core/tokens/components/menubar.css +18 -0
  88. package/lib/core/tokens/components/message.css +29 -0
  89. package/lib/core/tokens/components/multiselect.css +25 -0
  90. package/lib/core/tokens/components/panel.css +18 -0
  91. package/lib/core/tokens/components/progress-spinner.css +10 -0
  92. package/lib/core/tokens/components/select.css +18 -0
  93. package/lib/core/tokens/components/table.css +32 -0
  94. package/lib/core/tokens/components/tabs.css +18 -0
  95. package/lib/core/tokens/components/tag.css +29 -0
  96. package/lib/core/tokens/components/textarea.css +19 -0
  97. package/lib/core/tokens/components/toast.css +22 -0
  98. package/lib/core/tokens/components/toggle-switch.css +17 -0
  99. package/lib/core/tokens/components/toolbar.css +11 -0
  100. package/lib/core/tokens/components/tooltip.css +12 -0
  101. package/lib/core/tokens/components.css +50 -0
  102. package/lib/core/tokens/foundations.css +132 -0
  103. package/lib/core/tokens/primitives.css +159 -0
  104. package/package.json +162 -0
  105. package/styles.css +7 -0
  106. package/types/saitec-ui-autocomplete.d.ts +50 -0
  107. package/types/saitec-ui-badge.d.ts +15 -0
  108. package/types/saitec-ui-button.d.ts +22 -0
  109. package/types/saitec-ui-card.d.ts +13 -0
  110. package/types/saitec-ui-checkbox.d.ts +33 -0
  111. package/types/saitec-ui-chip.d.ts +13 -0
  112. package/types/saitec-ui-confirm.d.ts +38 -0
  113. package/types/saitec-ui-core.d.ts +7 -0
  114. package/types/saitec-ui-date-picker.d.ts +35 -0
  115. package/types/saitec-ui-dialog.d.ts +29 -0
  116. package/types/saitec-ui-divider.d.ts +13 -0
  117. package/types/saitec-ui-drawer.d.ts +31 -0
  118. package/types/saitec-ui-fieldset.d.ts +13 -0
  119. package/types/saitec-ui-file-upload.d.ts +43 -0
  120. package/types/saitec-ui-form-field.d.ts +14 -0
  121. package/types/saitec-ui-input-number.d.ts +60 -0
  122. package/types/saitec-ui-input.d.ts +39 -0
  123. package/types/saitec-ui-menu.d.ts +17 -0
  124. package/types/saitec-ui-menubar.d.ts +21 -0
  125. package/types/saitec-ui-message.d.ts +15 -0
  126. package/types/saitec-ui-multiselect.d.ts +54 -0
  127. package/types/saitec-ui-panel.d.ts +13 -0
  128. package/types/saitec-ui-progress-spinner.d.ts +13 -0
  129. package/types/saitec-ui-select.d.ts +36 -0
  130. package/types/saitec-ui-table.d.ts +57 -0
  131. package/types/saitec-ui-tabs.d.ts +57 -0
  132. package/types/saitec-ui-tag.d.ts +15 -0
  133. package/types/saitec-ui-textarea.d.ts +37 -0
  134. package/types/saitec-ui-toast.d.ts +43 -0
  135. package/types/saitec-ui-toggle-switch.d.ts +32 -0
  136. package/types/saitec-ui-toolbar.d.ts +9 -0
  137. package/types/saitec-ui-tooltip.d.ts +38 -0
  138. package/types/saitec-ui.d.ts +8 -0
package/package.json ADDED
@@ -0,0 +1,162 @@
1
+ {
2
+ "name": "@saitec/ui",
3
+ "version": "0.1.0",
4
+ "description": "SAITEC Angular UI component library",
5
+ "license": "UNLICENSED",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "exports": {
10
+ "./styles.css": {
11
+ "style": "./styles.css",
12
+ "default": "./styles.css"
13
+ },
14
+ "./package.json": {
15
+ "default": "./package.json"
16
+ },
17
+ ".": {
18
+ "types": "./types/saitec-ui.d.ts",
19
+ "default": "./fesm2022/saitec-ui.mjs"
20
+ },
21
+ "./autocomplete": {
22
+ "types": "./types/saitec-ui-autocomplete.d.ts",
23
+ "default": "./fesm2022/saitec-ui-autocomplete.mjs"
24
+ },
25
+ "./badge": {
26
+ "types": "./types/saitec-ui-badge.d.ts",
27
+ "default": "./fesm2022/saitec-ui-badge.mjs"
28
+ },
29
+ "./button": {
30
+ "types": "./types/saitec-ui-button.d.ts",
31
+ "default": "./fesm2022/saitec-ui-button.mjs"
32
+ },
33
+ "./card": {
34
+ "types": "./types/saitec-ui-card.d.ts",
35
+ "default": "./fesm2022/saitec-ui-card.mjs"
36
+ },
37
+ "./checkbox": {
38
+ "types": "./types/saitec-ui-checkbox.d.ts",
39
+ "default": "./fesm2022/saitec-ui-checkbox.mjs"
40
+ },
41
+ "./chip": {
42
+ "types": "./types/saitec-ui-chip.d.ts",
43
+ "default": "./fesm2022/saitec-ui-chip.mjs"
44
+ },
45
+ "./confirm": {
46
+ "types": "./types/saitec-ui-confirm.d.ts",
47
+ "default": "./fesm2022/saitec-ui-confirm.mjs"
48
+ },
49
+ "./core": {
50
+ "types": "./types/saitec-ui-core.d.ts",
51
+ "default": "./fesm2022/saitec-ui-core.mjs"
52
+ },
53
+ "./date-picker": {
54
+ "types": "./types/saitec-ui-date-picker.d.ts",
55
+ "default": "./fesm2022/saitec-ui-date-picker.mjs"
56
+ },
57
+ "./dialog": {
58
+ "types": "./types/saitec-ui-dialog.d.ts",
59
+ "default": "./fesm2022/saitec-ui-dialog.mjs"
60
+ },
61
+ "./divider": {
62
+ "types": "./types/saitec-ui-divider.d.ts",
63
+ "default": "./fesm2022/saitec-ui-divider.mjs"
64
+ },
65
+ "./drawer": {
66
+ "types": "./types/saitec-ui-drawer.d.ts",
67
+ "default": "./fesm2022/saitec-ui-drawer.mjs"
68
+ },
69
+ "./fieldset": {
70
+ "types": "./types/saitec-ui-fieldset.d.ts",
71
+ "default": "./fesm2022/saitec-ui-fieldset.mjs"
72
+ },
73
+ "./file-upload": {
74
+ "types": "./types/saitec-ui-file-upload.d.ts",
75
+ "default": "./fesm2022/saitec-ui-file-upload.mjs"
76
+ },
77
+ "./form-field": {
78
+ "types": "./types/saitec-ui-form-field.d.ts",
79
+ "default": "./fesm2022/saitec-ui-form-field.mjs"
80
+ },
81
+ "./input": {
82
+ "types": "./types/saitec-ui-input.d.ts",
83
+ "default": "./fesm2022/saitec-ui-input.mjs"
84
+ },
85
+ "./input-number": {
86
+ "types": "./types/saitec-ui-input-number.d.ts",
87
+ "default": "./fesm2022/saitec-ui-input-number.mjs"
88
+ },
89
+ "./menu": {
90
+ "types": "./types/saitec-ui-menu.d.ts",
91
+ "default": "./fesm2022/saitec-ui-menu.mjs"
92
+ },
93
+ "./menubar": {
94
+ "types": "./types/saitec-ui-menubar.d.ts",
95
+ "default": "./fesm2022/saitec-ui-menubar.mjs"
96
+ },
97
+ "./message": {
98
+ "types": "./types/saitec-ui-message.d.ts",
99
+ "default": "./fesm2022/saitec-ui-message.mjs"
100
+ },
101
+ "./multiselect": {
102
+ "types": "./types/saitec-ui-multiselect.d.ts",
103
+ "default": "./fesm2022/saitec-ui-multiselect.mjs"
104
+ },
105
+ "./panel": {
106
+ "types": "./types/saitec-ui-panel.d.ts",
107
+ "default": "./fesm2022/saitec-ui-panel.mjs"
108
+ },
109
+ "./progress-spinner": {
110
+ "types": "./types/saitec-ui-progress-spinner.d.ts",
111
+ "default": "./fesm2022/saitec-ui-progress-spinner.mjs"
112
+ },
113
+ "./select": {
114
+ "types": "./types/saitec-ui-select.d.ts",
115
+ "default": "./fesm2022/saitec-ui-select.mjs"
116
+ },
117
+ "./table": {
118
+ "types": "./types/saitec-ui-table.d.ts",
119
+ "default": "./fesm2022/saitec-ui-table.mjs"
120
+ },
121
+ "./tabs": {
122
+ "types": "./types/saitec-ui-tabs.d.ts",
123
+ "default": "./fesm2022/saitec-ui-tabs.mjs"
124
+ },
125
+ "./tag": {
126
+ "types": "./types/saitec-ui-tag.d.ts",
127
+ "default": "./fesm2022/saitec-ui-tag.mjs"
128
+ },
129
+ "./textarea": {
130
+ "types": "./types/saitec-ui-textarea.d.ts",
131
+ "default": "./fesm2022/saitec-ui-textarea.mjs"
132
+ },
133
+ "./toast": {
134
+ "types": "./types/saitec-ui-toast.d.ts",
135
+ "default": "./fesm2022/saitec-ui-toast.mjs"
136
+ },
137
+ "./toggle-switch": {
138
+ "types": "./types/saitec-ui-toggle-switch.d.ts",
139
+ "default": "./fesm2022/saitec-ui-toggle-switch.mjs"
140
+ },
141
+ "./toolbar": {
142
+ "types": "./types/saitec-ui-toolbar.d.ts",
143
+ "default": "./fesm2022/saitec-ui-toolbar.mjs"
144
+ },
145
+ "./tooltip": {
146
+ "types": "./types/saitec-ui-tooltip.d.ts",
147
+ "default": "./fesm2022/saitec-ui-tooltip.mjs"
148
+ }
149
+ },
150
+ "peerDependencies": {
151
+ "@angular/cdk": "^22.1.0",
152
+ "@angular/common": "^22.1.0",
153
+ "@angular/core": "^22.1.0"
154
+ },
155
+ "dependencies": {
156
+ "tslib": "^2.3.0"
157
+ },
158
+ "sideEffects": false,
159
+ "module": "fesm2022/saitec-ui.mjs",
160
+ "typings": "types/saitec-ui.d.ts",
161
+ "type": "module"
162
+ }
package/styles.css ADDED
@@ -0,0 +1,7 @@
1
+ @import "./lib/core/tokens/primitives.css";
2
+ @import "./lib/core/tokens/foundations.css";
3
+
4
+ @import "./lib/core/themes/light.css";
5
+ @import "./lib/core/themes/dark.css";
6
+
7
+ @import "./lib/core/tokens/components.css";
@@ -0,0 +1,50 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { SuiOption } from '@saitec/ui/core';
4
+
5
+ declare class SuiAutocomplete implements ControlValueAccessor {
6
+ id: _angular_core.InputSignal<string>;
7
+ name: _angular_core.InputSignal<string | undefined>;
8
+ options: _angular_core.InputSignal<SuiOption<unknown>[]>;
9
+ placeholder: _angular_core.InputSignal<string>;
10
+ disabled: _angular_core.InputSignal<boolean>;
11
+ readonly: _angular_core.InputSignal<boolean>;
12
+ required: _angular_core.InputSignal<boolean>;
13
+ minLength: _angular_core.InputSignal<number>;
14
+ forceSelection: _angular_core.InputSignal<boolean>;
15
+ emptyMessage: _angular_core.InputSignal<string>;
16
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
17
+ ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
18
+ ariaInvalid: _angular_core.InputSignal<boolean | undefined>;
19
+ search: _angular_core.OutputEmitterRef<string>;
20
+ valueChange: _angular_core.OutputEmitterRef<unknown>;
21
+ optionSelected: _angular_core.OutputEmitterRef<SuiOption<unknown>>;
22
+ focused: _angular_core.OutputEmitterRef<FocusEvent>;
23
+ blurred: _angular_core.OutputEmitterRef<FocusEvent>;
24
+ protected readonly text: _angular_core.WritableSignal<string>;
25
+ protected readonly value: _angular_core.WritableSignal<unknown>;
26
+ protected readonly panelVisible: _angular_core.WritableSignal<boolean>;
27
+ protected readonly activeIndex: _angular_core.WritableSignal<number>;
28
+ private readonly formDisabled;
29
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
30
+ protected readonly hasOptions: _angular_core.Signal<boolean>;
31
+ protected readonly showEmptyMessage: _angular_core.Signal<boolean>;
32
+ private onChange;
33
+ private onTouched;
34
+ writeValue(value: unknown): void;
35
+ registerOnChange(fn: (value: unknown) => void): void;
36
+ registerOnTouched(fn: () => void): void;
37
+ setDisabledState(disabled: boolean): void;
38
+ protected handleInput(event: Event): void;
39
+ protected selectOption(option: SuiOption): void;
40
+ protected handleFocus(event: FocusEvent): void;
41
+ protected handleBlur(event: FocusEvent): void;
42
+ protected handleKeyDown(event: KeyboardEvent): void;
43
+ protected isSelected(option: SuiOption): boolean;
44
+ private moveActive;
45
+ private closePanel;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiAutocomplete, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiAutocomplete, "sui-autocomplete", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; "isSignal": true; }; }, { "search": "search"; "valueChange": "valueChange"; "optionSelected": "optionSelected"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
48
+ }
49
+
50
+ export { SuiAutocomplete };
@@ -0,0 +1,15 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type SuiBadgeSeverity = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger';
4
+ type SuiBadgeSize = 'small' | 'medium' | 'large';
5
+ declare class SuiBadge {
6
+ value: _angular_core.InputSignal<string | number | undefined>;
7
+ severity: _angular_core.InputSignal<SuiBadgeSeverity>;
8
+ size: _angular_core.InputSignal<SuiBadgeSize>;
9
+ rounded: _angular_core.InputSignal<boolean>;
10
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiBadge, never>;
11
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiBadge, "sui-badge", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
+ }
13
+
14
+ export { SuiBadge };
15
+ export type { SuiBadgeSeverity, SuiBadgeSize };
@@ -0,0 +1,22 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type SuiButtonVariant = 'primary' | 'secondary' | 'danger' | 'ghost';
4
+ type SuiButtonSeverity = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'ghost';
5
+ type SuiButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ type SuiButtonType = 'button' | 'submit' | 'reset';
7
+ declare class SuiButton {
8
+ readonly variant: _angular_core.InputSignal<SuiButtonVariant>;
9
+ readonly severity: _angular_core.InputSignal<SuiButtonSeverity>;
10
+ readonly size: _angular_core.InputSignal<SuiButtonSize>;
11
+ readonly type: _angular_core.InputSignal<SuiButtonType>;
12
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
13
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
14
+ readonly fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
15
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
16
+ readonly isDisabled: _angular_core.Signal<boolean>;
17
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiButton, never>;
18
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiButton, "sui-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
19
+ }
20
+
21
+ export { SuiButton };
22
+ export type { SuiButtonSeverity, SuiButtonSize, SuiButtonType, SuiButtonVariant };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class SuiCard {
4
+ title: _angular_core.InputSignal<string | undefined>;
5
+ subtitle: _angular_core.InputSignal<string | undefined>;
6
+ padding: _angular_core.InputSignal<boolean>;
7
+ bordered: _angular_core.InputSignal<boolean>;
8
+ shadow: _angular_core.InputSignal<boolean>;
9
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiCard, never>;
10
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCard, "sui-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; }, {}, never, ["[suiCardHeader]", "*", "[suiCardFooter]"], true, never>;
11
+ }
12
+
13
+ export { SuiCard };
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ declare class SuiCheckbox implements ControlValueAccessor {
5
+ id: _angular_core.InputSignal<string>;
6
+ name: _angular_core.InputSignal<string | undefined>;
7
+ disabled: _angular_core.InputSignal<boolean>;
8
+ required: _angular_core.InputSignal<boolean>;
9
+ indeterminate: _angular_core.InputSignal<boolean>;
10
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
11
+ label: _angular_core.InputSignal<string | undefined>;
12
+ ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
13
+ ariaInvalid: _angular_core.InputSignal<boolean | undefined>;
14
+ valueChange: _angular_core.OutputEmitterRef<boolean>;
15
+ focused: _angular_core.OutputEmitterRef<FocusEvent>;
16
+ blurred: _angular_core.OutputEmitterRef<FocusEvent>;
17
+ protected readonly checked: _angular_core.WritableSignal<boolean>;
18
+ private readonly formDisabled;
19
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
20
+ private onChange;
21
+ private onTouched;
22
+ writeValue(value: boolean | null | undefined): void;
23
+ registerOnChange(fn: (value: boolean) => void): void;
24
+ registerOnTouched(fn: () => void): void;
25
+ setDisabledState(disabled: boolean): void;
26
+ protected handleChange(event: Event): void;
27
+ protected handleFocus(event: FocusEvent): void;
28
+ protected handleBlur(event: FocusEvent): void;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiCheckbox, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCheckbox, "sui-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
31
+ }
32
+
33
+ export { SuiCheckbox };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class SuiChip {
4
+ label: _angular_core.InputSignal<string | undefined>;
5
+ removable: _angular_core.InputSignal<boolean>;
6
+ disabled: _angular_core.InputSignal<boolean>;
7
+ removed: _angular_core.OutputEmitterRef<void>;
8
+ protected remove(event: MouseEvent): void;
9
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiChip, never>;
10
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiChip, "sui-chip", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["*"], true, never>;
11
+ }
12
+
13
+ export { SuiChip };
@@ -0,0 +1,38 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ type SuiConfirmSeverity = 'primary' | 'danger' | 'warning';
4
+ interface SuiConfirmOptions {
5
+ header?: string;
6
+ message: string;
7
+ acceptLabel?: string;
8
+ rejectLabel?: string;
9
+ severity?: SuiConfirmSeverity;
10
+ dismissible?: boolean;
11
+ closeOnEscape?: boolean;
12
+ }
13
+ interface SuiConfirmRequest extends Required<Pick<SuiConfirmOptions, 'header' | 'message' | 'acceptLabel' | 'rejectLabel' | 'severity' | 'dismissible' | 'closeOnEscape'>> {
14
+ resolve: (result: boolean) => void;
15
+ }
16
+ declare class SuiConfirmService {
17
+ private readonly _request;
18
+ readonly request: i0.Signal<SuiConfirmRequest | null>;
19
+ confirm(options: SuiConfirmOptions): Promise<boolean>;
20
+ accept(): void;
21
+ reject(): void;
22
+ private finish;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<SuiConfirmService, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<SuiConfirmService>;
25
+ }
26
+
27
+ declare class SuiConfirm {
28
+ protected readonly confirm: SuiConfirmService;
29
+ protected readonly visible: i0.Signal<boolean>;
30
+ protected accept(): void;
31
+ protected reject(): void;
32
+ protected handleVisibleChange(visible: boolean): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<SuiConfirm, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<SuiConfirm, "sui-confirm", never, {}, {}, never, never, true, never>;
35
+ }
36
+
37
+ export { SuiConfirm, SuiConfirmService };
38
+ export type { SuiConfirmOptions, SuiConfirmRequest, SuiConfirmSeverity };
@@ -0,0 +1,7 @@
1
+ interface SuiOption<T = unknown> {
2
+ label: string;
3
+ value: T;
4
+ disabled?: boolean;
5
+ }
6
+
7
+ export type { SuiOption };
@@ -0,0 +1,35 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ declare class SuiDatePicker implements ControlValueAccessor {
5
+ id: _angular_core.InputSignal<string>;
6
+ name: _angular_core.InputSignal<string | undefined>;
7
+ placeholder: _angular_core.InputSignal<string>;
8
+ disabled: _angular_core.InputSignal<boolean>;
9
+ readonly: _angular_core.InputSignal<boolean>;
10
+ required: _angular_core.InputSignal<boolean>;
11
+ min: _angular_core.InputSignal<string | undefined>;
12
+ max: _angular_core.InputSignal<string | undefined>;
13
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
14
+ ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
15
+ ariaInvalid: _angular_core.InputSignal<boolean | undefined>;
16
+ valueChange: _angular_core.OutputEmitterRef<string | null>;
17
+ focused: _angular_core.OutputEmitterRef<FocusEvent>;
18
+ blurred: _angular_core.OutputEmitterRef<FocusEvent>;
19
+ protected readonly value: _angular_core.WritableSignal<string | null>;
20
+ private readonly formDisabled;
21
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
22
+ private onChange;
23
+ private onTouched;
24
+ writeValue(value: string | null | undefined): void;
25
+ registerOnChange(fn: (value: string | null) => void): void;
26
+ registerOnTouched(fn: () => void): void;
27
+ setDisabledState(disabled: boolean): void;
28
+ protected handleChange(event: Event): void;
29
+ protected handleFocus(event: FocusEvent): void;
30
+ protected handleBlur(event: FocusEvent): void;
31
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiDatePicker, never>;
32
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDatePicker, "sui-date-picker", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
33
+ }
34
+
35
+ export { SuiDatePicker };
@@ -0,0 +1,29 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy } from '@angular/core';
3
+
4
+ declare class SuiDialog implements OnDestroy {
5
+ private readonly document;
6
+ visible: _angular_core.ModelSignal<boolean>;
7
+ header: _angular_core.InputSignal<string | undefined>;
8
+ modal: _angular_core.InputSignal<boolean>;
9
+ dismissible: _angular_core.InputSignal<boolean>;
10
+ closeOnEscape: _angular_core.InputSignal<boolean>;
11
+ showCloseButton: _angular_core.InputSignal<boolean>;
12
+ blockScroll: _angular_core.InputSignal<boolean>;
13
+ width: _angular_core.InputSignal<string>;
14
+ maxWidth: _angular_core.InputSignal<string>;
15
+ opened: _angular_core.OutputEmitterRef<void>;
16
+ closed: _angular_core.OutputEmitterRef<void>;
17
+ private previousBodyOverflow?;
18
+ constructor();
19
+ protected handleEscape(): void;
20
+ protected handleBackdrop(): void;
21
+ protected close(): void;
22
+ open(): void;
23
+ private updateBodyScroll;
24
+ ngOnDestroy(): void;
25
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiDialog, never>;
26
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDialog, "sui-dialog", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "blockScroll": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "opened": "opened"; "closed": "closed"; }, never, ["[suiDialogHeader]", "*", "[suiDialogFooter]"], true, never>;
27
+ }
28
+
29
+ export { SuiDialog };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type SuiDividerOrientation = 'horizontal' | 'vertical';
4
+ type SuiDividerAlign = 'start' | 'center' | 'end';
5
+ declare class SuiDivider {
6
+ orientation: _angular_core.InputSignal<SuiDividerOrientation>;
7
+ align: _angular_core.InputSignal<SuiDividerAlign>;
8
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiDivider, never>;
9
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDivider, "sui-divider", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
10
+ }
11
+
12
+ export { SuiDivider };
13
+ export type { SuiDividerAlign, SuiDividerOrientation };
@@ -0,0 +1,31 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy } from '@angular/core';
3
+
4
+ type SuiDrawerPosition = 'left' | 'right' | 'top' | 'bottom';
5
+ declare class SuiDrawer implements OnDestroy {
6
+ private readonly document;
7
+ visible: _angular_core.ModelSignal<boolean>;
8
+ position: _angular_core.InputSignal<SuiDrawerPosition>;
9
+ header: _angular_core.InputSignal<string | undefined>;
10
+ modal: _angular_core.InputSignal<boolean>;
11
+ dismissible: _angular_core.InputSignal<boolean>;
12
+ closeOnEscape: _angular_core.InputSignal<boolean>;
13
+ showCloseButton: _angular_core.InputSignal<boolean>;
14
+ blockScroll: _angular_core.InputSignal<boolean>;
15
+ size: _angular_core.InputSignal<string | undefined>;
16
+ opened: _angular_core.OutputEmitterRef<void>;
17
+ closed: _angular_core.OutputEmitterRef<void>;
18
+ private previousBodyOverflow?;
19
+ constructor();
20
+ protected handleEscape(): void;
21
+ protected handleBackdrop(): void;
22
+ protected close(): void;
23
+ open(): void;
24
+ private updateBodyScroll;
25
+ ngOnDestroy(): void;
26
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiDrawer, never>;
27
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDrawer, "sui-drawer", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "blockScroll": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "opened": "opened"; "closed": "closed"; }, never, ["[suiDrawerHeader]", "*", "[suiDrawerFooter]"], true, never>;
28
+ }
29
+
30
+ export { SuiDrawer };
31
+ export type { SuiDrawerPosition };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class SuiFieldset {
4
+ legend: _angular_core.InputSignal<string | undefined>;
5
+ toggleable: _angular_core.InputSignal<boolean>;
6
+ collapsed: _angular_core.ModelSignal<boolean>;
7
+ disabled: _angular_core.InputSignal<boolean>;
8
+ protected toggle(): void;
9
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFieldset, never>;
10
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFieldset, "sui-fieldset", never, { "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["[suiFieldsetLegend]", "*"], true, never>;
11
+ }
12
+
13
+ export { SuiFieldset };
@@ -0,0 +1,43 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface SuiFileUploadError {
4
+ file?: File;
5
+ message: string;
6
+ }
7
+ declare class SuiFileUpload {
8
+ id: _angular_core.InputSignal<string>;
9
+ name: _angular_core.InputSignal<string>;
10
+ multiple: _angular_core.InputSignal<boolean>;
11
+ accept: _angular_core.InputSignal<string | undefined>;
12
+ disabled: _angular_core.InputSignal<boolean>;
13
+ maxFileSize: _angular_core.InputSignal<number | undefined>;
14
+ maxFiles: _angular_core.InputSignal<number | undefined>;
15
+ chooseLabel: _angular_core.InputSignal<string>;
16
+ dropLabel: _angular_core.InputSignal<string>;
17
+ showFileList: _angular_core.InputSignal<boolean>;
18
+ filesChange: _angular_core.OutputEmitterRef<File[]>;
19
+ fileAdded: _angular_core.OutputEmitterRef<File>;
20
+ fileRemoved: _angular_core.OutputEmitterRef<File>;
21
+ cleared: _angular_core.OutputEmitterRef<void>;
22
+ error: _angular_core.OutputEmitterRef<SuiFileUploadError>;
23
+ protected readonly files: _angular_core.WritableSignal<File[]>;
24
+ protected readonly dragging: _angular_core.WritableSignal<boolean>;
25
+ private readonly inputElement;
26
+ protected choose(): void;
27
+ protected handleFileInput(event: Event): void;
28
+ protected handleDragOver(event: DragEvent): void;
29
+ protected handleDragLeave(event: DragEvent): void;
30
+ protected handleDrop(event: DragEvent): void;
31
+ protected removeFile(file: File): void;
32
+ protected clear(): void;
33
+ protected formatSize(bytes: number): string;
34
+ private addFiles;
35
+ private validateFile;
36
+ private matchesAccept;
37
+ private sameFile;
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFileUpload, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFileUpload, "sui-file-upload", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "chooseLabel": { "alias": "chooseLabel"; "required": false; "isSignal": true; }; "dropLabel": { "alias": "dropLabel"; "required": false; "isSignal": true; }; "showFileList": { "alias": "showFileList"; "required": false; "isSignal": true; }; }, { "filesChange": "filesChange"; "fileAdded": "fileAdded"; "fileRemoved": "fileRemoved"; "cleared": "cleared"; "error": "error"; }, never, never, true, never>;
40
+ }
41
+
42
+ export { SuiFileUpload };
43
+ export type { SuiFileUploadError };
@@ -0,0 +1,14 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class SuiFormField {
4
+ label: _angular_core.InputSignal<string | undefined>;
5
+ hint: _angular_core.InputSignal<string | undefined>;
6
+ error: _angular_core.InputSignal<string | undefined>;
7
+ required: _angular_core.InputSignal<boolean>;
8
+ invalid: _angular_core.InputSignal<boolean>;
9
+ disabled: _angular_core.InputSignal<boolean>;
10
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFormField, never>;
11
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFormField, "sui-form-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
12
+ }
13
+
14
+ export { SuiFormField };
@@ -0,0 +1,60 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ type SuiInputNumberMode = 'decimal' | 'currency';
5
+ declare class SuiInputNumber implements ControlValueAccessor {
6
+ id: _angular_core.InputSignal<string>;
7
+ name: _angular_core.InputSignal<string | undefined>;
8
+ placeholder: _angular_core.InputSignal<string>;
9
+ mode: _angular_core.InputSignal<SuiInputNumberMode>;
10
+ locale: _angular_core.InputSignal<string>;
11
+ currency: _angular_core.InputSignal<string>;
12
+ currencyDisplay: _angular_core.InputSignal<"symbol" | "name" | "code">;
13
+ useGrouping: _angular_core.InputSignal<boolean>;
14
+ minFractionDigits: _angular_core.InputSignal<number>;
15
+ maxFractionDigits: _angular_core.InputSignal<number>;
16
+ min: _angular_core.InputSignal<number | undefined>;
17
+ max: _angular_core.InputSignal<number | undefined>;
18
+ step: _angular_core.InputSignal<number>;
19
+ prefix: _angular_core.InputSignal<string>;
20
+ suffix: _angular_core.InputSignal<string>;
21
+ disabled: _angular_core.InputSignal<boolean>;
22
+ readonly: _angular_core.InputSignal<boolean>;
23
+ required: _angular_core.InputSignal<boolean>;
24
+ showButtons: _angular_core.InputSignal<boolean>;
25
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
26
+ ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
27
+ ariaInvalid: _angular_core.InputSignal<boolean | undefined>;
28
+ valueChange: _angular_core.OutputEmitterRef<number | null>;
29
+ focused: _angular_core.OutputEmitterRef<FocusEvent>;
30
+ blurred: _angular_core.OutputEmitterRef<FocusEvent>;
31
+ protected readonly value: _angular_core.WritableSignal<number | null>;
32
+ protected readonly text: _angular_core.WritableSignal<string>;
33
+ protected readonly focusedState: _angular_core.WritableSignal<boolean>;
34
+ private readonly formDisabled;
35
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
36
+ private onChange;
37
+ private onTouched;
38
+ private get formatter();
39
+ writeValue(value: number | null | undefined): void;
40
+ registerOnChange(fn: (value: number | null) => void): void;
41
+ registerOnTouched(fn: () => void): void;
42
+ setDisabledState(disabled: boolean): void;
43
+ protected handleInput(event: Event): void;
44
+ protected handleFocus(event: FocusEvent): void;
45
+ protected handleBlur(event: FocusEvent): void;
46
+ protected increment(): void;
47
+ protected decrement(): void;
48
+ private updateValue;
49
+ private updateDisplay;
50
+ private parse;
51
+ private clamp;
52
+ private round;
53
+ private toEditableString;
54
+ private escapeRegex;
55
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiInputNumber, never>;
56
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiInputNumber, "sui-input-number", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; "isSignal": true; }; "useGrouping": { "alias": "useGrouping"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "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; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
57
+ }
58
+
59
+ export { SuiInputNumber };
60
+ export type { SuiInputNumberMode };