@jacshuo/onyx 0.2.1 → 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.
Files changed (203) hide show
  1. package/README.md +154 -33
  2. package/README.zh-CN.md +745 -0
  3. package/dist/Accordion.cjs +1 -1
  4. package/dist/Accordion.d.cts +3 -1
  5. package/dist/Accordion.d.ts +3 -1
  6. package/dist/Accordion.js +1 -1
  7. package/dist/Alert.cjs +1 -1
  8. package/dist/Alert.js +1 -1
  9. package/dist/Badge.cjs +1 -1
  10. package/dist/Badge.d.cts +1 -1
  11. package/dist/Badge.d.ts +1 -1
  12. package/dist/Badge.js +1 -1
  13. package/dist/Button.cjs +1 -1
  14. package/dist/Button.js +1 -1
  15. package/dist/Card.cjs +1 -1
  16. package/dist/Card.d.cts +3 -1
  17. package/dist/Card.d.ts +3 -1
  18. package/dist/Card.js +1 -1
  19. package/dist/Checkbox.cjs +1 -1
  20. package/dist/Checkbox.js +1 -1
  21. package/dist/CodeBlock.cjs +1 -1
  22. package/dist/CodeBlock.js +1 -1
  23. package/dist/Dialog.cjs +1 -1
  24. package/dist/Dialog.d.cts +5 -2
  25. package/dist/Dialog.d.ts +5 -2
  26. package/dist/Dialog.js +1 -1
  27. package/dist/Dropdown.cjs +1 -1
  28. package/dist/Dropdown.d.cts +4 -0
  29. package/dist/Dropdown.d.ts +4 -0
  30. package/dist/Dropdown.js +1 -1
  31. package/dist/DropdownButton.cjs +1 -1
  32. package/dist/DropdownButton.d.cts +3 -1
  33. package/dist/DropdownButton.d.ts +3 -1
  34. package/dist/DropdownButton.js +1 -1
  35. package/dist/FileExplorer.cjs +1 -1
  36. package/dist/FileExplorer.js +1 -1
  37. package/dist/Form.cjs +1 -0
  38. package/dist/Form.d.cts +101 -0
  39. package/dist/Form.d.ts +101 -0
  40. package/dist/Form.js +1 -0
  41. package/dist/Header.cjs +1 -1
  42. package/dist/Header.d.cts +7 -1
  43. package/dist/Header.d.ts +7 -1
  44. package/dist/Header.js +1 -1
  45. package/dist/Indicator.cjs +1 -0
  46. package/dist/Indicator.d.cts +19 -0
  47. package/dist/Indicator.d.ts +19 -0
  48. package/dist/Indicator.js +1 -0
  49. package/dist/Input.cjs +1 -1
  50. package/dist/Input.js +1 -1
  51. package/dist/Label.cjs +1 -1
  52. package/dist/Label.js +1 -1
  53. package/dist/List.cjs +1 -1
  54. package/dist/List.d.cts +5 -2
  55. package/dist/List.d.ts +5 -2
  56. package/dist/List.js +1 -1
  57. package/dist/Masonry.cjs +1 -0
  58. package/dist/Masonry.d.cts +41 -0
  59. package/dist/Masonry.d.ts +41 -0
  60. package/dist/Masonry.js +1 -0
  61. package/dist/NavLink.cjs +1 -1
  62. package/dist/NavLink.js +1 -1
  63. package/dist/Panel.cjs +1 -1
  64. package/dist/Panel.js +1 -1
  65. package/dist/ProgressBar.cjs +1 -1
  66. package/dist/ProgressBar.js +1 -1
  67. package/dist/Radio.cjs +1 -1
  68. package/dist/Radio.d.cts +3 -1
  69. package/dist/Radio.d.ts +3 -1
  70. package/dist/Radio.js +1 -1
  71. package/dist/SideNav.cjs +1 -1
  72. package/dist/SideNav.d.cts +14 -1
  73. package/dist/SideNav.d.ts +14 -1
  74. package/dist/SideNav.js +1 -1
  75. package/dist/Spin.cjs +1 -1
  76. package/dist/Spin.js +1 -1
  77. package/dist/Switch.cjs +1 -1
  78. package/dist/Switch.js +1 -1
  79. package/dist/Table.cjs +1 -1
  80. package/dist/Table.d.cts +7 -3
  81. package/dist/Table.d.ts +7 -3
  82. package/dist/Table.js +1 -1
  83. package/dist/Tabs.cjs +1 -1
  84. package/dist/Tabs.d.cts +3 -1
  85. package/dist/Tabs.d.ts +3 -1
  86. package/dist/Tabs.js +1 -1
  87. package/dist/Tooltip.cjs +1 -1
  88. package/dist/Tooltip.d.cts +3 -1
  89. package/dist/Tooltip.d.ts +3 -1
  90. package/dist/Tooltip.js +1 -1
  91. package/dist/Tree.cjs +1 -1
  92. package/dist/Tree.d.cts +3 -1
  93. package/dist/Tree.d.ts +3 -1
  94. package/dist/Tree.js +1 -1
  95. package/dist/chunks/chunk-2JLNRAXS.cjs +1 -0
  96. package/dist/chunks/{chunk-GT56J65P.cjs → chunk-2KVAFCQI.cjs} +1 -1
  97. package/dist/chunks/chunk-3I7Y6FUJ.js +1 -0
  98. package/dist/chunks/chunk-47UMFXDG.js +1 -0
  99. package/dist/chunks/{chunk-GW4C7AV6.cjs → chunk-4D3XBPZX.cjs} +2 -2
  100. package/dist/chunks/{chunk-DCWKY33F.js → chunk-4VFV5U3S.js} +1 -1
  101. package/dist/chunks/{chunk-7DM4FEFY.js → chunk-5FUEJFGY.js} +1 -1
  102. package/dist/chunks/chunk-5XT6TJGF.js +1 -0
  103. package/dist/chunks/{chunk-SJ2HIDEM.cjs → chunk-6BI4QL37.cjs} +1 -1
  104. package/dist/chunks/{chunk-LCLJVRKK.cjs → chunk-6E5ARQBB.cjs} +1 -1
  105. package/dist/chunks/chunk-7CEOIZXK.js +1 -0
  106. package/dist/chunks/chunk-7XPIY2SQ.cjs +1 -0
  107. package/dist/chunks/chunk-A6HIQADJ.cjs +1 -0
  108. package/dist/chunks/{chunk-NFRGBE42.cjs → chunk-AEBULFON.cjs} +1 -1
  109. package/dist/chunks/chunk-AK5IK7ZD.js +1 -0
  110. package/dist/chunks/chunk-AN2R5URJ.js +1 -0
  111. package/dist/chunks/{chunk-3B5OL3PD.cjs → chunk-BTR2N5MO.cjs} +2 -2
  112. package/dist/chunks/{chunk-24YBOQFV.cjs → chunk-BUNOVZ23.cjs} +1 -1
  113. package/dist/chunks/chunk-CEEQE7SY.js +1 -0
  114. package/dist/chunks/chunk-CMHBPMXE.js +1 -0
  115. package/dist/chunks/chunk-DWYAPPDB.cjs +1 -0
  116. package/dist/chunks/chunk-E3DST3QD.cjs +1 -0
  117. package/dist/chunks/{chunk-PC4PVKTK.js → chunk-E4EMAZ6V.js} +2 -2
  118. package/dist/chunks/chunk-E5UKEXJE.js +1 -0
  119. package/dist/chunks/{chunk-A7SZGBY2.cjs → chunk-FDTREGBQ.cjs} +1 -1
  120. package/dist/chunks/chunk-FGUFBTKI.cjs +1 -0
  121. package/dist/chunks/{chunk-K4UGTWDR.js → chunk-FQZX67Z7.js} +1 -1
  122. package/dist/chunks/chunk-G2VO67XY.js +1 -0
  123. package/dist/chunks/{chunk-6DR7FZ4Y.js → chunk-GYFFUCBT.js} +1 -1
  124. package/dist/chunks/chunk-I425OSJL.js +1 -0
  125. package/dist/chunks/chunk-ICDAUJ2G.cjs +1 -0
  126. package/dist/chunks/chunk-IFRKP7M2.js +1 -0
  127. package/dist/chunks/chunk-IHBP6FI4.js +1 -0
  128. package/dist/chunks/{chunk-XOZYC6XB.cjs → chunk-IL5XDMUA.cjs} +1 -1
  129. package/dist/chunks/chunk-IRSGPS7D.cjs +1 -0
  130. package/dist/chunks/chunk-ITWFMFVO.js +1 -0
  131. package/dist/chunks/chunk-JJP23IOG.cjs +1 -0
  132. package/dist/chunks/chunk-JRYYWYGV.cjs +1 -0
  133. package/dist/chunks/chunk-KCIICUZN.cjs +1 -0
  134. package/dist/chunks/chunk-KGRBVUVK.cjs +1 -0
  135. package/dist/chunks/chunk-KY4NDB23.cjs +1 -0
  136. package/dist/chunks/chunk-KZBYFKOH.js +1 -0
  137. package/dist/chunks/chunk-LFJEIO3X.cjs +1 -0
  138. package/dist/chunks/chunk-NY27TTWN.js +1 -0
  139. package/dist/chunks/chunk-OEXZGLB4.js +1 -0
  140. package/dist/chunks/chunk-QC67HOC2.cjs +1 -0
  141. package/dist/chunks/chunk-QLFCH4TD.js +1 -0
  142. package/dist/chunks/chunk-RPBESM5F.cjs +1 -0
  143. package/dist/chunks/{chunk-KG3IXPCM.js → chunk-SC4PNYQT.js} +1 -1
  144. package/dist/chunks/chunk-SLHD7PST.cjs +1 -0
  145. package/dist/chunks/chunk-UEGTVAFV.cjs +1 -0
  146. package/dist/chunks/chunk-V34PT6H4.cjs +1 -0
  147. package/dist/chunks/chunk-VUWT3NFR.js +1 -0
  148. package/dist/chunks/{chunk-A7BECCRP.cjs → chunk-W5UXZVLS.cjs} +1 -1
  149. package/dist/chunks/chunk-WQOSJM7L.js +2 -0
  150. package/dist/chunks/chunk-WRPPKNRG.js +1 -0
  151. package/dist/chunks/chunk-XAOBJSFW.js +1 -0
  152. package/dist/chunks/{chunk-EQXC34N2.cjs → chunk-XK7SMEDO.cjs} +1 -1
  153. package/dist/chunks/chunk-XO6CNALX.js +1 -0
  154. package/dist/chunks/chunk-ZY7GZOBS.js +1 -0
  155. package/dist/index.cjs +1 -1
  156. package/dist/index.d.cts +4 -1
  157. package/dist/index.d.ts +4 -1
  158. package/dist/index.js +1 -1
  159. package/dist/styles/base.css +513 -8
  160. package/dist/styles/tokens.css +159 -0
  161. package/dist/styles.css +607 -8
  162. package/dist/theme.cjs +1 -1
  163. package/dist/theme.d.cts +32 -1
  164. package/dist/theme.d.ts +32 -1
  165. package/dist/theme.js +1 -1
  166. package/package.json +4 -4
  167. package/dist/chunks/chunk-2TTIBHQ3.js +0 -1
  168. package/dist/chunks/chunk-64BRBJ5M.js +0 -1
  169. package/dist/chunks/chunk-7PD2UMAG.cjs +0 -1
  170. package/dist/chunks/chunk-7QV2AV32.cjs +0 -1
  171. package/dist/chunks/chunk-BGUKKSPF.js +0 -1
  172. package/dist/chunks/chunk-GQDGQUKK.js +0 -1
  173. package/dist/chunks/chunk-H35HQKON.js +0 -2
  174. package/dist/chunks/chunk-H6MHL66N.js +0 -1
  175. package/dist/chunks/chunk-HFHOE2PH.cjs +0 -1
  176. package/dist/chunks/chunk-HR4MRHSX.js +0 -1
  177. package/dist/chunks/chunk-HSLG4VVI.cjs +0 -1
  178. package/dist/chunks/chunk-HSWWY3SE.cjs +0 -1
  179. package/dist/chunks/chunk-I327TE7P.js +0 -1
  180. package/dist/chunks/chunk-IPPWOV6D.js +0 -1
  181. package/dist/chunks/chunk-KVV5ZEYV.cjs +0 -1
  182. package/dist/chunks/chunk-LZZTFSBF.js +0 -1
  183. package/dist/chunks/chunk-MSBDCLPM.cjs +0 -1
  184. package/dist/chunks/chunk-MVGDKSBE.js +0 -1
  185. package/dist/chunks/chunk-NI2HVXR2.js +0 -1
  186. package/dist/chunks/chunk-NXWDOFPX.cjs +0 -1
  187. package/dist/chunks/chunk-NYTZZ5ZX.cjs +0 -1
  188. package/dist/chunks/chunk-OMBYGQJE.cjs +0 -1
  189. package/dist/chunks/chunk-P652JDOU.cjs +0 -1
  190. package/dist/chunks/chunk-Q53OOZJ3.cjs +0 -1
  191. package/dist/chunks/chunk-R7ZKMSZ3.js +0 -1
  192. package/dist/chunks/chunk-SCSMM2J4.js +0 -1
  193. package/dist/chunks/chunk-SKZIAHHY.cjs +0 -1
  194. package/dist/chunks/chunk-T3WU6A7R.js +0 -1
  195. package/dist/chunks/chunk-VHOOZBWZ.js +0 -1
  196. package/dist/chunks/chunk-W2JIAB3E.js +0 -1
  197. package/dist/chunks/chunk-WL4AMFUA.cjs +0 -1
  198. package/dist/chunks/chunk-WQA7PVJO.js +0 -1
  199. package/dist/chunks/chunk-X3PUHNVJ.js +0 -1
  200. package/dist/chunks/chunk-X4OS5ODF.cjs +0 -1
  201. package/dist/chunks/chunk-XOO3AGIT.js +0 -1
  202. package/dist/chunks/chunk-YWD2VK35.js +0 -1
  203. package/dist/chunks/chunk-ZEHGTD6Y.cjs +0 -1
