@ansiversa/components 0.0.25 → 0.0.27

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ansiversa/components",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "description": "Shared UI components and layouts for the Ansiversa ecosystem",
5
5
  "type": "module",
6
6
  "exports": {
@@ -246,6 +246,10 @@
246
246
  @apply text-[0.65rem] text-slate-400 uppercase tracking-[0.18em];
247
247
  }
248
248
 
249
+ .av-gradient-text {
250
+ @apply bg-gradient-to-r from-cyan-300 via-cyan-200 to-purple-300 bg-clip-text text-transparent;
251
+ }
252
+
249
253
  .av-navbar-actions {
250
254
  @apply flex items-center gap-2;
251
255
  }
@@ -268,6 +272,76 @@
268
272
 
269
273
  /* Hero / Sections -------------------------------------- */
270
274
 
275
+ /* Web page helpers (hero / sections) --------------------- */
276
+
277
+ .av-kicker {
278
+ @apply inline-flex items-center gap-2 rounded-full border border-slate-700/70 bg-slate-900/70 px-3 py-1 text-[0.7rem] uppercase tracking-[0.16em] text-slate-300;
279
+ }
280
+
281
+ .av-hero-lead {
282
+ @apply mt-4 text-base sm:text-lg text-slate-300 max-w-2xl;
283
+ }
284
+
285
+ .av-section-stack {
286
+ @apply space-y-10 md:space-y-12;
287
+ }
288
+
289
+ .av-row {
290
+ @apply flex items-center gap-3;
291
+ }
292
+
293
+ .av-row-wrap {
294
+ @apply flex items-center gap-3 flex-wrap;
295
+ }
296
+
297
+ .av-col-4 {
298
+ @apply grid gap-4 sm:grid-cols-2 lg:grid-cols-4;
299
+ }
300
+
301
+ .av-list {
302
+ @apply space-y-2 text-sm text-slate-300;
303
+ }
304
+
305
+ .av-list > li {
306
+ @apply flex items-start gap-2;
307
+ }
308
+
309
+ .av-muted-link {
310
+ @apply text-slate-400 hover:text-slate-200 underline decoration-slate-700/60 hover:decoration-slate-400/60 underline-offset-4 transition-colors;
311
+ }
312
+
313
+ .av-quote {
314
+ @apply my-4 rounded-2xl border border-slate-800/70 bg-slate-950/60 p-4 text-sm italic text-slate-300;
315
+ }
316
+
317
+ .av-search {
318
+ @apply w-full rounded-2xl border border-slate-800/70 bg-slate-950/60 px-4 py-3 shadow-xl backdrop-blur-xl;
319
+ }
320
+
321
+ .av-steps--compact .av-steps-list {
322
+ @apply gap-3;
323
+ }
324
+
325
+ /* About / Founder --------------------------------------- */
326
+
327
+ .av-founder-layout {
328
+ @apply mt-6 grid gap-6 lg:grid-cols-[220px_1fr] items-start;
329
+ }
330
+
331
+ .av-founder-photo-wrap {
332
+ @apply rounded-2xl border border-slate-800/70 bg-slate-950/60 p-3 shadow-xl backdrop-blur-xl;
333
+ }
334
+
335
+ .av-founder-photo {
336
+ @apply w-full h-auto rounded-xl object-cover;
337
+ }
338
+
339
+ .av-founder-copy {
340
+ @apply text-sm text-slate-300 space-y-4;
341
+ }
342
+
343
+
344
+
271
345
  .av-hero {
272
346
  @apply py-16 md:py-24;
273
347
  }
@@ -316,6 +390,49 @@
316
390
  @apply grid gap-5 md:gap-6 md:grid-cols-3;
317
391
  }
318
392
 
393
+ /* Pricing ------------------------------------------------ */
394
+
395
+ .av-pricing-grid {
396
+ @apply grid gap-5 md:gap-6 lg:grid-cols-3 items-stretch;
397
+ }
398
+
399
+ .av-pricing-grid .av-card {
400
+ @apply h-full;
401
+ }
402
+
403
+ .av-pricing-table-wrapper {
404
+ @apply mt-6 overflow-x-auto rounded-2xl border border-slate-800/70 bg-slate-950/60 shadow-xl backdrop-blur-xl;
405
+ }
406
+
407
+ .av-pricing-table {
408
+ @apply w-full min-w-[860px] border-collapse text-left text-sm text-slate-300;
409
+ }
410
+
411
+ .av-pricing-table thead {
412
+ @apply text-xs uppercase tracking-[0.12em] text-slate-500;
413
+ }
414
+
415
+ .av-pricing-table thead tr {
416
+ @apply border-b border-slate-800;
417
+ }
418
+
419
+ .av-pricing-table th,
420
+ .av-pricing-table td {
421
+ @apply px-4 py-3 align-top;
422
+ }
423
+
424
+ .av-pricing-table tbody tr {
425
+ @apply border-b border-slate-900/80;
426
+ }
427
+
428
+ .av-pricing-table tbody tr:hover {
429
+ @apply bg-slate-900/50;
430
+ }
431
+
432
+ .av-pricing-chip {
433
+ @apply inline-flex items-center rounded-full border border-slate-700/70 bg-slate-900/80 px-2.5 py-0.5 text-[0.7rem] text-slate-200;
434
+ }
435
+
319
436
  /* Steps / Timeline-ish --------------------------------- */
