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.
@@ -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 _m = (0, react_1.useState)({}), localPreviews = _m[0], setLocalPreviews = _m[1];
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("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never>>> & string;
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: cover;\n box-sizing: border-box;\n pointer-events: none;\n border-radius: 0.5rem;\n"], ["\n width: 100%;\n height: 100%;\n object-fit: cover;\n box-sizing: border-box;\n pointer-events: none;\n border-radius: 0.5rem;\n"])));
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
  };
@@ -14,4 +14,5 @@ exports.UploaderDefault = {
14
14
  accept: 'image/*',
15
15
  disabled: false,
16
16
  imagePadding: '1rem',
17
+ imageFit: 'cover',
17
18
  };
@@ -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
  };
@@ -47,6 +47,7 @@ exports.default = {
47
47
  showCoverBadge: { control: 'boolean' },
48
48
  disabled: { control: 'boolean' },
49
49
  imagePadding: { control: 'text' },
50
+ imageFit: { control: 'select', options: ['cover', 'contain'] },
50
51
  selectedIndexes: { control: 'object' },
51
52
  },
52
53
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "krl-alfred",
3
- "version": "2.23.8",
3
+ "version": "2.23.9",
4
4
  "files": [
5
5
  "dist"
6
6
  ],