albinasoft-ui-package 1.1.56 → 1.1.57

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,4 +1,5 @@
1
1
  import React from "react";
2
+ import { Notify } from "../types/notify";
2
3
  export declare enum AllowedTypes {
3
4
  PDF = "pdf",
4
5
  FILE = "file",
@@ -61,6 +62,7 @@ export interface CustomFileUploaderProps {
61
62
  * Bu, yükleme işlemi başladığında ve bittiğinde çağrılabilir.
62
63
  */
63
64
  onUploadingChange?: (uploading: boolean) => void;
65
+ onNotify?: Notify;
64
66
  }
65
67
  export type CustomFileUploaderHandle = {
66
68
  /** Pending dosya varsa toast gösterir ve false döner. */
@@ -85,7 +85,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
85
85
  exports.defaultTranslations = exports.AllowedTypes = void 0;
86
86
  // CustomFileUploader.tsx
87
87
  var react_1 = __importStar(require("react"));
88
- var react_toastify_1 = require("react-toastify");
89
88
  var fa_1 = require("react-icons/fa");
90
89
  var CustomButton_1 = __importDefault(require("./CustomButton"));
91
90
  // ====================
@@ -223,7 +222,7 @@ var isAllowedFileType = function (file, allowedType) {
223
222
  // CustomFileUploader Bileşeni
224
223
  // ====================
225
224
  var CustomFileUploader = (0, react_1.forwardRef)(function (props, ref) {
226
- var url = props.url, multi = props.multi, allowedTypes = props.allowedTypes, maxFile = props.maxFile, maxSize = props.maxSize, onUploadComplete = props.onUploadComplete, onRemoveUploaded = props.onRemoveUploaded, label = props.label, onPendingChange = props.onPendingChange, translations = props.translations, clearTrigger = props.clearTrigger, onUploadingChange = props.onUploadingChange;
225
+ var url = props.url, multi = props.multi, allowedTypes = props.allowedTypes, maxFile = props.maxFile, maxSize = props.maxSize, onUploadComplete = props.onUploadComplete, onRemoveUploaded = props.onRemoveUploaded, label = props.label, onPendingChange = props.onPendingChange, translations = props.translations, clearTrigger = props.clearTrigger, onUploadingChange = props.onUploadingChange, onNotify = props.onNotify;
227
226
  // Varsayılan çeviri metinlerini, gelen prop ile birleştiriyoruz.
228
227
  var finalTranslations = __assign(__assign({}, exports.defaultTranslations), translations);
229
228
  var _a = (0, react_1.useState)([]), previews = _a[0], setPreviews = _a[1];
@@ -233,12 +232,12 @@ var CustomFileUploader = (0, react_1.forwardRef)(function (props, ref) {
233
232
  validateReady: function () {
234
233
  var hasPending = previews.some(function (p) { return !p.uploaded; });
235
234
  if (hasPending) {
236
- react_toastify_1.toast.warning(finalTranslations.pendingBeforeSubmitWarning || exports.defaultTranslations.pendingBeforeSubmitWarning);
235
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.warning(finalTranslations.pendingBeforeSubmitWarning || exports.defaultTranslations.pendingBeforeSubmitWarning);
237
236
  return false;
238
237
  }
239
238
  return true;
240
239
  }
241
- }); }, [previews, finalTranslations]);
240
+ }); }, [previews, finalTranslations, onNotify]);
242
241
  // CustomFileUploader.tsx içinde component’in üst kısmına, diğer handler’ların yanına ekleyin:
