krl-alfred 2.23.8 → 2.23.9
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/Uploader/Uploader.d.ts +1 -1
- package/dist/components/Uploader/Uploader.js +3 -3
- package/dist/components/Uploader/Uploader.styled.d.ts +5 -1
- package/dist/components/Uploader/Uploader.styled.js +1 -1
- package/dist/components/Uploader/props.d.ts +4 -0
- package/dist/components/Uploader/props.js +1 -0
- package/dist/components/Uploader/stories/Uploader.stories.d.ts +5 -1
- package/dist/components/Uploader/stories/Uploader.stories.js +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { UploaderProps } from './props';
|
|
3
|
-
declare const Uploader: ({ className, title, description, images, maxCount, columnCount, uploadLabel, coverBadgeText, variant, selectedIndexes, selectedIndex, showCoverBadge, accept, disabled, imagePadding, onUpload, onRemove, onSelect, }: UploaderProps) => React.JSX.Element;
|
|
3
|
+
declare const Uploader: ({ className, title, description, images, maxCount, columnCount, uploadLabel, coverBadgeText, variant, selectedIndexes, selectedIndex, showCoverBadge, accept, disabled, imagePadding, imageFit, onUpload, onRemove, onSelect, }: UploaderProps) => React.JSX.Element;
|
|
4
4
|
export default Uploader;
|
|
@@ -21,11 +21,11 @@ var Uploader_styled_1 = require("./Uploader.styled");
|
|
|
21
21
|
var Icon_1 = __importDefault(require("../Icon/Icon"));
|
|
22
22
|
var Badges_1 = __importDefault(require("../Badges/Badges"));
|
|
23
23
|
var Uploader = function (_a) {
|
|
24
|
-
var className = _a.className, title = _a.title, description = _a.description, _b = _a.images, images = _b === void 0 ? props_1.UploaderDefault.images : _b, _c = _a.maxCount, maxCount = _c === void 0 ? props_1.UploaderDefault.maxCount : _c, _d = _a.columnCount, columnCount = _d === void 0 ? props_1.UploaderDefault.columnCount : _d, _e = _a.uploadLabel, uploadLabel = _e === void 0 ? props_1.UploaderDefault.uploadLabel : _e, _f = _a.coverBadgeText, coverBadgeText = _f === void 0 ? props_1.UploaderDefault.coverBadgeText : _f, _g = _a.variant, variant = _g === void 0 ? props_1.UploaderDefault.variant : _g, selectedIndexes = _a.selectedIndexes, selectedIndex = _a.selectedIndex, _h = _a.showCoverBadge, showCoverBadge = _h === void 0 ? props_1.UploaderDefault.showCoverBadge : _h, _j = _a.accept, accept = _j === void 0 ? props_1.UploaderDefault.accept : _j, _k = _a.disabled, disabled = _k === void 0 ? props_1.UploaderDefault.disabled : _k, _l = _a.imagePadding, imagePadding = _l === void 0 ? props_1.UploaderDefault.imagePadding : _l, onUpload = _a.onUpload, onRemove = _a.onRemove, onSelect = _a.onSelect;
|
|
24
|
+
var className = _a.className, title = _a.title, description = _a.description, _b = _a.images, images = _b === void 0 ? props_1.UploaderDefault.images : _b, _c = _a.maxCount, maxCount = _c === void 0 ? props_1.UploaderDefault.maxCount : _c, _d = _a.columnCount, columnCount = _d === void 0 ? props_1.UploaderDefault.columnCount : _d, _e = _a.uploadLabel, uploadLabel = _e === void 0 ? props_1.UploaderDefault.uploadLabel : _e, _f = _a.coverBadgeText, coverBadgeText = _f === void 0 ? props_1.UploaderDefault.coverBadgeText : _f, _g = _a.variant, variant = _g === void 0 ? props_1.UploaderDefault.variant : _g, selectedIndexes = _a.selectedIndexes, selectedIndex = _a.selectedIndex, _h = _a.showCoverBadge, showCoverBadge = _h === void 0 ? props_1.UploaderDefault.showCoverBadge : _h, _j = _a.accept, accept = _j === void 0 ? props_1.UploaderDefault.accept : _j, _k = _a.disabled, disabled = _k === void 0 ? props_1.UploaderDefault.disabled : _k, _l = _a.imagePadding, imagePadding = _l === void 0 ? props_1.UploaderDefault.imagePadding : _l, _m = _a.imageFit, imageFit = _m === void 0 ? props_1.UploaderDefault.imageFit : _m, onUpload = _a.onUpload, onRemove = _a.onRemove, onSelect = _a.onSelect;
|
|
25
25
|
var fileInputRef = (0, react_1.useRef)(null);
|
|
26
26
|
var uploadIndexRef = (0, react_1.useRef)(null);
|
|
27
27
|
var localPreviewsRef = (0, react_1.useRef)({});
|
|
28
|
-
var
|
|
28
|
+
var _o = (0, react_1.useState)({}), localPreviews = _o[0], setLocalPreviews = _o[1];
|
|
29
29
|
var slots = Array.from({ length: maxCount }, function (_, index) { var _a, _b; return (_b = (_a = images[index]) !== null && _a !== void 0 ? _a : localPreviews[index]) !== null && _b !== void 0 ? _b : null; });
|
|
30
30
|
var isCoverSelect = variant === 'coverSelect';
|
|
31
31
|
var activeSelectedIndexes = selectedIndexes !== null && selectedIndexes !== void 0 ? selectedIndexes : (selectedIndex !== undefined && selectedIndex !== null ? [selectedIndex] : props_1.UploaderDefault.selectedIndexes);
|
|
@@ -111,7 +111,7 @@ var Uploader = function (_a) {
|
|
|
111
111
|
var isSelected = isCoverSelect && !isEmpty && activeSelectedIndexes.includes(index);
|
|
112
112
|
var showCoverOnSlot = !isCoverSelect && showCoverBadge && index === 0;
|
|
113
113
|
var showUploadContent = isEmpty || showCoverOnSlot;
|
|
114
|
-
return ((0, jsx_runtime_1.jsxs)(Uploader_styled_1.UploaderSlot, __assign({ type: "button", "$isEmpty": isEmpty, "$isSelected": isSelected, "$disabled": disabled, disabled: disabled, onClick: function () { return handleSlotClick(index, image); } }, { children: [image && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderSlotMedia, __assign({ "$padding": imagePadding }, { children: (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderSlotImage, { src: image.src, alt: (_a = image.alt) !== null && _a !== void 0 ? _a : '' }) })), !isCoverSelect && ((0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderRemoveButton, __assign({ type: "button", "aria-label": "G\u00F6rseli kald\u0131r", onClick: function (event) { return handleRemove(event, index); } }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "Closebig" }) })))] })), showUploadContent && ((0, jsx_runtime_1.jsxs)(Uploader_styled_1.UploaderUploadContent, __assign({ "$hasImage": !isEmpty }, { children: [showCoverOnSlot && ((0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadBadgeWrapper, { children: renderCoverBadge() })), (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadLabel, __assign({ "$isHidden": !isEmpty && showCoverOnSlot }, { children: uploadLabel })), (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadIcon, __assign({ "$isHidden": !isEmpty && showCoverOnSlot }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "PlusMd", width: "1.5rem", height: "1.5rem", color: "var(--primary)" }) }))] })))] }), (_b = image === null || image === void 0 ? void 0 : image.id) !== null && _b !== void 0 ? _b : "slot-".concat(index)));
|
|
114
|
+
return ((0, jsx_runtime_1.jsxs)(Uploader_styled_1.UploaderSlot, __assign({ type: "button", "$isEmpty": isEmpty, "$isSelected": isSelected, "$disabled": disabled, disabled: disabled, onClick: function () { return handleSlotClick(index, image); } }, { children: [image && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderSlotMedia, __assign({ "$padding": imagePadding }, { children: (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderSlotImage, { src: image.src, alt: (_a = image.alt) !== null && _a !== void 0 ? _a : '', "$fit": imageFit }) })), !isCoverSelect && ((0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderRemoveButton, __assign({ type: "button", "aria-label": "G\u00F6rseli kald\u0131r", onClick: function (event) { return handleRemove(event, index); } }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "Closebig" }) })))] })), showUploadContent && ((0, jsx_runtime_1.jsxs)(Uploader_styled_1.UploaderUploadContent, __assign({ "$hasImage": !isEmpty }, { children: [showCoverOnSlot && ((0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadBadgeWrapper, { children: renderCoverBadge() })), (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadLabel, __assign({ "$isHidden": !isEmpty && showCoverOnSlot }, { children: uploadLabel })), (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderUploadIcon, __assign({ "$isHidden": !isEmpty && showCoverOnSlot }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "PlusMd", width: "1.5rem", height: "1.5rem", color: "var(--primary)" }) }))] })))] }), (_b = image === null || image === void 0 ? void 0 : image.id) !== null && _b !== void 0 ? _b : "slot-".concat(index)));
|
|
115
115
|
}) })), (0, jsx_runtime_1.jsx)(Uploader_styled_1.UploaderHiddenInput, { ref: fileInputRef, type: "file", accept: accept, onChange: handleFileChange })] })));
|
|
116
116
|
};
|
|
117
117
|
exports.default = Uploader;
|
|
@@ -22,7 +22,11 @@ export declare const UploaderSlotMedia: import("styled-components/dist/types").I
|
|
|
22
22
|
}, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$padding"> & {
|
|
23
23
|
$padding?: string;
|
|
24
24
|
}, never>>> & string;
|
|
25
|
-
export declare const UploaderSlotImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("
|
|
25
|
+
export declare const UploaderSlotImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "$fit"> & {
|
|
26
|
+
$fit?: 'cover' | 'contain';
|
|
27
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "$fit"> & {
|
|
28
|
+
$fit?: 'cover' | 'contain';
|
|
29
|
+
}, never>>> & string;
|
|
26
30
|
export declare const UploaderUploadContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$hasImage"> & {
|
|
27
31
|
$hasImage?: boolean;
|
|
28
32
|
}, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$hasImage"> & {
|
|
@@ -45,7 +45,7 @@ exports.UploaderSlot = styled_components_1.default.button(templateObject_9 || (t
|
|
|
45
45
|
return slotFilledStyles;
|
|
46
46
|
});
|
|
47
47
|
exports.UploaderSlotMedia = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n box-sizing: border-box;\n"], ["\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n box-sizing: border-box;\n"])), function (props) { return props.$padding || '1rem'; });
|
|
48
|
-
exports.UploaderSlotImage = styled_components_1.default.img(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit:
|
|
48
|
+
exports.UploaderSlotImage = styled_components_1.default.img(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: ", ";\n box-sizing: border-box;\n pointer-events: none;\n border-radius: 0.5rem;\n"], ["\n width: 100%;\n height: 100%;\n object-fit: ", ";\n box-sizing: border-box;\n pointer-events: none;\n border-radius: 0.5rem;\n"])), function (props) { return props.$fit || 'cover'; });
|
|
49
49
|
exports.UploaderUploadContent = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n position: ", ";\n z-index: ", ";\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n position: ", ";\n z-index: ", ";\n"])), function (props) { return props.$hasImage ? 'relative' : 'static'; }, function (props) { return props.$hasImage ? 1 : 'auto'; });
|
|
50
50
|
exports.UploaderUploadBadgeWrapper = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n margin-bottom: 0.5rem;\n"], ["\n margin-bottom: 0.5rem;\n"])));
|
|
51
51
|
exports.UploaderUploadLabel = styled_components_1.default.span(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n color: var(--primary);\n font: var(--body-semi-bold-14-17);\n visibility: ", ";\n"], ["\n color: var(--primary);\n font: var(--body-semi-bold-14-17);\n visibility: ", ";\n"])), function (props) { return props.$isHidden ? 'hidden' : 'visible'; });
|
|
@@ -4,6 +4,7 @@ export interface UploaderImage {
|
|
|
4
4
|
alt?: string;
|
|
5
5
|
}
|
|
6
6
|
export type UploaderVariant = 'default' | 'coverSelect';
|
|
7
|
+
export type UploaderImageFit = 'cover' | 'contain';
|
|
7
8
|
export interface UploaderProps {
|
|
8
9
|
className?: string;
|
|
9
10
|
title?: string;
|
|
@@ -24,6 +25,8 @@ export interface UploaderProps {
|
|
|
24
25
|
disabled?: boolean;
|
|
25
26
|
/** Slot görseli padding'i (`1.5rem`, `1rem`, `1.5rem 1rem` vb.) */
|
|
26
27
|
imagePadding?: string;
|
|
28
|
+
/** Slot görseli object-fit değeri */
|
|
29
|
+
imageFit?: UploaderImageFit;
|
|
27
30
|
onUpload?: (index: number, file: File) => void;
|
|
28
31
|
onRemove?: (index: number) => void;
|
|
29
32
|
/** Slot seçildiğinde çağrılır; parent selectedIndexes'i yönetir */
|
|
@@ -42,4 +45,5 @@ export declare const UploaderDefault: {
|
|
|
42
45
|
accept: string;
|
|
43
46
|
disabled: boolean;
|
|
44
47
|
imagePadding: string;
|
|
48
|
+
imageFit: UploaderImageFit;
|
|
45
49
|
};
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { UploaderImage } from '../props';
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
|
-
component: ({ className, title, description, images, maxCount, columnCount, uploadLabel, coverBadgeText, variant, selectedIndexes, selectedIndex, showCoverBadge, accept, disabled, imagePadding, onUpload, onRemove, onSelect, }: import("../props").UploaderProps) => React.JSX.Element;
|
|
5
|
+
component: ({ className, title, description, images, maxCount, columnCount, uploadLabel, coverBadgeText, variant, selectedIndexes, selectedIndex, showCoverBadge, accept, disabled, imagePadding, imageFit, onUpload, onRemove, onSelect, }: import("../props").UploaderProps) => React.JSX.Element;
|
|
6
6
|
tags: string[];
|
|
7
7
|
argTypes: {
|
|
8
8
|
variant: {
|
|
@@ -24,6 +24,10 @@ declare const _default: {
|
|
|
24
24
|
imagePadding: {
|
|
25
25
|
control: string;
|
|
26
26
|
};
|
|
27
|
+
imageFit: {
|
|
28
|
+
control: string;
|
|
29
|
+
options: string[];
|
|
30
|
+
};
|
|
27
31
|
selectedIndexes: {
|
|
28
32
|
control: string;
|
|
29
33
|
};
|