@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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface SectionNavItem {
|
|
3
|
+
/** 대상 섹션의 DOM id (포커스가 이 섹션 안이면 활성) */
|
|
4
|
+
id: string;
|
|
5
|
+
/** 링크에 표시할 라벨 */
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export interface SectionNavClassNames {
|
|
9
|
+
root?: string;
|
|
10
|
+
item?: string;
|
|
11
|
+
}
|
|
12
|
+
interface RootProps {
|
|
13
|
+
items?: SectionNavItem[];
|
|
14
|
+
classNames?: SectionNavClassNames;
|
|
15
|
+
}
|
|
16
|
+
export declare const SectionNavBase: {
|
|
17
|
+
Root: ({ items, classNames }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
};
|
|
19
|
+
export default SectionNavBase;
|
|
20
|
+
//# sourceMappingURL=SectionNavBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionNavBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDSectionNav/SectionNavBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAmED,eAAO,MAAM,cAAc;kCA9DU,SAAS;CAgE7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import cn from '../../utils/cn.js';
|
|
5
|
+
const FOCUSABLE = 'input, select, textarea, button, [href], [tabindex]:not([tabindex="-1"])';
|
|
6
|
+
// 포커스(편집)가 어느 섹션 안에 있는지로 활성을 판별한다. 포커스는 페이지에 하나뿐이라
|
|
7
|
+
// 여러 nav가 있어도 항상 한 곳만 강조된다(별도 조율 불필요). 링크 클릭 시엔 해당 섹션의
|
|
8
|
+
// 첫 입력 요소로 포커스를 옮겨 → 활성이 따라오고 브라우저가 자동으로 스크롤한다.
|
|
9
|
+
const Root = ({ items, classNames }) => {
|
|
10
|
+
const [activeId, setActiveId] = useState('');
|
|
11
|
+
const ids = items?.map((item) => item.id) ?? [];
|
|
12
|
+
const idsKey = ids.join('|');
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const idSet = new Set(ids);
|
|
15
|
+
const onFocusIn = (e) => {
|
|
16
|
+
let el = e.target;
|
|
17
|
+
while (el) {
|
|
18
|
+
if (el.id && idSet.has(el.id)) {
|
|
19
|
+
setActiveId(el.id);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
el = el.parentElement;
|
|
23
|
+
}
|
|
24
|
+
// 포커스가 내 섹션 밖이면 활성 해제 → 지금 편집 중인 섹션의 nav 하나만 강조된다.
|
|
25
|
+
setActiveId('');
|
|
26
|
+
};
|
|
27
|
+
document.addEventListener('focusin', onFocusIn);
|
|
28
|
+
//cleanup함수로 정리
|
|
29
|
+
return () => document.removeEventListener('focusin', onFocusIn);
|
|
30
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
}, [idsKey]);
|
|
32
|
+
const moveToSection = (id) => {
|
|
33
|
+
const section = document.getElementById(id);
|
|
34
|
+
if (!section)
|
|
35
|
+
return;
|
|
36
|
+
const focusable = section.querySelector(FOCUSABLE);
|
|
37
|
+
if (focusable) {
|
|
38
|
+
focusable.focus();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
section.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
42
|
+
setActiveId(id);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return (_jsx("nav", { className: classNames?.root, children: items?.map((item) => {
|
|
46
|
+
const isActive = item.id === activeId;
|
|
47
|
+
return (_jsx("button", { type: "button", "aria-current": isActive ? 'true' : undefined, "data-active": isActive, onClick: () => moveToSection(item.id), className: cn(classNames?.item), children: item.label }, item.id));
|
|
48
|
+
}) }));
|
|
49
|
+
};
|
|
50
|
+
export const SectionNavBase = {
|
|
51
|
+
Root,
|
|
52
|
+
};
|
|
53
|
+
export default SectionNavBase;
|
|
@@ -46,9 +46,9 @@ const LDMultiSelect = ({ items, placeholder = '선택해주세요', value = [],
|
|
|
46
46
|
return (_jsxs(SelectBase.Root, { multiple: true, values: value, onMultiChange: onChange, disabled: disabled, name: name, items: items, maxDisplay: maxDisplay, children: [_jsx(SelectBase.Trigger, { style: style, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedby, className: cn('group rounded-[5px] ld-transition outline-none cursor-pointer', variant &&
|
|
47
47
|
(disabled
|
|
48
48
|
? disabledVariantClasses[variant]
|
|
49
|
-
: variantColorClasses[variant][color]), size && sizeClasses[size], disabled && 'cursor-not-allowed disabled:cursor-not-allowed', className), children: truncate ? (_jsxs("div", { className: "flex gap-sm items-center w-full justify-center px-3 py-1.5", children: [_jsx(SelectBase.Value, { placeholder: placeholder, className: cn('flex flex-1 bold text-neutral900', alignClasses[align]), placeholderClassName: "text-neutral200" }), _jsx(ChevronDown, { size: iconSize, className: "text-neutral500 shrink-0" })] })) : (_jsxs("div", { className: "flex gap-sm items-center w-full justify-between px-3 py-1.5", children: [_jsx("div", { className: cn('flex flex-1 flex-wrap gap-1.5 items-center text-left', alignClasses[align]), children: value.length === 0 ? (_jsx("span", { className: "text-
|
|
49
|
+
: variantColorClasses[variant][color]), size && sizeClasses[size], disabled && 'cursor-not-allowed disabled:cursor-not-allowed', className), children: truncate ? (_jsxs("div", { className: "flex gap-sm items-center w-full justify-center px-3 py-1.5", children: [_jsx(SelectBase.Value, { placeholder: placeholder, className: cn('flex flex-1 bold text-neutral900', alignClasses[align]), placeholderClassName: "text-neutral200" }), _jsx(ChevronDown, { size: iconSize, className: "text-neutral500 shrink-0" })] })) : (_jsxs("div", { className: "flex gap-sm items-center w-full justify-between px-3 py-1.5", children: [_jsx("div", { className: cn('flex flex-1 flex-wrap gap-1.5 items-center text-left', alignClasses[align]), children: value.length === 0 ? (_jsx("span", { className: "text-neutral200", children: placeholder })) : (value.map((v) => {
|
|
50
50
|
const label = items.find((i) => i.value === v)?.label || v;
|
|
51
|
-
return (_jsxs("span", { className: "flex items-center justify-between px-2 py-1 bg-white rounded-sm display12 text-neutral900 border border-neutral100", children: [label, _jsx("div", { role: "button", "aria-label": `${label} 삭제`, onClick: (e) => {
|
|
51
|
+
return (_jsxs("span", { className: "flex items-center justify-between px-2 py-1 bg-white rounded-sm display12 text-neutral900 border border-neutral100 animate-fade-in", children: [label, _jsx("div", { role: "button", "aria-label": `${label} 삭제`, onClick: (e) => {
|
|
52
52
|
e.stopPropagation();
|
|
53
53
|
e.preventDefault();
|
|
54
54
|
if (!disabled) {
|
|
@@ -57,7 +57,7 @@ const LDMultiSelect = ({ items, placeholder = '선택해주세요', value = [],
|
|
|
57
57
|
}, className: "ml-1 text-neutral900 hover:text-neutral800 cursor-pointer flex items-center justify-center", children: _jsx(X, { size: 14 }) })] }, v));
|
|
58
58
|
})) }), _jsx(ChevronDown, { size: iconSize, className: "text-neutral500 shrink-0" })] })) }), _jsx(SelectBase.Content, { className: cn('rounded-[5px] bg-white border border-mono100 p-2 flex flex-col gap-3xs', 'max-h-57.5 overflow-y-auto scrollbar-none transition-opacity duration-300 ease-out', contentClassName), openClassName: "opacity-100", closedClassName: "opacity-0 pointer-events-none", children: items.map((opt) => {
|
|
59
59
|
const isSelected = value.includes(opt.value);
|
|
60
|
-
return (_jsxs(SelectBase.Item, { value: opt.value, className: cn('cursor-pointer px-sm rounded-[5px] regular outline-none ld-transition', sizeClasses[size ?? 'medium'], 'hover:bg-neutral50 focus:bg-tintBlue', 'flex items-center gap-2', isSelected && 'bg-tintBlue'), children: [_jsx("div", { className: cn('outline-2
|
|
60
|
+
return (_jsxs(SelectBase.Item, { value: opt.value, className: cn('cursor-pointer px-sm rounded-[5px] regular outline-none ld-transition', sizeClasses[size ?? 'medium'], 'hover:bg-neutral50 focus:bg-tintBlue', 'flex items-center gap-2', isSelected && 'bg-tintBlue'), children: [_jsx("div", { className: cn('outline-2 outline-solid -outline-offset-2 rounded-[5px] p-0.75 ld-transition', isSelected ? 'bg-lb500 outline-lb500' : 'outline-mono300'), children: _jsx(Check, { size: 10, className: cn('shrink-0 ld-transition', isSelected ? 'text-white' : 'text-transparent') }) }), _jsx(SelectBase.ItemText, { children: opt.label })] }, opt.value));
|
|
61
61
|
}) })] }));
|
|
62
62
|
};
|
|
63
63
|
export default LDMultiSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDSelect.d.ts","sourceRoot":"","sources":["../../../src/components/LDSelect/LDSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAK7D,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1C,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClD,KAAK,UAAU,GACX,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AACb,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+D/C,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY;IACZ,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,QAAA,MAAM,QAAQ,GAAI,2MAiBf,aAAa,
|
|
1
|
+
{"version":3,"file":"LDSelect.d.ts","sourceRoot":"","sources":["../../../src/components/LDSelect/LDSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAK7D,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1C,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClD,KAAK,UAAU,GACX,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AACb,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+D/C,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY;IACZ,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,QAAA,MAAM,QAAQ,GAAI,2MAiBf,aAAa,4CAoFf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import SelectBase from './SelectBase.js';
|
|
3
3
|
import cn from '../../utils/cn.js';
|
|
4
|
-
import { ChevronDown } from 'lucide-react';
|
|
4
|
+
import { ChevronDown, ChevronUp } from 'lucide-react';
|
|
5
5
|
const variantColorClasses = {
|
|
6
6
|
filled: {
|
|
7
7
|
neutral: 'bg-neutral50 text-neutral900 border-none outline-2 outline-transparent [outline-style:solid]',
|
|
@@ -55,7 +55,7 @@ const LDSelect = ({ items, placeholder = '선택해주세요', value, defaultVal
|
|
|
55
55
|
return (_jsxs(SelectBase.Root, { value: resolvedValue, defaultValue: defaultValue, onChange: onChange, disabled: disabled, name: name, items: items, children: [_jsx(SelectBase.Trigger, { style: style, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedby, className: cn('group rounded-[5px] ld-transition outline-none cursor-pointer', variant &&
|
|
56
56
|
(disabled
|
|
57
57
|
? disabledVariantClasses[variant]
|
|
58
|
-
: variantColorClasses[variant][color]), disabled && 'cursor-not-allowed disabled:cursor-not-allowed', size && sizeClasses[size], className), children: _jsxs("div", { className: "flex gap-sm items-center w-full justify-center px-3", children: [_jsx(SelectBase.Value, { placeholder: placeholder, className: cn('flex flex-1 bold', alignClasses[align]) }), _jsx(ChevronDown, { size: iconSize, className: "text-neutral500" })] }) }), _jsx(SelectBase.Content, { className: cn('rounded-[5px] bg-white border border-mono100 p-2 flex flex-col gap-3xs', 'max-h-57.5 overflow-y-auto scrollbar-none transition-opacity duration-300 ease-out', contentClassName), openClassName: "opacity-100", closedClassName: "opacity-0 pointer-events-none", children: items.map((opt) => (_jsx(SelectBase.Item, { value: opt.value, className: cn('w-full text-left', 'px-3 rounded-sm', itemSizeClasses[size ?? 'medium'], 'transition-all cursor-pointer outline-none', 'hover:bg-neutral50', 'focus:bg-tintBlue', resolvedValue === opt.value
|
|
58
|
+
: variantColorClasses[variant][color]), disabled && 'cursor-not-allowed disabled:cursor-not-allowed', size && sizeClasses[size], className), children: _jsxs("div", { className: "flex gap-sm items-center w-full justify-center px-3", children: [_jsx(SelectBase.Value, { placeholder: placeholder, className: cn('flex flex-1 bold ', alignClasses[align]), placeholderClassName: "text-neutral200" }), _jsxs("span", { className: "relative shrink-0", style: { width: iconSize, height: iconSize }, children: [_jsx(ChevronDown, { size: iconSize, className: "absolute left-0 top-0 text-neutral500 transition-opacity duration-300 ease-out opacity-100 group-data-[state=open]:opacity-0" }), _jsx(ChevronUp, { size: iconSize, className: "absolute left-0 top-0 text-neutral500 transition-opacity duration-300 ease-out opacity-0 group-data-[state=open]:opacity-100" })] })] }) }), _jsx(SelectBase.Content, { className: cn('rounded-[5px] bg-white border border-mono100 p-2 flex flex-col gap-3xs', 'max-h-57.5 overflow-y-auto scrollbar-none transition-opacity duration-300 ease-out', contentClassName), openClassName: "opacity-100", closedClassName: "opacity-0 pointer-events-none", children: items.map((opt) => (_jsx(SelectBase.Item, { value: opt.value, className: cn('w-full text-left', 'px-3 rounded-sm', itemSizeClasses[size ?? 'medium'], 'transition-all cursor-pointer outline-none', 'hover:bg-neutral50', 'focus:bg-tintBlue', resolvedValue === opt.value
|
|
59
59
|
? 'bg-neutral100 font-bold text-neutral900'
|
|
60
60
|
: 'text-neutral800'), children: _jsx(SelectBase.ItemText, { children: opt.label }) }, opt.value))) })] }));
|
|
61
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDCollapsibleTanstackTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDCollapsibleTanstackTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM/E,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,IAAI,CAC3E,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAC/B,UAAU,CACX;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,0BAA0B,GAAI,KAAK,EAAE,OAAO,EAAE,wRAmBjD,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"LDCollapsibleTanstackTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDCollapsibleTanstackTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM/E,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,IAAI,CAC3E,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAC/B,UAAU,CACX;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,0BAA0B,GAAI,KAAK,EAAE,OAAO,EAAE,wRAmBjD,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,4CA+MjD,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -10,27 +10,30 @@ const LDCollapsibleTanstackTable = ({ columns, data, pageable, paginationState,
|
|
|
10
10
|
const paginationFooter = pageable && totalPages > 0 ? (_jsx(LDPagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: handlePageChange, className: classNames?.pagination })) : null;
|
|
11
11
|
return (_jsxs(LDTable, { title: title, totalCount: pageable?.totalCount, rightSideContents: rightSideContents, isEmpty: isEmpty, emptyMessage: emptyMessage, columnCount: columns.length, footer: paginationFooter, classNames: {
|
|
12
12
|
...classNames,
|
|
13
|
-
wrapper: cn('overflow-x-auto relative', classNames?.wrapper),
|
|
14
13
|
root: cn('w-auto min-w-full', classNames?.root),
|
|
15
14
|
}, children: [_jsx(LDTable.Header, { className: cn(classNames?.thead, stickyHeader &&
|
|
16
|
-
'sticky top-0 bg-mono100 z-10 border-b border-neutral100'), children: headerGroups.map((hg) => (_jsx(LDTable.HeaderRow, { className: cn('group w-full', classNames?.headRow), children: hg.headers.map((header
|
|
15
|
+
'sticky top-0 bg-mono100 z-10 border-b border-neutral100'), children: headerGroups.map((hg) => (_jsx(LDTable.HeaderRow, { className: cn('group w-full', classNames?.headRow), children: hg.headers.map((header) => {
|
|
17
16
|
const h = getHeader(header);
|
|
18
17
|
return (_jsxs(LDTable.HeaderCell, { className: cn('relative overflow-hidden', h.canSort && 'cursor-pointer', classNames?.headCell), style: { width: h.size }, onClick: h.toggleSortingHandler, children: [_jsxs("span", { className: cn('flex items-center gap-0.5 align-middle', h.meta?.headerAlign === 'right'
|
|
19
18
|
? 'justify-end'
|
|
20
19
|
: h.meta?.headerAlign === 'left'
|
|
21
20
|
? 'justify-start'
|
|
22
|
-
: 'justify-center'), children: [_jsx("span", { className: "truncate min-w-0", style: { maxWidth: h.size }, children: h.renderHeader() }), h.isSorted === 'asc' && (_jsx(ArrowUp, { className: "size-3 shrink-0" })), h.isSorted === 'desc' && (_jsx(ArrowDown, { className: "size-3 shrink-0" }))] }), header.column.getCanResize() && (_jsx("div", { onMouseDown: h.resizeHandler, onTouchStart: h.resizeHandler, onClick: (e) => e.stopPropagation(), className: cn('absolute right-0 top-0 h-full w-5 group-hover:cursor-col-resize touch-none select-none opacity-0 group-hover:opacity-100 ld-transition flex justify-
|
|
23
|
-
}) }, hg.id))) }), _jsx(LDTable.Body, { children: rows.map((row) => (_jsxs(_Fragment, { children: [
|
|
21
|
+
: 'justify-center'), children: [_jsx("span", { className: "truncate min-w-0", style: { maxWidth: h.size }, children: h.renderHeader() }), h.isSorted === 'asc' && (_jsx(ArrowUp, { className: "size-3 shrink-0" })), h.isSorted === 'desc' && (_jsx(ArrowDown, { className: "size-3 shrink-0" }))] }), header.column.getCanResize() && (_jsx("div", { onMouseDown: h.resizeHandler, onTouchStart: h.resizeHandler, onClick: (e) => e.stopPropagation(), className: cn('absolute right-0 top-0 h-full w-5 group-hover:cursor-col-resize touch-none select-none opacity-0 group-hover:opacity-100 ld-transition flex justify-end'), children: _jsx("div", { className: "h-full w-1 bg-neutral200" }) }))] }, h.id));
|
|
22
|
+
}) }, hg.id))) }), _jsx(LDTable.Body, { children: rows.map((row) => (_jsxs(_Fragment, { children: [_jsx(LDTable.Row, { selected: row.getIsSelected(), className: cn('relative cursor-pointer', classNames?.row), onClick: () => {
|
|
24
23
|
handleOpenRows(row.id);
|
|
25
24
|
row.toggleSelected();
|
|
26
|
-
}, children:
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
}, children: row.getVisibleCells().map((cell, idx) => {
|
|
26
|
+
const c = getCell(cell);
|
|
27
|
+
return (_jsxs(LDTable.Cell, { className: classNames?.cell, children: [_jsx("div", { className: cn('flex w-full items-center', c.meta?.headerAlign === 'left'
|
|
29
28
|
? 'justify-start'
|
|
30
29
|
: c.meta?.headerAlign === 'right'
|
|
31
30
|
? 'justify-end'
|
|
32
|
-
: 'justify-center'),
|
|
33
|
-
|
|
31
|
+
: 'justify-center'), children: _jsx("span", { className: "truncate min-w-0", style: { maxWidth: c.size }, children: c.renderCell() }) }), idx === row.getVisibleCells().length - 1 && (_jsxs(_Fragment, { children: [_jsx(ChevronUp, { className: cn('text-neutral700 absolute top-1/2 -translate-1/2 right-2 shrink-0 size-5 ld-transition', openRows[row.id]
|
|
32
|
+
? 'opacity-0'
|
|
33
|
+
: 'opacity-100') }), _jsx(ChevronDown, { className: cn('text-neutral700 absolute top-1/2 -translate-1/2 right-2 shrink-0 size-5 ld-transition', !openRows[row.id]
|
|
34
|
+
? 'opacity-0'
|
|
35
|
+
: 'opacity-100') })] }))] }, c.id));
|
|
36
|
+
}) }, row.id), _jsx(LDTable.Row, { className: cn('h-auto border-0 bg-neutral50', openRows[row.id] && 'border-b'), children: _jsx(LDTable.Cell, { colSpan: columns.length, className: "px-5", children: _jsx("div", { className: cn('grid ld-transition', openRows[row.id]
|
|
34
37
|
? 'grid-rows-[1fr]'
|
|
35
38
|
: 'grid-rows-[0fr]'), children: _jsx("div", { className: "overflow-hidden", children: collapsibleContent(row.original) }) }) }) })] }))) })] }));
|
|
36
39
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,qBAAqB;IAGrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC;IAQnB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,uBAAuB;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,OAAO;6GAUV,YAAY;
|
|
1
|
+
{"version":3,"file":"LDTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,qBAAqB;IAGrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC;IAQnB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,uBAAuB;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,OAAO;6GAUV,YAAY;gDAwEZ,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC;mDAgB7C,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC;oDAUzC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;8CAa5C,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC;6CAU7C,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;8CAgBlE,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;CArG9C,CAAC;AAqHF,eAAe,OAAO,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import TableBase from './TableBase.js';
|
|
3
3
|
import cn from '../../utils/cn.js';
|
|
4
4
|
const LDTable = ({ children, title, rightSideContents, footer, isEmpty = false, emptyMessage = '조회하신 데이터가 없습니다.', columnCount, style, classNames, }) => {
|
|
5
|
-
return (_jsxs("div", { className: cn('flex flex-col justify-between h-full gap-md', classNames?.wrapper), children: [_jsx(Toolbar, { title: title, rightSideContents: rightSideContents, className: classNames?.toolbar }), _jsxs(TableBase.Root, { className: cn('
|
|
5
|
+
return (_jsxs("div", { className: cn('flex flex-col justify-between h-full gap-md', classNames?.wrapper), children: [_jsx(Toolbar, { title: title, rightSideContents: rightSideContents, className: classNames?.toolbar }), _jsx("div", { className: "relative w-full overflow-x-auto", children: _jsxs(TableBase.Root, { className: cn('w-full', classNames?.root), style: style, children: [children, isEmpty && columnCount && (_jsx(TableBase.Body, { className: classNames?.tbody, children: _jsx(TableBase.Row, { className: classNames?.row, children: _jsx(TableBase.Cell, { colSpan: columnCount, className: cn('h-48 text-center'), children: emptyMessage }) }) }))] }) }), footer] }));
|
|
6
6
|
};
|
|
7
7
|
const Toolbar = ({ title, rightSideContents, className, }) => {
|
|
8
8
|
if (!title && !rightSideContents)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDTanstackTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDTanstackTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM/E,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,IAAI,CAChE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAC/B,UAAU,CACX;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,eAAe,GAAI,KAAK,EAAE,OAAO,EAAE,qPAiBtC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"LDTanstackTable.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/LDTanstackTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM/E,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,IAAI,CAChE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAC/B,UAAU,CACX;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,eAAe,GAAI,KAAK,EAAE,OAAO,EAAE,qPAiBtC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,4CA8JtC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -10,7 +10,6 @@ const LDTanstackTable = ({ columns, data, pageable, paginationState, onPageChang
|
|
|
10
10
|
const paginationFooter = pageable && totalPages > 0 ? (_jsx(LDPagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: handlePageChange, className: classNames?.pagination })) : null;
|
|
11
11
|
return (_jsxs(LDTable, { title: title, totalCount: pageable?.totalCount, rightSideContents: rightSideContents, isEmpty: isEmpty, emptyMessage: emptyMessage, columnCount: columns.length, footer: paginationFooter, classNames: {
|
|
12
12
|
...classNames,
|
|
13
|
-
wrapper: cn('overflow-x-auto relative', classNames?.wrapper),
|
|
14
13
|
root: cn('w-auto ', classNames?.root),
|
|
15
14
|
}, children: [_jsx(LDTable.Header, { className: cn(classNames?.thead, stickyHeader &&
|
|
16
15
|
'sticky top-0 bg-mono100 z-10 border-b border-neutral100'), children: headerGroups.map((hg) => (_jsx(LDTable.HeaderRow, { className: cn('group w-full', classNames?.headRow), children: hg.headers.map((header, idx) => {
|
|
@@ -19,14 +18,14 @@ const LDTanstackTable = ({ columns, data, pageable, paginationState, onPageChang
|
|
|
19
18
|
? 'justify-end'
|
|
20
19
|
: h.meta?.headerAlign === 'left'
|
|
21
20
|
? 'justify-start'
|
|
22
|
-
: 'justify-center'), children: [_jsx("span", { className: "truncate min-w-0", style: { maxWidth: h.size }, children: h.renderHeader() }), h.isSorted === 'asc' && (_jsx(ArrowUp, { className: "size-3 shrink-0" })), h.isSorted === 'desc' && (_jsx(ArrowDown, { className: "size-3 shrink-0" }))] }), header.column.getCanResize() && (_jsx("div", { onMouseDown: h.resizeHandler, onTouchStart: h.resizeHandler, onClick: (e) => e.stopPropagation(), className: cn('absolute right-0 top-0 h-full w-5 group-hover:cursor-col-resize touch-none select-none opacity-0 group-hover:opacity-100 ld-transition flex justify-
|
|
21
|
+
: 'justify-center'), children: [_jsx("span", { className: "truncate min-w-0", style: { maxWidth: h.size }, children: h.renderHeader() }), h.isSorted === 'asc' && (_jsx(ArrowUp, { className: "size-3 shrink-0" })), h.isSorted === 'desc' && (_jsx(ArrowDown, { className: "size-3 shrink-0" }))] }), header.column.getCanResize() && (_jsx("div", { onMouseDown: h.resizeHandler, onTouchStart: h.resizeHandler, onClick: (e) => e.stopPropagation(), className: cn('absolute right-0 top-0 h-full w-5 group-hover:cursor-col-resize touch-none select-none opacity-0 group-hover:opacity-100 ld-transition flex justify-end'), children: _jsx("div", { className: "h-full w-1 bg-neutral200" }) }))] }, h.id));
|
|
23
22
|
}) }, hg.id))) }), _jsx(LDTable.Body, { children: rows.map((row) => (_jsx(LDTable.Row, { selected: row.getIsSelected(), className: classNames?.row, onClick: () => row.toggleSelected(), children: row.getVisibleCells().map((cell) => {
|
|
24
23
|
const c = getCell(cell);
|
|
25
|
-
return (_jsx(LDTable.Cell, { className: classNames?.cell, children: _jsx("div", { className: cn('
|
|
26
|
-
? '
|
|
24
|
+
return (_jsx(LDTable.Cell, { className: classNames?.cell, children: _jsx("div", { className: cn('flex w-full items-center', c.meta?.headerAlign === 'left'
|
|
25
|
+
? 'justify-start'
|
|
27
26
|
: c.meta?.headerAlign === 'right'
|
|
28
|
-
? '
|
|
29
|
-
: '
|
|
27
|
+
? 'justify-end'
|
|
28
|
+
: 'justify-center'), children: _jsx("span", { className: "truncate min-w-0", style: { maxWidth: c.size }, children: c.renderCell() }) }) }, c.id));
|
|
30
29
|
}) }, row.id))) })] }));
|
|
31
30
|
} }));
|
|
32
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableField.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/TableField.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"TableField.d.ts","sourceRoot":"","sources":["../../../src/components/LDTable/TableField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -158,6 +158,6 @@ const LDTextarea = forwardRef(function LDTextarea({ bottom = true, variant = 'fi
|
|
|
158
158
|
resize: resize === 'manual' ? 'vertical' : 'none',
|
|
159
159
|
overflowY: resize === 'fixed' || resize === 'manual' ? 'auto' : 'hidden',
|
|
160
160
|
...style,
|
|
161
|
-
}, className: cn('w-full bg-transparent px-1 py-0 outline-none', textareaSizeClasses[size], 'placeholder:text-mono400', 'disabled:cursor-not-allowed disabled:text-mono400', 'read-only:cursor-default') }), showBottom && (_jsx("div", { className: "flex items-center gap-4", children: _jsx("div", { className: "flex flex-1 items-center gap-1 pl-1", children: resolvedLeadingContent }) }))] }), _jsx("div", { className: cn('pointer-events-none absolute inset-0 outline-1
|
|
161
|
+
}, className: cn('w-full bg-transparent px-1 py-0 outline-none', textareaSizeClasses[size], 'placeholder:text-mono400', 'disabled:cursor-not-allowed disabled:text-mono400', 'read-only:cursor-default') }), showBottom && (_jsx("div", { className: "flex items-center gap-4", children: _jsx("div", { className: "flex flex-1 items-center gap-1 pl-1", children: resolvedLeadingContent }) }))] }), _jsx("div", { className: cn('pointer-events-none absolute inset-0 outline-1 outline-solid -outline-offset-2 transition-[outline-color] duration-300 ease-out', interactionRadiusClasses[size], interactionVariantColorClasses[variant][color], focused && focusedColorClasses[color], disabled && 'opacity-0') })] }) }));
|
|
162
162
|
});
|
|
163
163
|
export default LDTextarea;
|
|
@@ -113,7 +113,7 @@ const LDTimePicker = ({ value, defaultValue, onChange, placeholder = 'HH:MM', di
|
|
|
113
113
|
e.preventDefault();
|
|
114
114
|
target.previousElementSibling?.focus();
|
|
115
115
|
}
|
|
116
|
-
}, className: cn('w-full text-left px-3 py-2 rounded-[5px] display14 transition-all cursor-pointer outline-none', 'hover:bg-
|
|
116
|
+
}, className: cn('w-full text-left px-3 py-2 rounded-[5px] display14 transition-all cursor-pointer outline-none', 'hover:bg-mono50', 'focus:bg-tintBlue focus:text-lb500', resolved === time
|
|
117
117
|
? 'bg-neutral100 font-bold'
|
|
118
118
|
: 'text-neutral800'), children: time }, time))) }) })] }) }));
|
|
119
119
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
interface LDToasterProps {
|
|
2
2
|
position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
3
3
|
duration?: number;
|
|
4
|
+
toasterId?: string;
|
|
4
5
|
}
|
|
5
|
-
declare const LDToaster: ({ position, duration, }: LDToasterProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare const LDToaster: ({ position, duration, toasterId, }: LDToasterProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default LDToaster;
|
|
7
8
|
//# sourceMappingURL=LDToaster.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDToaster.d.ts","sourceRoot":"","sources":["../../../src/components/LDToast/LDToaster.tsx"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,QAAQ,CAAC,EACL,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"LDToaster.d.ts","sourceRoot":"","sources":["../../../src/components/LDToast/LDToaster.tsx"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,QAAQ,CAAC,EACL,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,GAAI,oCAIhB,cAAc,4CAQhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { Toaster as HotToaster } from 'react-hot-toast';
|
|
4
|
-
const LDToaster = ({ position = 'top-center', duration = 2500, }) => {
|
|
5
|
-
return _jsx(HotToaster, { position: position, toastOptions: { duration } });
|
|
4
|
+
const LDToaster = ({ position = 'top-center', duration = 2500, toasterId, }) => {
|
|
5
|
+
return (_jsx(HotToaster, { position: position, toastOptions: { duration }, toasterId: toasterId }));
|
|
6
6
|
};
|
|
7
7
|
export default LDToaster;
|
|
@@ -4,9 +4,7 @@ interface LDFormToggleButtonProps extends Omit<LDToggleButtonProps, 'checked' |
|
|
|
4
4
|
name: string;
|
|
5
5
|
options?: RegisterOptions;
|
|
6
6
|
customErrorMessage?: string;
|
|
7
|
-
isHiddenErrorMessage?: boolean;
|
|
8
|
-
errorClassName?: string;
|
|
9
7
|
}
|
|
10
|
-
declare const LDFormToggleButton: ({ name, options, customErrorMessage,
|
|
8
|
+
declare const LDFormToggleButton: ({ name, options, customErrorMessage, disabled, ...props }: LDFormToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
9
|
export default LDFormToggleButton;
|
|
12
10
|
//# sourceMappingURL=LDFormToggleButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDFormToggleButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDToggleButton/LDFormToggleButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDFormToggleButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDToggleButton/LDFormToggleButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,UAAU,uBAAwB,SAAQ,IAAI,CAC5C,mBAAmB,EACnB,SAAS,GAAG,MAAM,GAAG,iBAAiB,CACvC;IACC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,kBAAkB,GAAI,2DAMzB,uBAAuB,4CAqBzB,CAAC;AAEF,eAAe,kBAAkB,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 LDToggleButton from './LDToggleButton.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(LDToggleButton, { ...props, checked: !!field.value, onCheckedChange: field.onChange, onBlur: field.onBlur, disabled: disabled, ref: field.ref, "aria-invalid": field['aria-invalid'], "aria-describedby": field['aria-describedby'] }), !isHiddenErrorMessage && (_jsx(FormErrorMessage, { id: fieldState.errorId, error: fieldState.error, disabled: disabled, className: errorClassName }))] })) }));
|
|
5
|
+
const LDFormToggleButton = ({ name, options, customErrorMessage = '', disabled = false, ...props }) => {
|
|
6
|
+
return (_jsx(FormField, { name: name, options: options, customErrorMessage: customErrorMessage, disabled: disabled, children: ({ field }) => (_jsx(LDToggleButton, { ...props, checked: !!field.value, onCheckedChange: field.onChange, onBlur: field.onBlur, disabled: disabled, ref: field.ref, "aria-invalid": field['aria-invalid'] })) }));
|
|
8
7
|
};
|
|
9
8
|
export default LDFormToggleButton;
|
|
@@ -8,6 +8,6 @@ const LDTooltip = ({ children, content, side = 'top', align = 'center', classNam
|
|
|
8
8
|
const shouldShow = content ? true : isTruncated;
|
|
9
9
|
return (_jsx(TooltipBase.Provider, { children: _jsxs(TooltipBase.Root, { children: [_jsx(TooltipBase.Trigger, { asChild: true, children: _jsx("div", { className: cn('relative w-full', className), style: style, children: React.cloneElement(children, {
|
|
10
10
|
ref: textRef,
|
|
11
|
-
}) }) }), shouldShow && (_jsxs(TooltipBase.Content, { side: side, align: align, className: "px-2 py-1 text-xs text-white whitespace-nowrap bg-
|
|
11
|
+
}) }) }), shouldShow && (_jsxs(TooltipBase.Content, { side: side, align: align, className: "px-2 py-1 text-xs text-white whitespace-nowrap bg-neutral900 rounded", children: [tooltipContent, _jsx(TooltipBase.Arrow, { className: "fill-neutral900" })] }))] }) }));
|
|
12
12
|
};
|
|
13
13
|
export default LDTooltip;
|
|
@@ -18,18 +18,22 @@ interface ContentProps {
|
|
|
18
18
|
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
19
19
|
sideOffset?: number;
|
|
20
20
|
align?: 'start' | 'center' | 'end';
|
|
21
|
+
arrowPadding?: number;
|
|
22
|
+
collisionPadding?: number;
|
|
21
23
|
className?: string;
|
|
22
24
|
children?: ReactNode;
|
|
23
25
|
}
|
|
24
26
|
interface ArrowProps {
|
|
25
27
|
className?: string;
|
|
28
|
+
width?: number;
|
|
29
|
+
height?: number;
|
|
26
30
|
}
|
|
27
31
|
export declare const TooltipBase: {
|
|
28
32
|
Provider: ({ delayDuration, children }: ProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
33
|
Root: ({ open, defaultOpen, onOpenChange, children }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
34
|
Trigger: ({ asChild, className, children }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
Content: ({ side, sideOffset, align, className, children, }: ContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
-
Arrow: ({ className }: ArrowProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
Content: ({ side, sideOffset, align, arrowPadding, collisionPadding, className, children, }: ContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
Arrow: ({ className, width, height }: ArrowProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
37
|
useTruncation: (deps?: React.DependencyList) => {
|
|
34
38
|
ref: import("react").RefObject<HTMLElement | null>;
|
|
35
39
|
isTruncated: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDTooltip/TooltipBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AA2BpE,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"TooltipBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDTooltip/TooltipBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AA2BpE,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAgCD,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,eAAO,MAAM,WAAW;4CAhG6B,aAAa;0DAgBL,SAAS;gDAmBnB,YAAY;iGA2B5D,YAAY;0CA4B8B,UAAU;2BArH1B,KAAK,CAAC,cAAc;;;;CAkIhD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -29,11 +29,11 @@ const Root = ({ open, defaultOpen, onOpenChange, children }) => {
|
|
|
29
29
|
const Trigger = ({ asChild, className, children }) => {
|
|
30
30
|
return (_jsx(RadixTooltip.Trigger, { asChild: asChild, className: className, children: children }));
|
|
31
31
|
};
|
|
32
|
-
const Content = ({ side = 'top', sideOffset = 8, align = 'center', className, children, }) => {
|
|
33
|
-
return (_jsx(RadixTooltip.Portal, { children: _jsx(RadixTooltip.Content, { side: side, sideOffset: sideOffset, align: align, className: cn('z-50 outline-hidden', 'animate-fade-in data-[state=closed]:animate-fade-out', className), children: children }) }));
|
|
32
|
+
const Content = ({ side = 'top', sideOffset = 8, align = 'center', arrowPadding = 4, collisionPadding = 8, className, children, }) => {
|
|
33
|
+
return (_jsx(RadixTooltip.Portal, { children: _jsx(RadixTooltip.Content, { side: side, sideOffset: sideOffset, align: align, arrowPadding: arrowPadding, collisionPadding: collisionPadding, className: cn('z-50 outline-hidden', 'animate-fade-in data-[state=closed]:animate-fade-out', className), children: children }) }));
|
|
34
34
|
};
|
|
35
|
-
const Arrow = ({ className }) => {
|
|
36
|
-
return _jsx(RadixTooltip.Arrow, { className: className });
|
|
35
|
+
const Arrow = ({ className, width, height }) => {
|
|
36
|
+
return (_jsx(RadixTooltip.Arrow, { className: className, width: width, height: height }));
|
|
37
37
|
};
|
|
38
38
|
export const TooltipBase = {
|
|
39
39
|
Provider,
|