@apexcura/ui-components 0.0.12 → 0.0.13-Beta0
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/index.css +440 -0
- package/dist/index.d.mts +50 -9
- package/dist/index.d.ts +50 -9
- package/dist/index.js +463 -22
- package/dist/index.mjs +462 -26
- package/package.json +12 -3
- package/postcss.config.js +6 -0
- package/tailwind.config.js +10 -0
package/dist/index.js
CHANGED
|
@@ -34,12 +34,17 @@ __export(src_exports, {
|
|
|
34
34
|
ButtonElement: () => ButtonElement,
|
|
35
35
|
CheckboxElement: () => CheckboxElement,
|
|
36
36
|
CkEditor: () => CkEditor,
|
|
37
|
+
DatePickerElement: () => DatePickerElement,
|
|
38
|
+
DateRangePickerElement: () => DateRangePickerElement,
|
|
37
39
|
MultipleSelectElement: () => MultipleSelectElement,
|
|
40
|
+
Navbar: () => Navbar,
|
|
38
41
|
NumberElement: () => NumberElement,
|
|
39
42
|
PasswordElement: () => PasswordElement,
|
|
40
43
|
RadioElement: () => RadioElement,
|
|
41
44
|
SelectElement: () => SelectElement,
|
|
45
|
+
Sidebar: () => Sidebar,
|
|
42
46
|
SingleSelectElement: () => SingleSelectElement,
|
|
47
|
+
TableElement: () => TableElement,
|
|
43
48
|
TextElement: () => TextElement,
|
|
44
49
|
TextareaElement: () => TextareaElement
|
|
45
50
|
});
|
|
@@ -49,7 +54,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
49
54
|
var import_react = __toESM(require("react"));
|
|
50
55
|
var import_antd = require("antd");
|
|
51
56
|
var TextElement = (props) => {
|
|
52
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("label", { htmlFor: props.name }, props.label), /* @__PURE__ */ import_react.default.createElement(
|
|
57
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, props.label && /* @__PURE__ */ import_react.default.createElement("label", { htmlFor: props.name }, props.label), /* @__PURE__ */ import_react.default.createElement(
|
|
53
58
|
import_antd.Input,
|
|
54
59
|
{
|
|
55
60
|
placeholder: props.placeholder,
|
|
@@ -62,7 +67,7 @@ var TextElement = (props) => {
|
|
|
62
67
|
type: props.type,
|
|
63
68
|
status: props.status,
|
|
64
69
|
style: props.styles,
|
|
65
|
-
className: props.
|
|
70
|
+
className: props.className,
|
|
66
71
|
variant: props.variant,
|
|
67
72
|
name: props.name,
|
|
68
73
|
onChange: (e) => props.onChange(e.target.value)
|
|
@@ -103,7 +108,7 @@ var NumberElement = (props) => {
|
|
|
103
108
|
const newValue = e.target.value.replace(/[^0-9]/g, "");
|
|
104
109
|
props.onChange(newValue);
|
|
105
110
|
};
|
|
106
|
-
return /* @__PURE__ */ import_react3.default.createElement(
|
|
111
|
+
return /* @__PURE__ */ import_react3.default.createElement(
|
|
107
112
|
import_antd3.Input,
|
|
108
113
|
{
|
|
109
114
|
placeholder: props.placeholder,
|
|
@@ -115,13 +120,12 @@ var NumberElement = (props) => {
|
|
|
115
120
|
prefix: props.prefix,
|
|
116
121
|
type: props.type,
|
|
117
122
|
status: props.status,
|
|
118
|
-
|
|
119
|
-
className: props.classNames,
|
|
123
|
+
className: props.className,
|
|
120
124
|
variant: props.variant,
|
|
121
125
|
name: props.name,
|
|
122
126
|
onChange: handleInputChange
|
|
123
127
|
}
|
|
124
|
-
)
|
|
128
|
+
);
|
|
125
129
|
};
|
|
126
130
|
|
|
127
131
|
// src/Components/TextareaElement.tsx
|
|
@@ -129,7 +133,7 @@ var import_react4 = __toESM(require("react"));
|
|
|
129
133
|
var import_antd4 = require("antd");
|
|
130
134
|
var { TextArea } = import_antd4.Input;
|
|
131
135
|
var TextareaElement = (props) => {
|
|
132
|
-
return /* @__PURE__ */ import_react4.default.createElement(import_antd4.Flex,
|
|
136
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_antd4.Flex, null, /* @__PURE__ */ import_react4.default.createElement(
|
|
133
137
|
TextArea,
|
|
134
138
|
{
|
|
135
139
|
placeholder: props.placeholder,
|
|
@@ -138,8 +142,7 @@ var TextareaElement = (props) => {
|
|
|
138
142
|
disabled: props.disabled,
|
|
139
143
|
id: props.name,
|
|
140
144
|
status: props.status,
|
|
141
|
-
|
|
142
|
-
className: props.classNames,
|
|
145
|
+
className: props.className,
|
|
143
146
|
variant: props.variant,
|
|
144
147
|
name: props.name,
|
|
145
148
|
showCount: true,
|
|
@@ -177,7 +180,7 @@ var SelectElement = (props) => {
|
|
|
177
180
|
id: props.name,
|
|
178
181
|
status: props.status,
|
|
179
182
|
style: props.styles,
|
|
180
|
-
className: props.
|
|
183
|
+
className: props.className,
|
|
181
184
|
variant: props.variant,
|
|
182
185
|
onChange: handleChange
|
|
183
186
|
}
|
|
@@ -187,15 +190,46 @@ var SelectElement = (props) => {
|
|
|
187
190
|
// src/Components/RadioElement.tsx
|
|
188
191
|
var import_react6 = __toESM(require("react"));
|
|
189
192
|
var import_antd6 = require("antd");
|
|
193
|
+
var radioDefaultStyle = "bg-[#F2F2F2] border border-[#919191] rounded-[8px] m-[10px] hover:bg-[#F2F2F2] text-center text-black shadow-[0px_0px_1px_1px_#919191]";
|
|
194
|
+
var radioSelectedDefaultStyle = "bg-[#E2D6F8] border border-[#B8A4DE] rounded-[8px] p-[6px] m-[10px] shadow-[0px_0px_1px_1px_#B8A4DE] text-center text-black shadow-[0px_0px_1px_1px_#919191]";
|
|
190
195
|
var RadioElement = (props) => {
|
|
196
|
+
const [isDisabled, setIsDisabled] = (0, import_react6.useState)(props.disabled);
|
|
197
|
+
const [selectedValue, setSelectedValue] = (0, import_react6.useState)(props.value);
|
|
198
|
+
const optionType = props.optionType === "button" ? "button" : void 0;
|
|
191
199
|
const handleChange = (e) => {
|
|
200
|
+
console.log(e);
|
|
201
|
+
const selectedVal = e.target.value;
|
|
202
|
+
const selectedLabel = props.options ? props.options.find((f) => f.value === selectedVal)?.label : "";
|
|
203
|
+
const selectedOptions = { label: selectedLabel, value: selectedVal };
|
|
204
|
+
setSelectedValue(selectedVal);
|
|
205
|
+
setIsDisabled(true);
|
|
192
206
|
if (props.onChange) {
|
|
193
|
-
const selectedVal = e.target.value;
|
|
194
|
-
const selectedOptions = [{ id: selectedVal, value: selectedVal }];
|
|
195
207
|
props.onChange(selectedOptions);
|
|
196
208
|
}
|
|
197
209
|
};
|
|
198
|
-
|
|
210
|
+
const getButtonStyle = (option) => {
|
|
211
|
+
return selectedValue === option.value ? `${radioSelectedDefaultStyle} ${props.activeClassName}` : `${radioDefaultStyle} ${props.className}`;
|
|
212
|
+
};
|
|
213
|
+
return /* @__PURE__ */ import_react6.default.createElement("div", { className: props.containerClassName }, props.label && /* @__PURE__ */ import_react6.default.createElement("p", { className: props.labelClassName }, props.label), /* @__PURE__ */ import_react6.default.createElement(
|
|
214
|
+
import_antd6.Radio.Group,
|
|
215
|
+
{
|
|
216
|
+
onChange: handleChange,
|
|
217
|
+
optionType,
|
|
218
|
+
className: props.radioGroupClassName,
|
|
219
|
+
value: selectedValue
|
|
220
|
+
},
|
|
221
|
+
props.options && props.options.map((option) => /* @__PURE__ */ import_react6.default.createElement(
|
|
222
|
+
import_antd6.Radio,
|
|
223
|
+
{
|
|
224
|
+
key: option.value,
|
|
225
|
+
value: option.value,
|
|
226
|
+
disabled: isDisabled && selectedValue !== option.value,
|
|
227
|
+
className: getButtonStyle(option),
|
|
228
|
+
style: { pointerEvents: isDisabled && selectedValue !== option.value ? "none" : "auto" }
|
|
229
|
+
},
|
|
230
|
+
option.label
|
|
231
|
+
))
|
|
232
|
+
));
|
|
199
233
|
};
|
|
200
234
|
|
|
201
235
|
// src/Components/Checkbox.tsx
|
|
@@ -229,7 +263,7 @@ var CheckboxElement = (props) => {
|
|
|
229
263
|
disabled: props.disabled,
|
|
230
264
|
id: props.name,
|
|
231
265
|
style: props.styles,
|
|
232
|
-
className: props.
|
|
266
|
+
className: props.className,
|
|
233
267
|
onChange: onHandleAllChanges,
|
|
234
268
|
checked: checkAll
|
|
235
269
|
},
|
|
@@ -239,7 +273,7 @@ var CheckboxElement = (props) => {
|
|
|
239
273
|
{
|
|
240
274
|
disabled: props.disabled,
|
|
241
275
|
style: props.styles,
|
|
242
|
-
className: props.
|
|
276
|
+
className: props.className,
|
|
243
277
|
options: plainOptions,
|
|
244
278
|
value: checkedList,
|
|
245
279
|
onChange: handleChange
|
|
@@ -266,8 +300,7 @@ var CkEditor = (props) => {
|
|
|
266
300
|
{
|
|
267
301
|
apiKey: "rwpgt7maa54n0pe5mglhkl686p7h57sg6z636n6gf2mio1b9",
|
|
268
302
|
onInit: (_evt, editor) => {
|
|
269
|
-
if (editor)
|
|
270
|
-
editorRef.current = editor;
|
|
303
|
+
if (editor) editorRef.current = editor;
|
|
271
304
|
},
|
|
272
305
|
initialValue: "<p>This is the initial content of the editor.</p>",
|
|
273
306
|
init: {
|
|
@@ -355,16 +388,419 @@ var MultipleSelectElement = (props) => {
|
|
|
355
388
|
|
|
356
389
|
// src/Components/Button.tsx
|
|
357
390
|
var import_react12 = __toESM(require("react"));
|
|
358
|
-
var
|
|
359
|
-
|
|
391
|
+
var ButtonElement = (props) => {
|
|
392
|
+
const handleClick = typeof props.action === "string" ? () => {
|
|
393
|
+
console.log("Performing action:", props.action);
|
|
394
|
+
} : props.action;
|
|
395
|
+
return /* @__PURE__ */ import_react12.default.createElement(
|
|
396
|
+
"button",
|
|
397
|
+
{
|
|
398
|
+
onClick: handleClick,
|
|
399
|
+
className: `${props.className ? props.className : ""}`
|
|
400
|
+
},
|
|
401
|
+
props.icon && /* @__PURE__ */ import_react12.default.createElement("img", { src: props.icon }),
|
|
402
|
+
props.label
|
|
403
|
+
);
|
|
404
|
+
};
|
|
360
405
|
|
|
361
406
|
// src/Components/AddMoreTable.tsx
|
|
362
407
|
var import_react13 = __toESM(require("react"));
|
|
408
|
+
var import_antd10 = require("antd");
|
|
409
|
+
var import_icons2 = require("@ant-design/icons");
|
|
363
410
|
var AddMoreTable = (props) => {
|
|
364
411
|
const { thead, tbody } = props;
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
412
|
+
const [rows, setRows] = (0, import_react13.useState)(tbody || []);
|
|
413
|
+
const onHandleRows = () => {
|
|
414
|
+
const newId = rows.length > 0 ? rows[rows.length - 1].id + 1 : 1;
|
|
415
|
+
let newRow = {
|
|
416
|
+
id: newId,
|
|
417
|
+
label: "Medicine",
|
|
418
|
+
name: "Medicine",
|
|
419
|
+
type: "text",
|
|
420
|
+
element: "single-select",
|
|
421
|
+
variable_data: [
|
|
422
|
+
{
|
|
423
|
+
id: 1,
|
|
424
|
+
Route: { label: "Route", element: "single-select", type: "text" },
|
|
425
|
+
Dose: { label: "Dose", element: "single-select", type: "text" },
|
|
426
|
+
Frequency: { label: "Frequency", element: "single-select", type: "text" },
|
|
427
|
+
When: { label: "When", element: "textarea", type: "text" },
|
|
428
|
+
Duration: { label: "Duration", element: "textarea", type: "text" },
|
|
429
|
+
Instructions: { label: "Instructions", element: "textarea", type: "text" },
|
|
430
|
+
SubRows: { delete: "delete", add: "plus" }
|
|
431
|
+
}
|
|
432
|
+
]
|
|
433
|
+
};
|
|
434
|
+
setRows((prevData) => [...prevData, newRow]);
|
|
435
|
+
};
|
|
436
|
+
const onHandleDelete = (id) => {
|
|
437
|
+
setRows((prevRows) => prevRows.filter((row) => row.id !== id));
|
|
438
|
+
};
|
|
439
|
+
const onHandleSubRowsAdd = (rowIndex) => {
|
|
440
|
+
setRows((prevRows) => {
|
|
441
|
+
return prevRows.map((row, index) => {
|
|
442
|
+
if (index === rowIndex) {
|
|
443
|
+
const newSubRow = {
|
|
444
|
+
id: row.variable_data.length + 1,
|
|
445
|
+
Route: { label: "Route", element: "single-select", type: "text" },
|
|
446
|
+
Dose: { label: "Dose", element: "single-select", type: "text" },
|
|
447
|
+
Frequency: { label: "Frequency", element: "single-select", type: "text" },
|
|
448
|
+
When: { label: "When", element: "textarea", type: "text" },
|
|
449
|
+
Duration: { label: "Duration", element: "textarea", type: "text" },
|
|
450
|
+
Instructions: { label: "Instructions", element: "textarea", type: "text" },
|
|
451
|
+
SubRows: { delete: "delete", add: "plus" }
|
|
452
|
+
};
|
|
453
|
+
const updatedVariableData = [...row.variable_data, newSubRow];
|
|
454
|
+
return {
|
|
455
|
+
...row,
|
|
456
|
+
variable_data: updatedVariableData
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
return row;
|
|
460
|
+
});
|
|
461
|
+
});
|
|
462
|
+
};
|
|
463
|
+
const onHandleSubRowsDelete = (rowIndex, subIndex) => {
|
|
464
|
+
setRows((prevRows) => {
|
|
465
|
+
return prevRows.map((row, index) => {
|
|
466
|
+
if (index === rowIndex) {
|
|
467
|
+
const updatedVariableData = row.variable_data.filter((_, i) => i !== subIndex);
|
|
468
|
+
return {
|
|
469
|
+
...row,
|
|
470
|
+
variable_data: updatedVariableData
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
return row;
|
|
474
|
+
});
|
|
475
|
+
});
|
|
476
|
+
};
|
|
477
|
+
(0, import_react13.useEffect)(() => {
|
|
478
|
+
console.log(rows);
|
|
479
|
+
}, [rows]);
|
|
480
|
+
const renderInputElement = (element, value) => {
|
|
481
|
+
if (!element) return null;
|
|
482
|
+
const { element: type, label } = element;
|
|
483
|
+
if (type === "single-select") {
|
|
484
|
+
return /* @__PURE__ */ import_react13.default.createElement(SingleSelectElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
|
|
485
|
+
} else if (type === "textarea") {
|
|
486
|
+
return /* @__PURE__ */ import_react13.default.createElement(TextareaElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
|
|
487
|
+
} else {
|
|
488
|
+
return null;
|
|
489
|
+
}
|
|
490
|
+
};
|
|
491
|
+
const dataSource = rows.map((eachRow, rowIndex) => {
|
|
492
|
+
const rowData = {
|
|
493
|
+
key: eachRow.id,
|
|
494
|
+
"#": rowIndex + 1,
|
|
495
|
+
"Medicine": renderInputElement({
|
|
496
|
+
element: eachRow.element,
|
|
497
|
+
label: eachRow.label
|
|
498
|
+
})
|
|
499
|
+
};
|
|
500
|
+
eachRow.variable_data.forEach((variable, subIndex) => {
|
|
501
|
+
Object.keys(variable).forEach((key) => {
|
|
502
|
+
if (key === "SubRows") {
|
|
503
|
+
rowData[`${key}`] = /* @__PURE__ */ import_react13.default.createElement("div", { key: subIndex }, eachRow.variable_data.length > 1 && /* @__PURE__ */ import_react13.default.createElement(import_antd10.Button, { onClick: () => onHandleSubRowsDelete(rowIndex, subIndex) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.DeleteOutlined, null)), subIndex === eachRow.variable_data.length - 1 && /* @__PURE__ */ import_react13.default.createElement(import_antd10.Button, { onClick: () => onHandleSubRowsAdd(rowIndex) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.PlusOutlined, null)));
|
|
504
|
+
} else {
|
|
505
|
+
rowData[`${key}`] = renderInputElement(variable[key]);
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
});
|
|
509
|
+
rowData.actions = /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement(import_antd10.Button, { onClick: () => onHandleDelete(eachRow.id) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.DeleteOutlined, null)), rowIndex === rows.length - 1 && /* @__PURE__ */ import_react13.default.createElement(import_antd10.Button, { onClick: onHandleRows }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.PlusOutlined, null)));
|
|
510
|
+
console.log("=====rowdata", rowData);
|
|
511
|
+
return rowData;
|
|
512
|
+
});
|
|
513
|
+
const columns = thead && thead.length > 0 ? thead.map((eachHeadEl) => ({
|
|
514
|
+
title: eachHeadEl.label,
|
|
515
|
+
dataIndex: eachHeadEl.name,
|
|
516
|
+
key: eachHeadEl.id
|
|
517
|
+
})) : [];
|
|
518
|
+
if (!columns.some((col) => col.dataIndex === "actions")) {
|
|
519
|
+
columns.push({
|
|
520
|
+
title: "Actions",
|
|
521
|
+
dataIndex: "actions",
|
|
522
|
+
key: "actions"
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
526
|
+
import_antd10.Table,
|
|
527
|
+
{
|
|
528
|
+
columns,
|
|
529
|
+
dataSource,
|
|
530
|
+
pagination: false,
|
|
531
|
+
bordered: true
|
|
532
|
+
}
|
|
533
|
+
);
|
|
534
|
+
};
|
|
535
|
+
|
|
536
|
+
// src/Components/Sidebar.tsx
|
|
537
|
+
var import_react14 = __toESM(require("react"));
|
|
538
|
+
var Sidebar = (props) => {
|
|
539
|
+
const handleChange = (item) => {
|
|
540
|
+
if (props.onChange) {
|
|
541
|
+
props.onChange(item);
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", { className: props.className, key: props.name }, /* @__PURE__ */ import_react14.default.createElement("div", null, /* @__PURE__ */ import_react14.default.createElement("img", { src: props.img, alt: "logo" })), /* @__PURE__ */ import_react14.default.createElement("ul", { className: props.listClassName }, props.items?.map((item) => {
|
|
545
|
+
return /* @__PURE__ */ import_react14.default.createElement("li", { onClick: () => {
|
|
546
|
+
handleChange(item);
|
|
547
|
+
}, key: item.label, className: `${props.listItemClassName} ${item.active && props.activeClassName}` }, /* @__PURE__ */ import_react14.default.createElement("img", { src: item.icon, className: props.className }), /* @__PURE__ */ import_react14.default.createElement("p", null, item.label));
|
|
548
|
+
})));
|
|
549
|
+
};
|
|
550
|
+
|
|
551
|
+
// src/Components/Navbar.tsx
|
|
552
|
+
var import_react18 = __toESM(require("react"));
|
|
553
|
+
|
|
554
|
+
// src/Components/Notification.tsx
|
|
555
|
+
var import_react15 = __toESM(require("react"));
|
|
556
|
+
var import_antd11 = require("antd");
|
|
557
|
+
var import_io = require("react-icons/io");
|
|
558
|
+
var popoverContentStyle = {
|
|
559
|
+
minWidth: "300px",
|
|
560
|
+
maxWidth: "100%"
|
|
561
|
+
};
|
|
562
|
+
var Notification = (props) => /* @__PURE__ */ import_react15.default.createElement(
|
|
563
|
+
import_antd11.Popover,
|
|
564
|
+
{
|
|
565
|
+
className: props.className,
|
|
566
|
+
content: /* @__PURE__ */ import_react15.default.createElement("div", { style: popoverContentStyle }, " ", /* @__PURE__ */ import_react15.default.createElement(
|
|
567
|
+
import_antd11.List,
|
|
568
|
+
{
|
|
569
|
+
itemLayout: "horizontal",
|
|
570
|
+
dataSource: props.items,
|
|
571
|
+
renderItem: (item, index) => /* @__PURE__ */ import_react15.default.createElement(import_antd11.List.Item, { key: item.text }, /* @__PURE__ */ import_react15.default.createElement(
|
|
572
|
+
import_antd11.List.Item.Meta,
|
|
573
|
+
{
|
|
574
|
+
avatar: /* @__PURE__ */ import_react15.default.createElement(import_antd11.Avatar, { src: `https://api.dicebear.com/7.x/miniavs/svg?seed=${index}` }),
|
|
575
|
+
title: item.text,
|
|
576
|
+
description: item.time
|
|
577
|
+
}
|
|
578
|
+
))
|
|
579
|
+
}
|
|
580
|
+
)),
|
|
581
|
+
trigger: "focus",
|
|
582
|
+
placement: "bottomRight"
|
|
583
|
+
},
|
|
584
|
+
/* @__PURE__ */ import_react15.default.createElement(import_antd11.Button, { className: props.buttonClassName }, /* @__PURE__ */ import_react15.default.createElement(import_antd11.Badge, { size: "small", count: props.count }, /* @__PURE__ */ import_react15.default.createElement("span", { className: props.iconsClassName }, /* @__PURE__ */ import_react15.default.createElement(import_io.IoIosNotifications, null))))
|
|
585
|
+
);
|
|
586
|
+
|
|
587
|
+
// src/Components/SpanElement.tsx
|
|
588
|
+
var import_react16 = __toESM(require("react"));
|
|
589
|
+
var SpanElement = (props) => /* @__PURE__ */ import_react16.default.createElement("span", { className: props.className }, props.label);
|
|
590
|
+
|
|
591
|
+
// src/Components/Profile.tsx
|
|
592
|
+
var import_react17 = __toESM(require("react"));
|
|
593
|
+
var import_antd12 = require("antd");
|
|
594
|
+
var import_icons3 = require("@ant-design/icons");
|
|
595
|
+
var Profile = (props) => /* @__PURE__ */ import_react17.default.createElement("div", { className: props.className }, /* @__PURE__ */ import_react17.default.createElement(import_antd12.Avatar, { style: { backgroundColor: "#87d068", marginRight: "10px" }, icon: /* @__PURE__ */ import_react17.default.createElement(import_icons3.UserOutlined, null) }), /* @__PURE__ */ import_react17.default.createElement("div", { className: props.profileSubClassName }, /* @__PURE__ */ import_react17.default.createElement("p", null, props.primaryText), /* @__PURE__ */ import_react17.default.createElement("p", { className: props.secondTextClassName }, " ", props.secondaryText)));
|
|
596
|
+
|
|
597
|
+
// src/Components/Navbar.tsx
|
|
598
|
+
var Navbar = (props) => {
|
|
599
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", { className: `${props.className}`, key: props.name }, props.items && props.items.map((item) => {
|
|
600
|
+
if (item.element === "span") {
|
|
601
|
+
return /* @__PURE__ */ import_react18.default.createElement(SpanElement, { ...item });
|
|
602
|
+
} else if (item.element === "notifications") {
|
|
603
|
+
return /* @__PURE__ */ import_react18.default.createElement(Notification, { ...item });
|
|
604
|
+
} else if (item.name === "profile") {
|
|
605
|
+
return /* @__PURE__ */ import_react18.default.createElement(Profile, { ...item });
|
|
606
|
+
}
|
|
607
|
+
return null;
|
|
608
|
+
}));
|
|
609
|
+
};
|
|
610
|
+
|
|
611
|
+
// src/Components/TableElement.tsx
|
|
612
|
+
var import_react21 = __toESM(require("react"));
|
|
613
|
+
var import_antd14 = require("antd");
|
|
614
|
+
|
|
615
|
+
// src/Components/Model.tsx
|
|
616
|
+
var import_react20 = __toESM(require("react"));
|
|
617
|
+
var import_antd13 = require("antd");
|
|
618
|
+
|
|
619
|
+
// src/Components/ModelBody.tsx
|
|
620
|
+
var import_react19 = __toESM(require("react"));
|
|
621
|
+
var ModelBody = (props) => {
|
|
622
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: props.modalContent && props.modalContent.className }, props.modalContent && props.modalContent.fields.map((eachField) => {
|
|
623
|
+
if (eachField.element === "div") {
|
|
624
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: eachField.className }, eachField.label);
|
|
625
|
+
} else if (eachField.element === "input-radio") {
|
|
626
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: eachField.className }, /* @__PURE__ */ import_react19.default.createElement(RadioElement, { ...eachField }));
|
|
627
|
+
} else if (eachField.element === "button") {
|
|
628
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: eachField.className }, /* @__PURE__ */ import_react19.default.createElement(ButtonElement, { ...eachField }));
|
|
629
|
+
} else {
|
|
630
|
+
return null;
|
|
631
|
+
}
|
|
632
|
+
}));
|
|
633
|
+
};
|
|
634
|
+
|
|
635
|
+
// src/Components/Model.tsx
|
|
636
|
+
var ModelElement = (props) => {
|
|
637
|
+
const { model, onCancel, selectedRecord, columns } = props;
|
|
638
|
+
return /* @__PURE__ */ import_react20.default.createElement(
|
|
639
|
+
import_antd13.Modal,
|
|
640
|
+
{
|
|
641
|
+
centered: true,
|
|
642
|
+
open: model,
|
|
643
|
+
onCancel,
|
|
644
|
+
footer: null,
|
|
645
|
+
width: 850,
|
|
646
|
+
title: /* @__PURE__ */ import_react20.default.createElement(
|
|
647
|
+
"div",
|
|
648
|
+
{
|
|
649
|
+
style: {
|
|
650
|
+
display: "flex",
|
|
651
|
+
flexWrap: "wrap",
|
|
652
|
+
padding: "20px",
|
|
653
|
+
width: "full",
|
|
654
|
+
margin: "-10px"
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
Object.entries(selectedRecord).map(([key, value]) => {
|
|
658
|
+
const record = columns.filter((eachColumn) => eachColumn.key === key);
|
|
659
|
+
return record.length > 0 ? /* @__PURE__ */ import_react20.default.createElement("p", { style: { fontWeight: "500", padding: "10px" }, key }, /* @__PURE__ */ import_react20.default.createElement("span", { style: { fontWeight: "200", color: "gray", paddingRight: "10px" } }, record[0].title), String(value)) : "";
|
|
660
|
+
})
|
|
661
|
+
)
|
|
662
|
+
},
|
|
663
|
+
/* @__PURE__ */ import_react20.default.createElement(ModelBody, { ...props })
|
|
664
|
+
);
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
// src/Components/TableElement.tsx
|
|
668
|
+
var TableElement = (props) => {
|
|
669
|
+
const { thead, tbody } = props;
|
|
670
|
+
const [selectedRecord, setSelectedRecord] = (0, import_react21.useState)({});
|
|
671
|
+
const [model, setModel] = (0, import_react21.useState)(false);
|
|
672
|
+
const handleChange = (record) => {
|
|
673
|
+
if (props.onChange) {
|
|
674
|
+
props.onChange(record);
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
let columns = [];
|
|
678
|
+
if (thead) {
|
|
679
|
+
columns = [
|
|
680
|
+
{
|
|
681
|
+
title: "#",
|
|
682
|
+
dataIndex: "#",
|
|
683
|
+
key: "#"
|
|
684
|
+
},
|
|
685
|
+
...thead.map((col, ind) => ({
|
|
686
|
+
title: col.label,
|
|
687
|
+
dataIndex: col.name,
|
|
688
|
+
key: col.key,
|
|
689
|
+
sorter: {
|
|
690
|
+
compare: (a, b) => {
|
|
691
|
+
if (typeof a[col.key] === "number" && typeof a[col.key] === "number") {
|
|
692
|
+
return a[col.key] - b[col.key];
|
|
693
|
+
} else if (typeof a[col.key] === "string" && typeof a[col.key] === "string") {
|
|
694
|
+
return a[col.key].localeCompare(b[col.key]);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}))
|
|
699
|
+
];
|
|
700
|
+
}
|
|
701
|
+
const dataSource = tbody && tbody.map((row, index) => ({
|
|
702
|
+
...row,
|
|
703
|
+
[columns[0].key]: index + 1
|
|
704
|
+
}));
|
|
705
|
+
const count = dataSource ? dataSource.length : 0;
|
|
706
|
+
return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
|
|
707
|
+
import_antd14.Table,
|
|
708
|
+
{
|
|
709
|
+
pagination: {
|
|
710
|
+
showTotal: (total) => `Total: ${total} items`,
|
|
711
|
+
total: count,
|
|
712
|
+
showSizeChanger: count > 10
|
|
713
|
+
},
|
|
714
|
+
dataSource,
|
|
715
|
+
columns,
|
|
716
|
+
bordered: true,
|
|
717
|
+
size: props.size && props.size,
|
|
718
|
+
onRow: (record) => {
|
|
719
|
+
return {
|
|
720
|
+
onClick: () => {
|
|
721
|
+
setSelectedRecord(record);
|
|
722
|
+
handleChange(record);
|
|
723
|
+
setModel(true);
|
|
724
|
+
},
|
|
725
|
+
style: { cursor: "pointer" }
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
), model && /* @__PURE__ */ import_react21.default.createElement(ModelElement, { selectedRecord, ...props, columns, model, onCancel: () => setModel(false) }));
|
|
730
|
+
};
|
|
731
|
+
|
|
732
|
+
// src/Components/DatePicker.tsx
|
|
733
|
+
var import_react22 = __toESM(require("react"));
|
|
734
|
+
var import_antd15 = require("antd");
|
|
735
|
+
var import_icons4 = require("@ant-design/icons");
|
|
736
|
+
var import_moment = __toESM(require("moment"));
|
|
737
|
+
var DatePickerElement = (props) => {
|
|
738
|
+
const [date, setDate] = (0, import_react22.useState)(null);
|
|
739
|
+
const handleChange = (date2, dateString) => {
|
|
740
|
+
console.log("date---------", date2);
|
|
741
|
+
console.log("datestring", dateString);
|
|
742
|
+
if (date2) {
|
|
743
|
+
const formattedDate = dateString;
|
|
744
|
+
console.log("formattedDate-----------------", formattedDate);
|
|
745
|
+
setDate(date2);
|
|
746
|
+
console.log("changedDate------------", date2);
|
|
747
|
+
if (props.onChange) {
|
|
748
|
+
props.onChange(formattedDate);
|
|
749
|
+
}
|
|
750
|
+
} else {
|
|
751
|
+
setDate(null);
|
|
752
|
+
if (props.onChange) {
|
|
753
|
+
props.onChange("");
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
};
|
|
757
|
+
const onHandleDecrement = () => {
|
|
758
|
+
const currentDate = date || (0, import_moment.default)();
|
|
759
|
+
const newDate = (0, import_moment.default)(currentDate).subtract(1, "days");
|
|
760
|
+
setDate(newDate);
|
|
761
|
+
if (props.onChange) {
|
|
762
|
+
props.onChange(newDate.format("lll"));
|
|
763
|
+
}
|
|
764
|
+
};
|
|
765
|
+
const onHandleIncrement = () => {
|
|
766
|
+
const currentDate = date || (0, import_moment.default)();
|
|
767
|
+
const newDate = (0, import_moment.default)(currentDate).add(1, "days");
|
|
768
|
+
setDate(newDate);
|
|
769
|
+
if (props.onChange) {
|
|
770
|
+
props.onChange(newDate.format("lll"));
|
|
771
|
+
}
|
|
772
|
+
};
|
|
773
|
+
return /* @__PURE__ */ import_react22.default.createElement("div", null, /* @__PURE__ */ import_react22.default.createElement("button", { onClick: onHandleDecrement }, /* @__PURE__ */ import_react22.default.createElement(import_icons4.LeftOutlined, null)), /* @__PURE__ */ import_react22.default.createElement(
|
|
774
|
+
import_antd15.DatePicker,
|
|
775
|
+
{
|
|
776
|
+
placeholder: props.placeholder,
|
|
777
|
+
value: date,
|
|
778
|
+
variant: "borderless",
|
|
779
|
+
onChange: handleChange
|
|
780
|
+
}
|
|
781
|
+
), /* @__PURE__ */ import_react22.default.createElement("button", { onClick: onHandleIncrement }, /* @__PURE__ */ import_react22.default.createElement(import_icons4.RightOutlined, null)));
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
// src/Components/DateRangePickerElement.tsx
|
|
785
|
+
var import_react23 = __toESM(require("react"));
|
|
786
|
+
var import_antd16 = require("antd");
|
|
787
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
788
|
+
var DateRangePickerElement = (props) => {
|
|
789
|
+
const { RangePicker } = import_antd16.DatePicker;
|
|
790
|
+
const handleChange = (dates, dateStrings) => {
|
|
791
|
+
if (dates && props.onChange) {
|
|
792
|
+
props.onChange(dateStrings);
|
|
793
|
+
} else {
|
|
794
|
+
console.log("Clear");
|
|
795
|
+
}
|
|
796
|
+
};
|
|
797
|
+
const rangePresets = [
|
|
798
|
+
{ label: "Last 7 Days", value: [(0, import_dayjs.default)().add(-7, "d"), (0, import_dayjs.default)()] },
|
|
799
|
+
{ label: "Last 14 Days", value: [(0, import_dayjs.default)().add(-14, "d"), (0, import_dayjs.default)()] },
|
|
800
|
+
{ label: "Last 30 Days", value: [(0, import_dayjs.default)().add(-30, "d"), (0, import_dayjs.default)()] },
|
|
801
|
+
{ label: "Last 90 Days", value: [(0, import_dayjs.default)().add(-90, "d"), (0, import_dayjs.default)()] }
|
|
802
|
+
];
|
|
803
|
+
return /* @__PURE__ */ import_react23.default.createElement(import_antd16.Space, { direction: "vertical", size: 12 }, /* @__PURE__ */ import_react23.default.createElement(RangePicker, { presets: rangePresets, onChange: handleChange }));
|
|
368
804
|
};
|
|
369
805
|
// Annotate the CommonJS export names for ESM import in node:
|
|
370
806
|
0 && (module.exports = {
|
|
@@ -372,12 +808,17 @@ var AddMoreTable = (props) => {
|
|
|
372
808
|
ButtonElement,
|
|
373
809
|
CheckboxElement,
|
|
374
810
|
CkEditor,
|
|
811
|
+
DatePickerElement,
|
|
812
|
+
DateRangePickerElement,
|
|
375
813
|
MultipleSelectElement,
|
|
814
|
+
Navbar,
|
|
376
815
|
NumberElement,
|
|
377
816
|
PasswordElement,
|
|
378
817
|
RadioElement,
|
|
379
818
|
SelectElement,
|
|
819
|
+
Sidebar,
|
|
380
820
|
SingleSelectElement,
|
|
821
|
+
TableElement,
|
|
381
822
|
TextElement,
|
|
382
823
|
TextareaElement
|
|
383
824
|
});
|