320
437
 
321
438
  .av-card-heading {
@@ -364,6 +481,40 @@
364
481
  @apply text-sm text-slate-300;
365
482
  }
366
483
 
484
+ /* Templates (grid + card) ------------------------------ */
485
+
486
+ .av-template-grid {
487
+ @apply w-full;
488
+ }
489
+
490
+ .av-template-grid__items {
491
+ @apply grid gap-5 md:gap-6 sm:grid-cols-2 lg:grid-cols-3;
492
+ }
493
+
494
+ .av-template-card {
495
+ @apply rounded-2xl border border-slate-800/70 bg-slate-950/80 p-5 shadow-xl backdrop-blur-xl flex flex-col gap-3;
496
+ }
497
+
498
+ .av-template-card__header {
499
+ @apply flex items-start justify-between gap-3;
500
+ }
501
+
502
+ .av-template-card__name {
503
+ @apply text-sm font-semibold text-slate-100;
504
+ }
505
+
506
+ .av-template-card__accent {
507
+ @apply h-2 w-2 rounded-full bg-cyan-400/80;
508
+ }
509
+
510
+ .av-template-card__description {
511
+ @apply text-sm text-slate-400;
512
+ }
513
+
514
+ .av-template-card__actions {
515
+ @apply mt-1 flex items-center gap-2 flex-wrap;
516
+ }
517
+
367
518
  /* Buttons ---------------------------------------------- */
368
519
 
369
520
  .av-btn {
@@ -419,6 +570,12 @@
419
570
 
420
571
  /* Forms ------------------------------------------------- */
421
572
 
573
+ .av-text-error {
574
+ @apply text-xs text-rose-300;
575
+ }
576
+
577
+
578
+
422
579
  .av-form-group {
423
580
  @apply space-y-1.5;
424
581
  }
@@ -462,6 +619,25 @@
462
619
  @apply text-xs text-slate-400;
463
620
  }
464
621
 
622
+ /* Form field helpers (labels / wrappers) --------------- */
623
+
624
+ .av-field {
625
+ @apply space-y-1.5;
626
+ }
627
+
628
+ .av-field__label,
629
+ .av-input-label {
630
+ @apply text-xs font-medium text-slate-300;
631
+ }
632
+
633
+ .av-input-required {
634
+ @apply text-rose-300;
635
+ }
636
+
637
+ .av-input-select-wrapper {
638
+ @apply relative;
639
+ }
640
+
465
641
  /* Navbar / Nav ----------------------------------------- */
466
642
 
467
643
  .av-navbar {
@@ -502,6 +678,58 @@
502
678
  @apply inline-flex items-center rounded-full border border-slate-700/50 bg-slate-900/70 px-2.5 py-0.5 text-[0.7rem] text-slate-300;
503
679
  }
504
680
 
681
+ /* Feature / Item lists --------------------------------- */
682
+
683
+ .av-feature-list {
684
+ @apply space-y-3;
685
+ }
686
+
687
+ .av-feature-item {
688
+ @apply flex items-start gap-3;
689
+ }
690
+
691
+ .av-feature-dot {
692
+ @apply mt-1.5 h-2 w-2 rounded-full bg-slate-600;
693
+ }
694
+
695
+ .av-feature-dot--primary {
696
+ @apply bg-cyan-400;
697
+ }
698
+
699
+ .av-feature-dot--secondary {
700
+ @apply bg-purple-400;
701
+ }
702
+
703
+ .av-item-list {
704
+ @apply divide-y divide-slate-800/60;
705
+ }
706
+
707
+ .av-item-list__item {
708
+ @apply py-4 flex flex-col gap-1;
709
+ }
710
+
711
+ .av-item-list__title {
712
+ @apply text-sm font-semibold text-slate-100;
713
+ }
714
+
715
+ .av-item-list__subtitle {
716
+ @apply text-xs text-slate-400;
717
+ }
718
+
719
+ .av-item-list__meta {
720
+ @apply text-[0.75rem] text-slate-500;
721
+ }
722
+
723
+ /* Chip list -------------------------------------------- */
724
+
725
+ .av-chip-list {
726
+ @apply flex flex-wrap items-center gap-2;
727
+ }
728
+
729
+ .av-chip-list__chip {
730
+ @apply inline-flex items-center rounded-full border border-slate-700/70 bg-slate-900/80 px-2.5 py-0.5 text-[0.7rem] text-slate-300;
731
+ }
732
+
505
733
  /* Alerts ----------------------------------------------- */
506
734
 
