albinasoft-ui-package 1.0.4 → 1.0.6

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.
Files changed (57) hide show
  1. package/dist/CustomCheckbox/CustomCheckbox.d.ts +19 -0
  2. package/dist/CustomCheckbox/CustomCheckbox.js +32 -0
  3. package/dist/CustomDateTimePicker/CustomDateTimePicker.d.ts +31 -0
  4. package/dist/CustomDateTimePicker/CustomDateTimePicker.js +45 -0
  5. package/dist/CustomDivider/CustomDivider.d.ts +51 -0
  6. package/dist/CustomDivider/CustomDivider.js +87 -0
  7. package/dist/CustomForm/CustomForm.d.ts +159 -0
  8. package/dist/CustomForm/CustomForm.js +163 -0
  9. package/dist/CustomInput/CustomInput.d.ts +34 -0
  10. package/dist/CustomInput/CustomInput.js +74 -0
  11. package/dist/CustomModal/CustomModal.d.ts +13 -0
  12. package/dist/CustomModal/CustomModal.js +16 -0
  13. package/dist/CustomRadioButton/CustomRadioButton.d.ts +25 -0
  14. package/dist/CustomRadioButton/CustomRadioButton.js +34 -0
  15. package/dist/CustomRichTextbox/CustomRichTextbox.d.ts +21 -0
  16. package/dist/CustomRichTextbox/CustomRichTextbox.js +41 -0
  17. package/dist/CustomSelect/CustomSelect.d.ts +26 -0
  18. package/dist/CustomSelect/CustomSelect.js +41 -0
  19. package/dist/CustomTab/CustomTab.d.ts +20 -0
  20. package/dist/CustomTab/CustomTab.js +65 -0
  21. package/dist/CustomText/CustomText.d.ts +71 -0
  22. package/dist/CustomText/CustomText.js +156 -0
  23. package/dist/CustomTextarea/CustomTextarea.d.ts +22 -0
  24. package/dist/CustomTextarea/CustomTextarea.js +33 -0
  25. package/dist/CustomTreeView/CustomTreeView.d.ts +15 -0
  26. package/dist/CustomTreeView/CustomTreeView.js +60 -0
  27. package/dist/components/CustomButton.d.ts +13 -0
  28. package/dist/components/CustomButton.js +92 -0
  29. package/dist/components/CustomCheckbox.d.ts +19 -0
  30. package/dist/components/CustomCheckbox.js +32 -0
  31. package/dist/components/CustomDateTimePicker.d.ts +31 -0
  32. package/dist/components/CustomDateTimePicker.js +45 -0
  33. package/dist/components/CustomDivider.d.ts +51 -0
  34. package/dist/components/CustomDivider.js +87 -0
  35. package/dist/components/CustomForm.d.ts +159 -0
  36. package/dist/components/CustomForm.js +163 -0
  37. package/dist/components/CustomInput.d.ts +34 -0
  38. package/dist/components/CustomInput.js +74 -0
  39. package/dist/components/CustomModal.d.ts +13 -0
  40. package/dist/components/CustomModal.js +16 -0
  41. package/dist/components/CustomRadioButton.d.ts +25 -0
  42. package/dist/components/CustomRadioButton.js +34 -0
  43. package/dist/components/CustomRichTextbox.d.ts +21 -0
  44. package/dist/components/CustomRichTextbox.js +41 -0
  45. package/dist/components/CustomSelect.d.ts +26 -0
  46. package/dist/components/CustomSelect.js +41 -0
  47. package/dist/components/CustomTab.d.ts +20 -0
  48. package/dist/components/CustomTab.js +65 -0
  49. package/dist/components/CustomText.d.ts +71 -0
  50. package/dist/components/CustomText.js +156 -0
  51. package/dist/components/CustomTextarea.d.ts +22 -0
  52. package/dist/components/CustomTextarea.js +33 -0
  53. package/dist/components/CustomTreeView.d.ts +15 -0
  54. package/dist/components/CustomTreeView.js +60 -0
  55. package/dist/index.d.ts +15 -3
  56. package/dist/index.js +29 -5
  57. package/package.json +7 -2
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ interface CustomCheckboxProps {
3
+ id?: string;
4
+ name?: string;
5
+ label: string;
6
+ value: boolean;
7
+ required?: boolean;
8
+ errorMessage?: string;
9
+ conditionalErrorVisible?: boolean;
10
+ conditionalErrorMessage?: string;
11
+ tooltip?: string;
12
+ description?: string | null;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ style?: React.CSSProperties;
16
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ }
18
+ declare const CustomCheckbox: React.FC<CustomCheckboxProps>;
19
+ export default CustomCheckbox;
@@ -0,0 +1,32 @@
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 = __importDefault(require("react"));
7
+ var react_bootstrap_1 = require("react-bootstrap");
8
+ var fa_1 = require("react-icons/fa");
9
+ var CustomCheckbox = function (_a) {
10
+ var id = _a.id, name = _a.name, label = _a.label, value = _a.value, _b = _a.required, required = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, conditionalErrorVisible = _a.conditionalErrorVisible, conditionalErrorMessage = _a.conditionalErrorMessage, tooltip = _a.tooltip, description = _a.description, _c = _a.disabled, disabled = _c === void 0 ? false : _c, className = _a.className, style = _a.style, onChange = _a.onChange;
11
+ return (react_1.default.createElement("div", { className: className },
12
+ react_1.default.createElement("div", { className: "form-check form-group", style: style },
13
+ tooltip ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "bottom", overlay: tooltip ? react_1.default.createElement(react_bootstrap_1.Tooltip, { id: "tooltip-".concat(id || name) }, tooltip) : react_1.default.createElement(react_1.default.Fragment, null) },
14
+ react_1.default.createElement("input", { id: id, name: name, type: "checkbox", className: "form-check-input", checked: value, disabled: disabled, onChange: onChange, required: required }))) : (react_1.default.createElement("input", { id: id, name: name, type: "checkbox", className: "form-check-input", checked: value, disabled: disabled, onChange: onChange, required: required })),
15
+ react_1.default.createElement("label", { htmlFor: id, className: "form-check-label" }, label),
16
+ required && (react_1.default.createElement("div", { className: "invalid-feedback text-danger" },
17
+ react_1.default.createElement("div", { className: "description-icon" },
18
+ react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
19
+ react_1.default.createElement("div", { className: "description-text" },
20
+ react_1.default.createElement("span", null, errorMessage || 'Bu seçim zorunludur.')))),
21
+ conditionalErrorVisible && (react_1.default.createElement("div", { className: "conditional-error-message text-warning" },
22
+ react_1.default.createElement("div", { className: "description-icon" },
23
+ react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
24
+ react_1.default.createElement("div", { className: "description-text" },
25
+ react_1.default.createElement("span", null, conditionalErrorMessage)))),
26
+ description && (react_1.default.createElement("div", { className: "form-description text-secondary" },
27
+ react_1.default.createElement("div", { className: "description-icon" },
28
+ react_1.default.createElement(fa_1.FaInfoCircle, null)),
29
+ react_1.default.createElement("div", { className: "description-text" },
30
+ react_1.default.createElement("span", null, description)))))));
31
+ };
32
+ exports.default = CustomCheckbox;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import 'react-datepicker/dist/react-datepicker.css';
3
+ declare enum TimeFormat {
4
+ H = "HH",
5
+ M = "mm",
6
+ HM = "HH:mm"
7
+ }
8
+ interface CustomDateTimePickerProps {
9
+ id?: string;
10
+ name?: string;
11
+ label: string;
12
+ value: Date | null;
13
+ placeholder?: string;
14
+ required?: boolean;
15
+ errorMessage?: string;
16
+ conditionalErrorVisible?: boolean;
17
+ conditionalErrorMessage?: string;
18
+ tooltip?: string;
19
+ description?: string | null;
20
+ disabled?: boolean;
21
+ className?: string;
22
+ style?: React.CSSProperties;
23
+ showTimeSelect?: boolean;
24
+ showTimeSelectOnly?: boolean;
25
+ timeFormat?: TimeFormat;
26
+ timeIntervals?: number;
27
+ onChange: (date: Date | null) => void;
28
+ }
29
+ declare const CustomDateTimePicker: React.FC<CustomDateTimePickerProps>;
30
+ export { CustomDateTimePicker, TimeFormat };
31
+ export default CustomDateTimePicker;
@@ -0,0 +1,45 @@
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
+ exports.TimeFormat = exports.CustomDateTimePicker = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var react_datepicker_1 = __importDefault(require("react-datepicker"));
9
+ require("react-datepicker/dist/react-datepicker.css");
10
+ var react_bootstrap_1 = require("react-bootstrap");
11
+ var fa_1 = require("react-icons/fa");
12
+ var TimeFormat;
13
+ (function (TimeFormat) {
14
+ TimeFormat["H"] = "HH";
15
+ TimeFormat["M"] = "mm";
16
+ TimeFormat["HM"] = "HH:mm";
17
+ })(TimeFormat || (TimeFormat = {}));
18
+ exports.TimeFormat = TimeFormat;
19
+ var CustomDateTimePicker = function (_a) {
20
+ var id = _a.id, name = _a.name, label = _a.label, value = _a.value, placeholder = _a.placeholder, _b = _a.required, required = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, _c = _a.conditionalErrorVisible, conditionalErrorVisible = _c === void 0 ? false : _c, conditionalErrorMessage = _a.conditionalErrorMessage, tooltip = _a.tooltip, description = _a.description, _d = _a.disabled, disabled = _d === void 0 ? false : _d, className = _a.className, style = _a.style, showTimeSelect = _a.showTimeSelect, showTimeSelectOnly = _a.showTimeSelectOnly, _e = _a.timeFormat, timeFormat = _e === void 0 ? TimeFormat.HM : _e, timeIntervals = _a.timeIntervals, onChange = _a.onChange;
21
+ return (react_1.default.createElement("div", { className: className },
22
+ react_1.default.createElement("div", { className: "form-group" },
23
+ react_1.default.createElement("label", { htmlFor: id, className: "form-label" }, label),
24
+ react_1.default.createElement("div", { className: "position-relative" },
25
+ react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "bottom", overlay: tooltip ? react_1.default.createElement(react_bootstrap_1.Tooltip, { id: "tooltip-".concat(id) }, tooltip) : react_1.default.createElement(react_1.default.Fragment, null) },
26
+ react_1.default.createElement("div", null,
27
+ react_1.default.createElement(react_datepicker_1.default, { id: id, name: name, selected: value, onChange: onChange, className: "form-control ".concat(className || ''), placeholderText: placeholder, disabled: disabled, required: required, showTimeSelect: showTimeSelect || false, showTimeSelectOnly: showTimeSelectOnly || false, showTimeCaption: false, timeFormat: timeFormat, dateFormat: showTimeSelectOnly ? timeFormat : showTimeSelect ? "dd.MM.yyyy HH:mm" : "dd.MM.yyyy", timeIntervals: timeFormat == TimeFormat.H ? 60 : timeFormat == TimeFormat.M ? 1 : timeIntervals ? timeIntervals : 30 }))),
28
+ required && !value && (react_1.default.createElement("div", { className: "invalid-feedback text-danger mt-2" },
29
+ react_1.default.createElement("div", { className: "description-icon" },
30
+ react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
31
+ react_1.default.createElement("div", { className: "description-text" },
32
+ react_1.default.createElement("span", null, errorMessage || 'This field is required.')))),
33
+ conditionalErrorVisible && (react_1.default.createElement("div", { className: "conditional-error-message text-warning mt-2" },
34
+ react_1.default.createElement("div", { className: "description-icon" },
35
+ react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
36
+ react_1.default.createElement("div", { className: "description-text" },
37
+ react_1.default.createElement("span", null, conditionalErrorMessage)))),
38
+ description && (react_1.default.createElement("div", { className: "form-description text-secondary mt-2" },
39
+ react_1.default.createElement("div", { className: "description-icon" },
40
+ react_1.default.createElement(fa_1.FaInfoCircle, null)),
41
+ react_1.default.createElement("div", { className: "description-text" },
42
+ react_1.default.createElement("span", null, description))))))));
43
+ };
44
+ exports.CustomDateTimePicker = CustomDateTimePicker;
45
+ exports.default = CustomDateTimePicker;
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ declare enum Color {
3
+ DEFAULT = "currentColor",
4
+ PRIMARY = "text-primary",
5
+ SECONDARY = "text-secondary",
6
+ SUCCESS = "text-success",
7
+ WARNING = "text-warning",
8
+ DANGER = "text-danger",
9
+ INFO = "text-info",
10
+ DARK = "text-dark",
11
+ LIGHT = "text-light"
12
+ }
13
+ declare enum Alignment {
14
+ LEFT = "left",
15
+ CENTER = "center",
16
+ RIGHT = "right"
17
+ }
18
+ declare enum Thickness {
19
+ T1 = "1px",
20
+ T2 = "2px",
21
+ T3 = "3px",
22
+ T4 = "4px",
23
+ T5 = "5px",
24
+ T6 = "6px",
25
+ T8 = "8px",
26
+ T10 = "10px",
27
+ T12 = "12px",
28
+ T16 = "16px",
29
+ T24 = "24px"
30
+ }
31
+ declare enum Width {
32
+ W10 = "10%",
33
+ W25 = "25%",
34
+ W33 = "33%",
35
+ W50 = "50%",
36
+ W66 = "66%",
37
+ W75 = "75%",
38
+ W100 = "100%"
39
+ }
40
+ interface CustomDividerProps {
41
+ id?: string;
42
+ color?: Color;
43
+ thickness?: Thickness;
44
+ width?: Width;
45
+ alignment?: Alignment;
46
+ className?: string;
47
+ style?: React.CSSProperties;
48
+ }
49
+ declare const CustomDivider: React.FC<CustomDividerProps>;
50
+ export { CustomDivider, Color, Alignment, Thickness, Width };
51
+ export default CustomDivider;
@@ -0,0 +1,87 @@
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
+ exports.Width = exports.Thickness = exports.Alignment = exports.Color = exports.CustomDivider = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ var Color;
20
+ (function (Color) {
21
+ Color["DEFAULT"] = "currentColor";
22
+ Color["PRIMARY"] = "text-primary";
23
+ Color["SECONDARY"] = "text-secondary";
24
+ Color["SUCCESS"] = "text-success";
25
+ Color["WARNING"] = "text-warning";
26
+ Color["DANGER"] = "text-danger";
27
+ Color["INFO"] = "text-info";
28
+ Color["DARK"] = "text-dark";
29
+ Color["LIGHT"] = "text-light";
30
+ })(Color || (Color = {}));
31
+ exports.Color = Color;
32
+ var Alignment;
33
+ (function (Alignment) {
34
+ Alignment["LEFT"] = "left";
35
+ Alignment["CENTER"] = "center";
36
+ Alignment["RIGHT"] = "right";
37
+ })(Alignment || (Alignment = {}));
38
+ exports.Alignment = Alignment;
39
+ var Thickness;
40
+ (function (Thickness) {
41
+ Thickness["T1"] = "1px";
42
+ Thickness["T2"] = "2px";
43
+ Thickness["T3"] = "3px";
44
+ Thickness["T4"] = "4px";
45
+ Thickness["T5"] = "5px";
46
+ Thickness["T6"] = "6px";
47
+ Thickness["T8"] = "8px";
48
+ Thickness["T10"] = "10px";
49
+ Thickness["T12"] = "12px";
50
+ Thickness["T16"] = "16px";
51
+ Thickness["T24"] = "24px";
52
+ })(Thickness || (Thickness = {}));
53
+ exports.Thickness = Thickness;
54
+ var Width;
55
+ (function (Width) {
56
+ Width["W10"] = "10%";
57
+ Width["W25"] = "25%";
58
+ Width["W33"] = "33%";
59
+ Width["W50"] = "50%";
60
+ Width["W66"] = "66%";
61
+ Width["W75"] = "75%";
62
+ Width["W100"] = "100%";
63
+ })(Width || (Width = {}));
64
+ exports.Width = Width;
65
+ var CustomDivider = function (_a) {
66
+ var id = _a.id, _b = _a.color, color = _b === void 0 ? Color.DEFAULT : _b, // Varsayılan renk (gri ton)
67
+ _c = _a.thickness, // Varsayılan renk (gri ton)
68
+ thickness = _c === void 0 ? Thickness.T1 : _c, // Varsayılan kalınlık
69
+ _d = _a.width, // Varsayılan kalınlık
70
+ width = _d === void 0 ? Width.W100 : _d, // Varsayılan genişlik
71
+ _e = _a.alignment, // Varsayılan genişlik
72
+ alignment = _e === void 0 ? Alignment.CENTER : _e, // Varsayılan hizalama
73
+ _f = _a.className, // Varsayılan hizalama
74
+ className = _f === void 0 ? '' : _f, _g = _a.style, style = _g === void 0 ? {} : _g;
75
+ var combinedClassName = "".concat(color, " ").concat(className).trim();
76
+ // Hizalama stilini belirleme
77
+ var alignmentStyle = {
78
+ marginLeft: alignment === 'left' ? '0' : 'auto',
79
+ marginRight: alignment === 'right' ? '0' : 'auto',
80
+ };
81
+ return (react_1.default.createElement("hr", { id: id || "custom-divider-".concat(Date.now()),
82
+ //className={`custom-divider ${className}`.trim()}
83
+ className: "custom-divider ".concat(combinedClassName), style: __assign(__assign({ border: 'none', borderTop: "".concat(thickness, " solid"), // Çizgiyi oluştur
84
+ width: width }, alignmentStyle), style) }));
85
+ };
86
+ exports.CustomDivider = CustomDivider;
87
+ exports.default = CustomDivider;
@@ -0,0 +1,159 @@
1
+ import React from 'react';
2
+ import { TreeNode } from '../CustomTreeView/CustomTreeView';
3
+ declare enum ElementType {
4
+ INPUT = "input",
5
+ TEXTAREA = "textarea",
6
+ CHECKBOX = "checkbox",
7
+ RADIO = "radio",
8
+ SELECT = "select",
9
+ DATETIMEPICKER = "datetimepicker",
10
+ TEXT = "text",
11
+ DIVIDER = "divider",
12
+ RICHTEXTBOX = "richtextbox",
13
+ TREEVIEW = "treeview",
14
+ BUTTON = "button"
15
+ }
16
+ interface InputElement {
17
+ id?: string;
18
+ type: ElementType;
19
+ label: string;
20
+ value: string;
21
+ rowId?: number;
22
+ colId?: number;
23
+ innerRowId?: number;
24
+ colClass?: string;
25
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
26
+ }
27
+ interface TextareaElement {
28
+ id?: string;
29
+ type: ElementType;
30
+ label: string;
31
+ value: string;
32
+ rowId?: number;
33
+ colId?: number;
34
+ innerRowId?: number;
35
+ colClass?: string;
36
+ onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
37
+ }
38
+ interface CheckboxElement {
39
+ id?: string;
40
+ type: ElementType;
41
+ label: string;
42
+ value: boolean;
43
+ rowId?: number;
44
+ colId?: number;
45
+ innerRowId?: number;
46
+ colClass?: string;
47
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
48
+ }
49
+ interface RadioButtonElement {
50
+ id?: string;
51
+ type: ElementType;
52
+ label: string;
53
+ value: string;
54
+ options: {
55
+ id: string;
56
+ label: string;
57
+ value: string;
58
+ }[];
59
+ rowId?: number;
60
+ colId?: number;
61
+ innerRowId?: number;
62
+ colClass?: string;
63
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
64
+ }
65
+ interface SelectElement {
66
+ id?: string;
67
+ type: ElementType;
68
+ label: string;
69
+ value: string[];
70
+ options: {
71
+ id: string;
72
+ label: string;
73
+ value: string;
74
+ }[];
75
+ rowId?: number;
76
+ colId?: number;
77
+ innerRowId?: number;
78
+ colClass?: string;
79
+ onChange: (value: string | string[]) => void;
80
+ }
81
+ interface DateTimePickerElement {
82
+ id?: string;
83
+ type: ElementType;
84
+ label: string;
85
+ value: Date | null;
86
+ rowId?: number;
87
+ colId?: number;
88
+ innerRowId?: number;
89
+ colClass?: string;
90
+ onChange: (e: Date | null) => void;
91
+ }
92
+ interface TextElement {
93
+ id: string;
94
+ type: ElementType;
95
+ value: string;
96
+ rowId?: number;
97
+ colId?: number;
98
+ innerRowId?: number;
99
+ colClass?: string;
100
+ style?: React.CSSProperties;
101
+ className?: string;
102
+ }
103
+ interface DividerElement {
104
+ id?: string;
105
+ type: ElementType;
106
+ rowId?: number;
107
+ colId?: number;
108
+ innerRowId?: number;
109
+ colClass?: string;
110
+ className?: string;
111
+ style?: React.CSSProperties;
112
+ }
113
+ interface RichTextboxElement {
114
+ id?: string;
115
+ type: ElementType;
116
+ label: string;
117
+ value: string;
118
+ rowId?: number;
119
+ colId?: number;
120
+ innerRowId?: number;
121
+ colClass?: string;
122
+ onChange: (value: string) => void;
123
+ }
124
+ interface TreeViewElement {
125
+ id?: string;
126
+ type: ElementType;
127
+ label?: string;
128
+ value: string[];
129
+ treeData: TreeNode[];
130
+ rowId?: number;
131
+ colId?: number;
132
+ innerRowId?: number;
133
+ colClass?: string;
134
+ onChange: (selected: string[]) => void;
135
+ }
136
+ interface ButtonElement {
137
+ id?: string;
138
+ type: ElementType;
139
+ label: string;
140
+ className?: string;
141
+ onClick: (event: React.FormEvent) => void;
142
+ rowId?: number;
143
+ colId?: number;
144
+ innerRowId?: number;
145
+ colClass?: string;
146
+ }
147
+ type FormElement = InputElement | TextareaElement | CheckboxElement | RadioButtonElement | SelectElement | DateTimePickerElement | TextElement | DividerElement | RichTextboxElement | TreeViewElement | ButtonElement;
148
+ interface CustomFormProps {
149
+ elements: FormElement[];
150
+ onSubmit: (formValues: Record<string, any>) => void;
151
+ confirmLabel?: string;
152
+ cancelLabel?: string;
153
+ handleCancel?: () => void;
154
+ showConfirmButton?: boolean;
155
+ showCancelButton?: boolean;
156
+ }
157
+ declare const CustomForm: React.FC<CustomFormProps>;
158
+ export { CustomForm, ElementType };
159
+ export default CustomForm;
@@ -0,0 +1,163 @@
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 __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
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.ElementType = exports.CustomForm = void 0;
41
+ var react_1 = __importStar(require("react"));
42
+ var react_toastify_1 = require("react-toastify");
43
+ var CustomButton_1 = __importDefault(require("../CustomButton/CustomButton"));
44
+ var CustomInput_1 = __importDefault(require("../CustomInput/CustomInput"));
45
+ var CustomTextarea_1 = __importDefault(require("../CustomTextarea/CustomTextarea"));
46
+ var CustomCheckbox_1 = __importDefault(require("../CustomCheckbox/CustomCheckbox"));
47
+ var CustomRadioButton_1 = __importDefault(require("../CustomRadioButton/CustomRadioButton"));
48
+ var CustomSelect_1 = __importDefault(require("../CustomSelect/CustomSelect"));
49
+ var CustomDateTimePicker_1 = __importDefault(require("../CustomDateTimePicker/CustomDateTimePicker"));
50
+ var CustomText_1 = __importDefault(require("../CustomText/CustomText"));
51
+ var CustomDivider_1 = __importDefault(require("../CustomDivider/CustomDivider"));
52
+ var CustomRichTextbox_1 = __importDefault(require("../CustomRichTextbox/CustomRichTextbox"));
53
+ var CustomTreeView_1 = __importDefault(require("../CustomTreeView/CustomTreeView"));
54
+ var ElementType;
55
+ (function (ElementType) {
56
+ ElementType["INPUT"] = "input";
57
+ ElementType["TEXTAREA"] = "textarea";
58
+ ElementType["CHECKBOX"] = "checkbox";
59
+ ElementType["RADIO"] = "radio";
60
+ ElementType["SELECT"] = "select";
61
+ ElementType["DATETIMEPICKER"] = "datetimepicker";
62
+ ElementType["TEXT"] = "text";
63
+ ElementType["DIVIDER"] = "divider";
64
+ ElementType["RICHTEXTBOX"] = "richtextbox";
65
+ ElementType["TREEVIEW"] = "treeview";
66
+ ElementType["BUTTON"] = "button";
67
+ })(ElementType || (ElementType = {}));
68
+ exports.ElementType = ElementType;
69
+ var CustomForm = function (_a) {
70
+ var elements = _a.elements, onSubmit = _a.onSubmit, _b = _a.confirmLabel, confirmLabel = _b === void 0 ? 'Confirm' : _b, // Varsayılan değer
71
+ _c = _a.cancelLabel, // Varsayılan değer
72
+ cancelLabel = _c === void 0 ? 'Cancel' : _c, // Varsayılan değer
73
+ handleCancel = _a.handleCancel, _d = _a.showConfirmButton, showConfirmButton = _d === void 0 ? true : _d, // Varsayılan olarak görünür
74
+ _e = _a.showCancelButton, // Varsayılan olarak görünür
75
+ showCancelButton = _e === void 0 ? false : _e;
76
+ var formRef = (0, react_1.useRef)(null);
77
+ var handleConfirm = function (e) {
78
+ e.preventDefault();
79
+ var form = formRef.current;
80
+ if (!form)
81
+ return;
82
+ var isValid = form.checkValidity();
83
+ if (isValid) {
84
+ var formValues_1 = {};
85
+ Array.from(form.elements).forEach(function (element) {
86
+ if (element instanceof HTMLInputElement ||
87
+ element instanceof HTMLTextAreaElement ||
88
+ element instanceof HTMLSelectElement) {
89
+ if (element.id) { //RichTextbox boş göndermemesi için
90
+ var name_1 = element.name || element.id;
91
+ if (element instanceof HTMLInputElement && element.type === ElementType.RADIO) {
92
+ if (element.checked) {
93
+ formValues_1[name_1] = element.value;
94
+ }
95
+ }
96
+ else if (element instanceof HTMLInputElement && element.type === ElementType.CHECKBOX) {
97
+ formValues_1[name_1] = element.checked;
98
+ }
99
+ else if (element instanceof HTMLSelectElement && element.multiple) {
100
+ var selectedOptions = Array.from(element.selectedOptions).map(function (option) { return option.value; });
101
+ formValues_1[name_1] = selectedOptions;
102
+ }
103
+ else if (element instanceof HTMLSelectElement) {
104
+ formValues_1[name_1] = [element.value]; // Tekli seçim bile array olarak döner
105
+ }
106
+ else {
107
+ formValues_1[name_1] = element.value;
108
+ }
109
+ }
110
+ }
111
+ });
112
+ // CustomForm elemanlarını kontrol etme
113
+ elements.forEach(function (element) {
114
+ if ('value' in element && element.type === ElementType.RICHTEXTBOX) {
115
+ formValues_1[element.id] = element.value; // RichTextbox değerini ekleme
116
+ }
117
+ });
118
+ // Form verilerini JSON olarak çıktıya yazdır
119
+ console.log(JSON.stringify(formValues_1, null, 2));
120
+ onSubmit(formValues_1);
121
+ }
122
+ else {
123
+ react_toastify_1.toast.error('Gerekli tüm alanları doldurunuz.');
124
+ form.classList.add('was-validated');
125
+ }
126
+ };
127
+ // Elemanları satır, sütun ve iç satıra göre gruplama
128
+ var groupedElements = elements.reduce(function (acc, el) {
129
+ var row = el.rowId || 0;
130
+ var col = el.colId || 0;
131
+ var innerRow = el.innerRowId || 0;
132
+ if (!acc[row])
133
+ acc[row] = {};
134
+ if (!acc[row][col])
135
+ acc[row][col] = {};
136
+ if (!acc[row][col][innerRow])
137
+ acc[row][col][innerRow] = [];
138
+ acc[row][col][innerRow].push(el);
139
+ return acc;
140
+ }, {});
141
+ return (react_1.default.createElement("form", { ref: formRef, noValidate: true, className: "needs-validation", autoComplete: "off" },
142
+ Object.entries(groupedElements).map(function (_a) {
143
+ var rowId = _a[0], columns = _a[1];
144
+ return (react_1.default.createElement("div", { className: "row", key: "row-".concat(rowId) }, Object.entries(columns).map(function (_a) {
145
+ var colId = _a[0], innerRows = _a[1];
146
+ return (react_1.default.createElement("div", { className: "col", key: "col-".concat(rowId, "-").concat(colId) }, Object.entries(innerRows).map(function (_a) {
147
+ var innerRowId = _a[0], elements = _a[1];
148
+ return (react_1.default.createElement("div", { className: "row", key: "inner-row-".concat(rowId, "-").concat(colId, "-").concat(innerRowId) }, elements.map(function (element) { return (react_1.default.createElement("div", { className: element.colClass || 'col-12', key: element.id }, element.type === ElementType.TEXT ? (react_1.default.createElement(CustomText_1.default, __assign({}, element))) : element.type === ElementType.INPUT ? (react_1.default.createElement(CustomInput_1.default, __assign({}, element))) : element.type === ElementType.TEXTAREA ? (react_1.default.createElement(CustomTextarea_1.default, __assign({}, element))) : element.type === ElementType.CHECKBOX ? (react_1.default.createElement(CustomCheckbox_1.default, __assign({}, element))) : element.type === ElementType.RADIO ? (react_1.default.createElement(CustomRadioButton_1.default, __assign({}, element))) : element.type === ElementType.SELECT ? (react_1.default.createElement(CustomSelect_1.default, __assign({}, element))) : element.type === ElementType.DATETIMEPICKER ? (react_1.default.createElement(CustomDateTimePicker_1.default, __assign({}, element))) : element.type === ElementType.DIVIDER ? (react_1.default.createElement(CustomDivider_1.default, __assign({}, element))) : element.type === ElementType.RICHTEXTBOX ? (react_1.default.createElement(CustomRichTextbox_1.default, __assign({}, element))) :
149
+ element.type === ElementType.TREEVIEW ? (react_1.default.createElement(CustomTreeView_1.default, __assign({}, element))) :
150
+ element.type === ElementType.BUTTON ? (react_1.default.createElement(CustomButton_1.default, __assign({}, element))
151
+ // ) : element.type === ElementType.UPLOADER ? (
152
+ // <CustomUploader {...(element as UploaderElement)} />
153
+ ) : null)); })));
154
+ })));
155
+ })));
156
+ }),
157
+ (showConfirmButton || showCancelButton) && (react_1.default.createElement("div", { className: "card-footer mt-3" },
158
+ react_1.default.createElement("div", { className: "form-actions mt-3" },
159
+ showCancelButton && (react_1.default.createElement(CustomButton_1.default, { label: cancelLabel, className: "btn btn-secondary", onClick: handleCancel || (function () { }) })),
160
+ showConfirmButton && (react_1.default.createElement(CustomButton_1.default, { label: confirmLabel, onClick: handleConfirm })))))));
161
+ };
162
+ exports.CustomForm = CustomForm;
163
+ exports.default = CustomForm;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ declare enum InputType {
3
+ TEXT = "text",
4
+ NUMBER = "number",
5
+ TEL = "tel",
6
+ PASSWORD = "password",
7
+ EMAIL = "email",
8
+ FILE = "file"
9
+ }
10
+ interface CustomInputProps {
11
+ id?: string;
12
+ name?: string;
13
+ label: string;
14
+ inputType?: InputType;
15
+ value: string;
16
+ placeholder?: string;
17
+ required?: boolean;
18
+ errorMessage?: string;
19
+ conditionalErrorVisible?: boolean;
20
+ conditionalErrorMessage?: string;
21
+ disabled?: boolean;
22
+ readOnly?: boolean;
23
+ buttonIcon?: React.ReactNode;
24
+ buttonTooltip?: string;
25
+ description?: string | null;
26
+ tooltip?: string;
27
+ style?: React.CSSProperties;
28
+ className?: string;
29
+ buttonOnClick?: () => void;
30
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
31
+ }
32
+ declare const CustomInput: React.FC<CustomInputProps>;
33
+ export { CustomInput, InputType };
34
+ export default CustomInput;