@ssa-ui-kit/core 3.15.0 → 3.15.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.
- package/dist/components/index.d.ts +3 -0
- package/dist/index.js +339 -4
- package/package.json +5 -5
- package/dist/index.js.map +0 -1
|
@@ -40,6 +40,9 @@ export * from './DateRangePicker';
|
|
|
40
40
|
export * from './ColorPicker';
|
|
41
41
|
export * from './SearchBox';
|
|
42
42
|
export type * from './SearchBox/types';
|
|
43
|
+
export { default as FileUpload } from './FileUpload';
|
|
44
|
+
export { FileUploadItem } from './FileUpload';
|
|
45
|
+
export type * from './FileUpload/types';
|
|
43
46
|
export * from './Field';
|
|
44
47
|
export { default as Form } from './Form';
|
|
45
48
|
export { default as FormAction } from './FormAction';
|
package/dist/index.js
CHANGED
|
@@ -7999,6 +7999,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
7999
7999
|
DropdownOptions: () => (/* reexport */ DropdownOptions_DropdownOptions),
|
|
8000
8000
|
DropdownToggle: () => (/* reexport */ DropdownToggle_DropdownToggle),
|
|
8001
8001
|
Field: () => (/* reexport */ index_parts_namespaceObject),
|
|
8002
|
+
FileUpload: () => (/* reexport */ FileUpload_FileUpload),
|
|
8003
|
+
FileUploadItem: () => (/* reexport */ FileUpload_FileUploadItem),
|
|
8002
8004
|
Filters: () => (/* reexport */ Filters),
|
|
8003
8005
|
FiltersMultiSelect: () => (/* reexport */ FiltersMultiSelect),
|
|
8004
8006
|
FiltersMultiSelectEmpty: () => (/* reexport */ FiltersMultiSelectEmpty),
|
|
@@ -28718,6 +28720,338 @@ const SearchBox = ({
|
|
|
28718
28720
|
|
|
28719
28721
|
|
|
28720
28722
|
|
|
28723
|
+
;// ./src/components/FileUpload/styles.ts
|
|
28724
|
+
function FileUpload_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
28725
|
+
|
|
28726
|
+
const wrapper = true ? {
|
|
28727
|
+
name: "b6wrti",
|
|
28728
|
+
styles: "display:flex;flex-direction:column;width:100%"
|
|
28729
|
+
} : 0;
|
|
28730
|
+
const hiddenInput = true ? {
|
|
28731
|
+
name: "eivff4",
|
|
28732
|
+
styles: "display:none"
|
|
28733
|
+
} : 0;
|
|
28734
|
+
|
|
28735
|
+
// ─── Input row (button + filename) ───────────────────────────────────────────
|
|
28736
|
+
|
|
28737
|
+
const inputRow = theme => /*#__PURE__*/(0,react_namespaceObject.css)("display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:4px 14px 4px 4px;background:", theme.colors.white, ";border:1px solid ", theme.colors.grey, ";border-radius:12px;cursor:default;&:hover{border-color:", theme.colors.greyDarker80, ";}" + ( true ? "" : 0), true ? "" : 0);
|
|
28738
|
+
const inputRowError = theme => /*#__PURE__*/(0,react_namespaceObject.css)("border-color:", theme.palette.error.light, ";&:hover{border-color:", theme.palette.error.main, ";}" + ( true ? "" : 0), true ? "" : 0);
|
|
28739
|
+
const inputRowDisabled = theme => /*#__PURE__*/(0,react_namespaceObject.css)("background:", theme.colors.greyLighter, ";border-color:", theme.colors.grey, ";pointer-events:none;&:hover{border-color:", theme.colors.grey, ";}" + ( true ? "" : 0), true ? "" : 0);
|
|
28740
|
+
const fileNameText = theme => /*#__PURE__*/(0,react_namespaceObject.css)("flex:1;font-size:0.875rem;font-weight:400;line-height:1rem;color:", theme.colors.greyDarker, ";overflow:hidden;text-overflow:ellipsis;white-space:nowrap;" + ( true ? "" : 0), true ? "" : 0);
|
|
28741
|
+
const placeholderText = theme => /*#__PURE__*/(0,react_namespaceObject.css)("color:", theme.colors.greyDarker60, ";" + ( true ? "" : 0), true ? "" : 0);
|
|
28742
|
+
|
|
28743
|
+
// ─── Drop area ────────────────────────────────────────────────────────────────
|
|
28744
|
+
|
|
28745
|
+
const dropArea = theme => /*#__PURE__*/(0,react_namespaceObject.css)("display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:160px;padding:32px 24px;background:", theme.palette.secondary.light, ";border:2px solid ", theme.colors.grey, ";border-radius:16px;cursor:pointer;transition:all 0.15s ease;&:hover{border:2px dashed ", theme.palette.primary.main, ";background:", theme.colors.blueRoyal6, ";}&:focus{outline:none;border:2px dashed ", theme.palette.primary.main, ";background:", theme.colors.blueRoyal6, ";}" + ( true ? "" : 0), true ? "" : 0);
|
|
28746
|
+
const dropAreaActive = theme => /*#__PURE__*/(0,react_namespaceObject.css)("border:2px dashed ", theme.palette.primary.main, ";background:", theme.colors.blueRoyal6, ";" + ( true ? "" : 0), true ? "" : 0);
|
|
28747
|
+
const dropAreaError = theme => /*#__PURE__*/(0,react_namespaceObject.css)("border-color:", theme.palette.error.light, ";background:", theme.colors.redLighter6, ";&:hover{border-color:", theme.palette.error.main, ";background:", theme.colors.redLighter6, ";}" + ( true ? "" : 0), true ? "" : 0);
|
|
28748
|
+
const dropAreaDisabled = theme => /*#__PURE__*/(0,react_namespaceObject.css)("background:", theme.colors.greyLighter, ";border-color:", theme.colors.grey, ";cursor:not-allowed;pointer-events:none;opacity:0.6;" + ( true ? "" : 0), true ? "" : 0);
|
|
28749
|
+
const dropAreaTitle = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.9375rem;font-weight:600;color:", theme.colors.greyDarker, ";text-align:center;margin-top:4px;" + ( true ? "" : 0), true ? "" : 0);
|
|
28750
|
+
const dropAreaHint = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.8125rem;font-weight:400;color:", theme.colors.greyDarker60, ";text-align:center;" + ( true ? "" : 0), true ? "" : 0);
|
|
28751
|
+
const dropAreaAction = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.875rem;font-weight:400;color:", theme.colors.greyDarker, ";text-align:center;margin-top:4px;" + ( true ? "" : 0), true ? "" : 0);
|
|
28752
|
+
const dropAreaClearButton = theme => /*#__PURE__*/(0,react_namespaceObject.css)("display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:0.8125rem;font-weight:400;color:", theme.colors.greyDarker60, ";background:transparent;border:1px solid ", theme.colors.grey, ";border-radius:8px;cursor:pointer;transition:all 0.15s ease;&:hover{color:", theme.palette.error.main, ";border-color:", theme.palette.error.light, ";& svg{stroke:", theme.palette.error.main, ";}}&:disabled{opacity:0.5;cursor:not-allowed;}" + ( true ? "" : 0), true ? "" : 0);
|
|
28753
|
+
|
|
28754
|
+
// ─── Uploaded files list ──────────────────────────────────────────────────────
|
|
28755
|
+
|
|
28756
|
+
const filesList = true ? {
|
|
28757
|
+
name: "pm5s94",
|
|
28758
|
+
styles: "display:flex;flex-direction:column;gap:8px;margin-top:12px"
|
|
28759
|
+
} : 0;
|
|
28760
|
+
const filesListTitle = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.875rem;font-weight:500;color:", theme.colors.greyDarker, ";margin-bottom:4px;" + ( true ? "" : 0), true ? "" : 0);
|
|
28761
|
+
|
|
28762
|
+
// ─── File item ────────────────────────────────────────────────────────────────
|
|
28763
|
+
|
|
28764
|
+
const fileItem = theme => /*#__PURE__*/(0,react_namespaceObject.css)("display:flex;align-items:center;gap:12px;padding:12px 16px;background:", theme.colors.white, ";border:1px solid ", theme.colors.grey, ";border-radius:12px;" + ( true ? "" : 0), true ? "" : 0);
|
|
28765
|
+
const fileIconWrapper = true ? {
|
|
28766
|
+
name: "1xuq60z",
|
|
28767
|
+
styles: "flex-shrink:0;display:flex;align-items:center;justify-content:center"
|
|
28768
|
+
} : 0;
|
|
28769
|
+
const fileInfo = true ? {
|
|
28770
|
+
name: "1k33dov",
|
|
28771
|
+
styles: "flex:1;display:flex;flex-direction:column;gap:2px;min-width:0"
|
|
28772
|
+
} : 0;
|
|
28773
|
+
const fileName = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.875rem;font-weight:600;color:", theme.colors.greyDarker, ";overflow:hidden;text-overflow:ellipsis;white-space:nowrap;" + ( true ? "" : 0), true ? "" : 0);
|
|
28774
|
+
const fileSize = theme => /*#__PURE__*/(0,react_namespaceObject.css)("font-size:0.75rem;font-weight:400;color:", theme.colors.greyDarker60, ";" + ( true ? "" : 0), true ? "" : 0);
|
|
28775
|
+
const deleteButton = theme => /*#__PURE__*/(0,react_namespaceObject.css)("flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:8px;cursor:pointer;color:", theme.colors.greyDarker60, ";transition:color 0.15s ease,background 0.15s ease;&:hover{color:", theme.palette.error.main, ";background:", theme.colors.greyLighter, ";}&:disabled{cursor:not-allowed;opacity:0.5;}" + ( true ? "" : 0), true ? "" : 0);
|
|
28776
|
+
;// ./src/components/FileUpload/FileUploadItem.tsx
|
|
28777
|
+
|
|
28778
|
+
|
|
28779
|
+
|
|
28780
|
+
|
|
28781
|
+
const formatFileSize = bytes => {
|
|
28782
|
+
if (bytes === 0) return '0 B';
|
|
28783
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
28784
|
+
if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`;
|
|
28785
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
28786
|
+
};
|
|
28787
|
+
const FileUploadItem = ({
|
|
28788
|
+
file,
|
|
28789
|
+
onRemove,
|
|
28790
|
+
disabled
|
|
28791
|
+
}) => {
|
|
28792
|
+
const theme = (0,react_namespaceObject.useTheme)();
|
|
28793
|
+
return (0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
28794
|
+
css: fileItem(theme),
|
|
28795
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)("div", {
|
|
28796
|
+
css: fileIconWrapper,
|
|
28797
|
+
children: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
|
|
28798
|
+
name: "file-pdf",
|
|
28799
|
+
size: 32,
|
|
28800
|
+
color: theme.colors.greyDarker60
|
|
28801
|
+
})
|
|
28802
|
+
}), (0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
28803
|
+
css: fileInfo,
|
|
28804
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
28805
|
+
css: fileName(theme),
|
|
28806
|
+
children: file.name
|
|
28807
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
28808
|
+
css: fileSize(theme),
|
|
28809
|
+
children: formatFileSize(file.size)
|
|
28810
|
+
})]
|
|
28811
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("button", {
|
|
28812
|
+
css: deleteButton(theme),
|
|
28813
|
+
type: "button",
|
|
28814
|
+
disabled: disabled,
|
|
28815
|
+
onClick: () => onRemove(file),
|
|
28816
|
+
"aria-label": `Remove ${file.name}`,
|
|
28817
|
+
children: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
|
|
28818
|
+
name: "bin",
|
|
28819
|
+
size: 16,
|
|
28820
|
+
color: "currentColor"
|
|
28821
|
+
})
|
|
28822
|
+
})]
|
|
28823
|
+
});
|
|
28824
|
+
};
|
|
28825
|
+
/* harmony default export */ const FileUpload_FileUploadItem = (FileUploadItem);
|
|
28826
|
+
;// ./src/components/FileUpload/FileUpload.tsx
|
|
28827
|
+
|
|
28828
|
+
|
|
28829
|
+
|
|
28830
|
+
|
|
28831
|
+
|
|
28832
|
+
|
|
28833
|
+
|
|
28834
|
+
|
|
28835
|
+
|
|
28836
|
+
const normalizeValue = value => {
|
|
28837
|
+
if (!value) return [];
|
|
28838
|
+
return Array.isArray(value) ? value : [value];
|
|
28839
|
+
};
|
|
28840
|
+
const formatBytes = bytes => {
|
|
28841
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
28842
|
+
if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`;
|
|
28843
|
+
return `${Math.round(bytes / (1024 * 1024))} MB`;
|
|
28844
|
+
};
|
|
28845
|
+
|
|
28846
|
+
/**
|
|
28847
|
+
* FileUpload - File input component with optional drag-and-drop support
|
|
28848
|
+
*
|
|
28849
|
+
* Supports single and multi-file selection with built-in validation for
|
|
28850
|
+
* file formats and size. In multi-file mode, selected files are listed
|
|
28851
|
+
* below the input with individual remove controls.
|
|
28852
|
+
*
|
|
28853
|
+
* @example
|
|
28854
|
+
* ```tsx
|
|
28855
|
+
* // Single file
|
|
28856
|
+
* <FileUpload
|
|
28857
|
+
* label="Attachment"
|
|
28858
|
+
* placeholder="No file selected"
|
|
28859
|
+
* actionText="Choose File"
|
|
28860
|
+
* allowedFormats={['pdf', 'doc']}
|
|
28861
|
+
* maxFileSize={5 * 1024 * 1024}
|
|
28862
|
+
* onChange={(files) => console.log(files)}
|
|
28863
|
+
* />
|
|
28864
|
+
* ```
|
|
28865
|
+
*
|
|
28866
|
+
* @example
|
|
28867
|
+
* ```tsx
|
|
28868
|
+
* // Multi-file with drop area
|
|
28869
|
+
* <FileUpload
|
|
28870
|
+
* label="Documents"
|
|
28871
|
+
* isMultiFile
|
|
28872
|
+
* maxFiles={5}
|
|
28873
|
+
* withDropArea
|
|
28874
|
+
* uploadedSectionTitle="Uploaded files"
|
|
28875
|
+
* value={files}
|
|
28876
|
+
* onChange={setFiles}
|
|
28877
|
+
* />
|
|
28878
|
+
* ```
|
|
28879
|
+
*/
|
|
28880
|
+
const FileUpload = ({
|
|
28881
|
+
label,
|
|
28882
|
+
placeholder = 'No file selected',
|
|
28883
|
+
helperText,
|
|
28884
|
+
actionText = 'Choose File',
|
|
28885
|
+
error,
|
|
28886
|
+
disabled = false,
|
|
28887
|
+
css,
|
|
28888
|
+
className,
|
|
28889
|
+
allowedFormats,
|
|
28890
|
+
maxFileSize,
|
|
28891
|
+
isMultiFile = false,
|
|
28892
|
+
maxFiles,
|
|
28893
|
+
withDropArea = false,
|
|
28894
|
+
uploadedSectionTitle,
|
|
28895
|
+
value,
|
|
28896
|
+
onChange,
|
|
28897
|
+
onFileRejected
|
|
28898
|
+
}) => {
|
|
28899
|
+
const theme = (0,react_namespaceObject.useTheme)();
|
|
28900
|
+
const inputRef = (0,external_react_namespaceObject.useRef)(null);
|
|
28901
|
+
const [files, setFiles] = (0,external_react_namespaceObject.useState)(normalizeValue(value));
|
|
28902
|
+
const [isDragOver, setIsDragOver] = (0,external_react_namespaceObject.useState)(false);
|
|
28903
|
+
(0,external_react_namespaceObject.useEffect)(() => {
|
|
28904
|
+
setFiles(normalizeValue(value));
|
|
28905
|
+
}, [value]);
|
|
28906
|
+
const applyValidation = (0,external_react_namespaceObject.useCallback)(incoming => {
|
|
28907
|
+
const notify = (file, reason) => onFileRejected?.(file, reason);
|
|
28908
|
+
return incoming.filter(file => {
|
|
28909
|
+
if (allowedFormats?.length && !allowedFormats.some(item => file.name.toLowerCase().endsWith(`.${item.toLowerCase()}`) || file.type.toLowerCase().includes(item.toLowerCase()))) {
|
|
28910
|
+
notify(file, 'format');
|
|
28911
|
+
return false;
|
|
28912
|
+
}
|
|
28913
|
+
if (maxFileSize && file.size > maxFileSize) {
|
|
28914
|
+
notify(file, 'size');
|
|
28915
|
+
return false;
|
|
28916
|
+
}
|
|
28917
|
+
return true;
|
|
28918
|
+
});
|
|
28919
|
+
}, [allowedFormats, maxFileSize, onFileRejected]);
|
|
28920
|
+
const mergeFiles = (0,external_react_namespaceObject.useCallback)((current, incoming) => {
|
|
28921
|
+
if (!isMultiFile) return incoming.slice(0, 1);
|
|
28922
|
+
const combined = [...current, ...incoming];
|
|
28923
|
+
return maxFiles ? combined.slice(0, maxFiles) : combined;
|
|
28924
|
+
}, [isMultiFile, maxFiles]);
|
|
28925
|
+
const handleFilesChange = (0,external_react_namespaceObject.useCallback)(incoming => {
|
|
28926
|
+
const validated = applyValidation(incoming);
|
|
28927
|
+
const merged = mergeFiles(files, validated);
|
|
28928
|
+
setFiles(merged);
|
|
28929
|
+
onChange?.(merged);
|
|
28930
|
+
}, [files, applyValidation, mergeFiles, onChange]);
|
|
28931
|
+
const handleInputChange = e => {
|
|
28932
|
+
const selected = Array.from(e.target.files ?? []);
|
|
28933
|
+
handleFilesChange(selected);
|
|
28934
|
+
e.target.value = '';
|
|
28935
|
+
};
|
|
28936
|
+
const handleRemove = file => {
|
|
28937
|
+
const updated = files.filter(f => f !== file);
|
|
28938
|
+
setFiles(updated);
|
|
28939
|
+
onChange?.(updated);
|
|
28940
|
+
};
|
|
28941
|
+
const handleChooseClick = () => {
|
|
28942
|
+
if (!disabled) inputRef.current?.click();
|
|
28943
|
+
};
|
|
28944
|
+
const handleDragOver = e => {
|
|
28945
|
+
e.preventDefault();
|
|
28946
|
+
if (!disabled) setIsDragOver(true);
|
|
28947
|
+
};
|
|
28948
|
+
const handleDragLeave = () => setIsDragOver(false);
|
|
28949
|
+
const handleDrop = e => {
|
|
28950
|
+
e.preventDefault();
|
|
28951
|
+
setIsDragOver(false);
|
|
28952
|
+
if (disabled) return;
|
|
28953
|
+
handleFilesChange(Array.from(e.dataTransfer.files));
|
|
28954
|
+
};
|
|
28955
|
+
const acceptAttr = allowedFormats?.map(f => `.${f}`).join(',');
|
|
28956
|
+
const hasError = !!error;
|
|
28957
|
+
const inlineFileName = !isMultiFile && files[0]?.name;
|
|
28958
|
+
const showUploadedFiles = isMultiFile && files.length > 0;
|
|
28959
|
+
return (0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
28960
|
+
css: [wrapper, css, true ? "" : 0, true ? "" : 0],
|
|
28961
|
+
className: className,
|
|
28962
|
+
children: [label && (0,jsx_runtime_namespaceObject.jsx)(Label_Label, {
|
|
28963
|
+
isDisabled: disabled,
|
|
28964
|
+
children: label
|
|
28965
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("input", {
|
|
28966
|
+
ref: inputRef,
|
|
28967
|
+
type: "file",
|
|
28968
|
+
css: hiddenInput,
|
|
28969
|
+
multiple: isMultiFile,
|
|
28970
|
+
accept: acceptAttr,
|
|
28971
|
+
onChange: handleInputChange,
|
|
28972
|
+
disabled: disabled
|
|
28973
|
+
}), withDropArea ? (0,jsx_runtime_namespaceObject.jsx)("div", {
|
|
28974
|
+
css: [dropArea(theme), isDragOver && dropAreaActive(theme), hasError && dropAreaError(theme), disabled && dropAreaDisabled(theme), true ? "" : 0, true ? "" : 0],
|
|
28975
|
+
onDragOver: handleDragOver,
|
|
28976
|
+
onDragLeave: handleDragLeave,
|
|
28977
|
+
onDrop: handleDrop,
|
|
28978
|
+
onClick: !isMultiFile && files[0] ? undefined : handleChooseClick,
|
|
28979
|
+
role: "button",
|
|
28980
|
+
tabIndex: disabled ? -1 : 0,
|
|
28981
|
+
onKeyDown: e => e.key === 'Enter' && !files[0] && handleChooseClick(),
|
|
28982
|
+
children: !isMultiFile && files[0] ? (0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
28983
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
|
|
28984
|
+
name: "file-pdf",
|
|
28985
|
+
size: 36,
|
|
28986
|
+
color: theme.colors.greyDarker60
|
|
28987
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
28988
|
+
css: dropAreaTitle(theme),
|
|
28989
|
+
children: files[0].name
|
|
28990
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
28991
|
+
css: dropAreaHint(theme),
|
|
28992
|
+
children: formatBytes(files[0].size)
|
|
28993
|
+
}), (0,jsx_runtime_namespaceObject.jsxs)("button", {
|
|
28994
|
+
css: dropAreaClearButton(theme),
|
|
28995
|
+
type: "button",
|
|
28996
|
+
disabled: disabled,
|
|
28997
|
+
onClick: e => {
|
|
28998
|
+
e.stopPropagation();
|
|
28999
|
+
handleRemove(files[0]);
|
|
29000
|
+
},
|
|
29001
|
+
"aria-label": "Remove file",
|
|
29002
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
|
|
29003
|
+
name: "delete",
|
|
29004
|
+
size: 14,
|
|
29005
|
+
color: theme.colors.greyDarker60
|
|
29006
|
+
}), "Remove"]
|
|
29007
|
+
})]
|
|
29008
|
+
}) : (0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
29009
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
|
|
29010
|
+
name: "export",
|
|
29011
|
+
size: 28,
|
|
29012
|
+
color: isDragOver ? theme.palette.primary.main : theme.colors.greyDarker60
|
|
29013
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
29014
|
+
css: dropAreaTitle(theme),
|
|
29015
|
+
children: placeholder || 'Drag and drop your files'
|
|
29016
|
+
}), helperText, (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
29017
|
+
css: dropAreaAction(theme),
|
|
29018
|
+
children: actionText
|
|
29019
|
+
})]
|
|
29020
|
+
})
|
|
29021
|
+
}) : (0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
29022
|
+
css: [inputRow(theme), hasError && inputRowError(theme), disabled && inputRowDisabled(theme), true ? "" : 0, true ? "" : 0],
|
|
29023
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)(Button_Button, {
|
|
29024
|
+
variant: "primary",
|
|
29025
|
+
size: "small",
|
|
29026
|
+
text: actionText,
|
|
29027
|
+
isDisabled: disabled,
|
|
29028
|
+
onClick: handleChooseClick,
|
|
29029
|
+
type: "button"
|
|
29030
|
+
}), (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
29031
|
+
css: [fileNameText(theme), !inlineFileName && placeholderText(theme), true ? "" : 0, true ? "" : 0],
|
|
29032
|
+
children: inlineFileName || placeholder
|
|
29033
|
+
})]
|
|
29034
|
+
}), (error || helperText && !withDropArea) && (0,jsx_runtime_namespaceObject.jsx)(FormHelperText_FormHelperText, {
|
|
29035
|
+
status: error ? 'error' : 'basic',
|
|
29036
|
+
disabled: disabled,
|
|
29037
|
+
css: withDropArea ? {
|
|
29038
|
+
marginTop: 12
|
|
29039
|
+
} : undefined,
|
|
29040
|
+
children: error || helperText
|
|
29041
|
+
}), showUploadedFiles && (0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
29042
|
+
css: filesList,
|
|
29043
|
+
children: [uploadedSectionTitle && (0,jsx_runtime_namespaceObject.jsx)("span", {
|
|
29044
|
+
css: filesListTitle(theme),
|
|
29045
|
+
children: uploadedSectionTitle
|
|
29046
|
+
}), files.map((file, index) => (0,jsx_runtime_namespaceObject.jsx)(FileUpload_FileUploadItem, {
|
|
29047
|
+
file: file,
|
|
29048
|
+
onRemove: handleRemove,
|
|
29049
|
+
disabled: disabled
|
|
29050
|
+
}, `${file.name}-${index}`))]
|
|
29051
|
+
})]
|
|
29052
|
+
});
|
|
29053
|
+
};
|
|
29054
|
+
/* harmony default export */ const FileUpload_FileUpload = (FileUpload);
|
|
28721
29055
|
;// ./src/components/Field/index.parts.ts
|
|
28722
29056
|
|
|
28723
29057
|
|
|
@@ -33630,7 +33964,7 @@ const Progress = ({
|
|
|
33630
33964
|
;// ./src/components/ProgressBar/styles.ts
|
|
33631
33965
|
function ProgressBar_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
33632
33966
|
|
|
33633
|
-
const
|
|
33967
|
+
const styles_wrapper = theme => /*#__PURE__*/(0,react_namespaceObject.css)("position:relative;background-color:", theme.colors.greyLighter, ";border-radius:12px;box-shadow:inset 0 -1px 1px ", theme.colors.white30, ";" + ( true ? "" : 0), true ? "" : 0);
|
|
33634
33968
|
var ProgressBar_styles_ref = true ? {
|
|
33635
33969
|
name: "14rz325",
|
|
33636
33970
|
styles: "position:absolute;display:block;bottom:0;border-radius:12px"
|
|
@@ -33680,7 +34014,7 @@ const ProgressBar = /*#__PURE__*/(0,external_react_namespaceObject.forwardRef)(f
|
|
|
33680
34014
|
};
|
|
33681
34015
|
return (0,jsx_runtime_namespaceObject.jsx)("div", {
|
|
33682
34016
|
ref: ref,
|
|
33683
|
-
css: [
|
|
34017
|
+
css: [styles_wrapper, {
|
|
33684
34018
|
backgroundColor: bgColor
|
|
33685
34019
|
}, true ? "" : 0, true ? "" : 0],
|
|
33686
34020
|
style: {
|
|
@@ -58365,6 +58699,8 @@ const UserProfile = ({
|
|
|
58365
58699
|
|
|
58366
58700
|
|
|
58367
58701
|
|
|
58702
|
+
|
|
58703
|
+
|
|
58368
58704
|
|
|
58369
58705
|
|
|
58370
58706
|
|
|
@@ -58560,5 +58896,4 @@ const useTranslation = () => (0,external_react_namespaceObject.useContext)(Trans
|
|
|
58560
58896
|
/******/ return __webpack_exports__;
|
|
58561
58897
|
/******/ })()
|
|
58562
58898
|
;
|
|
58563
|
-
});
|
|
58564
|
-
//# sourceMappingURL=index.js.map
|
|
58899
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssa-ui-kit/core",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"luxon": "3.5.0",
|
|
40
40
|
"plotly.js": "3.0.0",
|
|
41
41
|
"react-plotly.js": "2.6.0",
|
|
42
|
-
"@ssa-ui-kit/hooks": "^3.15.
|
|
43
|
-
"@ssa-ui-kit/utils": "^3.15.
|
|
42
|
+
"@ssa-ui-kit/hooks": "^3.15.1",
|
|
43
|
+
"@ssa-ui-kit/utils": "^3.15.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@emotion/css": "11.13.5",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
},
|
|
89
89
|
"scripts": {
|
|
90
90
|
"test": "jest -i --no-cache",
|
|
91
|
-
"build": "webpack --mode=production --node-env=production && tsc --build
|
|
92
|
-
"build:watch": "webpack --mode=production --node-env=production --watch && tsc --build
|
|
91
|
+
"build": "webpack --mode=production --node-env=production && tsc --build ./tsconfig.build.json && resolve-tspaths -p ./tsconfig.build.json",
|
|
92
|
+
"build:watch": "webpack --mode=production --node-env=production --watch && tsc --build ./tsconfig.build.json && resolve-tspaths -p ./tsconfig.build.json",
|
|
93
93
|
"sb:dev": "env storybook dev -p 6006",
|
|
94
94
|
"sb:build": "env storybook build",
|
|
95
95
|
"test:e2e": "pnpm exec playwright test --project=chromium",
|