package/dist/styles.css CHANGED
@@ -114,6 +114,7 @@
114
114
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
115
115
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
116
116
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
117
+ --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
117
118
  --blur-sm: 8px;
118
119
  --blur-md: 12px;
119
120
  --blur-xl: 24px;
@@ -175,6 +176,10 @@
175
176
  --color-warning-900: var(--color-orange-900);
176
177
  --animate-fade-in: fade-in 150ms ease-out;
177
178
  --animate-scale-in: scale-in 200ms ease-out;
179
+ --animate-dropdown-item-in: dropdown-item-in 200ms ease-out both;
180
+ --animate-dropdown-item-out: dropdown-item-out 150ms ease-in both;
181
+ --animate-dropdown-container-in: dropdown-container-in 150ms ease-out both;
182
+ --animate-dropdown-container-out: dropdown-container-out 120ms ease-in both;
178
183
  --animate-slide-in-right: slide-in-right 300ms ease-out;
179
184
  --animate-slide-in-left: slide-in-left 300ms ease-out;
180
185
  --animate-slide-in-top: slide-in-top 300ms ease-out;
@@ -463,6 +468,9 @@
463
468
  .bottom-4 {
464
469
  bottom: calc(var(--spacing) * 4);
465
470
  }
471
+ .bottom-5 {
472
+ bottom: calc(var(--spacing) * 5);
473
+ }
466
474
  .bottom-8 {
467
475
  bottom: calc(var(--spacing) * 8);
468
476
  }
