albinasoft-ui-package 1.1.41 → 1.1.43
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/LICENSE +21 -21
- package/dist/assets/css/custom-autocomplete-input.css +49 -49
- package/dist/assets/css/custom-datatable.css +2 -2
- package/dist/assets/css/custom-datetime-picker.css +779 -779
- package/dist/assets/css/custom-progress-bar.css +37 -37
- package/dist/assets/css/custom-select.css +62 -62
- package/dist/assets/css/custom-simple-select.css +117 -94
- package/dist/assets/css/custom-timeline.css +43 -43
- package/dist/assets/css/dark.css +2159 -2159
- package/dist/assets/css/main.css +26664 -26664
- package/dist/components/AlbinaForm.d.ts +28 -28
- package/dist/components/AlbinaForm.js +88 -88
- package/dist/components/CustomAutocompleteInput.d.ts +23 -23
- package/dist/components/CustomAutocompleteInput.js +185 -185
- package/dist/components/CustomButton.d.ts +14 -14
- package/dist/components/CustomButton.js +98 -98
- package/dist/components/CustomCheckbox.d.ts +20 -20
- package/dist/components/CustomCheckbox.js +58 -58
- package/dist/components/CustomDatatable.d.ts +42 -42
- package/dist/components/CustomDatatable.js +92 -92
- package/dist/components/CustomDateTimePicker.d.ts +33 -33
- package/dist/components/CustomDateTimePicker.js +91 -91
- package/dist/components/CustomDivider.d.ts +51 -51
- package/dist/components/CustomDivider.js +87 -87
- package/dist/components/CustomFileUploader.d.ts +65 -65
- package/dist/components/CustomFileUploader.js +460 -460
- package/dist/components/CustomForm.d.ts +225 -225
- package/dist/components/CustomForm.js +243 -243
- package/dist/components/CustomInput.d.ts +37 -37
- package/dist/components/CustomInput.js +85 -85
- package/dist/components/CustomModal.d.ts +15 -15
- package/dist/components/CustomModal.js +17 -17
- package/dist/components/CustomPhoneInput.d.ts +29 -29
- package/dist/components/CustomPhoneInput.js +251 -251
- package/dist/components/CustomProgressBar.d.ts +9 -9
- package/dist/components/CustomProgressBar.js +40 -40
- package/dist/components/CustomRadioButton.d.ts +25 -25
- package/dist/components/CustomRadioButton.js +34 -34
- package/dist/components/CustomRichTextbox.d.ts +14 -14
- package/dist/components/CustomRichTextbox.js +89 -89
- package/dist/components/CustomSelect.d.ts +32 -32
- package/dist/components/CustomSelect.js +194 -191
- package/dist/components/CustomSimpleSelect.d.ts +21 -21
- package/dist/components/CustomSimpleSelect.js +64 -64
- package/dist/components/CustomTab.d.ts +44 -44
- package/dist/components/CustomTab.js +122 -122
- package/dist/components/CustomText.d.ts +72 -72
- package/dist/components/CustomText.js +158 -158
- package/dist/components/CustomTextarea.d.ts +22 -22
- package/dist/components/CustomTextarea.js +33 -33
- package/dist/components/CustomTimeline.d.ts +30 -30
- package/dist/components/CustomTimeline.js +80 -80
- package/dist/components/CustomTreeView.d.ts +22 -22
- package/dist/components/CustomTreeView.js +157 -157
- package/dist/index.d.ts +22 -22
- package/dist/index.js +48 -48
- package/package.json +44 -43
- package/readme.md +9 -9
@@ -1,40 +1,40 @@
|
|
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
|
-
require("../assets/css/custom-progress-bar.css");
|
8
|
-
var CustomProgressBar = function (_a) {
|
9
|
-
var activeStep = _a.activeStep, stepLabels = _a.stepLabels, onStepClick = _a.onStepClick;
|
10
|
-
return (react_1.default.createElement("div", { className: "progress-bar-container" },
|
11
|
-
react_1.default.createElement("div", { style: { display: "flex", alignItems: "center", position: "relative" } }, stepLabels.map(function (label, index) {
|
12
|
-
var currentStep = index + 1;
|
13
|
-
var isActive = activeStep >= currentStep;
|
14
|
-
var isCompleted = activeStep > currentStep;
|
15
|
-
return (react_1.default.createElement(react_1.default.Fragment, { key: label },
|
16
|
-
react_1.default.createElement("div", { onClick: function () { return onStepClick(currentStep); }, className: "step-item", style: {
|
17
|
-
cursor: activeStep === currentStep ? "default" : "pointer",
|
18
|
-
zIndex: isActive ? 2 : 1,
|
19
|
-
} },
|
20
|
-
react_1.default.createElement("div", { className: "step-circle", style: {
|
21
|
-
backgroundColor: isCompleted
|
22
|
-
? "#4caf50"
|
23
|
-
: isActive
|
24
|
-
? "#ffa500"
|
25
|
-
: "#ccc",
|
26
|
-
border: isActive ? "2px solid #4caf50" : "none",
|
27
|
-
} }, currentStep),
|
28
|
-
react_1.default.createElement("span", { className: "step-label", style: {
|
29
|
-
color: isCompleted
|
30
|
-
? "#4caf50"
|
31
|
-
: isActive
|
32
|
-
? "#ffa500"
|
33
|
-
: "#ccc",
|
34
|
-
} }, label)),
|
35
|
-
index < stepLabels.length - 1 && (react_1.default.createElement("div", { className: "step-line", style: {
|
36
|
-
backgroundColor: activeStep > currentStep ? "#4caf50" : "#ddd",
|
37
|
-
} }))));
|
38
|
-
}))));
|
39
|
-
};
|
40
|
-
exports.default = CustomProgressBar;
|
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
|
+
require("../assets/css/custom-progress-bar.css");
|
8
|
+
var CustomProgressBar = function (_a) {
|
9
|
+
var activeStep = _a.activeStep, stepLabels = _a.stepLabels, onStepClick = _a.onStepClick;
|
10
|
+
return (react_1.default.createElement("div", { className: "progress-bar-container" },
|
11
|
+
react_1.default.createElement("div", { style: { display: "flex", alignItems: "center", position: "relative" } }, stepLabels.map(function (label, index) {
|
12
|
+
var currentStep = index + 1;
|
13
|
+
var isActive = activeStep >= currentStep;
|
14
|
+
var isCompleted = activeStep > currentStep;
|
15
|
+
return (react_1.default.createElement(react_1.default.Fragment, { key: label },
|
16
|
+
react_1.default.createElement("div", { onClick: function () { return onStepClick(currentStep); }, className: "step-item", style: {
|
17
|
+
cursor: activeStep === currentStep ? "default" : "pointer",
|
18
|
+
zIndex: isActive ? 2 : 1,
|
19
|
+
} },
|
20
|
+
react_1.default.createElement("div", { className: "step-circle", style: {
|
21
|
+
backgroundColor: isCompleted
|
22
|
+
? "#4caf50"
|
23
|
+
: isActive
|
24
|
+
? "#ffa500"
|
25
|
+
: "#ccc",
|
26
|
+
border: isActive ? "2px solid #4caf50" : "none",
|
27
|
+
} }, currentStep),
|
28
|
+
react_1.default.createElement("span", { className: "step-label", style: {
|
29
|
+
color: isCompleted
|
30
|
+
? "#4caf50"
|
31
|
+
: isActive
|
32
|
+
? "#ffa500"
|
33
|
+
: "#ccc",
|
34
|
+
} }, label)),
|
35
|
+
index < stepLabels.length - 1 && (react_1.default.createElement("div", { className: "step-line", style: {
|
36
|
+
backgroundColor: activeStep > currentStep ? "#4caf50" : "#ddd",
|
37
|
+
} }))));
|
38
|
+
}))));
|
39
|
+
};
|
40
|
+
exports.default = CustomProgressBar;
|
@@ -1,25 +1,25 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
interface CustomRadioButtonOption {
|
3
|
-
id: string;
|
4
|
-
label: string;
|
5
|
-
value: string;
|
6
|
-
}
|
7
|
-
interface CustomRadioButtonProps {
|
8
|
-
id?: string;
|
9
|
-
name?: string;
|
10
|
-
label: string;
|
11
|
-
options: CustomRadioButtonOption[];
|
12
|
-
value: string;
|
13
|
-
required?: boolean;
|
14
|
-
errorMessage?: string;
|
15
|
-
conditionalErrorVisible?: boolean;
|
16
|
-
conditionalErrorMessage?: string;
|
17
|
-
tooltip?: string;
|
18
|
-
description?: string | null;
|
19
|
-
disabled?: boolean;
|
20
|
-
className?: string;
|
21
|
-
style?: React.CSSProperties;
|
22
|
-
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
23
|
-
}
|
24
|
-
declare const CustomRadioButton: React.FC<CustomRadioButtonProps>;
|
25
|
-
export default CustomRadioButton;
|
1
|
+
import React from 'react';
|
2
|
+
interface CustomRadioButtonOption {
|
3
|
+
id: string;
|
4
|
+
label: string;
|
5
|
+
value: string;
|
6
|
+
}
|
7
|
+
interface CustomRadioButtonProps {
|
8
|
+
id?: string;
|
9
|
+
name?: string;
|
10
|
+
label: string;
|
11
|
+
options: CustomRadioButtonOption[];
|
12
|
+
value: string;
|
13
|
+
required?: boolean;
|
14
|
+
errorMessage?: string;
|
15
|
+
conditionalErrorVisible?: boolean;
|
16
|
+
conditionalErrorMessage?: string;
|
17
|
+
tooltip?: string;
|
18
|
+
description?: string | null;
|
19
|
+
disabled?: boolean;
|
20
|
+
className?: string;
|
21
|
+
style?: React.CSSProperties;
|
22
|
+
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
23
|
+
}
|
24
|
+
declare const CustomRadioButton: React.FC<CustomRadioButtonProps>;
|
25
|
+
export default CustomRadioButton;
|
@@ -1,34 +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 = __importDefault(require("react"));
|
7
|
-
var react_bootstrap_1 = require("react-bootstrap");
|
8
|
-
var fa_1 = require("react-icons/fa");
|
9
|
-
var CustomRadioButton = function (_a) {
|
10
|
-
var id = _a.id, name = _a.name, label = _a.label, options = _a.options, 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, style: style },
|
12
|
-
react_1.default.createElement("div", { className: "form-group" },
|
13
|
-
react_1.default.createElement("label", { className: "form-label" }, label),
|
14
|
-
react_1.default.createElement("div", { className: "radio-options" }, options.map(function (option, index) { return (react_1.default.createElement("div", { key: option.id, className: "form-check" },
|
15
|
-
react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "bottom", overlay: tooltip ? (react_1.default.createElement(react_bootstrap_1.Tooltip, { id: "tooltip-".concat(option.id) }, tooltip)) : react_1.default.createElement(react_1.default.Fragment, null) },
|
16
|
-
react_1.default.createElement("input", { id: option.id, name: name || id, type: "radio", className: "form-check-input", value: option.value, checked: value === option.value, disabled: disabled, onChange: onChange, required: required })),
|
17
|
-
react_1.default.createElement("label", { htmlFor: option.id, className: "form-check-label" }, option.label),
|
18
|
-
required && !value && index === options.length - 1 && (react_1.default.createElement("div", { className: "invalid-feedback text-danger mt-2" },
|
19
|
-
react_1.default.createElement("div", { className: "description-icon" },
|
20
|
-
react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
|
21
|
-
react_1.default.createElement("div", { className: "description-text" },
|
22
|
-
react_1.default.createElement("span", null, errorMessage || 'Seçim yapılması gerekmektedir.')))),
|
23
|
-
conditionalErrorVisible && index === options.length - 1 && (react_1.default.createElement("div", { className: "conditional-error-message text-warning mt-2" },
|
24
|
-
react_1.default.createElement("div", { className: "description-icon" },
|
25
|
-
react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
|
26
|
-
react_1.default.createElement("div", { className: "description-text" },
|
27
|
-
react_1.default.createElement("span", null, conditionalErrorMessage)))),
|
28
|
-
description && index === options.length - 1 && (react_1.default.createElement("div", { className: "form-description text-secondary mt-2" },
|
29
|
-
react_1.default.createElement("div", { className: "description-icon" },
|
30
|
-
react_1.default.createElement(fa_1.FaInfoCircle, null)),
|
31
|
-
react_1.default.createElement("div", { className: "description-text" },
|
32
|
-
react_1.default.createElement("span", null, description)))))); })))));
|
33
|
-
};
|
34
|
-
exports.default = CustomRadioButton;
|
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 CustomRadioButton = function (_a) {
|
10
|
+
var id = _a.id, name = _a.name, label = _a.label, options = _a.options, 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, style: style },
|
12
|
+
react_1.default.createElement("div", { className: "form-group" },
|
13
|
+
react_1.default.createElement("label", { className: "form-label" }, label),
|
14
|
+
react_1.default.createElement("div", { className: "radio-options" }, options.map(function (option, index) { return (react_1.default.createElement("div", { key: option.id, className: "form-check" },
|
15
|
+
react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "bottom", overlay: tooltip ? (react_1.default.createElement(react_bootstrap_1.Tooltip, { id: "tooltip-".concat(option.id) }, tooltip)) : react_1.default.createElement(react_1.default.Fragment, null) },
|
16
|
+
react_1.default.createElement("input", { id: option.id, name: name || id, type: "radio", className: "form-check-input", value: option.value, checked: value === option.value, disabled: disabled, onChange: onChange, required: required })),
|
17
|
+
react_1.default.createElement("label", { htmlFor: option.id, className: "form-check-label" }, option.label),
|
18
|
+
required && !value && index === options.length - 1 && (react_1.default.createElement("div", { className: "invalid-feedback text-danger mt-2" },
|
19
|
+
react_1.default.createElement("div", { className: "description-icon" },
|
20
|
+
react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
|
21
|
+
react_1.default.createElement("div", { className: "description-text" },
|
22
|
+
react_1.default.createElement("span", null, errorMessage || 'Seçim yapılması gerekmektedir.')))),
|
23
|
+
conditionalErrorVisible && index === options.length - 1 && (react_1.default.createElement("div", { className: "conditional-error-message text-warning mt-2" },
|
24
|
+
react_1.default.createElement("div", { className: "description-icon" },
|
25
|
+
react_1.default.createElement(fa_1.FaExclamationTriangle, null)),
|
26
|
+
react_1.default.createElement("div", { className: "description-text" },
|
27
|
+
react_1.default.createElement("span", null, conditionalErrorMessage)))),
|
28
|
+
description && index === options.length - 1 && (react_1.default.createElement("div", { className: "form-description text-secondary mt-2" },
|
29
|
+
react_1.default.createElement("div", { className: "description-icon" },
|
30
|
+
react_1.default.createElement(fa_1.FaInfoCircle, null)),
|
31
|
+
react_1.default.createElement("div", { className: "description-text" },
|
32
|
+
react_1.default.createElement("span", null, description)))))); })))));
|
33
|
+
};
|
34
|
+
exports.default = CustomRadioButton;
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import 'quill/dist/quill.snow.css';
|
3
|
-
interface CustomRichTextboxProps {
|
4
|
-
id?: string;
|
5
|
-
name?: string;
|
6
|
-
label: string;
|
7
|
-
value: string;
|
8
|
-
placeholder?: string;
|
9
|
-
onChange: (value: string) => void;
|
10
|
-
readOnly?: boolean;
|
11
|
-
className?: string;
|
12
|
-
}
|
13
|
-
declare const CustomRichTextbox: React.FC<CustomRichTextboxProps>;
|
14
|
-
export default CustomRichTextbox;
|
1
|
+
import React from 'react';
|
2
|
+
import 'quill/dist/quill.snow.css';
|
3
|
+
interface CustomRichTextboxProps {
|
4
|
+
id?: string;
|
5
|
+
name?: string;
|
6
|
+
label: string;
|
7
|
+
value: string;
|
8
|
+
placeholder?: string;
|
9
|
+
onChange: (value: string) => void;
|
10
|
+
readOnly?: boolean;
|
11
|
+
className?: string;
|
12
|
+
}
|
13
|
+
declare const CustomRichTextbox: React.FC<CustomRichTextboxProps>;
|
14
|
+
export default CustomRichTextbox;
|
@@ -1,89 +1,89 @@
|
|
1
|
-
"use strict";
|
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;
|
24
|
-
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
var react_1 = __importStar(require("react"));
|
30
|
-
var quill_1 = __importDefault(require("quill"));
|
31
|
-
require("quill/dist/quill.snow.css");
|
32
|
-
var CustomRichTextbox = function (_a) {
|
33
|
-
var id = _a.id, label = _a.label, value = _a.value, placeholder = _a.placeholder, onChange = _a.onChange, _b = _a.readOnly, readOnly = _b === void 0 ? false : _b, className = _a.className;
|
34
|
-
var editorRef = (0, react_1.useRef)(null);
|
35
|
-
var quillRef = (0, react_1.useRef)(null);
|
36
|
-
// 1. Quill'i yalnızca bir kez başlat
|
37
|
-
(0, react_1.useEffect)(function () {
|
38
|
-
if (!editorRef.current)
|
39
|
-
return;
|
40
|
-
if (quillRef.current)
|
41
|
-
return; // eğer zaten başlatıldıysa çık
|
42
|
-
quillRef.current = new quill_1.default(editorRef.current, {
|
43
|
-
theme: 'snow',
|
44
|
-
modules: {
|
45
|
-
toolbar: [
|
46
|
-
[{ align: [] }],
|
47
|
-
['bold', 'italic', 'underline', 'strike'],
|
48
|
-
[{ header: [1, 2, 3, false] }],
|
49
|
-
[{ list: 'ordered' }, { list: 'bullet' }],
|
50
|
-
['clean']
|
51
|
-
]
|
52
|
-
},
|
53
|
-
});
|
54
|
-
// Başlangıç içeriğini ayarla
|
55
|
-
quillRef.current.clipboard.dangerouslyPasteHTML(value);
|
56
|
-
// Değişimi dinle
|
57
|
-
var handler = function () {
|
58
|
-
var html = editorRef.current.querySelector('.ql-editor').innerHTML;
|
59
|
-
onChange(html);
|
60
|
-
};
|
61
|
-
quillRef.current.on('text-change', handler);
|
62
|
-
return function () {
|
63
|
-
quillRef.current.off('text-change', handler);
|
64
|
-
// Eğer gerekiyorsa editorRef.current!.innerHTML = '' gibi cleanup
|
65
|
-
};
|
66
|
-
}, []); // sadece mount/unmount
|
67
|
-
// 2. readOnly ve placeholder dinamik ayarları
|
68
|
-
(0, react_1.useEffect)(function () {
|
69
|
-
if (!quillRef.current)
|
70
|
-
return;
|
71
|
-
quillRef.current.enable(!readOnly);
|
72
|
-
if (placeholder !== undefined) {
|
73
|
-
quillRef.current.root.dataset.placeholder = placeholder;
|
74
|
-
}
|
75
|
-
}, [readOnly, placeholder]);
|
76
|
-
// 3. value prop'u değişirse içeriği güncelle
|
77
|
-
(0, react_1.useEffect)(function () {
|
78
|
-
if (!quillRef.current)
|
79
|
-
return;
|
80
|
-
var current = quillRef.current.root.innerHTML;
|
81
|
-
if (value !== current) {
|
82
|
-
quillRef.current.clipboard.dangerouslyPasteHTML(value);
|
83
|
-
}
|
84
|
-
}, [value]);
|
85
|
-
return (react_1.default.createElement("div", { className: className },
|
86
|
-
react_1.default.createElement("label", { htmlFor: id }, label),
|
87
|
-
react_1.default.createElement("div", { id: id, ref: editorRef, style: { minHeight: '150px' } })));
|
88
|
-
};
|
89
|
-
exports.default = CustomRichTextbox;
|
1
|
+
"use strict";
|
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;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
var react_1 = __importStar(require("react"));
|
30
|
+
var quill_1 = __importDefault(require("quill"));
|
31
|
+
require("quill/dist/quill.snow.css");
|
32
|
+
var CustomRichTextbox = function (_a) {
|
33
|
+
var id = _a.id, label = _a.label, value = _a.value, placeholder = _a.placeholder, onChange = _a.onChange, _b = _a.readOnly, readOnly = _b === void 0 ? false : _b, className = _a.className;
|
34
|
+
var editorRef = (0, react_1.useRef)(null);
|
35
|
+
var quillRef = (0, react_1.useRef)(null);
|
36
|
+
// 1. Quill'i yalnızca bir kez başlat
|
37
|
+
(0, react_1.useEffect)(function () {
|
38
|
+
if (!editorRef.current)
|
39
|
+
return;
|
40
|
+
if (quillRef.current)
|
41
|
+
return; // eğer zaten başlatıldıysa çık
|
42
|
+
quillRef.current = new quill_1.default(editorRef.current, {
|
43
|
+
theme: 'snow',
|
44
|
+
modules: {
|
45
|
+
toolbar: [
|
46
|
+
[{ align: [] }],
|
47
|
+
['bold', 'italic', 'underline', 'strike'],
|
48
|
+
[{ header: [1, 2, 3, false] }],
|
49
|
+
[{ list: 'ordered' }, { list: 'bullet' }],
|
50
|
+
['clean']
|
51
|
+
]
|
52
|
+
},
|
53
|
+
});
|
54
|
+
// Başlangıç içeriğini ayarla
|
55
|
+
quillRef.current.clipboard.dangerouslyPasteHTML(value);
|
56
|
+
// Değişimi dinle
|
57
|
+
var handler = function () {
|
58
|
+
var html = editorRef.current.querySelector('.ql-editor').innerHTML;
|
59
|
+
onChange(html);
|
60
|
+
};
|
61
|
+
quillRef.current.on('text-change', handler);
|
62
|
+
return function () {
|
63
|
+
quillRef.current.off('text-change', handler);
|
64
|
+
// Eğer gerekiyorsa editorRef.current!.innerHTML = '' gibi cleanup
|
65
|
+
};
|
66
|
+
}, []); // sadece mount/unmount
|
67
|
+
// 2. readOnly ve placeholder dinamik ayarları
|
68
|
+
(0, react_1.useEffect)(function () {
|
69
|
+
if (!quillRef.current)
|
70
|
+
return;
|
71
|
+
quillRef.current.enable(!readOnly);
|
72
|
+
if (placeholder !== undefined) {
|
73
|
+
quillRef.current.root.dataset.placeholder = placeholder;
|
74
|
+
}
|
75
|
+
}, [readOnly, placeholder]);
|
76
|
+
// 3. value prop'u değişirse içeriği güncelle
|
77
|
+
(0, react_1.useEffect)(function () {
|
78
|
+
if (!quillRef.current)
|
79
|
+
return;
|
80
|
+
var current = quillRef.current.root.innerHTML;
|
81
|
+
if (value !== current) {
|
82
|
+
quillRef.current.clipboard.dangerouslyPasteHTML(value);
|
83
|
+
}
|
84
|
+
}, [value]);
|
85
|
+
return (react_1.default.createElement("div", { className: className },
|
86
|
+
react_1.default.createElement("label", { htmlFor: id }, label),
|
87
|
+
react_1.default.createElement("div", { id: id, ref: editorRef, style: { minHeight: '150px' } })));
|
88
|
+
};
|
89
|
+
exports.default = CustomRichTextbox;
|
@@ -1,32 +1,32 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import "../assets/css/custom-select.css";
|
3
|
-
interface CustomSelectOption {
|
4
|
-
id: string;
|
5
|
-
label: string;
|
6
|
-
value: string;
|
7
|
-
}
|
8
|
-
interface CustomSelectProps {
|
9
|
-
id?: string;
|
10
|
-
name?: string;
|
11
|
-
label: string;
|
12
|
-
options: CustomSelectOption[];
|
13
|
-
value: string | string[];
|
14
|
-
required?: boolean;
|
15
|
-
multiple?: boolean;
|
16
|
-
searchable?: boolean;
|
17
|
-
placeholder?: string;
|
18
|
-
errorMessage?: string;
|
19
|
-
conditionalErrorVisible?: boolean;
|
20
|
-
conditionalErrorMessage?: string;
|
21
|
-
tooltip?: string;
|
22
|
-
description?: string | null;
|
23
|
-
disabled?: boolean;
|
24
|
-
className?: string;
|
25
|
-
mainClass?: string;
|
26
|
-
style?: React.CSSProperties;
|
27
|
-
mainStyle?: React.CSSProperties;
|
28
|
-
submitted?: boolean;
|
29
|
-
onChange: (value: string | string[]) => void;
|
30
|
-
}
|
31
|
-
declare const CustomSelect: React.FC<CustomSelectProps>;
|
32
|
-
export default CustomSelect;
|
1
|
+
import React from "react";
|
2
|
+
import "../assets/css/custom-select.css";
|
3
|
+
interface CustomSelectOption {
|
4
|
+
id: string;
|
5
|
+
label: string;
|
6
|
+
value: string;
|
7
|
+
}
|
8
|
+
interface CustomSelectProps {
|
9
|
+
id?: string;
|
10
|
+
name?: string;
|
11
|
+
label: string;
|
12
|
+
options: CustomSelectOption[];
|
13
|
+
value: string | string[];
|
14
|
+
required?: boolean;
|
15
|
+
multiple?: boolean;
|
16
|
+
searchable?: boolean;
|
17
|
+
placeholder?: string;
|
18
|
+
errorMessage?: string;
|
19
|
+
conditionalErrorVisible?: boolean;
|
20
|
+
conditionalErrorMessage?: string;
|
21
|
+
tooltip?: string;
|
22
|
+
description?: string | null;
|
23
|
+
disabled?: boolean;
|
24
|
+
className?: string;
|
25
|
+
mainClass?: string;
|
26
|
+
style?: React.CSSProperties;
|
27
|
+
mainStyle?: React.CSSProperties;
|
28
|
+
submitted?: boolean;
|
29
|
+
onChange: (value: string | string[]) => void;
|
30
|
+
}
|
31
|
+
declare const CustomSelect: React.FC<CustomSelectProps>;
|
32
|
+
export default CustomSelect;
|