pixelize-design-library 2.0.2 → 2.0.4

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,5 +1,5 @@
1
1
  import React from "react";
2
2
  import { ButtonProps } from "./ButtonProps";
3
- declare function Button({ label, onClick, variant, leftIcon, rightIcon, size, isDisabled, isLoading, loadingText, type, width, sx, colorScheme, ref }: ButtonProps): React.JSX.Element;
3
+ declare function Button({ label, children, onClick, opacity, variant, leftIcon, rightIcon, size, isDisabled, isLoading, loadingText, type, width, sx, colorScheme, ref, border, borderRadius, }: ButtonProps): React.JSX.Element;
4
4
  declare const _default: React.MemoExoticComponent<typeof Button>;
5
5
  export default _default;
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  var react_1 = __importStar(require("react"));
27
27
  var react_2 = require("@chakra-ui/react");
28
28
  function Button(_a) {
29
- var label = _a.label, onClick = _a.onClick, _b = _a.variant, variant = _b === void 0 ? "solid" : _b, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, size = _a.size, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.loadingText, loadingText = _e === void 0 ? "Loading" : _e, type = _a.type, width = _a.width, sx = _a.sx, colorScheme = _a.colorScheme, ref = _a.ref;
30
- return (react_1.default.createElement(react_2.Button, { type: type, onClick: onClick, width: width || "fit-content", variant: variant, size: size, isLoading: isLoading, isDisabled: isDisabled, loadingText: loadingText, leftIcon: leftIcon, rightIcon: rightIcon, ref: ref, colorScheme: colorScheme, sx: sx }, label));
29
+ var label = _a.label, children = _a.children, onClick = _a.onClick, opacity = _a.opacity, _b = _a.variant, variant = _b === void 0 ? "solid" : _b, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, size = _a.size, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.loadingText, loadingText = _e === void 0 ? "Loading" : _e, type = _a.type, width = _a.width, sx = _a.sx, colorScheme = _a.colorScheme, ref = _a.ref, border = _a.border, borderRadius = _a.borderRadius;
30
+ return (react_1.default.createElement(react_2.Button, { type: type, onClick: onClick, width: width || "fit-content", variant: variant, size: size, isLoading: isLoading, isDisabled: isDisabled, loadingText: loadingText, leftIcon: leftIcon, rightIcon: rightIcon, ref: ref, colorScheme: colorScheme, sx: sx, opacity: opacity, border: border, borderRadius: borderRadius }, children !== null && children !== void 0 ? children : label));
31
31
  }
32
32
  exports.default = (0, react_1.memo)(Button);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ButtonProps as ChakraButtonProps } from "@chakra-ui/react";
3
- export type ButtonProps = Pick<ChakraButtonProps, "onClick" | "leftIcon" | "rightIcon" | "isDisabled" | "isLoading" | "loadingText" | "spinner" | "sx"> & {
3
+ export type ButtonProps = Pick<ChakraButtonProps, "onClick" | "leftIcon" | "rightIcon" | "isDisabled" | "isLoading" | "loadingText" | "spinner" | "sx" | "border" | "borderRadius"> & {
4
4
  label?: string;
5
5
  width?: string | number;
6
6
  size?: "lg" | "md" | "sm" | "xs";
@@ -8,4 +8,6 @@ export type ButtonProps = Pick<ChakraButtonProps, "onClick" | "leftIcon" | "righ
8
8
  type?: "button" | "submit" | "reset";
9
9
  colorScheme?: 'primary' | 'secondary' | 'tertiary' | 'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink';
10
10
  ref?: React.Ref<HTMLButtonElement>;
11
+ children?: React.ReactNode;
12
+ opacity?: number;
11
13
  };
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
7
  var react_2 = require("@chakra-ui/react");
8
8
  var lucide_react_1 = require("lucide-react");
9
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
9
10
  var ErrorMessage = function (_a) {
10
11
  var errorMessage = _a.errorMessage;
11
- return (react_1.default.createElement(react_1.default.Fragment, null,
12
- react_1.default.createElement(react_2.FormErrorMessage, { fontSize: "14px" },
13
- react_1.default.createElement(lucide_react_1.Info, { width: "14px" }),
14
- react_1.default.createElement(react_2.Text, { ml: "3px" }, errorMessage !== null && errorMessage !== void 0 ? errorMessage : "Error"))));
12
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
13
+ return (react_1.default.createElement(react_2.Flex, { align: "center", color: theme.colors.red[500], fontSize: "0.875rem", role: "alert" },
14
+ react_1.default.createElement(lucide_react_1.Info, { width: "0.875rem" }),
15
+ react_1.default.createElement(react_2.Text, { ml: "0.188rem" }, errorMessage !== null && errorMessage !== void 0 ? errorMessage : "Error")));
15
16
  };
16
17
  exports.default = ErrorMessage;
@@ -1,4 +1,3 @@
1
1
  import React from "react";
2
- import "react-datepicker/dist/react-datepicker.css";
3
2
  import { DatePickerProps } from "./DatePickerProps";
4
- export default function DatePicker({ selectedDate, onChange, placeholderText, dateFormat, showTimeSelect, timeFormat, timeIntervals, timeCaption, dateTimeFormat, id, name, label, isRequired, isInformation, informationMessage, error, errorMessage, helperText, minDate, maxDate, }: DatePickerProps): React.JSX.Element;
3
+ export default function CustomDatePicker(props: DatePickerProps): React.JSX.Element;
@@ -1,40 +1,217 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
5
24
  };
6
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
27
  };
9
28
  Object.defineProperty(exports, "__esModule", { value: true });
10
- var react_1 = __importDefault(require("react"));
11
- var react_datepicker_1 = __importDefault(require("react-datepicker"));
12
- require("react-datepicker/dist/react-datepicker.css");
13
- var styled_1 = __importDefault(require("@emotion/styled"));
29
+ var react_1 = __importStar(require("react"));
14
30
  var react_2 = require("@chakra-ui/react");
15
- var FormLabel_1 = require("../Common/FormLabel");
16
- var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
17
- var HelperText_1 = __importDefault(require("../Common/HelperText"));
31
+ var date_fns_1 = require("date-fns");
32
+ var lucide_react_1 = require("lucide-react");
33
+ var Button_1 = __importDefault(require("../Button/Button"));
34
+ var TextInput_1 = __importDefault(require("../Input/TextInput"));
18
35
  var useCustomTheme_1 = require("../../Theme/useCustomTheme");
