@tapcart/mobile-components 0.7.12 → 0.7.13

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,9 +1,4 @@
1
- interface Collection {
2
- id: string;
3
- title: string;
4
- handle: string;
5
- products: Product[];
6
- }
1
+ import { Collection } from "app-studio-types";
7
2
  interface UseCollectionProps {
8
3
  apiUrl: string;
9
4
  appId: string;
@@ -13,12 +8,10 @@ interface UseCollectionProps {
13
8
  language: string;
14
9
  getCollections?: boolean;
15
10
  limit?: number;
11
+ metafields?: string;
16
12
  }
17
- interface Product {
18
- handle: string;
19
- }
20
- export declare const useCollection: ({ apiUrl, appId, collectionId, collectionHandle, collectionIdList, language, limit, getCollections, }: UseCollectionProps) => {
21
- collections: Collection[] | null;
13
+ export declare const useCollection: ({ apiUrl, appId, collectionId, collectionHandle, collectionIdList, language, limit, getCollections, metafields, }: UseCollectionProps) => {
14
+ collections: Collection[];
22
15
  specificCollection: Collection | null;
23
16
  loading: boolean;
24
17
  error: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"use-collection.d.ts","sourceRoot":"","sources":["../../../components/hooks/use-collection.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,MAAM,EAAE,MAAM,CAAA;CAEf;AA6ED,eAAO,MAAM,aAAa,0GASvB,kBAAkB;;;;;CA0DpB,CAAA"}
1
+ {"version":3,"file":"use-collection.d.ts","sourceRoot":"","sources":["../../../components/hooks/use-collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAqFD,eAAO,MAAM,aAAa,sHAUvB,kBAAkB;;;;;CA6DpB,CAAA"}
@@ -27,14 +27,15 @@ const fetchWrapper = (url, errorCallback) => __awaiter(void 0, void 0, void 0, f
27
27
  errorCallback(error instanceof Error ? error.message : "An unknown error occurred.");
28
28
  }
29
29
  });
30
- const fetchCollection = (apiUrl, language, setError, collectionId = "", collectionHandle = "") => __awaiter(void 0, void 0, void 0, function* () {
30
+ const fetchCollection = (apiUrl, language, setError, collectionId = "", collectionHandle = "", metafields = "") => __awaiter(void 0, void 0, void 0, function* () {
31
31
  const collectionBy = collectionHandle ? "by-handle" : "by-id";
32
32
  const params = new URLSearchParams({
33
33
  collectionHandle: collectionHandle,
34
34
  collectionId: collectionId,
35
35
  language,
36
- }).toString();
37
- return yield fetchWrapper(`${apiUrl}/collections/${collectionBy}?${params}`, setError);
36
+ metafields,
37
+ });
38
+ return yield fetchWrapper(`${apiUrl}/collections/${collectionBy}?${params.toString()}`, setError);
38
39
  });
39
40
  const fetchAllCollections = (apiUrl, setError, limit = 100) => __awaiter(void 0, void 0, void 0, function* () {
40
41
  const limitParam = new URLSearchParams({
@@ -42,8 +43,8 @@ const fetchAllCollections = (apiUrl, setError, limit = 100) => __awaiter(void 0,
42
43
  }).toString();
43
44
  return yield fetchWrapper(`${apiUrl}/collections/by-app-id?${limitParam}`, setError);
44
45
  });
45
- export const useCollection = ({ apiUrl, appId, collectionId, collectionHandle, collectionIdList, language, limit = 100, getCollections = false, }) => {
46
- const [collections, setCollections] = useState(null);
46
+ export const useCollection = ({ apiUrl, appId, collectionId, collectionHandle, collectionIdList, language, limit = 100, getCollections = false, metafields, }) => {
47
+ const [collections, setCollections] = useState([]);
47
48
  const [specificCollection, setSpecificCollection] = useState(null);
48
49
  const [loading, setLoading] = useState(true);
49
50
  const [error, setError] = useState(null);
@@ -52,7 +53,7 @@ export const useCollection = ({ apiUrl, appId, collectionId, collectionHandle, c
52
53
  try {
53
54
  if (getCollections) {
54
55
  const collections = yield fetchAllCollections(apiUrl, setError, limit);
55
- return setCollections(collections);
56
+ return setCollections(collections !== null && collections !== void 0 ? collections : []);
56
57
  }
57
58
  if (collectionIdList === null || collectionIdList === void 0 ? void 0 : collectionIdList.length) {
58
59
  const collections = yield Promise.all(collectionIdList.map((id) => fetchCollection(apiUrl, language, setError, id)));
@@ -60,7 +61,7 @@ export const useCollection = ({ apiUrl, appId, collectionId, collectionHandle, c
60
61
  return setCollections(filteredCollections);
61
62
  }
62
63
  if (collectionId || collectionHandle) {
63
- const collection = yield fetchCollection(apiUrl, language, setError, collectionId, collectionHandle);
64
+ const collection = yield fetchCollection(apiUrl, language, setError, collectionId, collectionHandle, metafields);
64
65
  return setSpecificCollection(collection);
65
66
  }
66
67
  }
@@ -82,6 +83,7 @@ export const useCollection = ({ apiUrl, appId, collectionId, collectionHandle, c
82
83
  getCollections,
83
84
  limit,
84
85
  collectionIdList,
86
+ metafields,
85
87
  ]);
86
88
  return { collections, specificCollection, loading, error };
87
89
  };
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface StarRatingProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ score: number;
4
+ iconSize?: "xs" | "sm" | "md" | "lg";
5
+ iconUrl?: string;
6
+ filledColor?: string;
7
+ emptyColor?: string;
8
+ designOptions?: "condensed" | "expanded";
9
+ }
10
+ declare const StarRating: React.ForwardRefExoticComponent<StarRatingProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { StarRating };
12
+ //# sourceMappingURL=star-rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"star-rating.d.ts","sourceRoot":"","sources":["../../../components/ui/star-rating.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;CACzC;AAED,QAAA,MAAM,UAAU,wFA2Df,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,34 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import * as React from "react";
14
+ import { cn } from "../../lib/utils";
15
+ import { Icon } from "./icon";
16
+ const StarRating = React.forwardRef((_a, ref) => {
17
+ var { className, score, iconSize = "sm", iconUrl, filledColor, emptyColor, designOptions } = _a, props = __rest(_a, ["className", "score", "iconSize", "iconUrl", "filledColor", "emptyColor", "designOptions"]);
18
+ if (designOptions === "condensed") {
19
+ return (_jsx(Icon, { size: iconSize, url: iconUrl, color: filledColor }));
20
+ }
21
+ return (_jsx("div", Object.assign({ className: cn("flex flex-row gap-1", className), ref: ref }, props, { children: Array.from({ length: 5 }).map((_, index) => {
22
+ if (score % 1 !== 0 && Math.floor(score) === index) {
23
+ return (_jsx(Icon, { size: iconSize, url: iconUrl, fillColor: filledColor, secondaryFillColor: emptyColor, fillPercentage: score % 1 }, index));
24
+ }
25
+ else if (index + 1 > score) {
26
+ return (_jsx(Icon, { size: iconSize, url: iconUrl, color: emptyColor }, index));
27
+ }
28
+ else {
29
+ return (_jsx(Icon, { size: iconSize, url: iconUrl, color: filledColor }, index));
30
+ }
31
+ }) })));
32
+ });
33
+ StarRating.displayName = "StarRating";
34
+ export { StarRating };
package/dist/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export * from "./components/ui/selectors";
36
36
  export * from "./components/ui/separator";
37
37
  export * from "./components/ui/skeleton";
38
38
  export * from "./components/ui/slider";
39
+ export * from "./components/ui/star-rating";
39
40
  export * from "./components/ui/subscription";
40
41
  export * from "./components/ui/switch";
41
42
  export * from "./components/ui/tabs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EACF,GAAG,EACH,QAAQ,EACR,4BAA4B,EAC5B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AACpB,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sCAAsC,CAAA;AACpD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kDAAkD,CAAA;AAChE,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,aAAa,CAAA;AAC3B,cAAc,6CAA6C,CAAA;AAC3D,cAAc,kDAAkD,CAAA;AAChE,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EACF,GAAG,EACH,QAAQ,EACR,4BAA4B,EAC5B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AACpB,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sCAAsC,CAAA;AACpD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kDAAkD,CAAA;AAChE,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,aAAa,CAAA;AAC3B,cAAc,6CAA6C,CAAA;AAC3D,cAAc,kDAAkD,CAAA;AAChE,cAAc,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ export * from "./components/ui/selectors";
37
37
  export * from "./components/ui/separator";
38
38
  export * from "./components/ui/skeleton";
39
39
  export * from "./components/ui/slider";
40
+ export * from "./components/ui/star-rating";
40
41
  export * from "./components/ui/subscription";
41
42
  export * from "./components/ui/switch";
42
43
  export * from "./components/ui/tabs";
package/dist/styles.css CHANGED
@@ -1261,6 +1261,9 @@ video {
1261
1261
  .items-start {
1262
1262
  align-items: flex-start;
1263
1263
  }
1264
+ .items-end {
1265
+ align-items: flex-end;
1266
+ }
1264
1267
  .items-center {
1265
1268
  align-items: center;
1266
1269
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapcart/mobile-components",
3
- "version": "0.7.12",
3
+ "version": "0.7.13",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "style": "dist/styles.css",