thread-ui 0.2.0 → 0.3.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.
Files changed (78) hide show
  1. package/dist/components/form-elements/form-label/form-label.d.ts.map +1 -1
  2. package/dist/components/form-elements/form-label/form-label.js +2 -2
  3. package/dist/components/form-elements/form-label/form-label.js.map +1 -1
  4. package/dist/components/form-elements/number-input/number-input.d.ts +1 -1
  5. package/dist/components/form-elements/number-input/number-input.d.ts.map +1 -1
  6. package/dist/components/form-elements/number-input/number-input.js +67 -21
  7. package/dist/components/form-elements/number-input/number-input.js.map +1 -1
  8. package/dist/components/form-elements/styles/index.d.ts.map +1 -1
  9. package/dist/components/form-elements/styles/index.js +2 -1
  10. package/dist/components/form-elements/styles/index.js.map +1 -1
  11. package/dist/components/form-elements/text-input/text-input.d.ts +1 -1
  12. package/dist/components/form-elements/text-input/text-input.d.ts.map +1 -1
  13. package/dist/components/form-elements/text-input/text-input.js +2 -2
  14. package/dist/components/form-elements/text-input/text-input.js.map +1 -1
  15. package/dist/components/index.d.ts +1 -0
  16. package/dist/components/index.d.ts.map +1 -1
  17. package/dist/components/index.js +1 -0
  18. package/dist/components/index.js.map +1 -1
  19. package/dist/components/layouts/column-layout/column-skeleton/column-skeleton.js +1 -1
  20. package/dist/components/layouts/column-layout/column-skeleton/column-skeleton.js.map +1 -1
  21. package/dist/components/layouts/masonry-layout/masonry-layout.js +3 -3
  22. package/dist/components/layouts/masonry-layout/masonry-layout.js.map +1 -1
  23. package/dist/components/media/image-panel/image-panel.d.ts.map +1 -1
  24. package/dist/components/media/image-panel/image-panel.js +1 -1
  25. package/dist/components/media/image-panel/image-panel.js.map +1 -1
  26. package/dist/components/media/info-card/info-card.d.ts.map +1 -1
  27. package/dist/components/media/info-card/info-card.js +2 -2
  28. package/dist/components/media/info-card/info-card.js.map +1 -1
  29. package/dist/components/media/media-card/media-card.js +6 -6
  30. package/dist/components/media/media-card/media-card.js.map +1 -1
  31. package/dist/styled-system/styles.css +1949 -554
  32. package/dist/styled-system/tokens/index.mjs +9 -9
  33. package/dist/styles/panda.css +227 -50
  34. package/dist/styles/thread.css +15 -2
  35. package/dist/theme/default-theme.js +3 -3
  36. package/dist/theme/default-theme.js.map +1 -1
  37. package/dist/theme/generate-override-css.d.ts +7 -0
  38. package/dist/theme/generate-override-css.d.ts.map +1 -0
  39. package/dist/theme/generate-override-css.js +66 -0
  40. package/dist/theme/generate-override-css.js.map +1 -0
  41. package/dist/theme/index.d.ts +2 -0
  42. package/dist/theme/index.d.ts.map +1 -1
  43. package/dist/theme/index.js +2 -0
  44. package/dist/theme/index.js.map +1 -1
  45. package/dist/theme/theme-mode.d.ts +6 -0
  46. package/dist/theme/theme-mode.d.ts.map +1 -0
  47. package/dist/theme/theme-mode.js +17 -0
  48. package/dist/theme/theme-mode.js.map +1 -0
  49. package/dist/theme/theme-provider.d.ts +16 -0
  50. package/dist/theme/theme-provider.d.ts.map +1 -0
  51. package/dist/theme/theme-provider.js +57 -0
  52. package/dist/theme/theme-provider.js.map +1 -0
  53. package/dist/theme/thread-script.d.ts +25 -0
  54. package/dist/theme/thread-script.d.ts.map +1 -0
  55. package/dist/theme/thread-script.js +46 -0
  56. package/dist/theme/thread-script.js.map +1 -0
  57. package/dist/utils/get-utility-size-value/get-utility-size-value.d.ts +1 -1
  58. package/package.json +4 -2
  59. package/dist/client/index.d.ts +0 -2
  60. package/dist/client/index.d.ts.map +0 -1
  61. package/dist/client/index.js +0 -2
  62. package/dist/client/index.js.map +0 -1
  63. package/dist/client/theme-provider/index.d.ts +0 -3
  64. package/dist/client/theme-provider/index.d.ts.map +0 -1
  65. package/dist/client/theme-provider/index.js +0 -2
  66. package/dist/client/theme-provider/index.js.map +0 -1
  67. package/dist/client/theme-provider/set-theme.d.ts +0 -8
  68. package/dist/client/theme-provider/set-theme.d.ts.map +0 -1
  69. package/dist/client/theme-provider/set-theme.js +0 -60
  70. package/dist/client/theme-provider/set-theme.js.map +0 -1
  71. package/dist/client/theme-provider/theme-provider.d.ts +0 -21
  72. package/dist/client/theme-provider/theme-provider.d.ts.map +0 -1
  73. package/dist/client/theme-provider/theme-provider.js +0 -196
  74. package/dist/client/theme-provider/theme-provider.js.map +0 -1
  75. package/dist/client/theme-provider/theme-provider.types.d.ts +0 -13
  76. package/dist/client/theme-provider/theme-provider.types.d.ts.map +0 -1
  77. package/dist/client/theme-provider/theme-provider.types.js +0 -2
  78. package/dist/client/theme-provider/theme-provider.types.js.map +0 -1
