pixelize-design-library 2.1.68 → 2.1.71
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/Card/PaymentCard/PaymentCard.d.ts +4 -0
- package/dist/Components/Card/PaymentCard/PaymentCard.js +86 -0
- package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +23 -0
- package/dist/Components/Card/PaymentCard/PaymentCardProps.js +2 -0
- package/dist/Pages/card.js +58 -1
- package/dist/Utils/table.js +0 -31
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -2
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_2 = require("@chakra-ui/react");
|
|
19
|
+
var lucide_react_1 = require("lucide-react");
|
|
20
|
+
var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
|
|
21
|
+
var getCardStyles = function (isActive, isNextUpgrade, popular, theme) {
|
|
22
|
+
if (isActive) {
|
|
23
|
+
return {
|
|
24
|
+
badgeText: "Active Plan",
|
|
25
|
+
badgeColor: "0.125rem solid ".concat(theme.colors.green[500]),
|
|
26
|
+
buttonColor: theme.colors.green[500],
|
|
27
|
+
buttonColor50: theme.colors.green[50],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (isNextUpgrade) {
|
|
31
|
+
return {
|
|
32
|
+
badgeText: "Upgrade Your Plan",
|
|
33
|
+
badgeColor: "0.125rem solid ".concat(theme.colors.primary[500]),
|
|
34
|
+
buttonColor: theme.colors.primary[500],
|
|
35
|
+
buttonColor50: theme.colors.primary[50],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (popular) {
|
|
39
|
+
return {
|
|
40
|
+
badgeText: "Most Popular",
|
|
41
|
+
badgeColor: "0.125rem solid ".concat(theme.colors.primary[500]),
|
|
42
|
+
buttonColor: theme.colors.primary[500],
|
|
43
|
+
buttonColor50: theme.colors.primary[50],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
badgeText: "",
|
|
48
|
+
badgeColor: "",
|
|
49
|
+
buttonColor: theme.colors.primary[500],
|
|
50
|
+
buttonColor50: theme.colors.primary[50],
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
var PaymentCard = function (_a) {
|
|
54
|
+
var plan = _a.plan, _b = _a.isActive, isActive = _b === void 0 ? false : _b, _c = _a.isNextUpgrade, isNextUpgrade = _c === void 0 ? false : _c, billingCycle = _a.billingCycle, onSelect = _a.onSelect, onHover = _a.onHover;
|
|
55
|
+
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
56
|
+
var _d = getCardStyles(isActive, isNextUpgrade, !!plan.popular, theme), badgeText = _d.badgeText, badgeColor = _d.badgeColor, buttonColor = _d.buttonColor, buttonColor50 = _d.buttonColor50;
|
|
57
|
+
var variantStyles = plan.buttonVariant === "outline"
|
|
58
|
+
? {
|
|
59
|
+
borderColor: buttonColor,
|
|
60
|
+
color: buttonColor,
|
|
61
|
+
_hover: { bg: buttonColor50 },
|
|
62
|
+
}
|
|
63
|
+
: {
|
|
64
|
+
bg: buttonColor,
|
|
65
|
+
color: theme.colors.white,
|
|
66
|
+
_hover: { bg: buttonColor },
|
|
67
|
+
};
|
|
68
|
+
return (react_1.default.createElement(react_2.GridItem, null,
|
|
69
|
+
react_1.default.createElement(react_2.Box, { bg: theme.colors.white, minH: "100%", borderRadius: "lg", p: 8, borderWidth: "0.063rem", borderColor: theme.colors.gray[200], boxShadow: "md", position: "relative", transition: "all 0.2s", transform: plan.popular ? "scale(1.03)" : "none", border: badgeColor, _hover: { transform: "translateY(-0.313rem)", shadow: "xl" }, onMouseEnter: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "card", true); }, onMouseLeave: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "card", false); } },
|
|
70
|
+
badgeText && (react_1.default.createElement(react_2.Badge, { position: "absolute", top: "-0.75rem", left: "50%", transform: "translateX(-50%)", bg: buttonColor, color: theme.colors.white, fontSize: "sm", px: 4, py: 1, borderRadius: "full" }, badgeText)),
|
|
71
|
+
react_1.default.createElement(react_2.Box, { textAlign: "center", mb: 6 },
|
|
72
|
+
react_1.default.createElement(react_2.Flex, { justify: "center", align: "center", w: "3.125rem", h: "3.125rem", borderRadius: "lg", bg: buttonColor50, color: buttonColor, mx: "auto", mb: 4 }, plan.icon),
|
|
73
|
+
react_1.default.createElement(react_2.Heading, { as: "h3", size: "lg", mb: 4, color: theme.colors.gray[800] }, plan.name),
|
|
74
|
+
react_1.default.createElement(react_2.Heading, { as: "h4", size: "2xl", mb: 1, color: theme.colors.gray[800], display: "flex", justifyContent: "center" },
|
|
75
|
+
react_1.default.createElement(react_2.Box, { fontSize: "1.5rem" }, "\u20B9"),
|
|
76
|
+
billingCycle === "yearly" ? plan.yearlyPrice : plan.monthlyPrice,
|
|
77
|
+
react_1.default.createElement(react_2.Box, { display: "flex", flexDirection: "column", justifyContent: "end", ml: 1 },
|
|
78
|
+
react_1.default.createElement(react_2.Text, { fontSize: "0.9rem", fontWeight: "normal", color: theme.colors.gray[600] }, plan.billing),
|
|
79
|
+
react_1.default.createElement(react_2.Text, { fontSize: "0.7rem", fontWeight: "normal", color: theme.colors.gray[600] }, plan.tax))),
|
|
80
|
+
react_1.default.createElement(react_2.Text, { color: theme.colors.gray[600], mt: 3 }, plan.description)),
|
|
81
|
+
!isActive && (react_1.default.createElement(react_2.Button, __assign({ w: "full", variant: plan.buttonVariant, mb: 6, onClick: function () { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(plan.plan_id); }, onMouseEnter: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "button", true); }, onMouseLeave: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "button", false); } }, variantStyles), plan.buttonText)),
|
|
82
|
+
react_1.default.createElement(react_2.VStack, { align: "start", spacing: 3 }, plan.features.map(function (feature, i) { return (react_1.default.createElement(react_2.Flex, { key: i, align: "center" },
|
|
83
|
+
react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Check, color: theme.colors.green[500], mr: 2 }),
|
|
84
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm" }, feature))); })))));
|
|
85
|
+
};
|
|
86
|
+
exports.default = PaymentCard;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type PaymentCardProps = {
|
|
3
|
+
plan: Plan;
|
|
4
|
+
isActive?: boolean;
|
|
5
|
+
isNextUpgrade?: boolean;
|
|
6
|
+
billingCycle: "monthly" | "yearly";
|
|
7
|
+
onSelect?: (planId: number) => void;
|
|
8
|
+
onHover?: (planId: number, type: "card" | "button", state: boolean) => void;
|
|
9
|
+
};
|
|
10
|
+
export type Plan = {
|
|
11
|
+
plan_id: number;
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
monthlyPrice: number;
|
|
15
|
+
yearlyPrice: number;
|
|
16
|
+
billing: string;
|
|
17
|
+
tax: string;
|
|
18
|
+
features: string[];
|
|
19
|
+
icon: React.ReactNode;
|
|
20
|
+
buttonText: string;
|
|
21
|
+
buttonVariant: "solid" | "outline" | "link";
|
|
22
|
+
popular?: boolean;
|
|
23
|
+
};
|
package/dist/Pages/card.js
CHANGED
|
@@ -30,7 +30,60 @@ var react_1 = __importDefault(require("react"));
|
|
|
30
30
|
var Card_1 = __importDefault(require("../Components/Card/Card"));
|
|
31
31
|
var ProfileCard_1 = __importStar(require("../Components/ProfileCard/ProfileCard"));
|
|
32
32
|
var react_2 = require("@chakra-ui/react");
|
|
33
|
+
var lucide_react_1 = require("lucide-react");
|
|
34
|
+
var PaymentCard_1 = __importDefault(require("../Components/Card/PaymentCard/PaymentCard"));
|
|
35
|
+
var plans = [
|
|
36
|
+
{
|
|
37
|
+
plan_id: 1,
|
|
38
|
+
name: "Free",
|
|
39
|
+
description: "Basic features for small teams",
|
|
40
|
+
monthlyPrice: 0,
|
|
41
|
+
yearlyPrice: 0,
|
|
42
|
+
billing: "per month",
|
|
43
|
+
tax: "+ GST",
|
|
44
|
+
features: ["User Management (1 User)", "Single Pipeline", "500 Records", "Contacts, Products & Activities Management", "Automations (3)"],
|
|
45
|
+
icon: react_1.default.createElement(lucide_react_1.Star, { size: 20 }),
|
|
46
|
+
buttonText: "Choose Starter",
|
|
47
|
+
buttonVariant: "solid",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
plan_id: 2,
|
|
51
|
+
name: "Pro",
|
|
52
|
+
description: "Perfect for small teams and growing businesses.",
|
|
53
|
+
monthlyPrice: 499,
|
|
54
|
+
yearlyPrice: 399,
|
|
55
|
+
billing: "per month",
|
|
56
|
+
tax: "+ GST",
|
|
57
|
+
features: ["User Management (5 User)", "Everything in Free Edition +", "Team Pipelines (3)", "50,000 Records", "Email & WhatsApp Business Integration", "Automations (30)", "Mass emails with email insights", "10 custom fields/module"],
|
|
58
|
+
icon: react_1.default.createElement(lucide_react_1.Zap, { size: 20 }),
|
|
59
|
+
buttonText: "Choose Pro",
|
|
60
|
+
buttonVariant: "outline",
|
|
61
|
+
popular: true,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
plan_id: 3,
|
|
65
|
+
name: "Enterprise",
|
|
66
|
+
description: "Unlimited access for large organizations",
|
|
67
|
+
monthlyPrice: 1499,
|
|
68
|
+
yearlyPrice: 1399,
|
|
69
|
+
billing: "per month",
|
|
70
|
+
tax: "+ GST",
|
|
71
|
+
features: ["User Management (Unlimited Users)", "Everything in Premier Edition +", "Team Pipelines (15)", "1 Million Records", "Advanced Automation Rules (100)", "File Cabinet pre-installed with 5 GB storage", "50 custom fields/module", "1000 mass mails/day", "Highest limits for features"],
|
|
72
|
+
icon: react_1.default.createElement(lucide_react_1.Gem, { size: 20 }),
|
|
73
|
+
buttonText: "Contact Sales",
|
|
74
|
+
buttonVariant: "solid",
|
|
75
|
+
},
|
|
76
|
+
];
|
|
33
77
|
var CardPage = function () {
|
|
78
|
+
var activePlanId = 1; // Example: current active plan
|
|
79
|
+
var nextUpgradeId = 2; // Example: suggest upgrade
|
|
80
|
+
var handleSelect = function (planId) {
|
|
81
|
+
console.log("Selected plan:", planId);
|
|
82
|
+
};
|
|
83
|
+
var handleHover = function (planId, type, state) {
|
|
84
|
+
console.log("".concat(type, " hover ").concat(state ? "enter" : "leave", " on plan"), planId);
|
|
85
|
+
};
|
|
86
|
+
// console.log(activePlanId,"activePlanId",nextUpgradeId,"nextUpgradeId");
|
|
34
87
|
return (react_1.default.createElement("div", null,
|
|
35
88
|
react_1.default.createElement(Card_1.default, null,
|
|
36
89
|
react_1.default.createElement("div", null, "hello")),
|
|
@@ -43,6 +96,10 @@ var CardPage = function () {
|
|
|
43
96
|
react_1.default.createElement(ProfileCard_1.ProfileCardBody, null,
|
|
44
97
|
react_1.default.createElement(react_2.Text, null, "View a summary of all your customers over the last month.")),
|
|
45
98
|
react_1.default.createElement(ProfileCard_1.ProfileCardFooter, null,
|
|
46
|
-
react_1.default.createElement(react_2.Button, { color: "blue" }, "View here")))
|
|
99
|
+
react_1.default.createElement(react_2.Button, { color: "blue" }, "View here"))),
|
|
100
|
+
react_1.default.createElement("br", null),
|
|
101
|
+
react_1.default.createElement("br", null),
|
|
102
|
+
react_1.default.createElement("br", null),
|
|
103
|
+
react_1.default.createElement(react_2.SimpleGrid, { columns: { base: 1, md: 3 }, spacing: 6 }, plans.map(function (plan) { return (react_1.default.createElement(PaymentCard_1.default, { key: plan.plan_id, plan: plan, billingCycle: "monthly", isActive: plan.plan_id === activePlanId, isNextUpgrade: plan.plan_id === nextUpgradeId, onSelect: handleSelect, onHover: handleHover })); }))));
|
|
47
104
|
};
|
|
48
105
|
exports.default = CardPage;
|
package/dist/Utils/table.js
CHANGED
|
@@ -60,37 +60,6 @@ var calculateLeftOffset = function (columns, index) {
|
|
|
60
60
|
return columns.slice(0, index).reduce(function (sum, width) { return sum + width; }, 0);
|
|
61
61
|
};
|
|
62
62
|
exports.calculateLeftOffset = calculateLeftOffset;
|
|
63
|
-
// export const searchAndSortData = (
|
|
64
|
-
// data: DataObject[],
|
|
65
|
-
// searchValues: Record<string, string>
|
|
66
|
-
// ) => {
|
|
67
|
-
// const filteredData = data.filter((item) => {
|
|
68
|
-
// return Object.keys(searchValues).every((key) => {
|
|
69
|
-
// const searchValue = searchValues[key].toLowerCase();
|
|
70
|
-
// return item[key].toString().toLowerCase().includes(searchValue);
|
|
71
|
-
// });
|
|
72
|
-
// });
|
|
73
|
-
// return filteredData.sort((a, b) => {
|
|
74
|
-
// let aMatchCount = 0;
|
|
75
|
-
// let bMatchCount = 0;
|
|
76
|
-
// Object.keys(searchValues).forEach((key) => {
|
|
77
|
-
// const searchValue = searchValues[key].toLowerCase();
|
|
78
|
-
// if (a[key] && a[key].toString().toLowerCase() === searchValue) {
|
|
79
|
-
// aMatchCount++;
|
|
80
|
-
// }
|
|
81
|
-
// if (b[key] && b[key].toString().toLowerCase() === searchValue) {
|
|
82
|
-
// bMatchCount++;
|
|
83
|
-
// }
|
|
84
|
-
// if (a[key] && a[key].toString().toLowerCase().includes(searchValue)) {
|
|
85
|
-
// aMatchCount += 0.5;
|
|
86
|
-
// }
|
|
87
|
-
// if (b[key] && b[key].toString().toLowerCase().includes(searchValue)) {
|
|
88
|
-
// bMatchCount += 0.5;
|
|
89
|
-
// }
|
|
90
|
-
// });
|
|
91
|
-
// return bMatchCount - aMatchCount;
|
|
92
|
-
// });
|
|
93
|
-
// };
|
|
94
63
|
var extractTextFromReactNode = function (node) {
|
|
95
64
|
if (typeof node === "string" || typeof node === "number") {
|
|
96
65
|
return String(node);
|
package/dist/index.d.ts
CHANGED
|
@@ -54,5 +54,6 @@ import ProductCard from "./Components/ProductCard/ProductCard";
|
|
|
54
54
|
import ProductDetails from "./Components/ProductDetails/ProductDetails";
|
|
55
55
|
import PhoneNumberInput from "./Components/Input/PhoneNumberInput";
|
|
56
56
|
import { InputSwitch } from "./Components/Input/Switch/InputSwitch";
|
|
57
|
-
|
|
57
|
+
import PaymentCard from "./Components/Card/PaymentCard/PaymentCard";
|
|
58
|
+
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FileUpload, FormWrapper, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
|
|
58
59
|
export default withTheme;
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
31
|
-
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = void 0;
|
|
30
|
+
exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.FormWrapper = exports.FileUpload = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
|
|
31
|
+
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = void 0;
|
|
32
32
|
var Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
|
|
33
33
|
exports.Accordian = Accordion_1.default;
|
|
34
34
|
var AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
|
|
@@ -151,4 +151,6 @@ var PhoneNumberInput_1 = __importDefault(require("./Components/Input/PhoneNumber
|
|
|
151
151
|
exports.PhoneNumberInput = PhoneNumberInput_1.default;
|
|
152
152
|
var InputSwitch_1 = require("./Components/Input/Switch/InputSwitch");
|
|
153
153
|
Object.defineProperty(exports, "InputSwitch", { enumerable: true, get: function () { return InputSwitch_1.InputSwitch; } });
|
|
154
|
+
var PaymentCard_1 = __importDefault(require("./Components/Card/PaymentCard/PaymentCard"));
|
|
155
|
+
exports.PaymentCard = PaymentCard_1.default;
|
|
154
156
|
exports.default = withTheme_1.default;
|