@loword/loword-design-system 0.0.10 → 0.0.13
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/LDAccordion/AccordionBase.d.ts +41 -0
- package/dist/components/LDAccordion/AccordionBase.d.ts.map +1 -0
- package/dist/components/LDAccordion/AccordionBase.js +24 -0
- package/dist/components/LDAccordion/LDAccordion.d.ts +31 -0
- package/dist/components/LDAccordion/LDAccordion.d.ts.map +1 -0
- package/dist/components/LDAccordion/LDAccordion.js +21 -0
- package/dist/components/LDAutoComplete/AutoCompleteBase.js +6 -6
- package/dist/components/LDAvatar/LDAvatar.d.ts +1 -1
- package/dist/components/LDAvatar/LDAvatar.d.ts.map +1 -1
- package/dist/components/LDAvatar/LDAvatar.js +19 -10
- package/dist/components/LDBadge/LDBadge.d.ts +5 -6
- package/dist/components/LDBadge/LDBadge.d.ts.map +1 -1
- package/dist/components/LDBadge/LDBadge.js +2 -2
- package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts +1 -2
- package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts.map +1 -1
- package/dist/components/LDButton/LDButton.d.ts +3 -3
- package/dist/components/LDButton/LDButton.d.ts.map +1 -1
- package/dist/components/LDButton/LDButton.js +5 -5
- package/dist/components/LDCalendar/CalendarBase.d.ts +17 -0
- package/dist/components/LDCalendar/CalendarBase.d.ts.map +1 -0
- package/dist/components/LDCalendar/CalendarBase.js +49 -0
- package/dist/components/LDCalendar/LDCalendar.d.ts +8 -14
- package/dist/components/LDCalendar/LDCalendar.d.ts.map +1 -1
- package/dist/components/LDCalendar/LDCalendar.js +51 -39
- package/dist/components/LDCarousel/CarouselBase.d.ts +3 -3
- package/dist/components/LDCarousel/CarouselBase.d.ts.map +1 -1
- package/dist/components/LDCarousel/CarouselBase.js +12 -6
- package/dist/components/LDCarousel/LDCarousel.d.ts +7 -8
- package/dist/components/LDCarousel/LDCarousel.d.ts.map +1 -1
- package/dist/components/LDCarousel/LDCarousel.js +2 -2
- package/dist/components/LDCheckbox/CheckboxBase.d.ts +1 -3
- package/dist/components/LDCheckbox/CheckboxBase.d.ts.map +1 -1
- package/dist/components/LDCheckbox/CheckboxBase.js +4 -4
- package/dist/components/LDCheckbox/LDCheckbox.d.ts +2 -5
- package/dist/components/LDCheckbox/LDCheckbox.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDCheckbox.js +66 -8
- package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts +3 -3
- package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDCheckboxGroup.js +11 -2
- package/dist/components/LDCheckbox/LDFormCheckbox.d.ts +12 -0
- package/dist/components/LDCheckbox/LDFormCheckbox.d.ts.map +1 -0
- package/dist/components/LDCheckbox/LDFormCheckbox.js +8 -0
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts +11 -0
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts.map +1 -0
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.js +8 -0
- package/dist/components/LDDataCalendar/DataCalendarBase.d.ts +17 -1
- package/dist/components/LDDataCalendar/DataCalendarBase.d.ts.map +1 -1
- package/dist/components/LDDataCalendar/DataCalendarBase.js +34 -4
- package/dist/components/LDDataCalendar/LDDataCalendar.d.ts +27 -10
- package/dist/components/LDDataCalendar/LDDataCalendar.d.ts.map +1 -1
- package/dist/components/LDDataCalendar/LDDataCalendar.js +8 -8
- package/dist/components/LDDatePicker/LDDatePicker.d.ts +10 -4
- package/dist/components/LDDatePicker/LDDatePicker.d.ts.map +1 -1
- package/dist/components/LDDatePicker/LDDatePicker.js +95 -25
- package/dist/components/LDDatePicker/LDFormDatePicker.d.ts +13 -0
- package/dist/components/LDDatePicker/LDFormDatePicker.d.ts.map +1 -0
- package/dist/components/LDDatePicker/LDFormDatePicker.js +15 -0
- package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts +13 -6
- package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts.map +1 -1
- package/dist/components/LDDateRangePicker/LDDateRangePicker.js +143 -93
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts +13 -0
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts.map +1 -0
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.js +20 -0
- package/dist/components/LDDrawer/LDDrawer.d.ts +2 -0
- package/dist/components/LDDrawer/LDDrawer.d.ts.map +1 -1
- package/dist/components/LDDrawer/LDDrawer.js +2 -2
- package/dist/components/LDEditor/LDEditor.d.ts.map +1 -1
- package/dist/components/LDEditor/LDEditor.js +94 -54
- package/dist/components/LDEmpty/EmptyBase.d.ts +19 -0
- package/dist/components/LDEmpty/EmptyBase.d.ts.map +1 -0
- package/dist/components/LDEmpty/EmptyBase.js +18 -0
- package/dist/components/LDEmpty/LDEmpty.d.ts +35 -0
- package/dist/components/LDEmpty/LDEmpty.d.ts.map +1 -0
- package/dist/components/LDEmpty/LDEmpty.js +30 -0
- package/dist/components/LDFileUpload/FileUploadBase.d.ts +11 -3
- package/dist/components/LDFileUpload/FileUploadBase.d.ts.map +1 -1
- package/dist/components/LDFileUpload/FileUploadBase.js +21 -21
- package/dist/components/LDFileUpload/LDFileUpload.d.ts +3 -0
- package/dist/components/LDFileUpload/LDFileUpload.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDFileUpload.js +3 -3
- package/dist/components/LDFileUpload/LDFileUploadList.d.ts +3 -0
- package/dist/components/LDFileUpload/LDFileUploadList.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDFileUploadList.js +1 -3
- package/dist/components/LDFileUpload/LDImageUpload.d.ts +5 -0
- package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDImageUpload.js +5 -3
- package/dist/components/LDFileUpload/LDImageUploadList.d.ts +3 -0
- package/dist/components/LDFileUpload/LDImageUploadList.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDImageUploadList.js +1 -3
- package/dist/components/LDForm/LDFormErrorMessage.d.ts +3 -1
- package/dist/components/LDForm/LDFormErrorMessage.d.ts.map +1 -1
- package/dist/components/LDForm/LDFormErrorMessage.js +2 -2
- package/dist/components/LDInput/InputBase.d.ts +5 -3
- package/dist/components/LDInput/InputBase.d.ts.map +1 -1
- package/dist/components/LDInput/InputBase.js +4 -4
- package/dist/components/LDInput/LDFormInput.d.ts +1 -1
- package/dist/components/LDInput/LDFormInput.d.ts.map +1 -1
- package/dist/components/LDInput/LDFormInput.js +17 -14
- package/dist/components/LDInput/LDInput.d.ts +10 -3
- package/dist/components/LDInput/LDInput.d.ts.map +1 -1
- package/dist/components/LDInput/LDInput.js +114 -50
- package/dist/components/LDLNB/LDLNB.d.ts +42 -0
- package/dist/components/LDLNB/LDLNB.d.ts.map +1 -0
- package/dist/components/LDLNB/LDLNB.js +34 -0
- package/dist/components/LDLNB/LDLNBBase.d.ts +5 -13
- package/dist/components/LDLNB/LDLNBBase.d.ts.map +1 -1
- package/dist/components/LDLNB/LDLNBBase.js +52 -18
- package/dist/components/LDMenuBar/LDMenuBar.d.ts +33 -19
- package/dist/components/LDMenuBar/LDMenuBar.d.ts.map +1 -1
- package/dist/components/LDMenuBar/LDMenuBar.js +13 -27
- package/dist/components/LDMenuBar/MenuBarBase.d.ts +4 -5
- package/dist/components/LDMenuBar/MenuBarBase.d.ts.map +1 -1
- package/dist/components/LDMenuBar/MenuBarBase.js +12 -14
- package/dist/components/LDModal/LDModal.d.ts +20 -40
- package/dist/components/LDModal/LDModal.d.ts.map +1 -1
- package/dist/components/LDModal/LDModal.js +56 -70
- package/dist/components/LDModal/LDModalView.d.ts +59 -0
- package/dist/components/LDModal/LDModalView.d.ts.map +1 -0
- package/dist/components/LDModal/LDModalView.js +72 -0
- package/dist/components/LDNotification/LDNotification.d.ts +40 -0
- package/dist/components/LDNotification/LDNotification.d.ts.map +1 -0
- package/dist/components/LDNotification/LDNotification.js +76 -0
- package/dist/components/LDNotification/NotificationBase.d.ts +29 -0
- package/dist/components/LDNotification/NotificationBase.d.ts.map +1 -0
- package/dist/components/LDNotification/NotificationBase.js +27 -0
- package/dist/components/LDOTPInput/LDFormOTPInput.d.ts +15 -0
- package/dist/components/LDOTPInput/LDFormOTPInput.d.ts.map +1 -0
- package/dist/components/LDOTPInput/LDFormOTPInput.js +8 -0
- package/dist/components/LDOTPInput/LDOTPInput.d.ts +10 -22
- package/dist/components/LDOTPInput/LDOTPInput.d.ts.map +1 -1
- package/dist/components/LDOTPInput/LDOTPInput.js +44 -72
- package/dist/components/LDOTPInput/OTPInputBase.d.ts +46 -0
- package/dist/components/LDOTPInput/OTPInputBase.d.ts.map +1 -0
- package/dist/components/LDOTPInput/OTPInputBase.js +48 -0
- package/dist/components/LDPagination/LDPagination.d.ts +5 -1
- package/dist/components/LDPagination/LDPagination.d.ts.map +1 -1
- package/dist/components/LDPagination/LDPagination.js +3 -1
- package/dist/components/LDPagination/PaginationBase.d.ts +13 -4
- package/dist/components/LDPagination/PaginationBase.d.ts.map +1 -1
- package/dist/components/LDPagination/PaginationBase.js +8 -7
- package/dist/components/LDPopover/LDPopover.d.ts +1 -1
- package/dist/components/LDPopover/LDPopover.d.ts.map +1 -1
- package/dist/components/LDPopover/LDPopover.js +8 -7
- package/dist/components/LDProgressBar/LDProgressBar.d.ts +16 -0
- package/dist/components/LDProgressBar/LDProgressBar.d.ts.map +1 -0
- package/dist/components/LDProgressBar/LDProgressBar.js +9 -0
- package/dist/components/LDProgressBar/ProgressBarBase.d.ts +11 -0
- package/dist/components/LDProgressBar/ProgressBarBase.d.ts.map +1 -0
- package/dist/components/LDProgressBar/ProgressBarBase.js +10 -0
- package/dist/components/LDRadio/LDFormRadioGroup.d.ts +11 -0
- package/dist/components/LDRadio/LDFormRadioGroup.d.ts.map +1 -0
- package/dist/components/LDRadio/LDFormRadioGroup.js +8 -0
- package/dist/components/LDRadio/LDRadio.d.ts +2 -2
- package/dist/components/LDRadio/LDRadio.d.ts.map +1 -1
- package/dist/components/LDRadio/LDRadio.js +70 -15
- package/dist/components/LDRadio/LDRadioGroup.d.ts +5 -3
- package/dist/components/LDRadio/LDRadioGroup.d.ts.map +1 -1
- package/dist/components/LDRadio/LDRadioGroup.js +11 -2
- package/dist/components/LDRadio/RadioBase.d.ts +2 -3
- package/dist/components/LDRadio/RadioBase.d.ts.map +1 -1
- package/dist/components/LDRadio/RadioBase.js +7 -4
- package/dist/components/LDSectionNav/LDSectionNav.d.ts +11 -0
- package/dist/components/LDSectionNav/LDSectionNav.d.ts.map +1 -0
- package/dist/components/LDSectionNav/LDSectionNav.js +11 -0
- package/dist/components/LDSectionNav/SectionNavBase.d.ts +20 -0
- package/dist/components/LDSectionNav/SectionNavBase.d.ts.map +1 -0
- package/dist/components/LDSectionNav/SectionNavBase.js +53 -0
- package/dist/components/LDSelect/LDFormMultiSelect.d.ts +13 -0
- package/dist/components/LDSelect/LDFormMultiSelect.d.ts.map +1 -0
- package/dist/components/LDSelect/{FormMultiSelect.js → LDFormMultiSelect.js} +2 -2
- package/dist/components/LDSelect/LDFormSelect.d.ts +13 -0
- package/dist/components/LDSelect/LDFormSelect.d.ts.map +1 -0
- package/dist/components/LDSelect/LDFormSelect.js +10 -0
- package/dist/components/LDSelect/LDMultiSelect.d.ts +6 -3
- package/dist/components/LDSelect/LDMultiSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDMultiSelect.js +35 -31
- package/dist/components/LDSelect/LDSelect.d.ts +6 -3
- package/dist/components/LDSelect/LDSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDSelect.js +37 -30
- package/dist/components/LDSelect/SelectBase.d.ts.map +1 -1
- package/dist/components/LDSelect/SelectBase.js +21 -7
- package/dist/components/LDSpinner/LDSpinner.d.ts +1 -1
- package/dist/components/LDSpinner/LDSpinner.d.ts.map +1 -1
- package/dist/components/LDSpinner/LDSpinner.js +6 -6
- package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDCollapsibleTanstackTable.js +12 -9
- package/dist/components/LDTable/LDTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDTable.js +1 -1
- package/dist/components/LDTable/LDTanstackTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDTanstackTable.js +6 -7
- package/dist/components/LDTable/TableField.d.ts +1 -1
- package/dist/components/LDTable/TableField.d.ts.map +1 -1
- package/dist/components/LDTextarea/LDFormTextarea.d.ts +14 -0
- package/dist/components/LDTextarea/LDFormTextarea.d.ts.map +1 -0
- package/dist/components/LDTextarea/{FormTextarea.js → LDFormTextarea.js} +2 -2
- package/dist/components/LDTextarea/LDTextarea.d.ts +1 -1
- package/dist/components/LDTextarea/LDTextarea.d.ts.map +1 -1
- package/dist/components/LDTextarea/LDTextarea.js +30 -30
- package/dist/components/LDTimePicker/LDFormTimePicker.d.ts +12 -0
- package/dist/components/LDTimePicker/LDFormTimePicker.d.ts.map +1 -0
- package/dist/components/LDTimePicker/{FormTimePicker.js → LDFormTimePicker.js} +3 -3
- package/dist/components/LDTimePicker/LDTimePicker.js +3 -3
- package/dist/components/LDToast/LDToast.js +1 -1
- package/dist/components/LDToast/LDToaster.d.ts +2 -1
- package/dist/components/LDToast/LDToaster.d.ts.map +1 -1
- package/dist/components/LDToast/LDToaster.js +2 -2
- package/dist/components/LDToggleButton/LDFormToggleButton.d.ts +10 -0
- package/dist/components/LDToggleButton/LDFormToggleButton.d.ts.map +1 -0
- package/dist/components/LDToggleButton/LDFormToggleButton.js +8 -0
- package/dist/components/LDTooltip/LDTooltip.js +1 -1
- package/dist/components/LDTooltip/TooltipBase.d.ts +6 -2
- package/dist/components/LDTooltip/TooltipBase.d.ts.map +1 -1
- package/dist/components/LDTooltip/TooltipBase.js +4 -4
- package/dist/index.css +913 -307
- package/dist/index.d.ts +28 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -20
- package/dist/utils/file.d.ts +2 -2
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +26 -23
- package/dist/utils/renderIcon.d.ts +1 -2
- package/dist/utils/renderIcon.d.ts.map +1 -1
- package/dist/utils/renderIcon.js +5 -4
- package/package.json +14 -2
- package/src/styles/carousel.css +15 -14
- package/src/styles/components/button.css +2 -2
- package/src/styles/components/editor.css +6 -0
- package/src/styles/components/index.css +1 -0
- package/src/styles/components/input.css +16 -2
- package/src/styles/components/select.css +61 -0
- package/src/styles/components/shared.css +6 -6
- package/src/styles/motion.css +115 -0
- package/src/theme.css +3 -0
- package/dist/components/Icon/LucideIcon.d.ts +0 -12
- package/dist/components/Icon/LucideIcon.d.ts.map +0 -1
- package/dist/components/Icon/LucideIcon.js +0 -49
- package/dist/components/LDCheckbox/FormCheckbox.d.ts +0 -14
- package/dist/components/LDCheckbox/FormCheckbox.d.ts.map +0 -1
- package/dist/components/LDCheckbox/FormCheckbox.js +0 -9
- package/dist/components/LDCheckbox/FormCheckboxGroup.d.ts +0 -13
- package/dist/components/LDCheckbox/FormCheckboxGroup.d.ts.map +0 -1
- package/dist/components/LDCheckbox/FormCheckboxGroup.js +0 -9
- package/dist/components/LDDatePicker/FormDatePicker.d.ts +0 -12
- package/dist/components/LDDatePicker/FormDatePicker.d.ts.map +0 -1
- package/dist/components/LDDatePicker/FormDatePicker.js +0 -12
- package/dist/components/LDDateRangePicker/FormDateRangePicker.d.ts +0 -12
- package/dist/components/LDDateRangePicker/FormDateRangePicker.d.ts.map +0 -1
- package/dist/components/LDDateRangePicker/FormDateRangePicker.js +0 -10
- package/dist/components/LDModal/openModal.d.ts +0 -24
- package/dist/components/LDModal/openModal.d.ts.map +0 -1
- package/dist/components/LDModal/openModal.js +0 -52
- package/dist/components/LDRadio/FormRadioGroup.d.ts +0 -13
- package/dist/components/LDRadio/FormRadioGroup.d.ts.map +0 -1
- package/dist/components/LDRadio/FormRadioGroup.js +0 -9
- package/dist/components/LDSelect/FormMultiSelect.d.ts +0 -13
- package/dist/components/LDSelect/FormMultiSelect.d.ts.map +0 -1
- package/dist/components/LDSelect/FormSelect.d.ts +0 -13
- package/dist/components/LDSelect/FormSelect.d.ts.map +0 -1
- package/dist/components/LDSelect/FormSelect.js +0 -10
- package/dist/components/LDTextarea/FormTextarea.d.ts +0 -14
- package/dist/components/LDTextarea/FormTextarea.d.ts.map +0 -1
- package/dist/components/LDTimePicker/FormTimePicker.d.ts +0 -12
- package/dist/components/LDTimePicker/FormTimePicker.d.ts.map +0 -1
- package/dist/components/LDToggleButton/FormToggleButton.d.ts +0 -12
- package/dist/components/LDToggleButton/FormToggleButton.d.ts.map +0 -1
- package/dist/components/LDToggleButton/FormToggleButton.js +0 -9
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode, Ref } from 'react';
|
|
2
|
+
interface RootProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
ref?: Ref<HTMLDivElement>;
|
|
5
|
+
}
|
|
6
|
+
interface ImageProps {
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
interface DescriptionProps {
|
|
10
|
+
description?: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const EmptyBase: {
|
|
14
|
+
Root: ({ ref, children, className, ...props }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
Image: ({ children }: ImageProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
Description: ({ description, className }: DescriptionProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
};
|
|
18
|
+
export default EmptyBase;
|
|
19
|
+
//# sourceMappingURL=EmptyBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDEmpty/EmptyBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvD,UAAU,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAUD,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,SAAS;mDA3BgC,SAAS;0BAYlC,UAAU;8CASU,gBAAgB;CAUhE,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
const Root = ({ ref, children, className, ...props }) => {
|
|
3
|
+
return (_jsx("div", { ref: ref, className: className, ...props, children: children }));
|
|
4
|
+
};
|
|
5
|
+
const Image = ({ children }) => {
|
|
6
|
+
return _jsx("div", { "aria-hidden": "true", children: children });
|
|
7
|
+
};
|
|
8
|
+
const Description = ({ description, className }) => {
|
|
9
|
+
if (!description)
|
|
10
|
+
return null;
|
|
11
|
+
return _jsx("span", { className: className, children: description });
|
|
12
|
+
};
|
|
13
|
+
export const EmptyBase = {
|
|
14
|
+
Root,
|
|
15
|
+
Image,
|
|
16
|
+
Description,
|
|
17
|
+
};
|
|
18
|
+
export default EmptyBase;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export type EmptySize = 'small' | 'medium' | 'large';
|
|
3
|
+
type EmptyDirection = 'col' | 'row';
|
|
4
|
+
export interface LDEmptyProps {
|
|
5
|
+
/**
|
|
6
|
+
* 표시할 이미지/아이콘입니다. 생략하면 기본 빈 상태 일러스트가 렌더링됩니다.
|
|
7
|
+
*/
|
|
8
|
+
image?: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* 이미지 아래 표시할 설명 텍스트입니다. (기본값: 'No Data')
|
|
11
|
+
*/
|
|
12
|
+
description?: string;
|
|
13
|
+
/**
|
|
14
|
+
* 이미지 크기와 설명 타이포그래피 스케일을 결정합니다. (기본값: 'medium')
|
|
15
|
+
*/
|
|
16
|
+
size?: EmptySize;
|
|
17
|
+
/**
|
|
18
|
+
* 이미지/텍스트 정렬 방향을 결정합니다. (기본값: 'col')
|
|
19
|
+
*/
|
|
20
|
+
direction?: EmptyDirection;
|
|
21
|
+
/**
|
|
22
|
+
* 추가적인 스타일 클래스를 지정합니다.
|
|
23
|
+
*/
|
|
24
|
+
className?: string;
|
|
25
|
+
/**
|
|
26
|
+
* 인라인 스타일을 지정합니다. Root 엘리먼트에 그대로 전달됩니다.
|
|
27
|
+
*/
|
|
28
|
+
style?: CSSProperties;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 데이터가 없을 때 표시하는 빈 상태 컴포넌트입니다.
|
|
32
|
+
*/
|
|
33
|
+
declare const LDEmpty: ({ image, description, size, direction, className, style, }: LDEmptyProps) => import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export default LDEmpty;
|
|
35
|
+
//# sourceMappingURL=LDEmpty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDEmpty.d.ts","sourceRoot":"","sources":["../../../src/components/LDEmpty/LDEmpty.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACrD,KAAK,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AA6CpC,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,QAAA,MAAM,OAAO,GAAI,4DAOd,YAAY,4CAqBd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cn from '../../utils/cn.js';
|
|
3
|
+
import EmptyBase from './EmptyBase.js';
|
|
4
|
+
const GAP_CLASS_MAP = {
|
|
5
|
+
small: 'gap-xs',
|
|
6
|
+
medium: 'gap-sm',
|
|
7
|
+
large: 'gap-md',
|
|
8
|
+
};
|
|
9
|
+
const IMAGE_WIDTH_MAP = {
|
|
10
|
+
small: 48,
|
|
11
|
+
medium: 64,
|
|
12
|
+
large: 92,
|
|
13
|
+
};
|
|
14
|
+
const DESCRIPTION_CLASS_MAP = {
|
|
15
|
+
small: 'display12',
|
|
16
|
+
medium: 'display14',
|
|
17
|
+
large: 'display16',
|
|
18
|
+
};
|
|
19
|
+
// antd Empty.PRESENTED_IMAGE_SIMPLE(viewBox 0 0 64 41) 포팅, 색상만 loword mono 토큰으로 치환
|
|
20
|
+
const DefaultEmptyImage = ({ width }) => {
|
|
21
|
+
const height = (width * 41) / 64;
|
|
22
|
+
return (_jsx("svg", { width: width, height: height, viewBox: "0 0 64 41", xmlns: "http://www.w3.org/2000/svg", children: _jsxs("g", { transform: "translate(0 1)", fill: "none", fillRule: "evenodd", children: [_jsx("ellipse", { className: "fill-mono100", cx: "32", cy: "33", rx: "32", ry: "7" }), _jsxs("g", { className: "stroke-mono300", fillRule: "nonzero", children: [_jsx("path", { d: "M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z" }), _jsx("path", { className: "fill-mono50", d: "M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" })] })] }) }));
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* 데이터가 없을 때 표시하는 빈 상태 컴포넌트입니다.
|
|
26
|
+
*/
|
|
27
|
+
const LDEmpty = ({ image, description = 'No Data', size = 'medium', direction = 'col', className, style, }) => {
|
|
28
|
+
return (_jsxs(EmptyBase.Root, { className: cn('flex items-center justify-center', direction === 'col' && 'flex-col', direction === 'row' && 'flex-row', GAP_CLASS_MAP[size], className), style: style, children: [_jsx(EmptyBase.Image, { children: image ?? _jsx(DefaultEmptyImage, { width: IMAGE_WIDTH_MAP[size] }) }), _jsx(EmptyBase.Description, { description: description, className: cn('text-neutral500', DESCRIPTION_CLASS_MAP[size]) })] }));
|
|
29
|
+
};
|
|
30
|
+
export default LDEmpty;
|
|
@@ -2,6 +2,13 @@ import { Dispatch, type ReactNode, SetStateAction } from 'react';
|
|
|
2
2
|
import { TMimeType } from '../../constants/file.js';
|
|
3
3
|
import { type LDButtonProps } from '../LDButton/LDButton.js';
|
|
4
4
|
import { IFile } from '../../utils/file.js';
|
|
5
|
+
export interface IFileUploadClassNames {
|
|
6
|
+
root?: string;
|
|
7
|
+
input?: string;
|
|
8
|
+
card?: string;
|
|
9
|
+
cardList?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
}
|
|
5
12
|
interface FileUploadContextType {
|
|
6
13
|
recommendedSize?: {
|
|
7
14
|
width: number;
|
|
@@ -16,6 +23,7 @@ interface FileUploadContextType {
|
|
|
16
23
|
onDeleteFile: (file: IFile) => Promise<boolean>;
|
|
17
24
|
disabled?: boolean;
|
|
18
25
|
readOnly?: boolean;
|
|
26
|
+
classNames?: IFileUploadClassNames;
|
|
19
27
|
}
|
|
20
28
|
export declare const useFileUploadContext: () => FileUploadContextType;
|
|
21
29
|
interface RootProps {
|
|
@@ -32,7 +40,7 @@ interface RootProps {
|
|
|
32
40
|
onDeleteFile: (file: IFile) => Promise<boolean>;
|
|
33
41
|
disabled?: boolean;
|
|
34
42
|
readOnly?: boolean;
|
|
35
|
-
|
|
43
|
+
classNames?: IFileUploadClassNames;
|
|
36
44
|
children?: ReactNode;
|
|
37
45
|
}
|
|
38
46
|
interface InputProps extends Omit<LDButtonProps<'button'>, 'type'> {
|
|
@@ -44,10 +52,10 @@ interface ICardListProps {
|
|
|
44
52
|
className?: string;
|
|
45
53
|
}
|
|
46
54
|
export declare const FileUploadBase: {
|
|
47
|
-
Root: ({ recommendedSize, maxSize, allowedExtensions, maxFileCount, fileList, setFileList, onChangeFile, onDeleteFile, disabled, readOnly,
|
|
55
|
+
Root: ({ recommendedSize, maxSize, allowedExtensions, maxFileCount, fileList, setFileList, onChangeFile, onDeleteFile, disabled, readOnly, classNames, children, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
56
|
Input: ({ type, label, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
49
57
|
CardList: (props: ICardListProps) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
-
Description: (
|
|
58
|
+
Description: (props: {
|
|
51
59
|
className?: string;
|
|
52
60
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
53
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/FileUploadBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,KAAK,SAAS,EACd,cAAc,EAIf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUploadBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/FileUploadBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,KAAK,SAAS,EACd,cAAc,EAIf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAIL,KAAK,EAKN,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,qBAAqB;IAC7B,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAID,eAAO,MAAM,oBAAoB,6BAUhC,CAAC;AAEF,UAAU,SAAS;IACjB,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqCD,UAAU,UAAW,SAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAChE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8HD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyQD,eAAO,MAAM,cAAc;wKAnaxB,SAAS;uCA+BT,UAAU;sBA6HY,cAAc;yBAwOX;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAoCjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createContext, useContext, useState, } from 'react';
|
|
4
|
+
import { Images, Trash2 } from 'lucide-react';
|
|
4
5
|
import cn from '../../utils/cn.js';
|
|
5
6
|
import { FILE_EXTENSIONS } from '../../constants/file.js';
|
|
6
7
|
import LDButton from '../LDButton/LDButton.js';
|
|
@@ -16,7 +17,7 @@ export const useFileUploadContext = () => {
|
|
|
16
17
|
}
|
|
17
18
|
return fileUploadContext;
|
|
18
19
|
};
|
|
19
|
-
const Root = ({ recommendedSize, maxSize, allowedExtensions, maxFileCount, fileList, setFileList, onChangeFile, onDeleteFile, disabled, readOnly,
|
|
20
|
+
const Root = ({ recommendedSize, maxSize, allowedExtensions, maxFileCount, fileList, setFileList, onChangeFile, onDeleteFile, disabled, readOnly, classNames, children, }) => {
|
|
20
21
|
return (_jsx(FileUploadContext.Provider, { value: {
|
|
21
22
|
recommendedSize,
|
|
22
23
|
maxSize,
|
|
@@ -26,13 +27,13 @@ const Root = ({ recommendedSize, maxSize, allowedExtensions, maxFileCount, fileL
|
|
|
26
27
|
setFileList,
|
|
27
28
|
onChangeFile,
|
|
28
29
|
onDeleteFile,
|
|
30
|
+
classNames,
|
|
29
31
|
disabled,
|
|
30
32
|
readOnly,
|
|
31
|
-
}, children: _jsx("div", { className: cn('w-full',
|
|
33
|
+
}, children: _jsx("div", { className: cn('w-full', classNames?.root), children: children }) }));
|
|
32
34
|
};
|
|
33
35
|
const Input = ({ type = 'default', label = '파일 선택', ...props }) => {
|
|
34
|
-
const { allowedExtensions, maxSize, fileList, setFileList, maxFileCount, onChangeFile, disabled, readOnly, } = useFileUploadContext();
|
|
35
|
-
// readOnly는 보기 전용 — 추가 입력 자체를 렌더하지 않는다.
|
|
36
|
+
const { allowedExtensions, maxSize, fileList, setFileList, maxFileCount, onChangeFile, disabled, readOnly, classNames, } = useFileUploadContext();
|
|
36
37
|
if (readOnly)
|
|
37
38
|
return null;
|
|
38
39
|
const getFileError = async (file) => {
|
|
@@ -86,16 +87,15 @@ const Input = ({ type = 'default', label = '파일 선택', ...props }) => {
|
|
|
86
87
|
};
|
|
87
88
|
const fileInput = (_jsx("input", { type: "file", multiple: maxFileCount > 1, onClick: (e) => (e.currentTarget.value = ''), onChange: (e) => handleFile(e), disabled: disabled, className: "sr-only" }));
|
|
88
89
|
if (type === 'image') {
|
|
89
|
-
return (_jsxs("label", { className: cn('
|
|
90
|
+
return (_jsxs("label", { className: cn('outline-3 -outline-offset-3 outline-dotted rounded-xl outline-neutral100 bg-neutral50 text-neutral500', 'size-21 flex justify-center items-center ld-transition', disabled
|
|
90
91
|
? 'opacity-50 cursor-not-allowed'
|
|
91
|
-
: 'hover:bg-neutral-100 hover:
|
|
92
|
+
: 'hover:bg-neutral-100 hover:outline-neutral200 hover:cursor-pointer hover:text-neutral600', props.className, classNames?.input), children: [renderIcon(_jsx(Images, {}), 'size-6'), fileInput] }));
|
|
92
93
|
}
|
|
93
|
-
return (_jsxs(LDButton, { as: "label", ...props, disabled: disabled, children: [label, fileInput] }));
|
|
94
|
+
return (_jsxs(LDButton, { as: "label", ...props, className: cn(props.className, classNames?.input), disabled: disabled, children: [label, fileInput] }));
|
|
94
95
|
};
|
|
95
96
|
const CardList = (props) => {
|
|
96
|
-
const { fileList, setFileList, allowedExtensions, maxSize, onChangeFile, onDeleteFile, disabled, readOnly, } = useFileUploadContext();
|
|
97
|
+
const { fileList, setFileList, allowedExtensions, maxSize, onChangeFile, onDeleteFile, disabled, readOnly, classNames, } = useFileUploadContext();
|
|
97
98
|
const [hoveredList, setHoveredList] = useState(new Array(fileList.length).fill(false));
|
|
98
|
-
// 교체/삭제 차단은 disabled·readOnly 공통. 흐림(opacity)·not-allowed 커서는 disabled에만.
|
|
99
99
|
const locked = disabled || readOnly;
|
|
100
100
|
const handleFile = async (e, idx) => {
|
|
101
101
|
const files = e.target.files;
|
|
@@ -150,11 +150,11 @@ const CardList = (props) => {
|
|
|
150
150
|
}
|
|
151
151
|
};
|
|
152
152
|
if (props.type === 'image') {
|
|
153
|
-
const cards = fileList.map((file, idx) => (_jsxs("label", { className: cn('relative block size-21 overflow-hidden rounded-[21px]', disabled
|
|
153
|
+
const cards = fileList.map((file, idx) => (_jsxs("label", { className: cn('group relative block size-21 overflow-hidden rounded-[21px] outline-3 -outline-offset-3 outline-neutral200', disabled
|
|
154
154
|
? 'cursor-not-allowed'
|
|
155
155
|
: readOnly
|
|
156
156
|
? 'cursor-default'
|
|
157
|
-
: 'hover:cursor-pointer'), onMouseOver: () => {
|
|
157
|
+
: 'hover:cursor-pointer', classNames?.card), onMouseOver: () => {
|
|
158
158
|
setHoveredList((prev) => {
|
|
159
159
|
const next = [...prev];
|
|
160
160
|
next[idx] = true;
|
|
@@ -166,33 +166,33 @@ const CardList = (props) => {
|
|
|
166
166
|
next[idx] = false;
|
|
167
167
|
return next;
|
|
168
168
|
});
|
|
169
|
-
}, children: [_jsx("img", { src: file?.src, alt: file?.fileName, className: "size-full object-cover" }), _jsx("input", { type: "file", onClick: (e) => (e.currentTarget.value = ''), onChange: (e) => handleFile(e, idx), disabled: locked, className: "sr-only" }), _jsx(LDButton, { onClick: async (e) => {
|
|
169
|
+
}, children: [_jsx("img", { src: file?.src, alt: file?.fileName, className: "size-full object-cover" }), _jsx("span", { className: cn('pointer-events-none absolute inset-0 opacity-0 ld-transition', !locked && 'bg-black/25 group-hover:opacity-100') }), _jsx("input", { type: "file", onClick: (e) => (e.currentTarget.value = ''), onChange: (e) => handleFile(e, idx), disabled: locked, className: "sr-only" }), _jsx(LDButton, { onClick: async (e) => {
|
|
170
170
|
e.preventDefault();
|
|
171
171
|
e.stopPropagation();
|
|
172
172
|
await handleDeleteFile(idx);
|
|
173
|
-
}, disabled: locked, variant: "ghost", leftIcon:
|
|
173
|
+
}, disabled: locked, variant: "ghost", leftIcon: _jsx(Trash2, {}), color: "neutral", className: cn('text-neutral700 absolute top-2 right-2 rounded-sm bg-neutral-100 px-0 flex justify-center items-center min-w-0 h-5 w-5 ld-transition', hoveredList[idx] && !locked ? 'opacity-100' : 'opacity-0') })] }, `${file.fileName}_${idx}`)));
|
|
174
174
|
if (fileList.length <= 1) {
|
|
175
|
-
return (_jsx("div", { className: cn('flex flex-row gap-sm', props.className), children: cards }));
|
|
175
|
+
return (_jsx("div", { className: cn('flex flex-row gap-sm w-full h-full', props.className), children: cards }));
|
|
176
176
|
}
|
|
177
|
-
return (_jsx(LDCarousel, { className: props.className,
|
|
177
|
+
return (_jsx(LDCarousel, { className: cn(props.className, classNames?.cardList), slidesPerView: "auto", gap: 8, arrowPosition: "none", showDots: false, slides: cards }));
|
|
178
178
|
}
|
|
179
|
-
return (_jsx("div", { className:
|
|
179
|
+
return (_jsx("div", { className: cn('flex flex-col gap-sm w-full', classNames?.cardList), children: fileList.map((file, idx) => (_jsxs("label", { className: cn('w-full flex flex-row justify-between items-center px-4 py-3 bg-neutral50 rounded-lg', disabled
|
|
180
180
|
? 'cursor-not-allowed'
|
|
181
181
|
: readOnly
|
|
182
182
|
? 'cursor-default'
|
|
183
|
-
: 'hover:cursor-pointer'), children: [_jsxs("div", { className: "flex flex-row items-center gap-sm", children: [_jsx("div", { className: "size-15 overflow-hidden rounded-lg", children: _jsx("div", { className: "flex size-full items-center justify-center text-neutral500 bg-white", children: isImage(file.fileName) ? (_jsx("img", { src: file?.src, alt: file?.fileName, className: "size-full object-cover" })) : (renderIcon(getFileIcon(file.fileName), 'size-8')) }) }), _jsx("div", { className: "text-neutral700 display16", children: file.fileName })] }), _jsx("input", { type: "file", onClick: (e) => (e.currentTarget.value = ''), onChange: (e) => handleFile(e, idx), disabled: locked, className: "sr-only" }), _jsx(LDButton, { onClick: async (e) => {
|
|
183
|
+
: 'hover:cursor-pointer', classNames?.card), children: [_jsxs("div", { className: "flex flex-row items-center gap-sm", children: [_jsx("div", { className: "size-15 overflow-hidden rounded-lg", children: _jsx("div", { className: "flex size-full items-center justify-center text-neutral500 bg-white", children: isImage(file.fileName) ? (_jsx("img", { src: file?.src, alt: file?.fileName, className: "size-full object-cover" })) : (renderIcon(getFileIcon(file.fileName), 'size-8')) }) }), _jsx("div", { className: "text-neutral700 display16", children: file.fileName })] }), _jsx("input", { type: "file", onClick: (e) => (e.currentTarget.value = ''), onChange: (e) => handleFile(e, idx), disabled: locked, className: "sr-only" }), _jsx(LDButton, { onClick: async (e) => {
|
|
184
184
|
e.stopPropagation();
|
|
185
185
|
await handleDeleteFile(idx);
|
|
186
|
-
}, disabled: locked, variant: "ghost", leftIcon:
|
|
186
|
+
}, disabled: locked, variant: "ghost", leftIcon: _jsx(Trash2, {}), size: "large", color: "neutral", className: cn('text-neutral500 rounded-sm bg-white px-0 flex justify-center items-center min-w-0 h-10 w-10 ld-transition', locked && 'opacity-0 pointer-events-none') })] }, `${file.fileName}_${idx}`))) }));
|
|
187
187
|
};
|
|
188
|
-
const Description = (
|
|
189
|
-
const { recommendedSize, maxSize, allowedExtensions, maxFileCount } = useFileUploadContext();
|
|
188
|
+
const Description = (props) => {
|
|
189
|
+
const { recommendedSize, maxSize, allowedExtensions, maxFileCount, classNames, } = useFileUploadContext();
|
|
190
190
|
const recommendedSizeText = recommendedSize &&
|
|
191
191
|
`권장 사이즈 ${recommendedSize.width}x${recommendedSize.height}, `;
|
|
192
192
|
const requiredText = `최대 크기 ${getFileSizeUnit(maxSize)}`;
|
|
193
193
|
const extensionsText = ` (${allowedExtensions.map((item) => FILE_EXTENSIONS[item]).join(', ')})`;
|
|
194
194
|
const countText = maxFileCount > 1 ? `, 최대 ${maxFileCount}개` : '';
|
|
195
|
-
return (_jsxs("p", { className: cn('display12 text-neutral400 semibold', className), children: [recommendedSizeText, requiredText, extensionsText, countText] }));
|
|
195
|
+
return (_jsxs("p", { className: cn('display12 text-neutral400 semibold', props.className, classNames?.description), children: [recommendedSizeText, requiredText, extensionsText, countText] }));
|
|
196
196
|
};
|
|
197
197
|
export const FileUploadBase = {
|
|
198
198
|
Root,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TMimeType } from '../../constants/file.js';
|
|
2
2
|
import { IFile } from '../../utils/file.js';
|
|
3
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
3
4
|
interface ILDFileUploadProps {
|
|
4
5
|
recommendedSize?: {
|
|
5
6
|
width: number;
|
|
@@ -12,6 +13,8 @@ interface ILDFileUploadProps {
|
|
|
12
13
|
isExistDescription?: boolean;
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
readOnly?: boolean;
|
|
16
|
+
fileList: IFile[];
|
|
17
|
+
setFileList: Dispatch<SetStateAction<IFile[]>>;
|
|
15
18
|
}
|
|
16
19
|
declare const LDFileUpload: (props: ILDFileUploadProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
20
|
export default LDFileUpload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDFileUpload.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDFileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDFileUpload.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,UAAU,kBAAkB;IAC1B,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,kBAAkB,4CAyB9C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import FileUploadBase from '../../components/LDFileUpload/FileUploadBase.js';
|
|
3
|
-
import { useState } from 'react';
|
|
4
3
|
const LDFileUpload = (props) => {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
return (_jsxs(FileUploadBase.Root, { fileList: props.fileList, setFileList: props.setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: 1, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, classNames: {
|
|
5
|
+
root: 'flex flex-col gap-sm ld-transition',
|
|
6
|
+
}, disabled: props.disabled, readOnly: props.readOnly, children: [props.fileList[0]?.src ? (_jsx(FileUploadBase.CardList, {})) : (_jsx(FileUploadBase.Input, { className: "w-fit" })), props.isExistDescription && _jsx(FileUploadBase.Description, {})] }));
|
|
7
7
|
};
|
|
8
8
|
export default LDFileUpload;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TMimeType } from '../../constants/file.js';
|
|
2
2
|
import { IFile } from '../../utils/file.js';
|
|
3
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
3
4
|
interface ILDFileUploadListProps {
|
|
4
5
|
recommendedSize?: {
|
|
5
6
|
width: number;
|
|
@@ -13,6 +14,8 @@ interface ILDFileUploadListProps {
|
|
|
13
14
|
isExistDescription?: boolean;
|
|
14
15
|
disabled?: boolean;
|
|
15
16
|
readOnly?: boolean;
|
|
17
|
+
fileList: IFile[];
|
|
18
|
+
setFileList: Dispatch<SetStateAction<IFile[]>>;
|
|
16
19
|
}
|
|
17
20
|
declare const LDFileUploadList: (props: ILDFileUploadListProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
21
|
export default LDFileUploadList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFileUploadList.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDFileUploadList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDFileUploadList.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDFileUploadList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAE3D,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,gBAAgB,GAAI,OAAO,sBAAsB,4CAwBtD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import FileUploadBase from '../../components/LDFileUpload/FileUploadBase.js';
|
|
3
|
-
import { useState } from 'react';
|
|
4
3
|
const LDFileUploadList = (props) => {
|
|
5
|
-
|
|
6
|
-
return (_jsxs(FileUploadBase.Root, { fileList: fileList, setFileList: setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: props.maxFileCount, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, className: "flex flex-col gap-sm ld-transition", disabled: props.disabled, readOnly: props.readOnly, children: [fileList.length < props.maxFileCount && !props.disabled && (_jsx(FileUploadBase.Input, { className: "w-fit" })), props.isExistDescription && _jsx(FileUploadBase.Description, {}), _jsx("div", { className: "flex flex-row gap-sm", children: fileList.length > 0 && _jsx(FileUploadBase.CardList, {}) })] }));
|
|
4
|
+
return (_jsxs(FileUploadBase.Root, { fileList: props.fileList, setFileList: props.setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: props.maxFileCount, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, classNames: { root: 'flex flex-col gap-sm ld-transition' }, disabled: props.disabled, readOnly: props.readOnly, children: [props.fileList.length < props.maxFileCount && !props.disabled && (_jsx(FileUploadBase.Input, { className: "w-fit" })), props.isExistDescription && _jsx(FileUploadBase.Description, {}), _jsx("div", { className: "flex flex-row gap-sm", children: props.fileList.length > 0 && _jsx(FileUploadBase.CardList, {}) })] }));
|
|
7
5
|
};
|
|
8
6
|
export default LDFileUploadList;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { IFileUploadClassNames } from '../../components/LDFileUpload/FileUploadBase.js';
|
|
1
2
|
import { TMimeType } from '../../constants/file.js';
|
|
2
3
|
import { IFile } from '../../utils/file.js';
|
|
4
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
3
5
|
interface ILDImageUploadProps {
|
|
4
6
|
recommendedSize?: {
|
|
5
7
|
width: number;
|
|
@@ -12,6 +14,9 @@ interface ILDImageUploadProps {
|
|
|
12
14
|
isExistDescription?: boolean;
|
|
13
15
|
disabled?: boolean;
|
|
14
16
|
readOnly?: boolean;
|
|
17
|
+
classNames?: IFileUploadClassNames;
|
|
18
|
+
fileList: IFile[];
|
|
19
|
+
setFileList: Dispatch<SetStateAction<IFile[]>>;
|
|
15
20
|
}
|
|
16
21
|
declare const LDImageUpload: (props: ILDImageUploadProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
22
|
export default LDImageUpload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDImageUpload.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDImageUpload.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LDImageUpload.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDImageUpload.tsx"],"names":[],"mappings":"AAAA,OAAuB,EACrB,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAG3D,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,aAAa,GAAI,OAAO,mBAAmB,4CA0BhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import FileUploadBase from '../../components/LDFileUpload/FileUploadBase.js';
|
|
3
|
-
import
|
|
3
|
+
import cn from '../../utils/cn.js';
|
|
4
4
|
const LDImageUpload = (props) => {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
return (_jsxs(FileUploadBase.Root, { fileList: props.fileList, setFileList: props.setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: 1, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, classNames: {
|
|
6
|
+
...props.classNames,
|
|
7
|
+
root: cn('flex flex-col gap-sm ld-transition', props.classNames?.root),
|
|
8
|
+
}, disabled: props.disabled, readOnly: props.readOnly, children: [props.fileList[0]?.src ? (_jsx(FileUploadBase.CardList, { type: "image" })) : (_jsx(FileUploadBase.Input, { type: "image" })), props.isExistDescription && _jsx(FileUploadBase.Description, {})] }));
|
|
7
9
|
};
|
|
8
10
|
export default LDImageUpload;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TMimeType } from '../../constants/file.js';
|
|
2
2
|
import { IFile } from '../../utils/file.js';
|
|
3
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
3
4
|
interface ILDImageUploadListProps {
|
|
4
5
|
recommendedSize?: {
|
|
5
6
|
width: number;
|
|
@@ -13,6 +14,8 @@ interface ILDImageUploadListProps {
|
|
|
13
14
|
isExistDescription?: boolean;
|
|
14
15
|
disabled?: boolean;
|
|
15
16
|
readOnly?: boolean;
|
|
17
|
+
fileList: IFile[];
|
|
18
|
+
setFileList: Dispatch<SetStateAction<IFile[]>>;
|
|
16
19
|
}
|
|
17
20
|
declare const LDImageUploadList: (props: ILDImageUploadListProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
21
|
export default LDImageUploadList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDImageUploadList.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDImageUploadList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDImageUploadList.d.ts","sourceRoot":"","sources":["../../../src/components/LDFileUpload/LDImageUploadList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAE3D,UAAU,uBAAuB;IAC/B,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,iBAAiB,GAAI,OAAO,uBAAuB,4CAwBxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import FileUploadBase from '../../components/LDFileUpload/FileUploadBase.js';
|
|
3
|
-
import { useState } from 'react';
|
|
4
3
|
const LDImageUploadList = (props) => {
|
|
5
|
-
|
|
6
|
-
return (_jsxs(FileUploadBase.Root, { fileList: fileList, setFileList: setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: props.maxFileCount, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, className: "flex flex-col gap-sm ld-transition", disabled: props.disabled, readOnly: props.readOnly, children: [_jsxs("div", { className: "flex flex-row gap-sm", children: [fileList.length > 0 && _jsx(FileUploadBase.CardList, { type: "image" }), fileList.length < props.maxFileCount && !props.disabled && (_jsx(FileUploadBase.Input, { type: "image" }))] }), props.isExistDescription && _jsx(FileUploadBase.Description, {})] }));
|
|
4
|
+
return (_jsxs(FileUploadBase.Root, { fileList: props.fileList, setFileList: props.setFileList, maxSize: props.maxSize, allowedExtensions: props.allowedExtensions, recommendedSize: props.recommendedSize ?? { width: 1200, height: 800 }, maxFileCount: props.maxFileCount, onChangeFile: props.onChangeFile, onDeleteFile: props.onDeleteFile, classNames: { root: 'flex flex-col gap-sm ld-transition' }, disabled: props.disabled, readOnly: props.readOnly, children: [_jsxs("div", { className: "flex flex-row gap-sm w-full h-full", children: [props.fileList.length > 0 && _jsx(FileUploadBase.CardList, { type: "image" }), props.fileList.length < props.maxFileCount && !props.disabled && (_jsx(FileUploadBase.Input, { type: "image" }))] }), props.isExistDescription && _jsx(FileUploadBase.Description, {})] }));
|
|
7
5
|
};
|
|
8
6
|
export default LDImageUploadList;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
1
2
|
interface LDFormErrorMessageProps {
|
|
2
3
|
id?: string;
|
|
3
4
|
error: string;
|
|
4
5
|
disabled?: boolean;
|
|
5
6
|
className?: string;
|
|
7
|
+
style?: CSSProperties;
|
|
6
8
|
}
|
|
7
|
-
declare const LDFormErrorMessage: ({ id, error, disabled, className, }: LDFormErrorMessageProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare const LDFormErrorMessage: ({ id, error, disabled, className, style, }: LDFormErrorMessageProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
export default LDFormErrorMessage;
|
|
9
11
|
//# sourceMappingURL=LDFormErrorMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFormErrorMessage.d.ts","sourceRoot":"","sources":["../../../src/components/LDForm/LDFormErrorMessage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LDFormErrorMessage.d.ts","sourceRoot":"","sources":["../../../src/components/LDForm/LDFormErrorMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAG3D,UAAU,uBAAuB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,QAAA,MAAM,kBAAkB,GAAI,4CAMzB,uBAAuB,4CA0BzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
4
|
import cn from '../../utils/cn.js';
|
|
5
|
-
const LDFormErrorMessage = ({ id, error, disabled = false, className, }) => {
|
|
5
|
+
const LDFormErrorMessage = ({ id, error, disabled = false, className, style, }) => {
|
|
6
6
|
const visible = Boolean(error) && !disabled;
|
|
7
7
|
const [displayError, setDisplayError] = useState(error);
|
|
8
8
|
useEffect(() => {
|
|
@@ -12,6 +12,6 @@ const LDFormErrorMessage = ({ id, error, disabled = false, className, }) => {
|
|
|
12
12
|
return (_jsx("div", { id: id, role: "alert", onAnimationEnd: () => {
|
|
13
13
|
if (!visible)
|
|
14
14
|
setDisplayError('');
|
|
15
|
-
}, className: cn('text-danger600 display12 bold absolute bottom-1 right-2', visible ? 'animate-fade-in' : 'animate-fade-out', className), children: displayError && `*${displayError}` }, visible ? displayError : 'hidden'));
|
|
15
|
+
}, className: cn('text-danger600 display12 bold absolute bottom-1 right-2', visible ? 'animate-fade-in' : 'animate-fade-out', className), style: style, children: displayError && `*${displayError}` }, visible ? displayError : 'hidden'));
|
|
16
16
|
};
|
|
17
17
|
export default LDFormErrorMessage;
|
|
@@ -4,19 +4,21 @@ interface RootProps {
|
|
|
4
4
|
className?: string;
|
|
5
5
|
style?: React.CSSProperties;
|
|
6
6
|
children?: ReactNode;
|
|
7
|
+
ref?: Ref<HTMLDivElement>;
|
|
7
8
|
}
|
|
8
9
|
interface FieldProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
9
10
|
ref?: Ref<HTMLInputElement>;
|
|
10
11
|
}
|
|
11
12
|
interface AddonProps {
|
|
12
|
-
position?: 'left' | 'right';
|
|
13
13
|
className?: string;
|
|
14
|
+
style?: React.CSSProperties;
|
|
14
15
|
children?: ReactNode;
|
|
16
|
+
ref?: Ref<HTMLSpanElement>;
|
|
15
17
|
}
|
|
16
18
|
export declare const InputBase: {
|
|
17
|
-
Root: ({ block, className, style, children }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
Root: ({ block, className, style, children, ref, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
20
|
Field: ({ ref, ...props }: FieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
Addon: ({
|
|
21
|
+
Addon: ({ className, style, children, ref }: AddonProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
22
|
};
|
|
21
23
|
export default InputBase;
|
|
22
24
|
//# sourceMappingURL=InputBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDInput/InputBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAI3E,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"InputBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDInput/InputBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAI3E,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAyBD,UAAU,UAAW,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IAChE,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CAC7B;AAOD,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B;AAcD,eAAO,MAAM,SAAS;wDA7CnB,SAAS;+BAqBsB,UAAU;iDAYQ,UAAU;CAgB7D,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import cn from '../../utils/cn.js';
|
|
3
|
-
const Root = ({ block = false, className, style, children }) => {
|
|
4
|
-
return (_jsx("div", { style: style, className: cn('relative flex group', block && 'w-full', className), children: children }));
|
|
3
|
+
const Root = ({ block = false, className, style, children, ref, }) => {
|
|
4
|
+
return (_jsx("div", { ref: ref, style: style, className: cn('relative flex items-center group', block && 'w-full', className), children: children }));
|
|
5
5
|
};
|
|
6
6
|
const Field = ({ ref, ...props }) => {
|
|
7
7
|
return _jsx("input", { ref: ref, ...props });
|
|
8
8
|
};
|
|
9
|
-
const Addon = ({
|
|
10
|
-
return (_jsx("span", { className: cn('
|
|
9
|
+
const Addon = ({ className, style, children, ref }) => {
|
|
10
|
+
return (_jsx("span", { ref: ref, style: style, className: cn('flex items-center', className), children: children }));
|
|
11
11
|
};
|
|
12
12
|
export const InputBase = {
|
|
13
13
|
Root,
|
|
@@ -10,6 +10,6 @@ interface LDFormInputProps extends Omit<LDInputProps, 'name' | 'onChange' | 'val
|
|
|
10
10
|
errorClassName?: string;
|
|
11
11
|
showEditIcon?: boolean;
|
|
12
12
|
}
|
|
13
|
-
declare const LDFormInput: ({ name, options, variant,
|
|
13
|
+
declare const LDFormInput: ({ name, options, variant, size, block, disabled, ref, customErrorMessage, isHiddenErrorMessage, errorClassName, showEditIcon, rightAddon, ...props }: LDFormInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
export default LDFormInput;
|
|
15
15
|
//# sourceMappingURL=LDFormInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFormInput.d.ts","sourceRoot":"","sources":["../../../src/components/LDInput/LDFormInput.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"LDFormInput.d.ts","sourceRoot":"","sources":["../../../src/components/LDInput/LDFormInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAgB,EACd,KAAK,YAAY,EAGlB,MAAM,WAAW,CAAC;AAQnB,UAAU,gBAAiB,SAAQ,IAAI,CACrC,YAAY,EACZ,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CACzC;IACC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,WAAW,GAAI,sJAclB,gBAAgB,4CA+ElB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|