app.css 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. @tailwind base;
  2. @tailwind components;
  3. @tailwind utilities;
  4. @font-face {
  5. font-family: "bagisto-admin";
  6. src: url("../fonts/bagisto-admin.woff?jwnnow") format("woff");
  7. font-weight: normal;
  8. font-style: normal;
  9. font-display: block;
  10. }
  11. /**@layer 声明了一个层叠层,同一层内的规则将级联在一起,这给予了开发者对层叠机制的更多控制。*/
  12. @layer components {
  13. ::selection {
  14. background-color: rgba(0, 68, 242, .2);
  15. }
  16. body {
  17. @apply bg-gray-50;
  18. }
  19. button:disabled {
  20. @apply cursor-not-allowed opacity-50;
  21. }
  22. button:disabled:hover {
  23. @apply cursor-not-allowed opacity-50;
  24. }
  25. .direction-ltr {
  26. direction: ltr;
  27. }
  28. .direction-rtl {
  29. direction: rtl;
  30. }
  31. .draggable-ghost {
  32. opacity: 0.5;
  33. background: #e0e7ff;
  34. }
  35. [class^="icon-"],
  36. [class*=" icon-"] {
  37. /* use !important to prevent issues with browser extensions that change fonts */
  38. font-family: "bagisto-admin" !important;
  39. speak: never;
  40. font-style: normal;
  41. font-weight: normal;
  42. font-variant: normal;
  43. text-transform: none;
  44. line-height: 1;
  45. color: #6b7280;
  46. /* Better Font Rendering =========== */
  47. -webkit-font-smoothing: antialiased;
  48. -moz-osx-font-smoothing: grayscale;
  49. line-height: 1 !important;
  50. }
  51. html.dark [class^="icon-"],
  52. html.dark [class*=" icon-"]{
  53. color: #d1d5db;
  54. }
  55. .box-shadow {
  56. @apply border-[1px] dark:border-gray-800 shadow-[0px_0px_0px_0px_rgba(0,0,0,0.03),0px_1px_1px_0px_rgba(0,0,0,0.03),0px_3px_3px_0px_rgba(0,0,0,0.03),0px_6px_4px_0px_rgba(0,0,0,0.02),0px_11px_4px_0px_rgba(0,0,0,0.00),0px_17px_5px_0px_rgba(0,0,0,0.00)];
  57. }
  58. .icon-phone:before {
  59. content: "\e94f";
  60. }
  61. .icon-list:before {
  62. content: "\e950";
  63. }
  64. .icon-admin-export:before {
  65. content: "\e95d";
  66. }
  67. .icon-magic:before {
  68. content: "\e94b";
  69. }
  70. .icon-zoom:before {
  71. content: "\e94c";
  72. }
  73. .icon-ar:before {
  74. content: "\e94a";
  75. }
  76. .icon-report:before {
  77. content: "\e942";
  78. }
  79. .icon-refund:before {
  80. content: "\e948";
  81. }
  82. .icon-light:before {
  83. content: "\e947";
  84. }
  85. .icon-dark:before {
  86. content: "\e949";
  87. }
  88. .icon-checkbox-partical:before {
  89. content: "\e900";
  90. }
  91. .icon-uncheckbox:before {
  92. content: "\e901";
  93. }
  94. .icon-add-customer:before {
  95. content: "\e902";
  96. }
  97. .icon-arrow-down:before {
  98. content: "\e903";
  99. }
  100. .icon-arrow-left:before {
  101. content: "\e904";
  102. }
  103. .icon-arrow-right:before {
  104. content: "\e905";
  105. }
  106. .icon-arrow-up:before {
  107. content: "\e906";
  108. }
  109. .icon-attribute-block:before {
  110. content: "\e907";
  111. }
  112. .icon-attribute:before {
  113. content: "\e908";
  114. }
  115. .icon-calendar:before {
  116. content: "\e909";
  117. }
  118. .icon-cancel-1:before {
  119. content: "\e90a";
  120. }
  121. .icon-cancel:before {
  122. content: "\e90b";
  123. }
  124. .icon-cart:before {
  125. content: "\e90c";
  126. }
  127. .icon-checked:before {
  128. content: "\e90d";
  129. }
  130. .icon-cms:before {
  131. content: "\e90e";
  132. }
  133. .icon-configuration:before {
  134. content: "\e90f";
  135. }
  136. .icon-cross:before {
  137. content: "\e910";
  138. }
  139. .icon-customer-2:before {
  140. content: "\e911";
  141. }
  142. .icon-customer:before {
  143. content: "\e912";
  144. }
  145. .icon-dashboard:before {
  146. content: "\e913";
  147. }
  148. .icon-delete:before {
  149. content: "\e914";
  150. }
  151. .icon-done:before {
  152. content: "\e915";
  153. }
  154. .icon-dot:before {
  155. content: "\e916";
  156. }
  157. .icon-dots:before {
  158. content: "\e917";
  159. }
  160. .icon-down-stat:before {
  161. content: "\e918";
  162. }
  163. .icon-drag:before {
  164. content: "\e919";
  165. }
  166. .icon-edit-save:before {
  167. content: "\e91a";
  168. }
  169. .icon-edit:before {
  170. content: "\e91b";
  171. }
  172. .icon-filter:before {
  173. content: "\e91c";
  174. }
  175. .icon-folder-block:before {
  176. content: "\e91d";
  177. }
  178. .icon-folder:before {
  179. content: "\e91e";
  180. }
  181. .icon-image:before {
  182. content: "\e91f";
  183. }
  184. .icon-information:before {
  185. content: "\e920";
  186. }
  187. .icon-language:before {
  188. content: "\e921";
  189. }
  190. .icon-location:before {
  191. content: "\e922";
  192. }
  193. .icon-mail:before {
  194. content: "\e923";
  195. }
  196. .icon-menu:before {
  197. content: "\e924";
  198. }
  199. .icon-notification:before {
  200. content: "\e925";
  201. }
  202. .icon-order-back:before {
  203. content: "\e926";
  204. }
  205. .icon-printer:before {
  206. content: "\e927";
  207. }
  208. .icon-processing:before {
  209. content: "\e928";
  210. }
  211. .icon-product-1:before {
  212. content: "\e929";
  213. }
  214. .icon-product:before {
  215. content: "\e92a";
  216. }
  217. .icon-promotion:before {
  218. content: "\e92b";
  219. }
  220. .icon-radio-normal:before {
  221. content: "\e92c";
  222. }
  223. .icon-radio-selected:before {
  224. content: "\e92d";
  225. }
  226. .icon-repeat:before {
  227. content: "\e92e";
  228. }
  229. .icon-sales:before {
  230. content: "\e92f";
  231. }
  232. .icon-search:before {
  233. content: "\e930";
  234. }
  235. .icon-setting:before {
  236. content: "\e931";
  237. }
  238. .icon-settings:before {
  239. content: "\e932";
  240. }
  241. .icon-ship:before {
  242. content: "\e933";
  243. }
  244. .icon-sort-down:before {
  245. content: "\e934";
  246. }
  247. .icon-sort-left:before {
  248. content: "\e935";
  249. }
  250. .icon-sort-right:before {
  251. content: "\e936";
  252. }
  253. .icon-sort-up-down:before {
  254. content: "\e937";
  255. }
  256. .icon-sort-up:before {
  257. content: "\e938";
  258. }
  259. .icon-star:before {
  260. content: "\e939";
  261. }
  262. .icon-store:before {
  263. content: "\e93a";
  264. }
  265. .icon-tick:before {
  266. content: "\e93b";
  267. }
  268. .icon-up-stat:before {
  269. content: "\e93c";
  270. }
  271. .icon-view:before {
  272. content: "\e93d";
  273. }
  274. .icon-view-close:before {
  275. content: "\e946";
  276. }
  277. .icon-copy:before {
  278. content: "\e93e";
  279. }
  280. .icon-exit:before {
  281. content: "\e93f";
  282. }
  283. .icon-clip:before {
  284. content: "\e940";
  285. }
  286. .icon-collapse:before {
  287. content: "\e941";
  288. }
  289. .icon-login:before {
  290. content: "\e943";
  291. }
  292. .icon-pause:before {
  293. content: "\e944";
  294. }
  295. .icon-play:before {
  296. content: "\e945";
  297. }
  298. p {
  299. @apply text-[14px] !leading-[17px];
  300. }
  301. input,
  302. textarea,
  303. select {
  304. @apply outline-none;
  305. }
  306. .primary-button {
  307. @apply bg-blue-600 border border-blue-700 cursor-pointer flex focus:opacity-[0.9] font-semibold gap-x-1 hover:opacity-[0.9] items-center place-content-center px-3 py-1.5 rounded-md text-gray-50 transition-all;
  308. }
  309. .secondary-button {
  310. @apply flex cursor-pointer place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border-2 border-blue-600 bg-white px-3 py-1.5 font-semibold text-blue-600 transition-all hover:bg-[#eff6ff61] focus:bg-[#eff6ff61] dark:border-gray-400 dark:bg-gray-800 dark:text-white dark:hover:opacity-80;
  311. }
  312. .middle-button{
  313. @apply flex cursor-pointer place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border-2 border-blue-600 bg-white px-2 py-1 font-normal text-blue-600 text-sm transition-all hover:bg-[#eff6ff61] focus:bg-[#eff6ff61] dark:border-gray-400 dark:bg-gray-800 dark:text-white dark:hover:opacity-80;
  314. }
  315. .small-white-button{
  316. @apply flex cursor-pointer place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border border-gray-600 bg-white px-2 py-1 font-normal text-12 transition-all hover:bg-[#eff6ff61] focus:bg-[#eff6ff61];
  317. }
  318. .small-blue-button{
  319. @apply flex cursor-pointer place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border border-blue-700 bg-blue-600 px-2 py-1 font-normal text-white text-12 transition-all focus:opacity-[0.9] hover:opacity-[0.9];
  320. }
  321. .small-red-button{
  322. @apply flex cursor-pointer place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border border-red-500 bg-red-600 px-2 py-1 font-normal text-white text-12 transition-all focus:opacity-[0.9] hover:opacity-[0.9];
  323. }
  324. .transparent-button {
  325. @apply flex cursor-pointer appearance-none place-content-center items-center gap-x-1 whitespace-nowrap rounded-md border-2 border-transparent px-3 py-1.5 font-semibold text-gray-600 transition-all marker:shadow hover:bg-gray-100 focus:bg-gray-100 dark:hover:bg-gray-950;
  326. }
  327. .journal-scroll::-webkit-scrollbar {
  328. width: 14px;
  329. cursor: pointer;
  330. display: none;
  331. }
  332. .journal-scroll::-webkit-scrollbar-track {
  333. background-color: #fff;
  334. cursor: pointer;
  335. border-radius: 12px;
  336. border: 1px solid #e9e9e9;
  337. }
  338. .journal-scroll::-webkit-scrollbar-thumb {
  339. cursor: pointer;
  340. background-color: #e9e9e9;
  341. border-radius: 12px;
  342. border: 3px solid transparent;
  343. background-clip: content-box;
  344. }
  345. .custom-select {
  346. -webkit-appearance: none;
  347. -moz-appearance: none;
  348. background: transparent;
  349. background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  350. background-repeat: no-repeat;
  351. background-position-x: calc(100% - 10px);
  352. background-position-y: 50%;
  353. }
  354. .dark .custom-select{
  355. background-image: url("data:image/svg+xml;utf8,<svg fill='white' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  356. }
  357. [dir="rtl"] .custom-select {
  358. background-position-x: calc(100% - (100% - 10px));
  359. }
  360. .label-pending,
  361. .label-processing,
  362. .label-closed,
  363. .label-canceled,
  364. .label-info,
  365. .label-fraud,
  366. .label-pending_payment,
  367. .label-completed,
  368. .label-active {
  369. @apply text-[12px] text-white font-semibold py-px px-1.5 max-w-max rounded-[35px];
  370. }
  371. .label-pending,
  372. .label-pending_payment {
  373. @apply bg-yellow-500;
  374. }
  375. .label-processing{
  376. @apply bg-cyan-600;
  377. }
  378. .label-completed,
  379. .label-active {
  380. @apply bg-green-600;
  381. }
  382. .label-closed {
  383. @apply bg-indigo-600;
  384. }
  385. .label-canceled,
  386. .label-fraud {
  387. @apply bg-rose-600;
  388. }
  389. .label-info {
  390. @apply bg-slate-400;
  391. }
  392. /* status */
  393. .status-enable {
  394. @apply text-green-600;
  395. }
  396. .status-disable {
  397. @apply text-red-600;
  398. }
  399. .icon-star-fill:before {
  400. content: "\e938";
  401. color: #ffb600;
  402. }
  403. .shimmer {
  404. animation-duration: 2.2s;
  405. animation-fill-mode: forwards;
  406. animation-iteration-count: infinite;
  407. animation-name: skeleton;
  408. animation-timing-function: linear;
  409. background: linear-gradient(
  410. to right,
  411. #f6f6f6 8%,
  412. #f0f0f0 18%,
  413. #f6f6f6 33%
  414. );
  415. background-size: 1250px 100%;
  416. }
  417. .dark .shimmer {
  418. background: linear-gradient(
  419. to right,
  420. #1f2937 8%,
  421. #1a2232 18%,
  422. #1f2937 33%
  423. );
  424. }
  425. @keyframes skeleton {
  426. 0% {
  427. @apply bg-[-1250px_0];
  428. }
  429. 100% {
  430. @apply bg-[1250px_0];
  431. }
  432. }
  433. .required:after {
  434. @apply content-['*'];
  435. }
  436. .CodeMirror {
  437. @apply !h-[calc(100vh-367px)]
  438. }
  439. .admin-common-input{
  440. @apply w-full rounded-md border px-3 py-2.5 text-sm text-gray-600 transition-all hover:border-gray-400 focus:border-gray-400 dark:border-gray-800 dark:bg-gray-900 dark:text-gray-300 dark:hover:border-gray-400 dark:focus:border-gray-400
  441. }
  442. .admin-common-input.error{
  443. @apply border !border-red-600 hover:border-red-600
  444. }
  445. }
  446. .tox .tox-toolbar__group:last-child button {
  447. padding: 6px 8px;
  448. background: #eff6ff;
  449. color: #2563EB;
  450. }
  451. .tox .tox-toolbar__group:last-child button:hover {
  452. background: #dbeafe;
  453. }
  454. .tox .tox-toolbar__group:last-child button[aria-disabled="true"] {
  455. @apply cursor-not-allowed opacity-50;
  456. }
  457. .icon {
  458. display: inline;
  459. width: 1em;
  460. height: 1em;
  461. vertical-align: -0.15em;
  462. fill: currentColor;
  463. overflow: hidden;
  464. stroke: currentColor;
  465. }