243
242
  var handleClearAll = function () {
244
243
  previews.forEach(function (item) {
@@ -280,22 +279,22 @@ var CustomFileUploader = (0, react_1.forwardRef)(function (props, ref) {
280
279
  var currentCount = multi ? previews.length : (previews.length > 0 ? 1 : 0);
281
280
  var availableSlots = multi ? maxFile - currentCount : (currentCount === 0 ? 1 : 0);
282
281
  if (availableSlots <= 0) {
283
- react_toastify_1.toast.warning(finalTranslations.uploadWarningLimit);
282
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.warning(finalTranslations.uploadWarningLimit);
284
283
  return;
285
284
  }
286
285
  var filesToAdd = filesArray.slice(0, availableSlots);
287
286
  if (filesArray.length > availableSlots) {
288
- react_toastify_1.toast.warning(finalTranslations.uploadWarningExceed + availableSlots);
287
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.warning(finalTranslations.uploadWarningExceed + availableSlots);
289
288
  }
290
289
  var newPreviews = [];
291
290
  filesToAdd.forEach(function (file, index) {
292
291
  if (file.size > maxSize) {
293
292
  // Dosya adını eklemek için file.name'i dışarıda ekliyoruz.
294
- react_toastify_1.toast.error(file.name + " " + finalTranslations.fileSizeError);
293
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.error(file.name + " " + finalTranslations.fileSizeError);
295
294
  return;
296
295
  }
297
296
  if (!isAllowedFileType(file, allowedTypes)) {
298
- react_toastify_1.toast.error(file.name + " " + finalTranslations.fileTypeError);
297
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.error(file.name + " " + finalTranslations.fileTypeError);
299
298
  return;
300
299
  }
301
300
  var isImg = allowedTypes === AllowedTypes.IMAGE || (allowedTypes === AllowedTypes.VISUAL && isImageFile(file));
@@ -357,7 +356,8 @@ var CustomFileUploader = (0, react_1.forwardRef)(function (props, ref) {
357
356
  onUploadingChange === null || onUploadingChange === void 0 ? void 0 : onUploadingChange(true);
358
357
  filesToUpload = previews.filter(function (item) { return !item.uploaded; }).map(function (item) { return item.file; });
359
358
  if (filesToUpload.length === 0) {
360
- react_toastify_1.toast.warning(finalTranslations.noFileSelectedWarning);
359
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.warning(finalTranslations.noFileSelectedWarning);
360
+ onUploadingChange === null || onUploadingChange === void 0 ? void 0 : onUploadingChange(false);
361
361
  return [2 /*return*/];
362
362
  }
363
363
  // Yüklenmeye başlayan dosyaları işaretle
@@ -401,23 +401,23 @@ var CustomFileUploader = (0, react_1.forwardRef)(function (props, ref) {
401
401
  updatePendingStatus(updatedPreviews);
402
402
  return updatedPreviews;
403
403
  });
404
- react_toastify_1.toast.success(finalTranslations.uploadSuccessToast);
404
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.success(finalTranslations.uploadSuccessToast);
405
405
  }
406
406
  else {
407
- react_toastify_1.toast.error(finalTranslations.uploadErrorToast);
407
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.error(finalTranslations.uploadErrorToast);
408
408
  }
409
409
  return [3 /*break*/, 6];
410
410
  case 4: return [4 /*yield*/, response.json()];
411
411
  case 5:
412
412
  errorData = _a.sent();
413
413
  console.error("API Hatası:", errorData);
414
- react_toastify_1.toast.error(finalTranslations.uploadErrorToast);
414
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.error(finalTranslations.uploadErrorToast);
415
415
  _a.label = 6;
416
416
  case 6: return [3 /*break*/, 9];
417
417
  case 7:
418
418
  error_1 = _a.sent();
419
419
  console.error("API çağrısında hata:", error_1);
420
- react_toastify_1.toast.error(finalTranslations.uploadErrorToast);
420
+ onNotify === null || onNotify === void 0 ? void 0 : onNotify.error(finalTranslations.uploadErrorToast);
421
421
  return [3 /*break*/, 9];
422
422
  case 8:
423
423
  onUploadingChange === null || onUploadingChange === void 0 ? void 0 : onUploadingChange(false);
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { Notify } from "../types/notify";
2
3
  import { TreeNode } from "./CustomTreeView";
3
4
  import { AllowedTypes, FileUploaderTranslations } from "./CustomFileUploader";
4
5
  declare enum ElementType {
@@ -220,6 +221,7 @@ interface CustomFormProps {
220
221
  showConfirmButton?: boolean;
221
222
  showCancelButton?: boolean;
222
223
  fileUploaderCheck?: () => boolean;
224
+ onNotify?: Notify;
223
225
  }
224
226
  declare const CustomForm: React.FC<CustomFormProps>;
225
227
  export { CustomForm, ElementType };
@@ -76,7 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
76
76
  exports.ElementType = exports.CustomForm = void 0;
77
77
  //CustomForm.tsx
78
78
  var react_1 = __importStar(require("react"));
79
- var react_toastify_1 = require("react-toastify");
79
+ var notify_1 = require("../types/notify");
80
80
  var CustomButton_1 = __importDefault(require("./CustomButton"));
81
81
  var CustomInput_1 = __importDefault(require("./CustomInput"));
82
82
  var CustomTextarea_1 = __importDefault(require("./CustomTextarea"));
@@ -118,7 +118,8 @@ var CustomForm = function (_a) {
118
118
  handleCancel = _a.handleCancel, _d = _a.showConfirmButton, showConfirmButton = _d === void 0 ? true : _d, // Varsayılan olarak görünür
119
119
  _e = _a.showCancelButton, // Varsayılan olarak görünür
120
120
  showCancelButton = _e === void 0 ? false : _e, // Varsayılan olarak görünür
121
- fileUploaderCheck = _a.fileUploaderCheck;
121
+ fileUploaderCheck = _a.fileUploaderCheck, onNotify = _a.onNotify;
122
+ var notify = onNotify !== null && onNotify !== void 0 ? onNotify : notify_1.noopNotify;
122
123
  var formRef = (0, react_1.useRef)(null);
123
124
  var _f = (0, react_1.useState)(false), isLoading = _f[0], setIsLoading = _f[1];
124
125
  var _g = (0, react_1.useState)(false), submitted = _g[0], setSubmitted = _g[1];
@@ -222,14 +223,14 @@ var CustomForm = function (_a) {
222
223
  return [3 /*break*/, 5];
223
224
  case 3:
224
225
  error_1 = _b.sent();
225
- react_toastify_1.toast.error("Form gönderimi sırasında bir hata oluştu.");
226
+ notify.error("Form gönderimi sırasında bir hata oluştu.");
226
227
  return [3 /*break*/, 5];
227
228
  case 4:
228
229
  setIsLoading(false);
229
230
  return [7 /*endfinally*/];
230
231
  case 5: return [3 /*break*/, 7];
231
232
  case 6:
232
- react_toastify_1.toast.error("Gerekli tüm alanları doldurunuz.");
233
+ notify.error("Gerekli tüm alanları doldurunuz.");
233
234
  form.classList.add("was-validated");
234
235
  _b.label = 7;
235
236
  case 7: return [2 /*return*/];
@@ -264,7 +265,7 @@ var CustomForm = function (_a) {
264
265
  } }))) : element.type === ElementType.DATETIMEPICKER ? (react_1.default.createElement(CustomDateTimePicker_1.default, __assign({}, element, { submitted: submitted }))) : 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))) : element.type === ElementType.TREEVIEW ? (react_1.default.createElement(CustomTreeView_1.default, __assign({}, element, { submitted: submitted }))) : element.type === ElementType.BUTTON ? (react_1.default.createElement(CustomButton_1.default, __assign({}, element, { isLoading: isLoading }))) : element.type === ElementType.AUTOCOMPLETEINPUT ? (react_1.default.createElement(CustomAutocompleteInput_1.default, __assign({}, element))) : element.type === ElementType.PHONE ? (react_1.default.createElement(CustomPhoneInput_1.default, __assign({}, element))) : element.type === ElementType.FILEUPLOADER ? (
265
266
  // FILEUPLOADER elemanı için CustomFileUploader'ı render ediyoruz
266
267
  react_1.default.createElement(react_1.default.Fragment, null,
267
- react_1.default.createElement(CustomFileUploader_1.default, { ref: getUploaderRefCb(element.id), url: element.url, multi: element.multi, allowedTypes: element.allowedTypes, maxFile: element.maxFile, maxSize: element.maxSize, onUploadComplete: element.onUploadComplete, onRemoveUploaded: element.onRemoveUploaded, onPendingChange: element.onPendingChange, clearTrigger: element.clearTrigger, label: element.label, translations: element.translations, onUploadingChange: setIsUploading }))) : null)); })));
268
+ react_1.default.createElement(CustomFileUploader_1.default, { ref: getUploaderRefCb(element.id), url: element.url, multi: element.multi, allowedTypes: element.allowedTypes, maxFile: element.maxFile, maxSize: element.maxSize, onUploadComplete: element.onUploadComplete, onRemoveUploaded: element.onRemoveUploaded, onPendingChange: element.onPendingChange, clearTrigger: element.clearTrigger, label: element.label, translations: element.translations, onUploadingChange: setIsUploading, onNotify: onNotify }))) : null)); })));
268
269
  })));
