Packages

An open and opinionated DeFi/CeFi/TradFi trading platform using productive & familiar open source libraries and tools for strategy research, execution and operation

Current section

5 Versions

Jump to

Compare versions

6 files changed
+158 additions
-87 deletions
  @@ -14,7 +14,7 @@ Add `prop` to your list of dependencies in `mix.exs`
14 14 ```elixir
15 15 def deps do
16 16 [
17 - {:prop, "~> 0.0.2"}
17 + {:prop, "~> 0.0.3"}
18 18 ]
19 19 end
20 20 ```
  @@ -48,6 +48,8 @@ password: password
48 48
49 49 ## Prop - [http://prop.localhost](http://prop.localhost)
50 50
51 + ![home](./docs/history-home.png)
52 +
51 53 ![station](./docs/prop-station.png)
52 54
53 55 ## Workbench - [http://workbench.localhost](http://workbench.localhost)
  @@ -59,7 +59,7 @@
59 59 {<<"name">>,<<"history">>},
60 60 {<<"optional">>,false},
61 61 {<<"repository">>,<<"hexpm">>},
62 - {<<"requirement">>,<<"~> 0.0.5">>}],
62 + {<<"requirement">>,<<"~> 0.0.7">>}],
63 63 [{<<"app">>,<<"jason">>},
64 64 {<<"name">>,<<"jason">>},
65 65 {<<"optional">>,false},
  @@ -160,4 +160,4 @@
160 160 {<<"optional">>,false},
161 161 {<<"repository">>,<<"hexpm">>},
162 162 {<<"requirement">>,<<"~> 0.0.12">>}]]}.
163 - {<<"version">>,<<"0.0.2">>}.
163 + {<<"version">>,<<"0.0.3">>}.
  @@ -4,7 +4,7 @@ defmodule Prop.MixProject do
