@bosonprotocol/react-kit 0.38.0-alpha.6 → 0.39.0-alpha.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.
@@ -1,7 +1,15 @@
1
1
  import React from "react";
2
+ import { getIpfsGatewayUrl } from "../../../lib/ipfs/ipfs";
2
3
  export type UploadedSinglePdfFileProps = {
3
4
  fileName: string;
4
5
  onXClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
6
+ className?: string;
7
+ onClick?: () => unknown;
8
+ urlProps?: {
9
+ uri: Parameters<typeof getIpfsGatewayUrl>[0];
10
+ opts: Parameters<typeof getIpfsGatewayUrl>[1];
11
+ linkProps?: Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "onClick">;
12
+ };
5
13
  };
6
- export declare const UploadedSinglePdfFile: ({ fileName, onXClick }: UploadedSinglePdfFileProps) => React.JSX.Element;
14
+ export declare const UploadedSinglePdfFile: ({ fileName, onClick, onXClick, className, urlProps }: UploadedSinglePdfFileProps) => React.JSX.Element;
7
15
  //# sourceMappingURL=UploadedSinglePdfFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedSinglePdfFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AACF,eAAO,MAAM,qBAAqB,2BAG/B,0BAA0B,sBA2B5B,CAAC"}
1
+ {"version":3,"file":"UploadedSinglePdfFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAY3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5E,CAAC;CACH,CAAC;AACF,eAAO,MAAM,qBAAqB,yDAM/B,0BAA0B,sBA4C5B,CAAC"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -9,15 +42,28 @@ const phosphor_react_1 = require("phosphor-react");
9
42
  const Typography_1 = require("../../ui/Typography");
10
43
  const react_1 = __importDefault(require("react"));
11
44
  const colors_1 = require("../../../colors");
12
- const UploadedSinglePdfFile = ({ fileName, onXClick }) => {
13
- return (react_1.default.createElement(Grid_1.Grid, { flexDirection: "row", alignItems: "center", gap: "0.25rem" },
45
+ const ipfs_1 = require("../../../lib/ipfs/ipfs");
46
+ const styled_components_1 = __importStar(require("styled-components"));
47
+ const Wrapper = (0, styled_components_1.default)(Grid_1.Grid) `
48
+ ${({ onClick, urlProps }) => onClick || urlProps
49
+ ? (0, styled_components_1.css) `
50
+ cursor: pointer;
51
+ `
52
+ : ""}
53
+ `;
54
+ const UploadedSinglePdfFile = ({ fileName, onClick, onXClick, className, urlProps }) => {
55
+ return (react_1.default.createElement(Wrapper, Object.assign({}, (urlProps
56
+ ? Object.assign(Object.assign({ target: "_blank", rel: "noopener noreferrer" }, urlProps.linkProps), { href: (0, ipfs_1.getIpfsGatewayUrl)(urlProps.uri, urlProps.opts), tag: "a" }) : { onClick }), { flexDirection: "row", alignItems: "center", gap: "0.25rem", className: className }),
14
57
  react_1.default.createElement("div", null,
15
58
  react_1.default.createElement(phosphor_react_1.FilePdf, { size: 24 })),
16
59
  react_1.default.createElement(Typography_1.Typography, { width: "100%", color: colors_1.colors.purpleDeep, fontSize: "0.875rem" }, fileName),
17
60
  onXClick && (react_1.default.createElement("button", { type: "button", style: {
18
61
  display: "flex",
19
62
  justifyContent: "center"
20
- }, onClick: onXClick },
63
+ }, onClick: (e) => {
64
+ e.preventDefault();
65
+ onXClick(e);
66
+ } },
21
67
  react_1.default.createElement(phosphor_react_1.X, { size: 12.5 })))));
22
68
  };
23
69
  exports.UploadedSinglePdfFile = UploadedSinglePdfFile;
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedSinglePdfFile.js","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":";;;;;;AAAA,wCAAqC;AACrC,mDAA4C;AAC5C,oDAAiD;AACjD,kDAA0B;AAC1B,4CAAyC;AAMlC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,QAAQ,EACmB,EAAE,EAAE;IAC/B,OAAO,CACL,8BAAC,WAAI,IAAC,aAAa,EAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAC,SAAS;QACzD;YACE,8BAAC,wBAAO,IAAC,IAAI,EAAE,EAAE,GAAI,CACjB;QACN,8BAAC,uBAAU,IACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,UAAU,IAEnB,QAAQ,CACE;QACZ,QAAQ,IAAI,CACX,0CACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;aACzB,EACD,OAAO,EAAE,QAAQ;YAEjB,8BAAC,kBAAC,IAAC,IAAI,EAAE,IAAI,GAAI,CACV,CACV,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,qBAAqB,yBA8BhC"}
1
+ {"version":3,"file":"UploadedSinglePdfFile.js","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,mDAA4C;AAC5C,oDAAiD;AACjD,kDAA0B;AAC1B,4CAAyC;AACzC,iDAA2D;AAC3D,uEAAgD;AAChD,MAAM,OAAO,GAAG,IAAA,2BAAM,EAAC,WAAI,CAAC,CAE3B;IACG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1B,OAAO,IAAI,QAAQ;IACjB,CAAC,CAAC,IAAA,uBAAG,EAAA;;SAEF;IACH,CAAC,CAAC,EAAE;CACT,CAAC;AAYK,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACmB,EAAE,EAAE;IAC/B,OAAO,CACL,8BAAC,OAAO,oBACF,CAAC,QAAQ;QACX,CAAC,+BACG,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,qBAAqB,IACvB,QAAQ,CAAC,SAAS,KACrB,IAAI,EAAE,IAAA,wBAAiB,EAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpD,GAAG,EAAE,GAAG,IAEZ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAChB,aAAa,EAAC,KAAK,EACnB,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAC,SAAS,EACb,SAAS,EAAE,SAAS;QAEpB;YACE,8BAAC,wBAAO,IAAC,IAAI,EAAE,EAAE,GAAI,CACjB;QACN,8BAAC,uBAAU,IACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,UAAU,IAEnB,QAAQ,CACE;QACZ,QAAQ,IAAI,CACX,0CACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;aACzB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;YAED,8BAAC,kBAAC,IAAC,IAAI,EAAE,IAAI,GAAI,CACV,CACV,CACO,CACX,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,qBAAqB,yBAkDhC"}
@@ -1,7 +1,15 @@
1
1
  import React from "react";
2
+ import { getIpfsGatewayUrl } from "../../../lib/ipfs/ipfs";
2
3
  export type UploadedSinglePdfFileProps = {
3
4
  fileName: string;
4
5
  onXClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
6
+ className?: string;
7
+ onClick?: () => unknown;
8
+ urlProps?: {
9
+ uri: Parameters<typeof getIpfsGatewayUrl>[0];
10
+ opts: Parameters<typeof getIpfsGatewayUrl>[1];
11
+ linkProps?: Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "onClick">;
12
+ };
5
13
  };
6
- export declare const UploadedSinglePdfFile: ({ fileName, onXClick }: UploadedSinglePdfFileProps) => React.JSX.Element;
14
+ export declare const UploadedSinglePdfFile: ({ fileName, onClick, onXClick, className, urlProps }: UploadedSinglePdfFileProps) => React.JSX.Element;
7
15
  //# sourceMappingURL=UploadedSinglePdfFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedSinglePdfFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AACF,eAAO,MAAM,qBAAqB,2BAG/B,0BAA0B,sBA2B5B,CAAC"}
1
+ {"version":3,"file":"UploadedSinglePdfFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAY3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5E,CAAC;CACH,CAAC;AACF,eAAO,MAAM,qBAAqB,yDAM/B,0BAA0B,sBA4C5B,CAAC"}
@@ -3,15 +3,35 @@ import { FilePdf, X } from "phosphor-react";
3
3
  import { Typography } from "../../ui/Typography";
4
4
  import React from "react";
5
5
  import { colors } from "../../../colors";
6
- export const UploadedSinglePdfFile = ({ fileName, onXClick }) => {
7
- return (React.createElement(Grid, { flexDirection: "row", alignItems: "center", gap: "0.25rem" },
6
+ import { getIpfsGatewayUrl } from "../../../lib/ipfs/ipfs";
7
+ import styled, { css } from "styled-components";
8
+ const Wrapper = styled(Grid) `
9
+ ${({ onClick, urlProps }) => onClick || urlProps
10
+ ? css `
11
+ cursor: pointer;
12
+ `
13
+ : ""}
14
+ `;
15
+ export const UploadedSinglePdfFile = ({ fileName, onClick, onXClick, className, urlProps }) => {
16
+ return (React.createElement(Wrapper, { ...(urlProps
17
+ ? {
18
+ target: "_blank",
19
+ rel: "noopener noreferrer",
20
+ ...urlProps.linkProps,
21
+ href: getIpfsGatewayUrl(urlProps.uri, urlProps.opts),
22
+ tag: "a"
23
+ }
24
+ : { onClick }), flexDirection: "row", alignItems: "center", gap: "0.25rem", className: className },
8
25
  React.createElement("div", null,
9
26
  React.createElement(FilePdf, { size: 24 })),
10
27
  React.createElement(Typography, { width: "100%", color: colors.purpleDeep, fontSize: "0.875rem" }, fileName),
11
28
  onXClick && (React.createElement("button", { type: "button", style: {
12
29
  display: "flex",
13
30
  justifyContent: "center"
14
- }, onClick: onXClick },
31
+ }, onClick: (e) => {
32
+ e.preventDefault();
33
+ onXClick(e);
34
+ } },
15
35
  React.createElement(X, { size: 12.5 })))));
16
36
  };
17
37
  //# sourceMappingURL=UploadedSinglePdfFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedSinglePdfFile.js","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,QAAQ,EACmB,EAAE,EAAE;IAC/B,OAAO,CACL,oBAAC,IAAI,IAAC,aAAa,EAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAC,SAAS;QACzD;YACE,oBAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,CACjB;QACN,oBAAC,UAAU,IACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,UAAU,IAEnB,QAAQ,CACE;QACZ,QAAQ,IAAI,CACX,gCACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;aACzB,EACD,OAAO,EAAE,QAAQ;YAEjB,oBAAC,CAAC,IAAC,IAAI,EAAE,IAAI,GAAI,CACV,CACV,CACI,CACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"UploadedSinglePdfFile.js","sourceRoot":"","sources":["../../../../../src/components/form/Upload/UploadedSinglePdfFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAE3B;IACG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1B,OAAO,IAAI,QAAQ;IACjB,CAAC,CAAC,GAAG,CAAA;;SAEF;IACH,CAAC,CAAC,EAAE;CACT,CAAC;AAYF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACmB,EAAE,EAAE;IAC/B,OAAO,CACL,oBAAC,OAAO,OACF,CAAC,QAAQ;YACX,CAAC,CAAC;gBACE,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,qBAAqB;gBAC1B,GAAG,QAAQ,CAAC,SAAS;gBACrB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACpD,GAAG,EAAE,GAAG;aACT;YACH,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAChB,aAAa,EAAC,KAAK,EACnB,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAC,SAAS,EACb,SAAS,EAAE,SAAS;QAEpB;YACE,oBAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,CACjB;QACN,oBAAC,UAAU,IACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,UAAU,IAEnB,QAAQ,CACE;QACZ,QAAQ,IAAI,CACX,gCACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;aACzB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;YAED,oBAAC,CAAC,IAAC,IAAI,EAAE,IAAI,GAAI,CACV,CACV,CACO,CACX,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bosonprotocol/react-kit",
3
3
  "description": "React toolkit with smart components and hooks for building on top of the Boson Protocol.",
4
- "version": "0.38.0-alpha.6",
4
+ "version": "0.39.0-alpha.0",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
7
7
  "types": "./dist/cjs/index.d.ts",
@@ -15,8 +15,8 @@
15
15
  "license": "Apache-2.0",
16
16
  "dependencies": {
17
17
  "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9",
18
- "@bosonprotocol/core-sdk": "^1.43.1-alpha.7",
19
- "@bosonprotocol/ethers-sdk": "^1.15.5-alpha.0",
18
+ "@bosonprotocol/core-sdk": "^1.43.1",
19
+ "@bosonprotocol/ethers-sdk": "^1.15.5",
20
20
  "@bosonprotocol/ipfs-storage": "^1.12.0",
21
21
  "@bosonprotocol/roblox-sdk": "^1.0.0-alpha.16",
22
22
  "@davatar/react": "1.11.1",
@@ -205,5 +205,5 @@
205
205
  "overrides": {
206
206
  "typescript": "^5.1.6"
207
207
  },
208
- "gitHead": "6fe049b3220c839b80730d15c4f85b27352a4408"
208
+ "gitHead": "55fff2d713a10cacc4b19dd0701ec952292d93f7"
209
209
  }
@@ -3,17 +3,52 @@ import { FilePdf, X } from "phosphor-react";
3
3
  import { Typography } from "../../ui/Typography";
4
4
  import React from "react";
5
5
  import { colors } from "../../../colors";
6
-
6
+ import { getIpfsGatewayUrl } from "../../../lib/ipfs/ipfs";
7
+ import styled, { css } from "styled-components";
8
+ const Wrapper = styled(Grid)<
9
+ Pick<UploadedSinglePdfFileProps, "onClick" | "urlProps">
10
+ >`
11
+ ${({ onClick, urlProps }) =>
12
+ onClick || urlProps
13
+ ? css`
14
+ cursor: pointer;
15
+ `
16
+ : ""}
17
+ `;
7
18
  export type UploadedSinglePdfFileProps = {
8
19
  fileName: string;
9
20
  onXClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
21
+ className?: string;
22
+ onClick?: () => unknown;
23
+ urlProps?: {
24
+ uri: Parameters<typeof getIpfsGatewayUrl>[0];
25
+ opts: Parameters<typeof getIpfsGatewayUrl>[1];
26
+ linkProps?: Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "onClick">;
27
+ };
10
28
  };
11
29
  export const UploadedSinglePdfFile = ({
12
30
  fileName,
13
- onXClick
31
+ onClick,
32
+ onXClick,
33
+ className,
34
+ urlProps
14
35
  }: UploadedSinglePdfFileProps) => {
15
36
  return (
16
- <Grid flexDirection="row" alignItems="center" gap="0.25rem">
37
+ <Wrapper
38
+ {...(urlProps
39
+ ? {
40
+ target: "_blank",
41
+ rel: "noopener noreferrer",
42
+ ...urlProps.linkProps,
43
+ href: getIpfsGatewayUrl(urlProps.uri, urlProps.opts),
44
+ tag: "a"
45
+ }
46
+ : { onClick })}
47
+ flexDirection="row"
48
+ alignItems="center"
49
+ gap="0.25rem"
50
+ className={className}
51
+ >
17
52
  <div>
18
53
  <FilePdf size={24} />
19
54
  </div>
@@ -31,11 +66,14 @@ export const UploadedSinglePdfFile = ({
31
66
  display: "flex",
32
67
  justifyContent: "center"
33
68
  }}
34
- onClick={onXClick}
69
+ onClick={(e) => {
70
+ e.preventDefault();
71
+ onXClick(e);
72
+ }}
35
73
  >
36
74
  <X size={12.5} />
37
75
  </button>
38
76
  )}
39
- </Grid>
77
+ </Wrapper>
40
78
  );
41
79
  };