19
- var DatePickerContainer = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-radius: 5px;\n font-family: Arial, sans-serif;\n font-size: 16px;\n color: #333;\n .react-datepicker-wrapper {\n width: 100%;\n }\n .react-datepicker__input-container input {\n width: 100%;\n padding: 8px;\n border: none;\n border-radius: 5px;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);\n font-size: 14px;\n }\n .react-datepicker__input-container input:focus {\n outline: none;\n box-shadow: 0 0 5px rgb(49 130 206);\n }\n .react-datepicker__day--selected {\n background-color: ", " !important;\n color: white !important;\n }\n .react-datepicker__day--keyboard-selected {\n background-color: #66bb6a !important;\n color: white !important;\n }\n"], ["\n border-radius: 5px;\n font-family: Arial, sans-serif;\n font-size: 16px;\n color: #333;\n .react-datepicker-wrapper {\n width: 100%;\n }\n .react-datepicker__input-container input {\n width: 100%;\n padding: 8px;\n border: none;\n border-radius: 5px;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);\n font-size: 14px;\n }\n .react-datepicker__input-container input:focus {\n outline: none;\n box-shadow: 0 0 5px rgb(49 130 206);\n }\n .react-datepicker__day--selected {\n background-color: ", " !important;\n color: white !important;\n }\n .react-datepicker__day--keyboard-selected {\n background-color: #66bb6a !important;\n color: white !important;\n }\n"])), function (props) { return props.theme.colors.primary[500]; });
20
- // const Label = styled.label`
21
- // display: block;
22
- // margin-bottom: 5px;
23
- // font-weight: bold;
24
- // `;
25
- function DatePicker(_a) {
26
- var selectedDate = _a.selectedDate, onChange = _a.onChange, _b = _a.placeholderText, placeholderText = _b === void 0 ? "Select a date" : _b, _c = _a.dateFormat, dateFormat = _c === void 0 ? "MM/dd/yyyy" : _c, _d = _a.showTimeSelect, showTimeSelect = _d === void 0 ? false : _d, _e = _a.timeFormat, timeFormat = _e === void 0 ? "HH:mm aa" : _e, _f = _a.timeIntervals, timeIntervals = _f === void 0 ? 30 : _f, _g = _a.timeCaption, timeCaption = _g === void 0 ? "Time" : _g, dateTimeFormat = _a.dateTimeFormat, id = _a.id, name = _a.name, label = _a.label, _h = _a.isRequired, isRequired = _h === void 0 ? false : _h, _j = _a.isInformation, isInformation = _j === void 0 ? false : _j, _k = _a.informationMessage, informationMessage = _k === void 0 ? "" : _k, _l = _a.error, error = _l === void 0 ? false : _l, _m = _a.errorMessage, errorMessage = _m === void 0 ? "" : _m, _o = _a.helperText, helperText = _o === void 0 ? "" : _o, minDate = _a.minDate, maxDate = _a.maxDate;
36
+ var FormLabel_1 = require("../Common/FormLabel");
37
+ var inferPickerTypeFromFormat = function (formatStr) {
38
+ var lower = formatStr.toLowerCase();
39
+ var hasTime = lower.includes("hh") || lower.includes("mm") || lower.includes("ss");
40
+ var hasDate = lower.includes("d") && lower.includes("m") && lower.includes("y");
41
+ if (hasTime && hasDate)
42
+ return "datetime";
43
+ if (hasTime)
44
+ return "time";
45
+ return "date";
46
+ };
47
+ var TimeSelector = function (_a) {
48
+ var date = _a.date, onChange = _a.onChange;
49
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
50
+ var handleTimeChange = function (e) {
51
+ var _a = e.target.value.split(":").map(Number), hours = _a[0], minutes = _a[1];
52
+ var updated = new Date(date);
53
+ updated.setHours(hours);
54
+ updated.setMinutes(minutes);
55
+ onChange(updated);
56
+ };
57
+ return (react_1.default.createElement("input", { type: "time", value: (0, date_fns_1.format)(date, "HH:mm"), onChange: handleTimeChange, style: {
58
+ marginTop: "0.5rem",
59
+ width: "100%",
60
+ background: theme.colors.background[500],
61
+ border: "0.063rem solid ".concat(theme.colors.primary[500]),
62
+ borderRadius: "0.25rem",
63
+ fontSize: "1rem",
64
+ padding: "0.5rem",
65
+ color: theme.colors.text[500],
66
+ } }));
67
+ };
68
+ function CustomDatePicker(props) {
69
+ var id = props.id, name = props.name, label = props.label, isRequired = props.isRequired, isInformation = props.isInformation, informationMessage = props.informationMessage, error = props.error, errorMessage = props.errorMessage, helperText = props.helperText, _a = props.placeholderText, placeholderText = _a === void 0 ? "Select a date" : _a, _b = props.dateFormat, dateFormat = _b === void 0 ? "dd/MM/yyyy" : _b, pickerType = props.pickerType, minDate = props.minDate, maxDate = props.maxDate, disableFutureDates = props.disableFutureDates, disablePastDates = props.disablePastDates, isRange = props.isRange, autocomplete = props.autocomplete, disabled = props.disabled;
27
70
  var theme = (0, useCustomTheme_1.useCustomTheme)();
71
+ var _c = (0, react_2.useDisclosure)(), isOpen = _c.isOpen, onOpen = _c.onOpen, onClose = _c.onClose;
72
+ var resolvedPickerType = pickerType !== null && pickerType !== void 0 ? pickerType : inferPickerTypeFromFormat(dateFormat);
73
+ var inputRef = (0, react_1.useRef)(null);
74
+ var today = new Date();
75
+ var showDate = resolvedPickerType === "date" || resolvedPickerType === "datetime";
76
+ var showTime = resolvedPickerType === "time" || resolvedPickerType === "datetime";
77
+ var selectedDate = !isRange ? props.selectedDate : null;
78
+ var _d = (0, react_1.useState)(isRange ? new Date() : selectedDate !== null && selectedDate !== void 0 ? selectedDate : new Date()), currentMonth = _d[0], setCurrentMonth = _d[1];
79
+ var _e = (0, react_1.useState)(null), rangeStart = _e[0], setRangeStart = _e[1];
80
+ var _f = (0, react_1.useState)(null), rangeEnd = _f[0], setRangeEnd = _f[1];
81
+ var _g = (0, react_1.useState)(true), selectingStart = _g[0], setSelectingStart = _g[1];
82
+ var _h = (0, react_1.useState)(selectedDate !== null && selectedDate !== void 0 ? selectedDate : null), tempDate = _h[0], setTempDate = _h[1];
83
+ var _j = (0, react_1.useState)(rangeStart), tempRangeStart = _j[0], setTempRangeStart = _j[1];
84
+ var _k = (0, react_1.useState)(rangeEnd), tempRangeEnd = _k[0], setTempRangeEnd = _k[1];
85
+ (0, react_1.useEffect)(function () {
86
+ if (!isRange) {
87
+ setTempDate(selectedDate !== null && selectedDate !== void 0 ? selectedDate : null);
88
+ }
89
+ }, [selectedDate, isRange]);
90
+ var handleDaySelect = function (day) {
91
+ var updated = new Date(day);
92
+ if (isRange) {
93
+ if (selectingStart) {
94
+ setTempRangeStart(updated);
95
+ setTempRangeEnd(null);
96
+ setSelectingStart(false);
97
+ }
98
+ else {
99
+ var finalStart = tempRangeStart && updated < tempRangeStart ? updated : tempRangeStart;
100
+ var finalEnd = tempRangeStart && updated < tempRangeStart ? tempRangeStart : updated;
101
+ setTempRangeStart(finalStart !== null && finalStart !== void 0 ? finalStart : updated);
102
+ setTempRangeEnd(finalEnd);
103
+ setSelectingStart(true);
104
+ }
105
+ }
106
+ else {
107
+ setTempDate(updated);
108
+ }
109
+ };
110
+ var renderDays = function () {
111
+ var monthStart = (0, date_fns_1.startOfMonth)(currentMonth);
112
+ var monthEnd = (0, date_fns_1.endOfMonth)(currentMonth);
113
+ var startDate = (0, date_fns_1.startOfWeek)(monthStart);
114
+ var endDate = (0, date_fns_1.endOfWeek)(monthEnd);
115
+ var rows = [];
116
+ var day = startDate;
117
+ while (day <= endDate) {
118
+ var days = [];
119
+ var _loop_1 = function (i) {
120
+ var thisDay = day;
121
+ var isInCurrentMonth = thisDay.getMonth() === currentMonth.getMonth();
122
+ var isToday = (0, date_fns_1.isSameDay)(thisDay, today);
123
+ var isStart = isRange && tempRangeStart && (0, date_fns_1.isSameDay)(thisDay, tempRangeStart);
124
+ var isEnd = isRange && tempRangeEnd && (0, date_fns_1.isSameDay)(thisDay, tempRangeEnd);
125
+ var isInRange = isRange &&
126
+ tempRangeStart &&
127
+ tempRangeEnd &&
128
+ (0, date_fns_1.isAfter)(thisDay, tempRangeStart) &&
129
+ (0, date_fns_1.isBefore)(thisDay, tempRangeEnd);
130
+ var isSelected = !isRange && tempDate && (0, date_fns_1.isSameDay)(thisDay, tempDate);
131
+ var disabled_1 = !isInCurrentMonth ||
132
+ (minDate && (0, date_fns_1.isBefore)(thisDay, minDate)) ||
133
+ (maxDate && (0, date_fns_1.isAfter)(thisDay, maxDate)) ||
134
+ (disablePastDates && (0, date_fns_1.isBefore)(thisDay, today) && !(0, date_fns_1.isSameDay)(thisDay, today)) ||
135
+ (disableFutureDates && (0, date_fns_1.isAfter)(thisDay, today) && !(0, date_fns_1.isSameDay)(thisDay, today));
136
+ days.push(react_1.default.createElement(Button_1.default, { key: thisDay.toString(), size: "sm", variant: isStart || isEnd
137
+ ? "solid"
138
+ : isInRange
139
+ ? "outline"
140
+ : isSelected
141
+ ? "solid"
142
+ : "ghost", colorScheme: isStart || isEnd || isInRange || isSelected ? "primary" : "gray", opacity: isInCurrentMonth ? 1 : 0.4, onClick: function () { return !disabled_1 && handleDaySelect(new Date(thisDay)); }, isDisabled: disabled_1, border: isToday ? "0.125rem solid ".concat(theme.colors.primary[500]) : undefined, borderRadius: "md" }, (0, date_fns_1.format)(thisDay, "d")));
143
+ day = (0, date_fns_1.addDays)(day, 1);
144
+ };
145
+ for (var i = 0; i < 7; i++) {
146
+ _loop_1(i);
147
+ }
148
+ rows.push(react_1.default.createElement(react_2.Grid, { key: day.toString(), templateColumns: "repeat(7, 1fr)", gap: 1 }, days));
149
+ }
150
+ return rows;
151
+ };
152
+ var displayValue = isRange
153
+ ? tempRangeStart && tempRangeEnd
154
+ ? "".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " - ").concat((0, date_fns_1.format)(tempRangeEnd, dateFormat))
155
+ : tempRangeStart
156
+ ? "".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " -")
157
+ : ""
158
+ : tempDate
159
+ ? (0, date_fns_1.format)(tempDate, dateFormat)
160
+ : "";
28
161
  return (react_1.default.createElement(react_2.FormControl, { isInvalid: error },
29
162
  label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
30
- react_1.default.createElement(DatePickerContainer, null,
31
- react_1.default.createElement(react_datepicker_1.default, { minDate: minDate, maxDate: maxDate, selected: selectedDate, onChange: onChange, placeholderText: placeholderText, dateFormat: showTimeSelect
32
- ? dateTimeFormat
33
- ? dateTimeFormat
34
- : "MM/dd/yyyy h:mm aa"
35
- : dateFormat, showTimeSelect: showTimeSelect, timeFormat: timeFormat, timeIntervals: timeIntervals, timeCaption: timeCaption, id: id, name: name, customInput: react_1.default.createElement(react_2.Input, { size: "sm", bg: theme.colors.backgroundColor.light, style: { border: error ? "2px solid #DC143C" : "" } }) })),
36
- error && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage }),
37
- helperText && !error && react_1.default.createElement(HelperText_1.default, { helperText: helperText })));
163
+ react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: onClose, placement: "bottom-start", modifiers: [
164
+ {
165
+ name: "flip",
166
+ enabled: true,
167
+ options: {
168
+ fallbackPlacements: ["top-start", "right-start", "left-start"],
169
+ },
170
+ },
171
+ {
172
+ name: "preventOverflow",
173
+ enabled: true,
174
+ options: {
175
+ boundary: "viewport",
176
+ },
177
+ },
178
+ ] },
179
+ react_1.default.createElement(react_2.PopoverTrigger, null,
180
+ react_1.default.createElement(react_2.Box, { onClick: onOpen },
181
+ react_1.default.createElement(TextInput_1.default, { id: id, name: name, ref: inputRef, placeholder: placeholderText, value: displayValue, isReadOnly: true, error: error, errorMessage: errorMessage, helperText: helperText, autoComplete: autocomplete, isDisabled: disabled }))),
182
+ react_1.default.createElement(react_2.PopoverContent, { width: "auto", p: 2 },
183
+ react_1.default.createElement(react_2.PopoverBody, null,
184
+ showDate && (react_1.default.createElement(react_1.default.Fragment, null,
185
+ react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mb: 2 },
186
+ react_1.default.createElement(Button_1.default, { variant: "ghost", size: "sm", onClick: function () { return setCurrentMonth(function (prev) { return (0, date_fns_1.subMonths)(prev, 1); }); } },
187
+ react_1.default.createElement(lucide_react_1.ChevronLeftIcon, null)),
188
+ react_1.default.createElement(react_2.Box, { fontWeight: "bold" }, (0, date_fns_1.format)(currentMonth, "MMMM yyyy")),
189
+ react_1.default.createElement(Button_1.default, { variant: "ghost", size: "sm", onClick: function () { return setCurrentMonth(function (prev) { return (0, date_fns_1.addMonths)(prev, 1); }); } },
190
+ react_1.default.createElement(lucide_react_1.ChevronRightIcon, null))),
191
+ react_1.default.createElement(react_2.Grid, { templateColumns: "repeat(7, 1fr)", gap: 1, fontWeight: "bold", mb: 1 }, ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(function (day) { return (react_1.default.createElement(react_2.Box, { textAlign: "center", key: day }, day)); })),
192
+ renderDays())),
193
+ !isRange && showTime && tempDate && (react_1.default.createElement(TimeSelector, { date: tempDate, onChange: setTempDate })),
194
+ react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 3 },
195
+ react_1.default.createElement(Button_1.default, { size: "sm", variant: "ghost", onClick: function () {
196
+ setTempDate(null);
197
+ setTempRangeStart(null);
198
+ setTempRangeEnd(null);
199
+ setRangeStart(null);
200
+ setRangeEnd(null);
201
+ setSelectingStart(true);
202
+ props.onChange(null);
203
+ onClose();
204
+ } }, "Clear"),
205
+ react_1.default.createElement(Button_1.default, { size: "sm", colorScheme: "primary", onClick: function () {
206
+ if (isRange && tempRangeStart && tempRangeEnd) {
207
+ setRangeStart(tempRangeStart);
208
+ setRangeEnd(tempRangeEnd);
209
+ props.onChange({ from: tempRangeStart, to: tempRangeEnd });
210
+ }
211
+ else if (!isRange && tempDate) {
212
+ props.onChange(tempDate);
213
+ }
214
+ onClose(); // Close popover after confirming
215
+ } }, "OK")))))));
38
216
  }