@@ -526,6 +534,9 @@
526
534
  .z-20 {
527
535
  z-index: 20;
528
536
  }
537
+ .z-40 {
538
+ z-index: 40;
539
+ }
529
540
  .z-50 {
530
541
  z-index: 50;
531
542
  }
@@ -535,6 +546,9 @@
535
546
  .z-200 {
536
547
  z-index: 200;
537
548
  }
549
+ .z-9999 {
550
+ z-index: 9999;
551
+ }
538
552
  .container {
539
553
  width: 100%;
540
554
  @media (width >= 40rem) {
@@ -568,6 +582,9 @@
568
582
  .my-1 {
569
583
  margin-block: calc(var(--spacing) * 1);
570
584
  }
585
+ .mt-\(--form-footer-pt\) {
586
+ margin-top: var(--form-footer-pt);
587
+ }
571
588
  .mt-0\.5 {
572
589
  margin-top: calc(var(--spacing) * 0.5);
573
590
  }
@@ -595,6 +612,9 @@
595
612
  .mr-2 {
596
613
  margin-right: calc(var(--spacing) * 2);
597
614
  }
615
+ .mb-\(--form-header-mb\) {
616
+ margin-bottom: var(--form-header-mb);
617
+ }
598
618
  .mb-0\.5 {
599
619
  margin-bottom: calc(var(--spacing) * 0.5);
600
620
  }
@@ -736,9 +756,15 @@
736
756
  .h-40 {
737
757
  height: calc(var(--spacing) * 40);
738
758
  }
759
+ .h-48 {
760
+ height: calc(var(--spacing) * 48);
761
+ }
739
762
  .h-72 {
740
763
  height: calc(var(--spacing) * 72);
741
764
  }
765
+ .h-80 {
766
+ height: calc(var(--spacing) * 80);
767
+ }
742
768
  .h-85 {
743
769
  height: calc(var(--spacing) * 85);
744
770
  }
@@ -763,6 +789,9 @@
763
789
  .max-h-60 {
764
790
  max-height: calc(var(--spacing) * 60);
765
791
  }
792
+ .max-h-\[85vh\] {
793
+ max-height: 85vh;
794
+ }
766
795
  .max-h-full {
767
796
  max-height: 100%;
768
797
  }
@@ -847,6 +876,9 @@
847
876
  .w-20 {
848
877
  width: calc(var(--spacing) * 20);
849
878
  }
879
+ .w-44 {
880
+ width: calc(var(--spacing) * 44);
881
+ }
850
882
  .w-48 {
851
883
  width: calc(var(--spacing) * 48);
852
884
  }
@@ -892,6 +924,9 @@
892
924
  .max-w-\[75\%\] {
893
925
  max-width: 75%;
894
926
  }
927
+ .max-w-\[calc\(100vw-2rem\)\] {
928
+ max-width: calc(100vw - 2rem);
929
+ }
895
930
  .max-w-full {
896
931
  max-width: 100%;
897
932
  }
@@ -901,6 +936,9 @@
901
936
  .max-w-md {
902
937
  max-width: var(--container-md);
903
938
  }
939
+ .max-w-prose {
940
+ max-width: 65ch;
941
+ }
904
942
  .max-w-sm {
905
943
  max-width: var(--container-sm);
906
944
  }
@@ -913,6 +951,15 @@
913
951
  .min-w-0 {
914
952
  min-width: calc(var(--spacing) * 0);
915
953
  }
954
+ .min-w-4 {
955
+ min-width: calc(var(--spacing) * 4);
956
+ }
957
+ .min-w-5 {
958
+ min-width: calc(var(--spacing) * 5);
959
+ }
960
+ .min-w-6 {
961
+ min-width: calc(var(--spacing) * 6);
962
+ }
916
963
  .min-w-9 {
917
964
  min-width: calc(var(--spacing) * 9);
918
965
  }
@@ -938,10 +985,22 @@
938
985
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
939
986
  translate: var(--tw-translate-x) var(--tw-translate-y);
940
987
  }
988
+ .-translate-x-full {
989
+ --tw-translate-x: -100%;
990
+ translate: var(--tw-translate-x) var(--tw-translate-y);
991
+ }
992
+ .translate-x-0 {
993
+ --tw-translate-x: calc(var(--spacing) * 0);
994
+ translate: var(--tw-translate-x) var(--tw-translate-y);
995
+ }
941
996
  .translate-x-0\.5 {
942
997
  --tw-translate-x: calc(var(--spacing) * 0.5);
943
998
  translate: var(--tw-translate-x) var(--tw-translate-y);
944
999
  }
1000
+ .translate-x-1\/2 {
1001
+ --tw-translate-x: calc(1 / 2 * 100%);
1002
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1003
+ }
945
1004
  .translate-x-px {
946
1005
  --tw-translate-x: 1px;
947
1006
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -954,6 +1013,10 @@
954
1013
  --tw-translate-y: calc(var(--spacing) * 0);
955
1014
  translate: var(--tw-translate-x) var(--tw-translate-y);
956
1015
  }
1016
+ .translate-y-1\/2 {
1017
+ --tw-translate-y: calc(1 / 2 * 100%);
1018
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1019
+ }
957
1020
  .translate-y-2 {
958
1021
  --tw-translate-y: calc(var(--spacing) * 2);
959
1022
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1017,6 +1080,9 @@
1017
1080
  .animate-fade-in {
1018
1081
  animation: var(--animate-fade-in);
1019
1082
  }
1083
+ .animate-ping {
1084
+ animation: var(--animate-ping);
1085
+ }
1020
1086
  .animate-progress-indeterminate {
1021
1087
  animation: var(--animate-progress-indeterminate);
1022
1088
  }
@@ -1125,6 +1191,21 @@
1125
1191
  .justify-end {
1126
1192
  justify-content: flex-end;
1127
1193
  }
1194
+ .gap-\(--form-footer-gap\) {
1195
+ gap: var(--form-footer-gap);
1196
+ }
1197
+ .gap-\(--form-item-gap-md\) {
1198
+ gap: var(--form-item-gap-md);
1199
+ }
1200
+ .gap-\(--form-row-gap-lg\) {
1201
+ gap: var(--form-row-gap-lg);
1202
+ }
1203
+ .gap-\(--form-row-gap-md\) {
1204
+ gap: var(--form-row-gap-md);
1205
+ }
1206
+ .gap-\(--form-row-gap-sm\) {
1207
+ gap: var(--form-row-gap-sm);
1208
+ }
1128
1209
  .gap-0\.5 {
1129
1210
  gap: calc(var(--spacing) * 0.5);
1130
1211
  }
@@ -1155,6 +1236,9 @@
1155
1236
  .gap-8 {
1156
1237
  gap: calc(var(--spacing) * 8);
1157
1238
  }
1239
+ .gap-10 {
1240
+ gap: calc(var(--spacing) * 10);
1241
+ }
1158
1242
  .gap-px {
1159
1243
  gap: 1px;
1160
1244
  }
@@ -1207,6 +1291,13 @@
1207
1291
  margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
1208
1292
  }
1209
1293
  }