269
270
  })));
270
271
  }),
package/dist/index.d.ts CHANGED
@@ -1,12 +1,15 @@
1
1
  import AlbinaForm from './components/AlbinaForm';
2
+ import CustomAutocompleteInput from './components/CustomAutocompleteInput';
2
3
  import CustomButton from './components/CustomButton';
3
4
  import CustomCheckbox from './components/CustomCheckbox';
5
+ import CustomDatatable from './components/CustomDatatable';
4
6
  import CustomDateTimePicker from './components/CustomDateTimePicker';
5
7
  import CustomDivider from './components/CustomDivider';
6
- import CustomForm from './components/CustomForm';
8
+ import CustomFileUploader from './components/CustomFileUploader';
7
9
  import CustomInput from './components/CustomInput';
8
10
  import CustomModal from './components/CustomModal';
9
11
  import CustomPhoneInput from './components/CustomPhoneInput';
12
+ import CustomProgressBar from './components/CustomProgressBar';
10
13
  import CustomRadioButton from './components/CustomRadioButton';
11
14
  import CustomRichTextbox from './components/CustomRichTextbox';
12
15
  import CustomSelect from './components/CustomSelect';
@@ -14,9 +17,8 @@ import CustomSimpleSelect from './components/CustomSimpleSelect';
14
17
  import CustomTab from './components/CustomTab';
