@alivecss/aliveui 1.0.3 → 1.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.
package/dist/vite.js CHANGED
@@ -610,6 +610,9 @@ function generateBase(_config) {
610
610
  ::before,
611
611
  ::after {
612
612
  box-sizing: border-box;
613
+ border-width: 0;
614
+ border-style: solid;
615
+ border-color: currentColor;
613
616
  }
614
617
 
615
618
  html {
@@ -629,6 +632,39 @@ body {
629
632
  -moz-osx-font-smoothing: grayscale;
630
633
  }
631
634
 
635
+ blockquote,
636
+ dl,
637
+ dd,
638
+ h1,
639
+ h2,
640
+ h3,
641
+ h4,
642
+ h5,
643
+ h6,
644
+ hr,
645
+ figure,
646
+ p,
647
+ pre {
648
+ margin: 0;
649
+ }
650
+
651
+ fieldset {
652
+ margin: 0;
653
+ padding: 0;
654
+ }
655
+
656
+ legend {
657
+ padding: 0;
658
+ }
659
+
660
+ ol,
661
+ ul,
662
+ menu {
663
+ list-style: none;
664
+ margin: 0;
665
+ padding: 0;
666
+ }
667
+
632
668
  button,
633
669
  input,
634
670
  optgroup,
@@ -638,9 +674,24 @@ textarea {
638
674
  font-size: 100%;
639
675
  font-weight: inherit;
640
676
  line-height: inherit;
677
+ letter-spacing: inherit;
641
678
  color: inherit;
642
679
  margin: 0;
643
680
  padding: 0;
681
+ background-color: transparent;
682
+ background-image: none;
683
+ }
684
+
685
+ button,
686
+ [type='button'],
687
+ [type='reset'],
688
+ [type='submit'] {
689
+ -webkit-appearance: button;
690
+ cursor: pointer;
691
+ }
692
+
693
+ :disabled {
694
+ cursor: default;
644
695
  }
645
696
 
646
697
  button,
@@ -648,6 +699,28 @@ select {
648
699
  text-transform: none;
649
700
  }
650
701
 
702
+ img,
703
+ svg,
704
+ video,
705
+ canvas,
706
+ audio,
707
+ iframe,
708
+ embed,
709
+ object {
710
+ display: block;
711
+ vertical-align: middle;
712
+ }
713
+
714
+ img,
715
+ video {
716
+ max-width: 100%;
717
+ height: auto;
718
+ }
719
+
720
+ [hidden] {
721
+ display: none;
722
+ }
723
+
651
724
  /* \u2500\u2500 Design tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
652
725
  :root {
653
726
  /* Motion durations */
@@ -845,6 +918,30 @@ select {
845
918
  .alive-loop-ping { animation: alive-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; }
846
919
  .alive-loop-bounce { animation: alive-bounce 1s infinite; }
847
920
 
921
+ /* \u2500\u2500 Scroll-reveal (data-alive-scroll) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
922
+
923
+ [data-alive-scroll] {
924
+ opacity: 0;
925
+ transform: translateY(8px);
926
+ }
927
+ [data-alive-scroll].is-visible {
928
+ animation: alive-fade-up var(--alive-duration-slow) var(--alive-ease-emphasized) both;
929
+ }
930
+ [data-alive-scroll="fade"] {
931
+ opacity: 0;
932
+ transform: none;
933
+ }
934
+ [data-alive-scroll="fade"].is-visible {
935
+ animation: alive-fade-in var(--alive-duration-normal) var(--alive-ease-standard) both;
936
+ }
937
+ [data-alive-scroll="scale"] {
938
+ opacity: 0;
939
+ transform: scale(0.94);
940
+ }
941
+ [data-alive-scroll="scale"].is-visible {
942
+ animation: alive-scale-in var(--alive-duration-slow) var(--alive-ease-emphasized) both;
943
+ }
944
+
848
945
  /* Reduced motion \u2014 respect system preference */
849
946
  @media (prefers-reduced-motion: reduce) {
850
947
  .alive-enter,
@@ -867,6 +964,18 @@ select {
867
964
  transform: none;
868
965
  }
869
966
 
967
+ [data-alive-scroll],
968
+ [data-alive-scroll="fade"],
969
+ [data-alive-scroll="scale"] {
970
+ opacity: 1;
971
+ transform: none;
972
+ }
973
+ [data-alive-scroll].is-visible,
974
+ [data-alive-scroll="fade"].is-visible,
975
+ [data-alive-scroll="scale"].is-visible {
976
+ animation: none;
977
+ }
978
+
870
979
  /* depth system \u2014 disable hover lift and active press */
871
980
  .d2,
872
981
  .d2:hover,
@@ -2199,6 +2308,251 @@ select {
2199
2308
  color: rgba(0,0,0,0.3);
2200
2309
  user-select: none;
2201
2310
  }
2311
+
2312
+ /* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
2313
+ AliveUI Build \u2014 Display & marketing components
2314
+ Browser frame \xB7 Phone frame \xB7 Stat card \xB7 Checklist \xB7 Dot grid
2315
+ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 */
2316
+
2317
+ /* \u2500\u2500 Browser Frame \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2318
+ .alive-browser {
2319
+ border-radius: 12px;
2320
+ overflow: hidden;
2321
+ border: 1px solid rgba(0,0,0,0.1);
2322
+ background: #fff;
2323
+ box-shadow: 0 24px 64px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.06);
2324
+ }
2325
+ .alive-browser-bar {
2326
+ display: flex;
2327
+ align-items: center;
2328
+ gap: 8px;
2329
+ padding: 10px 16px;
2330
+ background: #f3f3f3;
2331
+ border-bottom: 1px solid rgba(0,0,0,0.08);
2332
+ flex-shrink: 0;
2333
+ }
2334
+ .alive-browser-dots {
2335
+ display: flex;
2336
+ gap: 6px;
2337
+ flex-shrink: 0;
2338
+ }
2339
+ .alive-browser-dot {
2340
+ width: 10px;
2341
+ height: 10px;
2342
+ border-radius: 50%;
2343
+ opacity: 0.85;
2344
+ }
2345
+ .alive-browser-dot:nth-child(1) { background: #ff5f57; }
2346
+ .alive-browser-dot:nth-child(2) { background: #febc2e; }
2347
+ .alive-browser-dot:nth-child(3) { background: #28c840; }
2348
+ .alive-browser-url {
2349
+ flex: 1;
2350
+ max-width: 280px;
2351
+ margin: 0 auto;
2352
+ padding: 4px 12px;
2353
+ border-radius: 6px;
2354
+ background: rgba(0,0,0,0.06);
2355
+ border: 1px solid rgba(0,0,0,0.08);
2356
+ font-size: 0.7rem;
2357
+ color: rgba(0,0,0,0.35);
2358
+ text-align: center;
2359
+ font-family: ui-monospace, monospace;
2360
+ white-space: nowrap;
2361
+ overflow: hidden;
2362
+ text-overflow: ellipsis;
2363
+ user-select: none;
2364
+ }
2365
+ .alive-browser-body {
2366
+ overflow: hidden;
2367
+ }
2368
+ /* Dark variant */
2369
+ .alive-browser-dark {
2370
+ border-color: rgba(255,255,255,0.1);
2371
+ background: #0f0f0f;
2372
+ box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 8px 24px rgba(0,0,0,0.4);
2373
+ }
2374
+ .alive-browser-dark .alive-browser-bar {
2375
+ background: #161616;
2376
+ border-bottom-color: rgba(255,255,255,0.07);
2377
+ }
2378
+ .alive-browser-dark .alive-browser-url {
2379
+ background: rgba(255,255,255,0.05);
2380
+ border-color: rgba(255,255,255,0.07);
2381
+ color: rgba(255,255,255,0.2);
2382
+ }
2383
+
2384
+ /* \u2500\u2500 Phone Frame \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2385
+ .alive-phone {
2386
+ position: relative;
2387
+ display: inline-flex;
2388
+ flex-direction: column;
2389
+ border-radius: 40px;
2390
+ border: 8px solid #1c1c1e;
2391
+ background: #fff;
2392
+ overflow: hidden;
2393
+ box-shadow:
2394
+ 0 32px 80px rgba(0,0,0,0.35),
2395
+ inset 0 0 0 1px rgba(255,255,255,0.1),
2396
+ 0 0 0 1px rgba(0,0,0,0.5);
2397
+ }
2398
+ .alive-phone::before {
2399
+ content: '';
2400
+ position: absolute;
2401
+ top: 10px;
2402
+ left: 50%;
2403
+ transform: translateX(-50%);
2404
+ width: 90px;
2405
+ height: 22px;
2406
+ background: #1c1c1e;
2407
+ border-radius: 11px;
2408
+ z-index: 10;
2409
+ }
2410
+ .alive-phone-screen {
2411
+ width: 100%;
2412
+ overflow: hidden;
2413
+ flex: 1;
2414
+ }
2415
+ .alive-phone-dark {
2416
+ background: #0f0f0f;
2417
+ }
2418
+ .alive-phone-dark .alive-phone-screen {
2419
+ background: #0f0f0f;
2420
+ }
2421
+ /* Sizes */
2422
+ .alive-phone-sm { width: 220px; border-radius: 32px; border-width: 6px; }
2423
+ .alive-phone-sm::before { width: 70px; height: 18px; border-radius: 9px; }
2424
+ .alive-phone-lg { width: 340px; border-radius: 48px; border-width: 10px; }
2425
+ .alive-phone-lg::before { width: 110px; height: 26px; border-radius: 13px; }
2426
+
2427
+ /* \u2500\u2500 Stat Card \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2428
+ .alive-stat {
2429
+ padding: 1.5rem;
2430
+ border-radius: 12px;
2431
+ background: #fff;
2432
+ border: 1px solid rgba(0,0,0,0.07);
2433
+ box-shadow: 0 2px 8px rgba(0,0,0,0.04);
2434
+ }
2435
+ .alive-stat-label {
2436
+ font-size: 0.75rem;
2437
+ font-weight: 600;
2438
+ letter-spacing: 0.06em;
2439
+ color: rgba(0,0,0,0.4);
2440
+ text-transform: uppercase;
2441
+ margin-bottom: 0.5rem;
2442
+ }
2443
+ .alive-stat-value {
2444
+ font-size: 2.25rem;
2445
+ font-weight: 700;
2446
+ letter-spacing: -0.04em;
2447
+ line-height: 1;
2448
+ color: rgba(0,0,0,0.9);
2449
+ margin-bottom: 0.5rem;
2450
+ font-variant-numeric: tabular-nums;
2451
+ }
2452
+ .alive-stat-change {
2453
+ display: inline-flex;
2454
+ align-items: center;
2455
+ gap: 4px;
2456
+ font-size: 0.8125rem;
2457
+ font-weight: 600;
2458
+ }
2459
+ .alive-stat-up { color: #16a34a; }
2460
+ .alive-stat-down { color: #dc2626; }
2461
+ /* Dark variant */
2462
+ .alive-stat-dark {
2463
+ background: rgba(255,255,255,0.05);
2464
+ border-color: rgba(255,255,255,0.09);
2465
+ box-shadow: none;
2466
+ }
2467
+ .alive-stat-dark .alive-stat-label { color: rgba(255,255,255,0.35); }
2468
+ .alive-stat-dark .alive-stat-value { color: #ffffff; }
2469
+
2470
+ /* \u2500\u2500 Feature Checklist \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2471
+ .alive-checklist {
2472
+ display: flex;
2473
+ flex-direction: column;
2474
+ gap: 0.875rem;
2475
+ }
2476
+ .alive-checklist-item {
2477
+ display: flex;
2478
+ align-items: flex-start;
2479
+ gap: 0.75rem;
2480
+ font-size: 0.9375rem;
2481
+ color: rgba(0,0,0,0.75);
2482
+ line-height: 1.45;
2483
+ }
2484
+ .alive-checklist-icon {
2485
+ flex-shrink: 0;
2486
+ width: 20px;
2487
+ height: 20px;
2488
+ border-radius: 50%;
2489
+ background: rgba(74,222,128,0.15);
2490
+ border: 1.5px solid rgba(74,222,128,0.4);
2491
+ display: flex;
2492
+ align-items: center;
2493
+ justify-content: center;
2494
+ margin-top: 2px;
2495
+ }
2496
+ .alive-checklist-icon::after {
2497
+ content: '';
2498
+ display: block;
2499
+ width: 5px;
2500
+ height: 9px;
2501
+ border-right: 2px solid #16a34a;
2502
+ border-bottom: 2px solid #16a34a;
2503
+ transform: rotate(45deg) translate(-1px, -1px);
2504
+ }
2505
+ /* Dark variant */
2506
+ .alive-checklist-dark .alive-checklist-item { color: rgba(255,255,255,0.75); }
2507
+ .alive-checklist-dark .alive-checklist-icon {
2508
+ background: rgba(74,222,128,0.12);
2509
+ border-color: rgba(74,222,128,0.3);
2510
+ }
2511
+
2512
+ /* \u2500\u2500 Dot Grid Background \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2513
+ .alive-dot-grid {
2514
+ background-image: radial-gradient(circle, rgba(0,0,0,0.12) 1px, transparent 1px);
2515
+ background-size: 24px 24px;
2516
+ }
2517
+ .alive-dot-grid-sm { background-size: 16px 16px; }
2518
+ .alive-dot-grid-lg { background-size: 32px 32px; }
2519
+ .alive-dot-grid-dark {
2520
+ background-image: radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1px);
2521
+ }
2522
+
2523
+ /* \u2500\u2500 Terminal / Code Block \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
2524
+ .alive-terminal {
2525
+ border-radius: 10px;
2526
+ overflow: hidden;
2527
+ background: #0f0f0f;
2528
+ border: 1px solid rgba(255,255,255,0.08);
2529
+ box-shadow: 0 16px 48px rgba(0,0,0,0.4);
2530
+ font-family: ui-monospace, 'Cascadia Code', 'Fira Code', monospace;
2531
+ }
2532
+ .alive-terminal-bar {
2533
+ display: flex;
2534
+ align-items: center;
2535
+ gap: 8px;
2536
+ padding: 10px 16px;
2537
+ background: #161616;
2538
+ border-bottom: 1px solid rgba(255,255,255,0.06);
2539
+ flex-shrink: 0;
2540
+ }
2541
+ .alive-terminal-body {
2542
+ padding: 1.25rem 1.5rem;
2543
+ font-size: 0.8125rem;
2544
+ line-height: 1.7;
2545
+ color: rgba(255,255,255,0.75);
2546
+ overflow: auto;
2547
+ }
2548
+ .alive-terminal-prompt {
2549
+ color: rgba(255,255,255,0.25);
2550
+ user-select: none;
2551
+ }
2552
+ .alive-terminal-cmd { color: #60a5fa; }
2553
+ .alive-terminal-out { color: rgba(255,255,255,0.45); }
2554
+ .alive-terminal-ok { color: #4ade80; }
2555
+ .alive-terminal-err { color: #f87171; }
2202
2556
  `;
2203
2557
  }
2204
2558
  var init_base = __esm({