39
- exports.default = DatePicker;
40
- var templateObject_1;
217
+ exports.default = CustomDatePicker;
@@ -1,26 +1,35 @@
1
- /// <reference types="react" />
2
- import DatePicker from "react-datepicker";
3
- type ReactDatePickerProps = React.ComponentProps<typeof DatePicker>;
4
- export type DatePickerProps = {
5
- selectedDate: Date | null;
6
- onChange: (date: Date | null) => void;
7
- placeholderText?: string;
8
- dateFormat?: string;
9
- showTimeSelect?: boolean;
10
- timeFormat?: string;
11
- timeIntervals?: number;
12
- timeCaption?: string;
13
- dateTimeFormat?: string;
14
- label?: string;
1
+ export type PickerType = "date" | "time" | "datetime";
2
+ export interface BaseDatePickerProps {
15
3
  id?: string;
16
4
  name?: string;
5
+ label?: string;
17
6
  isRequired?: boolean;
18
7
  isInformation?: boolean;
19
8
  informationMessage?: string;
20
9
  error?: boolean;
21
10
  errorMessage?: string;
22
11
  helperText?: string;
12
+ placeholderText?: string;
13
+ dateFormat?: string;
14
+ pickerType?: PickerType;
23
15
  minDate?: Date;
24
16
  maxDate?: Date;
25
- } & Partial<ReactDatePickerProps>;
26
- export {};
17
+ disableFutureDates?: boolean;
18
+ disablePastDates?: boolean;
19
+ autocomplete?: string;
20
+ disabled?: boolean;
21
+ }
22
+ export interface SingleDatePickerProps extends BaseDatePickerProps {
23
+ isRange?: false;
24
+ selectedDate: Date | null;
25
+ onChange: (date: Date | null) => void;
26
+ }
27
+ export interface RangeDatePickerProps extends BaseDatePickerProps {
28
+ isRange: true;
29
+ selectedDate?: Date | null;
30
+ onChange: ((date: Date | null) => void) | ((range: {
31
+ from: Date | null;
32
+ to: Date | null;
33
+ } | null) => void);
34
+ }
35
+ export type DatePickerProps = SingleDatePickerProps | RangeDatePickerProps;
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { OptionProp } from "../Select/SelectProps";
3
+ declare const HeaderActions: ({ select, edit, create, }: {
4
+ select?: {
5
+ isSelect?: boolean | undefined;
6
+ options?: OptionProp[] | undefined;
7
+ onSelectChange?: ((option?: OptionProp) => void) | undefined;
8
+ selectPlaceholderText?: string | undefined;
9
+ width?: string | undefined;
10
+ } | undefined;
11
+ edit?: {
12
+ isEditable?: boolean | undefined;
13
+ onEdit?: (() => void) | undefined;
14
+ } | undefined;
15
+ create?: {
16
+ isCreatable?: boolean | undefined;
17
+ onCreate?: (() => void) | undefined;
18
+ } | undefined;
19
+ }) => React.JSX.Element;
20
+ export default HeaderActions;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = require("@chakra-ui/react");
7
+ var react_2 = __importDefault(require("react"));
8
+ var lucide_react_1 = require("lucide-react");
9
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
10
+ var Select_1 = __importDefault(require("../Select/Select"));
11
+ var Divider_1 = __importDefault(require("../Divider/Divider"));
12
+ var HeaderActions = function (_a) {
13
+ var _b, _c, _d, _e, _f, _g;
14
+ var select = _a.select, edit = _a.edit, create = _a.create;
15
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
16
+ var elements = [];
17
+ if (select === null || select === void 0 ? void 0 : select.isSelect) {
18
+ elements.push(react_2.default.createElement(Select_1.default, { key: "select", options: (_b = select.options) !== null && _b !== void 0 ? _b : [], placeholder: select.selectPlaceholderText, width: (_c = select.width) !== null && _c !== void 0 ? _c : "12.5rem", onChange: function (option) { var _a; return (_a = select.onSelectChange) === null || _a === void 0 ? void 0 : _a.call(select, option); } }));
19
+ }
20
+ if (edit === null || edit === void 0 ? void 0 : edit.isEditable) {
21
+ elements.push(react_2.default.createElement(react_1.Box, { key: "edit", display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: function () { var _a; return (_a = edit.onEdit) === null || _a === void 0 ? void 0 : _a.call(edit); } },
22
+ react_2.default.createElement(lucide_react_1.SquarePen, { size: 20, color: (_d = colors === null || colors === void 0 ? void 0 : colors.text) === null || _d === void 0 ? void 0 : _d[500] }),
23
+ react_2.default.createElement(react_1.Text, { color: (_e = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _e === void 0 ? void 0 : _e[500] }, "Edit Layout")));
24
+ }
25
+ if (create === null || create === void 0 ? void 0 : create.isCreatable) {
26
+ elements.push(react_2.default.createElement(react_1.Box, { key: "create", display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: function () { var _a; return (_a = create.onCreate) === null || _a === void 0 ? void 0 : _a.call(create); } },
27
+ react_2.default.createElement(lucide_react_1.CirclePlus, { size: 20, color: (_f = colors === null || colors === void 0 ? void 0 : colors.text) === null || _f === void 0 ? void 0 : _f[500] }),
28
+ react_2.default.createElement(react_1.Text, { color: (_g = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _g === void 0 ? void 0 : _g[500] }, "Create New")));
29
+ }
30
+ return (react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.625rem" }, elements.map(function (el, i) { return (react_2.default.createElement(react_2.default.Fragment, { key: i },
31
+ i > 0 && react_2.default.createElement(Divider_1.default, null),
32
+ el)); })));
33
+ };
34
+ exports.default = HeaderActions;
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
2
  import { TextInputProps } from "./TextInputProps";
