@tapcart/mobile-components 0.6.11 → 0.6.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.
- package/dist/components/ui/button.d.ts +1 -0
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +3 -3
- package/dist/components/ui/icon.d.ts +1 -1
- package/dist/components/ui/icon.d.ts.map +1 -1
- package/dist/components/ui/icon.js +12 -4
- package/dist/components/ui/price.d.ts.map +1 -1
- package/dist/components/ui/price.js +1 -1
- package/dist/components/ui/subcollection-tabs.d.ts +11 -0
- package/dist/components/ui/subcollection-tabs.d.ts.map +1 -0
- package/dist/components/ui/subcollection-tabs.js +49 -0
- package/dist/components/ui/tabs.d.ts +2 -2
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +10 -5
- package/dist/components/ui/video.d.ts +0 -2
- package/dist/components/ui/video.d.ts.map +1 -1
- package/dist/components/ui/video.js +0 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/styles.css +41 -7
- package/package.json +15 -15
|
@@ -13,6 +13,7 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
|
|
|
13
13
|
labelClassName?: string;
|
|
14
14
|
labelStyle?: React.CSSProperties | undefined;
|
|
15
15
|
iconColor?: string;
|
|
16
|
+
iconSize?: string;
|
|
16
17
|
iconStrokeColor?: string;
|
|
17
18
|
iconPosition?: "left" | "right";
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAGL,KAAK,EAEL,SAAS,EAET,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AAIxB,QAAA,MAAM,cAAc;;;mFAgCnB,CAAA;AAwCD,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAGL,KAAK,EAEL,SAAS,EAET,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AAIxB,QAAA,MAAM,cAAc;;;mFAgCnB,CAAA;AAwCD,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED,QAAA,MAAM,MAAM,uFA0FX,CAAA;AAGD,QAAA,MAAM,cAAc,iBACJ,SAAS,GACrB,oBAAoB,GAAG;IACrB,SAAS,EAAE,KAAK,CAAA;IAChB,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,gBAAgB,EAAE,OAAO,CAAA;CAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBJ,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -79,16 +79,16 @@ const labelVariants = cva("truncate", {
|
|
|
79
79
|
},
|
|
80
80
|
});
|
|
81
81
|
const Button = React.forwardRef((_a, ref) => {
|
|
82
|
-
var { className, labelClassName, labelStyle, variant, size, asChild = false, loading, icon, iconColor, iconStrokeColor, iconPosition, iconUrl } = _a, props = __rest(_a, ["className", "labelClassName", "labelStyle", "variant", "size", "asChild", "loading", "icon", "iconColor", "iconStrokeColor", "iconPosition", "iconUrl"]);
|
|
82
|
+
var { className, labelClassName, labelStyle, variant, size, asChild = false, loading, icon, iconColor, iconStrokeColor, iconPosition, iconSize, iconUrl } = _a, props = __rest(_a, ["className", "labelClassName", "labelStyle", "variant", "size", "asChild", "loading", "icon", "iconColor", "iconStrokeColor", "iconPosition", "iconSize", "iconUrl"]);
|
|
83
83
|
const Comp = asChild ? Slot : "button";
|
|
84
84
|
const IconButton = () => icon || iconUrl ? _jsx(Icon, { name: icon, size: "sm", style: { color: iconColor } }) : null;
|
|
85
|
-
const BasicButton = () => (_jsxs(_Fragment, { children: [icon || iconUrl ? (_jsx(Icon, { name: iconUrl ? undefined : icon, url: iconUrl, size: variant === "quickadd" ? "xs" : "sm", className: cn(iconVariants({ variant }), {
|
|
85
|
+
const BasicButton = () => (_jsxs(_Fragment, { children: [icon || iconUrl ? (_jsx(Icon, { name: iconUrl ? undefined : icon, url: iconUrl, size: iconSize || variant === "quickadd" ? "xs" : "sm", className: cn(iconVariants({ variant }), {
|
|
86
86
|
"mr-2": iconPosition !== "right",
|
|
87
87
|
}), strokeColor: iconStrokeColor, style: { color: iconColor } })) : null, !loading ? (_jsx(Text, Object.assign({ type: "body-primary", className: cn(labelVariants({ variant }), labelClassName), style: labelStyle }, { children: props.children }))) : (_jsx(_Fragment, {}))] }));
|
|
88
88
|
const LoadingButton = () => (_jsx("div", Object.assign({ className: cn("flex items-center justify-center", size === "icon" ? "h-5" : "h-6") }, { children: _jsx(Icon, { className: cn(iconVariants({ variant }), "h-5 w-5 animate-spin"), name: "loader", style: { color: iconColor } }) })));
|
|
89
89
|
return (_jsx(Comp, Object.assign({ className: cn(buttonVariants({ variant, size }), className, {
|
|
90
90
|
"pointer-events-none": loading,
|
|
91
|
-
"flex-row-reverse": icon && iconPosition === "right",
|
|
91
|
+
"flex-row-reverse": (icon || iconUrl) && iconPosition === "right",
|
|
92
92
|
}), ref: ref }, props, { children: loading ? (_jsx(LoadingButton, {})) : typeof props.children === "object" &&
|
|
93
93
|
React.isValidElement(props.children) ? ( // if children are passed as a valid React element
|
|
94
94
|
props.children // render it
|
|
@@ -11,6 +11,6 @@ export interface IconProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "c
|
|
|
11
11
|
fillColor?: string | null;
|
|
12
12
|
strokeColor?: string | null;
|
|
13
13
|
}
|
|
14
|
-
declare function Icon({ className, name, size, color, fillColor, strokeColor,
|
|
14
|
+
declare function Icon({ className, name, size, color, url, fillColor, strokeColor, ...props }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
15
15
|
export { Icon, iconVariants, IconPencilMinus };
|
|
16
16
|
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/ui/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAEL,eAAe,EAuChB,MAAM,qBAAqB,CAAA;AAI5B,QAAA,MAAM,YAAY;;;mFAgBjB,CAAA;AA2DD,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/ui/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAEL,eAAe,EAuChB,MAAM,qBAAqB,CAAA;AAI5B,QAAA,MAAM,YAAY;;;mFAgBjB,CAAA;AA2DD,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAsDD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,EACJ,IAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,SAAS,2CAiBX;AAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -87,19 +87,27 @@ const TablerIcon = ({ name, size }) => {
|
|
|
87
87
|
const IconComponent = icons[name];
|
|
88
88
|
return IconComponent ? (_jsx(IconComponent, { size: sizeMapping[size], strokeWidth: strokeWidthMapping[size] })) : null;
|
|
89
89
|
};
|
|
90
|
-
const CustomIcon = ({ url, size,
|
|
90
|
+
const CustomIcon = ({ url, size, color, fillColor, strokeColor }) => {
|
|
91
91
|
return (_jsx(ReactSVG, { src: url, beforeInjection: (svg) => {
|
|
92
92
|
svg.setAttribute("style", `width: ${sizeMapping[size]}px; height: ${sizeMapping[size]}px`);
|
|
93
93
|
const paths = svg.querySelectorAll("path");
|
|
94
94
|
paths.forEach((path) => {
|
|
95
|
-
|
|
95
|
+
if (color) {
|
|
96
|
+
if (path.hasAttribute("fill"))
|
|
97
|
+
path.setAttribute("fill", color);
|
|
98
|
+
if (path.hasAttribute("stroke"))
|
|
99
|
+
path.setAttribute("stroke", color);
|
|
100
|
+
}
|
|
101
|
+
if (path.hasAttribute("stroke")) {
|
|
102
|
+
path.setAttribute("stroke-width", strokeWidthMapping[size].toString());
|
|
103
|
+
}
|
|
96
104
|
fillColor && path.setAttribute("fill", fillColor);
|
|
97
105
|
strokeColor && path.setAttribute("stroke", strokeColor);
|
|
98
106
|
});
|
|
99
107
|
} }));
|
|
100
108
|
};
|
|
101
109
|
function Icon(_a) {
|
|
102
|
-
var { className, name, size = "md", color, fillColor, strokeColor
|
|
103
|
-
return (_jsxs("div", Object.assign({ className: cn(iconVariants({ size, color, className })) }, props, { children: [url ? (_jsx(CustomIcon, { url: url, size: size,
|
|
110
|
+
var { className, name, size = "md", color, url, fillColor, strokeColor } = _a, props = __rest(_a, ["className", "name", "size", "color", "url", "fillColor", "strokeColor"]);
|
|
111
|
+
return (_jsxs("div", Object.assign({ className: cn(iconVariants({ size, color, className })) }, props, { children: [url ? (_jsx(CustomIcon, { url: url, size: size, color: color, fillColor: fillColor, strokeColor: strokeColor })) : (_jsx(TablerIcon, { name: name, size: size })), props.children] })));
|
|
104
112
|
}
|
|
105
113
|
export { Icon, iconVariants, IconPencilMinus };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../components/ui/price.tsx"],"names":[],"mappings":";AAIA,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC3C;AAED,iBAAS,KAAK,CAAC,EACb,KAAK,EACL,SAAS,EACT,WAAmB,EACnB,MAAc,EACd,cAAc,EACd,kBAAkB,EAClB,QAAgB,EAChB,MAAgB,EAChB,QAAa,EACb,aAAkB,EAClB,cAAc,EACd,UAAU,EACV,mBAAmB,GACpB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../components/ui/price.tsx"],"names":[],"mappings":";AAIA,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC3C;AAED,iBAAS,KAAK,CAAC,EACb,KAAK,EACL,SAAS,EACT,WAAmB,EACnB,MAAc,EACd,cAAc,EACd,kBAAkB,EAClB,QAAgB,EAChB,MAAgB,EAChB,QAAa,EACb,aAAkB,EAClB,cAAc,EACd,UAAU,EACV,mBAAmB,GACpB,EAAE,UAAU,2CAiEZ;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -12,7 +12,7 @@ function Price({ price, priceHigh, priceRanges = false, isSale = false, compareA
|
|
|
12
12
|
const StrikeThroughPrice = () => {
|
|
13
13
|
if (!isSale || !compareAtPrice)
|
|
14
14
|
return null;
|
|
15
|
-
return (_jsxs(Text, Object.assign({ className: "line-through text-textColors-strikethroughPriceText flex-shrink-0", style:
|
|
15
|
+
return (_jsxs(Text, Object.assign({ className: "line-through text-textColors-strikethroughPriceText flex-shrink-0 flex items-center", style: { fontSize: `${fontSize}px` } }, { children: [_jsx(Money, { price: compareAtPrice, currency: currency, locale: locale, styles: strikeThroughStyles }), priceRanges && compareAtPriceHigh && _jsx(Spacer, {}), priceRanges && compareAtPriceHigh && (_jsx(Money, { price: compareAtPriceHigh, currency: currency, locale: locale, styles: strikeThroughStyles }))] })));
|
|
16
16
|
};
|
|
17
17
|
return (_jsxs("div", Object.assign({ className: cn("flex flex-wrap gap-2", { "justify-start": textAlignment === "left" }, { "justify-end": textAlignment === "right" }, { "justify-center": textAlignment === "center" }) }, { children: [_jsx(ProductPrice, {}), _jsx(StrikeThroughPrice, {})] })));
|
|
18
18
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type RelatedCategory = {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
handle: string;
|
|
5
|
+
};
|
|
6
|
+
declare function SubCollectionTabs({ subCollections, useActions, }: {
|
|
7
|
+
subCollections: RelatedCategory[];
|
|
8
|
+
useActions: any;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
export { SubCollectionTabs };
|
|
11
|
+
//# sourceMappingURL=subcollection-tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subcollection-tabs.d.ts","sourceRoot":"","sources":["../../../components/ui/subcollection-tabs.tsx"],"names":[],"mappings":"AAOA,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,iBAAS,iBAAiB,CAAC,EACzB,cAAc,EACd,UAAU,GACX,EAAE;IACD,cAAc,EAAE,eAAe,EAAE,CAAA;IAEjC,UAAU,EAAE,GAAG,CAAA;CAChB,kDAwDA;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useCallback, useMemo, useRef } from "react";
|
|
4
|
+
import { Tabs } from "./tabs";
|
|
5
|
+
import { getIdFromGid } from "../../lib/utils";
|
|
6
|
+
import { useSearchParams } from "next/navigation";
|
|
7
|
+
function SubCollectionTabs({ subCollections, useActions, }) {
|
|
8
|
+
const searchParams = useSearchParams();
|
|
9
|
+
const [activeTab, setActiveTab] = useState(null);
|
|
10
|
+
const isInitialLoad = useRef(true);
|
|
11
|
+
const prevActiveTab = useRef(null);
|
|
12
|
+
const { openCollection } = useActions();
|
|
13
|
+
// Memoize the tabs array
|
|
14
|
+
const tabs = useMemo(() => subCollections === null || subCollections === void 0 ? void 0 : subCollections.map((category) => ({
|
|
15
|
+
label: category.title,
|
|
16
|
+
children: null,
|
|
17
|
+
})), [subCollections]);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
// Set initial active tab based on URL params
|
|
20
|
+
const collectionId = searchParams.get("collectionId");
|
|
21
|
+
const collectionHandle = searchParams.get("collectionHandle");
|
|
22
|
+
const initialIndex = subCollections.findIndex((cat) => (collectionId && getIdFromGid(cat.id) === collectionId) ||
|
|
23
|
+
(collectionHandle && cat.handle === collectionHandle));
|
|
24
|
+
setActiveTab(initialIndex !== -1 ? initialIndex : null);
|
|
25
|
+
prevActiveTab.current = initialIndex !== -1 ? initialIndex : null;
|
|
26
|
+
isInitialLoad.current = false;
|
|
27
|
+
}, [subCollections, searchParams]);
|
|
28
|
+
const handleTabChange = useCallback((index) => {
|
|
29
|
+
if (index !== prevActiveTab.current) {
|
|
30
|
+
if (index !== null && !isInitialLoad.current) {
|
|
31
|
+
const category = subCollections[index];
|
|
32
|
+
const newCollectionId = (category === null || category === void 0 ? void 0 : category.id)
|
|
33
|
+
? getIdFromGid(category.id)
|
|
34
|
+
: null;
|
|
35
|
+
const newCollectionHandle = (category === null || category === void 0 ? void 0 : category.handle) || null;
|
|
36
|
+
if (newCollectionId) {
|
|
37
|
+
openCollection({ collectionId: newCollectionId });
|
|
38
|
+
}
|
|
39
|
+
else if (newCollectionHandle) {
|
|
40
|
+
openCollection({ collectionId: newCollectionHandle });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, [subCollections, openCollection]);
|
|
45
|
+
if (!tabs)
|
|
46
|
+
return null;
|
|
47
|
+
return (_jsx(Tabs, { tabs: tabs, activeTab: activeTab, onTabChange: handleTabChange }));
|
|
48
|
+
}
|
|
49
|
+
export { SubCollectionTabs };
|
|
@@ -4,8 +4,8 @@ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
4
4
|
label: string;
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
}[];
|
|
7
|
-
activeTab: number;
|
|
8
|
-
onTabChange: (_: number) => void;
|
|
7
|
+
activeTab: number | null;
|
|
8
|
+
onTabChange: (_: number | null) => void;
|
|
9
9
|
active?: number;
|
|
10
10
|
}
|
|
11
11
|
declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../components/ui/tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAA;IACpD,SAAS,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../components/ui/tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAA;IACpD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAqCD,QAAA,MAAM,IAAI,kFA+GT,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
|
@@ -10,12 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
import * as React from "react";
|
|
15
15
|
import { cva } from "class-variance-authority";
|
|
16
16
|
import { cn } from "../../lib/utils";
|
|
17
17
|
import { Text } from "./text";
|
|
18
|
-
const tabVariants = cva("flex items-center justify-center px-4 py-2
|
|
18
|
+
const tabVariants = cva("flex items-center justify-center px-4 py-2 active:opacity-70", {
|
|
19
19
|
variants: {
|
|
20
20
|
isActive: {
|
|
21
21
|
true: "[&>p]:text-textColors-primaryColor",
|
|
@@ -29,7 +29,8 @@ const tabVariants = cva("flex items-center justify-center px-4 py-2 w-full activ
|
|
|
29
29
|
const Tab = ({ label, isActive = false, onClick }) => {
|
|
30
30
|
return (_jsx("button", Object.assign({ className: cn(tabVariants({
|
|
31
31
|
isActive,
|
|
32
|
-
})
|
|
32
|
+
}), "whitespace-nowrap" // Add this class
|
|
33
|
+
), onClick: onClick }, { children: _jsx(Text, Object.assign({ type: "body-primary" }, { children: label })) })));
|
|
33
34
|
};
|
|
34
35
|
const Tabs = React.forwardRef((_a, ref) => {
|
|
35
36
|
var { className, tabs, activeTab, onTabChange } = _a, props = __rest(_a, ["className", "tabs", "activeTab", "onTabChange"]);
|
|
@@ -50,6 +51,10 @@ const Tabs = React.forwardRef((_a, ref) => {
|
|
|
50
51
|
};
|
|
51
52
|
const handleTabChanged = React.useCallback(() => {
|
|
52
53
|
var _a, _b;
|
|
54
|
+
if (activeTab === null) {
|
|
55
|
+
setUnderlinePosition({ left: 0, width: 0 });
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
53
58
|
const currentTab = containerRef.current.children[activeTab];
|
|
54
59
|
setUnderlinePosition({
|
|
55
60
|
left: (_a = currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetLeft) !== null && _a !== void 0 ? _a : 0,
|
|
@@ -87,10 +92,10 @@ const Tabs = React.forwardRef((_a, ref) => {
|
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
}, [ref]);
|
|
90
|
-
return (_jsxs("div", Object.assign({ className: "relative" }, props, { children: [_jsxs("div", Object.assign({ ref: containerRef, className: "relative flex overflow-x-auto", onScroll: checkShowGradients }, { children: [tabs.map((tab, index) => (_jsx(Tab, { label: tab.label, isActive: activeTab === index, onClick: () => onTabChange(index) }, index))), _jsx("div", { className: `absolute bottom-0 bg-coreColors-brandColorPrimary h-[2px] transition-all duration-300`, style: {
|
|
95
|
+
return (_jsxs("div", Object.assign({ className: "relative no-scrollbar" }, props, { children: [_jsxs("div", Object.assign({ ref: containerRef, className: "relative flex overflow-x-auto no-scrollbar", onScroll: checkShowGradients }, { children: [tabs.map((tab, index) => (_jsx(Tab, { label: tab.label, isActive: activeTab === index, onClick: () => onTabChange(index) }, index))), activeTab !== null && (_jsx("div", { className: `absolute bottom-0 bg-coreColors-brandColorPrimary h-[2px] transition-all duration-300`, style: {
|
|
91
96
|
left: underlinePosition.left,
|
|
92
97
|
width: underlinePosition.width,
|
|
93
|
-
} })] })), showRightGradient
|
|
98
|
+
} }))] })), showRightGradient && (_jsx("div", Object.assign({ className: "absolute right-0 bottom-0 w-16 h-10 pointer-events-none overflow-hidden" }, { children: _jsx("div", { className: "w-full h-full gradient-right" }) }))), showLeftGradient && (_jsx("div", Object.assign({ className: "absolute left-0 bottom-0 w-16 h-10 pointer-events-none overflow-hidden" }, { children: _jsx("div", { className: "w-full h-full gradient-left" }) })))] })));
|
|
94
99
|
});
|
|
95
100
|
Tabs.displayName = "Tabs";
|
|
96
101
|
export { Tabs };
|
|
@@ -20,10 +20,8 @@ declare const getVideoStyle: (videoAttributes: VideoAttributes, videoSrc: {
|
|
|
20
20
|
naturalAspectRatio: string;
|
|
21
21
|
}) => {
|
|
22
22
|
aspectRatio: string;
|
|
23
|
-
opacity?: undefined;
|
|
24
23
|
objectFit?: undefined;
|
|
25
24
|
} | {
|
|
26
|
-
opacity: number;
|
|
27
25
|
aspectRatio: string;
|
|
28
26
|
objectFit: string;
|
|
29
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../components/ui/video.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa,gGAEjB,CAAA;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAQjD;AAED,QAAA,MAAM,aAAa,oBACA,eAAe,YACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../components/ui/video.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa,gGAEjB,CAAA;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAQjD;AAED,QAAA,MAAM,aAAa,oBACA,eAAe,YACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE;;;;;;CAatD,CAAA;AAED,QAAA,MAAM,sBAAsB,oBAAqB,eAAe;;;;;;;;;;CAW/D,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -24,7 +24,6 @@ const getVideoStyle = (videoAttributes, videoSrc) => {
|
|
|
24
24
|
return { aspectRatio: videoSrc.naturalAspectRatio.replace(":", "/") };
|
|
25
25
|
}
|
|
26
26
|
return {
|
|
27
|
-
opacity: videoAttributes.overlayOpacity / 100,
|
|
28
27
|
aspectRatio: videoAttributes.aspectRatio === "auto"
|
|
29
28
|
? videoSrc.naturalAspectRatio.replace(":", "/")
|
|
30
29
|
: videoAttributes.aspectRatio.replace(":", "/"),
|
package/dist/index.d.ts
CHANGED
|
@@ -50,4 +50,5 @@ export * from "./components/hooks/use-product-options";
|
|
|
50
50
|
export * from "./components/ui/wishlist-select";
|
|
51
51
|
export * from "./components/hooks/use-shop";
|
|
52
52
|
export * from "./components/libs/sort-filter/search-integration";
|
|
53
|
+
export * from "./components/ui/subcollection-tabs";
|
|
53
54
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,oBAAoB,EACpB,kBAAkB,GACnB,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,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,0BAA0B,CAAA;AACxC,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kDAAkD,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,oBAAoB,EACpB,kBAAkB,GACnB,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,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,0BAA0B,CAAA;AACxC,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kDAAkD,CAAA;AAChE,cAAc,oCAAoC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -51,3 +51,4 @@ export * from "./components/hooks/use-product-options";
|
|
|
51
51
|
export * from "./components/ui/wishlist-select";
|
|
52
52
|
export * from "./components/hooks/use-shop";
|
|
53
53
|
export * from "./components/libs/sort-filter/search-integration";
|
|
54
|
+
export * from "./components/ui/subcollection-tabs";
|
package/dist/styles.css
CHANGED
|
@@ -481,7 +481,7 @@ video {
|
|
|
481
481
|
--productImage-scaling: cover;
|
|
482
482
|
--productImage-isCustom: "false";
|
|
483
483
|
|
|
484
|
-
--standard-shadow:
|
|
484
|
+
--standard-shadow: 0px 5px 25px 0px rgba (0, 0, 0, 0.10);
|
|
485
485
|
}
|
|
486
486
|
.textarea-component::-webkit-scrollbar {
|
|
487
487
|
width: 4px;
|
|
@@ -1367,6 +1367,9 @@ video {
|
|
|
1367
1367
|
.whitespace-nowrap {
|
|
1368
1368
|
white-space: nowrap;
|
|
1369
1369
|
}
|
|
1370
|
+
.break-words {
|
|
1371
|
+
overflow-wrap: break-word;
|
|
1372
|
+
}
|
|
1370
1373
|
.rounded {
|
|
1371
1374
|
border-radius: 0.25rem;
|
|
1372
1375
|
}
|
|
@@ -1574,12 +1577,6 @@ video {
|
|
|
1574
1577
|
--tw-bg-opacity: 1;
|
|
1575
1578
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
|
1576
1579
|
}
|
|
1577
|
-
.bg-\[linear-gradient\(270deg\2c \#ffffff00_0\%\2c \#FFF_100\%\)\] {
|
|
1578
|
-
background-image: linear-gradient(270deg,#ffffff00 0%,#FFF 100%);
|
|
1579
|
-
}
|
|
1580
|
-
.bg-\[linear-gradient\(90deg\2c \#ffffff00_0\%\2c \#FFF_100\%\)\] {
|
|
1581
|
-
background-image: linear-gradient(90deg,#ffffff00 0%,#FFF 100%);
|
|
1582
|
-
}
|
|
1583
1580
|
.bg-fade-left {
|
|
1584
1581
|
background-image: linear-gradient(to right, var(--coreColors-pageColor) 0%, #ffffff00 100%);;
|
|
1585
1582
|
}
|
|
@@ -2189,6 +2186,43 @@ body::-webkit-scrollbar {
|
|
|
2189
2186
|
scrollbar-width: none; /* Firefox */
|
|
2190
2187
|
}
|
|
2191
2188
|
|
|
2189
|
+
.gradient-right::before,
|
|
2190
|
+
.gradient-left::before {
|
|
2191
|
+
content: "";
|
|
2192
|
+
position: absolute;
|
|
2193
|
+
top: 0;
|
|
2194
|
+
bottom: 0;
|
|
2195
|
+
left: 0;
|
|
2196
|
+
right: 0;
|
|
2197
|
+
background: var(--coreColors-pageColor);
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
.gradient-right::before {
|
|
2201
|
+
-webkit-mask-image: linear-gradient(
|
|
2202
|
+
to left,
|
|
2203
|
+
var(--coreColors-pageColor),
|
|
2204
|
+
transparent
|
|
2205
|
+
);
|
|
2206
|
+
mask-image: linear-gradient(
|
|
2207
|
+
to left,
|
|
2208
|
+
var(--coreColors-pageColor),
|
|
2209
|
+
transparent
|
|
2210
|
+
);
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
.gradient-left::before {
|
|
2214
|
+
-webkit-mask-image: linear-gradient(
|
|
2215
|
+
to right,
|
|
2216
|
+
var(--coreColors-pageColor),
|
|
2217
|
+
transparent
|
|
2218
|
+
);
|
|
2219
|
+
mask-image: linear-gradient(
|
|
2220
|
+
to right,
|
|
2221
|
+
var(--coreColors-pageColor),
|
|
2222
|
+
transparent
|
|
2223
|
+
);
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2192
2226
|
.file\:border-0::file-selector-button {
|
|
2193
2227
|
border-width: 0px;
|
|
2194
2228
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tapcart/mobile-components",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"style": "dist/styles.css",
|
|
@@ -11,16 +11,6 @@
|
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
12
12
|
"author": "Tapcart Inc.",
|
|
13
13
|
"homepage": "https://tapcart.com",
|
|
14
|
-
"scripts": {
|
|
15
|
-
"lint": "eslint \"**/*.ts*\"",
|
|
16
|
-
"ui:add": "pnpm dlx shadcn-ui@latest add",
|
|
17
|
-
"build:styles": "postcss styles/globals.css -o dist/styles.css",
|
|
18
|
-
"build:ts": "tsc -p tsconfig.json && tsc-alias",
|
|
19
|
-
"build": "pnpm run build:ts && pnpm run build:styles",
|
|
20
|
-
"dev:ts": "tsc -w -p tsconfig.json",
|
|
21
|
-
"dev:styles": "npx tailwindcss -i styles/globals.css -o dist/styles.css --watch",
|
|
22
|
-
"dev": "concurrently \"pnpm run dev:ts\" \"pnpm run dev:styles\""
|
|
23
|
-
},
|
|
24
14
|
"peerDependencies": {
|
|
25
15
|
"react": "^17.0.2 || ^18.0.0",
|
|
26
16
|
"react-dom": "^17.0.2 || ^18.0.0"
|
|
@@ -29,17 +19,17 @@
|
|
|
29
19
|
"@types/lodash": "4.17.5",
|
|
30
20
|
"@types/react": "^18.2.0",
|
|
31
21
|
"@types/react-dom": "^18.2.0",
|
|
32
|
-
"app-studio-types": "workspace:*",
|
|
33
22
|
"autoprefixer": "^10.4.14",
|
|
34
23
|
"chokidar-cli": "^3.0.0",
|
|
35
24
|
"concurrently": "^8.2.2",
|
|
36
25
|
"eslint": "^7.32.0",
|
|
37
|
-
"eslint-config-custom": "workspace:*",
|
|
38
26
|
"postcss": "^8.4.24",
|
|
39
27
|
"tailwindcss": "^3.3.2",
|
|
40
28
|
"tsc-alias": "^1.8.10",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
29
|
+
"typescript": "^4.5.2",
|
|
30
|
+
"app-studio-types": "0.0.3",
|
|
31
|
+
"tsconfig": "0.0.0",
|
|
32
|
+
"eslint-config-custom": "0.0.0"
|
|
43
33
|
},
|
|
44
34
|
"dependencies": {
|
|
45
35
|
"@radix-ui/react-accordion": "^1.1.2",
|
|
@@ -73,5 +63,15 @@
|
|
|
73
63
|
"tailwind-merge": "^1.13.2",
|
|
74
64
|
"tailwindcss-animate": "^1.0.6",
|
|
75
65
|
"vaul": "^0.9.1"
|
|
66
|
+
},
|
|
67
|
+
"scripts": {
|
|
68
|
+
"lint": "eslint \"**/*.ts*\"",
|
|
69
|
+
"ui:add": "pnpm dlx shadcn-ui@latest add",
|
|
70
|
+
"build:styles": "postcss styles/globals.css -o dist/styles.css",
|
|
71
|
+
"build:ts": "tsc -p tsconfig.json && tsc-alias",
|
|
72
|
+
"build": "pnpm run build:ts && pnpm run build:styles",
|
|
73
|
+
"dev:ts": "tsc -w -p tsconfig.json",
|
|
74
|
+
"dev:styles": "npx tailwindcss -i styles/globals.css -o dist/styles.css --watch",
|
|
75
|
+
"dev": "concurrently \"pnpm run dev:ts\" \"pnpm run dev:styles\""
|
|
76
76
|
}
|
|
77
77
|
}
|