1294
+ .space-y-6 {
1295
+ :where(& > :not(:last-child)) {
1296
+ --tw-space-y-reverse: 0;
1297
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
1298
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1299
+ }
1300
+ }
1210
1301
  .space-y-8 {
1211
1302
  :where(& > :not(:last-child)) {
1212
1303
  --tw-space-y-reverse: 0;
@@ -1290,12 +1381,18 @@
1290
1381
  .overflow-y-auto {
1291
1382
  overflow-y: auto;
1292
1383
  }
1384
+ .overscroll-y-contain {
1385
+ overscroll-behavior-y: contain;
1386
+ }
1293
1387
  .scroll-smooth {
1294
1388
  scroll-behavior: smooth;
1295
1389
  }
1296
1390
  .rounded {
1297
1391
  border-radius: 0.25rem;
1298
1392
  }
1393
+ .rounded-\(--form-radius\) {
1394
+ border-radius: var(--form-radius);
1395
+ }
1299
1396
  .rounded-2xl {
1300
1397
  border-radius: var(--radius-2xl);
1301
1398
  }
@@ -1329,6 +1426,14 @@
1329
1426
  .rounded-xs {
1330
1427
  border-radius: var(--radius-xs);
1331
1428
  }
1429
+ .rounded-t-\[var\(--dialog-sheet-radius\)\] {
1430
+ border-top-left-radius: var(--dialog-sheet-radius);
1431
+ border-top-right-radius: var(--dialog-sheet-radius);
1432
+ }
1433
+ .rounded-t-lg {
1434
+ border-top-left-radius: var(--radius-lg);
1435
+ border-top-right-radius: var(--radius-lg);
1436
+ }
1332
1437
  .rounded-l-2xl {
1333
1438
  border-top-left-radius: var(--radius-2xl);
1334
1439
  border-bottom-left-radius: var(--radius-2xl);
@@ -1359,6 +1464,13 @@
1359
1464
  .rounded-tr-sm {
1360
1465
  border-top-right-radius: var(--radius-sm);
1361
1466
  }
1467
+ .rounded-b-none {
1468
+ border-bottom-right-radius: 0;
1469
+ border-bottom-left-radius: 0;
1470
+ }
1471
+ .rounded-bl-lg {
1472
+ border-bottom-left-radius: var(--radius-lg);
1473
+ }
1362
1474
  .border {
1363
1475
  border-style: var(--tw-border-style);
1364
1476
  border-width: 1px;
@@ -1592,6 +1704,9 @@
1592
1704
  .bg-primary-600 {
1593
1705
  background-color: var(--color-primary-600);
1594
1706
  }
1707
+ .bg-primary-800 {
1708
+ background-color: var(--color-primary-800);
1709
+ }
1595
1710
  .bg-primary-900 {
1596
1711
  background-color: var(--color-primary-900);
1597
1712
  }
@@ -1785,6 +1900,9 @@
1785
1900
  .px-6 {
1786
1901
  padding-inline: calc(var(--spacing) * 6);
1787
1902
  }
1903
+ .py-0 {
1904
+ padding-block: calc(var(--spacing) * 0);
1905
+ }
1788
1906
  .py-0\.5 {
1789
1907
  padding-block: calc(var(--spacing) * 0.5);
1790
1908
  }
@@ -1809,12 +1927,18 @@
1809
1927
  .py-16 {
1810
1928
  padding-block: calc(var(--spacing) * 16);
1811
1929
  }
1930
+ .pt-\(--form-footer-pt\) {
1931
+ padding-top: var(--form-footer-pt);
1932
+ }
1812
1933
  .pt-0\.5 {
1813
1934
  padding-top: calc(var(--spacing) * 0.5);
1814
1935
  }
1815
1936
  .pt-1 {
1816
1937
  padding-top: calc(var(--spacing) * 1);
1817
1938
  }
1939
+ .pt-1\.75 {
1940
+ padding-top: calc(var(--spacing) * 1.75);
1941
+ }
1818
1942
  .pt-4 {
1819
1943
  padding-top: calc(var(--spacing) * 4);
1820
1944
  }
@@ -1848,15 +1972,27 @@
1848
1972
  .pr-\[28px\] {
1849
1973
  padding-right: 28px;
1850
1974
  }
1975
+ .pb-1 {
1976
+ padding-bottom: calc(var(--spacing) * 1);
1977
+ }
1851
1978
  .pb-1\.5 {
1852
1979
  padding-bottom: calc(var(--spacing) * 1.5);
1853
1980
  }
1981
+ .pb-2 {
1982
+ padding-bottom: calc(var(--spacing) * 2);
1983
+ }
1854
1984
  .pb-3 {
1855
1985
  padding-bottom: calc(var(--spacing) * 3);
1856
1986
  }
1987
+ .pb-4 {
1988
+ padding-bottom: calc(var(--spacing) * 4);
1989
+ }
1857
1990
  .pb-8 {
1858
1991
  padding-bottom: calc(var(--spacing) * 8);
1859
1992
  }
1993
+ .pb-20 {
1994
+ padding-bottom: calc(var(--spacing) * 20);
1995
+ }
1860
1996
  .pb-24 {
1861
1997
  padding-bottom: calc(var(--spacing) * 24);
1862
1998
  }
@@ -1914,6 +2050,12 @@
1914
2050
  font-size: var(--text-xs);
1915
2051
  line-height: var(--tw-leading, var(--text-xs--line-height));
1916
2052
  }
2053
+ .text-\[0\.5rem\] {
2054
+ font-size: 0.5rem;
2055
+ }
2056
+ .text-\[0\.625rem\] {
2057
+ font-size: 0.625rem;
2058
+ }
1917
2059
  .text-\[8px\] {
1918
2060
  font-size: 8px;
1919
2061
  }
@@ -1977,6 +2119,9 @@
1977
2119
  .break-all {
1978
2120
  word-break: break-all;
1979
2121
  }
2122
+ .whitespace-normal {
2123
+ white-space: normal;
2124
+ }
1980
2125
  .whitespace-nowrap {
1981
2126
  white-space: nowrap;
1982
2127
  }
@@ -2037,6 +2182,9 @@
2037
2182
  .text-danger-800 {
2038
2183
  color: var(--color-danger-800);
2039
2184
  }
2185
+ .text-emerald-500 {
2186
+ color: var(--color-emerald-500);
2187
+ }
2040
2188
  .text-gray-500 {
2041
2189
  color: var(--color-gray-500);
2042
2190
  }
@@ -2097,21 +2245,33 @@
2097
2245
  .text-success-100 {
2098
2246
  color: var(--color-success-100);
2099
2247
  }
2248
+ .text-success-500 {
2249
+ color: var(--color-success-500);
2250
+ }
2100
2251
  .text-success-600 {
2101
2252
  color: var(--color-success-600);
2102
2253
  }
2254
+ .text-success-700 {
2255
+ color: var(--color-success-700);
2256
+ }
2103
2257
  .text-success-800 {
2104
2258
  color: var(--color-success-800);
2105
2259
  }
2106
2260
  .text-transparent {
2107
2261
  color: transparent;
2108
2262
  }
2263
+ .text-violet-500 {
2264
+ color: var(--color-violet-500);
2265
+ }
2109
2266
  .text-warning-100 {
2110
2267
  color: var(--color-warning-100);
2111
2268
  }
2112
2269
  .text-warning-500 {
2113
2270
  color: var(--color-warning-500);
2114
2271
  }
2272
+ .text-warning-600 {
2273
+ color: var(--color-warning-600);
2274
+ }
2115
2275
  .text-warning-800 {
2116
2276
  color: var(--color-warning-800);
2117
2277
  }
@@ -2256,6 +2416,9 @@
2256
2416
  .ring-primary-400 {
2257
2417
  --tw-ring-color: var(--color-primary-400);
2258
2418
  }
2419
+ .ring-white {
2420
+ --tw-ring-color: var(--color-white);
2421
+ }
2259
2422
  .ring-white\/10 {
2260
2423
  --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);
2261
2424
  @supports (color: color-mix(in lab, red, red)) {
@@ -2663,6 +2826,13 @@
2663
2826
  }
2664
2827
  }
2665
2828
  }
2829
+ .hover\:bg-primary-700 {
2830
+ &:hover {
2831
+ @media (hover: hover) {
2832
+ background-color: var(--color-primary-700);
2833
+ }
2834
+ }
2835
+ }
2666
2836
  .hover\:bg-red-500\/40\! {
2667
2837
  &:hover {
2668
2838
  @media (hover: hover) {
@@ -2711,6 +2881,16 @@
2711
2881
  }
2712
2882
  }
2713
2883
  }
2884
+ .hover\:bg-white\/30 {
2885
+ &:hover {
2886
+ @media (hover: hover) {
2887
+ background-color: color-mix(in srgb, #fff 30%, transparent);
2888
+ @supports (color: color-mix(in lab, red, red)) {
2889
+ background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
2890
+ }
2891
+ }
2892
+ }
2893
+ }
2714
2894
  .hover\:text-\(--cp-text-strong\) {
2715
2895
  &:hover {
2716
2896
  @media (hover: hover) {
@@ -3045,6 +3225,21 @@
3045
3225
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3046
3226
  }
3047
3227
  }
3228
+ .sm\:table-cell {
3229
+ @media (width >= 40rem) {
3230
+ display: table-cell;
3231
+ }
3232
+ }
3233
+ .sm\:h-auto {
3234
+ @media (width >= 40rem) {
3235
+ height: auto;
3236
+ }
3237
+ }
3238
+ .sm\:w-auto {
3239
+ @media (width >= 40rem) {
3240
+ width: auto;
3241
+ }
3242
+ }
3048
3243
  .sm\:grid-cols-2 {
3049
3244
  @media (width >= 40rem) {
3050
3245
  grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -3060,11 +3255,41 @@
3060
3255
  grid-template-columns: repeat(4, minmax(0, 1fr));
3061
3256
  }
3062
3257
  }
3258
+ .sm\:flex-row {
3259
+ @media (width >= 40rem) {
3260
+ flex-direction: row;
3261
+ }
3262
+ }
3263
+ .sm\:p-6 {
3264
+ @media (width >= 40rem) {
3265
+ padding: calc(var(--spacing) * 6);
3266
+ }
3267
+ }
3268
+ .sm\:pb-20 {
3269
+ @media (width >= 40rem) {
3270
+ padding-bottom: calc(var(--spacing) * 20);
3271
+ }
3272
+ }
3063
3273
  .md\:block {
3064
3274
  @media (width >= 48rem) {
3065
3275
  display: block;
3066
3276
  }
3067
3277
  }
3278
+ .md\:flex {
3279
+ @media (width >= 48rem) {
3280
+ display: flex;
3281
+ }
3282
+ }
3283
+ .md\:hidden {
3284
+ @media (width >= 48rem) {
3285
+ display: none;
3286
+ }
3287
+ }
3288
+ .md\:table-cell {
3289
+ @media (width >= 48rem) {
3290
+ display: table-cell;
3291
+ }
3292
+ }
3068
3293
  .md\:grid-cols-4 {
3069
3294
  @media (width >= 48rem) {
3070
3295
  grid-template-columns: repeat(4, minmax(0, 1fr));
@@ -3075,11 +3300,41 @@
3075
3300
  grid-template-columns: repeat(5, minmax(0, 1fr));
3076
3301
  }
3077
3302
  }
3303
+ .md\:flex-row {
3304
+ @media (width >= 48rem) {
3305
+ flex-direction: row;
3306
+ }
3307
+ }
3308
+ .md\:items-start {
3309
+ @media (width >= 48rem) {
3310
+ align-items: flex-start;
3311
+ }
3312
+ }
3313
+ .md\:gap-\(--form-item-gap-md\) {
3314
+ @media (width >= 48rem) {
3315
+ gap: var(--form-item-gap-md);
3316
+ }
3317
+ }
3318
+ .md\:gap-6 {
3319
+ @media (width >= 48rem) {
3320
+ gap: calc(var(--spacing) * 6);
3321
+ }
3322
+ }
3323
+ .md\:p-8 {
3324
+ @media (width >= 48rem) {
3325
+ padding: calc(var(--spacing) * 8);
3326
+ }
3327
+ }
3078
3328
  .lg\:inline {
3079
3329
  @media (width >= 64rem) {
3080
3330
  display: inline;
3081
3331
  }
3082
3332
  }
3333
+ .lg\:table-cell {
3334
+ @media (width >= 64rem) {
3335
+ display: table-cell;
3336
+ }
3337
+ }
3083
3338
  .lg\:grid-cols-2 {
3084
3339
  @media (width >= 64rem) {
3085
3340
  grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -3090,11 +3345,6 @@
3090
3345
  grid-template-columns: repeat(3, minmax(0, 1fr));
3091
3346
  }
3092
3347
  }
3093
- .lg\:grid-cols-4 {
3094
- @media (width >= 64rem) {
3095
- grid-template-columns: repeat(4, minmax(0, 1fr));
3096
- }
3097
- }
3098
3348
  .lg\:grid-cols-6 {
3099
3349
  @media (width >= 64rem) {
3100
3350
  grid-template-columns: repeat(6, minmax(0, 1fr));
@@ -3419,6 +3669,11 @@
3419
3669
  color: var(--color-primary-500);
3420
3670
  }
3421
3671
  }
3672
+ .dark\:text-primary-600 {
3673
+ &:where(.dark, .dark *) {
3674
+ color: var(--color-primary-600);
3675
+ }
3676
+ }
3422
3677
  .dark\:text-primary-900 {
3423
3678
  &:where(.dark, .dark *) {
3424
3679
  color: var(--color-primary-900);
@@ -3482,6 +3737,11 @@
3482
3737
  }
3483
3738
  }
3484
3739
  }
3740
+ .dark\:ring-primary-900 {
3741
+ &:where(.dark, .dark *) {
3742
+ --tw-ring-color: var(--color-primary-900);
3743
+ }
3744
+ }
3485
3745
  .dark\:placeholder\:text-secondary-600 {
3486
3746
  &:where(.dark, .dark *) {
3487
3747
  &::placeholder {
@@ -3513,6 +3773,15 @@
3513
3773
  }
3514
3774
  }
3515
3775
  }
3776
+ .dark\:hover\:bg-primary-200 {
3777
+ &:where(.dark, .dark *) {
3778
+ &:hover {
3779
+ @media (hover: hover) {
3780
+ background-color: var(--color-primary-200);
3781
+ }
3782
+ }
3783
+ }
3784
+ }
3516
3785
  .dark\:hover\:bg-primary-600 {
3517
3786
  &:where(.dark, .dark *) {
3518
3787
  &:hover {
@@ -3787,6 +4056,11 @@
3787
4056
  padding: calc(var(--spacing) * 4);
3788
4057
  }
3789
4058
  }
4059
+ .\[\&_svg\]\:h-2\.5 {
4060
+ & svg {
4061
+ height: calc(var(--spacing) * 2.5);
4062
+ }
4063
+ }
3790
4064
  .\[\&_svg\]\:h-3 {
3791
4065
  & svg {
3792
4066
  height: calc(var(--spacing) * 3);
@@ -3807,6 +4081,11 @@
3807
4081
  height: calc(var(--spacing) * 5);
3808
4082
  }
3809
4083
  }
4084
+ .\[\&_svg\]\:w-2\.5 {
4085
+ & svg {
4086
+ width: calc(var(--spacing) * 2.5);
4087
+ }
4088
+ }
3810
4089
  .\[\&_svg\]\:w-3 {
3811
4090
  & svg {
3812
4091
  width: calc(var(--spacing) * 3);
@@ -3858,6 +4137,26 @@
3858
4137
  border-color: var(--color-primary-200);
3859
4138
  }
3860
4139
  }
4140
+ .\[\&_td\]\:px-2 {
4141
+ & td {
4142
+ padding-inline: calc(var(--spacing) * 2);
4143
+ }
4144
+ }
4145
+ .\[\&_td\]\:px-6 {
4146
+ & td {
4147
+ padding-inline: calc(var(--spacing) * 6);
4148
+ }
4149
+ }
4150
+ .\[\&_td\]\:py-1 {
4151
+ & td {
4152
+ padding-block: calc(var(--spacing) * 1);
4153
+ }
4154
+ }
4155
+ .\[\&_td\]\:py-5 {
4156
+ & td {
4157
+ padding-block: calc(var(--spacing) * 5);
4158
+ }
4159
+ }
3861
4160
  .dark\:\[\&_td\]\:border-primary-700 {
3862
4161
  &:where(.dark, .dark *) {
3863
4162
  & td {
@@ -3876,6 +4175,26 @@
3876
4175
  border-color: var(--color-primary-200);
3877
4176
  }
3878
4177
  }
4178
+ .\[\&_th\]\:px-2 {
4179
+ & th {
4180
+ padding-inline: calc(var(--spacing) * 2);
4181
+ }
4182
+ }
4183
+ .\[\&_th\]\:px-6 {
4184
+ & th {
4185
+ padding-inline: calc(var(--spacing) * 6);
4186
+ }
4187
+ }
4188
+ .\[\&_th\]\:py-1 {
4189
+ & th {
4190
+ padding-block: calc(var(--spacing) * 1);
4191
+ }
4192
+ }
4193
+ .\[\&_th\]\:py-5 {
4194
+ & th {
4195
+ padding-block: calc(var(--spacing) * 5);
4196
+ }
4197
+ }
3879
4198
  .dark\:\[\&_th\]\:border-primary-700 {
3880
4199
  &:where(.dark, .dark *) {
3881
4200
  & th {
@@ -3931,9 +4250,44 @@
3931
4250
  }
3932
4251
  }
3933
4252
  }
3934
- .\[\&\>svg\]\:shrink-0 {
3935
- &>svg {
3936
- flex-shrink: 0;
4253
+ .\[\@media\(hover\:none\)\]\:opacity-100 {
4254
+ @media (hover:none) {
4255
+ opacity: 100%;
4256
+ }
4257
+ }
4258
+ .\[\@media\(hover\:none\)\]\:\[\&\>button\]\:flex {
4259
+ @media (hover:none) {
4260
+ &>button {
4261
+ display: flex;
4262
+ }
4263
+ }
4264
+ }
4265
+ .\[\@media\(hover\:none\)\]\:\[\&\>button\]\:min-h-\(--row-action-touch-min\) {
4266
+ @media (hover:none) {
4267
+ &>button {
4268
+ min-height: var(--row-action-touch-min);
4269
+ }
4270
+ }
4271
+ }
4272
+ .\[\@media\(hover\:none\)\]\:\[\&\>button\]\:min-w-\(--row-action-touch-min\) {
4273
+ @media (hover:none) {
4274
+ &>button {
4275
+ min-width: var(--row-action-touch-min);
4276
+ }
4277
+ }
4278
+ }
4279
+ .\[\@media\(hover\:none\)\]\:\[\&\>button\]\:items-center {
4280
+ @media (hover:none) {
4281
+ &>button {
4282
+ align-items: center;
4283
+ }
4284
+ }
4285
+ }
4286
+ .\[\@media\(hover\:none\)\]\:\[\&\>button\]\:justify-center {
4287
+ @media (hover:none) {
4288
+ &>button {
4289
+ justify-content: center;
4290
+ }
3937
4291
  }
3938
4292
  }
3939
4293
  }
@@ -3970,6 +4324,54 @@
3970
4324
  transform: scale(1);
3971
4325
  }
3972
4326
  }
4327
+ @keyframes dropdown-item-in {
4328
+ from {
4329
+ opacity: 0;
4330
+ transform: perspective(400px) rotateX(-50deg);
4331
+ transform-origin: top center;
4332
+ }
4333
+ to {
4334
+ opacity: 1;
4335
+ transform: perspective(400px) rotateX(0deg);
4336
+ transform-origin: top center;
4337
+ }
4338
+ }
4339
+ @keyframes dropdown-item-out {
4340
+ from {
4341
+ opacity: 1;
4342
+ transform: perspective(400px) rotateX(0deg);
4343
+ transform-origin: top center;
4344
+ }
4345
+ to {
4346
+ opacity: 0;
4347
+ transform: perspective(400px) rotateX(-50deg);
4348
+ transform-origin: top center;
4349
+ }
4350
+ }
4351
+ @keyframes dropdown-container-in {
4352
+ from {
4353
+ opacity: 0;
4354
+ transform: scaleY(0.96);
4355
+ transform-origin: top center;
4356
+ }
4357
+ to {
4358
+ opacity: 1;
4359
+ transform: scaleY(1);
4360
+ transform-origin: top center;
4361
+ }
4362
+ }
4363
+ @keyframes dropdown-container-out {
4364
+ from {
4365
+ opacity: 1;
4366
+ transform: scaleY(1);
4367
+ transform-origin: top center;
4368
+ }
4369
+ to {
4370
+ opacity: 0;
4371
+ transform: scaleY(0.96);
4372
+ transform-origin: top center;
4373
+ }
4374
+ }
3973
4375
  @keyframes slide-in-right {
3974
4376
  from {
3975
4377
  opacity: 0;
@@ -4064,6 +4466,103 @@
4064
4466
  background-image: none;
4065
4467
  }
4066
4468
  }
4469
+ :root {
4470
+ --accordion-trigger-py-sm: 0.375rem;
4471
+ --accordion-trigger-py-md: 0.75rem;
4472
+ --accordion-trigger-py-lg: 1rem;
4473
+ --accordion-content-pb-sm: 0.375rem;
4474
+ --accordion-content-pb-md: 0.75rem;
4475
+ --accordion-content-pb-lg: 1rem;
4476
+ --accordion-trigger-text-sm: 0.75rem;
4477
+ --accordion-trigger-text-md: 0.875rem;
4478
+ --accordion-trigger-text-lg: 1rem;
4479
+ --accordion-content-text-sm: 0.75rem;
4480
+ --accordion-content-text-md: 0.875rem;
4481
+ --accordion-content-text-lg: 1rem;
4482
+ }
4483
+ :root {
4484
+ --badge-px-sm: 0.375rem;
4485
+ --badge-px-md: 0.625rem;
4486
+ --badge-px-lg: 0.75rem;
4487
+ --badge-py-sm: 0px;
4488
+ --badge-py-md: 0.125rem;
4489
+ --badge-py-lg: 0.25rem;
4490
+ --badge-text-sm: 0.625rem;
4491
+ --badge-text-md: 0.75rem;
4492
+ --badge-text-lg: 0.875rem;
4493
+ --badge-icon-sm: 0.625rem;
4494
+ --badge-icon-md: 0.75rem;
4495
+ --badge-icon-lg: 0.875rem;
4496
+ }
4497
+ :root {
4498
+ --list-item-py-sm: 0.25rem;
4499
+ --list-item-py-md: 0.375rem;
4500
+ --list-item-py-lg: 0.5rem;
4501
+ --list-item-text-sm: 0.75rem;
4502
+ --list-item-text-md: 0.875rem;
4503
+ --list-item-text-lg: 1rem;
4504
+ --list-item-icon-sm: 0.75rem;
4505
+ --list-item-icon-md: 0.875rem;
4506
+ --list-item-icon-lg: 1rem;
4507
+ }
4508
+ :root {
4509
+ --tree-item-py-sm: 0.125rem;
4510
+ --tree-item-py-md: 0.25rem;
4511
+ --tree-item-py-lg: 0.375rem;
4512
+ --tree-item-text-sm: 0.75rem;
4513
+ --tree-item-text-md: 0.875rem;
4514
+ --tree-item-text-lg: 1rem;
4515
+ --tree-item-icon-sm: 0.875rem;
4516
+ --tree-item-icon-md: 1rem;
4517
+ --tree-item-icon-lg: 1.125rem;
4518
+ }
4519
+ :root {
4520
+ --header-mobile-bg: #fff;
4521
+ --header-mobile-border: var(--color-slate-200);
4522
+ }
4523
+ .dark {
4524
+ --header-mobile-bg: var(--color-slate-900);
4525
+ --header-mobile-border: var(--color-slate-700);
4526
+ }
4527
+ :root {
4528
+ --table-cell-px-compact: 0.5rem;
4529
+ --table-cell-py-compact: 0.25rem;
4530
+ --table-cell-px-default: 1rem;
4531
+ --table-cell-py-default: 0.75rem;
4532
+ --table-cell-px-relaxed: 1.5rem;
4533
+ --table-cell-py-relaxed: 1.25rem;
4534
+ }
4535
+ :root {
4536
+ --tooltip-max-width: 16rem;
4537
+ }
4538
+ :root {
4539
+ --toast-width: 20rem;
4540
+ }
4541
+ :root {
4542
+ --dialog-sheet-radius: 0.75rem;
4543
+ }
4544
+ :root {
4545
+ --form-label-w-sm: 5rem;
4546
+ --form-label-w-md: 7rem;
4547
+ --form-label-w-lg: 9rem;
4548
+ --form-item-gap-sm: 0.5rem;
4549
+ --form-item-gap-md: 0.75rem;
4550
+ --form-item-gap-lg: 1rem;
4551
+ --form-row-gap-sm: 0.75rem;
4552
+ --form-row-gap-md: 1.25rem;
4553
+ --form-row-gap-lg: 1.75rem;
4554
+ --form-hint-text: 0.75rem;
4555
+ --form-header-mb: 1.5rem;
4556
+ --form-footer-pt: 1.5rem;
4557
+ --form-footer-gap: 0.5rem;
4558
+ --form-radius: 0.5rem;
4559
+ --row-action-touch-min: 2.25rem;
4560
+ }
4561
+ :root {
4562
+ --indicator-dot-size-sm: 0.375rem;
4563
+ --indicator-dot-size-md: 0.5rem;
4564
+ --indicator-dot-size-lg: 0.625rem;
4565
+ }
4067
4566
  @keyframes film-grain-shift {
4068
4567
  0%, 100% {
4069
4568
  transform: translate(0, 0);
@@ -4395,6 +4894,100 @@
4395
4894
  --fe-dock-shadow: 0 0 20px color-mix(in srgb, var(--fe-accent, #8b5cf6) 30%, transparent);
4396
4895
  }
4397
4896
  }
4897
+ :root {
4898
+ --masonry-item-radius: 0.5rem;
4899
+ --masonry-item-scale: 1.035;
4900
+ --masonry-item-transition: 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94);
4901
+ --masonry-hover-shadow: 0 14px 32px rgba(0, 0, 0, 0.18),
4902
+ 0 4px 12px rgba(0, 0, 0, 0.10);
4903
+ --masonry-glass-from: rgba(255, 255, 255, 0.08);
4904
+ --masonry-glass-peak: rgba(255, 255, 255, 0.28);
4905
+ --masonry-overlay-from: rgba(0, 0, 0, 0.72);
4906
+ --masonry-overlay-mid: rgba(0, 0, 0, 0.25);
4907
+ --masonry-overlay-text: #ffffff;
4908
+ --masonry-overlay-muted: rgba(255, 255, 255, 0.72);
4909
+ --masonry-ripple-color: rgba(255, 255, 255, 0.45);
4910
+ }
4911
+ .masonry-item {
4912
+ cursor: pointer;
4913
+ overflow: hidden;
4914
+ border-radius: var(--masonry-item-radius);
4915
+ position: relative;
4916
+ transition: transform var(--masonry-item-transition), box-shadow var(--masonry-item-transition);
4917
+ will-change: transform, box-shadow;
4918
+ }
4919
+ .masonry-item:hover {
4920
+ transform: scale(var(--masonry-item-scale));
4921
+ box-shadow: var(--masonry-hover-shadow);
4922
+ z-index: 2;
4923
+ }
4924
+ .masonry-item::before {
4925
+ content: "";
4926
+ position: absolute;
4927
+ inset: 0;
4928
+ z-index: 10;
4929
+ pointer-events: none;
4930
+ background: linear-gradient( 105deg, transparent 30%, var(--masonry-glass-from) 40%, var(--masonry-glass-peak) 50%, var(--masonry-glass-from) 60%, transparent 70% );
4931
+ transform: translateX(-120%) skewX(-15deg);
4932
+ transition: none;
4933
+ }
4934
+ .masonry-item:hover::before {
4935
+ transform: translateX(120%) skewX(-15deg);
4936
+ transition: transform 0.65s ease-out;
4937
+ }
4938
+ .masonry-item-overlay {
4939
+ position: absolute;
4940
+ inset: 0;
4941
+ z-index: 5;
4942
+ display: flex;
4943
+ flex-direction: column;
4944
+ justify-content: flex-end;
4945
+ padding: 0.75rem 0.85rem;
4946
+ opacity: 0;
4947
+ pointer-events: none;
4948
+ background: linear-gradient( to top, var(--masonry-overlay-from) 0%, var(--masonry-overlay-mid) 55%, transparent 100% );
4949
+ transition: opacity var(--masonry-item-transition);
4950
+ }
4951
+ .masonry-item:hover .masonry-item-overlay {
4952
+ opacity: 1;
4953
+ pointer-events: auto;
4954
+ }
4955
+ .masonry-item-overlay-title {
4956
+ font-size: 0.875rem;
4957
+ font-weight: 600;
4958
+ line-height: 1.25;
4959
+ color: var(--masonry-overlay-text);
4960
+ margin: 0;
4961
+ }
4962
+ .masonry-item-overlay-desc {
4963
+ font-size: 0.75rem;
4964
+ line-height: 1.4;
4965
+ color: var(--masonry-overlay-muted);
4966
+ margin: 0.15rem 0 0;
4967
+ }
4968
+ .masonry-item-overlay-actions {
4969
+ display: flex;
4970
+ gap: 0.5rem;
4971
+ margin-top: 0.45rem;
4972
+ }
4973
+ @keyframes masonry-ripple {
4974
+ 0% {
4975
+ opacity: 0.55;
4976
+ transform: translate(-50%, -50%) scale(0);
4977
+ }
4978
+ 100% {
4979
+ opacity: 0;
4980
+ transform: translate(-50%, -50%) scale(2.5);
4981
+ }
4982
+ }
4983
+ .masonry-ripple {
4984
+ position: absolute;
4985
+ border-radius: 50%;
4986
+ background: var(--masonry-ripple-color);
4987
+ pointer-events: none;
4988
+ z-index: 20;
4989
+ animation: masonry-ripple 0.6s ease-out forwards;
4990
+ }
4398
4991
  @property --tw-translate-x {
4399
4992
  syntax: "*";
4400
4993
  inherits: false;
@@ -4686,6 +5279,12 @@
4686
5279
  initial-value: "";
4687
5280
  inherits: false;
4688
5281
  }
5282
+ @keyframes ping {
5283
+ 75%, 100% {
5284
+ transform: scale(2);
5285
+ opacity: 0;
5286
+ }
5287
+ }
4689
5288
  @layer properties {
4690
5289
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
4691
5290
  *, ::before, ::after, ::backdrop {