angular-matecu 4.1.0 → 4.2.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.
Files changed (87) hide show
  1. package/fesm2022/angular-matecu.mjs +1740 -0
  2. package/fesm2022/angular-matecu.mjs.map +1 -0
  3. package/package.json +16 -3
  4. package/types/angular-matecu.d.ts +490 -0
  5. package/ng-package.json +0 -7
  6. package/src/css/main.css +0 -1
  7. package/src/lib/components/matecu-alert-box/matecu-alert-box.component.html +0 -11
  8. package/src/lib/components/matecu-alert-box/matecu-alert-box.component.scss +0 -39
  9. package/src/lib/components/matecu-alert-box/matecu-alert-box.component.spec.ts +0 -25
  10. package/src/lib/components/matecu-alert-box/matecu-alert-box.component.ts +0 -60
  11. package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.html +0 -24
  12. package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.scss +0 -5
  13. package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.spec.ts +0 -25
  14. package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.ts +0 -53
  15. package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.html +0 -10
  16. package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.scss +0 -34
  17. package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.spec.ts +0 -25
  18. package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.ts +0 -45
  19. package/src/lib/components/matecu-autocomplete/matecu-autocomplete.html +0 -36
  20. package/src/lib/components/matecu-autocomplete/matecu-autocomplete.scss +0 -56
  21. package/src/lib/components/matecu-autocomplete/matecu-autocomplete.spec.ts +0 -23
  22. package/src/lib/components/matecu-autocomplete/matecu-autocomplete.ts +0 -336
  23. package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.html +0 -64
  24. package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.scss +0 -23
  25. package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.spec.ts +0 -23
  26. package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.ts +0 -314
  27. package/src/lib/components/matecu-file-input/matecu-file-input-customization.md +0 -284
  28. package/src/lib/components/matecu-file-input/matecu-file-input.example.md +0 -228
  29. package/src/lib/components/matecu-file-input/matecu-file-input.html +0 -128
  30. package/src/lib/components/matecu-file-input/matecu-file-input.scss +0 -461
  31. package/src/lib/components/matecu-file-input/matecu-file-input.spec.ts +0 -340
  32. package/src/lib/components/matecu-file-input/matecu-file-input.ts +0 -438
  33. package/src/lib/components/matecu-spinner/matecu-spinner.component.css +0 -15
  34. package/src/lib/components/matecu-spinner/matecu-spinner.component.html +0 -44
  35. package/src/lib/components/matecu-spinner/matecu-spinner.component.spec.ts +0 -25
  36. package/src/lib/components/matecu-spinner/matecu-spinner.component.ts +0 -54
  37. package/src/lib/components/matecu-spinner/spinner-loader.component.scss +0 -13
  38. package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.html +0 -1
  39. package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.scss +0 -19
  40. package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.spec.ts +0 -25
  41. package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.ts +0 -14
  42. package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.html +0 -1
  43. package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.scss +0 -14
  44. package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.spec.ts +0 -25
  45. package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.ts +0 -11
  46. package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.html +0 -3
  47. package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.scss +0 -19
  48. package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.spec.ts +0 -25
  49. package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.ts +0 -31
  50. package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.html +0 -1
  51. package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.scss +0 -8
  52. package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.spec.ts +0 -23
  53. package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.ts +0 -11
  54. package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.html +0 -9
  55. package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.scss +0 -34
  56. package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.spec.ts +0 -23
  57. package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.ts +0 -18
  58. package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.html +0 -7
  59. package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.scss +0 -49
  60. package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.spec.ts +0 -25
  61. package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.ts +0 -112
  62. package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.html +0 -20
  63. package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.scss +0 -90
  64. package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.spec.ts +0 -25
  65. package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.ts +0 -92
  66. package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.html +0 -1
  67. package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.scss +0 -91
  68. package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.spec.ts +0 -25
  69. package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.ts +0 -14
  70. package/src/lib/modules/matecu-alert-box/matecu-alert-box.module.ts +0 -16
  71. package/src/lib/modules/matecu-spinner/matecu-spinner.module.ts +0 -14
  72. package/src/lib/modules/matecu-topbar-layout/matecu-topbar-layout.module.ts +0 -45
  73. package/src/lib/services/matecu-snack-bar.service.spec.ts +0 -16
  74. package/src/lib/services/matecu-snack-bar.service.ts +0 -66
  75. package/src/lib/services/matecu-spinner.service.spec.ts +0 -16
  76. package/src/lib/services/matecu-spinner.service.ts +0 -39
  77. package/src/lib/types/matecu-alert-dialog.ts +0 -10
  78. package/src/lib/types/matecu-alert-snackbar.ts +0 -8
  79. package/src/lib/types/matecu-altert-box-type.ts +0 -6
  80. package/src/lib/types/matecu-autocomplete.ts +0 -5
  81. package/src/public-api.ts +0 -42
  82. package/src/scss/main.scss +0 -2
  83. package/src/scss/matecu-spinner-module/_matecu-spinner-component.scss +0 -8
  84. package/src/scss/matecu-topbar-layout/_variables.scss +0 -2
  85. package/tsconfig.lib.json +0 -17
  86. package/tsconfig.lib.prod.json +0 -11
  87. package/tsconfig.spec.json +0 -15