3
- declare function TextInput({ label, type, id, name, onChange, onBlur, onFocus, isDisabled, isReadOnly, isRequired, value, placeholder, width, height, error, errorMessage, helperText, onRightIconclick, inputRightIcon, inputLeftIcon, onLeftIconClick, inputGroupStyle, inputStyle, size, isInformation, informationMessage, leftElementStyle, rightElementStyle, ref, ...props }: TextInputProps): React.JSX.Element;
4
- declare const _default: React.MemoExoticComponent<typeof TextInput>;
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<TextInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>>;
5
4
  export default _default;
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __rest = (this && this.__rest) || function (s, e) {
14
37
  var t = {};
15
38
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -25,20 +48,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
49
  };
27
50
  Object.defineProperty(exports, "__esModule", { value: true });
28
- var react_1 = __importDefault(require("react"));
51
+ var react_1 = __importStar(require("react"));
29
52
  var react_2 = require("@chakra-ui/react");
30
53
  var FormLabel_1 = require("../Common/FormLabel");
31
54
  var HelperText_1 = __importDefault(require("../Common/HelperText"));
32
55
  var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
33
- function TextInput(_a) {
34
- var label = _a.label, _b = _a.type, type = _b === void 0 ? "text" : _b, id = _a.id, name = _a.name, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, value = _a.value, _f = _a.placeholder, placeholder = _f === void 0 ? "Placeholder" : _f, _g = _a.width, width = _g === void 0 ? "22.5rem" : _g, _h = _a.height, height = _h === void 0 ? "2.75rem" : _h, error = _a.error, errorMessage = _a.errorMessage, helperText = _a.helperText, onRightIconclick = _a.onRightIconclick, inputRightIcon = _a.inputRightIcon, inputLeftIcon = _a.inputLeftIcon, onLeftIconClick = _a.onLeftIconClick, inputGroupStyle = _a.inputGroupStyle, inputStyle = _a.inputStyle, _j = _a.size, size = _j === void 0 ? "md" : _j, _k = _a.isInformation, isInformation = _k === void 0 ? false : _k, informationMessage = _a.informationMessage, leftElementStyle = _a.leftElementStyle, rightElementStyle = _a.rightElementStyle, ref = _a.ref, props = __rest(_a, ["label", "type", "id", "name", "onChange", "onBlur", "onFocus", "isDisabled", "isReadOnly", "isRequired", "value", "placeholder", "width", "height", "error", "errorMessage", "helperText", "onRightIconclick", "inputRightIcon", "inputLeftIcon", "onLeftIconClick", "inputGroupStyle", "inputStyle", "size", "isInformation", "informationMessage", "leftElementStyle", "rightElementStyle", "ref"]);
56
+ var TextInput = (0, react_1.forwardRef)(function (_a, ref) {
57
+ var label = _a.label, _b = _a.type, type = _b === void 0 ? "text" : _b, id = _a.id, name = _a.name, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, value = _a.value, _f = _a.placeholder, placeholder = _f === void 0 ? "Placeholder" : _f, _g = _a.width, width = _g === void 0 ? "22.5rem" : _g, _h = _a.height, height = _h === void 0 ? "2.75rem" : _h, error = _a.error, errorMessage = _a.errorMessage, helperText = _a.helperText, onRightIconclick = _a.onRightIconclick, inputRightIcon = _a.inputRightIcon, inputLeftIcon = _a.inputLeftIcon, onLeftIconClick = _a.onLeftIconClick, inputGroupStyle = _a.inputGroupStyle, inputStyle = _a.inputStyle, _j = _a.size, size = _j === void 0 ? "md" : _j, _k = _a.isInformation, isInformation = _k === void 0 ? false : _k, informationMessage = _a.informationMessage, leftElementStyle = _a.leftElementStyle, rightElementStyle = _a.rightElementStyle, autoComplete = _a.autoComplete, props = __rest(_a, ["label", "type", "id", "name", "onChange", "onBlur", "onFocus", "isDisabled", "isReadOnly", "isRequired", "value", "placeholder", "width", "height", "error", "errorMessage", "helperText", "onRightIconclick", "inputRightIcon", "inputLeftIcon", "onLeftIconClick", "inputGroupStyle", "inputStyle", "size", "isInformation", "informationMessage", "leftElementStyle", "rightElementStyle", "autoComplete"]);
35
58
  return (react_1.default.createElement(react_2.FormControl, { w: width },
36
59
  label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isInformation: isInformation, informationMessage: informationMessage, isRequired: isRequired })),
37
60
  react_1.default.createElement(react_2.InputGroup, { style: inputGroupStyle, height: height },
38
61
  inputLeftIcon && (react_1.default.createElement(react_2.InputLeftElement, __assign({ onClick: onLeftIconClick, pointerEvents: onLeftIconClick ? "auto" : "none" }, leftElementStyle), inputLeftIcon)),
39
- react_1.default.createElement(react_2.Input, __assign({ type: type, placeholder: placeholder, onChange: onChange, onBlur: onBlur, onFocus: onFocus, value: value, isDisabled: isDisabled, isReadOnly: isReadOnly, id: id, name: name, size: size, height: height, isInvalid: error, ref: ref }, inputStyle, props)),
62
+ react_1.default.createElement(react_2.Input, __assign({ type: type, placeholder: placeholder, onChange: onChange, onBlur: onBlur, onFocus: onFocus, value: value, isDisabled: isDisabled, isReadOnly: isReadOnly, id: id, name: name, size: size, height: height, isInvalid: error, ref: ref, autoComplete: autoComplete }, inputStyle, props)),
40
63
  inputRightIcon && (react_1.default.createElement(react_2.InputRightElement, __assign({ onClick: onRightIconclick, pointerEvents: onRightIconclick ? "auto" : "none" }, rightElementStyle), inputRightIcon))),
41
64
  error && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage }),
