@apexcura/ui-components 0.0.14-Beta26 → 0.0.14-Beta4

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.d.mts CHANGED
@@ -26,8 +26,6 @@ type ElementType = {
26
26
  fields?: any[];
27
27
  schema?: any[];
28
28
  options?: any[];
29
- firstOptions: any[];
30
- secondOptions: any[];
31
29
  onChange?: (value: string | number | boolean | object | any[] | undefined) => void;
32
30
  onClick?: () => void;
33
31
  dropDownOptions?: any[];
@@ -108,6 +106,4 @@ declare const FileUpload: (props: ElementType) => React$1.JSX.Element;
108
106
 
109
107
  declare const TabsElement: (props: ElementType) => React$1.JSX.Element;
110
108
 
111
- declare const SwitchElement: () => React$1.JSX.Element;
112
-
113
- export { AddMoreTable, ButtonElement, CheckboxElement, CkEditor, DatePickerElement, DateRangePickerElement, DropDownGroup, FileUpload, Image, MultipleSelectElement, Navbar, NumberElement, PasswordElement, RadioElement, SelectElement, Sidebar, SingleCheckbox, SingleSelectElement, SwitchElement, TableElement, TabsElement, TextElement, TextareaElement };
109
+ export { AddMoreTable, ButtonElement, CheckboxElement, CkEditor, DatePickerElement, DateRangePickerElement, DropDownGroup, FileUpload, Image, MultipleSelectElement, Navbar, NumberElement, PasswordElement, RadioElement, SelectElement, Sidebar, SingleCheckbox, SingleSelectElement, TableElement, TabsElement, TextElement, TextareaElement };
package/dist/index.d.ts CHANGED
@@ -26,8 +26,6 @@ type ElementType = {
26
26
  fields?: any[];
27
27
  schema?: any[];
28
28
  options?: any[];
29
- firstOptions: any[];
30
- secondOptions: any[];
31
29
  onChange?: (value: string | number | boolean | object | any[] | undefined) => void;
32
30
  onClick?: () => void;
33
31
  dropDownOptions?: any[];
@@ -108,6 +106,4 @@ declare const FileUpload: (props: ElementType) => React$1.JSX.Element;
108
106
 
109
107
  declare const TabsElement: (props: ElementType) => React$1.JSX.Element;
110
108
 
111
- declare const SwitchElement: () => React$1.JSX.Element;
112
-
113
- export { AddMoreTable, ButtonElement, CheckboxElement, CkEditor, DatePickerElement, DateRangePickerElement, DropDownGroup, FileUpload, Image, MultipleSelectElement, Navbar, NumberElement, PasswordElement, RadioElement, SelectElement, Sidebar, SingleCheckbox, SingleSelectElement, SwitchElement, TableElement, TabsElement, TextElement, TextareaElement };
109
+ export { AddMoreTable, ButtonElement, CheckboxElement, CkEditor, DatePickerElement, DateRangePickerElement, DropDownGroup, FileUpload, Image, MultipleSelectElement, Navbar, NumberElement, PasswordElement, RadioElement, SelectElement, Sidebar, SingleCheckbox, SingleSelectElement, TableElement, TabsElement, TextElement, TextareaElement };
package/dist/index.js CHANGED
@@ -48,7 +48,6 @@ __export(src_exports, {
48
48
  Sidebar: () => Sidebar,
49
49
  SingleCheckbox: () => SingleCheckbox,
50
50
  SingleSelectElement: () => SingleSelectElement,
51
- SwitchElement: () => SwitchElement,
52
51
  TableElement: () => TableElement,
53
52
  TabsElement: () => TabsElement,
54
53
  TextElement: () => TextElement,
@@ -465,9 +464,9 @@ var AddMoreTable = (props) => {
465
464
  if (!element) return null;
466
465
  const { element: type, label } = element;
467
466
  if (type === "single-select") {
468
- return /* @__PURE__ */ import_react12.default.createElement(SingleSelectElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false, options1: [], options2: [], firstOptions: [], secondOptions: [] });
467
+ return /* @__PURE__ */ import_react12.default.createElement(SingleSelectElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
469
468
  } else if (type === "textarea") {
470
- return /* @__PURE__ */ import_react12.default.createElement(TextareaElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false, options1: [], options2: [], firstOptions: [], secondOptions: [] });
469
+ return /* @__PURE__ */ import_react12.default.createElement(TextareaElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
471
470
  } else {
472
471
  return null;
473
472
  }
@@ -668,6 +667,11 @@ var TableElement = (props) => {
668
667
  dataIndex: "#",
669
668
  key: "#"
670
669
  },
670
+ {
671
+ title: "View",
672
+ dataIndex: "View",
673
+ key: "View"
674
+ },
671
675
  ...thead.map((col, ind) => ({
672
676
  title: col.label,
673
677
  dataIndex: col.name,
@@ -682,28 +686,13 @@ var TableElement = (props) => {
682
686
  }
683
687
  }
684
688
  }
685
- })),
686
- {
687
- title: "View",
688
- dataIndex: "View",
689
- key: "View",
690
- render: (_, record) => /* @__PURE__ */ import_react20.default.createElement(
691
- "a",
692
- {
693
- onClick: () => {
694
- setSelectedRecord(record);
695
- handleChange(record);
696
- setModel(true);
697
- }
698
- },
699
- "View"
700
- )
701
- }
689
+ }))
702
690
  ];
