@velora-dex/widget 0.6.1-dev.4 → 0.7.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 (24) hide show
  1. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  2. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +77 -67
  3. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  4. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts +3 -0
  5. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
  6. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +71 -23
  7. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
  9. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  10. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +123 -110
  11. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  12. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -0
  13. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  14. package/dist/components/widget/LimitOrderItem/utils.js +4 -1
  15. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  16. package/dist/core/Warnings.d.ts.map +1 -1
  17. package/dist/core/Warnings.js +38 -38
  18. package/dist/core/Warnings.js.map +1 -1
  19. package/dist/hooks/swap/prices/delta/orders/utils.js +1 -1
  20. package/dist/lib/utils/twap.d.ts +5 -0
  21. package/dist/lib/utils/twap.d.ts.map +1 -1
  22. package/dist/lib/utils/twap.js +8 -1
  23. package/dist/lib/utils/twap.js.map +1 -1
  24. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAe/C,OAAO,EAAY,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAWpE,eAAO,MAAM,iBAAiB,GAAI,4CAG/B;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,GAAG,IAAI,CACN,uBAAuB,EACvB,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAC/C,4CAyDA,CAAC"}
1
+ {"version":3,"file":"LimitOrderDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAoB/C,OAAO,EAAY,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAWpE,eAAO,MAAM,iBAAiB,GAAI,4CAG/B;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,GAAG,IAAI,CACN,uBAAuB,EACvB,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAC/C,4CAqEA,CAAC"}
@@ -1,84 +1,94 @@
1
1
  import { isTruthy as e } from "../../../../lib/utils/index.js";
2
2
  import { HALF_MINUTE_MS as t } from "../../../../lib/constants/time.js";
3
- import { DeltaOrderStatusChecker as n } from "../../../../hooks/swap/prices/delta/orders/utils.js";
4
- import { useWatchDeltaAuction as r } from "../../../../hooks/swap/prices/delta/queries/useWatchDeltaOrder.js";
5
- import { DetailWithValueList as i } from "../../Details/DetailWithValueList.js";
6
- import { isLimitOrderWithExtra as a } from "../utils.js";
7
- import { PayReceiveInfo as o } from "../../PayReceiveInfo/PayReceiveInfo.js";
8
- import { constructExpiresInDetail as s, constructOrderRateDetail as c, constructOrderStatusDetail as l, constructOrderTypeDetail as u, constructPayReceiveInfoProps as d, constructSubmitDateDetail as f } from "./utils.js";
9
- import { Controls as p } from "./Controls.js";
10
- import { c as m } from "react-compiler-runtime";
11
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
3
+ import { DeltaOrderStatusChecker as n, isTwapAuction as r } from "../../../../hooks/swap/prices/delta/orders/utils.js";
4
+ import { useWatchDeltaAuction as i } from "../../../../hooks/swap/prices/delta/queries/useWatchDeltaOrder.js";
5
+ import { DetailWithValueList as a } from "../../Details/DetailWithValueList.js";
6
+ import { isLimitOrderWithExtra as o } from "../utils.js";
7
+ import { PayReceiveInfo as s } from "../../PayReceiveInfo/PayReceiveInfo.js";
8
+ import { constructExpiresInDetail as c, constructOrderRateDetail as l, constructOrderStatusDetail as u, constructOrderTypeDetail as d, constructPayReceiveInfoProps as f, constructSubmitDateDetail as p, constructTwapDurationDetail as m, constructTwapSplitsDetail as h } from "./utils.js";
9
+ import { Controls as g } from "./Controls.js";
10
+ import { c as _ } from "react-compiler-runtime";
11
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
12
12
  //#region src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx
