@fylib/adapter-angular 0.1.0 → 0.2.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 (28) hide show
  1. package/dist/components/accordion.component.js +128 -128
  2. package/dist/components/badge.component.js +43 -43
  3. package/dist/components/button.component.js +103 -103
  4. package/dist/components/card.component.js +103 -103
  5. package/dist/components/chart.component.js +72 -72
  6. package/dist/components/icon.component.js +29 -29
  7. package/dist/components/input.component.js +111 -111
  8. package/dist/components/modal.component.js +122 -122
  9. package/dist/components/nav-link.component.js +56 -56
  10. package/dist/components/notification-menu.component.js +388 -388
  11. package/dist/components/select.component.js +122 -122
  12. package/dist/components/table.component.js +371 -371
  13. package/dist/components/text.component.js +2 -2
  14. package/dist/components/toast.component.js +115 -115
  15. package/dist/directives/theme-vars.directive.js +10 -10
  16. package/dist/directives/wallpaper.directive.js +5 -5
  17. package/dist/layouts/layout.component.js +69 -69
  18. package/dist/layouts/slot.component.js +584 -584
  19. package/dist/schematics/collection.json +9 -0
  20. package/dist/schematics/ng-add/index.d.ts +2 -0
  21. package/dist/schematics/ng-add/index.js +80 -0
  22. package/dist/schematics/ng-add/index.js.map +1 -0
  23. package/dist/schematics/ng-add/schema.json +8 -0
  24. package/dist/schematics/templates/fylib/crypto.config.ts.template +7 -0
  25. package/dist/schematics/templates/fylib/logging.config.ts.template +9 -0
  26. package/dist/schematics/templates/fylib/sse.config.ts.template +7 -0
  27. package/dist/schematics/templates/fylib/theme.config.ts.template +9 -0
  28. package/package.json +46 -43