703
691
  }
704
692
  const dataSource = tbody && tbody.map((row, index) => ({
705
693
  ...row,
706
- [columns[0].key]: index + 1
694
+ [columns[0].key]: index + 1,
695
+ [columns[-1].key]: "View"
707
696
  }));
708
697
  const count = dataSource ? dataSource.length : 0;
709
698
  const onChangePage = (page, pageSize) => {
@@ -732,7 +721,17 @@ var TableElement = (props) => {
732
721
  columns,
733
722
  bordered: true,
734
723
  rowSelection: rowSelectionConfig,
735
- size: props.size && props.size
724
+ size: props.size && props.size,
725
+ onRow: (record) => {
726
+ return {
727
+ onClick: () => {
728
+ setSelectedRecord(record);
729
+ handleChange(record);
730
+ setModel(true);
731
+ },
732
+ style: { cursor: "pointer" }
733
+ };
734
+ }
736
735
  }
737
736
  ), model && /* @__PURE__ */ import_react20.default.createElement(ModelElement, { selectedRecord, ...props, columns, model, onCancel: () => setModel(false) }));
738
737
  };
@@ -740,32 +739,53 @@ var TableElement = (props) => {
740
739
  // src/Components/DatePicker.tsx
741
740
  var import_react21 = __toESM(require("react"));
742
741
  var import_antd15 = require("antd");
742
+ var import_icons4 = require("@ant-design/icons");
743
+ var import_moment = __toESM(require("moment"));
743
744
  var DatePickerElement = (props) => {
744
- const [dateState, setDateState] = (0, import_react21.useState)("");
745
- const dateFormat = "DD/MM/YYYY";
746
- const handleChange = (date, dateString) => {
747
- if (date) {
748
- const formattedDate = date.format(dateFormat);
749
- setDateState(formattedDate);
745
+ const [date, setDate] = (0, import_react21.useState)(null);
746
+ const handleChange = (date2, dateString) => {
747
+ console.log("date---------", date2);
748
+ console.log("datestring", dateString);
749
+ if (date2) {
750
+ const formattedDate = dateString;
751
+ console.log("formattedDate-----------------", formattedDate);
752
+ setDate(date2);
753
+ console.log("changedDate------------", date2);
750
754
  if (props.onChange) {
751
755
  props.onChange(formattedDate);
752
756
  }
753
757
  } else {
754
- setDateState("");
758
+ setDate(null);
755
759
  if (props.onChange) {
756
760
  props.onChange("");
757
761
  }
758
762
  }
759
763
  };
760
- return /* @__PURE__ */ import_react21.default.createElement("div", null, /* @__PURE__ */ import_react21.default.createElement(
764
+ const onHandleDecrement = () => {
765
+ const currentDate = date || (0, import_moment.default)();
766
+ const newDate = (0, import_moment.default)(currentDate).subtract(1, "days");
767
+ setDate(newDate);
768
+ if (props.onChange) {
769
+ props.onChange(newDate.format("lll"));
770
+ }
771
+ };
772
+ const onHandleIncrement = () => {
773
+ const currentDate = date || (0, import_moment.default)();
774
+ const newDate = (0, import_moment.default)(currentDate).add(1, "days");
775
+ setDate(newDate);
776
+ if (props.onChange) {
777
+ props.onChange(newDate.format("lll"));
778
+ }
779
+ };
780
+ return /* @__PURE__ */ import_react21.default.createElement("div", null, /* @__PURE__ */ import_react21.default.createElement("button", { onClick: onHandleDecrement }, /* @__PURE__ */ import_react21.default.createElement(import_icons4.LeftOutlined, null)), /* @__PURE__ */ import_react21.default.createElement(
761
781
  import_antd15.DatePicker,
762
782
  {
763
783
  placeholder: props.placeholder,
764
- value: dateState,
784
+ value: date,
765
785
  variant: "borderless",
766
786
  onChange: handleChange
767
787
  }
768
- ));
788
+ ), /* @__PURE__ */ import_react21.default.createElement("button", { onClick: onHandleIncrement }, /* @__PURE__ */ import_react21.default.createElement(import_icons4.RightOutlined, null)));
769
789
  };
770
790
 
771
791
  // src/Components/DateRangePickerElement.tsx
@@ -812,42 +832,33 @@ var SingleCheckbox = (props) => {
812
832
  var import_react25 = __toESM(require("react"));
813
833
  var import_antd18 = require("antd");
814
834
  var DropDownGroup = (props) => {
815
- const [selectedValue, setSelectedValue] = (0, import_react25.useState)({
816
- firstValue: {},
817
- secondValue: {}
818
- });
835
+ const [selectedValue, setSelectedValue] = (0, import_react25.useState)({ firstValue: {}, secondValue: {} });
819
836
  const handleFirstChange = (value) => {
820
- const filterOption2 = props.firstOptions?.find(
821
- (eachOption) => eachOption.value === value
822
- );
837
+ const filterOption2 = props.options?.find((eachOption) => eachOption.value === value);
823
838
  setSelectedValue((prev) => {
824
839
  const newValue = { ...prev, firstValue: filterOption2 };
825
840
  if (newValue.firstValue) {
826
841
  props.onChange?.(newValue);
827
842
  }
828
- console.log("selectedValue1=====", selectedValue);
829
843
  return selectedValue;
830
844
  });
831
845
  };
832
846
  const handleSecondChange = (value) => {
833
- const filterOption2 = props.secondOptions?.find(
834
- (eachOption) => eachOption.value === value
835
- );
847
+ const filterOption2 = props.options?.find((eachOption) => eachOption.value === value);
836
848
  setSelectedValue((prev) => {
837
849
  const newValue = { ...prev, secondValue: filterOption2 };
838
850
  if (newValue.secondValue) {
839
851
  props.onChange?.(newValue);
840
852
  }
841
- console.log("selectedValue2=====", selectedValue);
842
853
  return selectedValue;
843
854
  });
844
855
  };
845
- return /* @__PURE__ */ import_react25.default.createElement("div", { className: props.containerClassName }, props.label && /* @__PURE__ */ import_react25.default.createElement("label", { htmlFor: props.name, className: props.labelClassName }, props.label), /* @__PURE__ */ import_react25.default.createElement("div", { className: props.subContainerClassName }, /* @__PURE__ */ import_react25.default.createElement(
856
+ return /* @__PURE__ */ import_react25.default.createElement("div", { className: props.containerClassName }, /* @__PURE__ */ import_react25.default.createElement(
846
857
  import_antd18.Select,
847
858
  {
848
859
  onChange: handleFirstChange,
849
860
  variant: props.variant,
850
- options: props.firstOptions,
861
+ options: props.options,
851
862
  className: props.className
852
863
  }
853
864
  ), /* @__PURE__ */ import_react25.default.createElement("div", { style: { borderLeft: "1px solid gray", height: "33px" } }), /* @__PURE__ */ import_react25.default.createElement(
@@ -855,19 +866,27 @@ var DropDownGroup = (props) => {
855
866
  {
856
867
  onChange: handleSecondChange,
857
868
  variant: props.variant,
858
- options: props.secondOptions,
869
+ options: props.options,
859
870
  className: props.className
860
871
  }
861
- )));
872
+ ));
862
873
  };
863
874
 
864
875
  // src/Components/FilesUpload.tsx
865
876
  var import_react26 = __toESM(require("react"));
866
877
  var import_antd19 = require("antd");
867
- var import_icons4 = require("@ant-design/icons");
878
+ var import_icons5 = require("@ant-design/icons");
868
879
  var FileUpload = (props) => {
869
880
  const { Dragger } = import_antd19.Upload;
870
881
  const [files, setFiles] = (0, import_react26.useState)([]);
882
+ const beforeUpload = (file) => {
883
+ const isCorrectFile = ["image/png", "image/jpg", "image/jpeg", "application/pdf"].includes(file.type);
884
+ if (!isCorrectFile) {
885
+ import_antd19.message.error(`(${file.name}) is an invalid file. Please upload files with the following extensions only (.png/.jpg/.jpeg/.pdf)`);
886
+ return import_antd19.Upload.LIST_IGNORE;
887
+ }
888
+ return true;
889
+ };
871
890
  const handleChange = ({ fileList }) => {
872
891
  setFiles(fileList);
873
892
  if (props.onChange) {
@@ -891,11 +910,12 @@ var FileUpload = (props) => {
891
910
  maxCount: props.max_count,
892
911
  multiple: props.multiple,
893
912
  fileList: files,
913
+ beforeUpload,
894
914
  onChange: handleChange,
895
915
  showUploadList: true,
896
916
  customRequest
897
917
  },
898
- /* @__PURE__ */ import_react26.default.createElement("p", null, /* @__PURE__ */ import_react26.default.createElement(import_icons4.InboxOutlined, null)),
918
+ /* @__PURE__ */ import_react26.default.createElement("p", null, /* @__PURE__ */ import_react26.default.createElement(import_icons5.InboxOutlined, null)),
899
919
  /* @__PURE__ */ import_react26.default.createElement("p", null, "Click or drag file to upload")
900
920
  ));
901
921
  };
@@ -911,14 +931,6 @@ var TabsElement = (props) => {
911
931
  };
912
932
  return /* @__PURE__ */ import_react27.default.createElement(import_antd20.Tabs, { className: props.containerClassName, items: props.options, onChange: handleChange });
913
933
  };
914
-
915
- // src/Components/SwitchElement.tsx
916
- var import_react28 = __toESM(require("react"));
917
- var import_antd21 = require("antd");
918
- var onChange = (checked) => {
919
- console.log(`switch to ${checked}`);
920
- };
921
- var SwitchElement = () => /* @__PURE__ */ import_react28.default.createElement(import_antd21.Switch, { defaultChecked: true, onChange });
922
934
  // Annotate the CommonJS export names for ESM import in node:
923
935
  0 && (module.exports = {
924
936
  AddMoreTable,
@@ -939,7 +951,6 @@ var SwitchElement = () => /* @__PURE__ */ import_react28.default.createElement(i
939
951
  Sidebar,
940
952
  SingleCheckbox,
941
953
  SingleSelectElement,
942
- SwitchElement,
943
954
  TableElement,
944
955
  TabsElement,
945
956
  TextElement,
package/dist/index.mjs CHANGED
@@ -407,9 +407,9 @@ var AddMoreTable = (props) => {
407
407
  if (!element) return null;
408
408
  const { element: type, label } = element;
409
409
  if (type === "single-select") {
410
- return /* @__PURE__ */ React12.createElement(SingleSelectElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false, options1: [], options2: [], firstOptions: [], secondOptions: [] });
410
+ return /* @__PURE__ */ React12.createElement(SingleSelectElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
411
411
  } else if (type === "textarea") {
412
- return /* @__PURE__ */ React12.createElement(TextareaElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false, options1: [], options2: [], firstOptions: [], secondOptions: [] });
412
+ return /* @__PURE__ */ React12.createElement(TextareaElement, { onChange: (value2) => console.log(label, value2), optionType: "", className: void 0, selectedStyle: false, style: false });
413
413
  } else {
414
414
  return null;
415
415
  }
@@ -610,6 +610,11 @@ var TableElement = (props) => {
610
610
  dataIndex: "#",
611
611
  key: "#"
612
612
  },
613
+ {
614
+ title: "View",
615
+ dataIndex: "View",
616
+ key: "View"
617
+ },
613
618
  ...thead.map((col, ind) => ({
614
619
  title: col.label,
615
620
  dataIndex: col.name,
@@ -624,28 +629,13 @@ var TableElement = (props) => {
624
629
  }
625
630
  }
626
631
  }
627
- })),
628
- {
629
- title: "View",
630
- dataIndex: "View",
631
- key: "View",
632
- render: (_, record) => /* @__PURE__ */ React20.createElement(
633
- "a",
634
- {
635
- onClick: () => {
636
- setSelectedRecord(record);
637
- handleChange(record);
638
- setModel(true);
639
- }
640
- },
641
- "View"
642
- )
643
- }
632
+ }))
644
633
  ];
645
634
  }