13
- var _ = {
13
+ var b = {
14
14
  root: "pt-4 gap-4",
15
15
  title: "text-contrast-5 dark:text-contrast-6",
16
16
  value: "text-contrast-4 dark:text-contrast-6"
17
- }, v = (v) => {
18
- let y = m(34), b, x;
19
- y[0] === v ? (b = y[1], x = y[2]) : ({order: x, ...b} = v, y[0] = v, y[1] = b, y[2] = x);
20
- let S = x.id, C;
21
- y[3] === x.status ? C = y[4] : (C = n.completed.has(x.status), y[3] = x.status, y[4] = C);
22
- let w = !C, T;
23
- y[5] !== x.extra || y[6] !== x.itemType ? (T = (e) => e ? {
17
+ }, x = (x) => {
18
+ let S = _(40), C, w;
19
+ S[0] === x ? (C = S[1], w = S[2]) : ({order: w, ...C} = x, S[0] = x, S[1] = C, S[2] = w);
20
+ let T = w.id, E;
21
+ S[3] === w.status ? E = S[4] : (E = n.completed.has(w.status), S[3] = w.status, S[4] = E);
22
+ let D = !E, O;
23
+ S[5] !== w.extra || S[6] !== w.itemType ? (O = (e) => e ? {
24
24
  ...e,
25
- extra: x.extra,
26
- itemType: x.itemType
27
- } : null, y[5] = x.extra, y[6] = x.itemType, y[7] = T) : T = y[7];
28
- let E, D, O;
29
- y[8] === b?.logger ? (E = y[9], D = y[10], O = y[11]) : (E = (e) => {
30
- b?.logger?.log("Delta Order success", e);
31
- }, D = (e) => {
32
- b?.logger?.log("Delta Order failure", e);
33
- }, O = (e) => {
34
- b?.logger?.log("Delta Order updated", e);
35
- }, y[8] = b?.logger, y[9] = E, y[10] = D, y[11] = O);
36
- let k;
37
- y[12] !== x.id || y[13] !== w || y[14] !== T || y[15] !== E || y[16] !== D || y[17] !== O ? (k = {
38
- orderId: S,
25
+ extra: w.extra,
26
+ itemType: w.itemType
27
+ } : null, S[5] = w.extra, S[6] = w.itemType, S[7] = O) : O = S[7];
28
+ let k, A, j;
29
+ S[8] === C?.logger ? (k = S[9], A = S[10], j = S[11]) : (k = (e) => {
30
+ C?.logger?.log("Delta Order success", e);
31
+ }, A = (e) => {
32
+ C?.logger?.log("Delta Order failure", e);
33
+ }, j = (e) => {
34
+ C?.logger?.log("Delta Order updated", e);
35
+ }, S[8] = C?.logger, S[9] = k, S[10] = A, S[11] = j);
36
+ let M;
37
+ S[12] !== w.id || S[13] !== D || S[14] !== O || S[15] !== k || S[16] !== A || S[17] !== j ? (M = {
38
+ orderId: T,
39
39
  refetchInterval: t,
40
- enabled: w,
41
- select: T,
42
- onAuctionSuccess: E,
43
- onAuctionFailure: D,
44
- onUpdatedAuction: O
45
- }, y[12] = x.id, y[13] = w, y[14] = T, y[15] = E, y[16] = D, y[17] = O, y[18] = k) : k = y[18];
46
- let { data: A } = r(k), j = A ?? x, M;
47
- y[19] === j ? M = y[20] : (M = a(j) && d(j), y[19] = j, y[20] = M);
48
- let N = M, P;
49
- if (y[21] !== j) {
50
- let t = n.pending.has(j.status) || n.executing.has(j.status);
51
- P = [
52
- f(j),
53
- t && s({ deadline: j.order.deadline }),
54
- c(j),
55
- l(j),
56
- u(j)
57
- ].filter(e), y[21] = j, y[22] = P;
58
- } else P = y[22];
59
- let F = P, I;
60
- y[23] === N ? I = y[24] : (I = N && /* @__PURE__ */ h(o, { ...N }), y[23] = N, y[24] = I);
61
- let L;
62
- y[25] === F ? L = y[26] : (L = /* @__PURE__ */ h(i, {
63
- details: F,
64
- classes: _
65
- }), y[25] = F, y[26] = L);
40
+ enabled: D,
41
+ select: O,
42
+ onAuctionSuccess: k,
43
+ onAuctionFailure: A,
44
+ onUpdatedAuction: j
45
+ }, S[12] = w.id, S[13] = D, S[14] = O, S[15] = k, S[16] = A, S[17] = j, S[18] = M) : M = S[18];
46
+ let { data: N } = i(M), P = N ?? w, F;
47
+ S[19] === P ? F = S[20] : (F = o(P) && f(P), S[19] = P, S[20] = F);
48
+ let I = F, L;
49
+ if (S[21] !== P) {
50
+ let t = n.pending.has(P.status) || n.executing.has(P.status);
51
+ if (r(P)) {
52
+ let e = p(P), t = l(P), n = m(P), r = h(P), i = u(P), a;
53
+ S[23] !== e || S[24] !== t || S[25] !== n || S[26] !== r || S[27] !== i ? (a = [
54
+ e,
55
+ t,
56
+ n,
57
+ r,
58
+ i
59
+ ], S[23] = e, S[24] = t, S[25] = n, S[26] = r, S[27] = i, S[28] = a) : a = S[28], L = a;
60
+ } else L = [
61
+ p(P),
62
+ t && c({ deadline: P.order.deadline }),
63
+ l(P),
64
+ u(P),
65
+ d(P)
66
+ ].filter(e);
67
+ S[21] = P, S[22] = L;
68
+ } else L = S[22];
66
69
  let R;
67
- y[27] !== b || y[28] !== j ? (R = /* @__PURE__ */ h(p, {
68
- order: j,
69
- ...b
70
- }), y[27] = b, y[28] = j, y[29] = R) : R = y[29];
70
+ S[29] === I ? R = S[30] : (R = I && /* @__PURE__ */ v(s, { ...I }), S[29] = I, S[30] = R);
71
71
  let z;
72
- return y[30] !== I || y[31] !== L || y[32] !== R ? (z = /* @__PURE__ */ g("div", {
72
+ S[31] === L ? z = S[32] : (z = /* @__PURE__ */ v(a, {
73
+ details: L,
74
+ classes: b
75
+ }), S[31] = L, S[32] = z);
76
+ let B;
77
+ S[33] !== C || S[34] !== P ? (B = /* @__PURE__ */ v(g, {
78
+ order: P,
79
+ ...C
80
+ }), S[33] = C, S[34] = P, S[35] = B) : B = S[35];
81
+ let V;
82
+ return S[36] !== R || S[37] !== z || S[38] !== B ? (V = /* @__PURE__ */ y("div", {
73
83
  className: "px-6 pb-8 min-h-[470px] flex flex-col",
74
84
  children: [
75
- I,
76
- L,
77
- R
85
+ R,
86
+ z,
87
+ B
78
88
  ]
79
- }), y[30] = I, y[31] = L, y[32] = R, y[33] = z) : z = y[33], z;
89
+ }), S[36] = R, S[37] = z, S[38] = B, S[39] = V) : V = S[39], V;
80
90
  };
81
91
  //#endregion
82
- export { v as LimitOrderDetails };
92
+ export { x as LimitOrderDetails };
83
93
 
84
94
  //# sourceMappingURL=LimitOrderDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","t10","overallPending","pending","executing","deadline","filter","details","t11","t12","t13","t14"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"sourcesContent":["import type { LimitOrderItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\nimport { useWatchDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const LimitOrderDetails = ({\n order: selectedOrder,\n ...controlsProps\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<\n LimitOrderControlsProps,\n \"onCancelSuccess\" | \"onCancelError\" | \"logger\"\n>) => {\n // @TODO polling for OtcOrdeItem\n // Watch delta order if it's selected to get real-time updates on its status\n const { data: lastDeltaOrderState } =\n useWatchDeltaAuction<LimitOrderItem | null>({\n orderId: selectedOrder.id,\n refetchInterval: HALF_MINUTE_MS,\n enabled:\n // do not enable extra fetch for completed orders\n !DeltaOrderStatusChecker.completed.has(selectedOrder.status),\n select: (auction) => {\n if (!auction) return null;\n return {\n ...auction,\n // reuse existing order item data\n extra: selectedOrder.extra,\n itemType: selectedOrder.itemType,\n };\n },\n onAuctionSuccess: (order) => {\n controlsProps?.logger?.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n controlsProps?.logger?.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n controlsProps?.logger?.log(\"Delta Order updated\", order);\n },\n });\n\n const order = lastDeltaOrderState ?? selectedOrder;\n\n const payReceiveInfoProps =\n isLimitOrderWithExtra(order) && constructPayReceiveInfoProps(order);\n\n const overallPending =\n DeltaOrderStatusChecker.pending.has(order.status) ||\n DeltaOrderStatusChecker.executing.has(order.status);\n\n const details: DetailWithValue[] = [\n constructSubmitDateDetail(order),\n overallPending &&\n constructExpiresInDetail({\n deadline: order.order.deadline,\n }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n\n return (\n <div className=\"px-6 pb-8 min-h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...controlsProps} />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","isTwapAuction","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructTwapSplitsDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","constructTwapDurationDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","details","overallPending","pending","executing","isTwap","t10","t11","t12","t13","t14","t15","deadline","filter"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"sourcesContent":["import type { LimitOrderItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport {\n DeltaOrderStatusChecker,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructTwapSplitsDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n constructTwapDurationDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\nimport { useWatchDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const LimitOrderDetails = ({\n order: selectedOrder,\n ...controlsProps\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<\n LimitOrderControlsProps,\n \"onCancelSuccess\" | \"onCancelError\" | \"logger\"\n>) => {\n // @TODO polling for OtcOrdeItem\n // Watch delta order if it's selected to get real-time updates on its status\n const { data: lastDeltaOrderState } =\n useWatchDeltaAuction<LimitOrderItem | null>({\n orderId: selectedOrder.id,\n refetchInterval: HALF_MINUTE_MS,\n enabled:\n // do not enable extra fetch for completed orders\n !DeltaOrderStatusChecker.completed.has(selectedOrder.status),\n select: (auction) => {\n if (!auction) return null;\n return {\n ...auction,\n // reuse existing order item data\n extra: selectedOrder.extra,\n itemType: selectedOrder.itemType,\n };\n },\n onAuctionSuccess: (order) => {\n controlsProps?.logger?.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n controlsProps?.logger?.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n controlsProps?.logger?.log(\"Delta Order updated\", order);\n },\n });\n\n const order = lastDeltaOrderState ?? selectedOrder;\n\n const payReceiveInfoProps =\n isLimitOrderWithExtra(order) && constructPayReceiveInfoProps(order);\n\n const overallPending =\n DeltaOrderStatusChecker.pending.has(order.status) ||\n DeltaOrderStatusChecker.executing.has(order.status);\n const isTwap = isTwapAuction(order);\n\n let details: DetailWithValue[];\n if (isTwap) {\n details = [\n constructSubmitDateDetail(order),\n constructOrderRateDetail(order),\n constructTwapDurationDetail(order),\n constructTwapSplitsDetail(order),\n constructOrderStatusDetail(order),\n ];\n } else {\n details = [\n constructSubmitDateDetail(order),\n overallPending &&\n constructExpiresInDetail({\n deadline: order.order.deadline,\n }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n }\n\n return (\n <div className=\"px-6 pb-8 min-h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...controlsProps} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAyBA,IAAMoB,IAAiB;CACrBC,MAAM;CACNC,OAAO;CACPC,OAAO;CACR,EAEYC,KAAoBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC,GAAAC;AAAA,CAAAH,EAAA,OAAAD,KAShCG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OATiC,CAAAI,OAAAD,MAAAD,KAAAH,GASjCC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAKc,IAAAE,IAAAF,EAAaG,IAAGC;AAAA,CAAAP,EAAA,OAAAG,EAAAK,SAIqCD,IAAAP,EAAA,MAA3DO,IAAA7B,EAAuB+B,UAAUC,IAAKP,EAAaK,OAAQ,EAAAR,EAAA,KAAAG,EAAAK,QAAAR,EAAA,KAAAO;CAA5D,IAAAI,IAAA,CAACJ,GAA2DK;AAAA,CAAAZ,EAAA,OAAAG,EAAAU,SAAAb,EAAA,OAAAG,EAAAW,YACtDF,KAAAG,MACDA,IACE;EAAA,GACFA;EAAOF,OAEHV,EAAaU;EAAMC,UAChBX,EAAaW;EACxB,GANoB,MAOtBd,EAAA,KAAAG,EAAAU,OAAAb,EAAA,KAAAG,EAAAW,UAAAd,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAgB,GAAAC,GAAAC;AAAA,CAAAlB,EAAA,OAAAE,GAAAiB,UASAH,IAAAhB,EAAA,IAAAiB,IAAAjB,EAAA,KAAAkB,IAAAlB,EAAA,QARiBgB,KAAAZ,MAAA;AAChBF,KAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IAExCa,KAAAI,MAAA;AAChBnB,KAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IAExCc,KAAAI,MAAA;AAChBpB,KAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IACzDJ,EAAA,KAAAE,GAAAiB,QAAAnB,EAAA,KAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB;CAAA,IAAAK;AAAA,CAAAvB,EAAA,QAAAG,EAAAG,MAAAN,EAAA,QAAAW,KAAAX,EAAA,QAAAY,KAAAZ,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAkB,KAvByCK,IAAA;EAAAC,SACjCnB;EAAgBoB,iBACRhC;EAAciC,SAG7Bf;EAA4DgB,QACtDf;EAQPgB,kBACiBZ;EAEjBa,kBACiBZ;EAEjBa,kBACiBZ;EAGnB,EAAAlB,EAAA,MAAAG,EAAAG,IAAAN,EAAA,MAAAW,GAAAX,EAAA,MAAAY,GAAAZ,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAuB,KAAAA,IAAAvB,EAAA;CAzBH,IAAA,EAAA+B,MAAAC,MACExC,EAA4C+B,EAwB1C,EAEJU,IAAcD,KAAA7B,GAAqC+B;AAAA,CAAAlC,EAAA,QAAAiC,IAGkBC,IAAAlC,EAAA,OAAnEkC,IAAA3C,EAAsBa,EAA6C,IAAnClB,EAA6BkB,EAAM,EAAAJ,EAAA,MAAAiC,GAAAjC,EAAA,MAAAkC;CADrE,IAAAC,IACED,GAAoEE;AAAA,KAAApC,EAAA,QAAAiC,GAAA;EAEtE,IAAAI,IACE3D,EAAuB4D,QAAQ5B,IAAKN,EAAKI,OACU,IAAnD9B,EAAuB6D,UAAU7B,IAAKN,EAAKI,OAAQ;AAIrD,MAHe7B,EAAcyB,EAAM,EAGzB;GAEN,IAAAqC,IAAAtD,EAA0BiB,EAAM,EAChCsC,IAAA5D,EAAyBsB,EAAM,EAC/BuC,IAAAvD,EAA4BgB,EAAM,EAClCwC,IAAA7D,EAA0BqB,EAAM,EAChCyC,IAAA7D,EAA2BoB,EAAM,EAAA0C;AALnCV,GAKmCpC,EAAA,QAAAyC,KAAAzC,EAAA,QAAA0C,KAAA1C,EAAA,QAAA2C,KAAA3C,EAAA,QAAA4C,KAAA5C,EAAA,QAAA6C,KALzBC,IAAA;IACRL;IACAC;IACAC;IACAC;IACAC;IACD,EAAA7C,EAAA,MAAAyC,GAAAzC,EAAA,MAAA0C,GAAA1C,EAAA,MAAA2C,GAAA3C,EAAA,MAAA4C,GAAA5C,EAAA,MAAA6C,GAAA7C,EAAA,MAAA8C,KAAAA,IAAA9C,EAAA,KANDoC,IAAUA;QAQVA,KAAUA;GACRjD,EAA0BiB,EAAM;GAChCiC,KACExD,EAAyB,EAAAkE,UACb3C,EAAKA,MAAM2C,UACtB,CAAC;GACJjE,EAAyBsB,EAAM;GAC/BpB,EAA2BoB,EAAM;GACjCnB,EAAyBmB,EAAM;GAChC,CAAA4C,OAAQxE,EAAS;AACnBwB,EAAAA,EAAA,MAAAiC,GAAAjC,EAAA,MAAAoC;OAAAA,KAAApC,EAAA;CAAA,IAAAyC;AAAA,CAAAzC,EAAA,QAAAmC,IAIsEM,IAAAzC,EAAA,OAAlEyC,IAAAN,KAAuB,kBAAC,GAAD,EAAe,GAAKA,GAAuB,CAAA,EAAAnC,EAAA,MAAAmC,GAAAnC,EAAA,MAAAyC;CAAA,IAAAC;AAAA,CAAA1C,EAAA,QAAAoC,IACDM,IAAA1C,EAAA,OAAlE0C,IAAA,kBAAC,GAAD;EAA8BN;EAAkB1C,SAAAA;EAAkB,CAAA,EAAAM,EAAA,MAAAoC,GAAApC,EAAA,MAAA0C;CAAA,IAAAC;AAAA,CAAA3C,EAAA,QAAAE,KAAAF,EAAA,QAAAiC,KAClEU,IAAA,kBAAC,GAAD;EAAiBvC,OAAAA;EAAK,GAAMF;EAAiB,CAAA,EAAAF,EAAA,MAAAE,GAAAF,EAAA,MAAAiC,GAAAjC,EAAA,MAAA2C,KAAAA,IAAA3C,EAAA;CAAA,IAAA4C;AACzC,QADyC5C,EAAA,QAAAyC,KAAAzC,EAAA,QAAA0C,KAAA1C,EAAA,QAAA2C,KAH/CC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACGH;GACDC;GACAC;GACI;KAAA3C,EAAA,MAAAyC,GAAAzC,EAAA,MAAA0C,GAAA1C,EAAA,MAAA2C,GAAA3C,EAAA,MAAA4C,KAAAA,IAAA5C,EAAA,KAJN4C"}
@@ -1,6 +1,7 @@
1
1
  import { LimitOrderItem, LimitOrderItemExtra, RequiredLimitOrderItemExtra } from '../types';
2
2
  import { DetailWithValue } from '../../Details/types';
3
3
  import { PayReceiveInfoProps } from '../../PayReceiveInfo/types';
4
+ import { DeltaAuctionWithTwapOrder } from '../../../../hooks/swap/prices/delta/orders/types';
4
5
  export declare function constructSubmitDateDetail({ createdAt, }: {
5
6
  createdAt: string | number;
6
7
  }): DetailWithValue;
@@ -10,6 +11,8 @@ export declare function constructExpiresInDetail({ deadline, }: {
10
11
  export declare function constructOrderRateDetail({ extra, }: {
11
12
  extra: LimitOrderItemExtra;
12
13
  }): DetailWithValue;
14
+ export declare function constructTwapDurationDetail(order: DeltaAuctionWithTwapOrder): DetailWithValue;
15
+ export declare function constructTwapSplitsDetail(order: DeltaAuctionWithTwapOrder): DetailWithValue;
13
16
  export declare function constructOrderStatusDetail(order: LimitOrderItem): DetailWithValue;
14
17
  export declare function constructOrderTypeDetail(order: LimitOrderItem): DetailWithValue;
15
18
  export declare function constructPayReceiveInfoProps({ extra, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAMD,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAOlB;AAOD,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAQD,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,GACN,EAAE;IACD,KAAK,EAAE,2BAA2B,CAAC;CACpC,GAAG,mBAAmB,CAsCtB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAKxF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAMD,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAOlB;AAOD,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,yBAAyB,GAC/B,eAAe,CAuCjB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,yBAAyB,GAC/B,eAAe,CAoBjB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAQD,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,GACN,EAAE;IACD,KAAK,EAAE,2BAA2B,CAAC;CACpC,GAAG,mBAAmB,CAsCtB"}
@@ -1,63 +1,111 @@
1
- import { formatTokenAmount as e } from "../../../../lib/utils/formatTokenBalance.js";
2
- import { Rate as t, StatusBadge as n, TimeTillExpiry as r } from "../LimitOrderListItem.js";
3
- import { jsx as i } from "react/jsx-runtime";
4
- import a from "dayjs";
1
+ import "../../../../lib/constants/time.js";
2
+ import { getTwapAuctionDeadlines as e } from "../../../../lib/utils/twap.js";
3
+ import { formatTokenAmount as t } from "../../../../lib/utils/formatTokenBalance.js";
4
+ import { Duration as n } from "../../Duration/Duration.js";
5
+ import { Rate as r, StatusBadge as i, TimeTillExpiry as a } from "../LimitOrderListItem.js";
6
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ import l from "dayjs";
5
8
  //#region src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx
6
- function o({ createdAt: e }) {
9
+ function u({ createdAt: e }) {
7
10
  return {
8
11
  title: "Submit Date",
9
- value: a(e).format("DD MMM YYYY h:mm A")
12
+ value: l(e).format("DD MMM YYYY h:mm A")
10
13
  };
11
14
  }
12
- var s = { root: "dark:text-contrast-6" };
13
- function c({ deadline: e }) {
15
+ var d = { root: "dark:text-contrast-6" };
16
+ function f({ deadline: e }) {
14
17
  return {
15
18
  title: "Expires in",
16
- value: /* @__PURE__ */ i(r, {
19
+ value: /* @__PURE__ */ s(a, {
17
20
  deadline: e,
18
- classes: s
21
+ classes: d
19
22
  })
20
23
  };
21
24
  }
22
- var l = {
25
+ var p = {
23
26
  left: "dark:text-contrast-6",
24
27
  right: "dark:text-contrast-6"
25
28
  };
26
- function u({ extra: e }) {
29
+ function m({ extra: e }) {
27
30
  return {
28
31
  title: "Order Rate",
29
- value: /* @__PURE__ */ i(t, {
32
+ value: /* @__PURE__ */ s(r, {
30
33
  extra: e,
31
- classes: l
34
+ classes: p
32
35
  })
33
36
  };
34
37
  }
35
- function d(e) {
38
+ function h(t) {
39
+ let { endsInMs: r, durationMs: i } = e(t), l = (/* @__PURE__ */ new Date()).getTime(), u = r > l, d = u && r - l <= 6e4;
40
+ return {
41
+ title: "Order Duration",
42
+ value: /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(n, {
43
+ timeMs: i,
44
+ classes: { root: "inline-flex" }
45
+ }), u && /* @__PURE__ */ c(o, { children: [" ", /* @__PURE__ */ c("span", {
46
+ className: "text-contrast-5 dark:text-contrast-5",
47
+ children: [
48
+ "(ends in",
49
+ " ",
50
+ /* @__PURE__ */ s(a, {
51
+ showSeconds: d,
52
+ deadline: r / 1e3,
53
+ classes: { root: "inline-flex text-xs text-contrast-5 dark:text-contrast-5" }
54
+ }),
55
+ ")"
56
+ ]
57
+ })] })] })
58
+ };
59
+ }
60
+ function g(e) {
61
+ return {
62
+ title: "Order Splits",
63
+ value: /* @__PURE__ */ c(o, { children: [
64
+ e.order.numSlices,
65
+ " Parts",
66
+ " ",
67
+ /* @__PURE__ */ c("span", {
68
+ className: "text-contrast-5 dark:text-contrast-5",
69
+ children: [
70
+ "(once every",
71
+ " ",
72
+ /* @__PURE__ */ s(n, {
73
+ timeMs: e.order.interval * 1e3,
74
+ showSeconds: !0,
75
+ classes: { root: "inline-flex text-xs text-contrast-5 dark:text-contrast-5" }
76
+ }),
77
+ ")"
78
+ ]
79
+ })
80
+ ] })
81
+ };
82
+ }
83
+ function _(e) {
36
84
  return {
37
85
  title: "Order Status",
38
- value: /* @__PURE__ */ i(n, { status: e.status })
86
+ value: /* @__PURE__ */ s(i, { status: e.status })
39
87
  };
40
88
  }
41
- function f(e) {
89
+ function v(e) {
42
90
  return {
43
91
  title: "Order Type",
44
92
  value: e.type
45
93
  };
46
94
  }
47
- var p = {
95
+ var y = {
48
96
  amount: "dark:text-contrast-9",
49
97
  symbol: "dark:text-contrast-9",
50
98
  logo: "size-[18px]"
51
99
  };
52
- function m({ extra: t }) {
53
- let { srcToken: n, destToken: r, srcAmountUnit: i, destAmountUnit: a } = t, o = e(i), s = e(a), c = {
100
+ function b({ extra: e }) {
101
+ let { srcToken: n, destToken: r, srcAmountUnit: i, destAmountUnit: a } = e, o = t(i), s = t(a), c = {
54
102
  address: n.address,
55
103
  symbol: n.symbol,
56
104
  chainId: n.network,
57
105
  img: n.img,
58
106
  amount: o,
59
107
  amountPosition: "right",
60
- classes: p,
108
+ classes: y,
61
109
  showNetworkIcon: !0
62
110
  }, l = {
63
111
  address: r.address,
@@ -66,7 +114,7 @@ function m({ extra: t }) {
66
114
  img: r.img,
67
115
  amount: s,
68
116
  amountPosition: "right",
69
- classes: p,
117
+ classes: y,
70
118
  showNetworkIcon: !0
71
119
  };
72
120
  return {
@@ -81,6 +129,6 @@ function m({ extra: t }) {
81
129
  };
82
130
  }
83
131
  //#endregion
84
- export { c as constructExpiresInDetail, u as constructOrderRateDetail, d as constructOrderStatusDetail, f as constructOrderTypeDetail, m as constructPayReceiveInfoProps, o as constructSubmitDateDetail };
132
+ export { f as constructExpiresInDetail, m as constructOrderRateDetail, _ as constructOrderStatusDetail, v as constructOrderTypeDetail, b as constructPayReceiveInfoProps, u as constructSubmitDateDetail, h as constructTwapDurationDetail, g as constructTwapSplitsDetail };
85
133
 
86
134
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","constructOrderStatusDetail","order","status","constructOrderTypeDetail","type","tokenBadgeClasses","amount","symbol","logo","constructPayReceiveInfoProps","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","topTokenBadgeProps","address","chainId","network","img","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","topToken","tokenBadgeProps","label","bottomToken"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport type {\n LimitOrderItem,\n LimitOrderItemExtra,\n RequiredLimitOrderItemExtra,\n} from \"../types\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport type { PayReceiveInfoProps } from \"../../PayReceiveInfo/types\";\nimport { Rate, StatusBadge, TimeTillExpiry } from \"../LimitOrderListItem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { TokenBadgeProps } from \"../../TokenBadge/types\";\n\nexport function constructSubmitDateDetail({\n createdAt,\n}: {\n createdAt: string | number;\n}): DetailWithValue {\n return {\n title: \"Submit Date\",\n value: dayjs(createdAt).format(\"DD MMM YYYY h:mm A\"),\n };\n}\n\nconst timeTillExpiryClasses = {\n root: \"dark:text-contrast-6\",\n};\n\nexport function constructExpiresInDetail({\n deadline,\n}: {\n deadline: number;\n}): DetailWithValue {\n return {\n title: \"Expires in\",\n value: (\n <TimeTillExpiry deadline={deadline} classes={timeTillExpiryClasses} />\n ),\n };\n}\n\nconst rateClasses = {\n left: \"dark:text-contrast-6\",\n right: \"dark:text-contrast-6\",\n};\n\nexport function constructOrderRateDetail({\n extra,\n}: {\n extra: LimitOrderItemExtra;\n}): DetailWithValue {\n return {\n title: \"Order Rate\",\n value: <Rate extra={extra} classes={rateClasses} />,\n };\n}\n\nexport function constructOrderStatusDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Status\",\n value: <StatusBadge status={order.status} />,\n };\n}\n\nexport function constructOrderTypeDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Type\",\n value: order.type,\n };\n}\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\nexport function constructPayReceiveInfoProps({\n extra,\n}: {\n extra: RequiredLimitOrderItemExtra;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n },\n };\n}\n"],"mappings":";;;;;AAYA,SAAgBW,EAA0B,EACxCC,gBAGkB;AAClB,QAAO;EACLC,OAAO;EACPC,OAAOd,EAAMY,EAAU,CAACG,OAAO,qBAAoB;EACpD;;AAGH,IAAMC,IAAwB,EAC5BC,MAAM,wBACP;AAED,SAAgBC,EAAyB,EACvCC,eAGkB;AAClB,QAAO;EACLN,OAAO;EACPC,OACE,kBAAC,GAAD;GAA0BK;GAAU,SAASH;GAAsB,CAAA;EAEtE;;AAGH,IAAMI,IAAc;CAClBC,MAAM;CACNC,OAAO;CACR;AAED,SAAgBC,EAAyB,EACvCC,YAGkB;AAClB,QAAO;EACLX,OAAO;EACPC,OAAO,kBAAC,GAAD;GAAaU;GAAO,SAASJ;GAAY,CAAA;EACjD;;AAGH,SAAgBK,EACdC,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAO,kBAAC,GAAD,EAAa,QAAQY,EAAMC,QAAO,CAAA;EAC1C;;AAGH,SAAgBC,EACdF,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAOY,EAAMG;EACd;;AAGH,IAAMC,IAAoB;CACxBC,QAAQ;CACRC,QAAQ;CACRC,MAAM;CACP;AAED,SAAgBC,EAA6B,EAC3CV,YAGsB;CACtB,IAAM,EAAEW,aAAUC,cAAWC,kBAAeC,sBAAmBd,GAEzDe,IAAqB9B,EAAkB4B,EAAc,EACrDG,IAAsB/B,EAAkB6B,EAAe,EAEvDG,IAAsC;EAC1CC,SAASP,EAASO;EAClBV,QAAQG,EAASH;EACjBW,SAASR,EAASS;EAClBC,KAAKV,EAASU;EACdd,QAAQQ;EACRO,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB,EAEKC,IAAyC;EAC7CR,SAASN,EAAUM;EACnBV,QAAQI,EAAUJ;EAClBW,SAASP,EAAUQ;EACnBC,KAAKT,EAAUS;EACfd,QAAQS;EACRM,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB;AAED,QAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBY,OAAO;GACR;EACDC,aAAa;GACXF,iBAAiBF;GACjBG,OAAO;GACT;EACD"}
1
+ {"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","DeltaAuctionWithTwapOrder","Duration","getTwapAuctionDeadlines","ONE_MINUTE_MS","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","constructTwapDurationDetail","order","endsInMs","durationMs","now","Date","getTime","isFuture","showSecondsInExpiry","constructTwapSplitsDetail","numSlices","interval","constructOrderStatusDetail","status","constructOrderTypeDetail","type","tokenBadgeClasses","amount","symbol","logo","constructPayReceiveInfoProps","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","topTokenBadgeProps","address","chainId","network","img","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","topToken","tokenBadgeProps","label","bottomToken"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport type {\n LimitOrderItem,\n LimitOrderItemExtra,\n RequiredLimitOrderItemExtra,\n} from \"../types\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport type { PayReceiveInfoProps } from \"../../PayReceiveInfo/types\";\nimport { Rate, StatusBadge, TimeTillExpiry } from \"../LimitOrderListItem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { TokenBadgeProps } from \"../../TokenBadge/types\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\nimport { Duration } from \"../../Duration/Duration\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\nimport { ONE_MINUTE_MS } from \"@/lib/constants/time\";\n\nexport function constructSubmitDateDetail({\n createdAt,\n}: {\n createdAt: string | number;\n}): DetailWithValue {\n return {\n title: \"Submit Date\",\n value: dayjs(createdAt).format(\"DD MMM YYYY h:mm A\"),\n };\n}\n\nconst timeTillExpiryClasses = {\n root: \"dark:text-contrast-6\",\n};\n\nexport function constructExpiresInDetail({\n deadline,\n}: {\n deadline: number;\n}): DetailWithValue {\n return {\n title: \"Expires in\",\n value: (\n <TimeTillExpiry deadline={deadline} classes={timeTillExpiryClasses} />\n ),\n };\n}\n\nconst rateClasses = {\n left: \"dark:text-contrast-6\",\n right: \"dark:text-contrast-6\",\n};\n\nexport function constructOrderRateDetail({\n extra,\n}: {\n extra: LimitOrderItemExtra;\n}): DetailWithValue {\n return {\n title: \"Order Rate\",\n value: <Rate extra={extra} classes={rateClasses} />,\n };\n}\n\nexport function constructTwapDurationDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n const { endsInMs, durationMs } = getTwapAuctionDeadlines(order);\n\n const now = new Date().getTime();\n const isFuture = endsInMs > now;\n\n // if less than 1 min to end,\n // show seconds instead of \"(ends in -)\"\n const showSecondsInExpiry = isFuture && endsInMs - now <= ONE_MINUTE_MS;\n\n return {\n title: \"Order Duration\",\n value: (\n <>\n <Duration\n timeMs={durationMs}\n classes={{\n root: \"inline-flex\",\n }}\n />\n {isFuture && (\n <>\n {\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (ends in{\" \"}\n <TimeTillExpiry\n showSeconds={showSecondsInExpiry}\n deadline={endsInMs / 1000}\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n )}\n </>\n ),\n };\n}\n\nexport function constructTwapSplitsDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n return {\n title: \"Order Splits\",\n value: (\n <>\n {order.order.numSlices} Parts{\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (once every{\" \"}\n <Duration\n timeMs={order.order.interval * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n ),\n };\n}\n\nexport function constructOrderStatusDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Status\",\n value: <StatusBadge status={order.status} />,\n };\n}\n\nexport function constructOrderTypeDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Type\",\n value: order.type,\n };\n}\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\nexport function constructPayReceiveInfoProps({\n extra,\n}: {\n extra: RequiredLimitOrderItemExtra;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n },\n };\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgBe,EAA0B,EACxCC,gBAGkB;AAClB,QAAO;EACLC,OAAO;EACPC,OAAOlB,EAAMgB,EAAU,CAACG,OAAO,qBAAoB;EACpD;;AAGH,IAAMC,IAAwB,EAC5BC,MAAM,wBACP;AAED,SAAgBC,EAAyB,EACvCC,eAGkB;AAClB,QAAO;EACLN,OAAO;EACPC,OACE,kBAAC,GAAD;GAA0BK;GAAU,SAASH;GAAsB,CAAA;EAEtE;;AAGH,IAAMI,IAAc;CAClBC,MAAM;CACNC,OAAO;CACR;AAED,SAAgBC,EAAyB,EACvCC,YAGkB;AAClB,QAAO;EACLX,OAAO;EACPC,OAAO,kBAAC,GAAD;GAAaU;GAAO,SAASJ;GAAY,CAAA;EACjD;;AAGH,SAAgBK,EACdC,GACiB;CACjB,IAAM,EAAEC,aAAUC,kBAAenB,EAAwBiB,EAAM,EAEzDG,qBAAM,IAAIC,MAAM,EAACC,SAAS,EAC1BC,IAAWL,IAAWE,GAItBI,IAAsBD,KAAYL,IAAWE,KAAAA;AAEnD,QAAO;EACLhB,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,QAAQc;GACR,SAAS,EACPX,MAAM,eACP;GAAC,CAAA,EAEHe,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KACD,kBAAC,QAAD;GAAM,WAAU;aAAhB;IAAsD;IAC3C;IACT,kBAAC,GAAD;KACE,aAAaC;KACb,UAAUN,IAAW;KACrB,SAAS,EACPV,MAAM,4DACP;KAAC,CAAA;;IAGA;KAET,EAAA,CAAA,CACH,EAAA,CAAA;EAEH;;AAGH,SAAgBiB,EACdR,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA;GACGY,EAAMA,MAAMS;GAAU;GAAO;GAC9B,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAsD;KACxC;KACZ,kBAAC,GAAD;MACE,QAAQT,EAAMA,MAAMU,WAAW;MAC/B,aAAA;MACA,SAAS,EACPnB,MAAM,4DACP;MAAC,CAAA;;KAGA;;GACR,EAAA,CAAA;EAEH;;AAGH,SAAgBoB,EACdX,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAO,kBAAC,GAAD,EAAa,QAAQY,EAAMY,QAAO,CAAA;EAC1C;;AAGH,SAAgBC,EACdb,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAOY,EAAMc;EACd;;AAGH,IAAMC,IAAoB;CACxBC,QAAQ;CACRC,QAAQ;CACRC,MAAM;CACP;AAED,SAAgBC,EAA6B,EAC3CrB,YAGsB;CACtB,IAAM,EAAEsB,aAAUC,cAAWC,kBAAeC,sBAAmBzB,GAEzD0B,IAAqB7C,EAAkB2C,EAAc,EACrDG,IAAsB9C,EAAkB4C,EAAe,EAEvDG,IAAsC;EAC1CC,SAASP,EAASO;EAClBV,QAAQG,EAASH;EACjBW,SAASR,EAASS;EAClBC,KAAKV,EAASU;EACdd,QAAQQ;EACRO,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB,EAEKC,IAAyC;EAC7CR,SAASN,EAAUM;EACnBV,QAAQI,EAAUJ;EAClBW,SAASP,EAAUQ;EACnBC,KAAKT,EAAUS;EACfd,QAAQS;EACRM,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB;AAED,QAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBY,OAAO;GACR;EACDC,aAAa;GACXF,iBAAiBF;GACjBG,OAAO;GACT;EACD"}
@@ -9,8 +9,9 @@ export declare const TradeAndNetwork: ({ extra, chainId, }: Pick<LimitOrderItem,
9
9
  export declare const Rate: ({ extra, classes, }: {
10
10
  extra: Omit<LimitOrderItemExtra, "visualItemType">;
11
11
  } & WithClasses<"root" | "left" | "right">) => import("react/jsx-runtime").JSX.Element | "-";
12
- export declare const StatusBadge: ({ status }: {
12
+ export declare const StatusBadge: ({ status, extraLabel, }: {
13
13
  status: DeltaAuctionStatus;
14
+ extraLabel?: React.ReactNode;
14
15
  }) => import("react/jsx-runtime").JSX.Element;
15
16
  export declare const TimeTillExpiry: ({ deadline, classes, showSeconds, }: {
16
17
  deadline: number;
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAUnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAM1D,eAAO,MAAM,mBAAmB,GAAI,uBAGjC;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,4CAUA,CAAC;AAMF,eAAO,MAAM,eAAe,GAAI,qBAG7B,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,4CAU3C,CAAC;AAwDF,eAAO,MAAM,IAAI,GAAI,qBAGlB;IAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA;CAAE,GAAG,WAAW,CACrE,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,kDAiBA,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,YAAY;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,4CAkBrE,CAAC;AAuBF,eAAO,MAAM,cAAc,GAAI,qCAI5B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAAC,MAAM,CAAC,4CAOtB,CAAC"}
1
+ {"version":3,"file":"LimitOrderListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAWnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAQ1D,eAAO,MAAM,mBAAmB,GAAI,uBAGjC;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,4CAUA,CAAC;AAMF,eAAO,MAAM,eAAe,GAAI,qBAG7B,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,4CAU3C,CAAC;AAwDF,eAAO,MAAM,IAAI,GAAI,qBAGlB;IAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA;CAAE,GAAG,WAAW,CACrE,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,kDAiBA,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,yBAGzB;IACD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,4CAmBA,CAAC;AA6BF,eAAO,MAAM,cAAc,GAAI,qCAI5B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAAC,MAAM,CAAC,4CAOtB,CAAC"}