@loword/loword-design-system 0.0.11 → 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/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/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 +4 -11
- package/dist/components/LDCalendar/LDCalendar.d.ts.map +1 -1
- package/dist/components/LDCalendar/LDCalendar.js +9 -40
- 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 +9 -7
- 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.js +1 -1
- 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 +65 -7
- 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 +1 -3
- package/dist/components/LDCheckbox/LDFormCheckbox.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDFormCheckbox.js +3 -4
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts +1 -3
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.js +3 -4
- 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.map +1 -1
- package/dist/components/LDDatePicker/LDDatePicker.js +1 -1
- package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts.map +1 -1
- package/dist/components/LDDateRangePicker/LDDateRangePicker.js +1 -1
- 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 +1 -1
- 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.map +1 -1
- package/dist/components/LDFileUpload/FileUploadBase.js +6 -6
- 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 +2 -4
- 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 +3 -0
- package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDImageUpload.js +2 -4
- 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/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.map +1 -1
- package/dist/components/LDInput/LDFormInput.js +7 -27
- package/dist/components/LDInput/LDInput.d.ts +8 -2
- package/dist/components/LDInput/LDInput.d.ts.map +1 -1
- package/dist/components/LDInput/LDInput.js +91 -28
- 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 +2 -1
- package/dist/components/LDModal/LDModal.d.ts.map +1 -1
- package/dist/components/LDModal/LDModal.js +1 -1
- package/dist/components/LDModal/LDModalView.d.ts +11 -3
- package/dist/components/LDModal/LDModalView.d.ts.map +1 -1
- package/dist/components/LDModal/LDModalView.js +4 -4
- 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 -73
- 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 +1 -1
- package/dist/components/LDPagination/LDPagination.d.ts.map +1 -1
- package/dist/components/LDPagination/LDPagination.js +1 -8
- 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 +5 -4
- 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 +1 -3
- package/dist/components/LDRadio/LDFormRadioGroup.d.ts.map +1 -1
- package/dist/components/LDRadio/LDFormRadioGroup.js +3 -4
- package/dist/components/LDRadio/LDRadio.d.ts +1 -1
- package/dist/components/LDRadio/LDRadio.d.ts.map +1 -1
- package/dist/components/LDRadio/LDRadio.js +58 -12
- 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/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/LDMultiSelect.js +3 -3
- package/dist/components/LDSelect/LDSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDSelect.js +2 -2
- 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 +5 -6
- package/dist/components/LDTable/TableField.d.ts.map +1 -1
- package/dist/components/LDTextarea/LDTextarea.js +1 -1
- package/dist/components/LDTimePicker/LDTimePicker.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 +1 -3
- package/dist/components/LDToggleButton/LDFormToggleButton.d.ts.map +1 -1
- package/dist/components/LDToggleButton/LDFormToggleButton.js +3 -4
- 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 +633 -166
- package/dist/index.d.ts +21 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -13
- package/package.json +14 -2
- package/src/styles/carousel.css +15 -14
- package/src/styles/components/editor.css +6 -0
- package/src/styles/components/input.css +14 -0
- package/src/styles/components/shared.css +6 -6
- package/src/styles/motion.css +78 -0
|
@@ -1,24 +1,82 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import CheckboxBase, { useCheckboxContext } from './CheckboxBase.js';
|
|
3
3
|
import cn from '../../utils/cn.js';
|
|
4
|
+
// medium이 기존 단일 사이즈(24) 기준. 위아래로 프리셋을 확장.
|
|
4
5
|
const checkIconSizes = {
|
|
6
|
+
'2xsmall': 16,
|
|
7
|
+
xsmall: 20,
|
|
5
8
|
small: 24,
|
|
9
|
+
medium: 28,
|
|
10
|
+
large: 32,
|
|
11
|
+
xlarge: 36,
|
|
6
12
|
};
|
|
7
13
|
const labelHeight = {
|
|
14
|
+
'2xsmall': 'min-h-4 leading-4',
|
|
15
|
+
xsmall: 'min-h-5 leading-5',
|
|
8
16
|
small: 'min-h-6 leading-6',
|
|
17
|
+
medium: 'min-h-7 leading-7',
|
|
18
|
+
large: 'min-h-8 leading-8',
|
|
19
|
+
xlarge: 'min-h-9 leading-9',
|
|
9
20
|
};
|
|
10
21
|
const labelSizeClasses = {
|
|
22
|
+
'2xsmall': 'display10',
|
|
23
|
+
xsmall: 'display12',
|
|
11
24
|
small: 'display14',
|
|
12
|
-
|
|
25
|
+
medium: 'display16',
|
|
26
|
+
large: 'display18',
|
|
27
|
+
xlarge: 'display20',
|
|
28
|
+
};
|
|
29
|
+
const gapClasses = {
|
|
30
|
+
'2xsmall': 'gap-2xs',
|
|
31
|
+
xsmall: 'gap-2xs',
|
|
32
|
+
small: 'gap-xs',
|
|
33
|
+
medium: 'gap-xs',
|
|
34
|
+
large: 'gap-sm',
|
|
35
|
+
xlarge: 'gap-sm',
|
|
36
|
+
};
|
|
37
|
+
// ── pill 전용 사이즈 프리셋 (small = 기존 단일 모양 기준) ──
|
|
38
|
+
const pillSizeClasses = {
|
|
39
|
+
'2xsmall': 'py-1.5 px-2.5 display10',
|
|
40
|
+
xsmall: 'py-2 px-3 display12',
|
|
41
|
+
small: 'py-sm px-[15px] display14',
|
|
42
|
+
medium: 'py-3.5 px-4 display16',
|
|
43
|
+
large: 'py-4 px-5 display18',
|
|
44
|
+
xlarge: 'py-[18px] px-6 display20',
|
|
45
|
+
};
|
|
46
|
+
const pillIconSizes = {
|
|
47
|
+
'2xsmall': 12,
|
|
48
|
+
xsmall: 14,
|
|
49
|
+
small: 16,
|
|
50
|
+
medium: 18,
|
|
51
|
+
large: 20,
|
|
52
|
+
xlarge: 24,
|
|
53
|
+
};
|
|
54
|
+
// checkbox 타입 박스 안 체크 아이콘 크기 (small = 기존 10 기준)
|
|
55
|
+
const checkboxIconSizes = {
|
|
56
|
+
'2xsmall': 8,
|
|
57
|
+
xsmall: 9,
|
|
58
|
+
small: 10,
|
|
59
|
+
medium: 12,
|
|
60
|
+
large: 14,
|
|
61
|
+
xlarge: 16,
|
|
62
|
+
};
|
|
63
|
+
// 체크 시 아이콘 자리만큼 라벨을 오른쪽으로 미는 좌측 패딩 (아이콘 크기 + 여백)
|
|
64
|
+
const pillCheckedPad = {
|
|
65
|
+
'2xsmall': 'pl-4',
|
|
66
|
+
xsmall: 'pl-[18px]',
|
|
67
|
+
small: 'pl-5',
|
|
68
|
+
medium: 'pl-[22px]',
|
|
69
|
+
large: 'pl-6',
|
|
70
|
+
xlarge: 'pl-7',
|
|
13
71
|
};
|
|
14
72
|
// ── Inner: Context에서 checked를 읽어 스타일 적용 ──
|
|
15
|
-
const PillInner = ({ label, ref, ...props }) => {
|
|
73
|
+
const PillInner = ({ size, label, ref, ...props }) => {
|
|
16
74
|
const { checked } = useCheckboxContext();
|
|
17
|
-
return (_jsxs(_Fragment, { children: [_jsx(CheckboxBase.HiddenInput, { ref: ref, ...props }), _jsxs("div", { className: "relative flex items-center", children: [_jsx(CheckboxBase.Indicator, { iconSize:
|
|
75
|
+
return (_jsxs(_Fragment, { children: [_jsx(CheckboxBase.HiddenInput, { ref: ref, ...props }), _jsxs("div", { className: "relative flex items-center", children: [_jsx(CheckboxBase.Indicator, { iconSize: pillIconSizes[size], className: cn('absolute left-0'), iconClassName: cn('shrink-0 ld-transition', checked ? 'opacity-100' : 'opacity-0') }), label && (_jsx(CheckboxBase.Label, { className: cn('text-nowrap ld-transition', checked ? pillCheckedPad[size] : 'pl-sm pr-sm'), children: label }))] })] }));
|
|
18
76
|
};
|
|
19
77
|
const DefaultInner = ({ type, size, label, isRequired, ref, ...props }) => {
|
|
20
78
|
const { checked, disabled } = useCheckboxContext();
|
|
21
|
-
return (_jsxs(_Fragment, { children: [_jsx(CheckboxBase.HiddenInput, { ref: ref, ...props }), _jsx(CheckboxBase.Indicator, { iconSize: type === 'checkbox' ?
|
|
79
|
+
return (_jsxs(_Fragment, { children: [_jsx(CheckboxBase.HiddenInput, { ref: ref, ...props }), _jsx(CheckboxBase.Indicator, { iconSize: type === 'checkbox' ? checkboxIconSizes[size] : checkIconSizes[size], className: cn('ld-transition', type === 'checkbox' &&
|
|
22
80
|
'border-none outline-2 rounded-[5px] -outline-offset-2 outline-mono300 p-1', type === 'checkbox' && checked && 'bg-lb500 outline-lb500', type === 'checkbox' && disabled && 'bg-mono100 outline-mono100', 'peer-focus-visible:ring-2 peer-focus-visible:ring-lb500 peer-focus-visible:ring-offset-2'), iconClassName: cn('shrink-0 ld-transition', type === 'checkbox'
|
|
23
81
|
? checked
|
|
24
82
|
? 'text-white'
|
|
@@ -27,10 +85,10 @@ const DefaultInner = ({ type, size, label, isRequired, ref, ...props }) => {
|
|
|
27
85
|
? 'text-blue400'
|
|
28
86
|
: 'text-neutral500') }), isRequired && (_jsx(CheckboxBase.Label, { className: cn('text-blue400 shrink-0 block', labelHeight[size]), children: "\uD544\uC218" })), label && (_jsx(CheckboxBase.Label, { className: cn('text-neutral900 block', labelHeight[size]), children: label }))] }));
|
|
29
87
|
};
|
|
30
|
-
const LDCheckbox = ({ checked, defaultChecked, onCheckedChange, onChange, size = 'small',
|
|
88
|
+
const LDCheckbox = ({ checked, defaultChecked, onCheckedChange, onChange, size = 'small', label, isRequired = false, type = 'default', itemCenter = false, disabled = false, className, style, ref, ...props }) => {
|
|
31
89
|
if (type === 'pill') {
|
|
32
|
-
return (_jsx(CheckboxBase.Root, { checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, style: style, className: (c) => cn('items-center gap-2 rounded-full
|
|
90
|
+
return (_jsx(CheckboxBase.Root, { checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, style: style, className: (c) => cn('items-center gap-2 rounded-full ld-transition bold', pillSizeClasses[size], c ? 'bg-tintBlue text-lb500' : 'bg-mono100 text-mono500', disabled && 'opacity-50 cursor-not-allowed', className), children: _jsx(PillInner, { size: size, label: label, ref: ref, onChange: onChange, ...props }) }));
|
|
33
91
|
}
|
|
34
|
-
return (_jsx(CheckboxBase.Root, { checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, style: style, className: cn('bold items-center ld-transition', itemCenter && 'items-center', labelSizeClasses[
|
|
92
|
+
return (_jsx(CheckboxBase.Root, { checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, style: style, className: cn('bold items-center ld-transition', itemCenter && 'items-center', labelSizeClasses[size], gapClasses[size], className), children: _jsx(DefaultInner, { type: type, size: size, label: label, isRequired: isRequired, ref: ref, onChange: onChange, ...props }) }));
|
|
35
93
|
};
|
|
36
94
|
export default LDCheckbox;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
+
import { type CheckboxSize } from './LDCheckbox.js';
|
|
2
3
|
export interface CheckboxGroupOption {
|
|
3
4
|
label: string;
|
|
4
5
|
value: string;
|
|
@@ -11,12 +12,11 @@ export interface LDCheckboxGroupProps {
|
|
|
11
12
|
onChange?: (value: string[]) => void;
|
|
12
13
|
disabled?: boolean;
|
|
13
14
|
type?: 'default' | 'checkbox' | 'pill';
|
|
14
|
-
size?:
|
|
15
|
-
fontSize?: 'small' | 'regular';
|
|
15
|
+
size?: CheckboxSize;
|
|
16
16
|
orientation?: 'horizontal' | 'vertical';
|
|
17
17
|
className?: string;
|
|
18
18
|
style?: React.CSSProperties;
|
|
19
19
|
}
|
|
20
|
-
declare const LDCheckboxGroup: ({ items, value, onChange, disabled, type, size,
|
|
20
|
+
declare const LDCheckboxGroup: ({ items, value, onChange, disabled, type, size, orientation, className, style, }: LDCheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
export default LDCheckboxGroup;
|
|
22
22
|
//# sourceMappingURL=LDCheckboxGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDCheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LDCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDCheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAI7D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAaD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,eAAe,GAAI,kFAUtB,oBAAoB,4CA+BtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import LDCheckbox from './LDCheckbox.js';
|
|
3
3
|
import cn from '../../utils/cn.js';
|
|
4
|
-
|
|
4
|
+
// 아이템 간 간격을 사이즈별로 확장 (수평/수직 공통, LDRadioGroup과 동일 스케일)
|
|
5
|
+
const groupGapClasses = {
|
|
6
|
+
'2xsmall': 'gap-xs',
|
|
7
|
+
xsmall: 'gap-xs',
|
|
8
|
+
small: 'gap-sm',
|
|
9
|
+
medium: 'gap-md',
|
|
10
|
+
large: 'gap-md',
|
|
11
|
+
xlarge: 'gap-lg',
|
|
12
|
+
};
|
|
13
|
+
const LDCheckboxGroup = ({ items, value = [], onChange, disabled = false, type = 'pill', size = 'small', orientation = 'horizontal', className, style, }) => {
|
|
5
14
|
const handleChange = (target) => {
|
|
6
15
|
const arr = value.includes(target)
|
|
7
16
|
? value.filter((v) => v !== target)
|
|
8
17
|
: [...value, target];
|
|
9
18
|
onChange?.(arr);
|
|
10
19
|
};
|
|
11
|
-
return (_jsx("div", { className: cn('flex
|
|
20
|
+
return (_jsx("div", { className: cn('flex', groupGapClasses[size], orientation === 'vertical' ? 'flex-col' : 'flex-row', className), style: style, children: items.map((option) => (_jsx(LDCheckbox, { type: type, size: size, checked: value.includes(option.value), onCheckedChange: () => handleChange(option.value), label: option.label, disabled: disabled || option.disabled }, option.value))) }));
|
|
12
21
|
};
|
|
13
22
|
export default LDCheckboxGroup;
|
|
@@ -6,9 +6,7 @@ interface LDFormCheckboxProps extends Omit<LDCheckboxProps, 'checked' | 'name' |
|
|
|
6
6
|
options?: RegisterOptions;
|
|
7
7
|
ref?: Ref<HTMLInputElement>;
|
|
8
8
|
customErrorMessage?: string;
|
|
9
|
-
isHiddenErrorMessage?: boolean;
|
|
10
|
-
errorClassName?: string;
|
|
11
9
|
}
|
|
12
|
-
declare const LDFormCheckbox: ({ name, options, ref, customErrorMessage,
|
|
10
|
+
declare const LDFormCheckbox: ({ name, options, ref, customErrorMessage, disabled, ...props }: LDFormCheckboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
11
|
export default LDFormCheckbox;
|
|
14
12
|
//# sourceMappingURL=LDFormCheckbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFormCheckbox.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDFormCheckbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"LDFormCheckbox.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDFormCheckbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGhE,UAAU,mBAAoB,SAAQ,IAAI,CACxC,eAAe,EACf,SAAS,GAAG,MAAM,GAAG,iBAAiB,CACvC;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;CAC7B;AAED,QAAA,MAAM,cAAc,GAAI,gEAOrB,mBAAmB,4CAqBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import LDCheckbox from './LDCheckbox.js';
|
|
4
4
|
import FormField from '../LDForm/LDFormField.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return (_jsx(FormField, { name: name, options: options, customErrorMessage: customErrorMessage, disabled: disabled, ref: ref, children: ({ field, fieldState }) => (_jsxs("div", { className: "relative", children: [_jsx(LDCheckbox, { ...props, checked: !!field.value, onCheckedChange: field.onChange, onBlur: field.onBlur, disabled: disabled, ref: field.ref }), !isHiddenErrorMessage && (_jsx(FormErrorMessage, { error: fieldState.error, disabled: disabled, className: errorClassName }))] })) }));
|
|
5
|
+
const LDFormCheckbox = ({ name, options, ref, customErrorMessage = '', disabled = false, ...props }) => {
|
|
6
|
+
return (_jsx(FormField, { name: name, options: options, customErrorMessage: customErrorMessage, disabled: disabled, ref: ref, children: ({ field }) => (_jsx(LDCheckbox, { ...props, checked: !!field.value, onCheckedChange: field.onChange, onBlur: field.onBlur, disabled: disabled, ref: field.ref })) }));
|
|
8
7
|
};
|
|
9
8
|
export default LDFormCheckbox;
|
|
@@ -4,10 +4,8 @@ interface LDFormCheckboxGroupProps extends Omit<LDCheckboxGroupProps, 'value' |
|
|
|
4
4
|
name: string;
|
|
5
5
|
options?: RegisterOptions;
|
|
6
6
|
customErrorMessage?: string;
|
|
7
|
-
isHiddenErrorMessage?: boolean;
|
|
8
|
-
errorClassName?: string;
|
|
9
7
|
disabled?: boolean;
|
|
10
8
|
}
|
|
11
|
-
declare const LDFormCheckboxGroup: ({ name, options, customErrorMessage,
|
|
9
|
+
declare const LDFormCheckboxGroup: ({ name, options, customErrorMessage, disabled, ...props }: LDFormCheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
10
|
export default LDFormCheckboxGroup;
|
|
13
11
|
//# sourceMappingURL=LDFormCheckboxGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFormCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDFormCheckboxGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDFormCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/LDCheckbox/LDFormCheckboxGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,UAAU,wBAAyB,SAAQ,IAAI,CAC7C,oBAAoB,EACpB,OAAO,GAAG,UAAU,CACrB;IACC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,mBAAmB,GAAI,2DAM1B,wBAAwB,4CAkB1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import LDCheckboxGroup from './LDCheckboxGroup.js';
|
|
4
4
|
import FormField from '../LDForm/LDFormField.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return (_jsx(FormField, { name: name, options: options, customErrorMessage: customErrorMessage, disabled: disabled, children: ({ field, fieldState }) => (_jsxs("div", { className: "relative", children: [_jsx(LDCheckboxGroup, { ...props, value: field.value ?? [], onChange: field.onChange, disabled: disabled }), !isHiddenErrorMessage && (_jsx(FormErrorMessage, { error: fieldState.error, disabled: disabled, className: errorClassName }))] })) }));
|
|
5
|
+
const LDFormCheckboxGroup = ({ name, options, customErrorMessage = '', disabled = false, ...props }) => {
|
|
6
|
+
return (_jsx(FormField, { name: name, options: options, customErrorMessage: customErrorMessage, disabled: disabled, children: ({ field }) => (_jsx(LDCheckboxGroup, { ...props, value: field.value ?? [], onChange: field.onChange, disabled: disabled })) }));
|
|
8
7
|
};
|
|
9
8
|
export default LDFormCheckboxGroup;
|
|
@@ -3,6 +3,10 @@ import type { ReactNode } from 'react';
|
|
|
3
3
|
interface DataCalendarContextType {
|
|
4
4
|
month: Dayjs;
|
|
5
5
|
changeMonth: (delta: number) => void;
|
|
6
|
+
/** 선택된 날짜(Dayjs). 셀 선택 비교·Detail 슬롯 전달용. 선택 없음이면 undefined */
|
|
7
|
+
selectedDate?: Dayjs;
|
|
8
|
+
/** 셀 클릭 시 호출. selectable=false면 undefined(표시 전용) */
|
|
9
|
+
selectDate?: (date: Dayjs) => void;
|
|
6
10
|
}
|
|
7
11
|
export declare const useDataCalendarContext: () => DataCalendarContextType;
|
|
8
12
|
interface RootProps {
|
|
@@ -10,6 +14,12 @@ interface RootProps {
|
|
|
10
14
|
className?: string;
|
|
11
15
|
defaultMonth?: Dayjs;
|
|
12
16
|
onMonthChange?: (month: Dayjs) => void;
|
|
17
|
+
/** true면 셀 클릭으로 날짜 선택 가능(기본 false, 표시 전용) */
|
|
18
|
+
selectable?: boolean;
|
|
19
|
+
/** 초기 선택 날짜 */
|
|
20
|
+
defaultSelectedDate?: Dayjs;
|
|
21
|
+
/** 선택 변경 시 호출 */
|
|
22
|
+
onSelectDate?: (date: Dayjs) => void;
|
|
13
23
|
}
|
|
14
24
|
interface TitleProps {
|
|
15
25
|
className?: string;
|
|
@@ -33,13 +43,19 @@ interface CellProps {
|
|
|
33
43
|
className?: string;
|
|
34
44
|
dateClassName?: string;
|
|
35
45
|
}
|
|
46
|
+
interface DetailProps {
|
|
47
|
+
/** 선택된 날짜(선택 없으면 null)를 받아 상세 내용을 렌더 */
|
|
48
|
+
children: (selectedDate: Dayjs | null) => ReactNode;
|
|
49
|
+
className?: string;
|
|
50
|
+
}
|
|
36
51
|
declare const DataCalendarBase: {
|
|
37
|
-
Root: ({ children, className, defaultMonth, onMonthChange, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
Root: ({ children, className, defaultMonth, onMonthChange, selectable, defaultSelectedDate, onSelectDate, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
53
|
Title: ({ className, format }: TitleProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
54
|
Prev: ({ children, className }: NavButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
55
|
Next: ({ children, className }: NavButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
56
|
Grid: ({ renderCell, weekdays, className, weekdayClassName, }: GridProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
57
|
Cell: ({ date, isOutside, children, className, dateClassName, }: CellProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
Detail: ({ children, className }: DetailProps) => import("react/jsx-runtime").JSX.Element;
|
|
43
59
|
};
|
|
44
60
|
export default DataCalendarBase;
|
|
45
61
|
//# sourceMappingURL=DataCalendarBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDDataCalendar/DataCalendarBase.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DataCalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDDataCalendar/DataCalendarBase.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAID,eAAO,MAAM,sBAAsB,+BAOlC,CAAC;AAIF,UAAU,SAAS;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAC5B,iBAAiB;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC;AA6CD,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwBD,UAAU,SAAS;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAgDD,UAAU,SAAS;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAoDD,UAAU,WAAW;IACnB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,QAAA,MAAM,gBAAgB;iHAvMnB,SAAS;mCAwCuC,UAAU;oCAYtB,cAAc;oCASd,cAAc;mEAyBlD,SAAS;qEAwDT,SAAS;sCAkD6B,WAAW;CAOoB,CAAC;AAEzE,eAAe,gBAAgB,CAAC"}
|
|
@@ -9,14 +9,24 @@ export const useDataCalendarContext = () => {
|
|
|
9
9
|
throw new Error('DataCalendarBase 서브컴포넌트는 DataCalendarBase.Root 내부에서 사용해야 합니다.');
|
|
10
10
|
return ctx;
|
|
11
11
|
};
|
|
12
|
-
const Root = ({ children, className, defaultMonth, onMonthChange, }) => {
|
|
12
|
+
const Root = ({ children, className, defaultMonth, onMonthChange, selectable = false, defaultSelectedDate, onSelectDate, }) => {
|
|
13
13
|
const [month, setMonth] = useState((defaultMonth ?? dayjs()).startOf('month'));
|
|
14
|
+
const [selected, setSelected] = useState(defaultSelectedDate ?? null);
|
|
14
15
|
const changeMonth = (delta) => {
|
|
15
16
|
const next = month.add(delta, 'month');
|
|
16
17
|
setMonth(next);
|
|
17
18
|
onMonthChange?.(next);
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
+
const selectDate = (date) => {
|
|
21
|
+
setSelected(date);
|
|
22
|
+
onSelectDate?.(date);
|
|
23
|
+
};
|
|
24
|
+
return (_jsx(DataCalendarContext, { value: {
|
|
25
|
+
month,
|
|
26
|
+
changeMonth,
|
|
27
|
+
selectedDate: selected ?? undefined,
|
|
28
|
+
selectDate: selectable ? selectDate : undefined,
|
|
29
|
+
}, children: _jsx("div", { className: className, children: children }) }));
|
|
20
30
|
};
|
|
21
31
|
const Title = ({ className, format = 'YYYY년 M월' }) => {
|
|
22
32
|
const { month } = useDataCalendarContext();
|
|
@@ -48,10 +58,30 @@ const Grid = ({ renderCell, weekdays = DEFAULT_WEEKDAYS, className, weekdayClass
|
|
|
48
58
|
return (_jsxs("div", { className: className, children: [_jsx("div", { className: "grid grid-cols-7", children: weekdays.map((d) => (_jsx("span", { className: weekdayClassName, children: d }, d))) }), _jsx("div", { className: "grid grid-cols-7", children: cells.map((date, i) => renderCell(date, i, !date.isSame(month, 'month'))) })] }));
|
|
49
59
|
};
|
|
50
60
|
const Cell = ({ date, isOutside, children, className, dateClassName, }) => {
|
|
61
|
+
const { selectedDate, selectDate } = useDataCalendarContext();
|
|
51
62
|
const isToday = date.isSame(dayjs(), 'day');
|
|
52
63
|
const isWeekend = date.day() === 0 || date.day() === 6;
|
|
53
|
-
|
|
64
|
+
const clickable = !!selectDate && !isOutside;
|
|
65
|
+
const isSelected = !!selectedDate && selectedDate.isSame(date, 'day');
|
|
66
|
+
const handleSelect = () => selectDate?.(date);
|
|
67
|
+
return (_jsxs("div", { className: className, "data-outside": isOutside || undefined, "data-selectable": clickable || undefined, "data-selected": (clickable && isSelected) || undefined, ...(clickable
|
|
68
|
+
? {
|
|
69
|
+
role: 'button',
|
|
70
|
+
tabIndex: 0,
|
|
71
|
+
onClick: handleSelect,
|
|
72
|
+
onKeyDown: (e) => {
|
|
73
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
handleSelect();
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
}
|
|
79
|
+
: {}), children: [_jsx("span", { "data-today": isToday || undefined, "data-outside": isOutside || undefined, "data-weekend": isWeekend || undefined, className: dateClassName, children: date.date() }), children] }));
|
|
80
|
+
};
|
|
81
|
+
const Detail = ({ children, className }) => {
|
|
82
|
+
const { selectedDate } = useDataCalendarContext();
|
|
83
|
+
return _jsx("div", { className: className, children: children(selectedDate ?? null) });
|
|
54
84
|
};
|
|
55
85
|
// ── Export ──
|
|
56
|
-
const DataCalendarBase = { Root, Title, Prev, Next, Grid, Cell };
|
|
86
|
+
const DataCalendarBase = { Root, Title, Prev, Next, Grid, Cell, Detail };
|
|
57
87
|
export default DataCalendarBase;
|
|
@@ -1,12 +1,29 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { Dayjs } from 'dayjs';
|
|
3
|
+
export interface LDDataCalendarProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
/** 초기 표시 월 */
|
|
6
|
+
defaultMonth?: Dayjs;
|
|
7
|
+
/** 월 이동 시 호출 */
|
|
8
|
+
onMonthChange?: (month: Dayjs) => void;
|
|
9
|
+
/** 셀 클릭으로 날짜 선택 허용 (기본 false, 표시 전용) */
|
|
10
|
+
selectable?: boolean;
|
|
11
|
+
/** 초기 선택 날짜 */
|
|
12
|
+
defaultSelectedDate?: Dayjs;
|
|
13
|
+
/** 선택 변경 시 호출 */
|
|
14
|
+
onSelectDate?: (date: Dayjs) => void;
|
|
15
|
+
/** 요일 헤더 (기본 일~토) */
|
|
16
|
+
weekdays?: string[];
|
|
17
|
+
/** 날짜 숫자 아래에 그릴 커스텀 콘텐츠(데이터 등). isOutside면 이전/다음 달 셀 */
|
|
18
|
+
renderCell?: (date: Dayjs, isOutside: boolean) => ReactNode;
|
|
19
|
+
/** 선택 상세(모바일 Detail 슬롯). 지정 시 그리드 아래에 Detail 렌더 */
|
|
20
|
+
renderDetail?: (date: Dayjs | null) => ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* LDDataCalendar — DataCalendarBase 컴파운드를 조립한 표시 전용 데이터 달력.
|
|
24
|
+
* 헤더(Prev·Title·Next)·그리드·셀 스타일은 컴포넌트가 제공하고,
|
|
25
|
+
* 날짜별 데이터는 `renderCell`, 선택 상세는 `renderDetail`로 주입한다.
|
|
26
|
+
*/
|
|
27
|
+
declare const LDDataCalendar: ({ className, defaultMonth, onMonthChange, selectable, defaultSelectedDate, onSelectDate, weekdays, renderCell, renderDetail, }: LDDataCalendarProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
28
|
export default LDDataCalendar;
|
|
12
29
|
//# sourceMappingURL=LDDataCalendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDDataCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDDataCalendar/LDDataCalendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"LDDataCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDDataCalendar/LDDataCalendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAKnC,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAC5B,iBAAiB;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC;IAC5D,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC;CAClD;AAKD;;;;GAIG;AACH,QAAA,MAAM,cAAc,GAAI,gIAUrB,mBAAmB,4CA2CrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronLeft, ChevronRight } from 'lucide-react';
|
|
4
4
|
import cn from '../../utils/cn.js';
|
|
5
5
|
import DataCalendarBase from './DataCalendarBase.js';
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const LDDataCalendar = { Root,
|
|
6
|
+
const navButtonClass = 'flex items-center justify-center rounded-full size-[30px] bg-neutral100 hover:bg-mono400 text-neutral500 hover:text-neutral900 ld-transition cursor-pointer';
|
|
7
|
+
/**
|
|
8
|
+
* LDDataCalendar — DataCalendarBase 컴파운드를 조립한 표시 전용 데이터 달력.
|
|
9
|
+
* 헤더(Prev·Title·Next)·그리드·셀 스타일은 컴포넌트가 제공하고,
|
|
10
|
+
* 날짜별 데이터는 `renderCell`, 선택 상세는 `renderDetail`로 주입한다.
|
|
11
|
+
*/
|
|
12
|
+
const LDDataCalendar = ({ className, defaultMonth, onMonthChange, selectable, defaultSelectedDate, onSelectDate, weekdays, renderCell, renderDetail, }) => (_jsxs(DataCalendarBase.Root, { className: cn('w-full select-none', className), defaultMonth: defaultMonth, onMonthChange: onMonthChange, selectable: selectable, defaultSelectedDate: defaultSelectedDate, onSelectDate: onSelectDate, children: [_jsxs("div", { className: "flex items-center justify-between mb-md", children: [_jsx(DataCalendarBase.Prev, { className: navButtonClass, children: _jsx(ChevronLeft, { size: 15 }) }), _jsx(DataCalendarBase.Title, { className: "display32 mobile:display20 bold flex justify-center" }), _jsx(DataCalendarBase.Next, { className: navButtonClass, children: _jsx(ChevronRight, { size: 16 }) })] }), _jsx(DataCalendarBase.Grid, { weekdays: weekdays, weekdayClassName: "display14 mobile:display12 text-mono500 py-[10px] mobile:py-1", renderCell: (date, _i, isOutside) => (_jsx(DataCalendarBase.Cell, { date: date, isOutside: isOutside, className: cn('min-h-[100px] mobile:min-h-13 py-[10px] mobile:py-1 flex flex-col gap-[15px] mobile:gap-1 data-outside:*:text-mono400', 'data-selectable:cursor-pointer data-selectable:hover:bg-mono100 data-selectable:rounded-[5px] ld-transition', 'data-[selected=true]:bg-tintBlue data-[selected=true]:hover:bg-tintBlue'), dateClassName: "display16 mobile:display12 font-normal self-start leading-none data-[outside]:text-mono400 data-[outside]:font-normal data-[weekend]:text-danger600 data-[outside]:data-[weekend]:text-danger200", children: renderCell?.(date, isOutside) }, date.format('YYYY-MM-DD'))) }), renderDetail && (_jsx(DataCalendarBase.Detail, { className: "hidden mobile:block mt-md p-md rounded-[10px] bg-mono50", children: renderDetail }))] }));
|
|
13
13
|
export default LDDataCalendar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDDatePicker/LDDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AASf,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC9C,KAAK,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAYtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,mEAAmE;IACnE,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7C,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB;IAClB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,iBAAiB;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyBD,QAAA,MAAM,YAAY,GAAI,gNAmBnB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LDDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDDatePicker/LDDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AASf,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC9C,KAAK,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAYtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,mEAAmE;IACnE,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7C,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB;IAClB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,iBAAiB;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyBD,QAAA,MAAM,YAAY,GAAI,gNAmBnB,iBAAiB,4CA6KnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -102,7 +102,7 @@ const LDDatePicker = ({ variant = 'filled', color = 'neutral', value, defaultVal
|
|
|
102
102
|
? 'cursor-not-allowed opacity-50'
|
|
103
103
|
: variantColorClasses[variant][color], triggerClassName), children: [displayDate ? (_jsx("span", { children: !isExistTime
|
|
104
104
|
? `${dayjs(displayDate).format(dateFormat)}`
|
|
105
|
-
: `${dayjs(displayDate).format(`${dateFormat} ${timeFormat.replaceAll('M', 'm').replaceAll('S', 's')}`)}` })) : (_jsx("span", { className: "text-mono400", children: placeholderText })), _jsxs("div", { className: "flex items-center gap-xs", children: [_jsx("span", { role: "button", tabIndex: showRotate ? 0 : -1, "aria-hidden": !showRotate, className: cn('flex items-center text-mono400 cursor-pointer ld-transition', !showRotate ? 'opacity-0' : 'opacity-100'), onClick: handleReset, onKeyDown: (e) => {
|
|
105
|
+
: `${dayjs(displayDate).format(`${dateFormat} ${timeFormat.replaceAll('M', 'm').replaceAll('S', 's')}`)}` })) : (_jsx("span", { className: "text-mono400 whitespace-nowrap", children: placeholderText })), _jsxs("div", { className: "flex items-center gap-xs", children: [_jsx("span", { role: "button", tabIndex: showRotate ? 0 : -1, "aria-hidden": !showRotate, className: cn('flex items-center text-mono400 cursor-pointer ld-transition', !showRotate ? 'opacity-0' : 'opacity-100'), onClick: handleReset, onKeyDown: (e) => {
|
|
106
106
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
107
107
|
e.preventDefault();
|
|
108
108
|
handleReset(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDDateRangePicker/LDDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAWf,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAC3C,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnD,KAAK,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAqB3D,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3D,iBAAiB;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAwBD,QAAA,MAAM,iBAAiB,GAAI,wOAoBxB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"LDDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDDateRangePicker/LDDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAWf,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAC3C,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnD,KAAK,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAqB3D,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3D,iBAAiB;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAwBD,QAAA,MAAM,iBAAiB,GAAI,wOAoBxB,sBAAsB,4CA4SxB,CAAC;AA6LF,eAAe,iBAAiB,CAAC"}
|
|
@@ -80,7 +80,7 @@ const LDDateRangePicker = ({ variant = 'filled', value, onChange, disabled = fal
|
|
|
80
80
|
const placeholderText = placeholder ?? `${placeholderFmt} ~ ${placeholderFmt}`;
|
|
81
81
|
const renderDateRange = () => {
|
|
82
82
|
if (!displayRange?.from) {
|
|
83
|
-
return _jsx("span", { className: "text-mono400", children: placeholderText });
|
|
83
|
+
return (_jsx("span", { className: "text-mono400 whitespace-nowrap", children: placeholderText }));
|
|
84
84
|
}
|
|
85
85
|
if (!displayRange.to) {
|
|
86
86
|
return (_jsxs("span", { className: "text-mono400", children: [dayjs(displayRange.from).format(displayFmt), " ~ ", placeholderFmt] }));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
import { ButtonSize } from '../LDButton/LDButton.js';
|
|
2
3
|
type DrawerDirection = 'bottom' | 'top' | 'left' | 'right';
|
|
3
4
|
export interface DrawerButton<T = unknown> {
|
|
4
5
|
/** 버튼 텍스트 */
|
|
@@ -10,6 +11,7 @@ export interface DrawerButton<T = unknown> {
|
|
|
10
11
|
/** 버튼 색상 테마 */
|
|
11
12
|
color?: 'neutral' | 'point' | 'danger';
|
|
12
13
|
/** 클릭 핸들러 (false 반환 시 LDDrawer 닫힘 방지) */
|
|
14
|
+
size?: ButtonSize;
|
|
13
15
|
onClick?: () => void | boolean | Promise<void | boolean>;
|
|
14
16
|
}
|
|
15
17
|
export interface LDDrawerProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/LDDrawer/LDDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LDDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/LDDrawer/LDDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAK5D,KAAK,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,CAAC,CAAC;IACT,gBAAgB;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,eAAe;IACf,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,yCAAyC;IACzC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,cAAc;IACd,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kDAAkD;IAClD,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjC,mBAAmB;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB;IACnB,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe;IACf,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAUD,QAAA,MAAM,QAAQ,GAAI,+LAiBf,aAAa,4CAoFf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -25,6 +25,6 @@ const LDDrawer = ({ open, defaultOpen, onOpenChange, direction = 'bottom', snapP
|
|
|
25
25
|
onOpenChange?.(false);
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
return (_jsxs(DrawerBase.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, direction: direction, snapPoints: snapPoints, activeSnapPoint: activeSnapPoint, setActiveSnapPoint: setActiveSnapPoint, children: [trigger && _jsx(DrawerBase.Trigger, { asChild: true, children: trigger }), _jsx(DrawerBase.Overlay, {}), _jsxs(DrawerBase.Content, { className: cn('bg-white', directionClasses[direction], className), style: style, children: [shouldShowHandle && _jsx(DrawerBase.Handle, {}), _jsxs("div", { className: "relative flex flex-col flex-1 overflow-hidden p-5 gap-6", children: [_jsx(DrawerBase.Close, { asChild: true, children: _jsx("button", { className: "absolute top-4 right-5 text-neutral500 cursor-pointer outline-hidden", children: _jsx(X, { size: 16 }) }) }), (title || description) && (_jsxs("div", { className: "flex flex-col gap-2 pt-2", children: [title && (_jsx(DrawerBase.Title, { className: "display20 bold", children: title })), description && (_jsx(DrawerBase.Description, { className: "display14 text-neutral500", children: description }))] })), children && _jsx("div", { className: "flex-1 overflow-auto", children: children }), buttons && buttons.length > 0 && (_jsx("div", { className: "flex gap-2", children: buttons.map((button, index) => (_jsx(LDButton, { block: true, variant: button.variant, color: button.color, onClick: () => handleButtonClick(button), children: button.label }, index))) }))] })] })] }));
|
|
28
|
+
return (_jsxs(DrawerBase.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, direction: direction, snapPoints: snapPoints, activeSnapPoint: activeSnapPoint, setActiveSnapPoint: setActiveSnapPoint, children: [trigger && _jsx(DrawerBase.Trigger, { asChild: true, children: trigger }), _jsx(DrawerBase.Overlay, {}), _jsxs(DrawerBase.Content, { className: cn('bg-white', directionClasses[direction], className), style: style, children: [shouldShowHandle && _jsx(DrawerBase.Handle, {}), _jsxs("div", { className: "relative flex flex-col flex-1 overflow-hidden p-5 gap-6", children: [_jsx(DrawerBase.Close, { asChild: true, children: _jsx("button", { className: "absolute top-4 right-5 text-neutral500 cursor-pointer outline-hidden", children: _jsx(X, { size: 16 }) }) }), (title || description) && (_jsxs("div", { className: "flex flex-col gap-2 pt-2", children: [title && (_jsx(DrawerBase.Title, { className: "display20 bold", children: title })), description && (_jsx(DrawerBase.Description, { className: "display14 text-neutral500", children: description }))] })), children && _jsx("div", { className: "flex-1 overflow-auto", children: children }), buttons && buttons.length > 0 && (_jsx("div", { className: "flex gap-2", children: buttons.map((button, index) => (_jsx(LDButton, { block: true, size: button.size, variant: button.variant, color: button.color, onClick: () => handleButtonClick(button), children: button.label }, index))) }))] })] })] }));
|
|
29
29
|
};
|
|
30
30
|
export default LDDrawer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDEditor.d.ts","sourceRoot":"","sources":["../../../src/components/LDEditor/LDEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LDEditor.d.ts","sourceRoot":"","sources":["../../../src/components/LDEditor/LDEditor.tsx"],"names":[],"mappings":"AA2EA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,QAAQ,GAAI,sDAKf,aAAa,4CAYf,CAAC;AAyhBF,eAAe,QAAQ,CAAC"}
|