cloudmr-ux 2.0.6 → 3.0.1

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 (206) hide show
  1. package/README.md +24 -24
  2. package/dist/CmrComponents/CmrButton/CmrButton.css +0 -0
  3. package/dist/CmrComponents/CmrButton/CmrButton.d.ts +4 -0
  4. package/dist/CmrComponents/CmrButton/CmrButton.js +30 -0
  5. package/dist/CmrComponents/CmrButton/index.d.ts +1 -0
  6. package/dist/CmrComponents/CmrButton/index.js +1 -0
  7. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.css +29 -0
  8. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.d.ts +14 -0
  9. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.js +30 -0
  10. package/dist/CmrComponents/CmrCheckbox/index.d.ts +1 -0
  11. package/dist/CmrComponents/CmrCheckbox/index.js +1 -0
  12. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.d.ts +8 -0
  13. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.js +29 -0
  14. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.scss +27 -0
  15. package/dist/CmrComponents/CmrInput/CmrInput.css +27 -0
  16. package/dist/CmrComponents/CmrInput/CmrInput.d.ts +17 -0
  17. package/dist/CmrComponents/CmrInput/CmrInput.js +29 -0
  18. package/dist/CmrComponents/CmrInput/index.d.ts +1 -0
  19. package/dist/CmrComponents/CmrInput/index.js +1 -0
  20. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.css +25 -0
  21. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.d.ts +15 -0
  22. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.js +37 -0
  23. package/dist/CmrComponents/CmrRadioGroup/index.d.ts +1 -0
  24. package/dist/CmrComponents/CmrRadioGroup/index.js +1 -0
  25. package/dist/CmrComponents/CmrSelect/CmrSelect.css +1 -0
  26. package/dist/CmrComponents/CmrSelect/CmrSelect.d.ts +24 -0
  27. package/dist/CmrComponents/CmrSelect/CmrSelect.js +46 -0
  28. package/dist/CmrComponents/CmrSelect/index.d.ts +1 -0
  29. package/dist/CmrComponents/CmrSelect/index.js +1 -0
  30. package/dist/CmrComponents/checkbox/Checkbox.css +8 -0
  31. package/dist/CmrComponents/checkbox/Checkbox.d.ts +15 -0
  32. package/dist/CmrComponents/checkbox/Checkbox.js +25 -0
  33. package/dist/CmrComponents/collapse/Collapse.css +3 -0
  34. package/dist/CmrComponents/collapse/Collapse.d.ts +18 -0
  35. package/dist/CmrComponents/collapse/Collapse.js +87 -0
  36. package/dist/CmrComponents/dialogue/Confirmation.d.ts +20 -0
  37. package/dist/CmrComponents/dialogue/Confirmation.js +36 -0
  38. package/dist/CmrComponents/dialogue/DeletionDialog.d.ts +4 -0
  39. package/dist/CmrComponents/dialogue/DeletionDialog.js +39 -0
  40. package/dist/CmrComponents/dialogue/EditConfirmation.d.ts +13 -0
  41. package/dist/CmrComponents/dialogue/EditConfirmation.js +45 -0
  42. package/dist/CmrComponents/double-slider/DualSlider.d.ts +21 -0
  43. package/dist/CmrComponents/double-slider/DualSlider.js +152 -0
  44. package/dist/CmrComponents/double-slider/InvertibleDualSlider.d.ts +24 -0
  45. package/dist/CmrComponents/double-slider/InvertibleDualSlider.js +174 -0
  46. package/dist/CmrComponents/gui-slider/ControlledSlider.d.ts +9 -0
  47. package/dist/CmrComponents/gui-slider/ControlledSlider.js +96 -0
  48. package/dist/CmrComponents/gui-slider/Slider.d.ts +20 -0
  49. package/dist/CmrComponents/gui-slider/Slider.js +127 -0
  50. package/dist/CmrComponents/header/Header.d.ts +17 -0
  51. package/dist/CmrComponents/header/Header.js +90 -0
  52. package/dist/CmrComponents/header/Header.scss +32 -0
  53. package/dist/CmrComponents/input-number/InputNumber.css +0 -0
  54. package/dist/CmrComponents/input-number/InputNumber.d.ts +17 -0
  55. package/dist/CmrComponents/input-number/InputNumber.js +30 -0
  56. package/dist/CmrComponents/label/Label.css +13 -0
  57. package/dist/CmrComponents/label/Label.d.ts +9 -0
  58. package/dist/CmrComponents/label/Label.js +18 -0
  59. package/dist/CmrComponents/panel/Panel.css +5 -0
  60. package/dist/CmrComponents/panel/Panel.d.ts +12 -0
  61. package/dist/CmrComponents/panel/Panel.js +42 -0
  62. package/dist/CmrComponents/rename/edit.d.ts +7 -0
  63. package/dist/CmrComponents/rename/edit.js +117 -0
  64. package/dist/CmrComponents/select-upload/SelectUpload.css +26 -0
  65. package/dist/CmrComponents/select-upload/SelectUpload.d.ts +33 -0
  66. package/dist/CmrComponents/select-upload/SelectUpload.js +90 -0
  67. package/dist/CmrComponents/tk-dualrange/TKDualRange.d.ts +17 -0
  68. package/dist/CmrComponents/tk-dualrange/TKDualRange.js +65 -0
  69. package/dist/CmrComponents/tk-dualrange/tk-dual-range.css +140 -0
  70. package/dist/CmrComponents/tooltip/Tooltip.css +0 -0
  71. package/dist/CmrComponents/tooltip/Tooltip.d.ts +18 -0
  72. package/dist/CmrComponents/tooltip/Tooltip.js +30 -0
  73. package/dist/CmrComponents/upload/Upload.css +5 -0
  74. package/dist/CmrComponents/upload/Upload.d.ts +80 -0
  75. package/dist/CmrComponents/upload/Upload.js +185 -0
  76. package/dist/CmrComponents/upload/UploadWindow.d.ts +15 -0
  77. package/dist/CmrComponents/upload/UploadWindow.js +286 -0
  78. package/dist/CmrTable/CmrTable.css +26 -0
  79. package/dist/CmrTable/CmrTable.d.ts +13 -0
  80. package/dist/CmrTable/CmrTable.js +47 -0
  81. package/dist/CmrTabs/CmrTabs.d.ts +7 -0
  82. package/dist/CmrTabs/CmrTabs.js +64 -0
  83. package/dist/CmrTabs/tab.model.d.ts +12 -0
  84. package/dist/CmrTabs/tab.model.js +1 -0
  85. package/dist/core/app/main/Main.d.ts +6 -0
  86. package/dist/core/app/main/Main.js +18 -0
  87. package/dist/core/app/results/Logs.d.ts +1 -0
  88. package/dist/core/app/results/Logs.js +33 -0
  89. package/dist/core/app/results/PreprocessJob.d.ts +1 -0
  90. package/dist/core/app/results/PreprocessJob.js +100 -0
  91. package/dist/core/app/results/Results.d.ts +15 -0
  92. package/dist/core/app/results/Results.js +372 -0
  93. package/dist/core/app/results/Results.scss +92 -0
  94. package/dist/core/app/results/Rois.d.ts +11 -0
  95. package/dist/core/app/results/Rois.js +269 -0
  96. package/dist/core/app/settings/Settings.d.ts +1 -0
  97. package/dist/core/app/settings/Settings.js +109 -0
  98. package/dist/core/app/signin/ForgotPassword.d.ts +3 -0
  99. package/dist/core/app/signin/ForgotPassword.js +142 -0
  100. package/dist/core/app/signin/Register.d.ts +3 -0
  101. package/dist/core/app/signin/Register.js +126 -0
  102. package/dist/core/app/signin/Signin.d.ts +5 -0
  103. package/dist/core/app/signin/Signin.js +84 -0
  104. package/dist/core/app/signin/Signin.scss +86 -0
  105. package/dist/core/app/upload/Upload.d.ts +3 -0
  106. package/dist/core/app/upload/Upload.js +261 -0
  107. package/dist/core/app/upload/Upload.scss +0 -0
  108. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.d.ts +8 -0
  109. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.js +29 -0
  110. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.scss +27 -0
  111. package/dist/core/common/components/NiivueTools/Niivue.css +8 -0
  112. package/dist/core/common/components/NiivueTools/Niivue.d.ts +14 -0
  113. package/dist/core/common/components/NiivueTools/Niivue.js +1270 -0
  114. package/dist/core/common/components/NiivueTools/NiivuePatcher.js +1875 -0
  115. package/dist/core/common/components/NiivueTools/components/ColorPicker.d.ts +5 -0
  116. package/dist/core/common/components/NiivueTools/components/ColorPicker.js +68 -0
  117. package/dist/core/common/components/NiivueTools/components/DrawPlatte.d.ts +10 -0
  118. package/dist/core/common/components/NiivueTools/components/DrawPlatte.js +88 -0
  119. package/dist/core/common/components/NiivueTools/components/DrawToolKit.d.ts +32 -0
  120. package/dist/core/common/components/NiivueTools/components/DrawToolKit.js +164 -0
  121. package/dist/core/common/components/NiivueTools/components/EraserPlatte.d.ts +10 -0
  122. package/dist/core/common/components/NiivueTools/components/EraserPlatte.js +43 -0
  123. package/dist/core/common/components/NiivueTools/components/Layer.d.ts +10 -0
  124. package/dist/core/common/components/NiivueTools/components/Layer.js +117 -0
  125. package/dist/core/common/components/NiivueTools/components/LayersPanel.d.ts +8 -0
  126. package/dist/core/common/components/NiivueTools/components/LayersPanel.js +108 -0
  127. package/dist/core/common/components/NiivueTools/components/LocationTable.d.ts +9 -0
  128. package/dist/core/common/components/NiivueTools/components/LocationTable.js +42 -0
  129. package/dist/core/common/components/NiivueTools/components/MaskPlatte.d.ts +10 -0
  130. package/dist/core/common/components/NiivueTools/components/MaskPlatte.js +123 -0
  131. package/dist/core/common/components/NiivueTools/components/NiivuePanel.d.ts +34 -0
  132. package/dist/core/common/components/NiivueTools/components/NiivuePanel.js +305 -0
  133. package/dist/core/common/components/NiivueTools/components/NumberPicker.d.ts +8 -0
  134. package/dist/core/common/components/NiivueTools/components/NumberPicker.js +40 -0
  135. package/dist/core/common/components/NiivueTools/components/SettingsPanel.d.ts +7 -0
  136. package/dist/core/common/components/NiivueTools/components/SettingsPanel.js +30 -0
  137. package/dist/core/common/components/NiivueTools/components/Switch.d.ts +5 -0
  138. package/dist/core/common/components/NiivueTools/components/Switch.js +26 -0
  139. package/dist/core/common/components/NiivueTools/components/Toolbar.d.ts +40 -0
  140. package/dist/core/common/components/NiivueTools/components/Toolbar.js +184 -0
  141. package/dist/core/common/components/NiivueTools/components/Toolbar.scss +39 -0
  142. package/dist/core/common/components/NiivueTools/components/stats.d.ts +2 -0
  143. package/dist/core/common/components/NiivueTools/components/stats.js +13 -0
  144. package/dist/core/common/components/NiivueTools/index.css +14 -0
  145. package/dist/core/common/components/NiivueTools/util.js +309 -0
  146. package/dist/core/common/components/footer/Footer.d.ts +3 -0
  147. package/dist/core/common/components/footer/Footer.js +20 -0
  148. package/dist/core/common/components/footer/Footer.scss +5 -0
  149. package/dist/core/common/utilities/AuthenticatedRequests.d.ts +16 -0
  150. package/dist/core/common/utilities/AuthenticatedRequests.js +158 -0
  151. package/dist/core/common/utilities/CalendarHelper.d.ts +5 -0
  152. package/dist/core/common/utilities/CalendarHelper.js +27 -0
  153. package/dist/core/common/utilities/DownloadFromText.d.ts +3 -0
  154. package/dist/core/common/utilities/DownloadFromText.js +20 -0
  155. package/dist/core/common/utilities/StoreToRequest.d.ts +1 -0
  156. package/dist/core/common/utilities/StoreToRequest.js +4 -0
  157. package/dist/core/common/utilities/SystemUtilities.d.ts +4 -0
  158. package/dist/core/common/utilities/SystemUtilities.js +79 -0
  159. package/dist/core/common/utilities/file-transformation/anonymize.d.ts +1 -0
  160. package/dist/core/common/utilities/file-transformation/anonymize.js +114 -0
  161. package/dist/core/common/utilities/file-transformation/utilities.d.ts +2 -0
  162. package/dist/core/common/utilities/file-transformation/utilities.js +23 -0
  163. package/dist/core/common/utilities/index.d.ts +25 -0
  164. package/dist/core/common/utilities/index.js +118 -0
  165. package/dist/core/common/utilities/parse-jwt.d.ts +1 -0
  166. package/dist/core/common/utilities/parse-jwt.js +14 -0
  167. package/dist/core/components/PasswordRequirements.d.ts +7 -0
  168. package/dist/core/components/PasswordRequirements.js +30 -0
  169. package/dist/core/config/AppConfig.d.ts +5 -0
  170. package/dist/core/config/AppConfig.js +42 -0
  171. package/dist/core/config/types.d.ts +40 -0
  172. package/dist/core/config/types.js +1 -0
  173. package/dist/core/features/authenticate/authenticateActionCreation.d.ts +46 -0
  174. package/dist/core/features/authenticate/authenticateActionCreation.js +326 -0
  175. package/dist/core/features/authenticate/authenticateSlice.d.ts +45 -0
  176. package/dist/core/features/authenticate/authenticateSlice.js +203 -0
  177. package/dist/core/features/data/dataActionCreation.d.ts +40 -0
  178. package/dist/core/features/data/dataActionCreation.js +340 -0
  179. package/dist/core/features/data/dataSlice.d.ts +37 -0
  180. package/dist/core/features/data/dataSlice.js +87 -0
  181. package/dist/core/features/jobs/jobActionCreation.d.ts +35 -0
  182. package/dist/core/features/jobs/jobActionCreation.js +242 -0
  183. package/dist/core/features/jobs/jobsSlice.d.ts +57 -0
  184. package/dist/core/features/jobs/jobsSlice.js +54 -0
  185. package/dist/core/features/rois/resultActionCreation.d.ts +21 -0
  186. package/dist/core/features/rois/resultActionCreation.js +114 -0
  187. package/dist/core/features/rois/resultSlice.d.ts +24 -0
  188. package/dist/core/features/rois/resultSlice.js +68 -0
  189. package/dist/core/features/rois/roiTypes.d.ts +44 -0
  190. package/dist/core/features/rois/roiTypes.js +1 -0
  191. package/dist/core/features/setup/setupActionCreation.d.ts +7 -0
  192. package/dist/core/features/setup/setupActionCreation.js +100 -0
  193. package/dist/core/index.d.ts +22 -0
  194. package/dist/core/index.js +27 -0
  195. package/dist/core/store/configureStore.d.ts +13 -0
  196. package/dist/core/store/configureStore.js +38 -0
  197. package/dist/core/store/hooks.d.ts +11 -0
  198. package/dist/core/store/hooks.js +5 -0
  199. package/dist/core/utils/passwordValidation.d.ts +25 -0
  200. package/dist/core/utils/passwordValidation.js +19 -0
  201. package/dist/index.d.ts +29 -329
  202. package/dist/index.js +26 -1402
  203. package/dist/style.css +47 -0
  204. package/package.json +309 -41
  205. package/dist/index.css +0 -170
  206. package/dist/index.mjs +0 -1354