@@ -273,129 +273,129 @@ FyModalComponent = __decorate([
273
273
  selector: 'fy-modal',
274
274
  standalone: true,
275
275
  imports: [CommonModule, FyButtonComponent],
276
- template: `
277
- @if (visible) {
278
- <div class="fy-modal-overlay" (click)="onBackdropClick()"></div>
279
- <div class="fy-modal" [ngClass]="['fy-modal--' + size, 'fy-modal--status-' + status, modalAnimClass]">
280
- @if (showHeader) {
281
- <header class="fy-modal__header">
282
- @if (title) { <h3 class="fy-modal__title">{{ title }}</h3> }
283
- @if (subtitle) { <p class="fy-modal__subtitle">{{ subtitle }}</p> }
284
- @if (closable) {
285
- <button type="button" class="fy-modal__close" (click)="handleCancel()">&times;</button>
286
- }
287
- </header>
288
- }
289
-
290
- <section class="fy-modal__body">
291
- <ng-content></ng-content>
292
- @if (content) { <div class="fy-modal__content">{{ content }}</div> }
293
- </section>
294
-
295
- @if (showFooter) {
296
- <footer class="fy-modal__footer">
297
- @if (showCancelButton) {
298
- <fy-button
299
- variant="ghost"
300
- size="md"
301
- [label]="cancelText || 'Cancelar'"
302
- (fyClick)="handleCancel()"
303
- ></fy-button>
304
- }
305
- @if (showConfirmButton) {
306
- <fy-button
307
- size="md"
308
- [label]="confirmText || 'Confirmar'"
309
- (fyClick)="handleConfirm()"
310
- ></fy-button>
311
- }
312
- </footer>
313
- }
314
- </div>
315
- }
276
+ template: `
277
+ @if (visible) {
278
+ <div class="fy-modal-overlay" (click)="onBackdropClick()"></div>
279
+ <div class="fy-modal" [ngClass]="['fy-modal--' + size, 'fy-modal--status-' + status, modalAnimClass]">
280
+ @if (showHeader) {
281
+ <header class="fy-modal__header">
282
+ @if (title) { <h3 class="fy-modal__title">{{ title }}</h3> }
283
+ @if (subtitle) { <p class="fy-modal__subtitle">{{ subtitle }}</p> }
284
+ @if (closable) {
285
+ <button type="button" class="fy-modal__close" (click)="handleCancel()">&times;</button>
286
+ }
287
+ </header>
288
+ }
289
+
290
+ <section class="fy-modal__body">
291
+ <ng-content></ng-content>
292
+ @if (content) { <div class="fy-modal__content">{{ content }}</div> }
293
+ </section>
294
+
295
+ @if (showFooter) {
296
+ <footer class="fy-modal__footer">
297
+ @if (showCancelButton) {
298
+ <fy-button
299
+ variant="ghost"
300
+ size="md"
301
+ [label]="cancelText || 'Cancelar'"
302
+ (fyClick)="handleCancel()"
303
+ ></fy-button>
304
+ }
305
+ @if (showConfirmButton) {
306
+ <fy-button
307
+ size="md"
308
+ [label]="confirmText || 'Confirmar'"
309
+ (fyClick)="handleConfirm()"
310
+ ></fy-button>
311
+ }
312
+ </footer>
313
+ }
314
+ </div>
315
+ }
316
316
  `,
317
- styles: [`
318
- .fy-modal-overlay {
319
- position: fixed;
320
- inset: 0;
321
- background: var(--fy-effects-modal-overlayColor, rgba(0,0,0,0.45));
322
- z-index: 2000;
323
- }
324
- .fy-modal {
325
- position: fixed;
326
- top: 50%;
327
- left: 50%;
328
- transform: translate(-50%, -50%);
329
- background: var(--fy-effects-modal-background, var(--fy-colors-surface, #fff));
330
- border: var(--fy-effects-modal-borderWidth, 1px) solid var(--fy-effects-modal-borderColor, rgba(0,0,0,0.12));
331
- border-radius: var(--fy-effects-modal-borderRadius, var(--fy-borderRadius-md));
332
- box-shadow: var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
333
- color: var(--fy-colors-text);
334
- width: 90vw;
335
- max-width: 640px;
336
- max-height: 85vh;
337
- display: flex;
338
- flex-direction: column;
339
- overflow: hidden;
340
- z-index: 2001;
341
- }
342
- .fy-modal--sm { max-width: 400px; }
343
- .fy-modal--md { max-width: 640px; }
344
- .fy-modal--lg { max-width: 840px; }
345
- .fy-modal--xl { max-width: 1040px; }
346
- .fy-modal--full { width: 96vw; height: 90vh; max-width: none; }
347
-
348
- .fy-modal__header {
349
- display: flex;
350
- align-items: center;
351
- justify-content: space-between;
352
- gap: 12px;
353
- padding: 12px 16px;
354
- border-bottom: 1px solid var(--fy-effects-modal-dividerColor, rgba(0,0,0,0.08));
355
- }
356
- .fy-modal__title {
357
- margin: 0;
358
- font-size: var(--fy-typography-fontSize-lg, 18px);
359
- font-weight: var(--fy-typography-fontWeight-bold, 700);
360
- }
361
- .fy-modal__subtitle {
362
- margin: 0;
363
- opacity: .8;
364
- font-size: var(--fy-typography-fontSize-sm, 12px);
365
- }
366
- .fy-modal__close {
367
- border: 0;
368
- background: transparent;
369
- cursor: pointer;
370
- font-size: 20px;
371
- line-height: 1;
372
- }
373
- .fy-modal__body {
374
- padding: 16px;
375
- flex: 1;
376
- overflow: auto;
377
- }
378
- .fy-modal__footer {
379
- display: flex;
380
- justify-content: flex-end;
381
- gap: 8px;
382
- padding: 12px 16px;
383
- border-top: 1px solid var(--fy-effects-modal-dividerColor, rgba(0,0,0,0.08));
384
- }
385
-
386
- .fy-modal--status-success {
387
- border-color: var(--fy-colors-success, #22c55e);
388
- box-shadow: 0 0 0 3px rgba(34,197,94,0.15), var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
389
- }
390
- .fy-modal--status-error {
391
- border-color: var(--fy-colors-danger, #ef4444);
392
- box-shadow: 0 0 0 3px rgba(239,68,68,0.15), var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
393
- }
394
-
395
- .fy-animations-disabled, .fy-animations-disabled * {
396
- transition: none !important;
397
- animation: none !important;
398
- }
317
+ styles: [`
318
+ .fy-modal-overlay {
319
+ position: fixed;
320
+ inset: 0;
321
+ background: var(--fy-effects-modal-overlayColor, rgba(0,0,0,0.45));
322
+ z-index: 2000;
323
+ }
324
+ .fy-modal {
325
+ position: fixed;
326
+ top: 50%;
327
+ left: 50%;
328
+ transform: translate(-50%, -50%);
329
+ background: var(--fy-effects-modal-background, var(--fy-colors-surface, #fff));
330
+ border: var(--fy-effects-modal-borderWidth, 1px) solid var(--fy-effects-modal-borderColor, rgba(0,0,0,0.12));
331
+ border-radius: var(--fy-effects-modal-borderRadius, var(--fy-borderRadius-md));
332
+ box-shadow: var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
333
+ color: var(--fy-colors-text);
334
+ width: 90vw;
335
+ max-width: 640px;
336
+ max-height: 85vh;
337
+ display: flex;
338
+ flex-direction: column;
339
+ overflow: hidden;
340
+ z-index: 2001;
341
+ }
342
+ .fy-modal--sm { max-width: 400px; }
343
+ .fy-modal--md { max-width: 640px; }
344
+ .fy-modal--lg { max-width: 840px; }
345
+ .fy-modal--xl { max-width: 1040px; }
346
+ .fy-modal--full { width: 96vw; height: 90vh; max-width: none; }
347
+
348
+ .fy-modal__header {
349
+ display: flex;
350
+ align-items: center;
351
+ justify-content: space-between;
352
+ gap: 12px;
353
+ padding: 12px 16px;
354
+ border-bottom: 1px solid var(--fy-effects-modal-dividerColor, rgba(0,0,0,0.08));
355
+ }
356
+ .fy-modal__title {
357
+ margin: 0;
358
+ font-size: var(--fy-typography-fontSize-lg, 18px);
359
+ font-weight: var(--fy-typography-fontWeight-bold, 700);
360
+ }
361
+ .fy-modal__subtitle {
362
+ margin: 0;
363
+ opacity: .8;
364
+ font-size: var(--fy-typography-fontSize-sm, 12px);
365
+ }
366
+ .fy-modal__close {
367
+ border: 0;
368
+ background: transparent;
369
+ cursor: pointer;
370
+ font-size: 20px;
371
+ line-height: 1;
372
+ }
373
+ .fy-modal__body {
374
+ padding: 16px;
375
+ flex: 1;
376
+ overflow: auto;
377
+ }
378
+ .fy-modal__footer {
379
+ display: flex;
380
+ justify-content: flex-end;
381
+ gap: 8px;
382
+ padding: 12px 16px;
383
+ border-top: 1px solid var(--fy-effects-modal-dividerColor, rgba(0,0,0,0.08));
384
+ }
385
+
386
+ .fy-modal--status-success {
387
+ border-color: var(--fy-colors-success, #22c55e);
388
+ box-shadow: 0 0 0 3px rgba(34,197,94,0.15), var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
389
+ }
390
+ .fy-modal--status-error {
391
+ border-color: var(--fy-colors-danger, #ef4444);
392
+ box-shadow: 0 0 0 3px rgba(239,68,68,0.15), var(--fy-effects-modal-shadow, 0 20px 60px rgba(0,0,0,0.2));
393
+ }
394
+
395
+ .fy-animations-disabled, .fy-animations-disabled * {
396
+ transition: none !important;
397
+ animation: none !important;
398
+ }
399
399
  `],
400
400
  encapsulation: ViewEncapsulation.None
401
401
  }),
@@ -57,63 +57,63 @@ FyNavLinkComponent = __decorate([
57
57
  selector: 'fy-nav-link',
58
58
  standalone: true,
59
59
  imports: [CommonModule, FyIconComponent],
60
- template: `
61
- <a
62
- [attr.href]="href || to || null"
63
- [attr.target]="target || null"
64
- rel="noopener noreferrer"
65
- class="fy-nav-link"
66
- [class.active]="active"
67
- [class.fy-nav-link--hover-disabled]="!hoverEnabled"
68
-
69
- >
70
- @if (iconName) {
71
- <fy-icon [name]="iconName" [set]="iconSet" class="fy-nav-link__icon"></fy-icon>
72
- }
73
- <ng-content></ng-content>
74
- @if (!hasProjectedContent) {
75
- <span>{{ label }}</span>
76
- }
77
- </a>
60
+ template: `
61
+ <a
62
+ [attr.href]="href || to || null"
63
+ [attr.target]="target || null"
64
+ rel="noopener noreferrer"
65
+ class="fy-nav-link"
66
+ [class.active]="active"
67
+ [class.fy-nav-link--hover-disabled]="!hoverEnabled"
68
+
69
+ >
70
+ @if (iconName) {
71
+ <fy-icon [name]="iconName" [set]="iconSet" class="fy-nav-link__icon"></fy-icon>
72
+ }
73
+ <ng-content></ng-content>
74
+ @if (!hasProjectedContent) {
75
+ <span>{{ label }}</span>
76
+ }
77
+ </a>
78
78
  `,
79
- styles: [`
80
- .fy-nav-link {
81
- display: inline-flex;
82
- align-items: center;
83
- gap: var(--fy-spacing-sm, 8px);
84
- padding: var(--fy-spacing-sm) var(--fy-spacing-md);
85
- border-radius: var(--fy-borderRadius-sm);
86
- color: var(--fy-colors-text);
87
- text-decoration: none;
88
- transition: background-color 0.15s ease, color 0.15s ease;
89
- }
90
- .fy-nav-link__icon {
91
- flex: 0 0 auto;
92
- opacity: .95;
93
- }
94
- .fy-nav-link:hover:not(.fy-nav-link--hover-disabled) {
95
- background-color: rgba(var(--fy-colors-primary-rgb, 59,130,246), 0.08);
96
- color: var(--fy-colors-primary);
97
- }
98
- .fy-nav-link.active {
99
- background-color: rgba(var(--fy-colors-primary-rgb, 59,130,246), 0.12);
100
- color: var(--fy-colors-primary);
101
- font-weight: var(--fy-typography-fontWeight-bold);
102
- }
103
-
104
- /* Dentro do header, os links devem se comportar como itens de navegação horizontal */
105
- .fy-slot--header .fy-nav-link {
106
- display: inline-flex;
107
- align-items: center;
108
- justify-content: center;
109
- }
110
-
111
- @media (max-width: 768px) {
112
- .fy-slot--header .fy-nav-link {
113
- display: inline-flex;
114
- justify-content: flex-start;
115
- }
116
- }
79
+ styles: [`
80
+ .fy-nav-link {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ gap: var(--fy-spacing-sm, 8px);
84
+ padding: var(--fy-spacing-sm) var(--fy-spacing-md);
85
+ border-radius: var(--fy-borderRadius-sm);
86
+ color: var(--fy-colors-text);
87
+ text-decoration: none;
88
+ transition: background-color 0.15s ease, color 0.15s ease;
89
+ }
90
+ .fy-nav-link__icon {
91
+ flex: 0 0 auto;
92
+ opacity: .95;
93
+ }
94
+ .fy-nav-link:hover:not(.fy-nav-link--hover-disabled) {
95
+ background-color: rgba(var(--fy-colors-primary-rgb, 59,130,246), 0.08);
96
+ color: var(--fy-colors-primary);
97
+ }
98
+ .fy-nav-link.active {
99
+ background-color: rgba(var(--fy-colors-primary-rgb, 59,130,246), 0.12);
100
+ color: var(--fy-colors-primary);
101
+ font-weight: var(--fy-typography-fontWeight-bold);
102
+ }
103
+
104
+ /* Dentro do header, os links devem se comportar como itens de navegação horizontal */
105
+ .fy-slot--header .fy-nav-link {
106
+ display: inline-flex;
107
+ align-items: center;
108
+ justify-content: center;
109
+ }
110
+
111
+ @media (max-width: 768px) {
112
+ .fy-slot--header .fy-nav-link {
113
+ display: inline-flex;
114
+ justify-content: flex-start;
115
+ }
116
+ }
117
117
  `],
118
118
  encapsulation: ViewEncapsulation.None
119
119
  })