@deepnoid/ui 0.1.156 → 0.1.157

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.
Files changed (110) hide show
  1. package/.turbo/turbo-build.log +161 -161
  2. package/dist/{chunk-KKHOCWXJ.mjs → chunk-5KOTQEFC.mjs} +1 -1
  3. package/dist/{chunk-UIRHCS6B.mjs → chunk-73NBUI4Y.mjs} +1 -1
  4. package/dist/{chunk-2DAIOZ7N.mjs → chunk-ACFDUCPL.mjs} +2 -2
  5. package/dist/{chunk-47MQPUEY.mjs → chunk-BFC4VP3B.mjs} +1 -1
  6. package/dist/{chunk-6YTT5ACI.mjs → chunk-DQ3ZRNX4.mjs} +1 -1
  7. package/dist/{chunk-7RG7CQQM.mjs → chunk-DSEF7GGB.mjs} +1 -1
  8. package/dist/{chunk-R2USZD77.mjs → chunk-HLWNJLRZ.mjs} +1 -1
  9. package/dist/{chunk-URJA4W4R.mjs → chunk-IN6M25YL.mjs} +2 -2
  10. package/dist/{chunk-ZY3HNPPG.mjs → chunk-JJAPJQUD.mjs} +1 -1
  11. package/dist/{chunk-Q2YLULZH.mjs → chunk-LBJN5TAP.mjs} +1 -1
  12. package/dist/{chunk-ZNQML73F.mjs → chunk-MGGBCCZL.mjs} +2 -2
  13. package/dist/{chunk-HP4ARKW3.mjs → chunk-NB45YSED.mjs} +1 -1
  14. package/dist/{chunk-LFALITPU.mjs → chunk-PO4H65C3.mjs} +1 -1
  15. package/dist/{chunk-KX6WG4VG.mjs → chunk-QJUPHJN6.mjs} +1 -1
  16. package/dist/{chunk-ZGUTKE5H.mjs → chunk-SHI7P4DQ.mjs} +1 -1
  17. package/dist/{chunk-5VVNAW4E.mjs → chunk-T6V6BJOT.mjs} +2 -2
  18. package/dist/chunk-T7IJB3N4.mjs +449 -0
  19. package/dist/{chunk-WHU5VP5G.mjs → chunk-VUMESK5D.mjs} +20 -0
  20. package/dist/{chunk-4YVZ3XKA.mjs → chunk-ZUAOUHWS.mjs} +3 -3
  21. package/dist/components/avatar/avatar.js +20 -0
  22. package/dist/components/avatar/avatar.mjs +2 -2
  23. package/dist/components/avatar/index.js +20 -0
  24. package/dist/components/avatar/index.mjs +2 -2
  25. package/dist/components/breadcrumb/breadcrumb.js +20 -0
  26. package/dist/components/breadcrumb/breadcrumb.mjs +5 -5
  27. package/dist/components/breadcrumb/index.js +20 -0
  28. package/dist/components/breadcrumb/index.mjs +5 -5
  29. package/dist/components/button/button.js +20 -0
  30. package/dist/components/button/button.mjs +3 -3
  31. package/dist/components/button/icon-button.js +20 -0
  32. package/dist/components/button/icon-button.mjs +3 -3
  33. package/dist/components/button/index.js +20 -0
  34. package/dist/components/button/index.mjs +4 -4
  35. package/dist/components/chip/chip.js +20 -0
  36. package/dist/components/chip/chip.mjs +3 -3
  37. package/dist/components/chip/index.js +20 -0
  38. package/dist/components/chip/index.mjs +3 -3
  39. package/dist/components/fileUpload/fileUpload.js +20 -0
  40. package/dist/components/fileUpload/fileUpload.mjs +6 -6
  41. package/dist/components/fileUpload/index.js +20 -0
  42. package/dist/components/fileUpload/index.mjs +6 -6
  43. package/dist/components/icon/Icon.d.mts +4 -0
  44. package/dist/components/icon/Icon.d.ts +4 -0
  45. package/dist/components/icon/Icon.js +20 -0
  46. package/dist/components/icon/Icon.mjs +2 -2
  47. package/dist/components/icon/index.js +20 -0
  48. package/dist/components/icon/index.mjs +2 -2
  49. package/dist/components/icon/template.d.mts +1 -0
  50. package/dist/components/icon/template.d.ts +1 -0
  51. package/dist/components/icon/template.js +20 -0
  52. package/dist/components/icon/template.mjs +1 -1
  53. package/dist/components/input/index.js +20 -0
  54. package/dist/components/input/index.mjs +3 -3
  55. package/dist/components/input/input.js +20 -0
  56. package/dist/components/input/input.mjs +3 -3
  57. package/dist/components/list/index.js +20 -0
  58. package/dist/components/list/index.mjs +4 -4
  59. package/dist/components/list/listItem.js +20 -0
  60. package/dist/components/list/listItem.mjs +4 -4
  61. package/dist/components/modal/index.js +20 -0
  62. package/dist/components/modal/index.mjs +5 -5
  63. package/dist/components/modal/modal.js +20 -0
  64. package/dist/components/modal/modal.mjs +5 -5
  65. package/dist/components/pagination/index.js +20 -0
  66. package/dist/components/pagination/index.mjs +4 -4
  67. package/dist/components/pagination/pagination.js +20 -0
  68. package/dist/components/pagination/pagination.mjs +4 -4
  69. package/dist/components/picker/datePicker.d.mts +35 -4
  70. package/dist/components/picker/datePicker.d.ts +35 -4
  71. package/dist/components/picker/datePicker.js +201 -47
  72. package/dist/components/picker/datePicker.mjs +6 -6
  73. package/dist/components/picker/index.d.mts +1 -1
  74. package/dist/components/picker/index.d.ts +1 -1
  75. package/dist/components/picker/index.js +201 -47
  76. package/dist/components/picker/index.mjs +8 -8
  77. package/dist/components/picker/timePicker.js +20 -0
  78. package/dist/components/picker/timePicker.mjs +4 -4
  79. package/dist/components/radio/index.d.mts +1 -1
  80. package/dist/components/radio/index.d.ts +1 -1
  81. package/dist/components/select/index.js +20 -0
  82. package/dist/components/select/index.mjs +3 -3
  83. package/dist/components/select/select.js +20 -0
  84. package/dist/components/select/select.mjs +3 -3
  85. package/dist/components/table/index.js +20 -0
  86. package/dist/components/table/index.mjs +5 -5
  87. package/dist/components/table/table-body.js +20 -0
  88. package/dist/components/table/table-body.mjs +5 -5
  89. package/dist/components/table/table-head.js +20 -0
  90. package/dist/components/table/table-head.mjs +5 -5
  91. package/dist/components/table/table.js +20 -0
  92. package/dist/components/table/table.mjs +5 -5
  93. package/dist/components/timePicker/calendar.js +20 -0
  94. package/dist/components/timePicker/calendar.mjs +2 -2
  95. package/dist/components/toast/index.js +20 -0
  96. package/dist/components/toast/index.mjs +4 -4
  97. package/dist/components/toast/toast.js +20 -0
  98. package/dist/components/toast/toast.mjs +3 -3
  99. package/dist/components/toast/use-toast.js +20 -0
  100. package/dist/components/toast/use-toast.mjs +4 -4
  101. package/dist/components/tree/index.js +20 -0
  102. package/dist/components/tree/index.mjs +3 -3
  103. package/dist/components/tree/tree.js +20 -0
  104. package/dist/components/tree/tree.mjs +3 -3
  105. package/dist/index.d.mts +2 -2
  106. package/dist/index.d.ts +2 -2
  107. package/dist/index.js +201 -47
  108. package/dist/index.mjs +19 -19
  109. package/package.json +1 -1
  110. package/dist/chunk-TCURFCQ2.mjs +0 -315