15
18
  import CustomText from './components/CustomText';
16
19
  import CustomTextarea from './components/CustomTextarea';
17
- import CustomTreeView from './components/CustomTreeView';
18
- import CustomAutocompleteInput from './components/CustomAutocompleteInput';
19
- import CustomProgressBar from './components/CustomProgressBar';
20
20
  import CustomTimeline from './components/CustomTimeline';
21
- import CustomDatatable from './components/CustomDatatable';
22
- export { AlbinaForm, CustomButton, CustomCheckbox, CustomDateTimePicker, CustomDivider, CustomForm, CustomInput, CustomModal, CustomPhoneInput, CustomRadioButton, CustomRichTextbox, CustomSelect, CustomSimpleSelect, CustomTab, CustomText, CustomTextarea, CustomTreeView, CustomAutocompleteInput, CustomProgressBar, CustomTimeline, CustomDatatable, };
21
+ import CustomTreeView from './components/CustomTreeView';
22
+ export { AlbinaForm, CustomAutocompleteInput, CustomButton, CustomCheckbox, CustomDatatable, CustomDateTimePicker, CustomDivider, CustomFileUploader, CustomInput, CustomModal, CustomPhoneInput, CustomProgressBar, CustomRadioButton, CustomRichTextbox, CustomSelect, CustomSimpleSelect, CustomTab, CustomText, CustomTextarea, CustomTimeline, CustomTreeView, };
23
+ export type { Notify, noopNotify } from "./types/notify";
24
+ export { default as CustomForm, ElementType } from './components/CustomForm';
package/dist/index.js CHANGED
@@ -3,25 +3,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CustomDatatable = exports.CustomTimeline = exports.CustomProgressBar = exports.CustomAutocompleteInput = exports.CustomTreeView = exports.CustomTextarea = exports.CustomText = exports.CustomTab = exports.CustomSimpleSelect = exports.CustomSelect = exports.CustomRichTextbox = exports.CustomRadioButton = exports.CustomPhoneInput = exports.CustomModal = exports.CustomInput = exports.CustomForm = exports.CustomDivider = exports.CustomDateTimePicker = exports.CustomCheckbox = exports.CustomButton = exports.AlbinaForm = void 0;
6
+ exports.ElementType = exports.CustomForm = exports.CustomTreeView = exports.CustomTimeline = exports.CustomTextarea = exports.CustomText = exports.CustomTab = exports.CustomSimpleSelect = exports.CustomSelect = exports.CustomRichTextbox = exports.CustomRadioButton = exports.CustomProgressBar = exports.CustomPhoneInput = exports.CustomModal = exports.CustomInput = exports.CustomFileUploader = exports.CustomDivider = exports.CustomDateTimePicker = exports.CustomDatatable = exports.CustomCheckbox = exports.CustomButton = exports.CustomAutocompleteInput = exports.AlbinaForm = void 0;
7
7
  var AlbinaForm_1 = __importDefault(require("./components/AlbinaForm"));
8
8
  exports.AlbinaForm = AlbinaForm_1.default;
9
+ var CustomAutocompleteInput_1 = __importDefault(require("./components/CustomAutocompleteInput"));
10
+ exports.CustomAutocompleteInput = CustomAutocompleteInput_1.default;
9
11
  var CustomButton_1 = __importDefault(require("./components/CustomButton"));
10
12
  exports.CustomButton = CustomButton_1.default;
11
13
  var CustomCheckbox_1 = __importDefault(require("./components/CustomCheckbox"));
12
14
  exports.CustomCheckbox = CustomCheckbox_1.default;
15
+ var CustomDatatable_1 = __importDefault(require("./components/CustomDatatable"));
16
+ exports.CustomDatatable = CustomDatatable_1.default;
13
17
  var CustomDateTimePicker_1 = __importDefault(require("./components/CustomDateTimePicker"));
