@medialane/ui 0.295.0 → 0.296.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 (69) hide show
  1. package/dist/components/account/input-otp.d.cts +2 -2
  2. package/dist/components/account/input-otp.d.ts +2 -2
  3. package/dist/components/badge.d.cts +1 -1
  4. package/dist/components/badge.d.ts +1 -1
  5. package/dist/components/button.d.cts +2 -2
  6. package/dist/components/button.d.ts +2 -2
  7. package/dist/components/fast-mint/asset-form-parts.cjs +194 -0
  8. package/dist/components/fast-mint/asset-form-parts.cjs.map +1 -0
  9. package/dist/components/fast-mint/asset-form-parts.d.cts +33 -0
  10. package/dist/components/fast-mint/asset-form-parts.d.ts +33 -0
  11. package/dist/components/fast-mint/asset-form-parts.js +158 -0
  12. package/dist/components/fast-mint/asset-form-parts.js.map +1 -0
  13. package/dist/components/fast-mint/collection-section.cjs +211 -0
  14. package/dist/components/fast-mint/collection-section.cjs.map +1 -0
  15. package/dist/components/fast-mint/collection-section.d.cts +27 -0
  16. package/dist/components/fast-mint/collection-section.d.ts +27 -0
  17. package/dist/components/fast-mint/collection-section.js +176 -0
  18. package/dist/components/fast-mint/collection-section.js.map +1 -0
  19. package/dist/components/fast-mint/fast-mint.cjs +116 -653
  20. package/dist/components/fast-mint/fast-mint.cjs.map +1 -1
  21. package/dist/components/fast-mint/fast-mint.d.cts +2 -2
  22. package/dist/components/fast-mint/fast-mint.d.ts +2 -2
  23. package/dist/components/fast-mint/fast-mint.js +115 -661
  24. package/dist/components/fast-mint/fast-mint.js.map +1 -1
  25. package/dist/components/fast-mint/form.cjs +40 -0
  26. package/dist/components/fast-mint/form.cjs.map +1 -0
  27. package/dist/components/fast-mint/form.d.cts +15 -0
  28. package/dist/components/fast-mint/form.d.ts +15 -0
  29. package/dist/components/fast-mint/form.js +16 -0
  30. package/dist/components/fast-mint/form.js.map +1 -0
  31. package/dist/components/fast-mint/ip-type-section.cjs +76 -0
  32. package/dist/components/fast-mint/ip-type-section.cjs.map +1 -0
  33. package/dist/components/fast-mint/ip-type-section.d.cts +17 -0
  34. package/dist/components/fast-mint/ip-type-section.d.ts +17 -0
  35. package/dist/components/fast-mint/ip-type-section.js +52 -0
  36. package/dist/components/fast-mint/ip-type-section.js.map +1 -0
  37. package/dist/components/fast-mint/licensing-section.cjs +124 -0
  38. package/dist/components/fast-mint/licensing-section.cjs.map +1 -0
  39. package/dist/components/fast-mint/licensing-section.d.cts +14 -0
  40. package/dist/components/fast-mint/licensing-section.d.ts +14 -0
  41. package/dist/components/fast-mint/licensing-section.js +99 -0
  42. package/dist/components/fast-mint/licensing-section.js.map +1 -0
  43. package/dist/components/fast-mint/media-kind.cjs +48 -0
  44. package/dist/components/fast-mint/media-kind.cjs.map +1 -0
  45. package/dist/components/fast-mint/media-kind.d.cts +12 -0
  46. package/dist/components/fast-mint/media-kind.d.ts +12 -0
  47. package/dist/components/fast-mint/media-kind.js +22 -0
  48. package/dist/components/fast-mint/media-kind.js.map +1 -0
  49. package/dist/components/fast-mint/mint-asset.cjs +124 -0
  50. package/dist/components/fast-mint/mint-asset.cjs.map +1 -0
  51. package/dist/components/fast-mint/mint-asset.d.cts +41 -0
  52. package/dist/components/fast-mint/mint-asset.d.ts +41 -0
  53. package/dist/components/fast-mint/mint-asset.js +100 -0
  54. package/dist/components/fast-mint/mint-asset.js.map +1 -0
  55. package/dist/components/fast-mint/use-ipfs-upload.cjs +64 -0
  56. package/dist/components/fast-mint/use-ipfs-upload.cjs.map +1 -0
  57. package/dist/components/fast-mint/use-ipfs-upload.d.cts +9 -0
  58. package/dist/components/fast-mint/use-ipfs-upload.d.ts +9 -0
  59. package/dist/components/fast-mint/use-ipfs-upload.js +40 -0
  60. package/dist/components/fast-mint/use-ipfs-upload.js.map +1 -0
  61. package/dist/components/fast-mint/use-new-collection-draft.cjs +66 -0
  62. package/dist/components/fast-mint/use-new-collection-draft.cjs.map +1 -0
  63. package/dist/components/fast-mint/use-new-collection-draft.d.cts +13 -0
  64. package/dist/components/fast-mint/use-new-collection-draft.d.ts +13 -0
  65. package/dist/components/fast-mint/use-new-collection-draft.js +42 -0
  66. package/dist/components/fast-mint/use-new-collection-draft.js.map +1 -0
  67. package/dist/components/sheet.d.cts +1 -1
  68. package/dist/components/sheet.d.ts +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ import { ApiCollection } from '@medialane/sdk';