@@ -1,315 +0,0 @@
1
- "use client";
2
- import {
3
- day_default
4
- } from "./chunk-4DESGO3D.mjs";
5
- import {
6
- formatDateToString,
7
- formatStringToDate
8
- } from "./chunk-FWFEKWWD.mjs";
9
- import {
10
- input_default
11
- } from "./chunk-47MQPUEY.mjs";
12
- import {
13
- text_button_default
14
- } from "./chunk-Q364C3FI.mjs";
15
- import {
16
- button_default
17
- } from "./chunk-UIRHCS6B.mjs";
18
- import {
19
- icon_button_default
20
- } from "./chunk-7RG7CQQM.mjs";
21
- import {
22
- Icon_default
23
- } from "./chunk-Q2YLULZH.mjs";
24
- import {
25
- mapPropsVariants
26
- } from "./chunk-E3G5QXSH.mjs";
27
- import {
28
- tv
29
- } from "./chunk-CDXBML6O.mjs";
30
-
31
- // src/components/picker/datePicker.tsx
32
- import {
33
- forwardRef,
34
- useCallback,
35
- useMemo,
36
- useState,
37
- useRef,
38
- useEffect,
39
- Fragment
40
- } from "react";
41
- import { createPortal } from "react-dom";
42
- import { Fragment as Fragment2, jsx, jsxs } from "react/jsx-runtime";
43
- var DatePicker = forwardRef((originalProps, ref) => {
44
- const [props, variantProps] = mapPropsVariants(originalProps, datePickerStyle.variantKeys);
45
- const {
46
- classNames,
47
- label,
48
- errorMessage,
49
- helperMessage,
50
- value,
51
- onChange,
52
- size = "md",
53
- variant = "solid",
54
- color = "primary",
55
- full = false,
56
- disabled = false,
57
- placeholder = "",
58
- format = "YYYY-MM-DD",
59
- locale = "default",
60
- daysOfWeek = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"],
61
- monthYearFormat = (year, month) => locale === "default" ? `${year}. ${(month + 1).toString().padStart(2, "0")}` : new Date(year, month).toLocaleString(locale, { year: "numeric", month: "2-digit" }),
62
- resetTitle,
63
- todayTitle,
64
- cancelTitle,
65
- confirmTitle,
66
- ...inputProps
67
- } = { ...props, ...variantProps };
68
- const [selectedDate, setSelectedDate] = useState(value || "");
69
- const [tempSelectedDate, setTempSelectedDate] = useState(value || "");
70
- const [isPanelOpen, setIsPanelOpen] = useState(false);
71
- const [currentDate, setCurrentDate] = useState(tempSelectedDate ? new Date(tempSelectedDate) : /* @__PURE__ */ new Date());
72
- const inputWrapperRef = useRef(null);
73
- const calendarWrapperRef = useRef(null);
74
- const [panelPos, setPanelPos] = useState({ top: -9999, left: -9999 });
75
- const blurTimeoutRef = useRef(null);
76
- const formatDate = (dateString) => {
77
- if (!dateString) return "";
78
- const [year, month, day] = dateString.split("-");
79
- switch (format) {
80
- case "MM/DD/YYYY":
81
- return `${month}/${day}/${year}`;
82
- case "DD/MM/YYYY":
83
- return `${day}/${month}/${year}`;
84
- default:
85
- return dateString;
86
- }
87
- };
88
- const displayValue = useMemo(() => formatDate(selectedDate), [selectedDate, format]);
89
- const calculatePosition = useCallback(() => {
90
- if (inputWrapperRef.current) {
91
- const rect = inputWrapperRef.current.getBoundingClientRect();
92
- setPanelPos({ top: rect.bottom + window.scrollY + 6, left: rect.left + window.scrollX });
93
- }
94
- }, []);
95
- const handleFocusInput = () => {
96
- if (disabled) return;
97
- if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
98
- calculatePosition();
99
- setIsPanelOpen(true);
100
- };
101
- const handleClose = () => {
102
- blurTimeoutRef.current = setTimeout(() => setIsPanelOpen(false), 100);
103
- };
104
- const handleInputKeyDown = (e) => {
105
- if (disabled) return;
106
- if (["Enter", " "].includes(e.key)) {
107
- e.preventDefault();
108
- calculatePosition();
109
- setIsPanelOpen((prev) => !prev);
110
- } else if (e.key === "Escape") setIsPanelOpen(false);
111
- };
112
- const handleCalendarIconClick = (e) => {
113
- e.preventDefault();
114
- if (disabled) return;
115
- if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
116
- calculatePosition();
117
- setIsPanelOpen((prev) => !prev);
118
- };
119
- const handleClearDate = (e) => {
120
- e.preventDefault();
121
- setTempSelectedDate("");
122
- };
123
- const handleCalendarMouseDown = (e) => {
124
- e.preventDefault();
125
- if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
126
- };
127
- const getCalendarDates = useCallback(() => {
128
- const year = currentDate.getFullYear();
129
- const month = currentDate.getMonth();
130
- const firstDayOfMonth = new Date(year, month, 1).getDay();
131
- const lastDateOfMonth = new Date(year, month + 1, 0).getDate();
132
- const lastDateOfPrevMonth = new Date(year, month, 0).getDate();
133
- let dates = [];
134
- for (let i = firstDayOfMonth - 1; i >= 0; i--) dates.push({ date: lastDateOfPrevMonth - i, currentMonth: false });
135
- for (let date = 1; date <= lastDateOfMonth; date++) dates.push({ date, currentMonth: true });
136
- const remainingDays = 42 - dates.length;
137
- for (let i = 1; i <= remainingDays; i++) dates.push({ date: i, currentMonth: false });
138
- const weeks = [];
139
- for (let i = 0; i < dates.length; i += 7) weeks.push(dates.slice(i, i + 7));
140
- return weeks;
141
- }, [currentDate]);
142
- const handlePrevMonth = () => setCurrentDate(new Date(currentDate.getFullYear(), currentDate.getMonth() - 1));
143
- const handleNextMonth = () => setCurrentDate(new Date(currentDate.getFullYear(), currentDate.getMonth() + 1));
144
- const handleDateSelect = (date, isCurrentMonth) => {
145
- if (!isCurrentMonth) return;
146
- const selected = new Date(currentDate.getFullYear(), currentDate.getMonth(), date);
147
- const formatted = formatDateToString(selected);
148
- setTempSelectedDate(formatted);
149
- };
150
- const handleSetToday = () => {
151
- const today = /* @__PURE__ */ new Date();
152
- const formatted = formatDateToString(today);
153
- setCurrentDate(today);
154
- setTempSelectedDate(formatted);
155
- };
156
- const handleConfirmDate = () => {
157
- setSelectedDate(tempSelectedDate);
158
- onChange == null ? void 0 : onChange(tempSelectedDate);
159
- setIsPanelOpen(false);
160
- };
161
- const handleResetDate = () => {
162
- setTempSelectedDate(selectedDate);
163
- setIsPanelOpen(false);
164
- };
165
- const getDayProps = useCallback(
166
- (dateObj) => {
167
- const today = /* @__PURE__ */ new Date();
168
- const isToday = today.getDate() === dateObj.date && today.getMonth() === currentDate.getMonth() && today.getFullYear() === currentDate.getFullYear();
169
- const formatted = tempSelectedDate ? formatStringToDate(tempSelectedDate) : null;
170
- const isSelected = (formatted == null ? void 0 : formatted.getDate()) === dateObj.date && formatted.getMonth() === currentDate.getMonth() && formatted.getFullYear() === currentDate.getFullYear();
171
- return dateObj.currentMonth && isSelected ? "selected" : dateObj.currentMonth && isToday ? "today" : !dateObj.currentMonth ? "disabled" : "default";
172
- },
173
- [tempSelectedDate, currentDate]
174
- );
175
- useEffect(() => {
176
- setSelectedDate(value || "");
177
- setTempSelectedDate(value || "");
178
- if (value) setCurrentDate(new Date(value));
179
- }, [value]);
180
- const slots = useMemo(() => datePickerStyle({ ...variantProps }), [variantProps]);
181
- const endContent = /* @__PURE__ */ jsx(Icon_default, { name: "calendar", size, className: "cursor-pointer", fill: true, onClick: handleCalendarIconClick });
182
- return /* @__PURE__ */ jsxs(Fragment2, { children: [
183
- /* @__PURE__ */ jsx("div", { ref: inputWrapperRef, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), onClick: handleFocusInput, children: /* @__PURE__ */ jsx(
184
- input_default,
185
- {
186
- ...inputProps,
187
- ref,
188
- label,
189
- value: displayValue,
190
- placeholder,
191
- errorMessage,
192
- helperMessage,
193
- size,
194
- variant,
195
- color,
196
- full,
197
- disabled,
198
- endContent,
199
- onFocus: handleFocusInput,
200
- onBlur: handleClose,
201
- onKeyDown: handleInputKeyDown,
202
- onChange: () => {
203
- },
204
- classNames: {
205
- base: classNames == null ? void 0 : classNames.inputBase,
206
- inputWrapper: classNames == null ? void 0 : classNames.inputWrapper,
207
- input: classNames == null ? void 0 : classNames.input,
208
- label: classNames == null ? void 0 : classNames.label,
209
- errorMessage: classNames == null ? void 0 : classNames.errorMessage,
210
- helperMessage: classNames == null ? void 0 : classNames.helperMessage
211
- }
212
- }
213
- ) }),
214
- isPanelOpen && createPortal(
215
- /* @__PURE__ */ jsxs(
216
- "div",
217
- {
218
- ref: calendarWrapperRef,
219
- className: slots.calendarWrapper({ class: classNames == null ? void 0 : classNames.calendarWrapper }),
220
- style: { position: "absolute", top: panelPos.top, left: panelPos.left, zIndex: 1e3 },
221
- onMouseDown: handleCalendarMouseDown,
222
- children: [
223
- /* @__PURE__ */ jsxs("div", { className: slots.calendarHead({ class: classNames == null ? void 0 : classNames.calendarHead }), children: [
224
- /* @__PURE__ */ jsx(icon_button_default, { name: "left", variant: "soft", color: "neutral", onClick: handlePrevMonth }),
225
- /* @__PURE__ */ jsx("span", { className: "text-xl font-extrabold", children: monthYearFormat(currentDate.getFullYear(), currentDate.getMonth()) }),
226
- /* @__PURE__ */ jsx(icon_button_default, { name: "right", variant: "soft", color: "neutral", onClick: handleNextMonth })
227
- ] }),
228
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7", children: daysOfWeek.map((day, index) => /* @__PURE__ */ jsx(day_default, { variant: "text", children: day }, `${day}-${index}`)) }),
229
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 gap-[5px] text-center", children: getCalendarDates().map((week, weekIndex) => /* @__PURE__ */ jsx(Fragment, { children: week.map((dateObj, index) => /* @__PURE__ */ jsx(
230
- day_default,
231
- {
232
- variant: getDayProps(dateObj),
233
- onClick: () => handleDateSelect(dateObj.date, dateObj.currentMonth),
234
- children: dateObj.date
235
- },
236
- index
237
- )) }, weekIndex)) }),
238
- /* @__PURE__ */ jsxs("div", { className: "flex justify-between px-[10px]", children: [
239
- /* @__PURE__ */ jsx(
240
- text_button_default,
241
- {
242
- variant: "underline",
243
- color: "neutral",
244
- size: "sm",
245
- classNames: { base: "font-bold" },
246
- onClick: handleClearDate,
247
- children: resetTitle
248
- }
249
- ),
250
- /* @__PURE__ */ jsx(text_button_default, { variant: "underline", size: "sm", classNames: { base: "font-bold" }, onClick: handleSetToday, children: todayTitle })
251
- ] }),
252
- /* @__PURE__ */ jsxs("div", { className: "flex gap-[10px]", children: [
253
- /* @__PURE__ */ jsx(
254
- button_default,
255
- {
256
- variant: "soft",
257
- color: "neutral",
258
- size: "sm",
259
- classNames: { base: "flex flex-1" },
260
- onClick: handleResetDate,
261
- children: cancelTitle
262
- }
263
- ),
264
- /* @__PURE__ */ jsx(button_default, { size: "sm", classNames: { base: "flex flex-1" }, onClick: handleConfirmDate, children: confirmTitle })
265
- ] })
266
- ]
267
- }
268
- ),
269
- document.body
270
- )
271
- ] });
272
- });
273
- DatePicker.displayName = "DatePicker";
274
- var datePicker_default = DatePicker;
275
- var datePickerStyle = tv({
276
- slots: {
277
- base: ["group/datepicker", "flex", "flex-col", "cursor-pointer"],
278
- calendarWrapper: [
279
- "flex",
280
- "flex-col",
281
- "rounded-xl",
282
- "bg-body-background",
283
- "shadow-drop-xl",
284
- "gap-[5px]",
285
- "overflow-auto",
286
- "w-[300px]",
287
- "select-none",
288
- "p-[10px]"
289
- ],
290
- calendarHead: ["calendar-header", "flex", "items-center", "justify-between", "h-[40px]"],
291
- inputBase: [],
292
- inputWrapper: [],
293
- input: [],
294
- label: [],
295
- errorMessage: [],
296
- helperMessage: []
297
- },
298
- variants: {
299
- color: { primary: {}, secondary: {} },
300
- size: { sm: {}, md: {}, lg: {}, xl: {} },
301
- full: { true: { base: ["w-full"] } },
302
- disabled: { true: { base: ["pointer-events-none"] } }
303
- },
304
- defaultVariants: {
305
- color: "primary",
306
- size: "md",
307
- full: false,
308
- disabled: false
309
- }
310
- });
311
-
312
- export {
313
- datePicker_default,
314
- datePickerStyle
315
- };