@0xsequence/marketplace-sdk 0.8.2 → 0.8.4
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.
- package/CHANGELOG.md +15 -0
- package/dist/{builder-types-Wrqq6YoW.d.ts → builder-types-BY6eD6vD.d.ts} +1 -1
- package/dist/{chunk-IZ44XPBH.js → chunk-25CAMYCG.js} +2 -2
- package/dist/{chunk-LDHGFXPJ.js → chunk-44YGZVBS.js} +2 -2
- package/dist/{chunk-BNAUZXPV.js → chunk-ALICO7NG.js} +3 -3
- package/dist/chunk-ALICO7NG.js.map +1 -0
- package/dist/{chunk-3II5GLHE.js → chunk-HGKWWZWY.js} +2 -2
- package/dist/{chunk-S2UFNIYX.js → chunk-HRL2TMXU.js} +12 -9
- package/dist/chunk-HRL2TMXU.js.map +1 -0
- package/dist/{chunk-XOHAZXBZ.js → chunk-VBRJ2OPM.js} +14 -6
- package/dist/chunk-VBRJ2OPM.js.map +1 -0
- package/dist/{chunk-F6CUGMI4.js → chunk-VF3LWBQB.js} +378 -263
- package/dist/chunk-VF3LWBQB.js.map +1 -0
- package/dist/{chunk-GBQVYNCD.js → chunk-XUNDLCEH.js} +3 -3
- package/dist/{chunk-4DFOSZTE.js → chunk-ZSCZLHKX.js} +195 -3
- package/dist/chunk-ZSCZLHKX.js.map +1 -0
- package/dist/{create-config-B58hoCDv.d.ts → create-config-qDML4ZNn.d.ts} +1 -1
- package/dist/{index-PhhCRKUH.d.ts → index-DtWR0b_l.d.ts} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +7 -9
- package/dist/{lowestListing-CuLxIWxy.d.ts → lowestListing-W7P4EkC3.d.ts} +34 -11
- package/dist/{marketplace.gen-De2-sxiG.d.ts → marketplace.gen-DS-MmGEB.d.ts} +35 -4
- package/dist/react/_internal/api/index.d.ts +2 -2
- package/dist/react/_internal/api/index.js +1 -1
- package/dist/react/_internal/databeat/index.d.ts +1 -1
- package/dist/react/_internal/databeat/index.js +8 -8
- package/dist/react/_internal/index.d.ts +5 -5
- package/dist/react/_internal/index.js +2 -2
- package/dist/react/_internal/wagmi/index.d.ts +3 -3
- package/dist/react/_internal/wagmi/index.js +2 -2
- package/dist/react/hooks/index.d.ts +72 -49
- package/dist/react/hooks/index.js +9 -7
- package/dist/react/hooks/options/index.d.ts +3 -3
- package/dist/react/hooks/options/index.js +4 -4
- package/dist/react/index.d.ts +8 -8
- package/dist/react/index.js +12 -10
- package/dist/react/queries/index.d.ts +2 -2
- package/dist/react/queries/index.js +7 -3
- package/dist/react/ssr/index.d.ts +2 -2
- package/dist/react/ssr/index.js +3 -3
- package/dist/react/ui/components/collectible-card/index.d.ts +1 -1
- package/dist/react/ui/components/collectible-card/index.js +10 -10
- package/dist/react/ui/icons/index.js +3 -3
- package/dist/react/ui/index.d.ts +1 -1
- package/dist/react/ui/index.js +10 -10
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +8 -8
- package/dist/{services-BdzIAR9w.d.ts → services-BOX67E7W.d.ts} +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +2 -4
- package/dist/{types-CmHOStH3.d.ts → types-CJLhc2VZ.d.ts} +2 -2
- package/dist/utils/abi/index.js +5 -5
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +7 -7
- package/package.json +1 -1
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +35 -18
- package/src/react/_internal/api/marketplace.gen.ts +39 -6
- package/src/react/_internal/api/zod-schema.ts +7 -18
- package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +4 -9
- package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +5 -4
- package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +14 -2
- package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +115 -57
- package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +10 -3
- package/src/react/hooks/__tests__/useInventory.test.tsx +294 -0
- package/src/react/hooks/index.ts +1 -0
- package/src/react/hooks/useAutoSelectFeeOption.tsx +10 -3
- package/src/react/hooks/useCancelOrder.tsx +1 -0
- package/src/react/hooks/useCancelTransactionSteps.tsx +20 -6
- package/src/react/hooks/useGenerateOfferTransaction.tsx +11 -1
- package/src/react/hooks/useInventory.tsx +15 -0
- package/src/react/hooks/util/optimisticCancelUpdates.ts +115 -0
- package/src/react/queries/index.ts +1 -0
- package/src/react/queries/inventory.ts +303 -0
- package/src/react/queries/listBalances.ts +1 -8
- package/src/react/queries/listCollectibles.ts +12 -3
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +74 -104
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +2 -2
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +108 -78
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -2
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +2 -2
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +286 -0
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +16 -4
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +35 -132
- package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +199 -0
- package/src/react/ui/modals/_internal/components/priceInput/__tests__/PriceInput.test.tsx +55 -0
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +2 -2
- package/src/types/api-types.ts +0 -1
- package/test/const.ts +24 -0
- package/test/test-utils.tsx +74 -26
- package/.changeset/flat-parks-clean.md +0 -8
- package/.changeset/seven-doors-taste.md +0 -5
- package/dist/chunk-4DFOSZTE.js.map +0 -1
- package/dist/chunk-BNAUZXPV.js.map +0 -1
- package/dist/chunk-F6CUGMI4.js.map +0 -1
- package/dist/chunk-S2UFNIYX.js.map +0 -1
- package/dist/chunk-XOHAZXBZ.js.map +0 -1
- package/src/react/ui/modals/_internal/components/priceInput/__tests__/index.test.tsx +0 -164
- /package/dist/{chunk-IZ44XPBH.js.map → chunk-25CAMYCG.js.map} +0 -0
- /package/dist/{chunk-LDHGFXPJ.js.map → chunk-44YGZVBS.js.map} +0 -0
- /package/dist/{chunk-3II5GLHE.js.map → chunk-HGKWWZWY.js.map} +0 -0
- /package/dist/{chunk-GBQVYNCD.js.map → chunk-XUNDLCEH.js.map} +0 -0
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
MODAL_OVERLAY_PROPS,
|
|
6
6
|
useSwitchChainModal,
|
|
7
7
|
useWallet
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-VF3LWBQB.js";
|
|
9
9
|
|
|
10
10
|
// src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx
|
|
11
11
|
import { Button, Modal, Spinner, Text } from "@0xsequence/design-system";
|
|
@@ -31,7 +31,7 @@ var ActionModal = observer(
|
|
|
31
31
|
const chainMismatch = walletChainId !== Number(chainId);
|
|
32
32
|
if (chainMismatch) {
|
|
33
33
|
showSwitchChainModal({
|
|
34
|
-
chainIdToSwitchTo:
|
|
34
|
+
chainIdToSwitchTo: chainId,
|
|
35
35
|
onSuccess
|
|
36
36
|
});
|
|
37
37
|
} else {
|
|
@@ -58,9 +58,17 @@ var ActionModal = observer(
|
|
|
58
58
|
"div",
|
|
59
59
|
{
|
|
60
60
|
className: `flex ${spinnerContainerClassname} w-full items-center justify-center`,
|
|
61
|
+
"data-testid": "error-loading-wrapper",
|
|
61
62
|
children: [
|
|
62
|
-
isError && /* @__PURE__ */ jsx(
|
|
63
|
-
|
|
63
|
+
isError && /* @__PURE__ */ jsx(
|
|
64
|
+
Text,
|
|
65
|
+
{
|
|
66
|
+
"data-testid": "error-loading-text",
|
|
67
|
+
className: "text-center font-body text-error100 text-small",
|
|
68
|
+
children: "Error loading modal"
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
(isLoading || modalLoading) && /* @__PURE__ */ jsx("div", { "data-testid": "spinner", children: /* @__PURE__ */ jsx(Spinner, { size: "lg" }) })
|
|
64
72
|
]
|
|
65
73
|
}
|
|
66
74
|
) : children,
|
|
@@ -82,7 +90,7 @@ var ActionModal = observer(
|
|
|
82
90
|
size: "lg",
|
|
83
91
|
"data-testid": cta.testid,
|
|
84
92
|
label: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2", children: [
|
|
85
|
-
cta.pending && /* @__PURE__ */ jsx(Spinner, { size: "sm" }),
|
|
93
|
+
cta.pending && /* @__PURE__ */ jsx("div", { "data-testid": `${cta.testid}-spinner`, children: /* @__PURE__ */ jsx(Spinner, { size: "sm" }) }),
|
|
86
94
|
cta.label
|
|
87
95
|
] })
|
|
88
96
|
},
|
|
@@ -117,4 +125,4 @@ export {
|
|
|
117
125
|
openModal,
|
|
118
126
|
closeModal
|
|
119
127
|
};
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-VBRJ2OPM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx","../src/react/ui/modals/_internal/components/actionModal/store.ts"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport type { ComponentProps } from 'react';\n\nimport { Button, Modal, Spinner, Text } from '@0xsequence/design-system';\nimport { observer } from '@legendapp/state/react';\nimport { useWallet } from '../../../../../_internal/wallet/useWallet';\nimport { MODAL_OVERLAY_PROPS } from '../consts';\nimport { MODAL_CONTENT_PROPS } from '../consts';\nimport { useSwitchChainModal } from '../switchChainModal';\n\nexport interface ActionModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\ttitle: string;\n\tchildren: React.ReactNode;\n\tctas: {\n\t\tlabel: React.ReactNode;\n\t\tonClick: (() => Promise<void>) | (() => void);\n\t\tpending?: boolean;\n\t\tdisabled?: boolean;\n\t\thidden?: boolean;\n\t\tvariant?: ComponentProps<typeof Button>['variant'];\n\t\ttestid?: string;\n\t}[];\n\tchainId: number;\n\tmodalLoading?: boolean;\n\tspinnerContainerClassname?: string;\n\tdisableAnimation?: boolean;\n\thideCtas?: boolean;\n}\n\nexport const ActionModal = observer(\n\t({\n\t\tisOpen,\n\t\tonClose,\n\t\ttitle,\n\t\tchildren,\n\t\tctas,\n\t\tchainId,\n\t\tdisableAnimation,\n\t\tmodalLoading,\n\t\tspinnerContainerClassname,\n\t\thideCtas,\n\t}: ActionModalProps) => {\n\t\tconst { show: showSwitchChainModal } = useSwitchChainModal();\n\t\tconst { wallet, isLoading, isError } = useWallet();\n\n\t\tconst checkChain = async ({ onSuccess }: { onSuccess: () => void }) => {\n\t\t\tconst walletChainId = await wallet?.getChainId();\n\t\t\tconst chainMismatch = walletChainId !== Number(chainId);\n\t\t\tif (chainMismatch) {\n\t\t\t\tshowSwitchChainModal({\n\t\t\t\t\tchainIdToSwitchTo: chainId,\n\t\t\t\t\tonSuccess,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tonSuccess();\n\t\t\t}\n\t\t};\n\n\t\tif (wallet?.isWaaS) {\n\t\t\twallet.switchChain(Number(chainId));\n\t\t}\n\n\t\tif (!isOpen || !chainId) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisDismissible={true}\n\t\t\t\tonClose={onClose}\n\t\t\t\toverlayProps={MODAL_OVERLAY_PROPS}\n\t\t\t\tcontentProps={MODAL_CONTENT_PROPS}\n\t\t\t\tdisableAnimation={disableAnimation}\n\t\t\t>\n\t\t\t\t<div className=\"relative flex grow flex-col items-center gap-4 p-6\">\n\t\t\t\t\t<Text className=\"w-full text-center font-body font-bold text-large text-text-100\">\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t{modalLoading || isLoading || isError ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`flex ${spinnerContainerClassname} w-full items-center justify-center`}\n\t\t\t\t\t\t\tdata-testid=\"error-loading-wrapper\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isError && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tdata-testid=\"error-loading-text\"\n\t\t\t\t\t\t\t\t\tclassName=\"text-center font-body text-error100 text-small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tError loading modal\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{(isLoading || modalLoading) && (\n\t\t\t\t\t\t\t\t<div data-testid=\"spinner\">\n\t\t\t\t\t\t\t\t\t<Spinner size=\"lg\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchildren\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!hideCtas && !isLoading && !isError && (\n\t\t\t\t\t\t<div className=\"flex w-full flex-col gap-2\">\n\t\t\t\t\t\t\t{ctas.map(\n\t\t\t\t\t\t\t\t(cta) =>\n\t\t\t\t\t\t\t\t\t!cta.hidden && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full rounded-[12px] [&>div]:justify-center\"\n\t\t\t\t\t\t\t\t\t\t\tkey={cta.onClick.toString()}\n\t\t\t\t\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\t\t\t\t\tawait checkChain({\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcta.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant={cta.variant || 'primary'}\n\t\t\t\t\t\t\t\t\t\t\tpending={cta.pending}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={cta.disabled}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\tdata-testid={cta.testid}\n\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cta.pending && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div data-testid={`${cta.testid}-spinner`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Spinner size=\"sm\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cta.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t);\n\t},\n);\n","import { type Observable, observable } from '@legendapp/state';\nimport type { Address } from 'viem';\n\nexport interface ActionModalState {\n\tisOpen: boolean;\n\tchainId: number | null;\n\tcollectionAddress: Address | null;\n}\n\nexport function createActionModalStore() {\n\treturn observable<ActionModalState>({\n\t\tisOpen: false,\n\t\tchainId: null,\n\t\tcollectionAddress: null,\n\t});\n}\n\nexport function openModal(store: Observable<ActionModalState>) {\n\tstore.isOpen.set(true);\n}\n\nexport function closeModal(store: Observable<ActionModalState>) {\n\tstore.isOpen.set(false);\n}\n"],"mappings":";;;;;;;;AAKA,SAAS,QAAQ,OAAO,SAAS,YAAY;AAC7C,SAAS,gBAAgB;AAyEpB,cAKC,YALD;AA9CE,IAAM,cAAc;AAAA,EAC1B,CAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,MAAwB;AACvB,UAAM,EAAE,MAAM,qBAAqB,IAAI,oBAAoB;AAC3D,UAAM,EAAE,QAAQ,WAAW,QAAQ,IAAI,UAAU;AAEjD,UAAM,aAAa,OAAO,EAAE,UAAU,MAAiC;AACtE,YAAM,gBAAgB,MAAM,QAAQ,WAAW;AAC/C,YAAM,gBAAgB,kBAAkB,OAAO,OAAO;AACtD,UAAI,eAAe;AAClB,6BAAqB;AAAA,UACpB,mBAAmB;AAAA,UACnB;AAAA,QACD,CAAC;AAAA,MACF,OAAO;AACN,kBAAU;AAAA,MACX;AAAA,IACD;AAEA,QAAI,QAAQ,QAAQ;AACnB,aAAO,YAAY,OAAO,OAAO,CAAC;AAAA,IACnC;AAEA,QAAI,CAAC,UAAU,CAAC,SAAS;AACxB,aAAO;AAAA,IACR;AAEA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,eAAe;AAAA,QACf;AAAA,QACA,cAAc;AAAA,QACd,cAAc;AAAA,QACd;AAAA,QAEA,+BAAC,SAAI,WAAU,sDACd;AAAA,8BAAC,QAAK,WAAU,mEACd,iBACF;AAAA,UAEC,gBAAgB,aAAa,UAC7B;AAAA,YAAC;AAAA;AAAA,cACA,WAAW,QAAQ,yBAAyB;AAAA,cAC5C,eAAY;AAAA,cAEX;AAAA,2BACA;AAAA,kBAAC;AAAA;AAAA,oBACA,eAAY;AAAA,oBACZ,WAAU;AAAA,oBACV;AAAA;AAAA,gBAED;AAAA,iBAEC,aAAa,iBACd,oBAAC,SAAI,eAAY,WAChB,8BAAC,WAAQ,MAAK,MAAK,GACpB;AAAA;AAAA;AAAA,UAEF,IAEA;AAAA,UAGA,CAAC,YAAY,CAAC,aAAa,CAAC,WAC5B,oBAAC,SAAI,WAAU,8BACb,eAAK;AAAA,YACL,CAAC,QACA,CAAC,IAAI,UACJ;AAAA,cAAC;AAAA;AAAA,gBACA,WAAU;AAAA,gBAEV,SAAS,YAAY;AACpB,wBAAM,WAAW;AAAA,oBAChB,WAAW,MAAM;AAChB,0BAAI,QAAQ;AAAA,oBACb;AAAA,kBACD,CAAC;AAAA,gBACF;AAAA,gBACA,SAAS,IAAI,WAAW;AAAA,gBACxB,SAAS,IAAI;AAAA,gBACb,UAAU,IAAI;AAAA,gBACd,MAAK;AAAA,gBACL,eAAa,IAAI;AAAA,gBACjB,OACC,qBAAC,SAAI,WAAU,0CACb;AAAA,sBAAI,WACJ,oBAAC,SAAI,eAAa,GAAG,IAAI,MAAM,YAC9B,8BAAC,WAAQ,MAAK,MAAK,GACpB;AAAA,kBAGA,IAAI;AAAA,mBACN;AAAA;AAAA,cAtBI,IAAI,QAAQ,SAAS;AAAA,YAwB3B;AAAA,UAEH,GACD;AAAA,WAEF;AAAA;AAAA,IACD;AAAA,EAEF;AACD;;;AClJA,SAA0B,kBAAkB;AASrC,SAAS,yBAAyB;AACxC,SAAO,WAA6B;AAAA,IACnC,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,mBAAmB;AAAA,EACpB,CAAC;AACF;AAEO,SAAS,UAAU,OAAqC;AAC9D,QAAM,OAAO,IAAI,IAAI;AACtB;AAEO,SAAS,WAAW,OAAqC;AAC/D,QAAM,OAAO,IAAI,KAAK;AACvB;","names":[]}
|