507
735
  .av-alert {
@@ -524,6 +752,24 @@
524
752
  @apply rounded-lg border px-3.5 py-2.5 text-xs md:text-sm flex items-start gap-3 border-rose-500/60 bg-rose-500/10 text-rose-50;
525
753
  }
526
754
 
755
+ /* Empty state ------------------------------------------ */
756
+
757
+ .av-empty-state {
758
+ @apply rounded-2xl border border-slate-800/70 bg-slate-950/80 p-6 md:p-7 shadow-xl backdrop-blur-xl;
759
+ }
760
+
761
+ .av-empty-state__body {
762
+ @apply flex flex-col items-center text-center gap-3 max-w-xl mx-auto;
763
+ }
764
+
765
+ .av-empty-state__title {
766
+ @apply text-base md:text-lg font-semibold text-slate-100;
767
+ }
768
+
769
+ .av-empty-state__description {
770
+ @apply text-sm text-slate-400;
771
+ }
772
+
527
773
  /* Tables ----------------------------------------------- */
528
774
 
529
775
  .av-table {
@@ -589,6 +835,64 @@
589
835
  @apply grid gap-3 sm:grid-cols-2;
590
836
  }
591
837
 
838
+ .av-auth-brand {
839
+ @apply inline-flex;
840
+ }
841
+
842
+ .av-auth-brand--center {
843
+ @apply justify-center;
844
+ }
845
+
846
+ .av-auth-back__button-row {
847
+ @apply flex items-center justify-center gap-2 flex-wrap;
848
+ }
849
+
850
+ /* Signout page ------------------------------------------ */
851
+
852
+ .av-auth-signout {
853
+ @apply max-w-md w-full mx-auto;
854
+ }
855
+
856
+ .av-auth-signout__card {
857
+ @apply p-6 md:p-7;
858
+ }
859
+
860
+ .av-auth-signout__badge {
861
+ @apply inline-flex items-center justify-center gap-2 rounded-full border border-slate-700/70 bg-slate-900/70 px-3 py-1 text-[0.75rem] text-slate-200;
862
+ }
863
+
864
+ .av-auth-signout__heading {
865
+ @apply text-lg font-semibold text-slate-100;
866
+ }
867
+
868
+ .av-auth-signout__copy {
869
+ @apply text-sm text-slate-400;
870
+ }
871
+
872
+ .av-auth-signout__status-grid {
873
+ @apply mt-3 grid gap-3;
874
+ }
875
+
876
+ .av-auth-signout__status-card {
877
+ @apply rounded-2xl border border-slate-800/70 bg-slate-950/60 p-3.5 flex items-start gap-3;
878
+ }
879
+
880
+ .av-auth-signout__status-indicator {
881
+ @apply mt-1 h-2 w-2 rounded-full bg-emerald-400/80 flex-none;
882
+ }
883
+
884
+ .av-auth-signout__status-title {
885
+ @apply block text-sm font-semibold text-slate-200;
886
+ }
887
+
888
+ .av-auth-signout__status-description {
889
+ @apply block text-xs text-slate-400;
890
+ }
891
+
892
+ .av-auth-signout__footer {
893
+ @apply mt-4 text-xs text-slate-500 text-center;
894
+ }
895
+
592
896
  /* Footer ----------------------------------------------- */
593
897
 
594
898
  .av-footer {
@@ -611,6 +915,10 @@
611
915
  @apply text-[0.78rem] text-slate-500 hidden sm:inline;
612
916
  }
613
917
 
918
+ .av-caption {
919
+ @apply text-[0.78rem] text-slate-500;
920
+ }
921
+
614
922
  /* User menu / avatar ----------------------------------- */
615
923
 
616
924
  .av-user-menu-wrapper {
@@ -746,6 +1054,36 @@
746
1054
  stroke-width: 1.75;
747
1055
  }
748
1056
 
1057
+ /* Toolbar ---------------------------------------------- */
1058
+
1059
+ .av-toolbar {
1060
+ @apply border-b border-slate-800/60 bg-slate-950/40 backdrop-blur-xl;
1061
+ }
1062
+
1063
+ .av-toolbar__container {
1064
+ @apply w-full max-w-5xl mx-auto px-5 py-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between;
1065
+ }
1066
+
1067
+ .av-toolbar__meta {
1068
+ @apply flex flex-col gap-1;
1069
+ }
1070
+
1071
+ .av-toolbar__actions {
1072
+ @apply flex items-center gap-2 flex-wrap;
1073
+ }
1074
+
1075
+ .av-toolbar__status {
1076
+ @apply inline-flex items-center gap-2 text-xs text-slate-400;
1077
+ }
1078
+
1079
+ .av-toolbar__status-dot {
1080
+ @apply h-2 w-2 rounded-full bg-slate-600;
1081
+ }
1082
+
1083
+ .av-toolbar__status-text {
1084
+ @apply text-xs text-slate-400;
1085
+ }
1086
+
749
1087
  /* AvPageHeader (NEW) ----------------------------------- */
750
1088
 
751
1089
  .av-page-header {