42
65
  helperText && !error && react_1.default.createElement(HelperText_1.default, { helperText: helperText })));
43
- }
66
+ });
67
+ TextInput.displayName = "TextInput";
44
68
  exports.default = react_1.default.memo(TextInput);
@@ -18,4 +18,5 @@ export type TextInputProps = Pick<InputProps, "value" | "type" | "onChange" | "p
18
18
  leftElementStyle?: {};
19
19
  rightElementStyle?: {};
20
20
  ref?: React.Ref<HTMLInputElement>;
21
+ autoComplete?: string;
21
22
  };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { OptionProp } from '../../Select/SelectProps';
3
+ declare const KanbanActions: ({ options, onSelectChange, onEdit, onCreate }: {
4
+ options: OptionProp[];
5
+ onSelectChange?: ((option?: OptionProp) => void) | undefined;
6
+ onEdit?: (() => void) | undefined;
7
+ onCreate?: (() => void) | undefined;
8
+ }) => React.JSX.Element;
9
+ export default KanbanActions;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = require("@chakra-ui/react");
7
+ var react_2 = __importDefault(require("react"));
8
+ var Select_1 = __importDefault(require("../../Select/Select"));
9
+ var lucide_react_1 = require("lucide-react");
10
+ var Divider_1 = __importDefault(require("../../Divider/Divider"));
11
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
12
+ var KanbanActions = function (_a) {
13
+ var _b, _c, _d, _e;
14
+ var options = _a.options, onSelectChange = _a.onSelectChange, onEdit = _a.onEdit, onCreate = _a.onCreate;
15
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
16
+ return (react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.625rem" },
17
+ react_2.default.createElement(Select_1.default, { options: options, placeholder: "Filter by Status", width: "12.5rem", onChange: function (option) { return onSelectChange && onSelectChange(option); } }),
18
+ react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: function () { return onEdit === null || onEdit === void 0 ? void 0 : onEdit(); } },
19
+ react_2.default.createElement(lucide_react_1.SquarePen, { size: 20, color: (_b = colors === null || colors === void 0 ? void 0 : colors.text) === null || _b === void 0 ? void 0 : _b[500] }),
20
+ react_2.default.createElement(react_1.Text, { color: (_c = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _c === void 0 ? void 0 : _c[500] }, "Edit Layout")),
21
+ react_2.default.createElement(Divider_1.default, null),
22
+ react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: "pointer", fontSize: 14, onClick: function () { return onCreate === null || onCreate === void 0 ? void 0 : onCreate(); } },
23
+ react_2.default.createElement(lucide_react_1.CirclePlus, { size: 20, color: (_d = colors === null || colors === void 0 ? void 0 : colors.text) === null || _d === void 0 ? void 0 : _d[500] }),
24
+ react_2.default.createElement(react_1.Text, { color: (_e = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _e === void 0 ? void 0 : _e[500] }, "Create New"))));
25
+ };
26
+ exports.default = KanbanActions;
@@ -93,11 +93,13 @@ var KanbanBoard = function (_a) {
93
93
  var colId = _a[0], column = _a[1];
94
94
  return (react_1.default.createElement(dnd_1.Droppable, { droppableId: colId, key: colId }, function (provided, snapshot) {
95
95
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
96
- return (react_1.default.createElement(react_2.Box, __assign({ ref: provided.innerRef }, provided.droppableProps, { width: "17.5rem", opacity: 1, borderRadius: "0.5rem", borderWidth: "0.063rem", background: snapshot.isDraggingOver ? (_a = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _a === void 0 ? void 0 : _a[50] : (_b = colors === null || colors === void 0 ? void 0 : colors.background) === null || _b === void 0 ? void 0 : _b[100], border: "".concat(snapshot.isDraggingOver ? '0.5px dashed' + ((_c = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _c === void 0 ? void 0 : _c[500]) : '0.125rem solid' + ((_d = colors.gray) === null || _d === void 0 ? void 0 : _d[200])), display: "flex", flexDirection: "column" }),
96
+ return (react_1.default.createElement(react_2.Box, __assign({ ref: provided.innerRef }, provided.droppableProps, { width: "17.5rem", opacity: 1, borderRadius: "0.5rem", borderWidth: "0.063rem", background: snapshot.isDraggingOver
97
+ ? (_a = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _a === void 0 ? void 0 : _a[50]
98
+ : (_b = colors === null || colors === void 0 ? void 0 : colors.background) === null || _b === void 0 ? void 0 : _b[100], border: "".concat(snapshot.isDraggingOver ? "0.5px dashed" + ((_c = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _c === void 0 ? void 0 : _c[500]) : "0.125rem solid" + ((_d = colors.gray) === null || _d === void 0 ? void 0 : _d[200])), display: "flex", flexDirection: "column" }),
97
99
  react_1.default.createElement(react_2.Flex, { width: "16.5rem", height: "2.75rem", borderRadius: "0.25rem", borderLeft: "0.188rem solid", borderLeftColor: (_e = column.color) !== null && _e !== void 0 ? _e : (_f = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _f === void 0 ? void 0 : _f[500], background: (_g = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _g === void 0 ? void 0 : _g[100], align: "center", px: 2, mb: 3, flexShrink: 0, m: 2, display: "flex", justifyContent: "space-between" },
98
100
  react_1.default.createElement(react_2.Text, { fontWeight: "600", fontSize: "1rem", lineHeight: "100%", letterSpacing: "0%", color: (_h = colors === null || colors === void 0 ? void 0 : colors.text) === null || _h === void 0 ? void 0 : _h[700] }, column.title),
99
101
  react_1.default.createElement(react_2.Box, { as: lucide_react_1.Trash2, size: 16, cursor: "pointer", color: (_j = colors === null || colors === void 0 ? void 0 : colors.text) === null || _j === void 0 ? void 0 : _j[600], _hover: { color: (_k = colors === null || colors === void 0 ? void 0 : colors.red) === null || _k === void 0 ? void 0 : _k[600] }, onClick: function () { return onColumnDelete === null || onColumnDelete === void 0 ? void 0 : onColumnDelete(colId); } })),
100
- react_1.default.createElement(react_2.Box, { px: 2, pb: 2, overflowY: "auto", maxHeight: "calc(100vh - 12.5rem)", overflow: "hidden" },
102
+ react_1.default.createElement(react_2.Box, { px: 2, pb: 2, overflowY: "auto", maxHeight: "calc(100vh - 7rem)", overflowX: "hidden" },
101
103
  column.items.map(function (account, index) { return (react_1.default.createElement(AccountCard_1.default, { key: account.id, account: account, index: index, onDelete: onDelete, onOpen: onOpen })); }),
102
104
  provided.placeholder)));
103
105
  }));
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { chakraSelectProps } from "./SelectProps";
3
- export default function Select({ placeholder, size, variant, icon, bg, borderColor, color, onChange, onBlur, onFocus, errorBorderColor, isDisabled, isReadOnly, isRequired, value, colorScheme, label, error, errorMessage, helperText, options, width, formControlStyle, isInformation, informationMessage, selectStyle }: chakraSelectProps): React.JSX.Element;
3
+ export default function Select({ placeholder, size, variant, icon, onChange, onBlur, onFocus, errorBorderColor, isDisabled, isReadOnly, isRequired, value, colorScheme, label, error, errorMessage, helperText, options, width, formControlStyle, isInformation, informationMessage, selectStyle, }: chakraSelectProps): React.JSX.Element;
@@ -32,7 +32,7 @@ var FormLabel_1 = require("../Common/FormLabel");
32
32
  var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
33
33
  var HelperText_1 = __importDefault(require("../Common/HelperText"));
34
34
  function Select(_a) {
35
- var _b = _a.placeholder, placeholder = _b === void 0 ? "Select Option" : _b, _c = _a.size, size = _c === void 0 ? "sm" : _c, _d = _a.variant, variant = _d === void 0 ? "outline" : _d, icon = _a.icon, bg = _a.bg, borderColor = _a.borderColor, color = _a.color, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, errorBorderColor = _a.errorBorderColor, isDisabled = _a.isDisabled, isReadOnly = _a.isReadOnly, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, _f = _a.value, value = _f === void 0 ? "" : _f, colorScheme = _a.colorScheme, label = _a.label, error = _a.error, errorMessage = _a.errorMessage, helperText = _a.helperText, _g = _a.options, options = _g === void 0 ? [] : _g, _h = _a.width, width = _h === void 0 ? 500 : _h, formControlStyle = _a.formControlStyle, _j = _a.isInformation, isInformation = _j === void 0 ? false : _j, informationMessage = _a.informationMessage, selectStyle = _a.selectStyle;
35
+ var _b = _a.placeholder, placeholder = _b === void 0 ? "Select Option" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "outline" : _d, icon = _a.icon, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, errorBorderColor = _a.errorBorderColor, isDisabled = _a.isDisabled, isReadOnly = _a.isReadOnly, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, _f = _a.value, value = _f === void 0 ? "" : _f, colorScheme = _a.colorScheme, label = _a.label, error = _a.error, errorMessage = _a.errorMessage, helperText = _a.helperText, _g = _a.options, options = _g === void 0 ? [] : _g, _h = _a.width, width = _h === void 0 ? 500 : _h, formControlStyle = _a.formControlStyle, _j = _a.isInformation, isInformation = _j === void 0 ? false : _j, informationMessage = _a.informationMessage, selectStyle = _a.selectStyle;
36
36
  var getOptionsList = (0, react_1.useCallback)(function () {
37
37
  if (!options.length)
38
38
  return react_1.default.createElement("option", { value: "" }, "No Options");
@@ -47,7 +47,7 @@ function Select(_a) {
47
47
  };
48
48
  return (react_1.default.createElement(react_2.FormControl, { isInvalid: error, style: formControlStyle, width: width },
49
49
  label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
50
- react_1.default.createElement(react_2.Select, { placeholder: placeholder, size: size, variant: "flushed", icon: icon, bg: bg, borderColor: borderColor, color: color, isInvalid: error, value: value, onChange: handleOnChange, width: width, onBlur: onBlur, onFocus: onFocus, isDisabled: isDisabled, isReadOnly: isReadOnly, colorScheme: colorScheme, errorBorderColor: errorBorderColor, style: selectStyle }, getOptionsList()),
50
+ react_1.default.createElement(react_2.Select, { placeholder: placeholder, size: size, variant: variant, icon: icon, isInvalid: error, value: value, onChange: handleOnChange, width: width, onBlur: onBlur, onFocus: onFocus, isDisabled: isDisabled, isReadOnly: isReadOnly, colorScheme: colorScheme, errorBorderColor: errorBorderColor, style: selectStyle }, getOptionsList()),
51
51
  error && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage }),
52
52
  helperText && !error && react_1.default.createElement(HelperText_1.default, { helperText: helperText })));
53
53
  }
@@ -0,0 +1,2 @@
1
+ import { ComponentStyleConfig } from "@chakra-ui/react";
2
+ export declare const Select: ComponentStyleConfig;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Select = void 0;
4
+ exports.Select = {
5
+ baseStyle: {
6
+ field: {
7
+ fontWeight: 500,
8
+ fontSize: "0.875rem",
9
+ letterSpacing: "0.044rem",
10
+ borderRadius: "0.25rem",
11
+ minWidth: "0",
12
+ width: "100%",
13
+ maxWidth: "100%",
14
+ _placeholder: {
15
+ fontStyle: "italic",
16
+ whiteSpace: "nowrap",
17
+ overflow: "hidden",
18
+ textOverflow: "ellipsis",
19
+ },
20
+ },
21
+ icon: {
22
+ width: "1.25rem",
23
+ height: "1.25rem",
24
+ },
25
+ },
26
+ sizes: {
27
+ sm: {
28
+ field: {
29
+ h: "2.125rem",
30
+ fontSize: "0.8125rem",
31
+ px: "0.5rem",
32
+ py: "0.5rem",
33
+ },
34
+ },
35
+ md: {
36
+ field: {
37
+ h: "2.375rem",
38
+ fontSize: "0.875rem",
39
+ px: "0.75rem",
40
+ py: "0.5rem",
41
+ },
42
+ },
43
+ lg: {
44
+ field: {
45
+ h: "2.75rem",
46
+ fontSize: "0.9375rem",
47
+ px: "1rem",
48
+ py: "0.5rem",
49
+ },
50
+ },
51
+ },
52
+ variants: {
53
+ outline: function (props) {
54
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
55
+ var theme = props.theme;
56
+ var errorColor = (_c = (_b = (_a = theme.colors.semantic) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b[500]) !== null && _c !== void 0 ? _c : "red.500";
57
+ var borderColor = (_e = (_d = theme.colors.boxborder) === null || _d === void 0 ? void 0 : _d[500]) !== null && _e !== void 0 ? _e : "gray.300";
58
+ var shadowPrimary = (_g = (_f = theme.colors.boxShadow) === null || _f === void 0 ? void 0 : _f.primary) !== null && _g !== void 0 ? _g : "blue.100";
59
+ var shadowError = (_j = (_h = theme.colors.boxShadow) === null || _h === void 0 ? void 0 : _h.error) !== null && _j !== void 0 ? _j : "red.100";
60
+ var primary = (_l = (_k = theme.colors.primary) === null || _k === void 0 ? void 0 : _k[500]) !== null && _l !== void 0 ? _l : "blue.500";
61
+ return {
62
+ field: {
63
+ bg: (_o = (_m = theme.colors.gray) === null || _m === void 0 ? void 0 : _m[50]) !== null && _o !== void 0 ? _o : "gray.50",
64
+ border: "0.063rem solid",
65
+ borderColor: borderColor,
66
+ _hover: {
67
+ borderColor: primary,
68
+ boxShadow: "0 0 0 0.125rem ".concat(shadowPrimary),
69
+ },
70
+ _focus: {
71
+ borderColor: primary,
72
+ boxShadow: "0 0 0 0.125rem ".concat(shadowPrimary),
73
+ },
74
+ _disabled: {
75
+ opacity: 0.4,
76
+ cursor: "not-allowed",
77
+ },
78
+ _invalid: {
79
+ borderColor: errorColor,
80
+ boxShadow: "0 0 0 0.125rem ".concat(shadowError),
81
+ _hover: {
82
+ borderColor: errorColor,
83
+ boxShadow: "0 0 0 0.125rem ".concat(shadowError),
84
+ },
85
+ _focus: {
86
+ borderColor: errorColor,
87
+ boxShadow: "0 0 0 0.125rem ".concat(shadowError),
88
+ },
89
+ },
90
+ },
91
+ };
92
+ },
93
+ },
94
+ defaultProps: {
95
+ variant: "outline",
96
+ size: "md",
97
+ },
98
+ };
@@ -18,6 +18,7 @@ var react_1 = __importDefault(require("react"));
18
18
  var react_2 = require("@chakra-ui/react");
19
19
  var lucide_react_1 = require("lucide-react");
20
20
  var useCustomTheme_1 = require("../../Theme/useCustomTheme");
21
+ var ToolTip_1 = __importDefault(require("../ToolTip/ToolTip"));
21
22
  var TableToggle = function (_a) {
22
23
  var value = _a.value, onChange = _a.onChange;
23
24
  var theme = (0, useCustomTheme_1.useCustomTheme)();
@@ -51,7 +52,9 @@ var TableToggle = function (_a) {
51
52
  }); },
52
53
  };
53
54
  return (react_1.default.createElement(react_2.Box, __assign({}, styles.container),
54
- react_1.default.createElement(react_2.IconButton, __assign({ "aria-label": "Grid View", icon: react_1.default.createElement(lucide_react_1.Table2, { size: "1.25rem" }), variant: "ghost", onClick: function () { return onChange("grid"); } }, styles.button("grid"))),
55
- react_1.default.createElement(react_2.IconButton, __assign({ "aria-label": "List View", icon: react_1.default.createElement(lucide_react_1.Columns3, { size: "1.25rem" }), variant: "ghost", onClick: function () { return onChange("list"); } }, styles.button("list")))));
55
+ react_1.default.createElement(ToolTip_1.default, { label: "Table View", placement: "top", fontSize: 12, hasArrow: true },
56
+ react_1.default.createElement(react_2.IconButton, __assign({ "aria-label": "Grid View", icon: react_1.default.createElement(lucide_react_1.Table2, { size: "1.25rem" }), variant: "ghost", onClick: function () { return onChange("grid"); } }, styles.button("grid")))),
57
+ react_1.default.createElement(ToolTip_1.default, { label: "Kanban View", placement: "top", fontSize: 12, hasArrow: true },
58
+ react_1.default.createElement(react_2.IconButton, __assign({ "aria-label": "List View", icon: react_1.default.createElement(lucide_react_1.Columns3, { size: "1.25rem" }), variant: "ghost", onClick: function () { return onChange("list"); } }, styles.button("list"))))));
56
59
  };
57
60
  exports.default = TableToggle;
@@ -29,10 +29,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
30
  var DatePicker_1 = __importDefault(require("../Components/DatePicker/DatePicker"));
31
31
  var DatePick = function () {
32
- var _a = (0, react_1.useState)(new Date("07/26/1995")), selectedDate = _a[0], setSelectedDate = _a[1];
32
+ var _a = (0, react_1.useState)(new Date()), selectedDate = _a[0], setSelectedDate = _a[1];
33
+ var handleDateChange = function (value) {
34
+ console.log("Date change event:", value);
35
+ if (!value) {
36
+ console.log("Date cleared");
37
+ return;
38
+ }
39
+ if ("from" in value && "to" in value) {
40
+ var from = value.from, to = value.to;
41
+ if (from && to) {
42
+ console.log("Range selected:", from, to);
43
+ }
44
+ else {
45
+ console.log("Incomplete range selected:", value);
46
+ }
47
+ }
48
+ else {
49
+ setSelectedDate(value);
50
+ console.log("Date selected:", value);
51
+ }
52
+ };
33
53
  return (react_1.default.createElement("div", null,
34
- react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: function (date) { return setSelectedDate(date); },
35
- // showTimeSelect={true}
36
- label: "Select Date" })));
54
+ react_1.default.createElement("h2", null, "Single Date Picker"),
55
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "dd/MM/yyyy", pickerType: "date" }),
56
+ react_1.default.createElement("br", null),
57
+ react_1.default.createElement("h2", null, "Date Range Picker"),
58
+ react_1.default.createElement(DatePicker_1.default, { isRange: true, dateFormat: "dd/MM/yyyy", pickerType: "datetime", onChange: handleDateChange })));
37
59
  };