@@ -1808,39 +1808,39 @@ const tokens = {
1808
1808
  "variable": "var(--thread-ui-breakpoints-2xl)"
1809
1809
  },
1810
1810
  "colors.background": {
1811
- "value": "var(--thread-ui-colors-background)",
1811
+ "value": "var(--thread-background)",
1812
1812
  "variable": "var(--thread-ui-colors-background)"
1813
1813
  },
1814
1814
  "colors.surface": {
1815
- "value": "var(--thread-ui-colors-surface)",
1815
+ "value": "var(--thread-surface)",
1816
1816
  "variable": "var(--thread-ui-colors-surface)"
1817
1817
  },
1818
1818
  "colors.elevated": {
1819
- "value": "var(--thread-ui-colors-elevated)",
1819
+ "value": "var(--thread-elevated)",
1820
1820
  "variable": "var(--thread-ui-colors-elevated)"
1821
1821
  },
1822
1822
  "colors.structure": {
1823
- "value": "var(--thread-ui-colors-structure)",
1823
+ "value": "var(--thread-structure)",
1824
1824
  "variable": "var(--thread-ui-colors-structure)"
1825
1825
  },
1826
1826
  "colors.text.standard": {
1827
- "value": "var(--thread-ui-colors-text-standard)",
1827
+ "value": "var(--thread-text-standard)",
1828
1828
  "variable": "var(--thread-ui-colors-text-standard)"
1829
1829
  },
1830
1830
  "colors.text.secondary": {
1831
- "value": "var(--thread-ui-colors-text-secondary)",
1831
+ "value": "var(--thread-text-secondary)",
1832
1832
  "variable": "var(--thread-ui-colors-text-secondary)"
1833
1833
  },
1834
1834
  "colors.text.disabled": {
1835
- "value": "var(--thread-ui-colors-text-disabled)",
1835
+ "value": "var(--thread-text-disabled)",
1836
1836
  "variable": "var(--thread-ui-colors-text-disabled)"
1837
1837
  },
1838
1838
  "colors.text.accent": {
1839
- "value": "var(--thread-ui-colors-text-accent)",
1839
+ "value": "var(--thread-text-accent)",
1840
1840
  "variable": "var(--thread-ui-colors-text-accent)"
1841
1841
  },
1842
1842
  "colors.text.inverted": {
1843
- "value": "var(--thread-ui-colors-text-inverted)",
1843
+ "value": "var(--thread-text-inverted)",
1844
1844
  "variable": "var(--thread-ui-colors-text-inverted)"
1845
1845
  },
1846
1846
  "spacing.-1": {
@@ -677,18 +677,6 @@
677
677
  --thread-ui-colors-text-inverted: var(--thread-text-inverted);
678
678
  }
679
679
 
