@tapcart/mobile-components 0.8.56 → 0.8.57
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/input-otp.d.ts +35 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp.js +40 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/lib/variablesCart.util.d.ts +3 -6
- package/dist/lib/variablesCart.util.d.ts.map +1 -1
- package/dist/lib/variablesCart.util.js +59 -50
- package/dist/styles.css +53 -3
- package/package.json +2 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
3
|
+
value?: string | undefined;
|
|
4
|
+
onChange?: ((newValue: string) => unknown) | undefined;
|
|
5
|
+
maxLength: number;
|
|
6
|
+
textAlign?: "left" | "right" | "center" | undefined;
|
|
7
|
+
onComplete?: ((...args: any[]) => unknown) | undefined;
|
|
8
|
+
pushPasswordManagerStrategy?: "none" | "increase-width" | undefined;
|
|
9
|
+
pasteTransformer?: ((pasted: string) => string) | undefined;
|
|
10
|
+
containerClassName?: string | undefined;
|
|
11
|
+
noScriptCSSFallback?: string | null | undefined;
|
|
12
|
+
} & {
|
|
13
|
+
render: (props: import("input-otp").RenderProps) => React.ReactNode;
|
|
14
|
+
children?: undefined;
|
|
15
|
+
} & React.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
16
|
+
value?: string | undefined;
|
|
17
|
+
onChange?: ((newValue: string) => unknown) | undefined;
|
|
18
|
+
maxLength: number;
|
|
19
|
+
textAlign?: "left" | "right" | "center" | undefined;
|
|
20
|
+
onComplete?: ((...args: any[]) => unknown) | undefined;
|
|
21
|
+
pushPasswordManagerStrategy?: "none" | "increase-width" | undefined;
|
|
22
|
+
pasteTransformer?: ((pasted: string) => string) | undefined;
|
|
23
|
+
containerClassName?: string | undefined;
|
|
24
|
+
noScriptCSSFallback?: string | null | undefined;
|
|
25
|
+
} & {
|
|
26
|
+
render?: undefined;
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
} & React.RefAttributes<HTMLInputElement>, "ref">) & React.RefAttributes<HTMLInputElement>>;
|
|
29
|
+
declare const InputOTPGroup: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
declare const InputOTPSlot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
31
|
+
index: number;
|
|
32
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
declare const InputOTPSeparator: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
|
|
35
|
+
//# sourceMappingURL=input-otp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../components/ui/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;2FAaZ,CAAA;AAGF,QAAA,MAAM,aAAa,mKAKjB,CAAA;AAGF,QAAA,MAAM,YAAY;WAEiC,MAAM;wCAuBvD,CAAA;AAGF,QAAA,MAAM,iBAAiB,mKAOrB,CAAA;AAGF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
import * as React from "react";
|
|
15
|
+
import { OTPInput, OTPInputContext } from "input-otp";
|
|
16
|
+
import { Minus } from "lucide-react";
|
|
17
|
+
import { cn } from "../../lib/utils";
|
|
18
|
+
const InputOTP = React.forwardRef((_a, ref) => {
|
|
19
|
+
var { className, containerClassName } = _a, props = __rest(_a, ["className", "containerClassName"]);
|
|
20
|
+
return (_jsx(OTPInput, Object.assign({ ref: ref, containerClassName: cn("flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName), className: cn("disabled:cursor-not-allowed", className) }, props)));
|
|
21
|
+
});
|
|
22
|
+
InputOTP.displayName = "InputOTP";
|
|
23
|
+
const InputOTPGroup = React.forwardRef((_a, ref) => {
|
|
24
|
+
var { className } = _a, props = __rest(_a, ["className"]);
|
|
25
|
+
return (_jsx("div", Object.assign({ ref: ref, className: cn("flex items-center", className) }, props)));
|
|
26
|
+
});
|
|
27
|
+
InputOTPGroup.displayName = "InputOTPGroup";
|
|
28
|
+
const InputOTPSlot = React.forwardRef((_a, ref) => {
|
|
29
|
+
var { index, className } = _a, props = __rest(_a, ["index", "className"]);
|
|
30
|
+
const inputOTPContext = React.useContext(OTPInputContext);
|
|
31
|
+
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
32
|
+
return (_jsxs("div", Object.assign({ ref: ref, className: cn("relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md", isActive && "z-10 ring-1 ring-ring", className) }, props, { children: [char, hasFakeCaret && (_jsx("div", Object.assign({ className: "pointer-events-none absolute inset-0 flex items-center justify-center" }, { children: _jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })))] })));
|
|
33
|
+
});
|
|
34
|
+
InputOTPSlot.displayName = "InputOTPSlot";
|
|
35
|
+
const InputOTPSeparator = React.forwardRef((_a, ref) => {
|
|
36
|
+
var props = __rest(_a, []);
|
|
37
|
+
return (_jsx("div", Object.assign({ ref: ref, role: "separator" }, props, { children: _jsx(Minus, {}) })));
|
|
38
|
+
});
|
|
39
|
+
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
40
|
+
export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
|
package/dist/index.d.ts
CHANGED
|
@@ -83,4 +83,5 @@ export * from "./components/ui/tap";
|
|
|
83
83
|
export * from "./components/ui/circular-progress";
|
|
84
84
|
export * from "./components/ui/swipeable-list-item";
|
|
85
85
|
export * from "./components/ui/dialog";
|
|
86
|
+
export * from "./components/ui/input-otp";
|
|
86
87
|
//# 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":"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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
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { CartState, CartCalculatedDiscount, CartCalculatedAppliedGiftCard } from "app-studio-types";
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
4
|
-
variantCompareAtPrice: number;
|
|
2
|
+
export declare const getSubscriptionPriceDetails: ({ totalAmount, quantity, sellingPlanAllocation, }: {
|
|
3
|
+
totalAmount?: number | undefined;
|
|
5
4
|
quantity: number;
|
|
6
|
-
currencyCode: string;
|
|
7
5
|
sellingPlanAllocation?: {
|
|
8
6
|
priceAdjustments: {
|
|
9
7
|
perDeliveryPrice?: number;
|
|
@@ -12,9 +10,8 @@ export declare const getVariablesVariantPrice: ({ variantPrice, variantCompareAt
|
|
|
12
10
|
}[];
|
|
13
11
|
} | undefined;
|
|
14
12
|
}) => {
|
|
15
|
-
price: number;
|
|
13
|
+
price: number | undefined;
|
|
16
14
|
compareAtPrice: number;
|
|
17
|
-
currency: string;
|
|
18
15
|
isSale: boolean;
|
|
19
16
|
};
|
|
20
17
|
export declare const isVariablesOrderLevelDiscount: (code: string, cart: CartState | null) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variablesCart.util.d.ts","sourceRoot":"","sources":["../../lib/variablesCart.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,6BAA6B,EAO9B,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"variablesCart.util.d.ts","sourceRoot":"","sources":["../../lib/variablesCart.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,6BAA6B,EAO9B,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,2BAA2B;;cAM5B,MAAM;;0BAEI;YAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;YACzB,KAAK,EAAE,MAAM,CAAA;YACb,cAAc,CAAC,EAAE,MAAM,CAAA;SACxB,EAAE;;;;;;CAyBN,CAAA;AAyED,eAAO,MAAM,6BAA6B,SAClC,MAAM,QACN,SAAS,GAAG,IAAI,YAUvB,CAAA;AAED,eAAO,MAAM,2BAA2B,SAChC,MAAM,QACN,SAAS,GAAG,IAAI,YAUvB,CAAA;AAkLD,MAAM,MAAM,uBAAuB,GAAG;IACpC,yBAAyB,EAAE,sBAAsB,EAAE,CAAA;IACnD,gBAAgB,EAAE,6BAA6B,EAAE,CAAA;IACjD,cAAc,EAAE,OAAO,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,uBAU/C,CAAA;AAED,eAAO,MAAM,8BAA8B,SACnC,SAAS,GAAG,IAAI,KACrB,uBAmCF,CAAA"}
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { DiscountApplicationTargetType, } from "app-studio-types";
|
|
3
|
-
export const
|
|
3
|
+
export const getSubscriptionPriceDetails = ({ totalAmount, quantity, sellingPlanAllocation = { priceAdjustments: [] }, }) => {
|
|
4
4
|
var _a;
|
|
5
5
|
const isSubscription = ((_a = sellingPlanAllocation === null || sellingPlanAllocation === void 0 ? void 0 : sellingPlanAllocation.priceAdjustments) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
6
6
|
if (isSubscription) {
|
|
7
7
|
const { perDeliveryPrice, price, compareAtPrice } = sellingPlanAllocation.priceAdjustments[0];
|
|
8
8
|
const effectivePrice = perDeliveryPrice || price;
|
|
9
9
|
const subscriptionUnitPrice = perDeliveryPrice || 0;
|
|
10
|
-
const effectiveCompareAtPrice = compareAtPrice ||
|
|
10
|
+
const effectiveCompareAtPrice = compareAtPrice * quantity || totalAmount || 0;
|
|
11
11
|
return {
|
|
12
|
-
price:
|
|
13
|
-
compareAtPrice: effectiveCompareAtPrice
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
price: totalAmount,
|
|
13
|
+
compareAtPrice: effectiveCompareAtPrice,
|
|
14
|
+
isSale: totalAmount < subscriptionUnitPrice * quantity,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
console.error("No selling plan allocation found");
|
|
19
|
+
return {
|
|
20
|
+
price: 0,
|
|
21
|
+
compareAtPrice: 0,
|
|
22
|
+
isSale: false,
|
|
16
23
|
};
|
|
17
24
|
}
|
|
18
|
-
const variantUnitPrice = variantPrice || 0;
|
|
19
|
-
const variantComparePrice = variantCompareAtPrice || 0;
|
|
20
|
-
return {
|
|
21
|
-
price: variantUnitPrice * quantity,
|
|
22
|
-
compareAtPrice: variantComparePrice * quantity,
|
|
23
|
-
currency: currencyCode,
|
|
24
|
-
isSale: variantUnitPrice < variantComparePrice,
|
|
25
|
-
};
|
|
26
25
|
};
|
|
27
26
|
const getOrderLevelDiscounts = (cart) => {
|
|
28
27
|
// Handle null cart gracefully - the shopping cart state can be null sometimes
|
|
@@ -118,40 +117,36 @@ const getAppliedGiftCards = (cart) => {
|
|
|
118
117
|
});
|
|
119
118
|
});
|
|
120
119
|
};
|
|
121
|
-
const
|
|
120
|
+
const getCompareAtPriceDifference = (cart) => {
|
|
122
121
|
var _a;
|
|
123
122
|
// Handle null cart gracefully - the shopping cart state can be null sometimes
|
|
124
123
|
if (!cart)
|
|
125
124
|
return 0;
|
|
126
125
|
return (_a = cart === null || cart === void 0 ? void 0 : cart.items) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => {
|
|
127
|
-
var _a, _b;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
let
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
};
|
|
126
|
+
var _a, _b, _c, _d, _e, _f;
|
|
127
|
+
/**
|
|
128
|
+
* Regular price details
|
|
129
|
+
*/
|
|
130
|
+
let itemPrice = (item === null || item === void 0 ? void 0 : item.price) || 0;
|
|
131
|
+
let itemCompareAtPrice = (item === null || item === void 0 ? void 0 : item.compareAtPrice) || 0;
|
|
132
|
+
/**
|
|
133
|
+
* Subscription price details
|
|
134
|
+
*/
|
|
135
|
+
if (((_b = (_a = item === null || item === void 0 ? void 0 : item.sellingPlanAllocation) === null || _a === void 0 ? void 0 : _a.priceAdjustments) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
136
|
+
itemPrice =
|
|
137
|
+
((_d = (_c = item === null || item === void 0 ? void 0 : item.sellingPlanAllocation) === null || _c === void 0 ? void 0 : _c.priceAdjustments[0]) === null || _d === void 0 ? void 0 : _d.perDeliveryPrice) ||
|
|
138
|
+
((_f = (_e = item === null || item === void 0 ? void 0 : item.sellingPlanAllocation) === null || _e === void 0 ? void 0 : _e.priceAdjustments[0]) === null || _f === void 0 ? void 0 : _f.price) ||
|
|
139
|
+
0;
|
|
140
|
+
const { compareAtPrice } = getSubscriptionPriceDetails({
|
|
141
|
+
quantity: (item === null || item === void 0 ? void 0 : item.quantity) || 1,
|
|
142
|
+
sellingPlanAllocation: item === null || item === void 0 ? void 0 : item.sellingPlanAllocation,
|
|
143
|
+
});
|
|
144
|
+
if (compareAtPrice && compareAtPrice > itemPrice) {
|
|
145
|
+
itemCompareAtPrice = compareAtPrice;
|
|
146
|
+
}
|
|
145
147
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
variantPrice: itemPrice,
|
|
149
|
-
variantCompareAtPrice: itemCompareAtPrice,
|
|
150
|
-
currencyCode: (item === null || item === void 0 ? void 0 : item.currencyCode) || "USD",
|
|
151
|
-
sellingPlanAllocation: customSellingPlanAllocation,
|
|
152
|
-
});
|
|
153
|
-
if (compareAtPrice && compareAtPrice > price) {
|
|
154
|
-
return acc + (compareAtPrice - price);
|
|
148
|
+
if (itemPrice && itemCompareAtPrice && itemCompareAtPrice > itemPrice) {
|
|
149
|
+
return (acc + (itemCompareAtPrice * (item === null || item === void 0 ? void 0 : item.quantity) - itemPrice * (item === null || item === void 0 ? void 0 : item.quantity)));
|
|
155
150
|
}
|
|
156
151
|
return acc;
|
|
157
152
|
}, 0);
|
|
@@ -200,11 +195,25 @@ const getTotalCompareAtPrice = (cart) => {
|
|
|
200
195
|
if (!cart)
|
|
201
196
|
return 0;
|
|
202
197
|
return (_a = cart === null || cart === void 0 ? void 0 : cart.items) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
198
|
+
var _a, _b;
|
|
199
|
+
/*
|
|
200
|
+
* Regular price details
|
|
201
|
+
*/
|
|
202
|
+
let itemCompareAtPrice = (item === null || item === void 0 ? void 0 : item.compareAtPrice) || (item === null || item === void 0 ? void 0 : item.price) || 0;
|
|
203
|
+
const quantity = (item === null || item === void 0 ? void 0 : item.quantity) || 1;
|
|
204
|
+
/**
|
|
205
|
+
* Subscription price details
|
|
206
|
+
*/
|
|
207
|
+
if (((_b = (_a = item === null || item === void 0 ? void 0 : item.sellingPlanAllocation) === null || _a === void 0 ? void 0 : _a.priceAdjustments) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
208
|
+
const { compareAtPrice } = getSubscriptionPriceDetails({
|
|
209
|
+
quantity: (item === null || item === void 0 ? void 0 : item.quantity) || 1,
|
|
210
|
+
sellingPlanAllocation: item === null || item === void 0 ? void 0 : item.sellingPlanAllocation,
|
|
211
|
+
});
|
|
212
|
+
if (compareAtPrice) {
|
|
213
|
+
itemCompareAtPrice = compareAtPrice;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return acc + itemCompareAtPrice * quantity;
|
|
208
217
|
}, 0);
|
|
209
218
|
};
|
|
210
219
|
const getTotalDiscountedPrice = (totalCompareAtPrice, discountsTotalAmount, salesAmount, giftCardsTotalAmount) => {
|
|
@@ -224,10 +233,10 @@ const getTotalSavedAmount = (cart) => {
|
|
|
224
233
|
// Handle null cart gracefully - the shopping cart state can be null sometimes
|
|
225
234
|
if (!cart)
|
|
226
235
|
return 0;
|
|
227
|
-
const
|
|
236
|
+
const totalCompareAtPriceDifference = getCompareAtPriceDifference(cart);
|
|
228
237
|
const totalDiscountsAmount = getDiscountsTotalAmount(getOrderLevelDiscounts(cart).concat(getLineItemDiscounts(cart)));
|
|
229
238
|
const totalGiftCardsAmount = getGiftCardsTotalAmount(getAppliedGiftCards(cart));
|
|
230
|
-
const totalSavedAmount =
|
|
239
|
+
const totalSavedAmount = totalCompareAtPriceDifference + totalDiscountsAmount + totalGiftCardsAmount;
|
|
231
240
|
return totalSavedAmount;
|
|
232
241
|
};
|
|
233
242
|
export const DEFAULT_VARIABLES_CALCULATED_DATA = {
|
|
@@ -251,7 +260,7 @@ export const getVariablesCalculatedCartData = (cart) => {
|
|
|
251
260
|
const isFreeShipping = getShippingDiscounts(cart).length > 0;
|
|
252
261
|
const discountsTotalAmount = getDiscountsTotalAmount(orderAndLineItemDiscounts);
|
|
253
262
|
const giftCardsTotalAmount = getGiftCardsTotalAmount(appliedGiftCards);
|
|
254
|
-
const salesAmount =
|
|
263
|
+
const salesAmount = getCompareAtPriceDifference(cart);
|
|
255
264
|
const totalCompareAtPrice = getTotalCompareAtPrice(cart);
|
|
256
265
|
const totalDiscountedPrice = getTotalDiscountedPrice(totalCompareAtPrice, discountsTotalAmount, salesAmount, giftCardsTotalAmount);
|
|
257
266
|
const totalSavedAmount = getTotalSavedAmount(cart);
|
package/dist/styles.css
CHANGED
|
@@ -1152,6 +1152,9 @@ video {
|
|
|
1152
1152
|
.w-8 {
|
|
1153
1153
|
width: 2rem;
|
|
1154
1154
|
}
|
|
1155
|
+
.w-9 {
|
|
1156
|
+
width: 2.25rem;
|
|
1157
|
+
}
|
|
1155
1158
|
.w-\[138px\] {
|
|
1156
1159
|
width: 138px;
|
|
1157
1160
|
}
|
|
@@ -1181,6 +1184,9 @@ video {
|
|
|
1181
1184
|
width: -moz-max-content;
|
|
1182
1185
|
width: max-content;
|
|
1183
1186
|
}
|
|
1187
|
+
.w-px {
|
|
1188
|
+
width: 1px;
|
|
1189
|
+
}
|
|
1184
1190
|
.min-w-0 {
|
|
1185
1191
|
min-width: 0px;
|
|
1186
1192
|
}
|
|
@@ -1547,9 +1553,6 @@ video {
|
|
|
1547
1553
|
.text-wrap {
|
|
1548
1554
|
text-wrap: wrap;
|
|
1549
1555
|
}
|
|
1550
|
-
.break-words {
|
|
1551
|
-
overflow-wrap: break-word;
|
|
1552
|
-
}
|
|
1553
1556
|
.break-all {
|
|
1554
1557
|
word-break: break-all;
|
|
1555
1558
|
}
|
|
@@ -1621,6 +1624,10 @@ video {
|
|
|
1621
1624
|
.border-2 {
|
|
1622
1625
|
border-width: 2px;
|
|
1623
1626
|
}
|
|
1627
|
+
.border-y {
|
|
1628
|
+
border-top-width: 1px;
|
|
1629
|
+
border-bottom-width: 1px;
|
|
1630
|
+
}
|
|
1624
1631
|
.border-y-8 {
|
|
1625
1632
|
border-top-width: 8px;
|
|
1626
1633
|
border-bottom-width: 8px;
|
|
@@ -1637,6 +1644,9 @@ video {
|
|
|
1637
1644
|
.border-l-\[16px\] {
|
|
1638
1645
|
border-left-width: 16px;
|
|
1639
1646
|
}
|
|
1647
|
+
.border-r {
|
|
1648
|
+
border-right-width: 1px;
|
|
1649
|
+
}
|
|
1640
1650
|
.border-t {
|
|
1641
1651
|
border-top-width: 1px;
|
|
1642
1652
|
}
|
|
@@ -1736,6 +1746,9 @@ video {
|
|
|
1736
1746
|
.bg-coreColors-pageColor {
|
|
1737
1747
|
background-color: var(--coreColors-pageColor);
|
|
1738
1748
|
}
|
|
1749
|
+
.bg-foreground {
|
|
1750
|
+
background-color: hsl(var(--foreground));
|
|
1751
|
+
}
|
|
1739
1752
|
.bg-gray-300 {
|
|
1740
1753
|
--tw-bg-opacity: 1;
|
|
1741
1754
|
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
@@ -2237,6 +2250,11 @@ video {
|
|
|
2237
2250
|
--tw-shadow-colored: calc(var(--buttonColors-secondaryShadowEnabled) * 0px) calc(var(--buttonColors-secondaryShadowEnabled) * 5px) calc(var(--buttonColors-secondaryShadowEnabled) * 25px) calc(var(--buttonColors-secondaryShadowEnabled)* 0px) rgb(0, 0, 0, 0.10);;
|
|
2238
2251
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
2239
2252
|
}
|
|
2253
|
+
.shadow-sm {
|
|
2254
|
+
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
2255
|
+
--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
|
|
2256
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
2257
|
+
}
|
|
2240
2258
|
.shadow-buttonColors-primaryShadow {
|
|
2241
2259
|
--tw-shadow-color: var(--buttonColors-primaryShadow);
|
|
2242
2260
|
--tw-shadow: var(--tw-shadow-colored);
|
|
@@ -2279,6 +2297,14 @@ video {
|
|
|
2279
2297
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
2280
2298
|
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
2281
2299
|
}
|
|
2300
|
+
.ring-1 {
|
|
2301
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
2302
|
+
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
2303
|
+
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
2304
|
+
}
|
|
2305
|
+
.ring-ring {
|
|
2306
|
+
--tw-ring-color: hsl(var(--ring));
|
|
2307
|
+
}
|
|
2282
2308
|
.ring-offset-background {
|
|
2283
2309
|
--tw-ring-offset-color: hsl(var(--background));
|
|
2284
2310
|
}
|
|
@@ -2321,6 +2347,9 @@ video {
|
|
|
2321
2347
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
2322
2348
|
transition-duration: 150ms;
|
|
2323
2349
|
}
|
|
2350
|
+
.duration-1000 {
|
|
2351
|
+
transition-duration: 1000ms;
|
|
2352
|
+
}
|
|
2324
2353
|
.duration-150 {
|
|
2325
2354
|
transition-duration: 150ms;
|
|
2326
2355
|
}
|
|
@@ -2356,6 +2385,9 @@ video {
|
|
|
2356
2385
|
transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
|
|
2357
2386
|
}
|
|
2358
2387
|
}
|
|
2388
|
+
.duration-1000 {
|
|
2389
|
+
animation-duration: 1000ms;
|
|
2390
|
+
}
|
|
2359
2391
|
.duration-150 {
|
|
2360
2392
|
animation-duration: 150ms;
|
|
2361
2393
|
}
|
|
@@ -2486,6 +2518,20 @@ body::-webkit-scrollbar {
|
|
|
2486
2518
|
color: var(--textColors-secondaryColor, #727272ff);
|
|
2487
2519
|
}
|
|
2488
2520
|
|
|
2521
|
+
.first\:rounded-l-md:first-child {
|
|
2522
|
+
border-top-left-radius: calc(var(--radius) - 2px);
|
|
2523
|
+
border-bottom-left-radius: calc(var(--radius) - 2px);
|
|
2524
|
+
}
|
|
2525
|
+
|
|
2526
|
+
.first\:border-l:first-child {
|
|
2527
|
+
border-left-width: 1px;
|
|
2528
|
+
}
|
|
2529
|
+
|
|
2530
|
+
.last\:rounded-r-md:last-child {
|
|
2531
|
+
border-top-right-radius: calc(var(--radius) - 2px);
|
|
2532
|
+
border-bottom-right-radius: calc(var(--radius) - 2px);
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2489
2535
|
.last\:border-b-0:last-child {
|
|
2490
2536
|
border-bottom-width: 0px;
|
|
2491
2537
|
}
|
|
@@ -2702,6 +2748,10 @@ body::-webkit-scrollbar {
|
|
|
2702
2748
|
opacity: 0.7;
|
|
2703
2749
|
}
|
|
2704
2750
|
|
|
2751
|
+
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
|
|
2752
|
+
opacity: 0.5;
|
|
2753
|
+
}
|
|
2754
|
+
|
|
2705
2755
|
.data-\[disabled\]\:pointer-events-none[data-disabled] {
|
|
2706
2756
|
pointer-events: none;
|
|
2707
2757
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tapcart/mobile-components",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.57",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"style": "dist/styles.css",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"embla-carousel-autoplay": "8.5.2",
|
|
82
82
|
"embla-carousel-fade": "8.5.2",
|
|
83
83
|
"embla-carousel-react": "^8.3.0",
|
|
84
|
+
"input-otp": "^1.4.2",
|
|
84
85
|
"lucide-react": "^0.488.0",
|
|
85
86
|
"next": "^14.2.28",
|
|
86
87
|
"next-themes": "^0.2.1",
|