package/dist/index.js CHANGED
@@ -1,1403 +1,27 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
1
  // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- CMRSelectUpload: () => SelectUpload_default,
34
- CMRUpload: () => Upload_default,
35
- CmrButton: () => CmrButton_default,
36
- CmrCheckbox: () => Checkbox_default,
37
- CmrCollapse: () => Collapse_default,
38
- CmrConfirmation: () => CmrConfirmation,
39
- CmrDeletionDialog: () => CmrDeletionDialog,
40
- CmrEditConfirmation: () => CmrEditConfirmation,
41
- CmrInput: () => CmrInput,
42
- CmrInputNumber: () => InputNumber_default,
43
- CmrLabel: () => Label_default,
44
- CmrNameDialog: () => CmrNameDialog,
45
- CmrPanel: () => Panel_default,
46
- CmrRadioGroup: () => CmrRadioGroup_default,
47
- CmrSelect: () => CmrSelect_default,
48
- CmrTable: () => CmrTable2,
49
- CmrTabs: () => CmrTabs,
50
- CmrTooltip: () => Tooltip_default,
51
- CmrUploadWindow: () => CmrUploadWindow
52
- });
53
- module.exports = __toCommonJS(src_exports);
54
-
55
- // src/CmrComponents/CmrButton/CmrButton.tsx
56
- var import_material = require("@mui/material");
57
- var import_jsx_runtime = require("react/jsx-runtime");
58
- var CmrButton = (props) => {
59
- const { children, onClick, ...rest } = props;
60
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Button, { onClick, ...rest, style: { ...props.style, textTransform: "none" }, children });
61
- };
62
- var CmrButton_default = CmrButton;
63
-
64
- // src/CmrComponents/CmrCheckbox/CmrCheckbox.tsx
65
- var import_material2 = require("@mui/material");
66
- var import_material3 = require("@mui/material");
67
- var import_jsx_runtime2 = require("react/jsx-runtime");
68
-
69
- // src/CmrComponents/CmrInput/CmrInput.tsx
70
- var import_antd = require("antd");
71
- var import_jsx_runtime3 = require("react/jsx-runtime");
72
- var CmrInput = (props) => {
73
- const { defaultValue, id, maxLength, size, value, type, prefix, bordered, onChange, onPressEnter, ...rest } = props;
74
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
75
- import_antd.Input,
76
- {
77
- defaultValue,
78
- id,
79
- maxLength,
80
- size,
81
- value,
82
- type,
83
- prefix,
84
- onChange,
85
- onPressEnter,
86
- ...rest,
87
- className: "cmr-input"
88
- }
89
- );
90
- };
91
-
92
- // src/CmrComponents/CmrRadioGroup/CmrRadioGroup.tsx
93
- var import_react = require("react");
94
- var import_material4 = require("@mui/material");
95
- var import_jsx_runtime4 = require("react/jsx-runtime");
96
- var CmrRadioGroup = ({
97
- options,
98
- groupLabel,
99
- defaultValue,
100
- onChange
101
- }) => {
102
- const [selectedValue, setSelectedValue] = (0, import_react.useState)(defaultValue || "");
103
- const handleChange = (event) => {
104
- const newValue = event.target.value;
105
- setSelectedValue(newValue);
106
- if (onChange) {
107
- onChange(newValue);
108
- } else {
109
- console.log("Selected Radio Value:", newValue);
110
- }
111
- };
112
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "cmr-radio-label", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material4.FormControl, { component: "fieldset", children: [
113
- groupLabel && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.FormLabel, { component: "legend", children: groupLabel }),
114
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.RadioGroup, { value: selectedValue, onChange: handleChange, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
115
- import_material4.FormControlLabel,
116
- {
117
- value: option.value,
118
- control: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.Radio, { disabled: option.disabled }),
119
- label: option.label,
120
- sx: {
121
- "& .MuiTypography-root": {
122
- fontSize: "14.4px",
123
- fontFamily: '"Source Sans 3", sans-serif'
124
- }
125
- }
126
- },
127
- option.value
128
- )) })
129
- ] }) });
130
- };
131
- var CmrRadioGroup_default = CmrRadioGroup;
132
-
133
- // src/CmrComponents/CmrSelect/CmrSelect.tsx
134
- var import_react2 = require("react");
135
- var import_react_select = __toESM(require("react-select"));
136
- var import_jsx_runtime5 = require("react/jsx-runtime");
137
- var baseStyles = {
138
- control: (base, state) => ({
139
- ...base,
140
- minHeight: 40,
141
- borderColor: state.isFocused ? "#580F8B" : base.borderColor,
142
- boxShadow: state.isFocused ? "0 0 0 1px #580F8B" : "none",
143
- "&:hover": { borderColor: "#580F8B" },
144
- fontFamily: "Inter, Roboto, Helvetica, Arial, sans-serif",
145
- borderRadius: 4
146
- }),
147
- placeholder: (base) => ({
148
- ...base,
149
- color: "rgba(0,0,0,0.6)"
150
- }),
151
- singleValue: (base) => ({
152
- ...base,
153
- color: "#580F8B",
154
- fontWeight: 400,
155
- fontFamily: "Inter, Roboto, Helvetica, Arial, sans-serif"
156
- }),
157
- option: (base, state) => ({
158
- ...base,
159
- backgroundColor: state.isFocused || state.isSelected ? "#F3E5F5" : "white",
160
- color: "#000",
161
- fontFamily: "Inter, Roboto, Helvetica, Arial, sans-serif",
162
- cursor: state.isDisabled ? "not-allowed" : "pointer"
163
- }),
164
- menuPortal: (base) => ({ ...base, zIndex: 2e3 }),
165
- menu: (base) => ({ ...base, zIndex: 1300 })
166
- };
167
- var CmrSelect = ({
168
- options,
169
- disabled,
170
- value,
171
- onChange,
172
- defaultValue = "",
173
- fullWidth,
174
- sx,
175
- className
176
- }) => {
177
- const isControlled = value !== void 0;
178
- const [internal, setInternal] = (0, import_react2.useState)(defaultValue);
179
- const currentValue = isControlled ? value : internal;
180
- (0, import_react2.useEffect)(() => {
181
- if (isControlled)
182
- setInternal(value);
183
- }, [isControlled, value]);
184
- const id = (0, import_react2.useId)();
185
- const rsValue = (0, import_react2.useMemo)(
186
- () => options.find((o) => o.value === currentValue) ?? null,
187
- [options, currentValue]
188
- );
189
- const handleChange = (opt) => {
190
- const next = (opt == null ? void 0 : opt.value) ?? "";
191
- if (!isControlled)
192
- setInternal(next);
193
- onChange == null ? void 0 : onChange(next);
194
- };
195
- const wrapperStyle = {
196
- minWidth: 200,
197
- maxWidth: 400,
198
- width: fullWidth ? "100%" : "auto",
199
- ...sx
200
- };
201
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: className ?? "dropdown-select", style: wrapperStyle, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
202
- import_react_select.default,
203
- {
204
- inputId: id,
205
- isDisabled: !!disabled,
206
- options: options.map((o) => ({ ...o, isDisabled: o.disabled })),
207
- value: rsValue,
208
- onChange: handleChange,
209
- placeholder: "Select",
210
- isClearable: true,
211
- styles: baseStyles,
212
- menuPortalTarget: document.body
213
- }
214
- ) });
215
- };
216
- var CmrSelect_default = CmrSelect;
217
-
218
- // src/CmrComponents/collapse/Collapse.tsx
219
- var import_react3 = __toESM(require("react"));
220
- var import_jsx_runtime6 = require("react/jsx-runtime");
221
- var CmrCollapse = (props) => {
222
- let { activeKey, defaultActiveKey, onChange, children } = props;
223
- defaultActiveKey = defaultActiveKey || [];
224
- const [activeKeys, setActiveKeys] = import_react3.default.useState(defaultActiveKey);
225
- import_react3.default.useEffect(() => {
226
- if (activeKey !== void 0 && activeKey !== activeKeys) {
227
- if (Array.isArray(activeKey)) {
228
- setActiveKeys(activeKey);
229
- } else {
230
- setActiveKeys([activeKey]);
231
- }
232
- }
233
- }, [activeKey]);
234
- const onToggle = (key) => {
235
- const newKeys = [...activeKeys];
236
- const keyIndex = newKeys.indexOf(key);
237
- if (keyIndex === -1) {
238
- newKeys.push(key);
239
- } else {
240
- newKeys.splice(keyIndex, 1);
241
- }
242
- setActiveKeys(newKeys);
243
- if (onChange)
244
- onChange(newKeys);
245
- };
246
- const renderChildren = () => {
247
- if (!children)
248
- return null;
249
- if (Array.isArray(children)) {
250
- return children.map((child, index) => {
251
- const panelKey = index;
252
- const expanded = activeKeys.includes(panelKey);
253
- const header = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { onClick: () => onToggle(panelKey), style: { cursor: "pointer" }, children: child.props.header });
254
- return (0, import_react3.cloneElement)(child, {
255
- expanded,
256
- panelKey,
257
- onToggle,
258
- header
259
- // Override header with clickable version
260
- });
261
- });
262
- } else {
263
- const panelKey = 0;
264
- const expanded = activeKeys.includes(panelKey);
265
- const header = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { onClick: () => onToggle(panelKey), style: { cursor: "pointer" }, children: children.props.header });
266
- return (0, import_react3.cloneElement)(children, {
267
- expanded,
268
- panelKey,
269
- onToggle,
270
- header
271
- // Override header with clickable version
272
- });
273
- }
274
- };
275
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "cmr-collapse", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { children: renderChildren() }) });
276
- };
277
- var Collapse_default = CmrCollapse;
278
-
279
- // src/CmrComponents/panel/Panel.tsx
280
- var import_ArrowDropUp = __toESM(require("@mui/icons-material/ArrowDropUp"));
281
- var import_ArrowDropDown = __toESM(require("@mui/icons-material/ArrowDropDown"));
282
- var import_jsx_runtime7 = require("react/jsx-runtime");
283
- var CmrPanel = function(props) {
284
- var _a, _b;
285
- let { expanded, onToggle } = props;
286
- const toggle = () => {
287
- if (onToggle)
288
- onToggle(props.panelKey);
289
- };
290
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: `card ${props.className}`, children: [
291
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "card-header", style: { background: "white", display: props.header == void 0 ? "none" : void 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "row align-items-center", children: [
292
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "col", children: props.header }),
293
- onToggle && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "col text-end", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
294
- "span",
295
- {
296
- className: "react-collapse float-end btn",
297
- onClick: (e) => {
298
- toggle();
299
- },
300
- children: !expanded ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_ArrowDropDown.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_ArrowDropUp.default, {})
301
- }
302
- ) })
303
- ] }) }),
304
- !expanded ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `card-body m-0 ${(_a = props.cardProps) == null ? void 0 : _a.className}`, style: {
305
- maxHeight: "0",
306
- padding: 0,
307
- opacity: "0",
308
- overflow: "hidden",
309
- visibility: "collapse",
310
- transition: "all 0.5s"
311
- }, children: props.children }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `card-body m-4 ${(_b = props.cardProps) == null ? void 0 : _b.className}`, style: {
312
- maxHeight: void 0,
313
- padding: 0,
314
- opacity: "1",
315
- visibility: "visible",
316
- transition: "all 0.5s"
317
- }, children: props.children })
318
- ] });
319
- };
320
- var Panel_default = CmrPanel;
321
-
322
- // src/CmrComponents/upload/Upload.tsx
323
- var import_react4 = __toESM(require("react"));
324
- var import_material6 = require("@mui/material");
325
- var import_Upload3 = __toESM(require("@mui/icons-material/Upload"));
326
-
327
- // src/CmrComponents/upload/UploadWindow.tsx
328
- var React4 = __toESM(require("react"));
329
- var import_Button = __toESM(require("@mui/material/Button"));
330
- var import_TextField = __toESM(require("@mui/material/TextField"));
331
- var import_Dialog = __toESM(require("@mui/material/Dialog"));
332
- var import_DialogActions = __toESM(require("@mui/material/DialogActions"));
333
- var import_DialogContent = __toESM(require("@mui/material/DialogContent"));
334
- var import_DialogContentText = __toESM(require("@mui/material/DialogContentText"));
335
- var import_DialogTitle = __toESM(require("@mui/material/DialogTitle"));
336
- var import_Typography = __toESM(require("@mui/material/Typography"));
337
- var import_Box = __toESM(require("@mui/material/Box"));
338
- var import_material5 = require("@mui/material");
339
-
340
- // src/CmrComponents/label/Label.tsx
341
- var import_jsx_runtime8 = require("react/jsx-runtime");
342
- var CmrLabel = (props) => {
343
- const { children, required = false } = props;
344
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "cmr-label", style: { fontSize: "16px", ...props.style }, children: [
345
- children,
346
- required && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "asterik", children: "*" })
347
- ] });
348
- };
349
- var Label_default = CmrLabel;
350
-
351
- // src/CmrComponents/upload/UploadWindow.tsx
352
- var import_jsx_runtime9 = require("react/jsx-runtime");
353
- function CmrUploadWindow({
354
- upload,
355
- open,
356
- setOpen,
357
- fileExtension,
358
- template = { showFileName: true, showDatabase: true, showFileSize: true }
359
- // default values
360
- }) {
361
- const [fileOriginalName, setFileOriginalName] = React4.useState("");
362
- const [fileAlias, setFileAlias] = React4.useState("/");
363
- const [fileSize, setFileSize] = React4.useState("0 MB");
364
- const [warningText, setWarningText] = React4.useState("Unknown Status");
365
- const [infoOpen, setInfoOpen] = React4.useState(false);
366
- const [locationSelection, setLocationSelection] = React4.useState("s3");
367
- const [infoStyle, setInfoStyle] = React4.useState("info");
368
- const [uploadedFiles, setUploaded] = React4.useState([]);
369
- const [UpBtnDisabled, setUpBtnDisabled] = React4.useState(false);
370
- const [UpBtnText, setUpBtnText] = React4.useState("Upload");
371
- const [uploadBoxWarning, setUploadBoxWarning] = React4.useState(void 0);
372
- const handleClickOpen = () => {
373
- setOpen(true);
374
- };
375
- const handleClose = () => {
376
- setOpen(false);
377
- };
378
- const checkExtension2 = (filename, allowed) => {
379
- if (!filename)
380
- return false;
381
- const name = filename.toLowerCase();
382
- if (Array.isArray(allowed)) {
383
- return allowed.some((ext) => name.endsWith(ext.startsWith(".") ? ext : "." + ext));
384
- } else {
385
- return name.endsWith(allowed.startsWith(".") ? allowed : "." + allowed);
386
- }
387
- };
388
- const getExtension = (fileName) => {
389
- if (fileName == void 0)
390
- return;
391
- return fileName.split(".").pop();
392
- };
393
- const INVALID_ALIAS_REGEX = /[ ,:%><]/;
394
- const handleConfirm = () => {
395
- if (uploadedFiles.length === 0) {
396
- setInfoOpen(true);
397
- setInfoStyle("error");
398
- setWarningText("Must select files to upload!");
399
- setTimeout(() => setInfoOpen(false), 2500);
400
- return;
401
- }
402
- if (fileAlias.length === 0) {
403
- setInfoOpen(true);
404
- setInfoStyle("error");
405
- setWarningText("File name can't be empty");
406
- setTimeout(() => setInfoOpen(false), 2500);
407
- return;
408
- }
409
- if (INVALID_ALIAS_REGEX.test(fileAlias)) {
410
- setInfoOpen(true);
411
- setInfoStyle("error");
412
- setWarningText("Alias contains invalid characters ( , : % > < or spaces )");
413
- setTimeout(() => setInfoOpen(false), 1e4);
414
- return;
415
- }
416
- setOpen(false);
417
- upload(uploadedFiles[0], fileAlias, locationSelection).then((response) => {
418
- console.log(response);
419
- if (response > 0) {
420
- setInfoOpen(true);
421
- if (response === 200) {
422
- setInfoStyle("success");
423
- setWarningText("Upload successful");
424
- setTimeout(() => {
425
- setInfoOpen(false);
426
- setOpen(false);
427
- }, 1e3);
428
- setUpBtnDisabled(false);
429
- setUpBtnText("Upload");
430
- } else if (response === 413) {
431
- setInfoStyle("error");
432
- setWarningText("File size limit exceeded");
433
- setTimeout(() => {
434
- setInfoOpen(false);
435
- setUpBtnDisabled(false);
436
- setUpBtnText("Upload");
437
- }, 2e3);
438
- } else if (response === 500) {
439
- setInfoStyle("error");
440
- setWarningText("Internal server error");
441
- setTimeout(() => {
442
- setInfoOpen(false);
443
- setUpBtnDisabled(false);
444
- setUpBtnText("Upload");
445
- }, 1500);
446
- setOpen(true);
447
- } else if (response === 400) {
448
- setInfoStyle("warning");
449
- setWarningText("File upload cancelled");
450
- setTimeout(() => {
451
- setInfoOpen(false);
452
- setUpBtnDisabled(false);
453
- setUpBtnText("Upload");
454
- }, 1e3);
455
- setOpen(true);
456
- } else {
457
- setInfoStyle("warning");
458
- setWarningText("Unknown status");
459
- setTimeout(() => {
460
- setInfoOpen(false);
461
- setUpBtnDisabled(false);
462
- setUpBtnText("Upload");
463
- }, 2e3);
464
- setOpen(true);
465
- }
466
- }
467
- }).catch((error) => {
468
- setUpBtnDisabled(false);
469
- setUpBtnText("Upload");
470
- setInfoOpen(true);
471
- setInfoStyle("error");
472
- setWarningText("Upload unsuccessful: " + error.message);
473
- setTimeout(() => setInfoOpen(false), 2500);
474
- console.error("Error:", error);
475
- });
476
- setUpBtnDisabled(true);
477
- setUpBtnText("Uploading");
478
- };
479
- const changeFileName = (e) => {
480
- setFileAlias(e.target.value);
481
- };
482
- function loadFiles(files) {
483
- if (files.length == 0) {
484
- setInfoOpen(true);
485
- setInfoStyle("warning");
486
- setWarningText("No file selected");
487
- setTimeout(() => setInfoOpen(false), 2500);
488
- return;
489
- }
490
- if (files.length > 1) {
491
- setInfoOpen(true);
492
- setInfoStyle("warning");
493
- setWarningText("Only accepts one file at a time");
494
- setTimeout(() => setInfoOpen(false), 2500);
495
- return;
496
- }
497
- let file = files[0];
498
- setUploaded([file]);
499
- function readFile(file2) {
500
- setFileOriginalName(file2.name);
501
- setFileAlias(file2.name);
502
- const units = [
503
- "B",
504
- "KB",
505
- "MB",
506
- "GB",
507
- "TB",
508
- "PB",
509
- "EB",
510
- "ZB",
511
- "YB"
512
- ];
513
- let numberOfBytes = file2.size;
514
- const exponent = Math.min(
515
- Math.floor(Math.log(numberOfBytes) / Math.log(1024)),
516
- units.length - 1
517
- );
518
- const approx = numberOfBytes / 1024 ** exponent;
519
- const output = exponent === 0 ? `${numberOfBytes} bytes` : `${approx.toFixed(3)} ${units[exponent]}`;
520
- setFileSize(output);
521
- }
522
- readFile(file);
523
- }
524
- let initialized = false;
525
- let fileInput = (inputRef) => {
526
- if (initialized)
527
- return;
528
- inputRef.addEventListener("dragover", function(e) {
529
- e.stopPropagation();
530
- e.preventDefault();
531
- if (e.dataTransfer.files) {
532
- let draggedFiles = e.dataTransfer.files;
533
- if (draggedFiles.length > 1) {
534
- setUploadBoxWarning("Only one file can be uploaded at a time");
535
- } else if (fileExtension != void 0 && draggedFiles.length !== 0 && !checkExtension2(draggedFiles[0].name, fileExtension)) {
536
- setUploadBoxWarning(
537
- `Only accepting files with extension(s): ${Array.isArray(fileExtension) ? fileExtension.join(", ") : fileExtension}`
538
- );
539
- }
540
- }
541
- e.dataTransfer.dropEffect = "copy";
542
- });
543
- inputRef.addEventListener("drop", function(e) {
544
- e.stopPropagation();
545
- e.preventDefault();
546
- setTimeout(() => {
547
- setUploadBoxWarning(void 0);
548
- }, 1e4);
549
- let files = e.dataTransfer.files;
550
- if (files.length > 1) {
551
- setInfoOpen(true);
552
- setInfoStyle("warning");
553
- setWarningText("Only one file can be uploaded at a time");
554
- setTimeout(() => setInfoOpen(false), 2500);
555
- return;
556
- } else if (fileExtension !== void 0 && !checkExtension2(files[0].name, fileExtension)) {
557
- setInfoOpen(true);
558
- setInfoStyle("warning");
559
- setWarningText(
560
- `Only accepting files with extension(s): ${Array.isArray(fileExtension) ? fileExtension.join(", ") : fileExtension}`
561
- );
562
- setTimeout(() => setInfoOpen(false), 2500);
563
- return;
564
- }
565
- loadFiles(files);
566
- });
567
- inputRef.addEventListener("dragleave", () => {
568
- setUploadBoxWarning(void 0);
569
- });
570
- initialized = true;
571
- };
572
- const fileInputClick = (e) => {
573
- const fileElem = document.getElementById("file-window");
574
- e.preventDefault();
575
- if (fileElem) {
576
- fileElem.click();
577
- }
578
- };
579
- const loadSelectedFiles = (e) => {
580
- e.preventDefault();
581
- const fileElem = document.getElementById("file-window");
582
- loadFiles(fileElem.files);
583
- };
584
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_Dialog.default, { open, onClose: handleClose, children: [
585
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_DialogTitle.default, { children: "File Upload" }),
586
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_DialogContent.default, { children: [
587
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_DialogContentText.default, {}),
588
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_DialogContent.default, { dividers: true, children: [
589
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
590
- import_Box.default,
591
- {
592
- width: 500,
593
- height: 250,
594
- style: {
595
- borderStyle: "dashed",
596
- borderRadius: "5pt",
597
- borderColor: uploadBoxWarning == void 0 ? "lightGray" : "#BA3C3C"
598
- },
599
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_Typography.default, { component: "div", style: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
600
- import_Box.default,
601
- {
602
- style: {
603
- display: "flex",
604
- flexDirection: "column",
605
- justifyContent: "center",
606
- alignItems: "center",
607
- height: "100%"
608
- },
609
- onClick: fileInputClick,
610
- ref: fileInput,
611
- children: [
612
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_Typography.default, { variant: "body1", align: "center", style: { marginTop: "auto" }, children: [
613
- "Drag & Drop or Click to Upload Your File Here ",
614
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("sup", { children: "*" })
615
- ] }),
616
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_Typography.default, { variant: "body2", align: "center", style: { marginTop: "auto", fontSize: "0.8rem", fontStyle: "italic" }, children: "* Warning: The file you are uploading may contain sensitive information protected under privacy laws. Please ensure all PHI is anonymized before proceeding.Before proceeding. The user is the sole responsible for data anonymization." })
617
- ]
618
- }
619
- ) })
620
- }
621
- ),
622
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
623
- "input",
624
- {
625
- type: "file",
626
- id: "file-window",
627
- multiple: true,
628
- accept: fileExtension === void 0 ? "*" : Array.isArray(fileExtension) ? fileExtension.join(",") : fileExtension,
629
- style: { display: "none" },
630
- onChange: loadSelectedFiles
631
- }
632
- ),
633
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_Box.default, { component: "form", sx: { "& .MuiTextField-root": { m: 2, width: "25ch", mb: 0 } }, children: [
634
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { children: [
635
- template.showFileName && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
636
- import_TextField.default,
637
- {
638
- required: true,
639
- style: { marginTop: "30px" },
640
- label: `File Alias:`,
641
- value: fileAlias,
642
- variant: "standard",
643
- onChange: changeFileName
644
- }
645
- ),
646
- fileOriginalName != "" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Label_default, { style: { marginLeft: "16px", fontSize: "9pt", color: "#267833" }, children: fileOriginalName }),
647
- template.showDatabase && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
648
- import_TextField.default,
649
- {
650
- select: true,
651
- label: "Database:",
652
- defaultValue: "s3",
653
- helperText: "Upstream Storage Location",
654
- variant: "standard",
655
- children: [{ value: "s3", label: "S3" }].map((option) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_material5.MenuItem, { value: option.value, children: option.label }, option.value))
656
- }
657
- )
658
- ] }),
659
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { children: [
660
- template.showFileSize && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
661
- import_TextField.default,
662
- {
663
- label: "File Size:",
664
- value: fileSize,
665
- InputProps: {
666
- readOnly: true
667
- },
668
- variant: "standard"
669
- }
670
- ),
671
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_material5.Collapse, { in: infoOpen, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_material5.Alert, { severity: infoStyle, sx: { m: 1 }, children: warningText }) })
672
- ] })
673
- ] })
674
- ] }),
675
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_DialogActions.default, { children: [
676
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
677
- import_Button.default,
678
- {
679
- variant: "outlined",
680
- disabled: UpBtnDisabled,
681
- onClick: handleClose,
682
- children: "Cancel"
683
- }
684
- ),
685
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
686
- import_Button.default,
687
- {
688
- variant: "contained",
689
- disabled: UpBtnDisabled,
690
- onClick: handleConfirm,
691
- children: UpBtnText
692
- }
693
- )
694
- ] })
695
- ] })
696
- ] }) });
697
- }
698
-
699
- // src/CmrComponents/upload/Upload.tsx
700
- var import_axios = __toESM(require("axios"));
701
- var import_jsx_runtime10 = require("react/jsx-runtime");
702
- var CmrUpload = (props) => {
703
- let [open, setOpen] = (0, import_react4.useState)(false);
704
- let [uploading, setUploading] = (0, import_react4.useState)(false);
705
- let [progress, setProgress] = (0, import_react4.useState)(0);
706
- let [uploadedFile, setUploadedFile] = (0, import_react4.useState)(void 0);
707
- const upload = async (file, fileAlias, fileDatabase) => {
708
- setUploading(true);
709
- const onProgress = (progress2) => {
710
- let percentage = progress2 * 99;
711
- props.uploadProgressed && props.uploadProgressed(+percentage.toFixed(2));
712
- setProgress(+percentage.toFixed(2));
713
- };
714
- if (props.uploadStarted)
715
- props.uploadStarted();
716
- let status = 0;
717
- if (props.beforeUpload != void 0 && !await props.beforeUpload(file)) {
718
- if (props.uploadEnded)
719
- props.uploadEnded();
720
- setUploading(false);
721
- return 200;
722
- }
723
- if (props.preprocess) {
724
- let processed = await props.preprocess(file);
725
- if (processed == void 0)
726
- return failUpload();
727
- if (typeof processed == "number") {
728
- setUploading(false);
729
- return processed;
730
- }
731
- file = processed;
732
- }
733
- if (props.uploadHandler != void 0) {
734
- status = await props.uploadHandler(file, fileAlias, fileDatabase, onProgress, props.onUploaded);
735
- setUploadedFile(props.reusable ? void 0 : file.name);
736
- } else if (props.createPayload) {
737
- let payload = await props.createPayload(file, fileAlias, fileDatabase);
738
- if (payload == void 0) {
739
- return failUpload();
740
- }
741
- payload.config.onUploadProgress = (progressEvent) => {
742
- if (progressEvent.total == void 0)
743
- return;
744
- onProgress(progressEvent.loaded / progressEvent.total);
745
- };
746
- const res = await import_axios.default.post(payload.destination, payload.lambdaFile, payload.config);
747
- status = res.status;
748
- if (status === 200) {
749
- console.log(res.data);
750
- await import_axios.default.put(res.data.upload_url, payload.file, {
751
- headers: {
752
- "Content-Type": payload.file.type
753
- }
754
- });
755
- await props.onUploaded(res, payload.file);
756
- setUploadedFile(props.reusable ? void 0 : payload.file.name);
757
- }
758
- } else {
759
- return failUpload();
760
- }
761
- if (props.uploadEnded)
762
- props.uploadEnded();
763
- setUploading(false);
764
- setProgress(0);
765
- return status;
766
- };
767
- function failUpload() {
768
- setUploading(false);
769
- setProgress(0);
770
- if (props.uploadFailed)
771
- return props.uploadFailed();
772
- return 0;
773
- }
774
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react4.default.Fragment, { children: [
775
- !uploading ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
776
- import_material6.Button,
777
- {
778
- fullWidth: props.fullWidth,
779
- style: props.style,
780
- variant: uploadedFile == void 0 ? "contained" : "outlined",
781
- onClick: () => {
782
- setOpen(true);
783
- },
784
- color: props.color || "primary",
785
- sx: props.sx,
786
- children: [
787
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_Upload3.default, { className: "me-2" }),
788
- props.changeNameAfterUpload ? uploadedFile === void 0 ? props.uploadButtonName ? props.uploadButtonName : "Upload" : uploadedFile : props.uploadButtonName ? props.uploadButtonName : "Upload",
789
- " "
790
- ]
791
- }
792
- ) : /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_material6.Button, { fullWidth: props.fullWidth, style: props.style, variant: "contained", sx: { overflowWrap: "inherit" }, color: "primary", disabled: true, children: [
793
- "Uploading ",
794
- progress,
795
- "%"
796
- ] }),
797
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
798
- CmrUploadWindow,
799
- {
800
- open,
801
- setOpen,
802
- upload,
803
- fileExtension: props.fileExtension,
804
- template: { showFileName: true, showFileSize: true }
805
- }
806
- )
807
- ] });
808
- };
809
- CmrUpload.defaultProps = {
810
- changeNameAfterUpload: true
811
- };
812
- var Upload_default = CmrUpload;
813
-
814
- // src/CmrComponents/rename/edit.tsx
815
- var React6 = __toESM(require("react"));
816
- var import_material7 = require("@mui/material");
817
- var import_TextField2 = __toESM(require("@mui/material/TextField"));
818
- var import_Dialog2 = __toESM(require("@mui/material/Dialog"));
819
- var import_DialogActions2 = __toESM(require("@mui/material/DialogActions"));
820
- var import_DialogContent2 = __toESM(require("@mui/material/DialogContent"));
821
- var import_DialogTitle2 = __toESM(require("@mui/material/DialogTitle"));
822
- var import_react5 = require("react");
823
- var import_jsx_runtime11 = require("react/jsx-runtime");
824
- function CmrNameDialog(props) {
825
- let { originalName, open, setOpen } = props;
826
- const [helperText, setHelperText] = React6.useState("");
827
- const [text, setText] = React6.useState(originalName);
828
- const [error, setError] = React6.useState(false);
829
- const renamingCallback = props.renamingCallback;
830
- const handleClose = () => {
831
- setOpen(false);
832
- };
833
- (0, import_react5.useEffect)(() => {
834
- checkError(originalName);
835
- }, [originalName]);
836
- const handleConfirm = async () => {
837
- if (await renamingCallback(text))
838
- handleClose();
839
- };
840
- const handleTextFieldChange = (e) => {
841
- setText(e.target.value);
842
- checkError(e.target.value);
843
- };
844
- const checkError = (text2) => {
845
- const fileNameRegex = /^[a-zA-Z0-9_\-]+\.[a-zA-Z]{1,5}$/;
846
- let newExtension = text2.split(".").pop();
847
- let orgExtension = originalName.indexOf(".") >= 0 ? originalName.split(".").pop() : "?";
848
- if (!fileNameRegex.test(text2)) {
849
- setError(true);
850
- if (text2.indexOf(".") < 0) {
851
- setHelperText("Invalid file name, needs a valid extension.");
852
- } else {
853
- setHelperText("Invalid file name, please check.");
854
- }
855
- } else if (newExtension !== orgExtension) {
856
- setHelperText(`You are modifying your file extension from .${orgExtension} to .${newExtension}.`);
857
- setError(false);
858
- } else {
859
- setError(false);
860
- setHelperText("");
861
- }
862
- };
863
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
864
- import_Dialog2.default,
865
- {
866
- open,
867
- onClose: handleClose,
868
- fullWidth: true,
869
- maxWidth: "xs",
870
- children: [
871
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_DialogTitle2.default, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material7.Typography, { children: [
872
- " Rename the File ",
873
- originalName,
874
- " as:"
875
- ] }) }),
876
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_DialogContent2.default, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
877
- import_TextField2.default,
878
- {
879
- autoFocus: true,
880
- margin: "dense",
881
- id: "name",
882
- defaultValue: originalName,
883
- onFocus: (event) => {
884
- event.target.select();
885
- },
886
- fullWidth: true,
887
- inputProps: { style: { fontSize: "16px" } },
888
- variant: "standard",
889
- onChange: handleTextFieldChange,
890
- error,
891
- helperText
892
- }
893
- ) }),
894
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_DialogActions2.default, { children: [
895
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CmrButton_default, { variant: "outlined", onClick: handleClose, children: "Cancel" }),
896
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CmrButton_default, { variant: "contained", color: "primary", onClick: handleConfirm, children: "Confirm" })
897
- ] })
898
- ]
899
- }
900
- ) });
901
- }
902
-
903
- // src/CmrComponents/dialogue/Confirmation.tsx
904
- var import_Dialog3 = __toESM(require("@mui/material/Dialog"));
905
- var import_DialogActions3 = __toESM(require("@mui/material/DialogActions"));
906
- var import_DialogContent3 = __toESM(require("@mui/material/DialogContent"));
907
- var import_DialogContentText2 = __toESM(require("@mui/material/DialogContentText"));
908
- var import_DialogTitle3 = __toESM(require("@mui/material/DialogTitle"));
909
- var import_jsx_runtime12 = require("react/jsx-runtime");
910
- function CmrConfirmation({
911
- name,
912
- message,
913
- cancelText = "Cancel",
914
- confirmText = "Confirm",
915
- color,
916
- open,
917
- setOpen,
918
- confirmCallback = () => {
919
- },
920
- cancelCallback = () => {
921
- },
922
- cancellable = false,
923
- width,
924
- extraButtons = []
925
- }) {
926
- const handleClose = () => {
927
- setOpen(false);
928
- };
929
- const handleConfirm = () => {
930
- confirmCallback();
931
- handleClose();
932
- };
933
- const handleCancel = () => {
934
- cancelCallback();
935
- handleClose();
936
- };
937
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_Dialog3.default, { open, onClose: handleClose, children: [
938
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_DialogTitle3.default, { children: name ? name : "Confirmation" }),
939
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_DialogContent3.default, { sx: { width }, children: [
940
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_DialogContentText2.default, { alignContent: "center", children: message }),
941
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_DialogActions3.default, { className: "mt-4", children: [
942
- cancellable && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CmrButton_default, { variant: "outlined", onClick: handleCancel, children: cancelText }),
943
- extraButtons.map((btn, idx) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
944
- CmrButton_default,
945
- {
946
- variant: "outlined",
947
- color: btn.color || "success",
948
- onClick: () => {
949
- btn.onClick();
950
- handleClose();
951
- },
952
- children: btn.text
953
- },
954
- idx
955
- )),
956
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CmrButton_default, { variant: "contained", color, onClick: handleConfirm, children: confirmText })
957
- ] })
958
- ] })
959
- ] });
960
- }
961
-
962
- // src/CmrComponents/dialogue/DeletionDialog.tsx
963
- var React7 = __toESM(require("react"));
964
- var import_TextField3 = __toESM(require("@mui/material/TextField"));
965
- var import_Dialog4 = __toESM(require("@mui/material/Dialog"));
966
- var import_DialogActions4 = __toESM(require("@mui/material/DialogActions"));
967
- var import_DialogContent4 = __toESM(require("@mui/material/DialogContent"));
968
- var import_DialogContentText3 = __toESM(require("@mui/material/DialogContentText"));
969
- var import_DialogTitle4 = __toESM(require("@mui/material/DialogTitle"));
970
- var import_jsx_runtime13 = require("react/jsx-runtime");
971
- function CmrDeletionDialog(props) {
972
- const [open, setOpen] = React7.useState(true);
973
- const [text, setText] = React7.useState("");
974
- const handleClickOpen = () => {
975
- setOpen(true);
976
- };
977
- const handleClose = () => {
978
- setOpen(false);
979
- };
980
- const handleConfirm = () => {
981
- if (text === props.name) {
982
- props.deletionCallback();
983
- setOpen(false);
984
- }
985
- };
986
- const handleTextFieldChange = (e) => {
987
- setText(e.target.value);
988
- };
989
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_Dialog4.default, { open, onClose: handleClose, children: [
990
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_DialogTitle4.default, { children: "Confirmation" }),
991
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_DialogContent4.default, { children: [
992
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_DialogContentText3.default, { children: "To delete the files, please type your full name below and confirm." }),
993
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
994
- import_TextField3.default,
995
- {
996
- autoFocus: true,
997
- margin: "dense",
998
- id: "name",
999
- type: "email",
1000
- placeholder: props.name,
1001
- fullWidth: true,
1002
- inputProps: { style: { fontSize: "16pt" } },
1003
- variant: "standard",
1004
- onChange: handleTextFieldChange
1005
- }
1006
- )
1007
- ] }),
1008
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_DialogActions4.default, { children: [
1009
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { className: "btn btn-secondary", onClick: handleClose, children: "Cancel" }),
1010
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { className: "btn btn-danger", onClick: handleConfirm, children: "Confirm" })
1011
- ] })
1012
- ] }) });
1013
- }
1014
-
1015
- // src/CmrComponents/dialogue/EditConfirmation.tsx
1016
- var React8 = __toESM(require("react"));
1017
- var import_TextField4 = __toESM(require("@mui/material/TextField"));
1018
- var import_Dialog5 = __toESM(require("@mui/material/Dialog"));
1019
- var import_DialogActions5 = __toESM(require("@mui/material/DialogActions"));
1020
- var import_DialogContent5 = __toESM(require("@mui/material/DialogContent"));
1021
- var import_DialogContentText4 = __toESM(require("@mui/material/DialogContentText"));
1022
- var import_DialogTitle5 = __toESM(require("@mui/material/DialogTitle"));
1023
- var import_material8 = require("@mui/material");
1024
- var import_react6 = require("react");
1025
- var import_jsx_runtime14 = require("react/jsx-runtime");
1026
- function CmrEditConfirmation({
1027
- name,
1028
- message,
1029
- defaultText = "",
1030
- color,
1031
- open,
1032
- setOpen,
1033
- confirmCallback = () => {
1034
- },
1035
- cancellable = false,
1036
- cancelCallback = () => {
1037
- },
1038
- suffix = ""
1039
- }) {
1040
- const [text, setText] = React8.useState(defaultText);
1041
- (0, import_react6.useEffect)(() => {
1042
- if (open)
1043
- setText(defaultText);
1044
- }, [open]);
1045
- const handleClose = () => {
1046
- setOpen(false);
1047
- };
1048
- const handleConfirm = () => {
1049
- confirmCallback(text + suffix);
1050
- handleClose();
1051
- };
1052
- const handleCancel = () => {
1053
- cancelCallback(text + suffix);
1054
- handleClose();
1055
- };
1056
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_Dialog5.default, { maxWidth: "xs", fullWidth: true, open, onClose: handleCancel, children: [
1057
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_DialogTitle5.default, { children: name ? name : "Confirmation" }),
1058
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_DialogContent5.default, { children: [
1059
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_DialogContentText4.default, { alignContent: "center", children: message }),
1060
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_DialogActions5.default, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1061
- import_TextField4.default,
1062
- {
1063
- fullWidth: true,
1064
- variant: "standard",
1065
- InputProps: {
1066
- endAdornment: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_material8.InputAdornment, { position: "end", sx: { whiteSpace: "nowrap" }, children: suffix })
1067
- },
1068
- defaultValue: text,
1069
- onChange: (e) => setText(e.target.value)
1070
- }
1071
- ) }),
1072
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_DialogActions5.default, { children: [
1073
- cancellable && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CmrButton_default, { variant: "outlined", onClick: handleCancel, children: "Cancel" }),
1074
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CmrButton_default, { variant: "contained", color, onClick: handleConfirm, children: "Confirm" })
1075
- ] })
1076
- ] })
1077
- ] });
1078
- }
1079
-
1080
- // src/CmrTabs/CmrTabs.tsx
1081
- var React9 = __toESM(require("react"));
1082
- var import_Tabs = __toESM(require("@mui/material/Tabs"));
1083
- var import_Tab = __toESM(require("@mui/material/Tab"));
1084
- var import_Container = __toESM(require("@mui/material/Container"));
1085
- var import_Typography2 = __toESM(require("@mui/material/Typography"));
1086
- var import_Box2 = __toESM(require("@mui/material/Box"));
1087
- var import_react7 = require("react");
1088
- var import_jsx_runtime15 = require("react/jsx-runtime");
1089
- function CustomTabPanel(props) {
1090
- const { children, value, index, ...other } = props;
1091
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1092
- "div",
1093
- {
1094
- role: "tabpanel",
1095
- hidden: value !== index,
1096
- id: `simple-tabpanel-${index}`,
1097
- "aria-labelledby": `simple-tab-${index}`,
1098
- ...other,
1099
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Box2.default, { sx: { p: 0 }, style: { display: value === index ? void 0 : "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Typography2.default, { children }) })
1100
- }
1101
- );
1102
- }
1103
- function a11yProps(index) {
1104
- return {
1105
- id: `simple-tab-${index}`,
1106
- "aria-controls": `simple-tabpanel-${index}`
1107
- };
1108
- }
1109
- function CmrTabs(props) {
1110
- const [value, setValue] = React9.useState(0);
1111
- const handleChange = (event, newValue) => {
1112
- setValue(newValue);
1113
- if (props.onTabSelected)
1114
- props.onTabSelected(newValue);
1115
- };
1116
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1117
- import_Container.default,
1118
- {
1119
- maxWidth: "lg",
1120
- sx: {
1121
- flex: 1,
1122
- display: "flex",
1123
- flexDirection: "column",
1124
- mt: 4
1125
- },
1126
- children: [
1127
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Box2.default, { sx: { borderBottom: 1, borderColor: "divider", mb: 4 }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1128
- import_Tabs.default,
1129
- {
1130
- value,
1131
- onChange: handleChange,
1132
- "aria-label": "basic tabs example",
1133
- textColor: "inherit",
1134
- TabIndicatorProps: {
1135
- style: {
1136
- backgroundColor: "#580F8B"
1137
- }
1138
- },
1139
- children: props.tabList.map((tab, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Tab.default, { sx: { color: value == index ? "#580F8B" : void 0 }, style: { fontSize: "14px", textTransform: "uppercase", fontWeight: 400 }, label: tab.text, ...a11yProps(index) }))
1140
- }
1141
- ) }),
1142
- props.tabList.map(
1143
- (tab, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CustomTabPanel, { value, index, children: (0, import_react7.cloneElement)(tab.children, {
1144
- visible: value == index
1145
- }) })
1146
- )
1147
- ]
1148
- }
1149
- );
1150
- }
1151
-
1152
- // src/CmrComponents/checkbox/Checkbox.tsx
1153
- var import_material9 = require("@mui/material");
1154
- var import_material10 = require("@mui/material");
1155
- var import_jsx_runtime16 = require("react/jsx-runtime");
1156
- var CmrCheckbox = (props) => {
1157
- const { defaultChecked, onChange, children, ...rest } = props;
1158
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1159
- import_material10.FormControlLabel,
1160
- {
1161
- disabled: props.disabled,
1162
- style: props.style,
1163
- className: props.className,
1164
- control: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material9.Checkbox, { style: props.style, checked: props.checked, defaultChecked, onChange }),
1165
- label: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Label_default, { children: props.children }),
1166
- sx: props.sx,
1167
- labelPlacement: "end"
1168
- }
1169
- );
1170
- };
1171
- var Checkbox_default = CmrCheckbox;
1172
-
1173
- // src/CmrComponents/input-number/InputNumber.tsx
1174
- var import_antd2 = require("antd");
1175
- var import_jsx_runtime17 = require("react/jsx-runtime");
1176
- var CmrInputNumber = (props) => {
1177
- const { defaultValue, style, max, min, value, onChange, children, ...rest } = props;
1178
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd2.InputNumber, { defaultValue, max, style, min, value, onChange, ...rest, children });
1179
- };
1180
- var InputNumber_default = CmrInputNumber;
1181
-
1182
- // src/CmrComponents/select-upload/SelectUpload.tsx
1183
- var import_react8 = __toESM(require("react"));
1184
- var import_material11 = require("@mui/material");
1185
- var import_react_select2 = __toESM(require("react-select"));
1186
- var import_Dialog6 = __toESM(require("@mui/material/Dialog"));
1187
- var import_DialogTitle6 = __toESM(require("@mui/material/DialogTitle"));
1188
- var import_DialogContent6 = __toESM(require("@mui/material/DialogContent"));
1189
- var import_DialogContentText5 = __toESM(require("@mui/material/DialogContentText"));
1190
- var import_Box3 = __toESM(require("@mui/material/Box"));
1191
- var import_jsx_runtime18 = require("react/jsx-runtime");
1192
- function checkExtension(filename, allowed) {
1193
- if (!filename || !allowed)
1194
- return true;
1195
- const name = filename.toLowerCase();
1196
- if (Array.isArray(allowed)) {
1197
- return allowed.some((ext) => name.endsWith(ext.startsWith(".") ? ext : "." + ext));
1198
- } else {
1199
- return name.endsWith(allowed.startsWith(".") ? allowed : "." + allowed);
1200
- }
1201
- }
1202
- var CMRSelectUpload = (props) => {
1203
- let [open, setOpen] = import_react8.default.useState(false);
1204
- let [fileIndex, selectFileIndex] = import_react8.default.useState(-1);
1205
- let [uploading, setUploading] = import_react8.default.useState(false);
1206
- const [progress, setProgress] = import_react8.default.useState(0);
1207
- const handleClickOpen = () => {
1208
- selectFileIndex(-1);
1209
- setOpen(true);
1210
- };
1211
- const handleClose = () => {
1212
- setOpen(false);
1213
- };
1214
- const onSet = () => {
1215
- props.onSelected(props.fileSelection[fileIndex]);
1216
- setOpen(false);
1217
- };
1218
- const selectionDialog = /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Dialog6.default, { open, onClose: handleClose, children: [
1219
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_DialogTitle6.default, { children: "Select or Upload" }),
1220
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_DialogContent6.default, { sx: { width: 520 }, children: [
1221
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_DialogContentText5.default, { sx: { pl: 1, pr: 1, pb: 0 }, children: uploading ? "Please wait for the upload to finish." : "" }),
1222
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Box3.default, { sx: { p: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1223
- import_react_select2.default,
1224
- {
1225
- classNamePrefix: "cmr-select",
1226
- isDisabled: uploading,
1227
- options: props.fileSelection.filter((file) => checkExtension(file.fileName, props.fileExtension)).map((file) => ({
1228
- value: file.id,
1229
- label: file.fileName
1230
- })),
1231
- placeholder: "Select a Stored File",
1232
- onChange: (selected) => {
1233
- if (selected) {
1234
- const index = props.fileSelection.findIndex((file) => file.id === selected.value);
1235
- selectFileIndex(index);
1236
- } else {
1237
- selectFileIndex(-1);
1238
- }
1239
- },
1240
- menuPortalTarget: document.body,
1241
- menuPosition: "fixed",
1242
- styles: props.selectStyles
1243
- }
1244
- ) }),
1245
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Box3.default, { sx: { pt: 2, justifyContent: "center", display: "flex", padding: "8px" }, children: [
1246
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_material11.Button, { fullWidth: true, sx: { marginRight: "8px" }, variant: "outlined", onClick: handleClose, children: " Cancel" }),
1247
- fileIndex !== -1 && !uploading && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_material11.Button, { fullWidth: true, variant: "contained", onClick: onSet, children: "OK" }),
1248
- fileIndex == -1 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1249
- Upload_default,
1250
- {
1251
- ...props,
1252
- color: "info",
1253
- fullWidth: true,
1254
- onUploaded: (res, file) => {
1255
- console.log("calling Setup level on uploaded");
1256
- console.log(props.onUploaded);
1257
- selectFileIndex(props.fileSelection.length);
1258
- props.onUploaded(res, file);
1259
- setOpen(false);
1260
- },
1261
- fileExtension: props.fileExtension,
1262
- uploadHandler: props.uploadHandler,
1263
- uploadStarted: () => {
1264
- setUploading(true);
1265
- props.onSelected(void 0);
1266
- },
1267
- uploadProgressed: (progress2) => {
1268
- setOpen(false);
1269
- setProgress(progress2);
1270
- },
1271
- uploadEnded: () => setUploading(false)
1272
- }
1273
- )
1274
- ] })
1275
- ] })
1276
- ] });
1277
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react8.Fragment, { children: [
1278
- uploading ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_material11.Button, { variant: "contained", style: { ...props.style, textTransform: "none" }, sx: { overflowWrap: "inherit" }, color: "primary", disabled: uploading, children: [
1279
- "Uploading ",
1280
- progress,
1281
- "%"
1282
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1283
- import_material11.Button,
1284
- {
1285
- variant: props.chosenFile == void 0 ? "contained" : "outlined",
1286
- color: "info",
1287
- onClick: handleClickOpen,
1288
- sx: { marginRight: "10pt" },
1289
- style: { ...props.style, textTransform: "none" },
1290
- children: props.chosenFile == void 0 ? props.buttonText ? props.buttonText : "Choose" : props.chosenFile
1291
- }
1292
- ),
1293
- selectionDialog
1294
- ] });
1295
- };
1296
- var SelectUpload_default = CMRSelectUpload;
1297
-
1298
- // src/CmrComponents/tooltip/Tooltip.tsx
1299
- var import_antd3 = require("antd");
1300
- var import_jsx_runtime19 = require("react/jsx-runtime");
1301
- var CmrTooltip = (props) => {
1302
- const {
1303
- arrowPointAtCenter,
1304
- autoAdjustOverflow,
1305
- color,
1306
- defaultVisible,
1307
- mouseEnterDelay,
1308
- mouseLeaveDelay,
1309
- overlayClassName,
1310
- placement,
1311
- visible,
1312
- ...rest
1313
- } = props;
1314
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1315
- import_antd3.Tooltip,
1316
- {
1317
- arrowPointAtCenter,
1318
- autoAdjustOverflow,
1319
- color,
1320
- defaultVisible,
1321
- mouseEnterDelay,
1322
- mouseLeaveDelay,
1323
- overlayClassName,
1324
- placement,
1325
- visible,
1326
- ...rest
1327
- }
1328
- );
1329
- };
1330
- var Tooltip_default = CmrTooltip;
1331
-
1332
- // src/CmrTable/CmrTable.tsx
1333
- var import_x_data_grid = require("@mui/x-data-grid");
1334
- var import_jsx_runtime20 = require("react/jsx-runtime");
1335
- var CmrTable = (props) => {
1336
- const {
1337
- dataSource,
1338
- columns,
1339
- idAlias,
1340
- className,
1341
- onRowSelectionModelChange,
1342
- style,
1343
- showCheckbox = true,
1344
- ...rest
1345
- } = props;
1346
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { style: style ?? { height: "400px", width: "100%" }, className: className ?? "", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1347
- import_x_data_grid.DataGrid,
1348
- {
1349
- rows: dataSource ? dataSource.map((row) => ({
1350
- id: idAlias ? row[idAlias] : row["id"],
1351
- ...row
1352
- })) : [],
1353
- columns,
1354
- checkboxSelection: showCheckbox,
1355
- onRowSelectionModelChange,
1356
- initialState: {
1357
- pagination: {
1358
- paginationModel: { pageSize: 50, page: 0 }
1359
- }
1360
- },
1361
- sx: {
1362
- "& .MuiDataGrid-columnHeaders": {
1363
- backgroundColor: "#F3E5F5",
1364
- color: "#333"
1365
- },
1366
- "& .MuiDataGrid-columnHeaders .MuiSvgIcon-root": {
1367
- color: "#580f8b"
1368
- },
1369
- "& .MuiDataGrid-columnHeaderTitle": {
1370
- fontWeight: "bold"
1371
- }
1372
- },
1373
- localeText: { noRowsLabel: "No Rows" },
1374
- ...rest
1375
- }
1376
- ) });
1377
- };
1378
- var CmrTable_default = CmrTable;
1379
-
1380
- // src/index.ts
1381
- var CmrTable2 = CmrTable_default;
1382
- // Annotate the CommonJS export names for ESM import in node:
1383
- 0 && (module.exports = {
1384
- CMRSelectUpload,
1385
- CMRUpload,
1386
- CmrButton,
1387
- CmrCheckbox,
1388
- CmrCollapse,
1389
- CmrConfirmation,
1390
- CmrDeletionDialog,
1391
- CmrEditConfirmation,
1392
- CmrInput,
1393
- CmrInputNumber,
1394
- CmrLabel,
1395
- CmrNameDialog,
1396
- CmrPanel,
1397
- CmrRadioGroup,
1398
- CmrSelect,
1399
- CmrTable,
1400
- CmrTabs,
1401
- CmrTooltip,
1402
- CmrUploadWindow
1403
- });
2
+ export * from "./CmrComponents/CmrButton";
3
+ export * from "./CmrComponents/CmrCheckbox";
4
+ export * from "./CmrComponents/CmrInput";
5
+ export * from "./CmrComponents/CmrRadioGroup";
6
+ export * from "./CmrComponents/CmrSelect";
7
+ export { default as CmrCollapse } from "./CmrComponents/collapse/Collapse";
8
+ export { default as CmrPanel } from "./CmrComponents/panel/Panel";
9
+ export { default as CMRUpload } from "./CmrComponents/upload/Upload";
10
+ export { default as CmrNameDialog } from "./CmrComponents/rename/edit";
11
+ export { default as CmrConfirmation } from "./CmrComponents/dialogue/Confirmation";
12
+ export { default as CmrDeletionDialog } from "./CmrComponents/dialogue/DeletionDialog";
13
+ export { default as CmrEditConfirmation } from "./CmrComponents/dialogue/EditConfirmation";
14
+ export { default as CmrTabs } from "./CmrTabs/CmrTabs";
15
+ export { default as CmrCheckbox } from "./CmrComponents/checkbox/Checkbox";
16
+ export { default as CmrLabel } from "./CmrComponents/label/Label";
17
+ export { default as CmrButton } from "./CmrComponents/CmrButton/CmrButton";
18
+ export { default as CmrInputNumber } from "./CmrComponents/input-number/InputNumber";
19
+ export { default as CMRSelectUpload } from "./CmrComponents/select-upload/SelectUpload";
20
+ export { default as CmrUploadWindow } from "./CmrComponents/upload/UploadWindow";
21
+ export { default as CmrTooltip } from "./CmrComponents/tooltip/Tooltip";
22
+ export { DualSlider } from "./CmrComponents/double-slider/DualSlider";
23
+ export { Slider } from "./CmrComponents/gui-slider/Slider";
24
+ export { InvertibleDualSlider } from "./CmrComponents/double-slider/InvertibleDualSlider";
25
+ import CmrTableComponent from "./CmrTable/CmrTable";
26
+ export var CmrTable = CmrTableComponent;
27
+ import "./core";