38
60
  exports.default = DatePick;
@@ -2,4 +2,5 @@ export declare const componentStyles: {
2
2
  Checkbox: import("@chakra-ui/theme").ComponentStyleConfig;
3
3
  Input: import("@chakra-ui/theme").ComponentStyleConfig;
4
4
  Button: import("@chakra-ui/theme").ComponentStyleConfig;
5
+ Select: import("@chakra-ui/theme").ComponentStyleConfig;
5
6
  };
@@ -4,8 +4,10 @@ exports.componentStyles = void 0;
4
4
  var Button_styles_1 = require("../Components/Button/Button.styles");
5
5
  var Checkbox_styles_1 = require("../Components/Checkbox/Checkbox.styles");
6
6
  var TextInput_styles_1 = require("../Components/Input/TextInput.styles");
7
+ var Select_styles_1 = require("../Components/Select/Select.styles");
7
8
  exports.componentStyles = {
8
9
  Checkbox: Checkbox_styles_1.Checkbox,
9
10
  Input: TextInput_styles_1.Input,
10
- Button: Button_styles_1.Button
11
+ Button: Button_styles_1.Button,
12
+ Select: Select_styles_1.Select,
11
13
  };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ import DatePicker from "./Components/DatePicker/DatePicker";
11
11
  import Drawer, { DrawerHeader, DrawerBody, DrawerFooter } from "./Components/Drawer/Drawer";