680
- .dark {
681
- --thread-ui-colors-background: var(--thread-background-dark-mode);
682
- --thread-ui-colors-surface: var(--thread-surface-dark-mode);
683
- --thread-ui-colors-elevated: var(--thread-elevated-dark-mode);
684
- --thread-ui-colors-structure: var(--thread-structure-dark-mode);
685
- --thread-ui-colors-text-standard: var(--thread-text-standard-dark-mode);
686
- --thread-ui-colors-text-secondary: var(--thread-text-secondary-dark-mode);
687
- --thread-ui-colors-text-disabled: var(--thread-text-disabled-dark-mode);
688
- --thread-ui-colors-text-accent: var(--thread-text-accent-dark-mode);
689
- --thread-ui-colors-text-inverted: var(--thread-text-inverted-dark-mode)
690
- }
691
-
692
680
  @keyframes spin {
693
681
  to {
694
682
  transform: rotate(360deg);
@@ -758,10 +746,121 @@
758
746
  .thread-ui-button--fullWidth_false {
759
747
  width: fit-content;
760
748
  }
749
+
750
+ .thread-ui-button--color_secondary {
751
+ border-color: var(--thread-ui-colors-secondary-main);
752
+ background-color: var(--thread-ui-colors-secondary-main);
753
+ }
754
+
755
+ .thread-ui-button--color_secondary:is(:hover, [data-hover]) {
756
+ border-color: var(--thread-ui-colors-secondary-main);
757
+ background-color: var(--thread-ui-colors-background);
758
+ color: var(--thread-ui-colors-secondary-main);
759
+ }
760
+
761
+ .thread-ui-button--color_tertiary {
762
+ border-color: var(--thread-ui-colors-tertiary-main);
763
+ background-color: var(--thread-ui-colors-tertiary-main);
764
+ }
765
+
766
+ .thread-ui-button--color_tertiary:is(:hover, [data-hover]) {
767
+ border-color: var(--thread-ui-colors-tertiary-main);
768
+ background-color: var(--thread-ui-colors-background);
769
+ color: var(--thread-ui-colors-tertiary-main);
770
+ }
771
+
772
+ .thread-ui-button--color_black {
773
+ border-color: var(--thread-ui-colors-white);
774
+ background-color: var(--thread-ui-colors-black);
775
+ }
776
+
777
+ .thread-ui-button--color_black:is(:hover, [data-hover]) {
778
+ border-color: var(--thread-ui-colors-black);
779
+ background-color: var(--thread-ui-colors-white);
780
+ color: var(--thread-ui-colors-black);
781
+ }
782
+
783
+ .thread-ui-button--color_gray {
784
+ border-color: var(--thread-ui-colors-gray-main);
785
+ background-color: var(--thread-ui-colors-gray-main);
786
+ }
787
+
788
+ .thread-ui-button--color_gray:is(:hover, [data-hover]) {
789
+ border-color: var(--thread-ui-colors-gray-main);
790
+ background-color: var(--thread-ui-colors-background);
791
+ color: var(--thread-ui-colors-gray-main);
792
+ }
793
+
794
+ .thread-ui-button--color_success {
795
+ border-color: var(--thread-ui-colors-success-main);
796
+ background-color: var(--thread-ui-colors-success-main);
797
+ }
798
+
799
+ .thread-ui-button--color_success:is(:hover, [data-hover]) {
800
+ border-color: var(--thread-ui-colors-success-main);
801
+ background-color: var(--thread-ui-colors-background);
802
+ color: var(--thread-ui-colors-success-main);
803
+ }
804
+
805
+ .thread-ui-button--color_error {
806
+ border-color: var(--thread-ui-colors-error-main);
807
+ background-color: var(--thread-ui-colors-error-main);
808
+ }
809
+
810
+ .thread-ui-button--color_error:is(:hover, [data-hover]) {
811
+ border-color: var(--thread-ui-colors-error-main);
812
+ background-color: var(--thread-ui-colors-background);
813
+ color: var(--thread-ui-colors-error-main);
814
+ }
815
+
816
+ .thread-ui-button--color_info {
817
+ border-color: var(--thread-ui-colors-info-main);
818
+ background-color: var(--thread-ui-colors-info-main);
819
+ }
820
+
821
+ .thread-ui-button--color_info:is(:hover, [data-hover]) {
822
+ border-color: var(--thread-ui-colors-info-main);
823
+ background-color: var(--thread-ui-colors-background);
824
+ color: var(--thread-ui-colors-info-main);
825
+ }
826
+
827
+ .thread-ui-button--color_text {
828
+ border-color: var(--thread-ui-colors-text-standard);
829
+ background-color: var(--thread-ui-colors-text-standard);
830
+ }
831
+
832
+ .thread-ui-button--color_text:is(:hover, [data-hover]) {
833
+ border-color: var(--thread-ui-colors-text-standard);
834
+ background-color: var(--thread-ui-colors-background);
835
+ color: var(--thread-ui-colors-text-standard);
836
+ }
837
+
838
+ .thread-ui-button--size_sm {
839
+ padding: 4px;
840
+ font-size: 0.75rem;
841
+ }
842
+
843
+ .thread-ui-button--size_lg {
844
+ padding: 12px;
845
+ font-size: 1.25rem;
846
+ }
847
+
848
+ .thread-ui-button--fullWidth_true {
849
+ width: 100%;
850
+ }
851
+
852
+ .thread-ui-button--disabled_true {
853
+ opacity: 0.6;
854
+ cursor: not-allowed;
855
+ }
761
856
  }
762
857
 
763
858
  @layer thread-utilities{
764
859
 
860
+ .thread-ui-p_3 {
861
+ padding: var(--thread-ui-spacing-3);
862
+ }
863
+
765
864
  .thread-ui-m_auto {
766
865
  margin: auto;
767
866
  }
@@ -774,8 +873,8 @@
774
873
  padding: 0.5rem;
775
874
  }
776
875
 
777
- .thread-ui-p_16px {
778
- padding: 16px;
876
+ .thread-ui-p_4 {
877
+ padding: var(--thread-ui-spacing-4);
779
878
  }
780
879
 
781
880
  .thread-ui-p_5 {
@@ -790,10 +889,22 @@
790
889
  padding: 8px 16px;
791
890
  }
792
891
 
892
+ .thread-ui-p_16px {
893
+ padding: 16px;
894
+ }
895
+
793
896
  .thread-ui-bg_background {
794
897
  background: var(--thread-ui-colors-background);
795
898
  }
796
899
 
900
+ .thread-ui-bd-w_md {
901
+ border-width: var(--thread-ui-border-widths-md);
902
+ }
903
+
904
+ .thread-ui-bd-c_gray\.light {
905
+ border-color: var(--thread-ui-colors-gray-light);
906
+ }
907
+
797
908
  .thread-ui-px_16px {
798
909
  padding-inline: 16px;
799
910
  }
@@ -814,6 +925,10 @@
814
925
  border-color: var(--thread-ui-colors-structure);
815
926
  }
816
927
 
928
+ .thread-ui-bdr_md {
929
+ border-radius: var(--thread-ui-radii-md);
930
+ }
931
+
817
932
  .thread-ui-trs_colors {
818
933
  transition-property: var(--transition-prop, color, background-color, border-color, outline-color, text-decoration-color, fill, stroke);
819
934
  transition-timing-function: var(--transition-easing, cubic-bezier(0.4, 0, 0.2, 1));
@@ -852,28 +967,20 @@
852
967
  border-radius: 50%;
853
968
  }
854
969
 
855
- .thread-ui-bdr_4px {
856
- border-radius: 4px;
970
+ .thread-ui-bdr_sm {
971
+ border-radius: var(--thread-ui-radii-sm);
857
972
  }
858
973
 
859
974
  .thread-ui-mx_0 {
860
975
  margin-inline: var(--thread-ui-spacing-0);
861
976
  }
862
977
 
863
- .thread-ui-bdr_md {
864
- border-radius: var(--thread-ui-radii-md);
865
- }
866
-
867
- .thread-ui-bd-w_md {
868
- border-width: var(--thread-ui-border-widths-md);
869
- }
870
-
871
- .thread-ui-gap_8px {
872
- gap: 8px;
978
+ .thread-ui-gap_2 {
979
+ gap: var(--thread-ui-spacing-2);
873
980
  }
874
981
 
875
- .thread-ui-bdr_6px {
876
- border-radius: 6px;
982
+ .thread-ui-gap_3 {
983
+ gap: var(--thread-ui-spacing-3);
877
984
  }
878
985
 
879
986
  .thread-ui-gap_0\.5rem {
@@ -892,8 +999,8 @@
892
999
  gap: 0.75rem;
893
1000
  }
894
1001
 
895
- .thread-ui-gap_4px {
896
- gap: 4px;
1002
+ .thread-ui-gap_1 {
1003
+ gap: var(--thread-ui-spacing-1);
897
1004
  }
898
1005
 
899
1006
  .thread-ui-gap_24px {
@@ -904,10 +1011,6 @@
904
1011
  outline: 2px solid transparent;
905
1012
  }
906
1013
 
907
- .thread-ui-bdr_sm {
908
- border-radius: var(--thread-ui-radii-sm);
909
- }
910
-
911
1014
  .thread-ui-gap_16px {
912
1015
  gap: 16px;
913
1016
  }
@@ -924,8 +1027,12 @@
924
1027
  margin-block: 16px;
925
1028
  }
926
1029
 
927
- .thread-ui-gap_3rem {
928
- gap: 3rem;
1030
+ .thread-ui-gap_12 {
1031
+ gap: var(--thread-ui-spacing-12);
1032
+ }
1033
+
1034
+ .thread-ui-gap_8px {
1035
+ gap: 8px;
929
1036
  }
930
1037
 
931
1038
  .thread-ui-my_4px {
@@ -956,6 +1063,10 @@
956
1063
  transition: all 150ms ease-in-out;
957
1064
  }
958
1065
 
1066
+ .thread-ui-gap_4px {
1067
+ gap: 4px;
1068
+ }
1069
+
959
1070
  .thread-ui-d_flex {
960
1071
  display: flex;
961
1072
  }
@@ -984,14 +1095,47 @@
984
1095
  background-color: var(--thread-ui-colors-gray-light);
985
1096
  }
986
1097
 
987
- .thread-ui-resize_vertical {
988
- resize: vertical;
1098
+ .thread-ui-bdr-ss_lg {
1099
+ border-start-start-radius: var(--thread-ui-radii-lg);
1100
+ }
1101
+
1102
+ .thread-ui-bdr-es_lg {
1103
+ border-end-start-radius: var(--thread-ui-radii-lg);
1104
+ }
1105
+
1106
+ .thread-ui-bdr-se_lg {
1107
+ border-start-end-radius: var(--thread-ui-radii-lg);
1108
+ }
1109
+
1110
+ .thread-ui-bdr-ee_lg {
1111
+ border-end-end-radius: var(--thread-ui-radii-lg);
1112
+ }
1113
+
1114
+ .thread-ui-ta_center {
1115
+ text-align: center;
1116
+ }
1117
+
1118
+ .thread-ui-fs_sm {
1119
+ font-size: var(--thread-ui-font-sizes-sm);
1120
+ }
1121
+
1122
+ .thread-ui-ap_none {
1123
+ appearance: none;
1124
+ -webkit-appearance: none;
989
1125
  }
990
1126
 
991
1127
  .thread-ui-jc_center {
992
1128
  justify-content: center;
993
1129
  }
994
1130
 
1131
+ .thread-ui-as_start {
1132
+ align-self: start;
1133
+ }
1134
+
1135
+ .thread-ui-resize_vertical {
1136
+ resize: vertical;
1137
+ }
1138
+
995
1139
  .thread-ui-flex-d_row {
996
1140
  flex-direction: row;
997
1141
  }
@@ -1008,8 +1152,8 @@
1008
1152
  column-count: 2;
1009
1153
  }
1010
1154
 
1011
- .thread-ui-cg_8px {
1012
- column-gap: 8px;
1155
+ .thread-ui-cg_2 {
1156
+ column-gap: var(--thread-ui-spacing-2);
1013
1157
  }
1014
1158
 
1015
1159
  .thread-ui-d_inline-block {
@@ -1237,16 +1381,24 @@
1237
1381
  padding-bottom: 4px;
1238
1382
  }
1239
1383
 
1240
- .thread-ui-mb_8px {
1241
- margin-bottom: 8px;
1384
+ .thread-ui-mb_2 {
1385
+ margin-bottom: var(--thread-ui-spacing-2);
1386
+ }
1387
+
1388
+ .thread-ui-h_11 {
1389
+ height: var(--thread-ui-sizes-11);
1390
+ }
1391
+
1392
+ .thread-ui-w_16 {
1393
+ width: var(--thread-ui-sizes-16);
1242
1394
  }
1243
1395
 
1244
1396
  .thread-ui-w_auto {
1245
1397
  width: auto;
1246
1398
  }
1247
1399
 
1248
- .thread-ui-min-h_100px {
1249
- min-height: 100px;
1400
+ .thread-ui-min-h_25 {
1401
+ min-height: 25px;
1250
1402
  }
1251
1403
 
1252
1404
  .thread-ui-mr_auto {
@@ -1309,6 +1461,10 @@
1309
1461
  height: 48px;
1310
1462
  }
1311
1463
 
1464
+ .thread-ui-mt_2 {
1465
+ margin-top: var(--thread-ui-spacing-2);
1466
+ }
1467
+
1312
1468
  .thread-ui-h_100\% {
1313
1469
  height: 100%;
1314
1470
  }
@@ -1525,6 +1681,11 @@
1525
1681
  top: var(--thread-ui-spacing-0);
1526
1682
  }
1527
1683
 
1684
+ .\[\&\:\:-webkit-outer-spin-button\]\:thread-ui-ap_none::-webkit-outer-spin-button,.\[\&\:\:-webkit-inner-spin-button\]\:thread-ui-ap_none::-webkit-inner-spin-button {
1685
+ appearance: none;
1686
+ -webkit-appearance: none;
1687
+ }
1688
+
1528
1689
  .dark .dark\:thread-ui-bg-c_surface {
1529
1690
  background-color: var(--thread-ui-colors-surface);
1530
1691
  }
@@ -1533,10 +1694,22 @@
1533
1694
  outline: var(--thread-ui-borders-none);
1534
1695
  }
1535
1696
 
1697
+ .focus\:thread-ui-bd-c_blue\.500:is(:focus, [data-focus]) {
1698
+ border-color: var(--thread-ui-colors-blue-500);
1699
+ }
1700
+
1536
1701
  .focus\:thread-ui-bd-c_transparent:is(:focus, [data-focus]) {
1537
1702
  border-color: var(--thread-ui-colors-transparent);
1538
1703
  }
1539
1704
 
1705
+ .focus\:thread-ui-ring-c_gray\.100:is(:focus, [data-focus]) {
1706
+ outline-color: var(--thread-ui-colors-gray-100);
1707
+ }
1708
+
1709
+ .focus\:thread-ui-ring-c_blue\.500:is(:focus, [data-focus]) {
1710
+ outline-color: var(--thread-ui-colors-blue-500);
1711
+ }
1712
+
1540
1713
  .focus\:thread-ui-bx-sh_0_0_0_2px_\{colors\.blue\.500\}:is(:focus, [data-focus]) {
1541
1714
  box-shadow: 0 0 0 2px var(--thread-ui-colors-blue-500);
1542
1715
  }
@@ -1577,8 +1750,8 @@
1577
1750
  border-color: var(--thread-ui-colors-white);
1578
1751
  }
1579
1752
 
1580
- .hover\:thread-ui-bg-c_gray\.main:is(:hover, [data-hover]) {
1581
- background-color: var(--thread-ui-colors-gray-main);
1753
+ .hover\:thread-ui-bg-c_gray\.100:is(:hover, [data-hover]) {
1754
+ background-color: var(--thread-ui-colors-gray-100);
1582
1755
  }
1583
1756
 
1584
1757
  .hover\:thread-ui-bg-c_surface:is(:hover, [data-hover]) {
@@ -1601,6 +1774,10 @@
1601
1774
  background-color: var(--thread-ui-colors-tertiary-main);
1602
1775
  }
1603
1776
 
1777
+ .hover\:thread-ui-bg-c_gray\.main:is(:hover, [data-hover]) {
1778
+ background-color: var(--thread-ui-colors-gray-main);
1779
+ }
1780
+
1604
1781
  .hover\:thread-ui-bg-c_success\.main:is(:hover, [data-hover]) {
1605
1782
  background-color: var(--thread-ui-colors-success-main);
1606
1783
  }
@@ -1711,8 +1888,8 @@
1711
1888
  }
1712
1889
 
1713
1890
  @media screen and (min-width: 64rem) {
1714
- .lg\:thread-ui-p_24px {
1715
- padding: 24px;
1891
+ .lg\:thread-ui-p_6 {
1892
+ padding: var(--thread-ui-spacing-6);
1716
1893
  }
1717
1894
  .lg\:thread-ui-flex_none {
1718
1895
  flex: none;
@@ -1726,8 +1903,8 @@
1726
1903
  .lg\:thread-ui-border-style_none {
1727
1904
  border-style: none;
1728
1905
  }
1729
- .lg\:thread-ui-gap_1\.5rem {
1730
- gap: 1.5rem;
1906
+ .lg\:thread-ui-gap_6 {
1907
+ gap: var(--thread-ui-spacing-6);
1731
1908
  }
1732
1909
  .lg\:thread-ui-column-count_4 {
1733
1910
  column-count: 4;
@@ -1,4 +1,4 @@
1
- /* Custom Theme Implementation */
1
+ /* Thread Theme Implementation */
2
2
  :root {
3
3
  /* Generic Theme Elements */
4
4
  --thread-primary-light: #5a7d6a;
@@ -73,8 +73,21 @@
73
73
  --thread-text-inverted: var(--thread-text-inverted-light-mode);
74
74
  }
75
75
 
76
+ :root[data-theme='light'] {
77
+ /* Light Mode Color Override */
78
+ --thread-background: var(--thread-background-light-mode);
79
+ --thread-surface: var(--thread-surface-light-mode);
80
+ --thread-elevated: var(--thread-elevated-light-mode);
81
+ --thread-structure: var(--thread-structure-light-mode);
82
+ --thread-text-standard: var(--thread-text-standard-light-mode);
83
+ --thread-text-secondary: var(--thread-text-secondary-light-mode);
84
+ --thread-text-disabled: var(--thread-text-disabled-light-mode);
85
+ --thread-text-accent: var(--thread-text-accent-light-mode);
86
+ --thread-text-inverted: var(--thread-text-inverted-light-mode);
87
+ }
88
+
76
89
  :root[data-theme='dark'] {
77
- /* Apply Dark Mode Colors */
90
+ /* Dark Mode Color Override */
78
91
  --thread-background: var(--thread-background-dark-mode);
79
92
  --thread-surface: var(--thread-surface-dark-mode);
80
93
  --thread-elevated: var(--thread-elevated-dark-mode);
@@ -67,9 +67,9 @@ export const DefaultThreadTheme = {
67
67
  },
68
68
  // Sizing
69
69
  borderRadius: {
70
- sm: '0.25rem',
71
- md: '0.375rem',
72
- lg: '0.5rem',
70
+ sm: '0.25rem', // 4px
71
+ md: '0.375rem', // 6px
72
+ lg: '0.5rem', // 8px
73
73
  },
74
74
  borderSize: {
75
75
  sm: '1px',
@@ -1 +1 @@
1
- {"version":3,"file":"default-theme.js","sourceRoot":"","sources":["../../src/theme/default-theme.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IAClD,gBAAgB;IAChB,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,SAAS,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,QAAQ,EAAE;QACT,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,iBAAiB;IACjB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,gBAAgB;IAChB,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,KAAK,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,IAAI,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,4BAA4B;IAC5B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,yBAAyB;IACzB,IAAI,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS,EAAE,2BAA2B;QAC9C,QAAQ,EAAE,SAAS,EAAE,sCAAsC;KAC3D;IACD,YAAY;IACZ,WAAW,EAAE;QACZ,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,GAAG,EAAE,MAAM;KACX;IACD,SAAS;IACT,YAAY,EAAE;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,QAAQ;KACZ;IACD,UAAU,EAAE;QACX,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,KAAK;KACT;IACD,mBAAmB;IACnB,QAAQ,EAAE;QACT,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS,EAAE,2BAA2B;YAC9C,QAAQ,EAAE,SAAS,EAAE,uCAAuC;SAC5D;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"default-theme.js","sourceRoot":"","sources":["../../src/theme/default-theme.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IAClD,gBAAgB;IAChB,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,SAAS,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,QAAQ,EAAE;QACT,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,iBAAiB;IACjB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,gBAAgB;IAChB,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,KAAK,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,IAAI,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KACf;IACD,4BAA4B;IAC5B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,yBAAyB;IACzB,IAAI,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS,EAAE,2BAA2B;QAC9C,QAAQ,EAAE,SAAS,EAAE,sCAAsC;KAC3D;IACD,YAAY;IACZ,WAAW,EAAE;QACZ,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,GAAG,EAAE,MAAM;KACX;IACD,SAAS;IACT,YAAY,EAAE;QACb,EAAE,EAAE,SAAS,EAAE,MAAM;QACrB,EAAE,EAAE,UAAU,EAAE,MAAM;QACtB,EAAE,EAAE,QAAQ,EAAE,MAAM;KACpB;IACD,UAAU,EAAE;QACX,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,KAAK;KACT;IACD,mBAAmB;IACnB,QAAQ,EAAE;QACT,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS,EAAE,2BAA2B;YAC9C,QAAQ,EAAE,SAAS,EAAE,uCAAuC;SAC5D;KACD;CACD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ThemeConfig } from '../types';
2
+ /**
3
+ * Generates a CSS :root block containing only the variable declarations
4
+ * for values present in the provided ThemeConfig override.
5
+ */
6
+ export declare function generateOverrideCss(overrides: ThemeConfig): string;
7
+ //# sourceMappingURL=generate-override-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-override-css.d.ts","sourceRoot":"","sources":["../../src/theme/generate-override-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAC;AAOzD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CA+ClE"}
@@ -0,0 +1,66 @@
1
+ import { PrefixedDarkModeVariables, PrefixedLightModeVariables, ThemeCssVariableNames, } from '../theme/css-name-configurations/theme-css-names';
2
+ /**
3
+ * Generates a CSS :root block containing only the variable declarations
4
+ * for values present in the provided ThemeConfig override.
5
+ */
6
+ export function generateOverrideCss(overrides) {
7
+ const vars = [];
8
+ const lightModeKeySet = new Set(Object.keys(PrefixedLightModeVariables));
9
+ const overrideKeys = Object.keys(overrides);
10
+ overrideKeys.forEach((key) => {
11
+ if (key === 'darkMode')
12
+ return; // handled separately below
13
+ const overrideValue = overrides[key];
14
+ if (overrideValue === undefined)
15
+ return;
16
+ if (lightModeKeySet.has(key)) {
17
+ // ── Light mode surface / text keys ─────────────────────────────────
18
+ const variableName = PrefixedLightModeVariables[key];
19
+ collectVars(variableName, overrideValue, vars);
20
+ }
21
+ else {
22
+ // ── Generic keys (palette, breakpoints, sizing, etc.) ──────────────
23
+ // Cast to keyof Theme — darkMode and light mode keys are already
24
+ // excluded above, so the remaining keys are all valid Theme keys
25
+ const variableName = ThemeCssVariableNames[key];
26
+ if (!variableName)
27
+ return;
28
+ collectVars(variableName, overrideValue, vars);
29
+ }
30
+ });
31
+ // ── Dark mode keys ──────────────────────────────────────────────────────
32
+ if (overrides.darkMode) {
33
+ const darkModeKeys = Object.keys(overrides.darkMode);
34
+ darkModeKeys.forEach((key) => {
35
+ const overrideValue = overrides.darkMode[key];
36
+ if (overrideValue === undefined)
37
+ return;
38
+ const variableName = PrefixedDarkModeVariables[key];
39
+ if (!variableName)
40
+ return;
41
+ collectVars(variableName, overrideValue, vars);
42
+ });
43
+ }
44
+ if (vars.length === 0)
45
+ return '';
46
+ return `:root {\n${vars.join('\n')}\n}`;
47
+ }
48
+ /**
49
+ * Recursively collects CSS variable declarations.
50
+ */
51
+ function collectVars(variableNameOrMap, value, acc) {
52
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
53
+ // Nested object — recurse into each provided key
54
+ Object.keys(value).forEach((nestedKey) => {
55
+ const nestedVariableName = variableNameOrMap[nestedKey];
56
+ const nestedValue = value[nestedKey];
57
+ if (nestedVariableName !== undefined && nestedValue !== undefined) {
58
+ collectVars(nestedVariableName, nestedValue, acc);
59
+ }
60
+ });
61
+ }
62
+ else if (typeof value === 'string' && typeof variableNameOrMap === 'string') {
63
+ acc.push(` ${variableNameOrMap}: ${value};`);
64
+ }
65
+ }
66
+ //# sourceMappingURL=generate-override-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-override-css.js","sourceRoot":"","sources":["../../src/theme/generate-override-css.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export { ThreadTheme } from './thread-theme';
2
+ export { ThreadScript } from './thread-script';
3
+ export { ThemeProvider } from './theme-provider';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export { ThreadTheme } from './thread-theme';
2
+ export { ThreadScript } from './thread-script';
3
+ export { ThemeProvider } from './theme-provider';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type ThreadMode = 'light' | 'dark' | 'system';
2
+ export declare const THREAD_MODE_STORAGE_KEY: "thread-mode";
3
+ export declare const VALID_MODES: ThreadMode[];
4
+ export declare function isValidMode(value: unknown): value is ThreadMode;
5
+ export declare function applyModeToDocument(mode: ThreadMode): void;
6
+ //# sourceMappingURL=theme-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-mode.d.ts","sourceRoot":"","sources":["../../src/theme/theme-mode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAG,aAAsB,CAAC;AAE9D,eAAO,MAAM,WAAW,EAAE,UAAU,EAAgC,CAAC;AAErE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAQ1D"}
@@ -0,0 +1,17 @@
1
+ export const THREAD_MODE_STORAGE_KEY = 'thread-mode';
2
+ export const VALID_MODES = ['light', 'dark', 'system'];
3
+ export function isValidMode(value) {
4
+ return typeof value === 'string' && VALID_MODES.includes(value);
5
+ }
6
+ export function applyModeToDocument(mode) {
7
+ if (mode === 'dark') {
8
+ document.documentElement.setAttribute('data-theme', 'dark');
9
+ }
10
+ else if (mode === 'light') {
11
+ document.documentElement.setAttribute('data-theme', 'light');
12
+ }
13
+ else {
14
+ document.documentElement.removeAttribute('data-theme');
15
+ }
16
+ }
17
+ //# sourceMappingURL=theme-mode.js.map