index.module.css 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. .pageHeader {
  2. @apply px-16 flex justify-between items-center;
  3. position: sticky;
  4. top: 0;
  5. left: 0;
  6. padding-top: 42px;
  7. padding-bottom: 12px;
  8. background-color: #fff;
  9. font-weight: 600;
  10. font-size: 18px;
  11. line-height: 28px;
  12. color: #101828;
  13. z-index: 10;
  14. }
  15. .form {
  16. @apply px-16 pb-8;
  17. }
  18. .form .label {
  19. @apply pt-6 pb-2 flex items-center;
  20. font-weight: 500;
  21. font-size: 16px;
  22. line-height: 24px;
  23. color: #344054;
  24. }
  25. .segmentationItem {
  26. min-height: 68px;
  27. }
  28. .indexItem {
  29. min-height: 126px;
  30. }
  31. .indexItem .disableMask {
  32. position: absolute;
  33. top: 0;
  34. left: 0;
  35. width: 100%;
  36. height: 100%;
  37. background-color: rgba(255, 255, 255, 0.5);
  38. border-radius: 12px;
  39. z-index: 2;
  40. }
  41. .indexItem .warningTip {
  42. position: absolute;
  43. bottom: 0;
  44. left: 0;
  45. width: 100%;
  46. padding: 8px 20px 8px 40px;
  47. background: #FFFAEB;
  48. border-top: 0.5px solid #FEF0C7;
  49. border-radius: 12px;
  50. font-size: 12px;
  51. line-height: 18px;
  52. color: #344054;
  53. z-index: 3;
  54. }
  55. .indexItem .warningTip::before {
  56. content: '';
  57. position: absolute;
  58. top: 11px;
  59. left: 20px;
  60. width: 12px;
  61. height: 12px;
  62. background: center no-repeat url(../assets/alert-triangle.svg);
  63. background-size: 12px;
  64. }
  65. .indexItem .warningTip .click {
  66. color: #155EEF;
  67. cursor: pointer;
  68. }
  69. .indexItem.disabled:hover {
  70. background-color: #fcfcfd;
  71. border-color: #f2f4f7;
  72. box-shadow: none;
  73. cursor: default;
  74. }
  75. .indexItem.disabled:hover .radio {
  76. @apply w-4 h-4 border-[2px] border-gray-200 rounded-full;
  77. }
  78. .radioItem {
  79. @apply relative mb-2 rounded-xl border border-gray-100 cursor-pointer;
  80. background-color: #fcfcfd;
  81. }
  82. .radioItem.segmentationItem.custom {
  83. height: auto;
  84. }
  85. .radioItem.segmentationItem.custom .typeHeader {
  86. /* height: 65px; */
  87. }
  88. .radioItem.indexItem .typeHeader {
  89. @apply py-4 pr-5;
  90. }
  91. .radioItem.indexItem.active .typeHeader {
  92. padding: 15.5px 19.5px 15.5px 63.5px;
  93. }
  94. .radioItem.indexItem .radio {
  95. top: 16px;
  96. right: 20px;
  97. }
  98. .radioItem.indexItem.active .radio {
  99. top: 16px;
  100. right: 19.5px;
  101. }
  102. .radioItem.indexItem .typeHeader .title {
  103. @apply pb-1;
  104. }
  105. .radioItem .typeIcon {
  106. position: absolute;
  107. top: 18px;
  108. left: 20px;
  109. width: 32px;
  110. height: 32px;
  111. background: #EEF4FF center no-repeat;
  112. border-radius: 8px;
  113. }
  114. .typeIcon.auto {
  115. background-color: #F5F3FF;
  116. background-image: url(../assets/zap-fast.svg);
  117. }
  118. .typeIcon.customize {
  119. background-image: url(../assets/sliders-02.svg);
  120. }
  121. .typeIcon.qualified {
  122. background-color: #FFF6ED;
  123. background-image: url(../assets/star-07.svg);
  124. }
  125. .typeIcon.economical {
  126. background-image: url(../assets/piggy-bank-01.svg);
  127. }
  128. .radioItem .radio {
  129. @apply w-4 h-4 border-[2px] border-gray-200 rounded-full;
  130. position: absolute;
  131. top: 26px;
  132. right: 20px;
  133. }
  134. .radioItem:hover {
  135. background-color: #ffffff;
  136. border-color: #B2CCFF;
  137. box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
  138. }
  139. .radioItem:hover .radio {
  140. border-color: #155eef;
  141. }
  142. .radioItem.active {
  143. border-width: 1.5px;
  144. border-color: #528BFF;
  145. box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);
  146. }
  147. .radioItem.active .radio {
  148. top: 25.5px;
  149. right: 19.5px;
  150. border-width: 5px;
  151. border-color: #155EEF;
  152. }
  153. .radioItem.active:hover {
  154. border-width: 1.5px;
  155. border-color: #528BFF;
  156. box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);
  157. }
  158. .radioItem.active .typeIcon {
  159. top: 17.5px;
  160. left: 19.5px;
  161. }
  162. .radioItem.active .typeHeader {
  163. padding: 11.5px 63.5px;
  164. }
  165. .typeHeader {
  166. @apply flex flex-col px-16 py-3 justify-center;
  167. }
  168. .typeHeader .title {
  169. display: flex;
  170. align-items: center;
  171. padding-bottom: 2px;
  172. font-weight: 500;
  173. font-size: 16px;
  174. line-height: 24px;
  175. color: #101828;
  176. }
  177. .typeHeader .tip {
  178. font-weight: 400;
  179. font-size: 13px;
  180. line-height: 18px;
  181. color: #667085;
  182. }
  183. .recommendTag {
  184. display: inline-flex;
  185. justify-content: center;
  186. align-items: center;
  187. padding: 0 6px;
  188. margin-left: 4px;
  189. border: 1px solid #E0EAFF;
  190. border-radius: 6px;
  191. font-weight: 500;
  192. font-size: 12px;
  193. line-height: 20px;
  194. color: #444CE7;
  195. }
  196. .typeFormBody {
  197. @apply px-16;
  198. border-top: 1px solid #F2F4F7;
  199. }
  200. .formRow {
  201. @apply flex justify-between mt-6;
  202. }
  203. .formRow .label {
  204. @apply mb-2 p-0;
  205. font-weight: 500;
  206. font-size: 14px;
  207. line-height: 20px;
  208. color: #101828;
  209. }
  210. .ruleItem {
  211. @apply flex items-center;
  212. }
  213. .formFooter {
  214. padding: 16px 0 28px;
  215. }
  216. .formFooter .button {
  217. font-size: 13px;
  218. line-height: 18px;
  219. }
  220. .input {
  221. @apply inline-flex h-9 w-full py-1 px-2 pr-14 rounded-lg text-xs leading-normal;
  222. @apply bg-gray-100 caret-primary-600 hover:bg-gray-100 focus:ring-1 focus:ring-inset focus:ring-gray-200 focus-visible:outline-none focus:bg-white placeholder:text-gray-400;
  223. }
  224. .source {
  225. @apply flex justify-between items-center mt-8 px-6 py-4 rounded-xl bg-gray-50 border border-gray-100;
  226. }
  227. .source .divider {
  228. @apply shrink-0 mx-4 w-px bg-gray-200;
  229. height: 42px;
  230. }
  231. .fileIcon {
  232. @apply inline-flex mr-1 w-6 h-6 bg-center bg-no-repeat;
  233. background-image: url(../assets/pdf.svg);
  234. background-size: 24px;
  235. }
  236. .fileIcon.pdf {
  237. background-image: url(../assets/pdf.svg);
  238. }
  239. .fileIcon.csv {
  240. background-image: url(../assets/csv.svg);
  241. }
  242. .fileIcon.doc {
  243. background-image: url(../assets/doc.svg);
  244. }
  245. .fileIcon.docx {
  246. background-image: url(../assets/docx.svg);
  247. }
  248. .fileIcon.xlsx,
  249. .fileIcon.xls {
  250. background-image: url(../assets/xlsx.svg);
  251. }
  252. .fileIcon.html,
  253. .fileIcon.htm {
  254. background-image: url(../assets/html.svg);
  255. }
  256. .fileIcon.md,
  257. .fileIcon.markdown {
  258. background-image: url(../assets/md.svg);
  259. }
  260. .fileIcon.txt {
  261. background-image: url(../assets/txt.svg);
  262. }
  263. .fileIcon.json {
  264. background-image: url(../assets/json.svg);
  265. }
  266. .sourceContent {
  267. width: 0;
  268. flex: 1 1 auto;
  269. }
  270. .sourceCount {
  271. @apply shrink-0 ml-1;
  272. font-weight: 500;
  273. font-size: 13px;
  274. line-height: 18px;
  275. color: #667085;
  276. }
  277. .segmentCount {
  278. flex: 1 1 30%;
  279. max-width: 120px;
  280. }
  281. .divider {
  282. @apply mx-3 w-px h-4 bg-gray-200;
  283. }
  284. .calculating {
  285. color: #98A2B3;
  286. font-size: 12px;
  287. line-height: 18px;
  288. }
  289. .sideTip {
  290. @apply flex flex-col items-center shrink-0;
  291. padding-top: 108px;
  292. width: 524px;
  293. border-left: 0.5px solid #F2F4F7;
  294. }
  295. .tipCard {
  296. @apply flex flex-col items-start p-6;
  297. width: 320px;
  298. background-color: #F9FAFB;
  299. box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
  300. border-radius: 12px;
  301. }
  302. .tipCard .icon {
  303. width: 32px;
  304. height: 32px;
  305. border: 1px solid #EAECF0;
  306. border-radius: 6px;
  307. background: center no-repeat url(../assets/book-open-01.svg);
  308. background-size: 16px;
  309. }
  310. .tipCard .title {
  311. margin: 12px 0;
  312. font-weight: 500;
  313. font-size: 16px;
  314. line-height: 24px;
  315. color: #344054;
  316. }
  317. .tipCard .content {
  318. font-weight: 400;
  319. font-size: 14px;
  320. line-height: 20px;
  321. color: #344054;
  322. }
  323. .previewWrap {
  324. flex-shrink: 0;
  325. width: 524px;
  326. }
  327. .previewWrap.isMobile {
  328. max-width: 524px;
  329. }
  330. .previewHeader {
  331. position: sticky;
  332. top: 0;
  333. left: 0;
  334. padding-top: 42px;
  335. background-color: #fff;
  336. font-weight: 600;
  337. font-size: 18px;
  338. line-height: 28px;
  339. color: #101828;
  340. z-index: 10;
  341. }
  342. /*
  343. * `fixed` must under `previewHeader` because of style override would not work
  344. */
  345. .fixed {
  346. padding-top: 12px;
  347. font-size: 12px;
  348. line-height: 18px;
  349. background: rgba(255, 255, 255, 0.9);
  350. border-bottom: 0.5px solid #EAECF0;
  351. backdrop-filter: blur(4px);
  352. animation: fix 0.5s;
  353. }
  354. @keyframes fix {
  355. from {
  356. padding-top: 42px;
  357. font-size: 18px;
  358. line-height: 28px;
  359. }
  360. to {
  361. padding-top: 12px;
  362. font-size: 12px;
  363. line-height: 18px;
  364. }
  365. }