lynx-console 0.2.3 → 0.3.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.
package/dist/index.cjs CHANGED
@@ -166,7 +166,7 @@ function BottomSheet({ children, title, footer, onClose, isOpen, shouldClose = f
166
166
  <view className="bs-handle" style={{ backgroundColor: colors.palette.gray400 }} />
167
167
  </view>
168
168
  <view className="bs-header">
169
- {title && <text className="bs-title" style={{
169
+ {title && <text className="bs-title t7" style={{
170
170
  fontWeight: fontWeight.bold,
171
171
  color: colors.fg.neutral
172
172
  }}>
@@ -270,16 +270,6 @@ const usePerformance = () => {
270
270
  };
271
271
  };
272
272
 
273
- //#endregion
274
- //#region src/components/FadeList.tsx
275
- const FadeList = ({ className, listRef: externalListRef, children, ...listProps }) => {
276
- const internalListRef = (0, _lynx_js_react.useRef)(null);
277
- const listRef = externalListRef ?? internalListRef;
278
- return <list ref={listRef} scroll-orientation="vertical" className={className} {...listProps}>
279
- {children}
280
- </list>;
281
- };
282
-
283
273
  //#endregion
284
274
  //#region src/components/LogPanel.tsx
285
275
  const LOG_LEVELS = [
@@ -410,7 +400,6 @@ const LogPanel = ({ logs, clearLogs }) => {
410
400
  params: { value: "" }
411
401
  }).exec();
412
402
  runCode(trimmed);
413
- setTimeout(() => scrollToBottom(false), 100);
414
403
  };
415
404
  const renderArg = (arg, parentKey, level) => {
416
405
  const key = parentKey;
@@ -431,7 +420,7 @@ const LogPanel = ({ logs, clearLogs }) => {
431
420
  const MAX_LENGTH = 80;
432
421
  const shouldTruncate = arg.length > MAX_LENGTH;
433
422
  const strColor = getStringColor(colors, level);
434
- if (!shouldTruncate) return <text className={"cp-argString"} style={{
423
+ if (!shouldTruncate) return <text className={"cp-argString t3"} style={{
435
424
  color: strColor,
436
425
  fontWeight: fontWeight.regular
437
426
  }}>
@@ -439,13 +428,13 @@ const LogPanel = ({ logs, clearLogs }) => {
439
428
  </text>;
440
429
  return <view className={"cp-argObject"}>
441
430
  <view className={"cp-argObjectHeader"} bindtap={() => toggleArg(key)}>
442
- <text className={"cp-toggleIndicator"} style={{
431
+ <text className={"cp-toggleIndicator t2"} style={{
443
432
  color: colors.fg.neutralSubtle,
444
433
  fontWeight: fontWeight.regular
445
434
  }}>
446
435
  {isExpanded ? "▼" : "▶"}
447
436
  </text>
448
- <text className={"cp-argString"} style={{
437
+ <text className={"cp-argString t3"} style={{
449
438
  color: strColor,
450
439
  fontWeight: fontWeight.regular
451
440
  }}>
@@ -454,7 +443,7 @@ const LogPanel = ({ logs, clearLogs }) => {
454
443
  </view>
455
444
  </view>;
456
445
  }
457
- if (typeof arg === "number" || typeof arg === "boolean") return <text className={"cp-argPrimitive"} style={{
446
+ if (typeof arg === "number" || typeof arg === "boolean") return <text className={"cp-argPrimitive t3"} style={{
458
447
  color: getPrimitiveColor(colors, level),
459
448
  fontWeight: fontWeight.regular
460
449
  }}>
@@ -475,13 +464,13 @@ const LogPanel = ({ logs, clearLogs }) => {
475
464
  else jsonString = (0, javascript_stringify.stringify)(arg, null, 2, { references: true }) ?? String(arg);
476
465
  return <view className={"cp-argObject"}>
477
466
  <view className={"cp-argObjectHeader"} bindtap={() => toggleArg(key)}>
478
- <text className={"cp-toggleIndicator"} style={{
467
+ <text className={"cp-toggleIndicator t2"} style={{
479
468
  color: colors.fg.neutralSubtle,
480
469
  fontWeight: fontWeight.regular
481
470
  }}>
482
471
  {isExpanded ? "▼" : "▶"}
483
472
  </text>
484
- <text className={"cp-argObjectPreview"} style={{
473
+ <text className={"cp-argObjectPreview t3"} style={{
485
474
  fontWeight: fontWeight.medium,
486
475
  color: colors.fg.neutral
487
476
  }}>
@@ -489,7 +478,7 @@ const LogPanel = ({ logs, clearLogs }) => {
489
478
  </text>
490
479
  </view>
491
480
  {isExpanded && <view className={"cp-argObjectContent"}>
492
- <text className={"cp-argObjectJson"} style={{
481
+ <text className={"cp-argObjectJson t3"} style={{
493
482
  fontWeight: fontWeight.regular,
494
483
  color: colors.fg.neutral
495
484
  }}>
@@ -498,7 +487,7 @@ const LogPanel = ({ logs, clearLogs }) => {
498
487
  </view>}
499
488
  </view>;
500
489
  }
501
- return <text className={"cp-argPrimitive"} style={{
490
+ return <text className={"cp-argPrimitive t3"} style={{
502
491
  color: getPrimitiveColor(colors, level),
503
492
  fontWeight: fontWeight.regular
504
493
  }}>
@@ -511,11 +500,11 @@ const LogPanel = ({ logs, clearLogs }) => {
511
500
  <view className={"cp-logHeader"}>
512
501
  <view className={"cp-filterWrapper"}>
513
502
  <view className={"cp-filterButton"} style={{ backgroundColor: colors.bg.neutralWeak }} catchtap={() => setFilterOpen((v) => !v)}>
514
- <text className={"cp-filterButtonText"} style={{
503
+ <text className={"cp-filterButtonText t3"} style={{
515
504
  fontWeight: fontWeight.medium,
516
505
  color: colors.fg.neutralMuted
517
506
  }}>
518
- Filter
507
+ Filter
519
508
  </text>
520
509
  </view>
521
510
  {filterOpen && <view className={"cp-filterDropdown"} style={{
@@ -523,13 +512,13 @@ const LogPanel = ({ logs, clearLogs }) => {
523
512
  borderColor: colors.stroke.neutralSubtle
524
513
  }} catchtap={() => {}}>
525
514
  {LOG_LEVELS.map((level) => <view key={level} className={"cp-filterOption"} bindtap={() => toggleLevel(level)}>
526
- <text className={"cp-filterCheckbox"} style={{
515
+ <text className={"cp-filterCheckbox t3"} style={{
527
516
  fontWeight: fontWeight.medium,
528
517
  color: getLevelColor(colors, level)
529
518
  }}>
530
519
  {enabledLevels.has(level) ? "✅" : "⬜"}
531
520
  </text>
532
- <text className={"cp-filterLabel"} style={{
521
+ <text className={"cp-filterLabel t3"} style={{
533
522
  fontWeight: fontWeight.medium,
534
523
  color: getLevelColor(colors, level)
535
524
  }}>
@@ -539,13 +528,13 @@ const LogPanel = ({ logs, clearLogs }) => {
539
528
  </view>}
540
529
  </view>
541
530
  <view className={"cp-searchWrapper"} style={{ borderBottomColor: colors.stroke.neutralSubtle }}>
542
- <text className={"cp-searchPrompt"} style={{
531
+ <text className={"cp-searchPrompt t6"} style={{
543
532
  fontWeight: fontWeight.medium,
544
533
  color: colors.fg.placeholder
545
534
  }}>
546
535
  {"›"}
547
536
  </text>
548
- <input ref={searchInputRef} className={"cp-searchInput"} style={{
537
+ <input ref={searchInputRef} className={"cp-searchInput t3"} style={{
549
538
  fontWeight: fontWeight.regular,
550
539
  color: colors.fg.neutral,
551
540
  caretColor: colors.palette.green600
@@ -557,7 +546,7 @@ const LogPanel = ({ logs, clearLogs }) => {
557
546
  params: { value: "" }
558
547
  }).exec();
559
548
  }}>
560
- <text className={"cp-searchClearText"} style={{
549
+ <text className={"cp-searchClearText t3"} style={{
561
550
  fontWeight: fontWeight.medium,
562
551
  color: colors.fg.placeholder
563
552
  }}>
@@ -571,7 +560,7 @@ const LogPanel = ({ logs, clearLogs }) => {
571
560
  gap: 8
572
561
  }}>
573
562
  <view className={"cp-clearButton"} style={{ backgroundColor: colors.bg.neutralWeak }} bindtap={clearLogs}>
574
- <text className={"cp-clearButtonText"} style={{
563
+ <text className={"cp-clearButtonText t3"} style={{
575
564
  fontWeight: fontWeight.medium,
576
565
  color: colors.fg.neutralMuted
577
566
  }}>
@@ -580,10 +569,10 @@ const LogPanel = ({ logs, clearLogs }) => {
580
569
  </view>
581
570
  </view>
582
571
  </view>
583
- <FadeList listRef={listRef} className={"cp-logList"} preload-buffer-count={10} initial-scroll-index={Math.max(0, filteredLogs.length - 1)}>
572
+ <list ref={listRef} scroll-orientation="vertical" className={"cp-logList"} preload-buffer-count={10} initial-scroll-index={Math.max(0, filteredLogs.length - 1)}>
584
573
  {filteredLogs.length === 0 ? <list-item item-key="empty-state">
585
574
  <view className={"cp-placeholder"}>
586
- <text className={"cp-placeholderText"} style={{
575
+ <text className={"cp-placeholderText t4"} style={{
587
576
  fontWeight: fontWeight.regular,
588
577
  color: colors.fg.disabled
589
578
  }}>
@@ -597,13 +586,13 @@ const LogPanel = ({ logs, clearLogs }) => {
597
586
  borderBottomColor: colors.stroke.neutralWeak
598
587
  }}>
599
588
  <view className={"cp-logItemHeader"}>
600
- <text className={"cp-logLevel"} style={{
589
+ <text className={"cp-logLevel t2"} style={{
601
590
  fontWeight: fontWeight.bold,
602
591
  color: getLevelColor(colors, log.level)
603
592
  }}>
604
593
  {log.level.toUpperCase()}
605
594
  </text>
606
- <text className={"cp-logTime"} style={{
595
+ <text className={"cp-logTime t2"} style={{
607
596
  fontWeight: fontWeight.regular,
608
597
  color: colors.fg.neutralSubtle
609
598
  }}>
@@ -618,21 +607,21 @@ const LogPanel = ({ logs, clearLogs }) => {
618
607
  </view>
619
608
  </list-item>;
620
609
  })}
621
- </FadeList>
610
+ </list>
622
611
  <view className={"cp-replInputRow"}>
623
- <text className={"cp-replPrompt"} style={{
612
+ <text className={"cp-replPrompt t10"} style={{
624
613
  fontWeight: fontWeight.medium,
625
614
  color: colors.fg.placeholder
626
615
  }}>
627
616
  {"›"}
628
617
  </text>
629
- <input ref={inputRef} className={"cp-replInput"} style={{
618
+ <input ref={inputRef} className={"cp-replInput t5"} style={{
630
619
  fontWeight: fontWeight.regular,
631
620
  color: colors.fg.neutral,
632
621
  caretColor: colors.palette.green600
633
622
  }} placeholder="enter code..." bindinput={(e) => setCode(e.detail.value)} bindconfirm={handleRun} />
634
623
  <view className={"cp-replRunButton"} style={{ backgroundColor: colors.palette.green100 }} bindtap={handleRun}>
635
- <text className={"cp-replRunButtonText"} style={{
624
+ <text className={"cp-replRunButtonText t3"} style={{
636
625
  fontWeight: fontWeight.medium,
637
626
  color: colors.palette.green600
638
627
  }}>
@@ -650,7 +639,7 @@ const NetworkDetailSection = ({ headers = {}, body = "", error = "" }) => {
650
639
  return <>
651
640
  {}
652
641
  <view className={"np-detailSection"}>
653
- <text className={"np-detailSectionTitle"} style={{
642
+ <text className={"np-detailSectionTitle t3"} style={{
654
643
  fontWeight: fontWeight.bold,
655
644
  color: colors.fg.neutral
656
645
  }}>
@@ -658,20 +647,20 @@ const NetworkDetailSection = ({ headers = {}, body = "", error = "" }) => {
658
647
  </text>
659
648
  {headers && Object.keys(headers).length > 0 ? <view className={"np-table"}>
660
649
  {Object.entries(headers).map(([key, value]) => <view key={key} className={"np-tableRow"} style={{ backgroundColor: colors.bg.neutralWeak }}>
661
- <text className={"np-tableKey"} style={{
650
+ <text className={"np-tableKey t3"} style={{
662
651
  fontWeight: fontWeight.bold,
663
652
  color: colors.fg.neutralSubtle
664
653
  }}>
665
654
  {key}
666
655
  </text>
667
- <text className={"np-tableValue"} style={{
656
+ <text className={"np-tableValue t3"} style={{
668
657
  fontWeight: fontWeight.regular,
669
658
  color: colors.fg.neutral
670
659
  }}>
671
660
  {value}
672
661
  </text>
673
662
  </view>)}
674
- </view> : <text className={"np-emptyText"} style={{
663
+ </view> : <text className={"np-emptyText t3"} style={{
675
664
  fontWeight: fontWeight.regular,
676
665
  color: colors.fg.disabled
677
666
  }}>
@@ -681,27 +670,27 @@ const NetworkDetailSection = ({ headers = {}, body = "", error = "" }) => {
681
670
 
682
671
  {}
683
672
  <view className={"np-detailSection"}>
684
- <text className={"np-detailSectionTitle"} style={{
673
+ <text className={"np-detailSectionTitle t3"} style={{
685
674
  fontWeight: fontWeight.bold,
686
675
  color: colors.fg.neutral
687
676
  }}>
688
677
  Body
689
678
  </text>
690
- {error && <text className={"np-errorText"} style={{
679
+ {error && <text className={"np-errorText t3"} style={{
691
680
  fontWeight: fontWeight.regular,
692
681
  color: colors.palette.red600,
693
682
  backgroundColor: colors.palette.red100
694
683
  }}>
695
684
  {error}
696
685
  </text>}
697
- {body && <text className={"np-bodyText"} style={{
686
+ {body && <text className={"np-bodyText t3"} style={{
698
687
  fontWeight: fontWeight.regular,
699
688
  color: colors.fg.neutral,
700
689
  backgroundColor: colors.bg.neutralWeak
701
690
  }}>
702
691
  {body}
703
692
  </text>}
704
- {!error && !body && <text className={"np-emptyText"} style={{
693
+ {!error && !body && <text className={"np-emptyText t3"} style={{
705
694
  fontWeight: fontWeight.regular,
706
695
  color: colors.fg.disabled
707
696
  }}>
@@ -805,14 +794,14 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
805
794
  };
806
795
  return <view className={"np-container"}>
807
796
  <view className={"np-header"}>
808
- <text className={"np-count"} style={{
797
+ <text className={"np-count t3"} style={{
809
798
  fontWeight: fontWeight.regular,
810
799
  color: colors.fg.neutralSubtle
811
800
  }}>
812
801
  Total: {networks.length} requests
813
802
  </text>
814
803
  <view className={"np-clearButton"} style={{ backgroundColor: colors.bg.neutralWeak }} bindtap={clearNetworks}>
815
- <text className={"np-clearButtonText"} style={{
804
+ <text className={"np-clearButtonText t3"} style={{
816
805
  fontWeight: fontWeight.medium,
817
806
  color: colors.fg.neutralMuted
818
807
  }}>
@@ -822,44 +811,44 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
822
811
  </view>
823
812
 
824
813
  {networks.length === 0 ? <view className={"np-placeholder"}>
825
- <text className={"np-placeholderText"} style={{
814
+ <text className={"np-placeholderText t4"} style={{
826
815
  fontWeight: fontWeight.regular,
827
816
  color: colors.fg.disabled
828
817
  }}>
829
818
  No network requests yet
830
819
  </text>
831
- </view> : <FadeList className={"np-list"}>
820
+ </view> : <list scroll-orientation="vertical" className={"np-list"}>
832
821
  {networks.map((network) => <list-item key={network.id} item-key={network.id}>
833
822
  <view className={"np-item"} style={{
834
823
  backgroundColor: getItemBg(colors, network.status),
835
824
  borderBottomColor: colors.stroke.neutralWeak
836
825
  }}>
837
826
  <view className={"np-itemHeader"} bindtap={() => setSelectedId(selectedId === network.id ? null : network.id)}>
838
- <text className={"np-method"} style={{
827
+ <text className={"np-method t2"} style={{
839
828
  fontWeight: fontWeight.bold,
840
829
  ...getMethodColors(colors, network.method)
841
830
  }}>
842
831
  {network.method}
843
832
  </text>
844
- {network.statusCode && <text className={"np-statusCode"} style={{
833
+ {network.statusCode && <text className={"np-statusCode t2"} style={{
845
834
  fontWeight: fontWeight.bold,
846
835
  color: getStatusCodeColor(colors, getStatusCodeVariant(network.status, network.statusCode))
847
836
  }}>
848
837
  {network.statusCode}
849
838
  </text>}
850
- {network.status === "pending" && <text className={"np-statusCode"} style={{
839
+ {network.status === "pending" && <text className={"np-statusCode t2"} style={{
851
840
  fontWeight: fontWeight.bold,
852
841
  color: colors.fg.neutralSubtle
853
842
  }}>
854
843
  Pending...
855
844
  </text>}
856
- <text className={"np-time"} style={{
845
+ <text className={"np-time t2"} style={{
857
846
  fontWeight: fontWeight.regular,
858
847
  color: colors.fg.neutralSubtle
859
848
  }}>
860
849
  {formatDuration(network.duration)}
861
850
  </text>
862
- <text className={"np-time"} style={{
851
+ <text className={"np-time t2"} style={{
863
852
  fontWeight: fontWeight.regular,
864
853
  color: colors.fg.neutralSubtle
865
854
  }}>
@@ -867,7 +856,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
867
856
  </text>
868
857
  </view>
869
858
 
870
- <text className={"np-path"} style={{
859
+ <text className={"np-path t3"} style={{
871
860
  fontWeight: fontWeight.regular,
872
861
  color: colors.fg.neutral
873
862
  }} bindtap={() => setSelectedId(selectedId === network.id ? null : network.id)}>
@@ -878,7 +867,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
878
867
  {}
879
868
  <view className={"np-tabs"}>
880
869
  <view className={"np-tab"} style={{ backgroundColor: activeTab === "general" ? colors.bg.neutralWeak : void 0 }} bindtap={() => setActiveTab("general")}>
881
- <text className={"np-tabText"} style={{
870
+ <text className={"np-tabText t4"} style={{
882
871
  fontWeight: fontWeight.medium,
883
872
  color: activeTab === "general" ? colors.fg.neutral : colors.fg.neutralSubtle
884
873
  }}>
@@ -886,7 +875,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
886
875
  </text>
887
876
  </view>
888
877
  <view className={"np-tab"} style={{ backgroundColor: activeTab === "request" ? colors.bg.neutralWeak : void 0 }} bindtap={() => setActiveTab("request")}>
889
- <text className={"np-tabText"} style={{
878
+ <text className={"np-tabText t4"} style={{
890
879
  fontWeight: fontWeight.medium,
891
880
  color: activeTab === "request" ? colors.fg.neutral : colors.fg.neutralSubtle
892
881
  }}>
@@ -894,7 +883,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
894
883
  </text>
895
884
  </view>
896
885
  <view className={"np-tab"} style={{ backgroundColor: activeTab === "response" ? colors.bg.neutralWeak : void 0 }} bindtap={() => setActiveTab("response")}>
897
- <text className={"np-tabText"} style={{
886
+ <text className={"np-tabText t4"} style={{
898
887
  fontWeight: fontWeight.medium,
899
888
  color: activeTab === "response" ? colors.fg.neutral : colors.fg.neutralSubtle
900
889
  }}>
@@ -907,13 +896,13 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
907
896
  <view className={"np-tabContent"}>
908
897
  {activeTab === "general" && <view className={"np-table"}>
909
898
  {getGeneralInfo(network).map((item) => <view key={item.key} className={"np-tableRow"} style={{ backgroundColor: colors.bg.neutralWeak }}>
910
- <text className={"np-tableKey"} style={{
899
+ <text className={"np-tableKey t3"} style={{
911
900
  fontWeight: fontWeight.bold,
912
901
  color: colors.fg.neutralSubtle
913
902
  }}>
914
903
  {item.key}
915
904
  </text>
916
- <text className={"np-tableValue"} style={{
905
+ <text className={"np-tableValue t3"} style={{
917
906
  fontWeight: fontWeight.regular,
918
907
  color: colors.fg.neutral
919
908
  }}>
@@ -929,7 +918,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
929
918
  </view>}
930
919
  </view>
931
920
  </list-item>)}
932
- </FadeList>}
921
+ </list>}
933
922
  </view>;
934
923
  };
935
924
 
@@ -989,14 +978,14 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
989
978
  const [selectedId, setSelectedId] = (0, _lynx_js_react.useState)(null);
990
979
  if (performances.length === 0) return <view className={"pp-container"}>
991
980
  <view className={"pp-header"} style={{ borderBottomColor: colors.stroke.neutralSubtle }}>
992
- <text className={"pp-count"} style={{
981
+ <text className={"pp-count t3"} style={{
993
982
  fontWeight: fontWeight.regular,
994
983
  color: colors.fg.neutralSubtle
995
984
  }}>
996
985
  0 entries
997
986
  </text>
998
987
  <view bindtap={clearPerformances} className={"pp-clearButton"} style={{ backgroundColor: colors.bg.neutralWeak }}>
999
- <text className={"pp-clearButtonText"} style={{
988
+ <text className={"pp-clearButtonText t3"} style={{
1000
989
  fontWeight: fontWeight.medium,
1001
990
  color: colors.fg.neutralMuted
1002
991
  }}>
@@ -1005,7 +994,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1005
994
  </view>
1006
995
  </view>
1007
996
  <view className={"pp-placeholder"}>
1008
- <text className={"pp-placeholderText"} style={{
997
+ <text className={"pp-placeholderText t4"} style={{
1009
998
  fontWeight: fontWeight.regular,
1010
999
  color: colors.fg.disabled
1011
1000
  }}>
@@ -1015,14 +1004,14 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1015
1004
  </view>;
1016
1005
  return <view className={"pp-container"}>
1017
1006
  <view className={"pp-header"} style={{ borderBottomColor: colors.stroke.neutralSubtle }}>
1018
- <text className={"pp-count"} style={{
1007
+ <text className={"pp-count t3"} style={{
1019
1008
  fontWeight: fontWeight.regular,
1020
1009
  color: colors.fg.neutralSubtle
1021
1010
  }}>
1022
1011
  {performances.length} entries
1023
1012
  </text>
1024
1013
  <view bindtap={clearPerformances} className={"pp-clearButton"} style={{ backgroundColor: colors.bg.neutralWeak }}>
1025
- <text className={"pp-clearButtonText"} style={{
1014
+ <text className={"pp-clearButtonText t3"} style={{
1026
1015
  fontWeight: fontWeight.medium,
1027
1016
  color: colors.fg.neutralMuted
1028
1017
  }}>
@@ -1031,7 +1020,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1031
1020
  </view>
1032
1021
  </view>
1033
1022
 
1034
- <FadeList className={"pp-list"}>
1023
+ <list scroll-orientation="vertical" className={"pp-list"}>
1035
1024
  {performances.map((perf) => {
1036
1025
  const isMetricFcp = isMetricFcpEntry(perf);
1037
1026
  const fcpMetrics = extractFcpMetrics(perf);
@@ -1040,19 +1029,19 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1040
1029
  return <list-item key={perf.id} item-key={perf.id}>
1041
1030
  <view className={"pp-item"} style={{ borderBottomColor: colors.stroke.neutralWeak }}>
1042
1031
  <view className={"pp-itemHeader"} bindtap={() => setSelectedId(selectedId === perf.id ? null : perf.id)}>
1043
- <text className={"pp-entryType"} style={{
1032
+ <text className={"pp-entryType t2"} style={{
1044
1033
  fontWeight: fontWeight.bold,
1045
1034
  ...getEntryTypeColors(colors, perf.entryType)
1046
1035
  }}>
1047
1036
  {perf.entryType}
1048
1037
  </text>
1049
- <text className={"pp-entryName"} style={{
1038
+ <text className={"pp-entryName t2"} style={{
1050
1039
  fontWeight: fontWeight.medium,
1051
1040
  color: colors.fg.neutral
1052
1041
  }}>
1053
1042
  {perf.name}
1054
1043
  </text>
1055
- <text className={"pp-timestamp"} style={{
1044
+ <text className={"pp-timestamp t2"} style={{
1056
1045
  fontWeight: fontWeight.regular,
1057
1046
  color: colors.fg.neutralSubtle
1058
1047
  }}>
@@ -1061,7 +1050,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1061
1050
  </view>
1062
1051
 
1063
1052
  <view bindtap={() => setSelectedId(selectedId === perf.id ? null : perf.id)}>
1064
- {isMetricFcp && primaryFcp && <text className={"pp-fcpHighlight"} style={{
1053
+ {isMetricFcp && primaryFcp && <text className={"pp-fcpHighlight t3"} style={{
1065
1054
  fontWeight: fontWeight.bold,
1066
1055
  color: colors.palette.blue600,
1067
1056
  backgroundColor: colors.palette.blue100
@@ -1074,20 +1063,20 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1074
1063
  {isMetricFcp && fcpMetrics && <view className={"pp-fcpSection"}>
1075
1064
  {totalFcp !== void 0 && <view className={"pp-fcpMetric"} style={{ backgroundColor: colors.bg.layerDefault }}>
1076
1065
  <view className={"pp-fcpMetricHeader"}>
1077
- <text className={"pp-fcpMetricName"} style={{
1066
+ <text className={"pp-fcpMetricName t2"} style={{
1078
1067
  fontWeight: fontWeight.bold,
1079
1068
  color: colors.fg.neutral
1080
1069
  }}>
1081
1070
  전체 FCP
1082
1071
  </text>
1083
- <text className={"pp-fcpMetricValue"} style={{
1072
+ <text className={"pp-fcpMetricValue t1"} style={{
1084
1073
  fontWeight: fontWeight.bold,
1085
1074
  color: colors.palette.blue600
1086
1075
  }}>
1087
1076
  {formatDuration(totalFcp.duration)}
1088
1077
  </text>
1089
1078
  </view>
1090
- <text className={"pp-fcpMetricDescription"} style={{
1079
+ <text className={"pp-fcpMetricDescription t3"} style={{
1091
1080
  fontWeight: fontWeight.regular,
1092
1081
  color: colors.fg.neutralSubtle
1093
1082
  }}>
@@ -1098,20 +1087,20 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1098
1087
 
1099
1088
  {lynxFcp !== void 0 && <view className={"pp-fcpMetric"} style={{ backgroundColor: colors.bg.layerDefault }}>
1100
1089
  <view className={"pp-fcpMetricHeader"}>
1101
- <text className={"pp-fcpMetricName"} style={{
1090
+ <text className={"pp-fcpMetricName t2"} style={{
1102
1091
  fontWeight: fontWeight.bold,
1103
1092
  color: colors.fg.neutral
1104
1093
  }}>
1105
1094
  LynxFCP
1106
1095
  </text>
1107
- <text className={"pp-fcpMetricValue"} style={{
1096
+ <text className={"pp-fcpMetricValue t1"} style={{
1108
1097
  fontWeight: fontWeight.bold,
1109
1098
  color: colors.palette.blue600
1110
1099
  }}>
1111
1100
  {formatDuration(lynxFcp.duration)}
1112
1101
  </text>
1113
1102
  </view>
1114
- <text className={"pp-fcpMetricDescription"} style={{
1103
+ <text className={"pp-fcpMetricDescription t3"} style={{
1115
1104
  fontWeight: fontWeight.regular,
1116
1105
  color: colors.fg.neutralSubtle
1117
1106
  }}>
@@ -1121,20 +1110,20 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1121
1110
 
1122
1111
  {fcp !== void 0 && <view className={"pp-fcpMetric"} style={{ backgroundColor: colors.bg.layerDefault }}>
1123
1112
  <view className={"pp-fcpMetricHeader"}>
1124
- <text className={"pp-fcpMetricName"} style={{
1113
+ <text className={"pp-fcpMetricName t2"} style={{
1125
1114
  fontWeight: fontWeight.bold,
1126
1115
  color: colors.fg.neutral
1127
1116
  }}>
1128
1117
  렌더링 FCP
1129
1118
  </text>
1130
- <text className={"pp-fcpMetricValue"} style={{
1119
+ <text className={"pp-fcpMetricValue t1"} style={{
1131
1120
  fontWeight: fontWeight.bold,
1132
1121
  color: colors.palette.blue600
1133
1122
  }}>
1134
1123
  {formatDuration(fcp.duration)}
1135
1124
  </text>
1136
1125
  </view>
1137
- <text className={"pp-fcpMetricDescription"} style={{
1126
+ <text className={"pp-fcpMetricDescription t3"} style={{
1138
1127
  fontWeight: fontWeight.regular,
1139
1128
  color: colors.fg.neutralSubtle
1140
1129
  }}>
@@ -1144,13 +1133,13 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1144
1133
  </view>}
1145
1134
 
1146
1135
  {!!perf.rawEntry && <view className={"pp-rawEntrySection"} style={{ backgroundColor: colors.bg.neutralWeak }}>
1147
- <text className={"pp-detailTitle"} style={{
1136
+ <text className={"pp-detailTitle t3"} style={{
1148
1137
  fontWeight: fontWeight.bold,
1149
1138
  color: colors.fg.neutral
1150
1139
  }}>
1151
1140
  Raw Entry
1152
1141
  </text>
1153
- <text className={"pp-rawEntry"} style={{
1142
+ <text className={"pp-rawEntry t3"} style={{
1154
1143
  fontWeight: fontWeight.regular,
1155
1144
  color: colors.fg.neutralSubtle
1156
1145
  }}>
@@ -1161,7 +1150,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
1161
1150
  </view>
1162
1151
  </list-item>;
1163
1152
  })}
1164
- </FadeList>
1153
+ </list>
1165
1154
  </view>;
1166
1155
  };
1167
1156
 
@@ -1185,7 +1174,7 @@ function Tabs(props) {
1185
1174
  }
1186
1175
  }).exec();
1187
1176
  }}>
1188
- <text className={`tabs-triggerButtonText${tabSize ? ` tabs-triggerButtonText--${tabSize}` : ""}`} style={{
1177
+ <text className={`tabs-triggerButtonText${tabSize ? ` ${tabSize}` : ""}`} style={{
1189
1178
  fontWeight: fontWeight.bold,
1190
1179
  color: i === activeIndex ? colors.fg.neutral : colors.fg.neutralSubtle
1191
1180
  }}>
@@ -1352,24 +1341,22 @@ const FloatingButton = ({ bindtap, children }) => {
1352
1341
  }
1353
1342
  };
1354
1343
  const isDragging = phase === "dragging";
1355
- return <>
1356
- <view className={"fb-wrapper"} consume-slide-event={[[-180, 180]]} style={{
1344
+ return <view className={"fb-wrapper"} consume-slide-event={[[-180, 180]]} style={{
1357
1345
  right: `${right}px`,
1358
1346
  bottom: `${bottom}px`,
1359
1347
  transform: isDragging ? "scale(1.05)" : "scale(1)",
1360
1348
  transition: `transform ${duration.d4} cubic-bezier(0.4, 0, 0.2, 1)`
1361
1349
  }} {...handlers}>
1362
- <view className={"fb-button"} style={{ backgroundColor: colors.palette.green600 }}>
1363
- {children}
1364
- <view className={"fb-shineOverlay"} style={SHINE_STYLES[phase]} />
1365
- </view>
1366
- <view className={"fb-reloadButton"} style={{ backgroundColor: colors.palette.green600 }} catchtouchstart={() => clearTimer()} bindtap={handleReload}>
1367
- <text className={"fb-reloadIcon"} style={{ color: colors.palette.staticWhite }}>
1368
- {"↻"}
1369
- </text>
1370
- </view>
1350
+ <view className={"fb-button"} style={{ backgroundColor: colors.palette.green600 }}>
1351
+ {children}
1352
+ <view className={"fb-shineOverlay"} style={SHINE_STYLES[phase]} />
1371
1353
  </view>
1372
- </>;
1354
+ <view className={"fb-reloadButton"} style={{ backgroundColor: colors.palette.green600 }} catchtouchstart={() => clearTimer()} bindtap={handleReload}>
1355
+ <text className={"fb-reloadIcon"} style={{ color: colors.palette.staticWhite }}>
1356
+ {"↻"}
1357
+ </text>
1358
+ </view>
1359
+ </view>;
1373
1360
  };
1374
1361
 
1375
1362
  //#endregion
@@ -1413,11 +1400,13 @@ const LynxConsole = (0, _lynx_js_react.forwardRef)(({ theme = "light", safeAreaI
1413
1400
  color: colors.fg.neutral
1414
1401
  }}>
1415
1402
  <FloatingButton bindtap={handleOpenBottomSheet}>
1416
- <text className="fb-title" style={{
1403
+ <text className="fb-title t4" style={{
1417
1404
  fontWeight: "400",
1418
1405
  color: colors.palette.staticWhite
1419
- }}>LynxConsole</text>
1420
- <text className="fb-subtitle" style={{
1406
+ }}>
1407
+ LynxConsole
1408
+ </text>
1409
+ <text className="fb-subtitle t3" style={{
1421
1410
  fontWeight: "400",
1422
1411
  color: colors.palette.staticWhite
1423
1412
  }}>