@jjlmoya/utils-babies 1.12.0 → 1.14.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.
@@ -265,554 +265,3 @@ const { ui } = Astro.props;
265
265
  renderCalendars();
266
266
  </script>
267
267
 
268
- <style>
269
- .fde-container {
270
- width: 100%;
271
- max-width: 1000px;
272
- margin: 0 auto;
273
- background: #fff;
274
- border-radius: 32px;
275
- box-shadow: 0 25px 70px rgba(0, 0, 0, 0.08);
276
- display: flex;
277
- flex-direction: column;
278
- overflow: hidden;
279
- color: #111827;
280
- border: 1px solid #e5e7eb;
281
- min-height: 600px;
282
- transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
283
- }
284
-
285
- .fde-step-indicator {
286
- padding: 1.5rem 2.5rem;
287
- background: #fdf2f8;
288
- border-bottom: 1px solid #fbcfe8;
289
- display: flex;
290
- justify-content: center;
291
- gap: 3rem;
292
- }
293
-
294
- .fde-step-item {
295
- display: flex;
296
- align-items: center;
297
- gap: 0.75rem;
298
- font-size: 0.9rem;
299
- font-weight: 700;
300
- color: #9d174d;
301
- opacity: 0.4;
302
- transition: opacity 0.3s ease;
303
- }
304
-
305
- .fde-step-item.fde-step-active {
306
- opacity: 1;
307
- }
308
-
309
- .fde-step-number {
310
- width: 28px;
311
- height: 28px;
312
- background: #db2777;
313
- color: white;
314
- border-radius: 50%;
315
- display: flex;
316
- align-items: center;
317
- justify-content: center;
318
- font-size: 0.75rem;
319
- }
320
-
321
- .fde-step-first {
322
- flex: 1;
323
- display: flex;
324
- flex-direction: column;
325
- align-items: center;
326
- justify-content: center;
327
- padding: 4rem 2rem;
328
- text-align: center;
329
- gap: 3rem;
330
- background: radial-gradient(circle at top right, #fff1f2, transparent),
331
- radial-gradient(circle at bottom left, #fdf2f8, transparent);
332
- transition: opacity 0.4s ease, transform 0.4s ease;
333
- }
334
-
335
- .fde-step-first.fde-hidden {
336
- display: none;
337
- }
338
-
339
- :global(.theme-dark) .fde-step-first {
340
- background: radial-gradient(circle at top right, rgba(88, 28, 135, 0.15), transparent),
341
- radial-gradient(circle at bottom left, rgba(124, 58, 202, 0.1), transparent);
342
- }
343
-
344
- .fde-step-header h2 {
345
- font-size: 2.5rem;
346
- font-weight: 950;
347
- letter-spacing: -0.04em;
348
- color: #9d174d;
349
- margin-bottom: 0.75rem;
350
- line-height: 1;
351
- }
352
-
353
- .fde-step-header p {
354
- font-size: 1.15rem;
355
- color: #64748b;
356
- max-width: 400px;
357
- margin: 0 auto;
358
- }
359
-
360
- .fde-calendar-card {
361
- max-width: 500px;
362
- width: 100%;
363
- background: #fff;
364
- padding: 2.5rem;
365
- border-radius: 32px;
366
- border: 1px solid rgba(251, 207, 232, 0.5);
367
- box-shadow: 0 30px 60px -12px rgba(219, 39, 119, 0.15),
368
- 0 18px 36px -18px rgba(0, 0, 0, 0.1);
369
- transform: translateY(0);
370
- transition: transform 0.3s ease;
371
- }
372
-
373
- .fde-calendar-card:hover {
374
- transform: translateY(-5px);
375
- }
376
-
377
- .fde-pulse-hint {
378
- font-size: 0.95rem;
379
- font-weight: 800;
380
- color: #db2777;
381
- background: #fdf2f8;
382
- padding: 0.75rem 1.5rem;
383
- border-radius: 100px;
384
- border: 1px solid #fbcfe8;
385
- animation: fde-pulse 2s infinite;
386
- }
387
-
388
- @keyframes fde-pulse {
389
- 0% { opacity: 0.4; }
390
- 50% { opacity: 1; }
391
- 100% { opacity: 0.4; }
392
- }
393
-
394
- .fde-layout {
395
- display: none;
396
- grid-template-columns: 350px 1fr;
397
- flex: 1;
398
- opacity: 0;
399
- transition: opacity 0.5s ease;
400
- }
401
-
402
- .fde-layout.fde-active {
403
- display: grid;
404
- opacity: 1;
405
- }
406
-
407
- .fde-sidebar {
408
- background: #fdf2f8;
409
- padding: 2.5rem;
410
- display: flex;
411
- flex-direction: column;
412
- gap: 2.5rem;
413
- border-right: 1px solid #fbcfe8;
414
- }
415
-
416
- .fde-sidebar-header h2 {
417
- font-size: 1.5rem;
418
- font-weight: 800;
419
- color: #9d174d;
420
- margin: 0 0 0.5rem;
421
- }
422
-
423
- .fde-sidebar-header p {
424
- font-size: 0.85rem;
425
- color: #be123c;
426
- opacity: 0.8;
427
- margin: 0;
428
- }
429
-
430
- .fde-input-card {
431
- background: #fff;
432
- padding: 1.5rem;
433
- border-radius: 20px;
434
- border: 1px solid #fbcfe8;
435
- box-shadow: 0 4px 15px rgba(219, 39, 119, 0.05);
436
- }
437
-
438
- .fde-input-card label {
439
- display: flex;
440
- align-items: center;
441
- gap: 0.75rem;
442
- font-size: 0.9rem;
443
- font-weight: 700;
444
- color: #9d174d;
445
- margin-bottom: 1rem;
446
- }
447
-
448
- .fde-input-card label svg,
449
- .fde-input-card label [data-icon] {
450
- width: 1.25rem;
451
- height: 1.25rem;
452
- }
453
-
454
- .fde-range-control {
455
- display: flex;
456
- flex-direction: column;
457
- gap: 1rem;
458
- }
459
-
460
- .fde-range-control input[type='range'] {
461
- width: 100%;
462
- accent-color: #db2777;
463
- cursor: pointer;
464
- }
465
-
466
- .fde-range-value {
467
- text-align: center;
468
- font-size: 2rem;
469
- font-weight: 800;
470
- color: #db2777;
471
- }
472
-
473
- .fde-range-value span {
474
- font-size: 0.9rem;
475
- font-weight: 600;
476
- color: #be123c;
477
- }
478
-
479
- .fde-results {
480
- display: flex;
481
- flex-direction: column;
482
- gap: 1rem;
483
- }
484
-
485
- .fde-stat {
486
- display: flex;
487
- align-items: center;
488
- gap: 1rem;
489
- padding: 1.25rem;
490
- background: #fff;
491
- border-radius: 16px;
492
- border: 1px solid #fce7f3;
493
- }
494
-
495
- .fde-stat svg,
496
- .fde-stat [data-icon] {
497
- width: 2rem;
498
- height: 2rem;
499
- border-radius: 10px;
500
- padding: 0.4rem;
501
- flex-shrink: 0;
502
- }
503
-
504
- .fde-stat-ovulation svg,
505
- .fde-stat-ovulation [data-icon] {
506
- background: #db2777;
507
- color: #fff;
508
- }
509
-
510
- .fde-stat-fertile svg,
511
- .fde-stat-fertile [data-icon] {
512
- background: #fdf2f8;
513
- color: #db2777;
514
- border: 1px solid #f9a8d4;
515
- }
516
-
517
- .fde-stat-period svg,
518
- .fde-stat-period [data-icon] {
519
- background: #ffe4e6;
520
- color: #be123c;
521
- border: 1px solid #fca5a5;
522
- }
523
-
524
- .fde-stat-info {
525
- display: flex;
526
- flex-direction: column;
527
- }
528
-
529
- .fde-stat-label {
530
- font-size: 0.75rem;
531
- font-weight: 700;
532
- text-transform: uppercase;
533
- color: #64748b;
534
- }
535
-
536
- .fde-stat-value {
537
- font-size: 1.1rem;
538
- font-weight: 900;
539
- color: #1e293b;
540
- }
541
-
542
- .fde-main {
543
- background: #fff;
544
- padding: 2.5rem;
545
- display: flex;
546
- flex-direction: column;
547
- gap: 2rem;
548
- }
549
-
550
- .fde-calendar-wrapper {
551
- background: #fff;
552
- }
553
-
554
- .fde-cal-nav {
555
- display: flex;
556
- justify-content: space-between;
557
- align-items: center;
558
- margin-bottom: 2rem;
559
- }
560
-
561
- .fde-cal-nav h3 {
562
- font-size: 1.5rem;
563
- font-weight: 900;
564
- color: #111827;
565
- margin: 0;
566
- text-transform: capitalize;
567
- }
568
-
569
- .fde-nav-buttons {
570
- display: flex;
571
- gap: 0.5rem;
572
- }
573
-
574
- .fde-nav-btn {
575
- width: 40px;
576
- height: 40px;
577
- border-radius: 10px;
578
- border: 1px solid #e5e7eb;
579
- background: #fff;
580
- display: flex;
581
- align-items: center;
582
- justify-content: center;
583
- cursor: pointer;
584
- transition: 0.2s all ease;
585
- color: #374151;
586
- }
587
-
588
- .fde-nav-btn:hover {
589
- background: #f3f4f6;
590
- border-color: #d1d5db;
591
- }
592
-
593
- .fde-grid {
594
- display: grid;
595
- grid-template-columns: repeat(7, 1fr);
596
- gap: 8px;
597
- }
598
-
599
- :global(.fde-day-header) {
600
- text-align: center;
601
- font-size: 0.8rem;
602
- font-weight: 800;
603
- color: #9ca3af;
604
- text-transform: uppercase;
605
- padding-bottom: 1rem;
606
- }
607
-
608
- :global(.fde-day) {
609
- aspect-ratio: 1;
610
- display: flex;
611
- align-items: center;
612
- justify-content: center;
613
- font-size: 1rem;
614
- font-weight: 700;
615
- border-radius: 14px;
616
- background: #fff;
617
- color: #374151;
618
- cursor: pointer;
619
- transition: 0.2s all ease;
620
- border: 1px solid #f3f4f6;
621
- }
622
-
623
- :global(.fde-day:hover:not(.fde-day-empty)) {
624
- border-color: #db2777;
625
- background: #fdf2f8;
626
- }
627
-
628
- :global(.fde-day-empty) {
629
- background: transparent;
630
- border: none;
631
- cursor: default;
632
- }
633
-
634
- :global(.fde-day-selected) {
635
- background: #be123c;
636
- color: #fff;
637
- border: none;
638
- box-shadow: 0 8px 20px rgba(190, 18, 60, 0.3);
639
- }
640
-
641
- :global(.fde-day-period) {
642
- background: #ffe4e6;
643
- color: #be123c;
644
- border: none;
645
- }
646
-
647
- :global(.fde-day-fertile) {
648
- background: #fdf2f8;
649
- color: #db2777;
650
- border: none;
651
- }
652
-
653
- :global(.fde-day-ovulation) {
654
- background: #db2777;
655
- color: #fff;
656
- box-shadow: 0 8px 20px rgba(219, 39, 119, 0.3);
657
- border: none;
658
- }
659
-
660
- :global(.fde-day-today) {
661
- border: 2px solid #111827;
662
- }
663
-
664
- .fde-legend {
665
- display: flex;
666
- justify-content: center;
667
- gap: 2rem;
668
- margin-top: 2rem;
669
- padding: 1.25rem;
670
- background: #f9fafb;
671
- border-radius: 20px;
672
- }
673
-
674
- .fde-legend-item {
675
- display: flex;
676
- align-items: center;
677
- gap: 0.5rem;
678
- font-size: 0.85rem;
679
- font-weight: 700;
680
- color: #4b5563;
681
- }
682
-
683
- .fde-legend-dot {
684
- width: 12px;
685
- height: 12px;
686
- border-radius: 4px;
687
- }
688
-
689
- .fde-dot-period { background: #ffe4e6; }
690
- .fde-dot-fertile { background: #fdf2f8; }
691
- .fde-dot-ovulation { background: #db2777; }
692
- .fde-dot-selected { background: #be123c; }
693
-
694
- :global(.theme-dark) .fde-container {
695
- background: #18181b;
696
- border-color: #27272a;
697
- box-shadow: 0 25px 70px rgba(0, 0, 0, 0.5);
698
- color: #fff;
699
- }
700
-
701
- :global(.theme-dark) .fde-sidebar {
702
- background: #111113;
703
- border-right-color: #27272a;
704
- }
705
-
706
- :global(.theme-dark) .fde-main { background: #18181b; }
707
-
708
- :global(.theme-dark) .fde-sidebar-header h2 { color: #f472b6; }
709
- :global(.theme-dark) .fde-sidebar-header p { color: #f9a8d4; }
710
-
711
- :global(.theme-dark) .fde-input-card {
712
- background: #1e1e21;
713
- border-color: #27272a;
714
- }
715
-
716
- :global(.theme-dark) .fde-stat {
717
- background: #1e1e21;
718
- border-color: #27272a;
719
- }
720
-
721
- :global(.theme-dark) .fde-stat-value { color: #fff; }
722
- :global(.theme-dark) .fde-cal-nav h3 { color: #fff; }
723
-
724
- :global(.theme-dark) .fde-day {
725
- background: #1e1e21;
726
- border-color: #27272a;
727
- color: #e5e7eb;
728
- }
729
-
730
- :global(.theme-dark) .fde-day:hover:not(.fde-day-empty) { background: #27272a; }
731
- :global(.theme-dark) .fde-legend { background: #111113; }
732
- :global(.theme-dark) .fde-legend-item { color: #9ca3af; }
733
-
734
- @media (max-width: 900px) {
735
- .fde-layout { grid-template-columns: 1fr; }
736
- .fde-sidebar {
737
- border-right: none;
738
- border-bottom: 1px solid #fbcfe8;
739
- }
740
- }
741
-
742
- @media (max-width: 768px) {
743
- .fde-container { border-radius: 1.5rem; }
744
-
745
- .fde-step-indicator {
746
- padding: 1rem;
747
- gap: 1rem;
748
- flex-wrap: wrap;
749
- }
750
-
751
- .fde-step-first {
752
- padding: 2rem 1rem;
753
- gap: 1.5rem;
754
- }
755
-
756
- .fde-calendar-card {
757
- padding: 1rem;
758
- border-radius: 1.5rem;
759
- }
760
-
761
- .fde-step-header h2 { font-size: 1.75rem; }
762
- .fde-step-header p { font-size: 0.95rem; }
763
-
764
- .fde-sidebar {
765
- padding: 1.25rem;
766
- gap: 1.5rem;
767
- }
768
-
769
- .fde-sidebar-header h2 { font-size: 1.25rem; }
770
-
771
- .fde-main {
772
- padding: 1.25rem;
773
- gap: 1.25rem;
774
- }
775
-
776
- .fde-input-card {
777
- padding: 1rem;
778
- border-radius: 1rem;
779
- }
780
-
781
- .fde-cal-nav { margin-bottom: 1rem; }
782
- .fde-cal-nav h3 { font-size: 1.2rem; }
783
- .fde-nav-btn {
784
- width: 32px;
785
- height: 32px;
786
- }
787
-
788
- .fde-grid { gap: 4px; }
789
-
790
- .fde-day-header {
791
- padding-bottom: 0.5rem;
792
- font-size: 0.7rem;
793
- }
794
-
795
- .fde-day {
796
- font-size: 0.85rem;
797
- border-radius: 8px;
798
- }
799
-
800
- .fde-legend {
801
- flex-direction: column;
802
- gap: 0.75rem;
803
- padding: 1rem;
804
- align-items: flex-start;
805
- border-radius: 1rem;
806
- }
807
-
808
- .fde-stat {
809
- padding: 1rem;
810
- gap: 0.75rem;
811
- flex-direction: column;
812
- text-align: center;
813
- align-items: center;
814
- }
815
-
816
- .fde-stat-info { align-items: center; }
817
- }
818
- </style>