@@ -1,461 +0,0 @@
1
- :host {
2
- display: block;
3
- width: 100%;
4
- > * {
5
- box-sizing: border-box;
6
- }
7
- // 🎨 Matecu File Input CSS Custom Properties
8
- // Base color palette
9
- --matecu-file-input-color-primary: #4f46e5;
10
- --matecu-file-input-color-primary-hover: #4338ca;
11
- --matecu-file-input-color-success: #10b981;
12
- --matecu-file-input-color-error: #ef4444;
13
- --matecu-file-input-color-error-hover: #dc2626;
14
- --matecu-file-input-color-loading: #8b5cf6;
15
- --matecu-file-input-color-disabled: #9ca3af;
16
-
17
- // Border colors
18
- --matecu-file-input-border-default: #e1e5e9;
19
- --matecu-file-input-border-hover: var(--matecu-file-input-color-primary);
20
- --matecu-file-input-border-success: var(--matecu-file-input-color-success);
21
- --matecu-file-input-border-error: var(--matecu-file-input-color-error);
22
- --matecu-file-input-border-loading: var(--matecu-file-input-color-loading);
23
- --matecu-file-input-border-separator: #e5e7eb;
24
-
25
- // Background colors
26
- --matecu-file-input-bg-default: #fafbfc;
27
- --matecu-file-input-bg-hover: #f8faff;
28
- --matecu-file-input-bg-drag-over: #eef2ff;
29
- --matecu-file-input-bg-disabled: #f5f5f5;
30
- --matecu-file-input-bg-success: #f0fdf4;
31
- --matecu-file-input-bg-error: #fef2f2;
32
- --matecu-file-input-bg-loading: #faf5ff;
33
- --matecu-file-input-bg-surface: #ffffff;
34
- --matecu-file-input-bg-surface-alt: #f3f4f6;
35
-
36
- // Text colors
37
- --matecu-file-input-text-primary: #111827;
38
- --matecu-file-input-text-secondary: #374151;
39
- --matecu-file-input-text-muted: #6b7280;
40
- --matecu-file-input-text-disabled: #9ca3af;
41
- --matecu-file-input-text-on-primary: #ffffff;
42
- --matecu-file-input-text-error: #dc2626;
43
-
44
- // Button colors
45
- --matecu-file-input-button-primary-bg: var(--matecu-file-input-color-primary);
46
- --matecu-file-input-button-primary-bg-hover: var(--matecu-file-input-color-primary-hover);
47
- --matecu-file-input-button-primary-text: var(--matecu-file-input-text-on-primary);
48
- --matecu-file-input-button-danger-bg: var(--matecu-file-input-color-error);
49
- --matecu-file-input-button-danger-bg-hover: var(--matecu-file-input-color-error-hover);
50
- --matecu-file-input-button-danger-text: var(--matecu-file-input-text-on-primary);
51
- --matecu-file-input-button-disabled-bg: var(--matecu-file-input-color-disabled);
52
-
53
- // Spinner colors
54
- --matecu-file-input-spinner-track: #e5e7eb;
55
- --matecu-file-input-spinner-fill: var(--matecu-file-input-color-loading);
56
-
57
- // Shadow colors
58
- --matecu-file-input-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
59
- --matecu-file-input-shadow-md: 0 1px 3px rgba(0, 0, 0, 0.1);
60
-
61
- // Spacing and sizing
62
- --matecu-file-input-border-radius-sm: 4px;
63
- --matecu-file-input-border-radius-md: 6px;
64
- --matecu-file-input-border-radius-lg: 8px;
65
- --matecu-file-input-border-radius-xl: 12px;
66
- --matecu-file-input-border-width: 2px;
67
-
68
- input[type='file'] {
69
- display: none;
70
- }
71
- }
72
-
73
- .file-input-container {
74
- position: relative;
75
- border: var(--matecu-file-input-border-width) dashed var(--matecu-file-input-border-default);
76
- border-radius: var(--matecu-file-input-border-radius-lg);
77
- padding: 24px;
78
- transition: all 0.3s ease;
79
- background-color: var(--matecu-file-input-bg-default);
80
- cursor: pointer;
81
- min-height: 120px;
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
-
86
- &:hover:not(.disabled) {
87
- border-color: var(--matecu-file-input-border-hover);
88
- background-color: var(--matecu-file-input-bg-hover);
89
- }
90
-
91
- &.drag-over {
92
- border-color: var(--matecu-file-input-border-hover);
93
- background-color: var(--matecu-file-input-bg-drag-over);
94
- transform: scale(1.02);
95
- }
96
-
97
- &.disabled {
98
- opacity: 0.6;
99
- cursor: not-allowed;
100
- background-color: var(--matecu-file-input-bg-disabled);
101
- }
102
-
103
- &.has-files {
104
- border-style: solid;
105
- border-color: var(--matecu-file-input-border-success);
106
- background-color: var(--matecu-file-input-bg-success);
107
- }
108
-
109
- &.has-errors {
110
- border-color: var(--matecu-file-input-border-error);
111
- background-color: var(--matecu-file-input-bg-error);
112
- }
113
-
114
- &.loading {
115
- border-color: var(--matecu-file-input-border-loading);
116
- background-color: var(--matecu-file-input-bg-loading);
117
- }
118
- }
119
-
120
- // Loading state
121
- .loading-container {
122
- display: flex;
123
- flex-direction: column;
124
- align-items: center;
125
- gap: 12px;
126
- color: var(--matecu-file-input-text-muted);
127
-
128
- .spinner {
129
- width: 32px;
130
- height: 32px;
131
- border: 3px solid var(--matecu-file-input-spinner-track);
132
- border-top: 3px solid var(--matecu-file-input-spinner-fill);
133
- border-radius: 50%;
134
- animation: spin 1s linear infinite;
135
- }
136
-
137
- .loading-text {
138
- font-size: 14px;
139
- font-weight: 500;
140
- }
141
- }
142
-
143
- @keyframes spin {
144
- 0% {
145
- transform: rotate(0deg);
146
- }
147
- 100% {
148
- transform: rotate(360deg);
149
- }
150
- }
151
-
152
- // Drop zone styles
153
- .drop-zone {
154
- text-align: center;
155
- width: 100%;
156
-
157
- .drop-zone-icon {
158
- font-size: 48px;
159
- margin-bottom: 16px;
160
- }
161
-
162
- .drop-zone-content {
163
- .drop-zone-title {
164
- font-size: 16px;
165
- font-weight: 600;
166
- color: var(--matecu-file-input-text-secondary);
167
- margin-bottom: 12px;
168
- }
169
-
170
- .drop-zone-subtitle {
171
- font-size: 14px;
172
- color: var(--matecu-file-input-text-muted);
173
- margin-top: 8px;
174
- }
175
- }
176
-
177
- .select-button {
178
- background-color: var(--matecu-file-input-button-primary-bg);
179
- color: var(--matecu-file-input-button-primary-text);
180
- border: none;
181
- padding: 12px 24px;
182
- border-radius: var(--matecu-file-input-border-radius-md);
183
- font-weight: 500;
184
- cursor: pointer;
185
- transition: background-color 0.2s ease;
186
-
187
- &:hover:not(:disabled) {
188
- background-color: var(--matecu-file-input-button-primary-bg-hover);
189
- }
190
-
191
- &:disabled {
192
- background-color: var(--matecu-file-input-button-disabled-bg);
193
- cursor: not-allowed;
194
- }
195
- }
196
- }
197
-
198
- // Single file display
199
- .single-file-display {
200
- box-sizing: border-box;
201
- display: grid;
202
- grid-template-columns: 1fr 32px;
203
- align-items: center;
204
- justify-content: space-between;
205
- width: 100%;
206
- padding: 16px;
207
- background-color: var(--matecu-file-input-bg-surface);
208
- border-radius: var(--matecu-file-input-border-radius-md);
209
- box-shadow: var(--matecu-file-input-shadow-md);
210
-
211
- .file-info {
212
- display: flex;
213
- align-items: center;
214
- gap: 16px;
215
- overflow: hidden;
216
- .file-preview {
217
- img {
218
- border-radius: var(--matecu-file-input-border-radius-sm);
219
- object-fit: cover;
220
- }
221
- }
222
-
223
- .file-icon {
224
- width: 48px;
225
- height: 48px;
226
- background-color: var(--matecu-file-input-bg-surface-alt);
227
- border-radius: var(--matecu-file-input-border-radius-md);
228
- display: flex;
229
- align-items: center;
230
- justify-content: center;
231
- font-size: 24px;
232
- color: var(--matecu-file-input-text-muted);
233
- }
234
-
235
- .file-details {
236
- max-width: calc(100% - 48px - 16px);
237
- .file-name {
238
- max-width: 100%;
239
- font-size: 16px;
240
- font-weight: 600;
241
- color: var(--matecu-file-input-text-primary);
242
- margin: 0 0 4px 0;
243
- display: inline-block;
244
- text-overflow: ellipsis;
245
- white-space: nowrap;
246
- overflow: hidden;
247
- }
248
-
249
- .file-size {
250
- font-size: 14px;
251
- color: var(--matecu-file-input-text-muted);
252
- margin: 0 0 2px 0;
253
- }
254
-
255
- .file-type {
256
- font-size: 12px;
257
- color: var(--matecu-file-input-text-disabled);
258
- margin: 0;
259
- }
260
- }
261
- }
262
-
263
- .remove-file-button {
264
- background-color: var(--matecu-file-input-button-danger-bg);
265
- color: var(--matecu-file-input-button-danger-text);
266
- border: none;
267
- width: 32px;
268
- height: 32px;
269
- border-radius: 50%;
270
- cursor: pointer;
271
- display: flex;
272
- align-items: center;
273
- justify-content: center;
274
- font-size: 16px;
275
- transition: background-color 0.2s ease;
276
-
277
- &:hover {
278
- background-color: var(--matecu-file-input-button-danger-bg-hover);
279
- }
280
- }
281
- }
282
-
283
- // Multiple files display
284
- .multiple-files-display {
285
- width: 100%;
286
-
287
- .files-header {
288
- display: flex;
289
- justify-content: space-between;
290
- align-items: center;
291
- margin-bottom: 16px;
292
- padding-bottom: 8px;
293
- border-bottom: 1px solid var(--matecu-file-input-border-separator);
294
-
295
- h3 {
296
- font-size: 16px;
297
- font-weight: 600;
298
- color: var(--matecu-file-input-text-primary);
299
- margin: 0;
300
- }
301
-
302
- .files-counter {
303
- font-size: 14px;
304
- color: var(--matecu-file-input-text-muted);
305
- background-color: var(--matecu-file-input-bg-surface-alt);
306
- padding: 4px 8px;
307
- border-radius: var(--matecu-file-input-border-radius-xl);
308
- }
309
- }
310
-
311
- .files-list {
312
- display: flex;
313
- flex-direction: column;
314
- gap: 8px;
315
- margin-bottom: 16px;
316
- }
317
-
318
- .file-item {
319
- display: flex;
320
- align-items: center;
321
- gap: 12px;
322
- padding: 12px;
323
- background-color: var(--matecu-file-input-bg-surface);
324
- border-radius: var(--matecu-file-input-border-radius-md);
325
- box-shadow: var(--matecu-file-input-shadow-sm);
326
- border: 1px solid var(--matecu-file-input-border-separator);
327
-
328
- .file-preview-small,
329
- .file-icon-small {
330
- width: 32px;
331
- height: 32px;
332
- background-color: var(--matecu-file-input-bg-surface-alt);
333
- border-radius: var(--matecu-file-input-border-radius-sm);
334
- display: flex;
335
- align-items: center;
336
- justify-content: center;
337
- font-size: 14px;
338
- color: var(--matecu-file-input-text-muted);
339
- flex-shrink: 0;
340
-
341
- img {
342
- width: 100%;
343
- height: 100%;
344
- object-fit: cover;
345
- border-radius: var(--matecu-file-input-border-radius-sm);
346
- }
347
- }
348
-
349
- .file-item-details {
350
- flex: 1;
351
- min-width: 0;
352
-
353
- .file-item-name {
354
- font-size: 14px;
355
- font-weight: 500;
356
- color: var(--matecu-file-input-text-primary);
357
- white-space: nowrap;
358
- overflow: hidden;
359
- text-overflow: ellipsis;
360
- }
361
-
362
- .file-item-size {
363
- font-size: 12px;
364
- color: var(--matecu-file-input-text-muted);
365
- }
366
- }
367
-
368
- .remove-file-button-small {
369
- background-color: var(--matecu-file-input-button-danger-bg);
370
- color: var(--matecu-file-input-button-danger-text);
371
- border: none;
372
- width: 24px;
373
- height: 24px;
374
- border-radius: 50%;
375
- cursor: pointer;
376
- display: flex;
377
- align-items: center;
378
- justify-content: center;
379
- font-size: 12px;
380
- flex-shrink: 0;
381
- transition: background-color 0.2s ease;
382
-
383
- &:hover {
384
- background-color: var(--matecu-file-input-button-danger-bg-hover);
385
- }
386
- }
387
- }
388
-
389
- .add-more-button {
390
- width: 100%;
391
- background-color: var(--matecu-file-input-bg-surface-alt);
392
- color: var(--matecu-file-input-text-muted);
393
- border: var(--matecu-file-input-border-width) dashed var(--matecu-file-input-border-separator);
394
- padding: 12px;
395
- border-radius: var(--matecu-file-input-border-radius-md);
396
- cursor: pointer;
397
- font-weight: 500;
398
- transition: all 0.2s ease;
399
-
400
- &:hover {
401
- background-color: var(--matecu-file-input-bg-hover);
402
- border-color: var(--matecu-file-input-text-disabled);
403
- }
404
- }
405
- }
406
-
407
- // Error messages
408
- .error-messages {
409
- margin-top: 12px;
410
-
411
- .error-message {
412
- background-color: var(--matecu-file-input-bg-error);
413
- color: var(--matecu-file-input-text-error);
414
- padding: 8px 12px;
415
- border-radius: var(--matecu-file-input-border-radius-sm);
416
- border-left: 4px solid var(--matecu-file-input-color-error);
417
- font-size: 14px;
418
- margin-bottom: 4px;
419
-
420
- &:last-child {
421
- margin-bottom: 0;
422
- }
423
- }
424
- }
425
-
426
- // Responsive design
427
- @media (max-width: 640px) {
428
- .file-input-container {
429
- padding: 16px;
430
- min-height: 100px;
431
- }
432
-
433
- .single-file-display .file-info {
434
- gap: 12px;
435
-
436
- // flex: 1;
437
- @media screen and (max-width: 425px) {
438
- flex-direction: column;
439
- }
440
- .file-icon,
441
- .file-preview {
442
- width: 40px;
443
- height: 40px;
444
- @media screen and (max-width: 425px) {
445
- width: 60px;
446
- height: 60px;
447
- }
448
- img {
449
- width: 100%;
450
- height: 100%;
451
- object-fit: cover;
452
- }
453
- }
454
- }
455
-
456
- .files-header {
457
- flex-direction: column;
458
- align-items: flex-start;
459
- gap: 8px;
460
- }
461
- }