646
635
  const dataSource = tbody && tbody.map((row, index) => ({
647
636
  ...row,
648
- [columns[0].key]: index + 1
637
+ [columns[0].key]: index + 1,
638
+ [columns[-1].key]: "View"
649
639
  }));
650
640
  const count = dataSource ? dataSource.length : 0;
651
641
  const onChangePage = (page, pageSize) => {
@@ -674,7 +664,17 @@ var TableElement = (props) => {
674
664
  columns,
675
665
  bordered: true,
676
666
  rowSelection: rowSelectionConfig,
677
- size: props.size && props.size
667
+ size: props.size && props.size,
668
+ onRow: (record) => {
669
+ return {
670
+ onClick: () => {
671
+ setSelectedRecord(record);
672
+ handleChange(record);
673
+ setModel(true);
674
+ },
675
+ style: { cursor: "pointer" }
676
+ };
677
+ }
678
678
  }
679
679
  ), model && /* @__PURE__ */ React20.createElement(ModelElement, { selectedRecord, ...props, columns, model, onCancel: () => setModel(false) }));
680
680
  };
@@ -682,32 +682,53 @@ var TableElement = (props) => {
682
682
  // src/Components/DatePicker.tsx
683
683
  import React21, { useState as useState6 } from "react";
684
684
  import { DatePicker } from "antd";
685
+ import { LeftOutlined, RightOutlined } from "@ant-design/icons";
686
+ import moment from "moment";
685
687
  var DatePickerElement = (props) => {
686
- const [dateState, setDateState] = useState6("");
687
- const dateFormat = "DD/MM/YYYY";
688
- const handleChange = (date, dateString) => {
689
- if (date) {
690
- const formattedDate = date.format(dateFormat);
691
- setDateState(formattedDate);
688
+ const [date, setDate] = useState6(null);
689
+ const handleChange = (date2, dateString) => {
690
+ console.log("date---------", date2);
691
+ console.log("datestring", dateString);
692
+ if (date2) {
693
+ const formattedDate = dateString;
694
+ console.log("formattedDate-----------------", formattedDate);
695
+ setDate(date2);
696
+ console.log("changedDate------------", date2);
692
697
  if (props.onChange) {
693
698
  props.onChange(formattedDate);
694
699
  }
695
700
  } else {
696
- setDateState("");
701
+ setDate(null);
697
702
  if (props.onChange) {
698
703
  props.onChange("");
699
704
  }
700
705
  }
701
706
  };
702
- return /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement(
707
+ const onHandleDecrement = () => {
708
+ const currentDate = date || moment();
709
+ const newDate = moment(currentDate).subtract(1, "days");
710
+ setDate(newDate);
711
+ if (props.onChange) {
712
+ props.onChange(newDate.format("lll"));
713
+ }
714
+ };
715
+ const onHandleIncrement = () => {
716
+ const currentDate = date || moment();
717
+ const newDate = moment(currentDate).add(1, "days");
718
+ setDate(newDate);
719
+ if (props.onChange) {
720
+ props.onChange(newDate.format("lll"));
721
+ }
722
+ };
723
+ return /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("button", { onClick: onHandleDecrement }, /* @__PURE__ */ React21.createElement(LeftOutlined, null)), /* @__PURE__ */ React21.createElement(
703
724
  DatePicker,
704
725
  {
705
726
  placeholder: props.placeholder,
706
- value: dateState,
727
+ value: date,
707
728
  variant: "borderless",
708
729
  onChange: handleChange
709
730
  }
710
- ));
731
+ ), /* @__PURE__ */ React21.createElement("button", { onClick: onHandleIncrement }, /* @__PURE__ */ React21.createElement(RightOutlined, null)));
711
732
  };
712
733
 
713
734
  // src/Components/DateRangePickerElement.tsx
@@ -754,42 +775,33 @@ var SingleCheckbox = (props) => {
754
775
  import React25, { useState as useState7 } from "react";
755
776
  import { Select as Select4 } from "antd";
756
777
  var DropDownGroup = (props) => {
757
- const [selectedValue, setSelectedValue] = useState7({
758
- firstValue: {},
759
- secondValue: {}
760
- });
778
+ const [selectedValue, setSelectedValue] = useState7({ firstValue: {}, secondValue: {} });
761
779
  const handleFirstChange = (value) => {
762
- const filterOption2 = props.firstOptions?.find(
763
- (eachOption) => eachOption.value === value
764
- );
780
+ const filterOption2 = props.options?.find((eachOption) => eachOption.value === value);
765
781
  setSelectedValue((prev) => {
766
782
  const newValue = { ...prev, firstValue: filterOption2 };
767
783
  if (newValue.firstValue) {
768
784
  props.onChange?.(newValue);
769
785
  }
770
- console.log("selectedValue1=====", selectedValue);
771
786
  return selectedValue;
772
787
  });
773
788
  };
774
789
  const handleSecondChange = (value) => {
775
- const filterOption2 = props.secondOptions?.find(
776
- (eachOption) => eachOption.value === value
777
- );
790
+ const filterOption2 = props.options?.find((eachOption) => eachOption.value === value);
778
791
  setSelectedValue((prev) => {
779
792
  const newValue = { ...prev, secondValue: filterOption2 };
780
793
  if (newValue.secondValue) {
781
794
  props.onChange?.(newValue);
782
795
  }
783
- console.log("selectedValue2=====", selectedValue);
784
796
  return selectedValue;
785
797
  });
786
798
  };
787
- return /* @__PURE__ */ React25.createElement("div", { className: props.containerClassName }, props.label && /* @__PURE__ */ React25.createElement("label", { htmlFor: props.name, className: props.labelClassName }, props.label), /* @__PURE__ */ React25.createElement("div", { className: props.subContainerClassName }, /* @__PURE__ */ React25.createElement(
799
+ return /* @__PURE__ */ React25.createElement("div", { className: props.containerClassName }, /* @__PURE__ */ React25.createElement(
788
800
  Select4,
789
801
  {
790
802
  onChange: handleFirstChange,
791
803
  variant: props.variant,
792
- options: props.firstOptions,
804
+ options: props.options,
793
805
  className: props.className
794
806
  }
795
807
  ), /* @__PURE__ */ React25.createElement("div", { style: { borderLeft: "1px solid gray", height: "33px" } }), /* @__PURE__ */ React25.createElement(
@@ -797,19 +809,27 @@ var DropDownGroup = (props) => {
797
809
  {
798
810
  onChange: handleSecondChange,
799
811
  variant: props.variant,
800
- options: props.secondOptions,
812
+ options: props.options,
801
813
  className: props.className
802
814
  }
803
- )));
815
+ ));
804
816
  };
805
817
 
806
818
  // src/Components/FilesUpload.tsx
807
819
  import React26, { useState as useState8 } from "react";
808
- import { Upload } from "antd";
820
+ import { Upload, message } from "antd";
809
821
  import { InboxOutlined } from "@ant-design/icons";
810
822
  var FileUpload = (props) => {
811
823
  const { Dragger } = Upload;
812
824
  const [files, setFiles] = useState8([]);
825
+ const beforeUpload = (file) => {
826
+ const isCorrectFile = ["image/png", "image/jpg", "image/jpeg", "application/pdf"].includes(file.type);
827
+ if (!isCorrectFile) {
828
+ message.error(`(${file.name}) is an invalid file. Please upload files with the following extensions only (.png/.jpg/.jpeg/.pdf)`);
829
+ return Upload.LIST_IGNORE;
830
+ }
831
+ return true;
832
+ };
813
833
  const handleChange = ({ fileList }) => {
814
834
  setFiles(fileList);
815
835
  if (props.onChange) {
@@ -833,6 +853,7 @@ var FileUpload = (props) => {
833
853
  maxCount: props.max_count,
834
854
  multiple: props.multiple,
835
855
  fileList: files,
856
+ beforeUpload,
836
857
  onChange: handleChange,
837
858
  showUploadList: true,
838
859
  customRequest
@@ -853,14 +874,6 @@ var TabsElement = (props) => {
853
874
  };
854
875
  return /* @__PURE__ */ React27.createElement(Tabs, { className: props.containerClassName, items: props.options, onChange: handleChange });
855
876
  };
856
-
857
- // src/Components/SwitchElement.tsx
858
- import React28 from "react";
859
- import { Switch } from "antd";
860
- var onChange = (checked) => {
861
- console.log(`switch to ${checked}`);
862
- };
863
- var SwitchElement = () => /* @__PURE__ */ React28.createElement(Switch, { defaultChecked: true, onChange });
864
877
  export {
865
878
  AddMoreTable,
866
879
  ButtonElement,
@@ -880,7 +893,6 @@ export {
880
893
  Sidebar,
881
894
  SingleCheckbox,
882
895
  SingleSelectElement,
883
- SwitchElement,
884
896
  TableElement,
885
897
  TabsElement,
886
898
  TextElement,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apexcura/ui-components",
3
- "version": "0.0.14-Beta26",
3
+ "version": "0.0.14-Beta4",
4
4
  "description": "Apex cura React components library",
5
5
  "keywords": [
6
6
  "apex cura",