4 4 def project do
5 5 [
6 6 app: :prop,
7 - version: "0.0.2",
7 + version: "0.0.3",
8 8 elixir: "~> 1.12",
9 9 package: package(),
10 10 elixirc_paths: elixirc_paths(Mix.env()),
  @@ -32,7 +32,7 @@ defmodule Prop.MixProject do
32 32 {:confex, "~> 3.5.0"},
33 33 {:ecto_sql, "~> 3.4"},
34 34 {:gettext, "~> 0.11"},
35 - {:history, "~> 0.0.5"},
35 + {:history, "~> 0.0.7"},
36 36 {:jason, "~> 1.0"},
37 37 {:libcluster, "~> 3.2"},
38 38 {:livebook, "~> 0.2"},
  @@ -1,86 +1,97 @@
1 1 require Ecto.Query
2 2
3 3 [
4 - %History.Tokens.Token{name: "0x", symbol: "zrx", collateral: true, collateral_weight: Decimal.new("0.85")},
5 - %History.Tokens.Token{name: "1inch", symbol: "1inch", collateral: true, collateral_weight: Decimal.new("0.9")},
6 - %History.Tokens.Token{name: "Aave", symbol: "aave", collateral: true, collateral_weight: Decimal.new("0.9")},
7 - %History.Tokens.Token{name: "Alchemix", symbol: "alcx", collateral: false, collateral_weight: Decimal.new(0)},
8 - %History.Tokens.Token{name: "Alpha Finance", symbol: "alpha", collateral: true, collateral_weight: Decimal.new("0.9")},
9 - %History.Tokens.Token{name: "AscendEx", symbol: "asd", collateral: true, collateral_weight: Decimal.new("0.7")},
10 - %History.Tokens.Token{name: "Audius", symbol: "audio", collateral: false, collateral_weight: Decimal.new(0)},
11 - %History.Tokens.Token{name: "Axie Infinity", symbol: "axs", collateral: false, collateral_weight: Decimal.new(0)},
12 - %History.Tokens.Token{name: "Badger DAO", symbol: "badger", collateral: true, collateral_weight: Decimal.new("0.85")},
13 - %History.Tokens.Token{name: "Balancer", symbol: "bal", collateral: false, collateral_weight: Decimal.new(0)},
14 - %History.Tokens.Token{name: "Bancor", symbol: "bnt", collateral: true, collateral_weight: Decimal.new("0.9")},
15 - %History.Tokens.Token{name: "Band Protocol", symbol: "band", collateral: true, collateral_weight: Decimal.new("0.85")},
16 - %History.Tokens.Token{name: "Bao", symbol: "bao", collateral: true, collateral_weight: Decimal.new("0.85")},
17 - %History.Tokens.Token{name: "Binance Coin", symbol: "bnb", collateral: true, collateral_weight: Decimal.new("0.95")},
18 - %History.Tokens.Token{name: "Binance USD", symbol: "busd", collateral: true, collateral_weight: Decimal.new(1)},
19 - %History.Tokens.Token{name: "Bitcoin Cash", symbol: "bch", collateral: true, collateral_weight: Decimal.new("0.95")},
20 - %History.Tokens.Token{name: "Bitcoin", symbol: "btc", collateral: true, collateral_weight: Decimal.new("0.975")},
21 - %History.Tokens.Token{name: "Bonfida", symbol: "fida", collateral: true, collateral_weight: Decimal.new("0.85")},
22 - %History.Tokens.Token{name: "C.R.E.A.M", symbol: "cream", collateral: false, collateral_weight: Decimal.new(0)},
23 - %History.Tokens.Token{name: "Celsius Token", symbol: "cel", collateral: true, collateral_weight: Decimal.new("0.85")},
24 - %History.Tokens.Token{name: "Chainlink", symbol: "link", collateral: true, collateral_weight: Decimal.new("0.95")},
25 - %History.Tokens.Token{name: "Chiliz", symbol: "comp", collateral: true, collateral_weight: Decimal.new("0.9")},
26 - %History.Tokens.Token{name: "Compound USDT", symbol: "cusdt", collateral: true, collateral_weight: Decimal.new("0.95")},
27 - %History.Tokens.Token{name: "Compound", symbol: "chz", collateral: false, collateral_weight: Decimal.new(0)},
28 - %History.Tokens.Token{name: "Convergence", symbol: "conv", collateral: false, collateral_weight: Decimal.new(0)},
29 - %History.Tokens.Token{name: "Crypto.com", symbol: "cro", collateral: false, collateral_weight: Decimal.new(0)},
30 - %History.Tokens.Token{name: "Curve DAO Token", symbol: "crv", collateral: false, collateral_weight: Decimal.new(0)},
31 - %History.Tokens.Token{name: "DODO", symbol: "dodo", collateral: false, collateral_weight: Decimal.new(0)},
32 - %History.Tokens.Token{name: "Dai", symbol: "dai", collateral: true, collateral_weight: Decimal.new("0.9")},
33 - %History.Tokens.Token{name: "Dent", symbol: "dent", collateral: false, collateral_weight: Decimal.new(0)},
34 - %History.Tokens.Token{name: "Dogecoin", symbol: "doge", collateral: true, collateral_weight: Decimal.new("0.95")},
35 - %History.Tokens.Token{name: "Enjin Coin", symbol: "enj", collateral: false, collateral_weight: Decimal.new(0)},
36 - %History.Tokens.Token{name: "Ethereum", symbol: "eth", collateral: true, collateral_weight: Decimal.new("0.95")},
37 - %History.Tokens.Token{name: "FTX Token", symbol: "ftt", collateral: true, collateral_weight: Decimal.new("0.95")},
38 - %History.Tokens.Token{name: "Fantom", symbol: "ftm", collateral: true, collateral_weight: Decimal.new("0.85")},
39 - %History.Tokens.Token{name: "HXRO", symbol: "hxro", collateral: true, collateral_weight: Decimal.new("0.85")},
40 - %History.Tokens.Token{name: "Holy Trinity Pool", symbol: "holy", collateral: true, collateral_weight: Decimal.new("0.9")},
41 - %History.Tokens.Token{name: "Huobi Token", symbol: "ht", collateral: true, collateral_weight: Decimal.new("0.9")},
42 - %History.Tokens.Token{name: "Kin", symbol: "kin", collateral: true, collateral_weight: Decimal.new("0.85")},
43 - %History.Tokens.Token{name: "Kyber Network", symbol: "knc", collateral: true, collateral_weight: Decimal.new("0.95")},
44 - %History.Tokens.Token{name: "KeeperDAO", symbol: "rook", collateral: false, collateral_weight: Decimal.new(0)},
45 - %History.Tokens.Token{name: "LEO", symbol: "leo", collateral: true, collateral_weight: Decimal.new("0.85")},
46 - %History.Tokens.Token{name: "Litecoin", symbol: "ltc", collateral: true, collateral_weight: Decimal.new("0.95")},
47 - %History.Tokens.Token{name: "Loopring", symbol: "lrc", collateral: true, collateral_weight: Decimal.new("0.85")},
48 - %History.Tokens.Token{name: "Maker", symbol: "mkr", collateral: true, collateral_weight: Decimal.new("0.9")},
49 - %History.Tokens.Token{name: "Matic", symbol: "matic", collateral: true, collateral_weight: Decimal.new("0.85")},
50 - %History.Tokens.Token{name: "OKB", symbol: "okb", collateral: true, collateral_weight: Decimal.new("0.9")},
51 - %History.Tokens.Token{name: "OMG Network", symbol: "omg", collateral: true, collateral_weight: Decimal.new("0.85")},
52 - %History.Tokens.Token{name: "Oxygen", symbol: "oxy", collateral: false, collateral_weight: Decimal.new(0)},
53 - %History.Tokens.Token{name: "PAX Gold", symbol: "paxg", collateral: true, collateral_weight: Decimal.new("0.95")},
54 - %History.Tokens.Token{name: "Paxos Standard", symbol: "pax", collateral: true, collateral_weight: Decimal.new(1)},
55 - %History.Tokens.Token{name: "Polkadot", symbol: "dot", collateral: false, collateral_weight: Decimal.new(0)},
56 - %History.Tokens.Token{name: "Polygon", symbol: "matic", collateral: true, collateral_weight: Decimal.new("0.85")},
57 - %History.Tokens.Token{name: "Pundi X", symbol: "pundix", collateral: false, collateral_weight: Decimal.new(0)},
58 - %History.Tokens.Token{name: "REN", symbol: "ren", collateral: true, collateral_weight: Decimal.new("0.9")},
59 - %History.Tokens.Token{name: "Raydium", symbol: "ray", collateral: true, collateral_weight: Decimal.new("0.85")},
60 - %History.Tokens.Token{name: "Reef Finance", symbol: "reef", collateral: false, collateral_weight: Decimal.new(0)},
61 - %History.Tokens.Token{name: "Shiba Inu", symbol: "shib", collateral: false, collateral_weight: Decimal.new(0)},
62 - %History.Tokens.Token{name: "SKALE", symbol: "skl", collateral: false, collateral_weight: Decimal.new(0)},
63 - %History.Tokens.Token{name: "Serum Ecosystem Token", symbol: "seco", collateral: true, collateral_weight: Decimal.new("0.9")},
64 - %History.Tokens.Token{name: "Serum", symbol: "srm", collateral: true, collateral_weight: Decimal.new("0.9")},
65 - %History.Tokens.Token{name: "Solana", symbol: "sol", collateral: true, collateral_weight: Decimal.new("0.9")},
66 - %History.Tokens.Token{name: "Storj", symbol: "storj", collateral: false, collateral_weight: Decimal.new(0)},
67 - %History.Tokens.Token{name: "Sushi", symbol: "sushi", collateral: true, collateral_weight: Decimal.new("0.95")},
68 - %History.Tokens.Token{name: "Swipe", symbol: "sxp", collateral: true, collateral_weight: Decimal.new("0.9")},
69 - %History.Tokens.Token{name: "Synthetix", symbol: "snx", collateral: true, collateral_weight: Decimal.new("0.85")},
70 - %History.Tokens.Token{name: "Tether Gold", symbol: "xaut", collateral: true, collateral_weight: Decimal.new("0.95")},
71 - %History.Tokens.Token{name: "Tether", symbol: "usdt", collateral: true, collateral_weight: Decimal.new("0.975")},
72 - %History.Tokens.Token{name: "The Graph", symbol: "grt", collateral: true, collateral_weight: Decimal.new("0.85")},
73 - %History.Tokens.Token{name: "Thorchain", symbol: "rune", collateral: true, collateral_weight: Decimal.new("0.85")},
74 - %History.Tokens.Token{name: "TomoChain", symbol: "tomo", collateral: true, collateral_weight: Decimal.new("0.85")},
75 - %History.Tokens.Token{name: "Tron", symbol: "trx", collateral: true, collateral_weight: Decimal.new("0.9")},
76 - %History.Tokens.Token{name: "TrueUSD", symbol: "tusd", collateral: true, collateral_weight: Decimal.new(1)},
77 - %History.Tokens.Token{name: "USD Coin", symbol: "usdc", collateral: true, collateral_weight: Decimal.new(1)},
78 - %History.Tokens.Token{name: "USD", symbol: "usd", collateral: true, collateral_weight: Decimal.new(1)},
79 - %History.Tokens.Token{name: "Uniswap", symbol: "uni", collateral: true, collateral_weight: Decimal.new("0.95")},
80 - %History.Tokens.Token{name: "Waves", symbol: "waves", collateral: false, collateral_weight: Decimal.new(0)},
81 - %History.Tokens.Token{name: "Wrapped BTC", symbol: "wbtc", collateral: true, collateral_weight: Decimal.new("0.975")},
82 - %History.Tokens.Token{name: "XRP", symbol: "xrp", collateral: true, collateral_weight: Decimal.new("0.95")},
83 - %History.Tokens.Token{name: "Yearn.Finance", symbol: "yfi", collateral: true, collateral_weight: Decimal.new("0.9")},
4 + %History.Tokens.Token{name: "0x", symbol: "zrx"},
5 + %History.Tokens.Token{name: "1inch", symbol: "1inch"},
6 + %History.Tokens.Token{name: "Aave", symbol: "aave"},
7 + %History.Tokens.Token{name: "Ada", symbol: "ada"},
8 + %History.Tokens.Token{name: "Alchemix", symbol: "alcx"},
9 + %History.Tokens.Token{name: "Algorand", symbol: "algo"},
10 + %History.Tokens.Token{name: "Alpha Finance", symbol: "alpha"},
11 + %History.Tokens.Token{name: "Ampleforth", symbol: "ampl"},
12 + %History.Tokens.Token{name: "AscendEx", symbol: "asd"},
13 + %History.Tokens.Token{name: "Audius", symbol: "audio"},
14 + %History.Tokens.Token{name: "Avalanche", symbol: "avax"},
15 + %History.Tokens.Token{name: "Axie Infinity", symbol: "axs"},
16 + %History.Tokens.Token{name: "Badger DAO", symbol: "badger"},
17 + %History.Tokens.Token{name: "BakerySwap", symbol: "bake"},
18 + %History.Tokens.Token{name: "Balancer", symbol: "bal"},
19 + %History.Tokens.Token{name: "Bancor", symbol: "bnt"},
20 + %History.Tokens.Token{name: "Band Protocol", symbol: "band"},
21 + %History.Tokens.Token{name: "Bao", symbol: "bao"},
22 + %History.Tokens.Token{name: "Binance Coin", symbol: "bnb"},
23 + %History.Tokens.Token{name: "Binance USD", symbol: "busd"},
24 + %History.Tokens.Token{name: "Bitcoin Cash", symbol: "bch"},
25 + %History.Tokens.Token{name: "Bitcoin", symbol: "btc"},
26 + %History.Tokens.Token{name: "Bonfida", symbol: "fida"},
27 + %History.Tokens.Token{name: "BurgerSwap", symbol: "burger"},
28 + %History.Tokens.Token{name: "C.R.E.A.M", symbol: "cream"},
29 + %History.Tokens.Token{name: "Celo", symbol: "celo"},
30 + %History.Tokens.Token{name: "Celsius Token", symbol: "cel"},
31 + %History.Tokens.Token{name: "Chainlink", symbol: "link"},
32 + %History.Tokens.Token{name: "Chiliz", symbol: "comp"},
33 + %History.Tokens.Token{name: "Compound USDT", symbol: "cusdt"},
34 + %History.Tokens.Token{name: "Compound", symbol: "chz"},
35 + %History.Tokens.Token{name: "Convergence", symbol: "conv"},
36 + %History.Tokens.Token{name: "Cosmos", symbol: "atom"},
37 + %History.Tokens.Token{name: "Crypto.com", symbol: "cro"},
38 + %History.Tokens.Token{name: "Curve DAO Token", symbol: "crv"},
39 + %History.Tokens.Token{name: "DODO", symbol: "dodo"},
40 + %History.Tokens.Token{name: "Dai", symbol: "dai"},
41 + %History.Tokens.Token{name: "Dent", symbol: "dent"},
42 + %History.Tokens.Token{name: "Dogecoin", symbol: "doge"},
43 + %History.Tokens.Token{name: "EOS", symbol: "eos"},
44 + %History.Tokens.Token{name: "Enjin Coin", symbol: "enj"},
45 + %History.Tokens.Token{name: "Ethereum", symbol: "eth"},
46 + %History.Tokens.Token{name: "FTX Token", symbol: "ftt"},
47 + %History.Tokens.Token{name: "Fantom", symbol: "ftm"},
48 + %History.Tokens.Token{name: "HXRO", symbol: "hxro"},
49 + %History.Tokens.Token{name: "Holy Trinity Pool", symbol: "holy"},
50 + %History.Tokens.Token{name: "Huobi Token", symbol: "ht"},
51 + %History.Tokens.Token{name: "KeeperDAO", symbol: "rook"},
52 + %History.Tokens.Token{name: "Kin", symbol: "kin"},
53 + %History.Tokens.Token{name: "Kyber Network", symbol: "knc"},
54 + %History.Tokens.Token{name: "LEO", symbol: "leo"},
55 + %History.Tokens.Token{name: "Litecoin", symbol: "ltc"},
56 + %History.Tokens.Token{name: "Loopring", symbol: "lrc"},
57 + %History.Tokens.Token{name: "Maker", symbol: "mkr"},
58 + %History.Tokens.Token{name: "Matic", symbol: "matic"},
59 + %History.Tokens.Token{name: "OKB", symbol: "okb"},
60 + %History.Tokens.Token{name: "OMG Network", symbol: "omg"},
61 + %History.Tokens.Token{name: "Oxygen", symbol: "oxy"},
62 + %History.Tokens.Token{name: "PAX Gold", symbol: "paxg"},
63 + %History.Tokens.Token{name: "PancakeSwap", symbol: "cake"},
64 + %History.Tokens.Token{name: "Paxos Standard", symbol: "pax"},
65 + %History.Tokens.Token{name: "Polkadot", symbol: "dot"},
66 + %History.Tokens.Token{name: "Polygon", symbol: "matic"},
67 + %History.Tokens.Token{name: "Pundi X", symbol: "pundix"},
68 + %History.Tokens.Token{name: "REN", symbol: "ren"},
69 + %History.Tokens.Token{name: "Raydium", symbol: "ray"},
70 + %History.Tokens.Token{name: "Reef Finance", symbol: "reef"},
71 + %History.Tokens.Token{name: "SKALE", symbol: "skl"},
72 + %History.Tokens.Token{name: "Serum Ecosystem Token", symbol: "seco"},
73 + %History.Tokens.Token{name: "Serum", symbol: "srm"},
74 + %History.Tokens.Token{name: "Shiba Inu", symbol: "shib"},
75 + %History.Tokens.Token{name: "Solana", symbol: "sol"},
76 + %History.Tokens.Token{name: "Storj", symbol: "storj"},
77 + %History.Tokens.Token{name: "Sushi", symbol: "sushi"},
78 + %History.Tokens.Token{name: "Swipe", symbol: "sxp"},
79 + %History.Tokens.Token{name: "Synthetix", symbol: "snx"},
80 + %History.Tokens.Token{name: "Tether Gold", symbol: "xaut"},
81 + %History.Tokens.Token{name: "Tether", symbol: "usdt"},
82 + %History.Tokens.Token{name: "The Graph", symbol: "grt"},
83 + %History.Tokens.Token{name: "Thorchain", symbol: "rune"},
84 + %History.Tokens.Token{name: "TomoChain", symbol: "tomo"},
85 + %History.Tokens.Token{name: "Travala", symbol: "ava"},
86 + %History.Tokens.Token{name: "Tron", symbol: "trx"},
87 + %History.Tokens.Token{name: "TrueUSD", symbol: "tusd"},
88 + %History.Tokens.Token{name: "USD Coin", symbol: "usdc"},
89 + %History.Tokens.Token{name: "USD", symbol: "usd"},
90 + %History.Tokens.Token{name: "Uniswap", symbol: "uni"},
91 + %History.Tokens.Token{name: "Waves", symbol: "waves"},
92 + %History.Tokens.Token{name: "Wrapped BTC", symbol: "wbtc"},
93 + %History.Tokens.Token{name: "XRP", symbol: "xrp"},
94 + %History.Tokens.Token{name: "Yearn.Finance", symbol: "yfi"},
84 95 ]
85 96 |> Enum.map(fn s ->
86 97 case History.Repo.one(
  @@ -1071,6 +1071,9 @@ select {
1071 1071 .max-h-full {
1072 1072 max-height: 100%;
1073 1073 }
1074 + .max-h-64 {
1075 + max-height: 16rem;
1076 + }
1074 1077 .max-h-40 {
1075 1078 max-height: 10rem;
1076 1079 }
  @@ -1155,6 +1158,15 @@ select {
1155 1158 .w-52 {
1156 1159 width: 13rem;
1157 1160 }
1161 + .w-96 {
1162 + width: 24rem;
1163 + }
1164 + .w-7\/12 {
1165 + width: 58.333333%;
1166 + }
1167 + .w-5\/12 {
1168 + width: 41.666667%;
1169 + }
1158 1170 .w-3\/4 {
1159 1171 width: 75%;
1160 1172 }
  @@ -1409,6 +1421,11 @@ select {
1409 1421 --tw-divide-opacity: 1;
1410 1422 border-color: rgba(229, 231, 235, var(--tw-divide-opacity));
1411 1423 }
1424 + .place-self-center {
1425 + align-self: center;
1426 + justify-self: center;
1427 + place-self: center;
1428 + }
1412 1429 .self-end {
1413 1430 align-self: flex-end;
1414 1431 }
  @@ -1464,6 +1481,14 @@ select {
1464 1481 border-bottom-right-radius: 1rem;
1465 1482 border-bottom-left-radius: 1rem;
1466 1483 }
1484 + .rounded-l-lg {
1485 + border-top-left-radius: 0.5rem;
1486 + border-bottom-left-radius: 0.5rem;
1487 + }
1488 + .rounded-r-lg {
1489 + border-top-right-radius: 0.5rem;
1490 + border-bottom-right-radius: 0.5rem;
1491 + }
1467 1492 .border {
1468 1493 border-width: 1px;
1469 1494 }
  @@ -1473,6 +1498,9 @@ select {
1473 1498 .border-\[3px\] {
1474 1499 border-width: 3px;
1475 1500 }
1501 + .border-0 {
1502 + border-width: 0px;
1503 + }
1476 1504 .border-t-2 {
1477 1505 border-top-width: 2px;
1478 1506 }
  @@ -1485,6 +1513,9 @@ select {
1485 1513 .border-r {
1486 1514 border-right-width: 1px;
1487 1515 }
1516 + .border-l {
1517 + border-left-width: 1px;
1518 + }
1488 1519 .border-dashed {
1489 1520 border-style: dashed;
1490 1521 }
  @@ -1511,6 +1542,14 @@ select {
1511 1542 .border-transparent {
1512 1543 border-color: transparent;
1513 1544 }
1545 + .border-gray-600 {
1546 + --tw-border-opacity: 1;
1547 + border-color: rgba(75, 85, 99, var(--tw-border-opacity));
1548 + }
1549 + .border-blue-700 {
1550 + --tw-border-opacity: 1;
1551 + border-color: rgba(29, 78, 216, var(--tw-border-opacity));
1552 + }
1514 1553 .border-gray-300 {
1515 1554 --tw-border-opacity: 1;
1516 1555 border-color: rgba(209, 213, 219, var(--tw-border-opacity));
  @@ -1579,6 +1618,10 @@ select {
1579 1618 --tw-bg-opacity: 1;
1580 1619 background-color: rgba(236, 253, 245, var(--tw-bg-opacity));
1581 1620 }
1621 + .bg-gray-400 {
1622 + --tw-bg-opacity: 1;
1623 + background-color: rgba(156, 163, 175, var(--tw-bg-opacity));
1624 + }
1582 1625 .bg-gray-900 {
1583 1626 --tw-bg-opacity: 1;
1584 1627 background-color: rgba(17, 24, 39, var(--tw-bg-opacity));
  @@ -1611,9 +1654,9 @@ select {
1611 1654 --tw-bg-opacity: 1;
1612 1655 background-color: rgba(237, 233, 254, var(--tw-bg-opacity));
1613 1656 }
1614 - .bg-gray-400 {
1657 + .bg-blue-700 {
1615 1658 --tw-bg-opacity: 1;
1616 - background-color: rgba(156, 163, 175, var(--tw-bg-opacity));
1659 + background-color: rgba(29, 78, 216, var(--tw-bg-opacity));
1617 1660 }
1618 1661 .bg-yellow-200 {
1619 1662 --tw-bg-opacity: 1;
  @@ -1735,6 +1778,9 @@ select {
1735 1778 .pb-4 {
1736 1779 padding-bottom: 1rem;
1737 1780 }
1781 + .pl-2 {
1782 + padding-left: 0.5rem;
1783 + }
1738 1784 .pt-3 {
1739 1785 padding-top: 0.75rem;
1740 1786 }
  @@ -1961,6 +2007,11 @@ select {
1961 2007 box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
1962 2008 box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
1963 2009 }
2010 + .shadow-md {
2011 + --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
2012 + box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
2013 + box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
2014 + }
1964 2015 .shadow-sm {
1965 2016 --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
1966 2017 box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
  @@ -2116,6 +2167,10 @@ select {
2116 2167 --tw-text-opacity: 1;
2117 2168 color: rgba(31, 41, 55, var(--tw-text-opacity));
2118 2169 }
2170 + .focus\:outline-none:focus {
2171 + outline: 2px solid transparent;
2172 + outline-offset: 2px;
2173 + }
2119 2174 .focus\:ring-1:focus {
2120 2175 --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2121 2176 --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  @@ -2126,6 +2181,9 @@ select {
2126 2181 --tw-ring-opacity: 1;
2127 2182 --tw-ring-color: rgba(156, 163, 175, var(--tw-ring-opacity));
2128 2183 }
2184 + .focus\:ring-transparent:focus {
2185 + --tw-ring-color: transparent;
2186 + }
2129 2187 .active\:opacity-25:active {
2130 2188 opacity: 0.25;
2131 2189 }
Loading more files…