@macive/ui 0.0.12 → 0.0.14
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/locales/da.json +1 -1
- package/dist/locales/de.json +1 -1
- package/dist/locales/en.json +1 -1
- package/dist/locales/es.json +1 -1
- package/dist/locales/fi.json +1 -1
- package/dist/locales/fr.json +1 -1
- package/dist/locales/it.json +1 -1
- package/dist/locales/ja.json +1 -1
- package/dist/locales/ko.json +1 -1
- package/dist/locales/nb.json +1 -1
- package/dist/locales/nl.json +1 -1
- package/dist/locales/pl.json +1 -1
- package/dist/locales/pt-BR.json +1 -1
- package/dist/locales/pt-PT.json +1 -1
- package/dist/locales/sv.json +1 -1
- package/dist/locales/th.json +1 -1
- package/dist/locales/tr.json +1 -1
- package/dist/locales/vi.json +1 -1
- package/dist/locales/zh-CN.json +1 -1
- package/dist/locales/zh-TW.json +1 -1
- package/dist/scripts/build-scss.js +27 -3
- package/dist/src/components/AlphaTabs/AlphaTabs.classnames.js +7 -7
- package/dist/src/components/AlphaTabs/utilities.js +7 -3
- package/dist/src/components/AppProvider/AppProvider.js +8 -2
- package/dist/src/components/Box/Box.js +2 -1
- package/dist/src/components/BulkActions/BulkActions.classnames.js +6 -6
- package/dist/src/components/ButtonGroup/ButtonGroup.classnames.js +2 -2
- package/dist/src/components/Checkbox/Checkbox.classnames.js +1 -1
- package/dist/src/components/Checkbox/Checkbox.js +4 -5
- package/dist/src/components/CheckboxTree/CheckboxList.js +29 -30
- package/dist/src/components/CheckboxTree/Tree.js +69 -28
- package/dist/src/components/CheckboxTree/updateItemStates.js +8 -8
- package/dist/src/components/Connected/Connected.classnames.js +5 -5
- package/dist/src/components/DataTable/DataTable.classnames.js +17 -17
- package/dist/src/components/DatePicker/DatePicker.classnames.js +28 -0
- package/dist/src/components/DatePicker/DatePicker.js +138 -0
- package/dist/src/components/DatePicker/components/Day/Day.js +52 -0
- package/dist/src/components/DatePicker/components/Day/index.js +17 -0
- package/dist/src/components/DatePicker/components/Month/Month.js +82 -0
- package/dist/src/components/DatePicker/components/Month/index.js +17 -0
- package/dist/src/components/DatePicker/components/Weekday/Weekday.js +14 -0
- package/dist/src/components/DatePicker/components/Weekday/index.js +17 -0
- package/dist/src/components/DatePicker/components/index.js +19 -0
- package/dist/src/components/DatePicker/index.js +17 -0
- package/dist/src/components/DatePicker/utilities.js +51 -0
- package/dist/src/components/FlexBox.js +30 -15
- package/dist/src/components/Frame/Frame.classnames.js +5 -5
- package/dist/src/components/Frame/Frame.js +2 -11
- package/dist/src/components/Frame/components/ContextualSaveBar/ContextualSaveBar.classnames.js +1 -2
- package/dist/src/components/Frame/components/ContextualSaveBar/ContextualSaveBar.js +6 -31
- package/dist/src/components/Frame/components/ToastManager/ToastManager.classnames.js +3 -3
- package/dist/src/components/Grid/components/Cell/Cell.classnames.js +42 -42
- package/dist/src/components/Icons/MaArrowRight.js +5 -0
- package/dist/src/components/Icons/MaCheck.js +2 -8
- package/dist/src/components/Icons/MaClose.js +2 -8
- package/dist/src/components/Icons/MaCopyLink.js +2 -8
- package/dist/src/components/Icons/MaDown.js +2 -8
- package/dist/src/components/Icons/MaDragGrid.js +5 -0
- package/dist/src/components/Icons/MaEyes.js +2 -8
- package/dist/src/components/Icons/MaLeft.js +2 -8
- package/dist/src/components/Icons/MaMinus.js +2 -8
- package/dist/src/components/Icons/MaPlus.js +2 -8
- package/dist/src/components/Icons/MaRight.js +2 -8
- package/dist/src/components/Icons/MaSelect.js +5 -0
- package/dist/src/components/Icons/MaUp.js +2 -8
- package/dist/src/components/Icons/index.js +9 -6
- package/dist/src/components/Image/Image.js +89 -22
- package/dist/src/components/IndexFilters/components/SortButton/components/DirectionButton/DirectionButton.classnames.js +1 -1
- package/dist/src/components/IndexTable/IndexTable.classnames.js +36 -36
- package/dist/src/components/Input/Input.classnames.js +30 -3
- package/dist/src/components/Input/Input.js +31 -12
- package/dist/src/components/Labelled/Labelled.classnames.js +1 -0
- package/dist/src/components/Labelled/Labelled.js +1 -2
- package/dist/src/components/Layout/Layout.classnames.js +4 -4
- package/dist/src/components/LegacyCard/LegacyCard.classnames.js +4 -4
- package/dist/src/components/LegacyStack/LegacyStack.classnames.js +1 -1
- package/dist/src/components/Navigation/Navigation.classnames.js +11 -11
- package/dist/src/components/OptionList/components/Checkbox/Checkbox.classnames.js +1 -1
- package/dist/src/components/PageActions/PageActions.js +2 -1
- package/dist/src/components/Pagination/V1/Page.js +6 -1
- package/dist/src/components/Pagination/V1/PaginationV1.classnames.js +12 -0
- package/dist/src/components/Pagination/V1/pagination.js +7 -1
- package/dist/src/components/Popover/Popover.classnames.js +8 -8
- package/dist/src/components/Popover/components/PopoverOverlay/PopoverOverlay.js +1 -3
- package/dist/src/components/RangeSlider/components/DualThumb/DualThumb.classnames.js +1 -1
- package/dist/src/components/ResourceList/ResourceList.classnames.js +8 -8
- package/dist/src/components/SelectAllActions/SelectAllActions.classnames.js +4 -4
- package/dist/src/components/SkeletonTabs/SkeletonTabs.classnames.js +2 -2
- package/dist/src/components/Stack/Stack-old.js +21 -0
- package/dist/src/components/Stack/Stack.classnames.js +18 -18
- package/dist/src/components/Stack/Stack.js +43 -15
- package/dist/src/components/Switch/Switch.classnames.js +4 -4
- package/dist/src/components/Tabs/Tabs.classnames.js +3 -3
- package/dist/src/components/Tag/Tag.js +1 -1
- package/dist/src/components/Text/Text.classnames.js +5 -5
- package/dist/src/components/TextField/TextField.classnames.js +7 -7
- package/dist/src/components/TextField/components/Spinner/Spinner.js +1 -1
- package/dist/src/components/Upload/components/FileViewer/FileViewer.classnames.js +11 -0
- package/dist/src/components/Upload/components/FileViewer/FileViewer.js +7 -11
- package/dist/src/components/Upload/components/Modal/UploadFilterSection.js +14 -13
- package/dist/src/components/Upload/components/Modal/UploadModalContainer.classnames.js +23 -2
- package/dist/src/components/Upload/components/Modal/UploadModalContainer.js +49 -63
- package/dist/src/components/Upload/components/Modal/UploadModalFileItem.classnames.js +15 -0
- package/dist/src/components/Upload/components/Modal/UploadModalFileItem.js +18 -61
- package/dist/src/components/Upload/components/Thumbnail/Thumbanail.js +20 -48
- package/dist/src/components/Upload/components/Thumbnail/Thumbnail.classnames.js +24 -0
- package/dist/src/components/Upload/components/Upload/UploadContainer.js +9 -8
- package/dist/src/components/Upload/components/UploaderButton/UploaderButton.classnames.js +17 -0
- package/dist/src/components/Upload/components/UploaderButton/UploaderButtonFileList.js +17 -21
- package/dist/src/components/Upload/components/UploaderInput/FileUploadInput.classnames.js +23 -0
- package/dist/src/components/Upload/components/UploaderInput/FileUploadInput.js +14 -22
- package/dist/src/components/VerticalStack/VerticalStack.js +2 -2
- package/dist/src/components/index.js +3 -0
- package/dist/src/index.js +14 -5
- package/dist/src/utilities/capitalize.js +16 -3
- package/dist/src/utilities/renderSafeTemplate.js +41 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/scripts/build-scss.d.ts.map +1 -1
- package/dist/types/src/components/AlphaTabs/utilities.d.ts +1 -1
- package/dist/types/src/components/AlphaTabs/utilities.d.ts.map +1 -1
- package/dist/types/src/components/AppProvider/AppProvider.d.ts +1 -1
- package/dist/types/src/components/AppProvider/AppProvider.d.ts.map +1 -1
- package/dist/types/src/components/Box/Box.d.ts +1 -0
- package/dist/types/src/components/Box/Box.d.ts.map +1 -1
- package/dist/types/src/components/CheckboxTree/CheckboxList.d.ts +27 -2
- package/dist/types/src/components/CheckboxTree/CheckboxList.d.ts.map +1 -1
- package/dist/types/src/components/CheckboxTree/Tree.d.ts +55 -11
- package/dist/types/src/components/CheckboxTree/Tree.d.ts.map +1 -1
- package/dist/types/src/components/CheckboxTree/index.d.ts +1 -0
- package/dist/types/src/components/CheckboxTree/index.d.ts.map +1 -1
- package/dist/types/src/components/CheckboxTree/updateItemStates.d.ts +2 -2
- package/dist/types/src/components/CheckboxTree/updateItemStates.d.ts.map +1 -1
- package/dist/types/src/components/DatePicker/DatePicker.classnames.d.ts +27 -0
- package/dist/types/src/components/DatePicker/DatePicker.classnames.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/DatePicker.d.ts +35 -0
- package/dist/types/src/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Day/Day.d.ts +20 -0
- package/dist/types/src/components/DatePicker/components/Day/Day.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Day/index.d.ts +2 -0
- package/dist/types/src/components/DatePicker/components/Day/index.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Month/Month.d.ts +19 -0
- package/dist/types/src/components/DatePicker/components/Month/Month.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Month/index.d.ts +2 -0
- package/dist/types/src/components/DatePicker/components/Month/index.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Weekday/Weekday.d.ts +7 -0
- package/dist/types/src/components/DatePicker/components/Weekday/Weekday.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/Weekday/index.d.ts +2 -0
- package/dist/types/src/components/DatePicker/components/Weekday/index.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/components/index.d.ts +4 -0
- package/dist/types/src/components/DatePicker/components/index.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/index.d.ts +2 -0
- package/dist/types/src/components/DatePicker/index.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/utilities.d.ts +3 -0
- package/dist/types/src/components/DatePicker/utilities.d.ts.map +1 -0
- package/dist/types/src/components/FlexBox.d.ts +2 -1
- package/dist/types/src/components/FlexBox.d.ts.map +1 -1
- package/dist/types/src/components/Frame/Frame.d.ts.map +1 -1
- package/dist/types/src/components/Frame/components/ContextualSaveBar/ContextualSaveBar.classnames.d.ts +0 -1
- package/dist/types/src/components/Frame/components/ContextualSaveBar/ContextualSaveBar.classnames.d.ts.map +1 -1
- package/dist/types/src/components/Frame/components/ContextualSaveBar/ContextualSaveBar.d.ts.map +1 -1
- package/dist/types/src/components/Grid/Grid.d.ts +0 -16
- package/dist/types/src/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaArrowRight.d.ts +4 -0
- package/dist/types/src/components/Icons/MaArrowRight.d.ts.map +1 -0
- package/dist/types/src/components/Icons/MaCheck.d.ts +3 -6
- package/dist/types/src/components/Icons/MaCheck.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaClose.d.ts +3 -6
- package/dist/types/src/components/Icons/MaClose.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaCopyLink.d.ts +3 -6
- package/dist/types/src/components/Icons/MaCopyLink.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaDown.d.ts +3 -6
- package/dist/types/src/components/Icons/MaDown.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaDragGrid.d.ts +4 -0
- package/dist/types/src/components/Icons/MaDragGrid.d.ts.map +1 -0
- package/dist/types/src/components/Icons/MaEyes.d.ts +3 -6
- package/dist/types/src/components/Icons/MaEyes.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaLeft.d.ts +3 -6
- package/dist/types/src/components/Icons/MaLeft.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaMinus.d.ts +3 -6
- package/dist/types/src/components/Icons/MaMinus.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaPlus.d.ts +3 -6
- package/dist/types/src/components/Icons/MaPlus.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaRight.d.ts +3 -6
- package/dist/types/src/components/Icons/MaRight.d.ts.map +1 -1
- package/dist/types/src/components/Icons/MaSelect.d.ts +4 -0
- package/dist/types/src/components/Icons/MaSelect.d.ts.map +1 -0
- package/dist/types/src/components/Icons/MaUp.d.ts +3 -6
- package/dist/types/src/components/Icons/MaUp.d.ts.map +1 -1
- package/dist/types/src/components/Icons/index.d.ts +3 -0
- package/dist/types/src/components/Icons/index.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.d.ts +4 -2
- package/dist/types/src/components/Image/Image.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.classnames.d.ts +30 -3
- package/dist/types/src/components/Input/Input.classnames.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +72 -31
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Labelled/Labelled.classnames.d.ts +1 -0
- package/dist/types/src/components/Labelled/Labelled.classnames.d.ts.map +1 -1
- package/dist/types/src/components/Labelled/Labelled.d.ts.map +1 -1
- package/dist/types/src/components/PageActions/PageActions.d.ts.map +1 -1
- package/dist/types/src/components/Pagination/V1/PaginationV1.classnames.d.ts +11 -0
- package/dist/types/src/components/Pagination/V1/PaginationV1.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Pagination/V1/pagination.d.ts.map +1 -1
- package/dist/types/src/components/Popover/components/PopoverOverlay/PopoverOverlay.d.ts.map +1 -1
- package/dist/types/src/components/Scrollable/Scrollable.d.ts +1 -1
- package/dist/types/src/components/Stack/Stack-old.d.ts +20 -0
- package/dist/types/src/components/Stack/Stack-old.d.ts.map +1 -0
- package/dist/types/src/components/Stack/Stack.d.ts +95 -17
- package/dist/types/src/components/Stack/Stack.d.ts.map +1 -1
- package/dist/types/src/components/Text/Text.d.ts +1 -1
- package/dist/types/src/components/Text/Text.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/FileViewer/FileViewer.classnames.d.ts +10 -0
- package/dist/types/src/components/Upload/components/FileViewer/FileViewer.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Upload/components/FileViewer/FileViewer.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Modal/UploadFilterSection.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Modal/UploadModalContainer.classnames.d.ts +21 -0
- package/dist/types/src/components/Upload/components/Modal/UploadModalContainer.classnames.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Modal/UploadModalContainer.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Modal/UploadModalFileItem.classnames.d.ts +14 -0
- package/dist/types/src/components/Upload/components/Modal/UploadModalFileItem.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Upload/components/Modal/UploadModalFileItem.d.ts +2 -10
- package/dist/types/src/components/Upload/components/Modal/UploadModalFileItem.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Thumbnail/Thumbanail.d.ts +9 -8
- package/dist/types/src/components/Upload/components/Thumbnail/Thumbanail.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/Thumbnail/Thumbnail.classnames.d.ts +23 -0
- package/dist/types/src/components/Upload/components/Thumbnail/Thumbnail.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Upload/components/Upload/UploadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/UploaderButton/UploaderButton.classnames.d.ts +16 -0
- package/dist/types/src/components/Upload/components/UploaderButton/UploaderButton.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Upload/components/UploaderButton/UploaderButtonFileList.d.ts.map +1 -1
- package/dist/types/src/components/Upload/components/UploaderInput/FileUploadInput.classnames.d.ts +22 -0
- package/dist/types/src/components/Upload/components/UploaderInput/FileUploadInput.classnames.d.ts.map +1 -0
- package/dist/types/src/components/Upload/components/UploaderInput/FileUploadInput.d.ts +7 -6
- package/dist/types/src/components/Upload/components/UploaderInput/FileUploadInput.d.ts.map +1 -1
- package/dist/types/src/components/Upload/typings/index.d.ts +1 -1
- package/dist/types/src/components/Upload/typings/index.d.ts.map +1 -1
- package/dist/types/src/components/VerticalStack/VerticalStack.d.ts +1 -2
- package/dist/types/src/components/VerticalStack/VerticalStack.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +11 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/tokens/metadata.d.ts +6 -6
- package/dist/types/src/utilities/capitalize.d.ts +12 -1
- package/dist/types/src/utilities/capitalize.d.ts.map +1 -1
- package/dist/types/src/utilities/renderSafeTemplate.d.ts +38 -0
- package/dist/types/src/utilities/renderSafeTemplate.d.ts.map +1 -0
- package/dist/ui.min.css +4 -4
- package/locales/da.json +1 -1
- package/locales/de.json +1 -1
- package/locales/en.json +1 -1
- package/locales/es.json +1 -1
- package/locales/fi.json +1 -1
- package/locales/fr.json +1 -1
- package/locales/it.json +1 -1
- package/locales/ja.json +1 -1
- package/locales/ko.json +1 -1
- package/locales/nb.json +1 -1
- package/locales/nl.json +1 -1
- package/locales/pl.json +1 -1
- package/locales/pt-BR.json +1 -1
- package/locales/pt-PT.json +1 -1
- package/locales/sv.json +1 -1
- package/locales/th.json +1 -1
- package/locales/tr.json +1 -1
- package/locales/vi.json +1 -1
- package/locales/zh-CN.json +1 -1
- package/locales/zh-TW.json +1 -1
- package/package.json +4 -3
- package/dist/src/components/Icon/Icon.styles.js +0 -29
- package/dist/src/components/Modal/Modal.styles.js +0 -7
- package/dist/src/components/VerticalStack/VerticalStack copy.js +0 -24
- package/dist/types/src/components/Icon/Icon.styles.d.ts +0 -28
- package/dist/types/src/components/Icon/Icon.styles.d.ts.map +0 -1
- package/dist/types/src/components/Modal/Modal.styles.d.ts +0 -6
- package/dist/types/src/components/Modal/Modal.styles.d.ts.map +0 -1
- package/dist/types/src/components/VerticalStack/VerticalStack copy.d.ts +0 -25
- package/dist/types/src/components/VerticalStack/VerticalStack copy.d.ts.map +0 -1
|
@@ -7,13 +7,17 @@ exports.PendingUploadFileList = void 0;
|
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const utils_1 = require("../../../../utils");
|
|
10
|
+
const Button_1 = require("../../../Button");
|
|
11
|
+
const Icons_1 = require("../../../Icons");
|
|
10
12
|
const utils_2 = require("../../utils");
|
|
11
13
|
const FileViewer_1 = require("../FileViewer");
|
|
12
14
|
const Thumbanail_1 = __importDefault(require("../Thumbnail/Thumbanail"));
|
|
13
15
|
const UploadProvider_1 = require("../UploadProvider");
|
|
16
|
+
const FileUploadInput_classnames_1 = __importDefault(require("./FileUploadInput.classnames"));
|
|
14
17
|
function FileUploadInput({ acceptFileTypes, updateUploadsList }) {
|
|
15
18
|
const { error, files, setFiles, removeFile, progress } = (0, UploadProvider_1.useUpload)();
|
|
16
|
-
const inputRef = (0, react_1.useRef)();
|
|
19
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
20
|
+
const [dragging, setDragging] = (0, react_1.useState)(false);
|
|
17
21
|
const acceptFilesLike = (0, utils_2.getAceptedFileTypesValues)(acceptFileTypes);
|
|
18
22
|
const initiateUpload = async (file) => {
|
|
19
23
|
const newAttachments = await setFiles(file);
|
|
@@ -21,7 +25,6 @@ function FileUploadInput({ acceptFileTypes, updateUploadsList }) {
|
|
|
21
25
|
updateUploadsList === null || updateUploadsList === void 0 ? void 0 : updateUploadsList(newAttachments);
|
|
22
26
|
}
|
|
23
27
|
};
|
|
24
|
-
const [dragging, setDragging] = (0, react_1.useState)(false);
|
|
25
28
|
const handleDragStart = (e) => {
|
|
26
29
|
e.stopPropagation();
|
|
27
30
|
e.preventDefault();
|
|
@@ -35,30 +38,19 @@ function FileUploadInput({ acceptFileTypes, updateUploadsList }) {
|
|
|
35
38
|
e.stopPropagation();
|
|
36
39
|
e.preventDefault();
|
|
37
40
|
setDragging(false);
|
|
41
|
+
initiateUpload(e);
|
|
38
42
|
};
|
|
39
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
handleDrop(e);
|
|
43
|
-
initiateUpload(e);
|
|
44
|
-
}, children: [(0, jsx_runtime_1.jsx)(Thumbanail_1.default, { acceptFileTypes: acceptFileTypes, thumbnailSize: 'normal', hasDragAndDrop: true, dragging: dragging }), (0, jsx_runtime_1.jsx)("input", { accept: acceptFilesLike, type: 'file', multiple: true, className: 'absolute inset-0 z-50 m-0 h-full w-full cursor-pointer p-0 opacity-0 outline-none', title: '', onChange: (e) => {
|
|
45
|
-
initiateUpload(e);
|
|
43
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: FileUploadInput_classnames_1.default.fileUploadInput__container, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)(FileUploadInput_classnames_1.default.fileUploadInput__dropzone, dragging && FileUploadInput_classnames_1.default['fileUploadInput__dropzone--dragging']), style: { borderRadius: 'var(--p-border-radius-3)' }, onDragEnter: handleDragStart, onDragOver: handleDragOver, onDrop: handleDrop, children: [(0, jsx_runtime_1.jsx)(Thumbanail_1.default, { acceptFileTypes: acceptFileTypes, thumbnailSize: 'normal', hasDragAndDrop: true, dragging: dragging }), (0, jsx_runtime_1.jsx)("input", { accept: acceptFilesLike, type: 'file', multiple: true, className: FileUploadInput_classnames_1.default.fileUploadInput__input, title: 'input', onChange: (e) => {
|
|
44
|
+
if (e.target.files)
|
|
45
|
+
initiateUpload(e);
|
|
46
46
|
}, ref: inputRef })] }) }), (0, jsx_runtime_1.jsx)(exports.PendingUploadFileList, { files: files, removeFile: removeFile, progress: progress, error: error })] }));
|
|
47
47
|
}
|
|
48
48
|
exports.default = FileUploadInput;
|
|
49
49
|
const PendingUploadFileList = ({ files, removeFile, progress, error, }) => {
|
|
50
|
-
return (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
src: URL.createObjectURL(file),
|
|
56
|
-
type: (0, utils_2.getFileTypeCategory)(file === null || file === void 0 ? void 0 : file.type) || 'image',
|
|
57
|
-
} }) }), (0, jsx_runtime_1.jsxs)("div", { className: 'bg-skin-primary absolute bottom-0 left-0 right-0 flex flex-col bg-opacity-50 p-2 text-xs', children: [(0, jsx_runtime_1.jsx)("span", { className: 'hi w-full truncate font-bold text-gray-900', children: file === null || file === void 0 ? void 0 : file.name }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-xs text-gray-900', children: [file === null || file === void 0 ? void 0 : file.size, " ..."] })] }), (0, jsx_runtime_1.jsx)("div", { className: 'absolute inset-0 z-40 transition-colors duration-300' }), (0, jsx_runtime_1.jsx)("div", { className: 'absolute bottom-0 w-full rounded-full bg-gray-200 dark:bg-gray-700', children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)(' rounded-fulld line-clamp-1 rounded-r-full p-[1px] text-center text-xs font-medium leading-none text-blue-100', error
|
|
58
|
-
? '!w-full bg-red-500'
|
|
59
|
-
: progress === 100
|
|
60
|
-
? '!rounded-none bg-green-600'
|
|
61
|
-
: 'bg-blue-600'), style: { width: `${progress}%` }, children: error ? error : `${progress}%` }) })] }, idx));
|
|
62
|
-
}) }));
|
|
50
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: files === null || files === void 0 ? void 0 : files.map((file, idx) => ((0, jsx_runtime_1.jsxs)("div", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__item, children: [(0, jsx_runtime_1.jsx)("div", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__deleteButton, role: 'button', children: (0, jsx_runtime_1.jsx)(Button_1.Button, { plain: true, icon: Icons_1.MaTrash, destructive: true, onClick: () => removeFile(file.name) }) }), (0, jsx_runtime_1.jsx)("div", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__preview, children: (0, jsx_runtime_1.jsx)(FileViewer_1.FileViewer, { file: {
|
|
51
|
+
...file,
|
|
52
|
+
src: URL.createObjectURL(file),
|
|
53
|
+
type: (0, utils_2.getFileTypeCategory)(file === null || file === void 0 ? void 0 : file.type) || 'image',
|
|
54
|
+
} }) }), (0, jsx_runtime_1.jsxs)("div", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__fileInfo, children: [(0, jsx_runtime_1.jsx)("span", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__fileName, children: file === null || file === void 0 ? void 0 : file.name }), (0, jsx_runtime_1.jsxs)("span", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__fileSize, children: [file === null || file === void 0 ? void 0 : file.size, " ..."] })] }), (0, jsx_runtime_1.jsx)("div", { className: FileUploadInput_classnames_1.default.pendingUploadFileList__progressBar, children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)(FileUploadInput_classnames_1.default.pendingUploadFileList__progress, error && FileUploadInput_classnames_1.default['pendingUploadFileList__progress--error'], progress === 100 && FileUploadInput_classnames_1.default['pendingUploadFileList__progress--complete'], !error && progress < 100 && FileUploadInput_classnames_1.default['pendingUploadFileList__progress--loading']), style: { width: `${error ? 100 : progress}%` }, children: error ? error === null || error === void 0 ? void 0 : error.slice(0, 15) : `${progress}%` }) })] }, idx))) }));
|
|
63
55
|
};
|
|
64
56
|
exports.PendingUploadFileList = PendingUploadFileList;
|
|
@@ -7,7 +7,7 @@ exports.VerticalStack = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const css_1 = require("../../utilities/css");
|
|
9
9
|
const VerticalStack_classnames_1 = __importDefault(require("./VerticalStack.classnames"));
|
|
10
|
-
const VerticalStack = ({ as = 'div', children, align, inlineAlign, gap, id, height, width, reverseOrder = false, ...restProps }) => {
|
|
10
|
+
const VerticalStack = ({ as = 'div', children, align, inlineAlign, gap, id, height, width, reverseOrder = false, spacer, ...restProps }) => {
|
|
11
11
|
const heightClasses = {
|
|
12
12
|
auto: 'h-auto',
|
|
13
13
|
full: 'h-full',
|
|
@@ -20,7 +20,7 @@ const VerticalStack = ({ as = 'div', children, align, inlineAlign, gap, id, heig
|
|
|
20
20
|
max: 'w-max',
|
|
21
21
|
none: '',
|
|
22
22
|
}[width !== null && width !== void 0 ? width : 'none'];
|
|
23
|
-
const className = (0, css_1.classNames)(VerticalStack_classnames_1.default.VerticalStack, (as === 'ul' || as === 'ol') && VerticalStack_classnames_1.default.listReset, as === 'fieldset' && VerticalStack_classnames_1.default.fieldsetReset, heightClasses, widthClasses);
|
|
23
|
+
const className = (0, css_1.classNames)(VerticalStack_classnames_1.default.VerticalStack, (as === 'ul' || as === 'ol') && VerticalStack_classnames_1.default.listReset, as === 'fieldset' && VerticalStack_classnames_1.default.fieldsetReset, heightClasses, widthClasses, spacer && '');
|
|
24
24
|
const style = {
|
|
25
25
|
'--pc-vertical-stack-align': align ? `${align}` : '',
|
|
26
26
|
'--pc-vertical-stack-inline-align': inlineAlign ? `${inlineAlign}` : '',
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Card = void 0;
|
|
17
18
|
__exportStar(require("./ActionMenu"), exports);
|
|
18
19
|
__exportStar(require("./AppProvider"), exports);
|
|
19
20
|
__exportStar(require("./Autocomplete"), exports);
|
|
@@ -45,6 +46,8 @@ __exportStar(require("./Image"), exports);
|
|
|
45
46
|
__exportStar(require("./KeyboardKey"), exports);
|
|
46
47
|
__exportStar(require("./Label"), exports);
|
|
47
48
|
__exportStar(require("./LegacyCard"), exports);
|
|
49
|
+
var LegacyCard_1 = require("./LegacyCard");
|
|
50
|
+
Object.defineProperty(exports, "Card", { enumerable: true, get: function () { return LegacyCard_1.LegacyCard; } });
|
|
48
51
|
__exportStar(require("./LegacyStack"), exports);
|
|
49
52
|
__exportStar(require("./Link"), exports);
|
|
50
53
|
__exportStar(require("./Listbox"), exports);
|
package/dist/src/index.js
CHANGED
|
@@ -15,13 +15,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.useIndexResourceState = exports.useFrame = exports.useDeviceType = exports.cn = exports.rgbToHsl = exports.rgbToHsb = exports.rgbToHex = void 0;
|
|
18
|
+
exports.hsbToHex = exports.hexToRgb = exports.capitalize = exports.Upload = exports.FileViewer = exports.TopBar = exports.Toast = exports.Switch = exports.SkeletonThumbnail = exports.SkeletonTabs = exports.SkeletonTable = exports.SkeletonPage = exports.SkeletonDisplayText = exports.SkeletonBodyText = exports.Scrollable = exports.ResourceList = exports.ResourceItem = exports.PaginationV1 = exports.VerticalSingleMenuItem = exports.VerticalCollapsedMenuItem = exports.CollapsedMenuItemList = exports.isNavigationItemActive = exports.Navigation = exports.Loading = exports.Layout = exports.Input = exports.InlineError = exports.Indicator = exports.IndexTable = exports.useSetIndexFiltersMode = exports.IndexFiltersMode = exports.IndexFilters = exports.FlexBox = exports.DatePicker = exports.DataTable = exports.ContextualSaveBar = exports.ChoiceCard = exports.CheckboxTree = exports.ButtonGroup = exports.buttonsFrom = exports.buttonFrom = exports.CopyButton = exports.Button = exports.BadgeStatusValue = exports.BadgeProgressValue = exports.Badge = exports.Avatar = exports.Tabs = exports.AlphaTabs = exports.ActionList = void 0;
|
|
19
|
+
exports.useIndexResourceState = exports.renderSafeTemplate = exports.useFrame = exports.useDeviceType = exports.cn = exports.rgbaString = exports.rgbToHsl = exports.rgbToHsb = exports.rgbToHex = exports.rgbString = exports.hslToRgb = exports.hsbToRgb = void 0;
|
|
20
20
|
__exportStar(require("./components"), exports);
|
|
21
21
|
var ActionList_1 = require("./components/ActionList");
|
|
22
22
|
Object.defineProperty(exports, "ActionList", { enumerable: true, get: function () { return ActionList_1.ActionList; } });
|
|
23
23
|
var AlphaTabs_1 = require("./components/AlphaTabs");
|
|
24
24
|
Object.defineProperty(exports, "AlphaTabs", { enumerable: true, get: function () { return AlphaTabs_1.AlphaTabs; } });
|
|
25
|
+
Object.defineProperty(exports, "Tabs", { enumerable: true, get: function () { return AlphaTabs_1.AlphaTabs; } });
|
|
25
26
|
var Avatar_1 = require("./components/Avatar");
|
|
26
27
|
Object.defineProperty(exports, "Avatar", { enumerable: true, get: function () { return Avatar_1.Avatar; } });
|
|
27
28
|
var Badge_1 = require("./components/Badge");
|
|
@@ -30,9 +31,9 @@ Object.defineProperty(exports, "BadgeProgressValue", { enumerable: true, get: fu
|
|
|
30
31
|
Object.defineProperty(exports, "BadgeStatusValue", { enumerable: true, get: function () { return Badge_1.StatusValue; } });
|
|
31
32
|
var Button_1 = require("./components/Button");
|
|
32
33
|
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Button_1.Button; } });
|
|
34
|
+
Object.defineProperty(exports, "CopyButton", { enumerable: true, get: function () { return Button_1.CopyButton; } });
|
|
33
35
|
Object.defineProperty(exports, "buttonFrom", { enumerable: true, get: function () { return Button_1.buttonFrom; } });
|
|
34
36
|
Object.defineProperty(exports, "buttonsFrom", { enumerable: true, get: function () { return Button_1.buttonsFrom; } });
|
|
35
|
-
Object.defineProperty(exports, "CopyButton", { enumerable: true, get: function () { return Button_1.CopyButton; } });
|
|
36
37
|
var ButtonGroup_1 = require("./components/ButtonGroup");
|
|
37
38
|
Object.defineProperty(exports, "ButtonGroup", { enumerable: true, get: function () { return ButtonGroup_1.ButtonGroup; } });
|
|
38
39
|
var CheckboxTree_1 = require("./components/CheckboxTree");
|
|
@@ -43,6 +44,8 @@ var ContextualSaveBar_1 = require("./components/ContextualSaveBar");
|
|
|
43
44
|
Object.defineProperty(exports, "ContextualSaveBar", { enumerable: true, get: function () { return ContextualSaveBar_1.ContextualSaveBar; } });
|
|
44
45
|
var DataTable_1 = require("./components/DataTable");
|
|
45
46
|
Object.defineProperty(exports, "DataTable", { enumerable: true, get: function () { return DataTable_1.DataTable; } });
|
|
47
|
+
var DatePicker_1 = require("./components/DatePicker");
|
|
48
|
+
Object.defineProperty(exports, "DatePicker", { enumerable: true, get: function () { return DatePicker_1.DatePicker; } });
|
|
46
49
|
var FlexBox_1 = require("./components/FlexBox");
|
|
47
50
|
Object.defineProperty(exports, "FlexBox", { enumerable: true, get: function () { return FlexBox_1.FlexBox; } });
|
|
48
51
|
var IndexFilters_1 = require("./components/IndexFilters");
|
|
@@ -53,6 +56,8 @@ var IndexTable_1 = require("./components/IndexTable");
|
|
|
53
56
|
Object.defineProperty(exports, "IndexTable", { enumerable: true, get: function () { return IndexTable_1.IndexTable; } });
|
|
54
57
|
var Indicator_1 = require("./components/Indicator");
|
|
55
58
|
Object.defineProperty(exports, "Indicator", { enumerable: true, get: function () { return Indicator_1.Indicator; } });
|
|
59
|
+
var InlineError_1 = require("./components/InlineError");
|
|
60
|
+
Object.defineProperty(exports, "InlineError", { enumerable: true, get: function () { return InlineError_1.InlineError; } });
|
|
56
61
|
var Input_1 = require("./components/Input");
|
|
57
62
|
Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return Input_1.Input; } });
|
|
58
63
|
var Layout_1 = require("./components/Layout");
|
|
@@ -60,8 +65,8 @@ Object.defineProperty(exports, "Layout", { enumerable: true, get: function () {
|
|
|
60
65
|
var Loading_1 = require("./components/Loading");
|
|
61
66
|
Object.defineProperty(exports, "Loading", { enumerable: true, get: function () { return Loading_1.Loading; } });
|
|
62
67
|
var Navigation_1 = require("./components/Navigation");
|
|
63
|
-
Object.defineProperty(exports, "isNavigationItemActive", { enumerable: true, get: function () { return Navigation_1.isNavigationItemActive; } });
|
|
64
68
|
Object.defineProperty(exports, "Navigation", { enumerable: true, get: function () { return Navigation_1.Navigation; } });
|
|
69
|
+
Object.defineProperty(exports, "isNavigationItemActive", { enumerable: true, get: function () { return Navigation_1.isNavigationItemActive; } });
|
|
65
70
|
var VerticalMenuContent_1 = require("./components/NavigationV1/VerticalMenuContent");
|
|
66
71
|
Object.defineProperty(exports, "CollapsedMenuItemList", { enumerable: true, get: function () { return VerticalMenuContent_1.CollapsedMenuItemList; } });
|
|
67
72
|
Object.defineProperty(exports, "VerticalCollapsedMenuItem", { enumerable: true, get: function () { return VerticalMenuContent_1.VerticalCollapsedMenuItem; } });
|
|
@@ -95,21 +100,25 @@ Object.defineProperty(exports, "TopBar", { enumerable: true, get: function () {
|
|
|
95
100
|
var Upload_1 = require("./components/Upload");
|
|
96
101
|
Object.defineProperty(exports, "FileViewer", { enumerable: true, get: function () { return Upload_1.FileViewer; } });
|
|
97
102
|
Object.defineProperty(exports, "Upload", { enumerable: true, get: function () { return Upload_1.Upload; } });
|
|
103
|
+
var capitalize_1 = require("./utilities/capitalize");
|
|
104
|
+
Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return capitalize_1.capitalize; } });
|
|
98
105
|
var color_transformers_1 = require("./utilities/color-transformers");
|
|
99
106
|
Object.defineProperty(exports, "hexToRgb", { enumerable: true, get: function () { return color_transformers_1.hexToRgb; } });
|
|
100
107
|
Object.defineProperty(exports, "hsbToHex", { enumerable: true, get: function () { return color_transformers_1.hsbToHex; } });
|
|
101
108
|
Object.defineProperty(exports, "hsbToRgb", { enumerable: true, get: function () { return color_transformers_1.hsbToRgb; } });
|
|
102
109
|
Object.defineProperty(exports, "hslToRgb", { enumerable: true, get: function () { return color_transformers_1.hslToRgb; } });
|
|
103
|
-
Object.defineProperty(exports, "rgbaString", { enumerable: true, get: function () { return color_transformers_1.rgbaString; } });
|
|
104
110
|
Object.defineProperty(exports, "rgbString", { enumerable: true, get: function () { return color_transformers_1.rgbString; } });
|
|
105
111
|
Object.defineProperty(exports, "rgbToHex", { enumerable: true, get: function () { return color_transformers_1.rgbToHex; } });
|
|
106
112
|
Object.defineProperty(exports, "rgbToHsb", { enumerable: true, get: function () { return color_transformers_1.rgbToHsb; } });
|
|
107
113
|
Object.defineProperty(exports, "rgbToHsl", { enumerable: true, get: function () { return color_transformers_1.rgbToHsl; } });
|
|
114
|
+
Object.defineProperty(exports, "rgbaString", { enumerable: true, get: function () { return color_transformers_1.rgbaString; } });
|
|
108
115
|
var css_1 = require("./utilities/css");
|
|
109
116
|
Object.defineProperty(exports, "cn", { enumerable: true, get: function () { return css_1.classNames; } });
|
|
110
117
|
var device_type_1 = require("./utilities/device-type");
|
|
111
118
|
Object.defineProperty(exports, "useDeviceType", { enumerable: true, get: function () { return device_type_1.useDeviceType; } });
|
|
112
119
|
var frame_1 = require("./utilities/frame");
|
|
113
120
|
Object.defineProperty(exports, "useFrame", { enumerable: true, get: function () { return frame_1.useFrame; } });
|
|
121
|
+
var renderSafeTemplate_1 = require("./utilities/renderSafeTemplate");
|
|
122
|
+
Object.defineProperty(exports, "renderSafeTemplate", { enumerable: true, get: function () { return renderSafeTemplate_1.renderSafeTemplate; } });
|
|
114
123
|
var use_index_resource_state_1 = require("./utilities/use-index-resource-state");
|
|
115
124
|
Object.defineProperty(exports, "useIndexResourceState", { enumerable: true, get: function () { return use_index_resource_state_1.useIndexResourceState; } });
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.capitalize = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Capitalizes the first letter of a string and makes the rest of the string lowercase.
|
|
6
|
+
* @param {string | null | undefined} str - The input string to be processed. Can be a string, null, or undefined.
|
|
7
|
+
* @returns {string} - The formatted string with the first letter capitalized and the rest lowercase.
|
|
8
|
+
* If the input is null or undefined, an empty string is returned.
|
|
9
|
+
* @example
|
|
10
|
+
* capitalizeFirstLetter("hello"); // Returns "Hello"
|
|
11
|
+
* capitalizeFirstLetter("HELLO"); // Returns "Hello"
|
|
12
|
+
* capitalizeFirstLetter(null); // Returns ""
|
|
13
|
+
* capitalizeFirstLetter(undefined); // Returns ""
|
|
14
|
+
*/
|
|
15
|
+
function capitalize(str) {
|
|
16
|
+
// Ensure the input is treated as a string (convert null/undefined to an empty string)
|
|
17
|
+
const inputString = str || '';
|
|
18
|
+
// Return the formatted string
|
|
19
|
+
return inputString.charAt(0).toUpperCase() + inputString.slice(1).toLowerCase();
|
|
7
20
|
}
|
|
8
21
|
exports.capitalize = capitalize;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderSafeTemplate = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Renders a template string by replacing placeholders with sanitized values.
|
|
6
|
+
* @param {string} template - The template string containing placeholders (e.g., `{{key}}`).
|
|
7
|
+
* @param {Record<ExtractPlaceholders<Template>, string>} values - An object containing key-value pairs for replacement.
|
|
8
|
+
* @returns {string} - The processed string with placeholders replaced and sanitized.
|
|
9
|
+
* @example
|
|
10
|
+
* // Scenario 1: Basic usage
|
|
11
|
+
* const template1 = "Hello, {{name}}! Welcome to {{app}}.";
|
|
12
|
+
* const values1 = { name: "John", app: "MyApp" };
|
|
13
|
+
* renderSafeTemplate(template1, values1); // Returns "Hello, John! Welcome to MyApp."
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Scenario 2: Sanitization to prevent XSS
|
|
17
|
+
* const template2 = "Hello, {{name}}! Welcome to {{app}}.";
|
|
18
|
+
* const values2 = { name: "<script>alert('XSS')</script>John", app: "MyApp" };
|
|
19
|
+
* renderSafeTemplate(template2, values2); // Returns "Hello, <script>alert('XSS')</script>John! Welcome to MyApp."
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Scenario 3: Missing placeholder key
|
|
23
|
+
* const template3 = "Hello, {{name}}! Welcome to {{app}}.";
|
|
24
|
+
* const values3 = { name: "John" }; // `app` key is missing
|
|
25
|
+
* renderSafeTemplate(template3, values3); // Returns "Hello, John! Welcome to ."
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Scenario 4: HTML link replacement
|
|
29
|
+
* const template4 = "Visit us at <a href='{{link}}'>{{link}}</a>.";
|
|
30
|
+
* const values4 = { link: "https://example.com" };
|
|
31
|
+
* renderSafeTemplate(template4, values4); // Returns "Visit us at <a href='https://example.com'>https://example.com</a>."
|
|
32
|
+
*/
|
|
33
|
+
function renderSafeTemplate(template, values) {
|
|
34
|
+
// Sanitize function to prevent XSS or unwanted HTML/script injection
|
|
35
|
+
const sanitize = (input) => {
|
|
36
|
+
return input.replace(/</g, '<').replace(/>/g, '>');
|
|
37
|
+
};
|
|
38
|
+
// Replace placeholders with sanitized values
|
|
39
|
+
return template.replace(/\{\{(\w+)\}\}/g, (_, key) => sanitize(values[key] || ''));
|
|
40
|
+
}
|
|
41
|
+
exports.renderSafeTemplate = renderSafeTemplate;
|