14
18
  exports.CustomDateTimePicker = CustomDateTimePicker_1.default;
15
19
  var CustomDivider_1 = __importDefault(require("./components/CustomDivider"));
16
20
  exports.CustomDivider = CustomDivider_1.default;
17
- var CustomForm_1 = __importDefault(require("./components/CustomForm"));
18
- exports.CustomForm = CustomForm_1.default;
21
+ var CustomFileUploader_1 = __importDefault(require("./components/CustomFileUploader"));
22
+ exports.CustomFileUploader = CustomFileUploader_1.default;
19
23
  var CustomInput_1 = __importDefault(require("./components/CustomInput"));
20
24
  exports.CustomInput = CustomInput_1.default;
21
25
  var CustomModal_1 = __importDefault(require("./components/CustomModal"));
22
26
  exports.CustomModal = CustomModal_1.default;
23
27
  var CustomPhoneInput_1 = __importDefault(require("./components/CustomPhoneInput"));
24
28
  exports.CustomPhoneInput = CustomPhoneInput_1.default;
29
+ var CustomProgressBar_1 = __importDefault(require("./components/CustomProgressBar"));
30
+ exports.CustomProgressBar = CustomProgressBar_1.default;
25
31
  var CustomRadioButton_1 = __importDefault(require("./components/CustomRadioButton"));
26
32
  exports.CustomRadioButton = CustomRadioButton_1.default;
27
33
  var CustomRichTextbox_1 = __importDefault(require("./components/CustomRichTextbox"));
@@ -36,13 +42,10 @@ var CustomText_1 = __importDefault(require("./components/CustomText"));
36
42
  exports.CustomText = CustomText_1.default;
37
43
  var CustomTextarea_1 = __importDefault(require("./components/CustomTextarea"));
38
44
  exports.CustomTextarea = CustomTextarea_1.default;
39
- var CustomTreeView_1 = __importDefault(require("./components/CustomTreeView"));
40
- exports.CustomTreeView = CustomTreeView_1.default;
41
- var CustomAutocompleteInput_1 = __importDefault(require("./components/CustomAutocompleteInput"));
42
- exports.CustomAutocompleteInput = CustomAutocompleteInput_1.default;
43
- var CustomProgressBar_1 = __importDefault(require("./components/CustomProgressBar"));
44
- exports.CustomProgressBar = CustomProgressBar_1.default;
45
45
  var CustomTimeline_1 = __importDefault(require("./components/CustomTimeline"));
46
46
  exports.CustomTimeline = CustomTimeline_1.default;
47
- var CustomDatatable_1 = __importDefault(require("./components/CustomDatatable"));
48
- exports.CustomDatatable = CustomDatatable_1.default;
47
+ var CustomTreeView_1 = __importDefault(require("./components/CustomTreeView"));
48
+ exports.CustomTreeView = CustomTreeView_1.default;
49
+ var CustomForm_1 = require("./components/CustomForm");
50
+ Object.defineProperty(exports, "CustomForm", { enumerable: true, get: function () { return __importDefault(CustomForm_1).default; } });
51
+ Object.defineProperty(exports, "ElementType", { enumerable: true, get: function () { return CustomForm_1.ElementType; } });
@@ -0,0 +1,6 @@
1
+ export interface Notify {
2
+ success: (message: string) => void;
3
+ error: (message: string) => void;
4
+ warning: (message: string) => void;
5
+ }
6
+ export declare const noopNotify: Notify;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noopNotify = void 0;
4
+ exports.noopNotify = {
5
+ success: function () { },
6
+ error: function () { },
7
+ warning: function () { },
8
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "albinasoft-ui-package",
3
- "version": "1.1.56",
3
+ "version": "1.1.57",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -25,7 +25,6 @@
25
25
  "devDependencies": {
26
26
  "react": "^18.0.0",
27
27
  "react-dom": "^18.0.0",
28
- "react-toastify": "^10.0.6",
29
28
  "@types/react": "^19.0.1",
30
29
  "@types/react-bootstrap": "^0.32.37",
31
30
  "@types/react-input-mask": "^3.0.6",
@@ -34,8 +33,7 @@
34
33
  },
35
34
  "peerDependencies": {
36
35
  "react": "^18.0.0",
37
- "react-dom": "^18.0.0",
38
- "react-toastify": "^10.0.0"
36
+ "react-dom": "^18.0.0"
39
37
  },
40
38
  "files": [
41
39
  "dist"