2
+ import { MedialaneClient } from '@medialane/sdk/starknet';
3
+ import { IPType } from '../../data/ip.js';
4
+ import { MetadataField } from '../ip-type-fields.js';
5
+ import { FormValues } from './form.js';
6
+ import { FastMintSigner, MediaKind, MintedAsset } from './types.js';
7
+ import { MintAssetType } from './mintable-collections.js';
8
+ import 'react/jsx-runtime';
9
+ import 'react';
10
+ import 'starknet';
11
+
12
+ type MintDestination = {
13
+ mode: "existing";
14
+ collectionId: string;
15
+ collectionContract: string;
16
+ } | {
17
+ mode: "new";
18
+ name: string;
19
+ symbol: string;
20
+ description: string;
21
+ };
22
+ interface MintAssetInput {
23
+ client: MedialaneClient;
24
+ signer: FastMintSigner;
25
+ walletAddress: string;
26
+ values: FormValues;
27
+ ipType: IPType;
28
+ templateFields: MetadataField[];
29
+ mediaKind: MediaKind;
30
+ mediaUri: string;
31
+ featureUri: string | null;
32
+ assetType: MintAssetType;
33
+ editionCount: string;
34
+ destination: MintDestination;
35
+ singleCollections: ApiCollection[];
36
+ refetchCollections: () => Promise<ApiCollection[]>;
37
+ getUploadToken: () => Promise<string | null>;
38
+ }
39
+ declare function mintAsset(input: MintAssetInput): Promise<MintedAsset | null>;
40
+
41
+ export { type MintAssetInput, type MintDestination, mintAsset };
@@ -0,0 +1,100 @@
1
+ import { buildAssetMetadata } from "@medialane/sdk";
2
+ import { executeIntent, deployedCollectionFromReceipt, mintedTokenIdFromReceipt } from "@medialane/sdk/starknet";
3
+ import { uploadJsonToIpfs } from "../../utils/ipfs-upload.js";
4
+ async function pollForNewCollection(refetchCollections, name, symbol) {
5
+ for (let attempt = 0; attempt < 8; attempt++) {
6
+ const list = await refetchCollections();
7
+ const match = list.find((c) => c.name === name && c.symbol === symbol);
8
+ if (match?.collectionId) return match;
9
+ await new Promise((r) => setTimeout(r, 1500));
10
+ }
11
+ return null;
12
+ }
13
+ async function mintAsset(input) {
14
+ const { client, signer, walletAddress, values, destination } = input;
15
+ const image = input.mediaKind === "image" ? input.mediaUri : input.featureUri;
16
+ const built = buildAssetMetadata({
17
+ name: values.name,
18
+ description: values.description || "",
19
+ externalUrl: values.external_url || "",
20
+ imageUri: image,
21
+ creator: walletAddress,
22
+ ipType: input.ipType,
23
+ licenseType: values.licenseType,
24
+ commercialUse: values.commercialUse,
25
+ derivatives: values.derivatives,
26
+ attribution: values.attribution,
27
+ geographicScope: values.geographicScope,
28
+ aiPolicy: values.aiPolicy,
29
+ royalty: String(values.royalty),
30
+ templateTraits: input.templateFields.filter(({ traitType, value }) => traitType.trim() && value.trim()).map(({ traitType, value }) => ({ traitType, value }))
31
+ });
32
+ const metadata = { ...built };
33
+ if (input.mediaKind !== "image") metadata.animation_url = input.mediaUri;
34
+ const uploadToken = await input.getUploadToken();
35
+ if (!uploadToken) throw new Error("Sign in first");
36
+ const tokenUri = await uploadJsonToIpfs(client.api, metadata);
37
+ const royaltyBps = Math.round(values.royalty * 100);
38
+ let contractAddress;
39
+ let tokenId;
40
+ if (input.assetType === "single") {
41
+ let collectionId = destination.mode === "existing" ? destination.collectionId : "";
42
+ contractAddress = destination.mode === "existing" ? input.singleCollections.find((c) => c.collectionId === destination.collectionId)?.contractAddress ?? null : null;
43
+ if (destination.mode === "new") {
44
+ const created = await client.api.intents.create("create-collection", {
45
+ owner: walletAddress,
46
+ name: destination.name,
47
+ symbol: destination.symbol,
48
+ description: destination.description || void 0,
49
+ image
50
+ });
51
+ await executeIntent(signer, client, created);
52
+ const found = await pollForNewCollection(input.refetchCollections, destination.name, destination.symbol);
53
+ if (!found) throw new Error("Collection created, but it's still indexing \u2014 try minting again in a moment from My Collections.");
54
+ collectionId = found.collectionId;
55
+ contractAddress = found.contractAddress ?? null;
56
+ }
57
+ const minted = await client.api.intents.create("mint", {
58
+ owner: walletAddress,
59
+ collectionId,
60
+ recipient: walletAddress,
61
+ tokenUri,
62
+ royaltyBps
63
+ });
64
+ const result = await executeIntent(signer, client, minted);
65
+ tokenId = contractAddress ? mintedTokenIdFromReceipt(result.receipt, contractAddress) : null;
66
+ } else {
67
+ let collectionContract = destination.mode === "existing" ? destination.collectionContract : "";
68
+ if (destination.mode === "new") {
69
+ const created = await client.api.intents.create("create-collection", {
70
+ owner: walletAddress,
71
+ name: destination.name,
72
+ symbol: destination.symbol,
73
+ description: destination.description || void 0,
74
+ image,
75
+ baseUri: "",
76
+ service: "mip-erc1155"
77
+ });
78
+ const deployResult = await executeIntent(signer, client, created);
79
+ const deployed = deployedCollectionFromReceipt(deployResult.receipt, "mip-erc1155");
80
+ if (!deployed) throw new Error("Collection deployed, but its address couldn't be read \u2014 check My Collections to mint into it.");
81
+ collectionContract = deployed;
82
+ }
83
+ const minted = await client.api.intents.create("mint", {
84
+ owner: walletAddress,
85
+ recipient: walletAddress,
86
+ collectionContract,
87
+ tokenUri,
88
+ value: input.editionCount,
89
+ royaltyBps
90
+ });
91
+ const result = await executeIntent(signer, client, minted);
92
+ contractAddress = collectionContract;
93
+ tokenId = mintedTokenIdFromReceipt(result.receipt, collectionContract);
94
+ }
95
+ return contractAddress && tokenId ? { contract: contractAddress, tokenId, image } : null;
96
+ }
97
+ export {
98
+ mintAsset
99
+ };
100
+ //# sourceMappingURL=mint-asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/fast-mint/mint-asset.ts"],"sourcesContent":["import { buildAssetMetadata, type ApiCollection } from \"@medialane/sdk\";\nimport { executeIntent, deployedCollectionFromReceipt, mintedTokenIdFromReceipt, type MedialaneClient } from \"@medialane/sdk/starknet\";\nimport type { IPType } from \"../../data/ip.js\";\nimport type { MetadataField } from \"../ip-type-fields.js\";\nimport { uploadJsonToIpfs } from \"../../utils/ipfs-upload.js\";\nimport type { FormValues } from \"./form.js\";\nimport type { FastMintSigner, MediaKind, MintedAsset } from \"./types.js\";\nimport type { MintAssetType } from \"./mintable-collections.js\";\n\nexport type MintDestination =\n | { mode: \"existing\"; collectionId: string; collectionContract: string }\n | { mode: \"new\"; name: string; symbol: string; description: string };\n\nexport interface MintAssetInput {\n client: MedialaneClient;\n signer: FastMintSigner;\n walletAddress: string;\n values: FormValues;\n ipType: IPType;\n templateFields: MetadataField[];\n mediaKind: MediaKind;\n mediaUri: string;\n featureUri: string | null;\n assetType: MintAssetType;\n editionCount: string;\n destination: MintDestination;\n singleCollections: ApiCollection[];\n refetchCollections: () => Promise<ApiCollection[]>;\n getUploadToken: () => Promise<string | null>;\n}\n\nasync function pollForNewCollection(\n refetchCollections: () => Promise<ApiCollection[]>,\n name: string,\n symbol: string,\n): Promise<ApiCollection | null> {\n for (let attempt = 0; attempt < 8; attempt++) {\n const list = await refetchCollections();\n const match = list.find((c) => c.name === name && c.symbol === symbol);\n if (match?.collectionId) return match;\n await new Promise((r) => setTimeout(r, 1500));\n }\n return null;\n}\n\nexport async function mintAsset(input: MintAssetInput): Promise<MintedAsset | null> {\n const { client, signer, walletAddress, values, destination } = input;\n\n const image = input.mediaKind === \"image\" ? input.mediaUri : input.featureUri!;\n const built = buildAssetMetadata({\n name: values.name,\n description: values.description || \"\",\n externalUrl: values.external_url || \"\",\n imageUri: image,\n creator: walletAddress,\n ipType: input.ipType,\n licenseType: values.licenseType,\n commercialUse: values.commercialUse,\n derivatives: values.derivatives,\n attribution: values.attribution,\n geographicScope: values.geographicScope,\n aiPolicy: values.aiPolicy,\n royalty: String(values.royalty),\n templateTraits: input.templateFields\n .filter(({ traitType, value }) => traitType.trim() && value.trim())\n .map(({ traitType, value }) => ({ traitType, value })),\n });\n const metadata: Record<string, unknown> = { ...built };\n if (input.mediaKind !== \"image\") metadata.animation_url = input.mediaUri;\n\n const uploadToken = await input.getUploadToken();\n if (!uploadToken) throw new Error(\"Sign in first\");\n const tokenUri = await uploadJsonToIpfs(client.api, metadata);\n\n const royaltyBps = Math.round(values.royalty * 100);\n let contractAddress: string | null;\n let tokenId: string | null;\n\n if (input.assetType === \"single\") {\n let collectionId = destination.mode === \"existing\" ? destination.collectionId : \"\";\n contractAddress = destination.mode === \"existing\"\n ? input.singleCollections.find((c) => c.collectionId === destination.collectionId)?.contractAddress ?? null\n : null;\n\n if (destination.mode === \"new\") {\n const created = await client.api.intents.create(\"create-collection\", {\n owner: walletAddress,\n name: destination.name,\n symbol: destination.symbol,\n description: destination.description || undefined,\n image,\n });\n await executeIntent(signer, client, created);\n\n const found = await pollForNewCollection(input.refetchCollections, destination.name, destination.symbol);\n if (!found) throw new Error(\"Collection created, but it's still indexing — try minting again in a moment from My Collections.\");\n collectionId = found.collectionId!;\n contractAddress = found.contractAddress ?? null;\n }\n\n const minted = await client.api.intents.create(\"mint\", {\n owner: walletAddress,\n collectionId,\n recipient: walletAddress,\n tokenUri,\n royaltyBps,\n });\n const result = await executeIntent(signer, client, minted);\n tokenId = contractAddress ? mintedTokenIdFromReceipt(result.receipt, contractAddress) : null;\n } else {\n let collectionContract = destination.mode === \"existing\" ? destination.collectionContract : \"\";\n\n if (destination.mode === \"new\") {\n const created = await client.api.intents.create(\"create-collection\", {\n owner: walletAddress,\n name: destination.name,\n symbol: destination.symbol,\n description: destination.description || undefined,\n image,\n baseUri: \"\",\n service: \"mip-erc1155\",\n });\n const deployResult = await executeIntent(signer, client, created);\n\n const deployed = deployedCollectionFromReceipt(deployResult.receipt, \"mip-erc1155\");\n if (!deployed) throw new Error(\"Collection deployed, but its address couldn't be read — check My Collections to mint into it.\");\n collectionContract = deployed;\n }\n\n const minted = await client.api.intents.create(\"mint\", {\n owner: walletAddress,\n recipient: walletAddress,\n collectionContract,\n tokenUri,\n value: input.editionCount,\n royaltyBps,\n });\n const result = await executeIntent(signer, client, minted);\n contractAddress = collectionContract;\n tokenId = mintedTokenIdFromReceipt(result.receipt, collectionContract);\n }\n\n return contractAddress && tokenId ? { contract: contractAddress, tokenId, image } : null;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var use_ipfs_upload_exports = {};
21
+ __export(use_ipfs_upload_exports, {
22
+ useIpfsUpload: () => useIpfsUpload
23
+ });
24
+ module.exports = __toCommonJS(use_ipfs_upload_exports);
25
+ var import_react = require("react");
26
+ var import_ipfs_upload = require("../../utils/ipfs-upload.js");
27
+ function useIpfsUpload() {
28
+ const [preview, setPreview] = (0, import_react.useState)(null);
29
+ const [uri, setUri] = (0, import_react.useState)(null);
30
+ const [uploading, setUploading] = (0, import_react.useState)(false);
31
+ const previewRef = (0, import_react.useRef)(null);
32
+ const revoke = () => {
33
+ if (previewRef.current) URL.revokeObjectURL(previewRef.current);
34
+ previewRef.current = null;
35
+ };
36
+ (0, import_react.useEffect)(() => revoke, []);
37
+ const start = async (file, upload, onError) => {
38
+ revoke();
39
+ const objectUrl = URL.createObjectURL(file);
40
+ previewRef.current = objectUrl;
41
+ setPreview(objectUrl);
42
+ setUri(null);
43
+ setUploading(true);
44
+ try {
45
+ setUri(await upload(file));
46
+ } catch (err) {
47
+ const toast = (0, import_ipfs_upload.uploadFailureToast)(err);
48
+ onError(toast.description ?? toast.title);
49
+ } finally {
50
+ setUploading(false);
51
+ }
52
+ };
53
+ const clear = () => {
54
+ revoke();
55
+ setPreview(null);
56
+ setUri(null);
57
+ };
58
+ return { preview, uri, uploading, start, clear };
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ useIpfsUpload
63
+ });
64
+ //# sourceMappingURL=use-ipfs-upload.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/fast-mint/use-ipfs-upload.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport { uploadFailureToast } from \"../../utils/ipfs-upload.js\";\n\nexport function useIpfsUpload() {\n const [preview, setPreview] = useState<string | null>(null);\n const [uri, setUri] = useState<string | null>(null);\n const [uploading, setUploading] = useState(false);\n const previewRef = useRef<string | null>(null);\n\n const revoke = () => {\n if (previewRef.current) URL.revokeObjectURL(previewRef.current);\n previewRef.current = null;\n };\n\n useEffect(() => revoke, []);\n\n const start = async (file: File, upload: (file: File) => Promise<string>, onError: (message: string) => void) => {\n revoke();\n const objectUrl = URL.createObjectURL(file);\n previewRef.current = objectUrl;\n setPreview(objectUrl);\n setUri(null);\n setUploading(true);\n try {\n setUri(await upload(file));\n } catch (err) {\n const toast = uploadFailureToast(err);\n onError(toast.description ?? toast.title);\n } finally {\n setUploading(false);\n }\n };\n\n const clear = () => {\n revoke();\n setPreview(null);\n setUri(null);\n };\n\n return { preview, uri, uploading, start, clear };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA4C;AAC5C,yBAAmC;AAE5B,SAAS,gBAAgB;AAC9B,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAwB,IAAI;AAC1D,QAAM,CAAC,KAAK,MAAM,QAAI,uBAAwB,IAAI;AAClD,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,iBAAa,qBAAsB,IAAI;AAE7C,QAAM,SAAS,MAAM;AACnB,QAAI,WAAW,QAAS,KAAI,gBAAgB,WAAW,OAAO;AAC9D,eAAW,UAAU;AAAA,EACvB;AAEA,8BAAU,MAAM,QAAQ,CAAC,CAAC;AAE1B,QAAM,QAAQ,OAAO,MAAY,QAAyC,YAAuC;AAC/G,WAAO;AACP,UAAM,YAAY,IAAI,gBAAgB,IAAI;AAC1C,eAAW,UAAU;AACrB,eAAW,SAAS;AACpB,WAAO,IAAI;AACX,iBAAa,IAAI;AACjB,QAAI;AACF,aAAO,MAAM,OAAO,IAAI,CAAC;AAAA,IAC3B,SAAS,KAAK;AACZ,YAAM,YAAQ,uCAAmB,GAAG;AACpC,cAAQ,MAAM,eAAe,MAAM,KAAK;AAAA,IAC1C,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,QAAQ,MAAM;AAClB,WAAO;AACP,eAAW,IAAI;AACf,WAAO,IAAI;AAAA,EACb;AAEA,SAAO,EAAE,SAAS,KAAK,WAAW,OAAO,MAAM;AACjD;","names":[]}
@@ -0,0 +1,9 @@
1
+ declare function useIpfsUpload(): {
2
+ preview: string | null;
3
+ uri: string | null;
4
+ uploading: boolean;
5
+ start: (file: File, upload: (file: File) => Promise<string>, onError: (message: string) => void) => Promise<void>;
6
+ clear: () => void;
7
+ };
8
+
9
+ export { useIpfsUpload };
@@ -0,0 +1,9 @@
1
+ declare function useIpfsUpload(): {
2
+ preview: string | null;
3
+ uri: string | null;
4
+ uploading: boolean;
5
+ start: (file: File, upload: (file: File) => Promise<string>, onError: (message: string) => void) => Promise<void>;
6
+ clear: () => void;
7
+ };
8
+
9
+ export { useIpfsUpload };
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { uploadFailureToast } from "../../utils/ipfs-upload.js";
4
+ function useIpfsUpload() {
5
+ const [preview, setPreview] = useState(null);
6
+ const [uri, setUri] = useState(null);
7
+ const [uploading, setUploading] = useState(false);
8
+ const previewRef = useRef(null);
9
+ const revoke = () => {
10
+ if (previewRef.current) URL.revokeObjectURL(previewRef.current);
11
+ previewRef.current = null;
12
+ };
13
+ useEffect(() => revoke, []);
14
+ const start = async (file, upload, onError) => {
15
+ revoke();
16
+ const objectUrl = URL.createObjectURL(file);
17
+ previewRef.current = objectUrl;
18
+ setPreview(objectUrl);
19
+ setUri(null);
20
+ setUploading(true);
21
+ try {
22
+ setUri(await upload(file));
23
+ } catch (err) {
24
+ const toast = uploadFailureToast(err);
25
+ onError(toast.description ?? toast.title);
26
+ } finally {
27
+ setUploading(false);
28
+ }
29
+ };
30
+ const clear = () => {
31
+ revoke();
32
+ setPreview(null);
33
+ setUri(null);
34
+ };
35
+ return { preview, uri, uploading, start, clear };
36
+ }
37
+ export {
38
+ useIpfsUpload
39
+ };
40
+ //# sourceMappingURL=use-ipfs-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/fast-mint/use-ipfs-upload.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport { uploadFailureToast } from \"../../utils/ipfs-upload.js\";\n\nexport function useIpfsUpload() {\n const [preview, setPreview] = useState<string | null>(null);\n const [uri, setUri] = useState<string | null>(null);\n const [uploading, setUploading] = useState(false);\n const previewRef = useRef<string | null>(null);\n\n const revoke = () => {\n if (previewRef.current) URL.revokeObjectURL(previewRef.current);\n previewRef.current = null;\n };\n\n useEffect(() => revoke, []);\n\n const start = async (file: File, upload: (file: File) => Promise<string>, onError: (message: string) => void) => {\n revoke();\n const objectUrl = URL.createObjectURL(file);\n previewRef.current = objectUrl;\n setPreview(objectUrl);\n setUri(null);\n setUploading(true);\n try {\n setUri(await upload(file));\n } catch (err) {\n const toast = uploadFailureToast(err);\n onError(toast.description ?? toast.title);\n } finally {\n setUploading(false);\n }\n };\n\n const clear = () => {\n revoke();\n setPreview(null);\n setUri(null);\n };\n\n return { preview, uri, uploading, start, clear };\n}\n"],"mappings":";AAEA,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,0BAA0B;AAE5B,SAAS,gBAAgB;AAC9B,QAAM,CAAC,SAAS,UAAU,IAAI,SAAwB,IAAI;AAC1D,QAAM,CAAC,KAAK,MAAM,IAAI,SAAwB,IAAI;AAClD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,aAAa,OAAsB,IAAI;AAE7C,QAAM,SAAS,MAAM;AACnB,QAAI,WAAW,QAAS,KAAI,gBAAgB,WAAW,OAAO;AAC9D,eAAW,UAAU;AAAA,EACvB;AAEA,YAAU,MAAM,QAAQ,CAAC,CAAC;AAE1B,QAAM,QAAQ,OAAO,MAAY,QAAyC,YAAuC;AAC/G,WAAO;AACP,UAAM,YAAY,IAAI,gBAAgB,IAAI;AAC1C,eAAW,UAAU;AACrB,eAAW,SAAS;AACpB,WAAO,IAAI;AACX,iBAAa,IAAI;AACjB,QAAI;AACF,aAAO,MAAM,OAAO,IAAI,CAAC;AAAA,IAC3B,SAAS,KAAK;AACZ,YAAM,QAAQ,mBAAmB,GAAG;AACpC,cAAQ,MAAM,eAAe,MAAM,KAAK;AAAA,IAC1C,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,QAAQ,MAAM;AAClB,WAAO;AACP,eAAW,IAAI;AACf,WAAO,IAAI;AAAA,EACb;AAEA,SAAO,EAAE,SAAS,KAAK,WAAW,OAAO,MAAM;AACjD;","names":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var use_new_collection_draft_exports = {};
21
+ __export(use_new_collection_draft_exports, {
22
+ useNewCollectionDraft: () => useNewCollectionDraft
23
+ });
24
+ module.exports = __toCommonJS(use_new_collection_draft_exports);
25
+ var import_react = require("react");
26
+ var import_launchpad_defaults = require("../../utils/launchpad-defaults.js");
27
+ function useNewCollectionDraft(assetName, assetDescription) {
28
+ const [name, setName] = (0, import_react.useState)("");
29
+ const [symbol, setSymbol] = (0, import_react.useState)("");
30
+ const [description, setDescription] = (0, import_react.useState)("");
31
+ const [autoSymbol, setAutoSymbol] = (0, import_react.useState)("");
32
+ const [autoName, setAutoName] = (0, import_react.useState)("");
33
+ const [autoDescription, setAutoDescription] = (0, import_react.useState)("");
34
+ (0, import_react.useEffect)(() => {
35
+ const suggested = (0, import_launchpad_defaults.suggestLaunchpadSymbol)(assetName);
36
+ if (!suggested) return;
37
+ if (!symbol || symbol === autoSymbol) {
38
+ setSymbol(suggested);
39
+ setAutoSymbol(suggested);
40
+ }
41
+ if (!name || name === autoName) {
42
+ setName(assetName);
43
+ setAutoName(assetName);
44
+ }
45
+ }, [assetName, autoSymbol, autoName, symbol, name]);
46
+ (0, import_react.useEffect)(() => {
47
+ if (!description || description === autoDescription) {
48
+ setDescription(assetDescription);
49
+ setAutoDescription(assetDescription);
50
+ }
51
+ }, [assetDescription, autoDescription, description]);
52
+ const reset = () => {
53
+ setName("");
54
+ setSymbol("");
55
+ setDescription("");
56
+ setAutoSymbol("");
57
+ setAutoName("");
58
+ setAutoDescription("");
59
+ };
60
+ return { name, symbol, description, setName, setSymbol, setDescription, reset };
61
+ }
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ useNewCollectionDraft
65
+ });
66
+ //# sourceMappingURL=use-new-collection-draft.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/fast-mint/use-new-collection-draft.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { suggestLaunchpadSymbol } from \"../../utils/launchpad-defaults.js\";\n\nexport function useNewCollectionDraft(assetName: string, assetDescription: string) {\n const [name, setName] = useState(\"\");\n const [symbol, setSymbol] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [autoSymbol, setAutoSymbol] = useState(\"\");\n const [autoName, setAutoName] = useState(\"\");\n const [autoDescription, setAutoDescription] = useState(\"\");\n\n useEffect(() => {\n const suggested = suggestLaunchpadSymbol(assetName);\n if (!suggested) return;\n if (!symbol || symbol === autoSymbol) {\n setSymbol(suggested);\n setAutoSymbol(suggested);\n }\n if (!name || name === autoName) {\n setName(assetName);\n setAutoName(assetName);\n }\n }, [assetName, autoSymbol, autoName, symbol, name]);\n\n useEffect(() => {\n if (!description || description === autoDescription) {\n setDescription(assetDescription);\n setAutoDescription(assetDescription);\n }\n }, [assetDescription, autoDescription, description]);\n\n const reset = () => {\n setName(\"\");\n setSymbol(\"\");\n setDescription(\"\");\n setAutoSymbol(\"\");\n setAutoName(\"\");\n setAutoDescription(\"\");\n };\n\n return { name, symbol, description, setName, setSymbol, setDescription, reset };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AACpC,gCAAuC;AAEhC,SAAS,sBAAsB,WAAmB,kBAA0B;AACjF,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,EAAE;AACnC,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,EAAE;AACvC,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AACjD,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,EAAE;AAC/C,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,EAAE;AAC3C,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAS,EAAE;AAEzD,8BAAU,MAAM;AACd,UAAM,gBAAY,kDAAuB,SAAS;AAClD,QAAI,CAAC,UAAW;AAChB,QAAI,CAAC,UAAU,WAAW,YAAY;AACpC,gBAAU,SAAS;AACnB,oBAAc,SAAS;AAAA,IACzB;AACA,QAAI,CAAC,QAAQ,SAAS,UAAU;AAC9B,cAAQ,SAAS;AACjB,kBAAY,SAAS;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,WAAW,YAAY,UAAU,QAAQ,IAAI,CAAC;AAElD,8BAAU,MAAM;AACd,QAAI,CAAC,eAAe,gBAAgB,iBAAiB;AACnD,qBAAe,gBAAgB;AAC/B,yBAAmB,gBAAgB;AAAA,IACrC;AAAA,EACF,GAAG,CAAC,kBAAkB,iBAAiB,WAAW,CAAC;AAEnD,QAAM,QAAQ,MAAM;AAClB,YAAQ,EAAE;AACV,cAAU,EAAE;AACZ,mBAAe,EAAE;AACjB,kBAAc,EAAE;AAChB,gBAAY,EAAE;AACd,uBAAmB,EAAE;AAAA,EACvB;AAEA,SAAO,EAAE,MAAM,QAAQ,aAAa,SAAS,WAAW,gBAAgB,MAAM;AAChF;","names":[]}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+
3
+ declare function useNewCollectionDraft(assetName: string, assetDescription: string): {
4
+ name: string;
5
+ symbol: string;
6
+ description: string;
7
+ setName: React.Dispatch<React.SetStateAction<string>>;
8
+ setSymbol: React.Dispatch<React.SetStateAction<string>>;
9
+ setDescription: React.Dispatch<React.SetStateAction<string>>;
10
+ reset: () => void;
11
+ };
12
+
13
+ export { useNewCollectionDraft };
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+
3
+ declare function useNewCollectionDraft(assetName: string, assetDescription: string): {
4
+ name: string;
5
+ symbol: string;
6
+ description: string;
7
+ setName: React.Dispatch<React.SetStateAction<string>>;
8
+ setSymbol: React.Dispatch<React.SetStateAction<string>>;
9
+ setDescription: React.Dispatch<React.SetStateAction<string>>;
10
+ reset: () => void;
11
+ };
12
+
13
+ export { useNewCollectionDraft };
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { useEffect, useState } from "react";
3
+ import { suggestLaunchpadSymbol } from "../../utils/launchpad-defaults.js";
4
+ function useNewCollectionDraft(assetName, assetDescription) {
5
+ const [name, setName] = useState("");
6
+ const [symbol, setSymbol] = useState("");
7
+ const [description, setDescription] = useState("");
8
+ const [autoSymbol, setAutoSymbol] = useState("");
9
+ const [autoName, setAutoName] = useState("");
10
+ const [autoDescription, setAutoDescription] = useState("");
11
+ useEffect(() => {
12
+ const suggested = suggestLaunchpadSymbol(assetName);
13
+ if (!suggested) return;
14
+ if (!symbol || symbol === autoSymbol) {
15
+ setSymbol(suggested);
16
+ setAutoSymbol(suggested);
17
+ }
18
+ if (!name || name === autoName) {
19
+ setName(assetName);
20
+ setAutoName(assetName);
21
+ }
22
+ }, [assetName, autoSymbol, autoName, symbol, name]);
23
+ useEffect(() => {
24
+ if (!description || description === autoDescription) {
25
+ setDescription(assetDescription);
26
+ setAutoDescription(assetDescription);
27
+ }
28
+ }, [assetDescription, autoDescription, description]);
29
+ const reset = () => {
30
+ setName("");
31
+ setSymbol("");
32
+ setDescription("");
33
+ setAutoSymbol("");
34
+ setAutoName("");
35
+ setAutoDescription("");
36
+ };
37
+ return { name, symbol, description, setName, setSymbol, setDescription, reset };
38
+ }
39
+ export {
40
+ useNewCollectionDraft
41
+ };
42
+ //# sourceMappingURL=use-new-collection-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/fast-mint/use-new-collection-draft.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { suggestLaunchpadSymbol } from \"../../utils/launchpad-defaults.js\";\n\nexport function useNewCollectionDraft(assetName: string, assetDescription: string) {\n const [name, setName] = useState(\"\");\n const [symbol, setSymbol] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [autoSymbol, setAutoSymbol] = useState(\"\");\n const [autoName, setAutoName] = useState(\"\");\n const [autoDescription, setAutoDescription] = useState(\"\");\n\n useEffect(() => {\n const suggested = suggestLaunchpadSymbol(assetName);\n if (!suggested) return;\n if (!symbol || symbol === autoSymbol) {\n setSymbol(suggested);\n setAutoSymbol(suggested);\n }\n if (!name || name === autoName) {\n setName(assetName);\n setAutoName(assetName);\n }\n }, [assetName, autoSymbol, autoName, symbol, name]);\n\n useEffect(() => {\n if (!description || description === autoDescription) {\n setDescription(assetDescription);\n setAutoDescription(assetDescription);\n }\n }, [assetDescription, autoDescription, description]);\n\n const reset = () => {\n setName(\"\");\n setSymbol(\"\");\n setDescription(\"\");\n setAutoSymbol(\"\");\n setAutoName(\"\");\n setAutoDescription(\"\");\n };\n\n return { name, symbol, description, setName, setSymbol, setDescription, reset };\n}\n"],"mappings":";AAEA,SAAS,WAAW,gBAAgB;AACpC,SAAS,8BAA8B;AAEhC,SAAS,sBAAsB,WAAmB,kBAA0B;AACjF,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,EAAE;AACnC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,EAAE;AACvC,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,EAAE;AAC3C,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,EAAE;AAEzD,YAAU,MAAM;AACd,UAAM,YAAY,uBAAuB,SAAS;AAClD,QAAI,CAAC,UAAW;AAChB,QAAI,CAAC,UAAU,WAAW,YAAY;AACpC,gBAAU,SAAS;AACnB,oBAAc,SAAS;AAAA,IACzB;AACA,QAAI,CAAC,QAAQ,SAAS,UAAU;AAC9B,cAAQ,SAAS;AACjB,kBAAY,SAAS;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,WAAW,YAAY,UAAU,QAAQ,IAAI,CAAC;AAElD,YAAU,MAAM;AACd,QAAI,CAAC,eAAe,gBAAgB,iBAAiB;AACnD,qBAAe,gBAAgB;AAC/B,yBAAmB,gBAAgB;AAAA,IACrC;AAAA,EACF,GAAG,CAAC,kBAAkB,iBAAiB,WAAW,CAAC;AAEnD,QAAM,QAAQ,MAAM;AAClB,YAAQ,EAAE;AACV,cAAU,EAAE;AACZ,mBAAe,EAAE;AACjB,kBAAc,EAAE;AAChB,gBAAY,EAAE;AACd,uBAAmB,EAAE;AAAA,EACvB;AAEA,SAAO,EAAE,MAAM,QAAQ,aAAa,SAAS,WAAW,gBAAgB,MAAM;AAChF;","names":[]}
@@ -10,7 +10,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
10
10
  declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
11
11
  declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare const sheetVariants: (props?: ({
13
- side?: "left" | "right" | "bottom" | "top" | null | undefined;
13
+ side?: "bottom" | "left" | "right" | "top" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
16
16
  overlayClassName?: string;
@@ -10,7 +10,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
10
10
  declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
11
11
  declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare const sheetVariants: (props?: ({
13
- side?: "left" | "right" | "bottom" | "top" | null | undefined;
13
+ side?: "bottom" | "left" | "right" | "top" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
16
16
  overlayClassName?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medialane/ui",
3
- "version": "0.295.0",
3
+ "version": "0.296.0",
4
4
  "description": "Shared UI components for Medialane apps",
5
5
  "type": "module",
6
6
  "sideEffects": false,