@tapcart/mobile-components 0.17.1 → 0.17.2

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 +1 @@
1
- {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/core/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU;;;;;CAKb,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAA;AAE9C,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjE;AAED;;;;;GAKG;AACH,iBAAS,IAAI,CAAC,EAAE,GAAG,EAAE,IAAW,EAAE,KAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,kDAmC7E;kBAnCQ,IAAI;;;AAuCb,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/core/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU;;;;;CAKb,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAA;AAE9C,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjE;AAED;;;;;GAKG;AACH,iBAAS,IAAI,CAAC,EACZ,GAAG,EACH,IAAW,EACX,KAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,SAAS,kDAmCX;kBAzCQ,IAAI;;;AA6Cb,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1,41 @@
1
+ type CreateReviewInput = {
2
+ provider: string;
3
+ productId: string;
4
+ productHandle?: string;
5
+ productTitle?: string;
6
+ productUrl?: string;
7
+ displayName: string;
8
+ email: string;
9
+ reviewTitle: string;
10
+ reviewContent: string;
11
+ reviewScore: number;
12
+ };
13
+ type UseCreateReviewProps = {
14
+ baseURL: string;
15
+ };
16
+ type CreateReviewOutcome = {
17
+ ok: boolean;
18
+ imageUploadToken?: string;
19
+ };
20
+ type UploadReviewImagesInput = {
21
+ provider: string;
22
+ imageUploadToken: string;
23
+ files: File[];
24
+ };
25
+ type UseCreateReviewReturn = {
26
+ createReview: (input: CreateReviewInput) => Promise<CreateReviewOutcome>;
27
+ uploadReviewImages: (input: UploadReviewImagesInput) => Promise<boolean>;
28
+ isSubmitting: boolean;
29
+ isUploadingImages: boolean;
30
+ isSuccess: boolean;
31
+ error: string | null;
32
+ reset: () => void;
33
+ };
34
+ /**
35
+ * Mutation counterpart to `useReviews`. Submits a new review through the
36
+ * app-scoped API route (`POST {baseURL}/reviews/create`), which proxies to
37
+ * the review provider (currently Yotpo only).
38
+ */
39
+ export declare function useCreateReview({ baseURL, }: UseCreateReviewProps): UseCreateReviewReturn;
40
+ export {};
41
+ //# sourceMappingURL=use-create-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-create-review.d.ts","sourceRoot":"","sources":["../../../components/hooks/use-create-review.ts"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IAGjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,OAAO,CAAA;IAEX,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAIxE,kBAAkB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,GACR,EAAE,oBAAoB,GAAG,qBAAqB,CAoH9C"}
@@ -0,0 +1,128 @@
1
+ "use client";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ import { useCallback, useRef, useState } from "react";
12
+ /**
13
+ * Mutation counterpart to `useReviews`. Submits a new review through the
14
+ * app-scoped API route (`POST {baseURL}/reviews/create`), which proxies to
15
+ * the review provider (currently Yotpo only).
16
+ */
17
+ export function useCreateReview({ baseURL, }) {
18
+ const [isSubmitting, setIsSubmitting] = useState(false);
19
+ const [isUploadingImages, setIsUploadingImages] = useState(false);
20
+ const [isSuccess, setIsSuccess] = useState(false);
21
+ const [error, setError] = useState(null);
22
+ // Track in-flight requests so a closing/reset drawer can abort them; a late
23
+ // resolution must not write success/error state onto a form the user left.
24
+ const createAbortRef = useRef(null);
25
+ const uploadAbortRef = useRef(null);
26
+ const createReview = useCallback((input) => __awaiter(this, void 0, void 0, function* () {
27
+ setIsSubmitting(true);
28
+ setError(null);
29
+ const controller = new AbortController();
30
+ createAbortRef.current = controller;
31
+ try {
32
+ const response = yield fetch(`${baseURL}/reviews/create`, {
33
+ method: "POST",
34
+ headers: { "Content-Type": "application/json" },
35
+ body: JSON.stringify(input),
36
+ signal: controller.signal,
37
+ });
38
+ if (!response.ok) {
39
+ let message = "Something went wrong. Please try again.";
40
+ // Only surface the server's message for client errors (validation
41
+ // strings meant for the user). 5xx bodies can carry internal error
42
+ // detail and get the generic copy instead.
43
+ if (response.status >= 400 && response.status < 500) {
44
+ try {
45
+ const body = yield response.json();
46
+ if (typeof (body === null || body === void 0 ? void 0 : body.error) === "string") {
47
+ message = body.error;
48
+ }
49
+ }
50
+ catch (_a) {
51
+ // non-JSON error body; keep the generic message
52
+ }
53
+ }
54
+ setError(message);
55
+ return { ok: false };
56
+ }
57
+ let imageUploadToken;
58
+ try {
59
+ const body = yield response.json();
60
+ imageUploadToken = (body === null || body === void 0 ? void 0 : body.imageUploadToken) || undefined;
61
+ }
62
+ catch (_b) {
63
+ // No JSON body; creation still succeeded.
64
+ }
65
+ setIsSuccess(true);
66
+ return { ok: true, imageUploadToken };
67
+ }
68
+ catch (error) {
69
+ // Aborted because the drawer closed — leave state untouched so a
70
+ // reopened drawer isn't painted with this abandoned submission.
71
+ if (controller.signal.aborted)
72
+ return { ok: false };
73
+ console.error("Error creating review:", error);
74
+ setError("Something went wrong. Please try again.");
75
+ return { ok: false };
76
+ }
77
+ finally {
78
+ setIsSubmitting(false);
79
+ }
80
+ }), [baseURL]);
81
+ const uploadReviewImages = useCallback((input) => __awaiter(this, void 0, void 0, function* () {
82
+ setIsUploadingImages(true);
83
+ const controller = new AbortController();
84
+ uploadAbortRef.current = controller;
85
+ try {
86
+ const formData = new FormData();
87
+ formData.append("provider", input.provider);
88
+ formData.append("imageUploadToken", input.imageUploadToken);
89
+ for (const file of input.files) {
90
+ formData.append("photos", file);
91
+ }
92
+ const response = yield fetch(`${baseURL}/reviews/images`, {
93
+ method: "POST",
94
+ body: formData,
95
+ signal: controller.signal,
96
+ });
97
+ return response.ok;
98
+ }
99
+ catch (error) {
100
+ if (controller.signal.aborted)
101
+ return false;
102
+ console.error("Error uploading review images:", error);
103
+ return false;
104
+ }
105
+ finally {
106
+ setIsUploadingImages(false);
107
+ }
108
+ }), [baseURL]);
109
+ const reset = useCallback(() => {
110
+ var _a, _b;
111
+ // Cancel any in-flight request so it can't resolve into stale UI state.
112
+ (_a = createAbortRef.current) === null || _a === void 0 ? void 0 : _a.abort();
113
+ (_b = uploadAbortRef.current) === null || _b === void 0 ? void 0 : _b.abort();
114
+ setIsSubmitting(false);
115
+ setIsUploadingImages(false);
116
+ setIsSuccess(false);
117
+ setError(null);
118
+ }, []);
119
+ return {
120
+ createReview,
121
+ uploadReviewImages,
122
+ isSubmitting,
123
+ isUploadingImages,
124
+ isSuccess,
125
+ error,
126
+ reset,
127
+ };
128
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-search.d.ts","sourceRoot":"","sources":["../../../../components/libs/sort-filter/custom-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAEL,cAAc,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,YAAa,SAAQ,GAAG;IACnC,OAAO,CAAC,WAAW,CAAa;gBAEpB,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKzD,qCAAqC,YAC1B,cAAc,EAAE,gBACX,uBAAuB,KACpC,MAAM,CA2BR;IAED,wBAAwB,YAEvB;CACF"}
1
+ {"version":3,"file":"custom-search.d.ts","sourceRoot":"","sources":["../../../../components/libs/sort-filter/custom-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,YAAa,SAAQ,GAAG;IACnC,OAAO,CAAC,WAAW,CAAa;gBAEpB,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKzD,qCAAqC,YAC1B,cAAc,EAAE,gBACX,uBAAuB,KACpC,MAAM,CA2BR;IAED,wBAAwB,YAEvB;CACF"}
package/dist/index.d.ts CHANGED
@@ -85,6 +85,7 @@ export * from "./components/ui/html";
85
85
  export * from "./components/hooks/use-shop";
86
86
  export * from "./components/libs/sort-filter/search-integration";
87
87
  export * from "./components/hooks/use-reviews";
88
+ export * from "./components/hooks/use-create-review";
88
89
  export * from "./components/hooks/use-style-parent";
89
90
  export * from "./components/ui/subcollection-tabs";
90
91
  export * from "./components/ui/ProductCard/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -85,6 +85,7 @@ export * from "./components/ui/html";
85
85
  export * from "./components/hooks/use-shop";
86
86
  export * from "./components/libs/sort-filter/search-integration";
87
87
  export * from "./components/hooks/use-reviews";
88
+ export * from "./components/hooks/use-create-review";
88
89
  export * from "./components/hooks/use-style-parent";
89
90
  export * from "./components/ui/subcollection-tabs";
90
91
  export * from "./components/ui/ProductCard/utils";
package/dist/styles.css CHANGED
@@ -753,12 +753,18 @@ video {
753
753
  .-left-12 {
754
754
  left: -3rem;
755
755
  }
756
+ .-right-1\.5 {
757
+ right: -0.375rem;
758
+ }
756
759
  .-right-12 {
757
760
  right: -3rem;
758
761
  }
759
762
  .-top-1 {
760
763
  top: -0.25rem;
761
764
  }
765
+ .-top-1\.5 {
766
+ top: -0.375rem;
767
+ }
762
768
  .-top-12 {
763
769
  top: -3rem;
764
770
  }
@@ -816,6 +822,9 @@ video {
816
822
  .right-2 {
817
823
  right: 0.5rem;
818
824
  }
825
+ .right-3 {
826
+ right: 0.75rem;
827
+ }
819
828
  .start-10 {
820
829
  inset-inline-start: 2.5rem;
821
830
  }
@@ -898,6 +907,10 @@ video {
898
907
  margin-left: -1rem;
899
908
  margin-right: -1rem;
900
909
  }
910
+ .mx-0 {
911
+ margin-left: 0px;
912
+ margin-right: 0px;
913
+ }
901
914
  .mx-1 {
902
915
  margin-left: 0.25rem;
903
916
  margin-right: 0.25rem;
@@ -1316,6 +1329,9 @@ video {
1316
1329
  .min-h-\[60px\] {
1317
1330
  min-height: 60px;
1318
1331
  }
1332
+ .min-h-\[86px\] {
1333
+ min-height: 86px;
1334
+ }
1319
1335
  .min-h-screen {
1320
1336
  min-height: 100vh;
1321
1337
  }
@@ -2178,6 +2194,10 @@ video {
2178
2194
  .border-input {
2179
2195
  border-color: hsl(var(--input));
2180
2196
  }
2197
+ .border-red-600 {
2198
+ --tw-border-opacity: 1;
2199
+ border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
2200
+ }
2181
2201
  .border-stateColors-error {
2182
2202
  border-color: var(--stateColors-error);
2183
2203
  }
@@ -2305,6 +2325,9 @@ video {
2305
2325
  .bg-stateColors-warning {
2306
2326
  background-color: var(--stateColors-warning);
2307
2327
  }
2328
+ .bg-textColors-primaryColor {
2329
+ background-color: var(--textColors-primaryColor, #121212ff);
2330
+ }
2308
2331
  .bg-transparent {
2309
2332
  background-color: transparent;
2310
2333
  }
@@ -2690,6 +2713,9 @@ video {
2690
2713
  .leading-\[1\.2\] {
2691
2714
  line-height: 1.2;
2692
2715
  }
2716
+ .leading-\[1\.3\] {
2717
+ line-height: 1.3;
2718
+ }
2693
2719
  .leading-\[120\%\] {
2694
2720
  line-height: 120%;
2695
2721
  }
@@ -2872,6 +2898,10 @@ video {
2872
2898
  --tw-text-opacity: 1;
2873
2899
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
2874
2900
  }
2901
+ .text-red-700 {
2902
+ --tw-text-opacity: 1;
2903
+ color: rgb(185 28 28 / var(--tw-text-opacity, 1));
2904
+ }
2875
2905
  .text-stateColors-disabled {
2876
2906
  color: var(--stateColors-disabled);
2877
2907
  }
@@ -3455,9 +3485,16 @@ body::-webkit-scrollbar {
3455
3485
  .focus\:border-coreColors-brandColorPrimary:focus {
3456
3486
  border-color: var(--coreColors-brandColorPrimary);
3457
3487
  }
3488
+ .focus\:border-red-600:focus {
3489
+ --tw-border-opacity: 1;
3490
+ border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
3491
+ }
3458
3492
  .focus\:border-stateColors-error:focus {
3459
3493
  border-color: var(--stateColors-error);
3460
3494
  }
3495
+ .focus\:border-textColors-primaryColor:focus {
3496
+ border-color: var(--textColors-primaryColor, #121212ff);
3497
+ }
3461
3498
  .focus\:bg-stateColors-skeleton:focus {
3462
3499
  background-color: var(--stateColors-skeleton);
3463
3500
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapcart/mobile-components",
3
- "version": "0.17.1",
3
+ "version": "0.17.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "style": "dist/styles.css",