12
12
  import Dropdown from "./Components/Dropdown/DropDown";
13
13
  import Editor from "./Components/Editor/Editor";
14
+ import HeaderActions from "./Components/Header/HeaderActions";
14
15
  import InputTextArea from "./Components/InputTextArea/InputTextArea";
15
16
  import KanbanBoard from "./Components/KanbanBoard/KanbanBoard";
16
17
  import Loading from "./Components/Loading/Loading";
@@ -41,5 +42,5 @@ import withTheme from "./withTheme";
41
42
  import { useCustomTheme } from "./Theme/useCustomTheme";
42
43
  import { ThemesList } from "./Theme";
43
44
  import { debounce } from "./Utils/table";
44
- export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, InputTextArea, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, NoteTextArea, MultiSelect, NumberInput, PinInput, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Search, Select, SelectSearch, SideBar, Skeletons, Switch, Table, TableToggle, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
45
+ export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, HeaderActions, InputTextArea, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, NoteTextArea, MultiSelect, NumberInput, PinInput, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Search, Select, SelectSearch, SideBar, Skeletons, Switch, Table, TableToggle, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
45
46
  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.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.SideBar = exports.SelectSearch = exports.Select = exports.Search = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputTextArea = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = 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 = void 0;
30
+ exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.SideBar = exports.SelectSearch = exports.Select = exports.Search = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputTextArea = exports.HeaderActions = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = 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 = 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"));
@@ -58,6 +58,8 @@ var DropDown_1 = __importDefault(require("./Components/Dropdown/DropDown"));
58
58
  exports.Dropdown = DropDown_1.default;
59
59
  var Editor_1 = __importDefault(require("./Components/Editor/Editor"));
60
60
  exports.Editor = Editor_1.default;
61
+ var HeaderActions_1 = __importDefault(require("./Components/Header/HeaderActions"));
62
+ exports.HeaderActions = HeaderActions_1.default;
61
63
  var InputTextArea_1 = __importDefault(require("./Components/InputTextArea/InputTextArea"));
62
64
  exports.InputTextArea = InputTextArea_1.default;
63
65
  var KanbanBoard_1 = __importDefault(require("./Components/KanbanBoard/KanbanBoard"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",