@itilite/lumina-ui 1.1.5 → 1.1.6
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/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
- package/dist/atom/RangePicker/RangePicker.js +265 -136
- package/dist/atom/RangePicker/RangePicker.mjs +4 -2
- package/dist/atom/Select/Select.d.mts +6 -3
- package/dist/atom/Select/Select.d.ts +6 -3
- package/dist/atom/Select/Select.js +213 -91
- package/dist/atom/Select/Select.mjs +3 -1
- package/dist/chunk-22VF7AVT.mjs +618 -0
- package/dist/chunk-2BNAAOBU.mjs +670 -0
- package/dist/chunk-2IMRLK6M.mjs +44 -0
- package/dist/chunk-2JIINZEK.mjs +618 -0
- package/dist/chunk-2LBFKQDZ.mjs +660 -0
- package/dist/chunk-2ZJBF5C4.mjs +618 -0
- package/dist/chunk-3IMCN4K3.mjs +670 -0
- package/dist/chunk-3KBQQCET.mjs +674 -0
- package/dist/chunk-3KUHXNFH.mjs +678 -0
- package/dist/chunk-3PPNOIXN.mjs +618 -0
- package/dist/chunk-3XFY3TXJ.mjs +611 -0
- package/dist/chunk-3XW7HS5W.mjs +618 -0
- package/dist/chunk-447HZYZ4.mjs +612 -0
- package/dist/chunk-46F3B4U6.mjs +618 -0
- package/dist/chunk-4K5RZHL4.mjs +618 -0
- package/dist/chunk-4QHFP4YD.mjs +666 -0
- package/dist/chunk-4TFX4DHY.mjs +702 -0
- package/dist/chunk-4TWO6JES.mjs +666 -0
- package/dist/chunk-4UQVJ3ZU.mjs +666 -0
- package/dist/chunk-5247J65D.mjs +670 -0
- package/dist/chunk-66H5WSEJ.mjs +618 -0
- package/dist/chunk-6OGEXG5U.mjs +618 -0
- package/dist/chunk-6ROQXYVN.mjs +672 -0
- package/dist/chunk-6WNI6X5Q.mjs +618 -0
- package/dist/chunk-72PPCN6D.mjs +675 -0
- package/dist/chunk-74EGXFNN.mjs +618 -0
- package/dist/chunk-77NCDGJA.mjs +707 -0
- package/dist/chunk-7NGBIPZT.mjs +618 -0
- package/dist/chunk-7NM4FNMQ.mjs +666 -0
- package/dist/chunk-7YBBSVUA.mjs +672 -0
- package/dist/chunk-7Z52UP7P.mjs +618 -0
- package/dist/chunk-B3LDL3KD.mjs +670 -0
- package/dist/chunk-B65LGQ47.mjs +666 -0
- package/dist/chunk-B6MTRO54.mjs +618 -0
- package/dist/chunk-BJBP5XYB.mjs +618 -0
- package/dist/chunk-BLLSWPCC.mjs +618 -0
- package/dist/chunk-BOYB7REJ.mjs +670 -0
- package/dist/chunk-BP2D64XI.mjs +618 -0
- package/dist/chunk-BRT5IPGQ.mjs +618 -0
- package/dist/chunk-C2J3VBFZ.mjs +670 -0
- package/dist/chunk-CDOR7GQP.mjs +618 -0
- package/dist/chunk-CI2RMA4V.mjs +612 -0
- package/dist/chunk-CNUIZOQJ.mjs +669 -0
- package/dist/chunk-CPBXPEST.mjs +672 -0
- package/dist/chunk-CVOLXLMU.mjs +618 -0
- package/dist/chunk-CWUCNC36.mjs +666 -0
- package/dist/chunk-CZBGN6GS.mjs +612 -0
- package/dist/chunk-D3APB62N.mjs +618 -0
- package/dist/chunk-D7TWXVL2.mjs +674 -0
- package/dist/chunk-DAZ53AD7.mjs +671 -0
- package/dist/chunk-DBY5U6IU.mjs +618 -0
- package/dist/chunk-DXTVU4M5.mjs +618 -0
- package/dist/chunk-DZBTD6QK.mjs +666 -0
- package/dist/chunk-EAK2IMM4.mjs +37 -0
- package/dist/chunk-EQT2Q2LW.mjs +610 -0
- package/dist/chunk-EWMCELQV.mjs +670 -0
- package/dist/chunk-EYKWBEHX.mjs +612 -0
- package/dist/chunk-FHLCFUP6.mjs +666 -0
- package/dist/chunk-FMPFLQZV.mjs +670 -0
- package/dist/chunk-G25YXZ74.mjs +618 -0
- package/dist/chunk-GSG6ZC3R.mjs +37 -0
- package/dist/chunk-H3MQUFTJ.mjs +618 -0
- package/dist/chunk-HKZRLVBX.mjs +618 -0
- package/dist/chunk-HQALJGVT.mjs +618 -0
- package/dist/chunk-I5GBZ3UX.mjs +676 -0
- package/dist/chunk-IV4V55OA.mjs +672 -0
- package/dist/chunk-J2RAFKAD.mjs +618 -0
- package/dist/chunk-JL34UFI7.mjs +670 -0
- package/dist/chunk-JTKSGGQM.mjs +611 -0
- package/dist/chunk-JZC2RRDH.mjs +618 -0
- package/dist/chunk-K3Y7VKT6.mjs +670 -0
- package/dist/chunk-KEVXNUFG.mjs +672 -0
- package/dist/chunk-KRYAP7NG.mjs +670 -0
- package/dist/chunk-KU655POK.mjs +657 -0
- package/dist/chunk-L55SLVNX.mjs +618 -0
- package/dist/chunk-LCRYOZEV.mjs +618 -0
- package/dist/chunk-LH7PP6V2.mjs +618 -0
- package/dist/chunk-LJMMYKE2.mjs +618 -0
- package/dist/chunk-LK5TROLL.mjs +666 -0
- package/dist/chunk-MDR7DAKM.mjs +618 -0
- package/dist/chunk-MJZLCWZ5.mjs +666 -0
- package/dist/chunk-MKZTEJLS.mjs +612 -0
- package/dist/chunk-MQCOQHHP.mjs +618 -0
- package/dist/chunk-MSM4KUBM.mjs +618 -0
- package/dist/chunk-MTIUER63.mjs +676 -0
- package/dist/chunk-NBLV3UX5.mjs +618 -0
- package/dist/chunk-NLADSOJS.mjs +618 -0
- package/dist/chunk-NPMTWR3Y.mjs +618 -0
- package/dist/chunk-NQ6GKEO7.mjs +670 -0
- package/dist/chunk-NZSFYNUK.mjs +618 -0
- package/dist/chunk-OCNF4O5U.mjs +612 -0
- package/dist/chunk-OCW5QSWA.mjs +618 -0
- package/dist/chunk-OQF7JZFS.mjs +670 -0
- package/dist/chunk-OT675HGC.mjs +670 -0
- package/dist/chunk-P47TCYKN.mjs +618 -0
- package/dist/chunk-P7TOGXPI.mjs +672 -0
- package/dist/chunk-PCAXXEEQ.mjs +618 -0
- package/dist/chunk-PDHMG7OZ.mjs +672 -0
- package/dist/chunk-PFGVOZGM.mjs +618 -0
- package/dist/chunk-PQSSDK3E.mjs +618 -0
- package/dist/chunk-PST7W3NG.mjs +618 -0
- package/dist/chunk-QGPBZ2YV.mjs +664 -0
- package/dist/chunk-QKTMWS4J.mjs +43 -0
- package/dist/chunk-QOPCJITC.mjs +618 -0
- package/dist/chunk-QSE52CRC.mjs +618 -0
- package/dist/chunk-QTP2QMPL.mjs +669 -0
- package/dist/chunk-R47XX6IW.mjs +611 -0
- package/dist/chunk-RL6AEU6E.mjs +612 -0
- package/dist/chunk-T7T4HCHH.mjs +618 -0
- package/dist/chunk-TED2WCDG.mjs +618 -0
- package/dist/chunk-TJLIMMMB.mjs +612 -0
- package/dist/chunk-TNOJDLON.mjs +611 -0
- package/dist/chunk-TOR67IHH.mjs +672 -0
- package/dist/chunk-TOV7NVKM.mjs +618 -0
- package/dist/chunk-TSYMIRRN.mjs +618 -0
- package/dist/chunk-TTSRI4V7.mjs +708 -0
- package/dist/chunk-UBS3DTE5.mjs +672 -0
- package/dist/chunk-UBW6RYVF.mjs +670 -0
- package/dist/chunk-UJNUFKR5.mjs +43 -0
- package/dist/chunk-VAZZJOSJ.mjs +618 -0
- package/dist/chunk-VCWXOX2B.mjs +618 -0
- package/dist/chunk-VHCLEOHZ.mjs +618 -0
- package/dist/chunk-VTZSCGME.mjs +666 -0
- package/dist/chunk-W33KZ2XR.mjs +618 -0
- package/dist/chunk-WOVMTYDV.mjs +612 -0
- package/dist/chunk-WR3USBWK.mjs +672 -0
- package/dist/chunk-WXYQARQ6.mjs +618 -0
- package/dist/chunk-Y6XKW4NG.mjs +618 -0
- package/dist/chunk-YQSNJFZE.mjs +618 -0
- package/dist/chunk-Z6VG6AG7.mjs +678 -0
- package/dist/chunk-ZAPKQ4C3.mjs +678 -0
- package/dist/chunk-ZCWDQNHL.mjs +618 -0
- package/dist/chunk-ZF5JBNCI.mjs +618 -0
- package/dist/chunk-ZN7BHWOF.mjs +672 -0
- package/dist/chunk-ZUQJKA5J.mjs +666 -0
- package/dist/chunk-ZWHWIGYQ.mjs +618 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +227 -136
- package/dist/index.mjs +18 -14
- package/dist/styles.css +128 -87
- package/package.json +3 -2
|
@@ -63,7 +63,7 @@ __export(RangePicker_exports, {
|
|
|
63
63
|
default: () => RangePicker_default
|
|
64
64
|
});
|
|
65
65
|
module.exports = __toCommonJS(RangePicker_exports);
|
|
66
|
-
var
|
|
66
|
+
var import_react3 = require("react");
|
|
67
67
|
var import_clsx2 = __toESM(require("clsx"));
|
|
68
68
|
var import_dayjs = __toESM(require("dayjs"));
|
|
69
69
|
|
|
@@ -115,7 +115,7 @@ var Chevron = React.memo(
|
|
|
115
115
|
var RangePicker_module_default = { "range_start": "RangePicker-module__range_start___hGQp-", "range_end": "RangePicker-module__range_end___JJNib" };
|
|
116
116
|
|
|
117
117
|
// src/atom/Select/Select.tsx
|
|
118
|
-
var
|
|
118
|
+
var import_react2 = require("react");
|
|
119
119
|
var import_clsx = __toESM(require("clsx"));
|
|
120
120
|
|
|
121
121
|
// src/icons/Chevron.tsx
|
|
@@ -160,16 +160,13 @@ var CrossV2 = React3.memo(
|
|
|
160
160
|
width: size,
|
|
161
161
|
height: size,
|
|
162
162
|
fill: "none",
|
|
163
|
-
viewBox: "0 0
|
|
164
|
-
className
|
|
163
|
+
viewBox: "0 0 20 20"
|
|
165
164
|
}, rest), {
|
|
166
165
|
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
167
166
|
"path",
|
|
168
167
|
{
|
|
169
168
|
fill: color,
|
|
170
|
-
|
|
171
|
-
d: "M4.293 4.293a1 1 0 011.414 0L8 6.586l2.293-2.293a1 1 0 111.414 1.414L9.414 8l2.293 2.293a1 1 0 01-1.414 1.414L8 9.414l-2.293 2.293a1 1 0 01-1.414-1.414L6.586 8 4.293 5.707a1 1 0 010-1.414z",
|
|
172
|
-
clipRule: "evenodd"
|
|
169
|
+
d: "M4.411 4.41a.833.833 0 0 1 1.179 0L10 8.822l4.411-4.41a.833.833 0 1 1 1.179 1.178L11.179 10l4.41 4.41a.833.833 0 0 1-1.178 1.18l-4.41-4.411-4.411 4.41a.833.833 0 1 1-1.179-1.178L8.821 10l-4.41-4.41a.833.833 0 0 1 0-1.18"
|
|
173
170
|
}
|
|
174
171
|
)
|
|
175
172
|
})
|
|
@@ -178,8 +175,106 @@ var CrossV2 = React3.memo(
|
|
|
178
175
|
);
|
|
179
176
|
CrossV2.displayName = "CrossV2";
|
|
180
177
|
|
|
181
|
-
// src/
|
|
178
|
+
// src/icons/Lock.tsx
|
|
179
|
+
var import_react = __toESM(require("react"));
|
|
182
180
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
181
|
+
var Lock = import_react.default.memo((_a) => {
|
|
182
|
+
var _b = _a, { size = 16, color = "#000" } = _b, rest = __objRest(_b, ["size", "color"]);
|
|
183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
184
|
+
"svg",
|
|
185
|
+
__spreadProps(__spreadValues({
|
|
186
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
187
|
+
width: size,
|
|
188
|
+
height: size,
|
|
189
|
+
fill: "none",
|
|
190
|
+
viewBox: "0 0 16 16"
|
|
191
|
+
}, rest), {
|
|
192
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
193
|
+
"path",
|
|
194
|
+
{
|
|
195
|
+
fill: color,
|
|
196
|
+
d: "M9 9a1 1 0 11-2 0 1 1 0 012 0zM5 4h-.5A2.5 2.5 0 002 6.5v5A2.5 2.5 0 004.5 14h7a2.5 2.5 0 002.5-2.5v-5A2.5 2.5 0 0011.5 4H11v-.5a3 3 0 00-6 0V4zm1-.5a2 2 0 114 0V4H6v-.5zM11.5 5A1.5 1.5 0 0113 6.5v5a1.5 1.5 0 01-1.5 1.5h-7A1.5 1.5 0 013 11.5v-5A1.5 1.5 0 014.5 5h7z"
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
})
|
|
200
|
+
);
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
// src/atom/Tooltip/Tooltip.tsx
|
|
204
|
+
var import_antd = require("antd");
|
|
205
|
+
|
|
206
|
+
// src/atom/Tooltip/Tooltip.module.scss
|
|
207
|
+
var Tooltip_module_default = { "light": "Tooltip-module__light___H5oCc" };
|
|
208
|
+
|
|
209
|
+
// src/atom/Tooltip/Tooltip.tsx
|
|
210
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
211
|
+
var Tooltip = (_a) => {
|
|
212
|
+
var _b = _a, {
|
|
213
|
+
children,
|
|
214
|
+
title = "",
|
|
215
|
+
placement = "top",
|
|
216
|
+
color = "#1F2937",
|
|
217
|
+
className,
|
|
218
|
+
mode = "dark"
|
|
219
|
+
} = _b, rest = __objRest(_b, [
|
|
220
|
+
"children",
|
|
221
|
+
"title",
|
|
222
|
+
"placement",
|
|
223
|
+
"color",
|
|
224
|
+
"className",
|
|
225
|
+
"mode"
|
|
226
|
+
]);
|
|
227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
228
|
+
import_antd.Tooltip,
|
|
229
|
+
__spreadProps(__spreadValues({
|
|
230
|
+
className,
|
|
231
|
+
color,
|
|
232
|
+
title,
|
|
233
|
+
placement,
|
|
234
|
+
overlayClassName: mode === "light" ? Tooltip_module_default.light : ""
|
|
235
|
+
}, rest), {
|
|
236
|
+
children
|
|
237
|
+
})
|
|
238
|
+
);
|
|
239
|
+
};
|
|
240
|
+
Tooltip.displayName = "Tooltip";
|
|
241
|
+
var Tooltip_default = Tooltip;
|
|
242
|
+
|
|
243
|
+
// src/atom/LoadingSpinner/LoadingSpinner.tsx
|
|
244
|
+
var import_icons = require("@ant-design/icons");
|
|
245
|
+
var import_antd2 = require("antd");
|
|
246
|
+
|
|
247
|
+
// src/atom/LoadingSpinner/LoadingSpinner.module.scss
|
|
248
|
+
var LoadingSpinner_module_default = { "spinnerContainer": "LoadingSpinner-module__spinnerContainer___DiPLf" };
|
|
249
|
+
|
|
250
|
+
// src/atom/LoadingSpinner/LoadingSpinner.tsx
|
|
251
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
252
|
+
var sizeMapping = {
|
|
253
|
+
xs: 16,
|
|
254
|
+
small: 24,
|
|
255
|
+
medium: 36,
|
|
256
|
+
large: 48
|
|
257
|
+
};
|
|
258
|
+
var LoadingSpinner = (_a) => {
|
|
259
|
+
var _b = _a, { size = "small", color = "#ec5d25" } = _b, rest = __objRest(_b, ["size", "color"]);
|
|
260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", __spreadProps(__spreadValues({ className: LoadingSpinner_module_default.spinnerContainer }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
261
|
+
import_antd2.Spin,
|
|
262
|
+
{
|
|
263
|
+
indicator: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
264
|
+
import_icons.LoadingOutlined,
|
|
265
|
+
{
|
|
266
|
+
style: { fontSize: sizeMapping[size], color },
|
|
267
|
+
spin: true
|
|
268
|
+
}
|
|
269
|
+
)
|
|
270
|
+
}
|
|
271
|
+
) }));
|
|
272
|
+
};
|
|
273
|
+
LoadingSpinner.displayName = "LoadingSpinner";
|
|
274
|
+
var LoadingSpinner_default = LoadingSpinner;
|
|
275
|
+
|
|
276
|
+
// src/atom/Select/Select.tsx
|
|
277
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
183
278
|
var Select = ({
|
|
184
279
|
label,
|
|
185
280
|
mandatory = false,
|
|
@@ -190,6 +285,10 @@ var Select = ({
|
|
|
190
285
|
value: _valueProp,
|
|
191
286
|
// Rename to avoid potential conflicts with native value attribute
|
|
192
287
|
onChange,
|
|
288
|
+
onSearch,
|
|
289
|
+
isLoading = false,
|
|
290
|
+
disabled = false,
|
|
291
|
+
disabledTooltip = "",
|
|
193
292
|
className = "",
|
|
194
293
|
dropdownClassName = "",
|
|
195
294
|
optionClassName = "",
|
|
@@ -198,7 +297,6 @@ var Select = ({
|
|
|
198
297
|
// New prop to show displayValue instead of label
|
|
199
298
|
allowClear = true,
|
|
200
299
|
enableSearch = true,
|
|
201
|
-
// New prop to control search functionality, default true
|
|
202
300
|
doubleCharSearch = false,
|
|
203
301
|
id,
|
|
204
302
|
name,
|
|
@@ -218,45 +316,45 @@ var Select = ({
|
|
|
218
316
|
// Custom height
|
|
219
317
|
experience = "business"
|
|
220
318
|
}) => {
|
|
221
|
-
const normalizeValue = (0,
|
|
319
|
+
const normalizeValue = (0, import_react2.useCallback)(
|
|
222
320
|
(val) => {
|
|
223
321
|
if (val === null || val === void 0) return "";
|
|
224
322
|
return String(val);
|
|
225
323
|
},
|
|
226
324
|
[]
|
|
227
325
|
);
|
|
228
|
-
const validatedOptions = (0,
|
|
326
|
+
const validatedOptions = (0, import_react2.useMemo)(() => {
|
|
229
327
|
if (!Array.isArray(options)) return [];
|
|
230
328
|
return options.filter(
|
|
231
329
|
(opt) => opt && typeof opt === "object" && opt.value !== void 0 && opt.value !== null && opt.label !== void 0
|
|
232
330
|
);
|
|
233
331
|
}, [options]);
|
|
234
|
-
const [isOpen, setIsOpen] = (0,
|
|
235
|
-
const [isFocused, setIsFocused] = (0,
|
|
236
|
-
const [searchTerm, setSearchTerm] = (0,
|
|
237
|
-
const [isHovering, setIsHovering] = (0,
|
|
238
|
-
const [highlightedIndex, setHighlightedIndex] = (0,
|
|
239
|
-
const [selectedValue, setSelectedValue] = (0,
|
|
332
|
+
const [isOpen, setIsOpen] = (0, import_react2.useState)(false);
|
|
333
|
+
const [isFocused, setIsFocused] = (0, import_react2.useState)(false);
|
|
334
|
+
const [searchTerm, setSearchTerm] = (0, import_react2.useState)("");
|
|
335
|
+
const [isHovering, setIsHovering] = (0, import_react2.useState)(false);
|
|
336
|
+
const [highlightedIndex, setHighlightedIndex] = (0, import_react2.useState)(-1);
|
|
337
|
+
const [selectedValue, setSelectedValue] = (0, import_react2.useState)(() => {
|
|
240
338
|
const initialValue = valueSelected;
|
|
241
339
|
if (initialValue === null || initialValue === void 0) return "";
|
|
242
340
|
return String(initialValue);
|
|
243
341
|
});
|
|
244
|
-
const inputRef = (0,
|
|
245
|
-
const inputValueRef = (0,
|
|
246
|
-
const dropdownRef = (0,
|
|
247
|
-
const optionRefs = (0,
|
|
248
|
-
const optionListRef = (0,
|
|
249
|
-
const blurTimeoutRef = (0,
|
|
250
|
-
const hoverTimeoutRef = (0,
|
|
342
|
+
const inputRef = (0, import_react2.useRef)(null);
|
|
343
|
+
const inputValueRef = (0, import_react2.useRef)("");
|
|
344
|
+
const dropdownRef = (0, import_react2.useRef)(null);
|
|
345
|
+
const optionRefs = (0, import_react2.useRef)([]);
|
|
346
|
+
const optionListRef = (0, import_react2.useRef)(null);
|
|
347
|
+
const blurTimeoutRef = (0, import_react2.useRef)(null);
|
|
348
|
+
const hoverTimeoutRef = (0, import_react2.useRef)(null);
|
|
251
349
|
const isActive = isFocused || Boolean(selectedValue) || Boolean(valueSelected) || Boolean(searchTerm);
|
|
252
|
-
const sizeClasses = (0,
|
|
350
|
+
const sizeClasses = (0, import_react2.useMemo)(() => {
|
|
253
351
|
switch (size) {
|
|
254
352
|
case "small":
|
|
255
353
|
return {
|
|
256
|
-
input: "tw-h-
|
|
257
|
-
padding:
|
|
258
|
-
labelActive: "tw-top-0 tw-typography-
|
|
259
|
-
labelInactive: "tw-top-
|
|
354
|
+
input: "tw-h-6 tw-px-3 tw-typography-caption1Bold !tw-rounded-lg",
|
|
355
|
+
padding: "tw-px-2 tw-py-1",
|
|
356
|
+
labelActive: "tw-top-0.5 tw-typography-caption2",
|
|
357
|
+
labelInactive: "tw-top-1.5 tw-typography-caption3"
|
|
260
358
|
};
|
|
261
359
|
case "medium":
|
|
262
360
|
return {
|
|
@@ -281,7 +379,7 @@ var Select = ({
|
|
|
281
379
|
};
|
|
282
380
|
}
|
|
283
381
|
}, [size, label, height]);
|
|
284
|
-
const variantClasses = (0,
|
|
382
|
+
const variantClasses = (0, import_react2.useMemo)(() => {
|
|
285
383
|
switch (variant) {
|
|
286
384
|
case "filled":
|
|
287
385
|
return "tw-bg-gray-50 tw-border-transparent";
|
|
@@ -291,7 +389,7 @@ var Select = ({
|
|
|
291
389
|
return " tw-border";
|
|
292
390
|
}
|
|
293
391
|
}, [variant]);
|
|
294
|
-
const handleBlur = (0,
|
|
392
|
+
const handleBlur = (0, import_react2.useCallback)(() => {
|
|
295
393
|
blurTimeoutRef.current = setTimeout(() => {
|
|
296
394
|
setIsOpen(false);
|
|
297
395
|
setSearchTerm("");
|
|
@@ -300,24 +398,28 @@ var Select = ({
|
|
|
300
398
|
setIsFocused(false);
|
|
301
399
|
}, 150);
|
|
302
400
|
}, []);
|
|
303
|
-
const handleSearchChange = (0,
|
|
401
|
+
const handleSearchChange = (0, import_react2.useCallback)(
|
|
304
402
|
(e) => {
|
|
305
403
|
var _a;
|
|
404
|
+
const searchValue = doubleCharSearch ? e.target.value.slice(0, 2) || "" : e.target.value;
|
|
306
405
|
if (doubleCharSearch) {
|
|
307
|
-
setSearchTerm(
|
|
406
|
+
setSearchTerm(searchValue);
|
|
308
407
|
} else {
|
|
309
|
-
setSearchTerm(
|
|
408
|
+
setSearchTerm(searchValue);
|
|
310
409
|
}
|
|
311
410
|
setIsOpen(true);
|
|
312
411
|
setHighlightedIndex(-1);
|
|
412
|
+
if (onSearch && typeof onSearch === "function") {
|
|
413
|
+
onSearch(searchValue);
|
|
414
|
+
}
|
|
313
415
|
(_a = optionListRef == null ? void 0 : optionListRef.current) == null ? void 0 : _a.scrollTo({
|
|
314
416
|
top: 0,
|
|
315
417
|
behavior: "smooth"
|
|
316
418
|
});
|
|
317
419
|
},
|
|
318
|
-
[doubleCharSearch]
|
|
420
|
+
[doubleCharSearch, onSearch]
|
|
319
421
|
);
|
|
320
|
-
const handleOptionSelect = (0,
|
|
422
|
+
const handleOptionSelect = (0, import_react2.useCallback)(
|
|
321
423
|
(option) => {
|
|
322
424
|
var _a;
|
|
323
425
|
if (blurTimeoutRef.current) {
|
|
@@ -338,7 +440,7 @@ var Select = ({
|
|
|
338
440
|
},
|
|
339
441
|
[normalizeValue, onChange, enableSearch]
|
|
340
442
|
);
|
|
341
|
-
const handleClear = (0,
|
|
443
|
+
const handleClear = (0, import_react2.useCallback)(
|
|
342
444
|
(e) => {
|
|
343
445
|
var _a;
|
|
344
446
|
inputValueRef.current = "";
|
|
@@ -358,21 +460,22 @@ var Select = ({
|
|
|
358
460
|
},
|
|
359
461
|
[onChange, enableSearch]
|
|
360
462
|
);
|
|
361
|
-
(0,
|
|
463
|
+
(0, import_react2.useEffect)(() => {
|
|
362
464
|
if (!validatedOptions.length) {
|
|
363
465
|
setSelectedValue("");
|
|
364
466
|
setSearchTerm("");
|
|
365
467
|
inputValueRef.current = "";
|
|
366
468
|
}
|
|
367
469
|
}, [validatedOptions.length]);
|
|
368
|
-
(0,
|
|
369
|
-
const
|
|
470
|
+
(0, import_react2.useEffect)(() => {
|
|
471
|
+
const externalValue = _valueProp !== void 0 ? _valueProp : valueSelected;
|
|
472
|
+
const newValue = normalizeValue(externalValue);
|
|
370
473
|
setSelectedValue((prevValue) => {
|
|
371
474
|
const prevNormalized = normalizeValue(prevValue);
|
|
372
475
|
return prevNormalized !== newValue ? newValue : prevValue;
|
|
373
476
|
});
|
|
374
|
-
}, [valueSelected, normalizeValue]);
|
|
375
|
-
(0,
|
|
477
|
+
}, [valueSelected, _valueProp, normalizeValue]);
|
|
478
|
+
(0, import_react2.useEffect)(() => {
|
|
376
479
|
const handleClickOutside = (event) => {
|
|
377
480
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
378
481
|
if (blurTimeoutRef.current) {
|
|
@@ -396,7 +499,7 @@ var Select = ({
|
|
|
396
499
|
}
|
|
397
500
|
};
|
|
398
501
|
}, []);
|
|
399
|
-
const getDisplayValue = (0,
|
|
502
|
+
const getDisplayValue = (0, import_react2.useCallback)(() => {
|
|
400
503
|
if (selectedValue && (validatedOptions == null ? void 0 : validatedOptions.length) > 0) {
|
|
401
504
|
const selected = validatedOptions.find(
|
|
402
505
|
(opt) => normalizeValue(opt.value) === normalizeValue(selectedValue)
|
|
@@ -410,7 +513,7 @@ var Select = ({
|
|
|
410
513
|
}
|
|
411
514
|
return "";
|
|
412
515
|
}, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
|
|
413
|
-
const filteredOptions = (0,
|
|
516
|
+
const filteredOptions = (0, import_react2.useMemo)(() => {
|
|
414
517
|
var _a;
|
|
415
518
|
if (!enableSearch) {
|
|
416
519
|
return validatedOptions;
|
|
@@ -422,7 +525,7 @@ var Select = ({
|
|
|
422
525
|
});
|
|
423
526
|
return updatedFilteredOptions;
|
|
424
527
|
}, [validatedOptions, searchTerm, enableSearch]);
|
|
425
|
-
const getSelectedOptionIndex = (0,
|
|
528
|
+
const getSelectedOptionIndex = (0, import_react2.useCallback)(() => {
|
|
426
529
|
if (!selectedValue || !filteredOptions.length) {
|
|
427
530
|
return 0;
|
|
428
531
|
}
|
|
@@ -431,7 +534,7 @@ var Select = ({
|
|
|
431
534
|
);
|
|
432
535
|
return index >= 0 ? index : 0;
|
|
433
536
|
}, [selectedValue, filteredOptions, normalizeValue]);
|
|
434
|
-
const handleInputInteraction = (0,
|
|
537
|
+
const handleInputInteraction = (0, import_react2.useCallback)(
|
|
435
538
|
(_e) => {
|
|
436
539
|
var _a;
|
|
437
540
|
if (blurTimeoutRef.current) {
|
|
@@ -455,7 +558,7 @@ var Select = ({
|
|
|
455
558
|
},
|
|
456
559
|
[isOpen, getSelectedOptionIndex]
|
|
457
560
|
);
|
|
458
|
-
const handleKeyDown = (0,
|
|
561
|
+
const handleKeyDown = (0, import_react2.useCallback)(
|
|
459
562
|
(e) => {
|
|
460
563
|
var _a;
|
|
461
564
|
if (!isOpen) return;
|
|
@@ -494,7 +597,7 @@ var Select = ({
|
|
|
494
597
|
},
|
|
495
598
|
[isOpen, highlightedIndex, filteredOptions, handleOptionSelect]
|
|
496
599
|
);
|
|
497
|
-
(0,
|
|
600
|
+
(0, import_react2.useEffect)(() => {
|
|
498
601
|
if (highlightedIndex >= 0 && optionRefs.current[highlightedIndex]) {
|
|
499
602
|
optionRefs.current[highlightedIndex].scrollIntoView({
|
|
500
603
|
block: "nearest",
|
|
@@ -502,10 +605,10 @@ var Select = ({
|
|
|
502
605
|
});
|
|
503
606
|
}
|
|
504
607
|
}, [highlightedIndex]);
|
|
505
|
-
(0,
|
|
608
|
+
(0, import_react2.useEffect)(() => {
|
|
506
609
|
optionRefs.current = [];
|
|
507
610
|
}, [filteredOptions]);
|
|
508
|
-
const handleMouseEnter = (0,
|
|
611
|
+
const handleMouseEnter = (0, import_react2.useCallback)(() => {
|
|
509
612
|
if (hoverTimeoutRef.current) {
|
|
510
613
|
clearTimeout(hoverTimeoutRef.current);
|
|
511
614
|
}
|
|
@@ -513,12 +616,12 @@ var Select = ({
|
|
|
513
616
|
setIsHovering(true);
|
|
514
617
|
}
|
|
515
618
|
}, [isHovering]);
|
|
516
|
-
const handleMouseLeave = (0,
|
|
619
|
+
const handleMouseLeave = (0, import_react2.useCallback)(() => {
|
|
517
620
|
hoverTimeoutRef.current = setTimeout(() => {
|
|
518
621
|
setIsHovering(false);
|
|
519
622
|
}, 50);
|
|
520
623
|
}, []);
|
|
521
|
-
const handleChevronClick = (0,
|
|
624
|
+
const handleChevronClick = (0, import_react2.useCallback)(
|
|
522
625
|
(e) => {
|
|
523
626
|
var _a;
|
|
524
627
|
e.preventDefault();
|
|
@@ -541,17 +644,23 @@ var Select = ({
|
|
|
541
644
|
},
|
|
542
645
|
[isOpen, handleInputInteraction]
|
|
543
646
|
);
|
|
544
|
-
|
|
647
|
+
const InputWrapper = ({ children }) => {
|
|
648
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tooltip_default, { title: disabledTooltip, children });
|
|
649
|
+
return children;
|
|
650
|
+
};
|
|
651
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(InputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
545
652
|
"div",
|
|
546
653
|
{
|
|
547
654
|
style,
|
|
548
|
-
className: (0, import_clsx.default)("tw-relative tw-w-full", wrapperClassName
|
|
655
|
+
className: (0, import_clsx.default)("tw-relative tw-w-full", wrapperClassName, {
|
|
656
|
+
"tw-cursor-not-allowed": disabled
|
|
657
|
+
}),
|
|
549
658
|
ref: dropdownRef,
|
|
550
659
|
onMouseEnter: handleMouseEnter,
|
|
551
660
|
onMouseLeave: handleMouseLeave,
|
|
552
661
|
children: [
|
|
553
|
-
/* @__PURE__ */ (0,
|
|
554
|
-
/* @__PURE__ */ (0,
|
|
662
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "tw-relative", children: [
|
|
663
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
555
664
|
"input",
|
|
556
665
|
{
|
|
557
666
|
ref: inputRef,
|
|
@@ -574,7 +683,8 @@ var Select = ({
|
|
|
574
683
|
variantClasses,
|
|
575
684
|
{
|
|
576
685
|
"tw-bg-white": valueSelected || getDisplayValue() || isFocused,
|
|
577
|
-
"tw-bg-color-gray-5": !valueSelected || !getDisplayValue()
|
|
686
|
+
"tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
|
|
687
|
+
"!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
|
|
578
688
|
},
|
|
579
689
|
// Conditional padding based on label presence
|
|
580
690
|
!label && "tw-flex tw-items-center",
|
|
@@ -594,7 +704,7 @@ var Select = ({
|
|
|
594
704
|
readOnly: !isFocused || !enableSearch
|
|
595
705
|
}
|
|
596
706
|
),
|
|
597
|
-
label && /* @__PURE__ */ (0,
|
|
707
|
+
label && size !== "small" && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
598
708
|
"label",
|
|
599
709
|
{
|
|
600
710
|
htmlFor: id,
|
|
@@ -606,47 +716,59 @@ var Select = ({
|
|
|
606
716
|
),
|
|
607
717
|
children: [
|
|
608
718
|
label,
|
|
609
|
-
mandatory && /* @__PURE__ */ (0,
|
|
719
|
+
mandatory && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "tw-text-color-text-critical tw-ml-1", children: "*" })
|
|
610
720
|
]
|
|
611
721
|
}
|
|
612
722
|
),
|
|
613
|
-
/* @__PURE__ */ (0,
|
|
723
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
614
724
|
"div",
|
|
615
725
|
{
|
|
616
726
|
className: (0, import_clsx.default)(
|
|
617
|
-
"tw-absolute tw-right-3 tw
|
|
727
|
+
"tw-absolute tw-right-3 tw--translate-y-1/2 tw-flex tw-items-center",
|
|
618
728
|
{
|
|
619
|
-
"!tw-right-[5px]": doubleCharSearch && !(isHovering && selectedValue && allowClear)
|
|
729
|
+
"!tw-right-[5px]": doubleCharSearch && !(isHovering && selectedValue && allowClear),
|
|
730
|
+
"tw-top-3.5 !tw-right-2": size === "small",
|
|
731
|
+
"tw-top-1/2": size !== "small"
|
|
620
732
|
}
|
|
621
733
|
),
|
|
622
|
-
children:
|
|
623
|
-
"div",
|
|
624
|
-
{
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
734
|
+
children: [
|
|
735
|
+
disabled && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "tw-absolute tw-right-0 -tw-top-2", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Lock, { size: 16 }) }),
|
|
736
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(LoadingSpinner_default, { size: "xs" }) }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
737
|
+
"div",
|
|
738
|
+
{
|
|
739
|
+
className: (0, import_clsx.default)(
|
|
740
|
+
"tw-transition-all tw-duration-200 tw-cursor-pointer tw-flex tw-items-center",
|
|
741
|
+
// Only rotate chevron when open and not showing clear icon
|
|
742
|
+
isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
|
|
743
|
+
),
|
|
744
|
+
onMouseDown: (e) => {
|
|
745
|
+
if (isHovering && selectedValue && allowClear) {
|
|
746
|
+
handleClear(e);
|
|
747
|
+
} else {
|
|
748
|
+
handleChevronClick(e);
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
752
|
+
CrossV2,
|
|
753
|
+
{
|
|
754
|
+
color: "#111827",
|
|
755
|
+
className: (0, import_clsx.default)({ "tw-mr-1": size !== "small" }),
|
|
756
|
+
size: size === "small" ? 12 : 16
|
|
757
|
+
}
|
|
758
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
759
|
+
Chevron2,
|
|
760
|
+
{
|
|
761
|
+
className: (0, import_clsx.default)("tw-text-gray-400"),
|
|
762
|
+
color: "#6B7280"
|
|
763
|
+
}
|
|
764
|
+
)
|
|
765
|
+
}
|
|
766
|
+
)
|
|
767
|
+
]
|
|
646
768
|
}
|
|
647
769
|
)
|
|
648
770
|
] }),
|
|
649
|
-
isOpen && /* @__PURE__ */ (0,
|
|
771
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
650
772
|
"div",
|
|
651
773
|
{
|
|
652
774
|
className: (0, import_clsx.default)(
|
|
@@ -656,7 +778,7 @@ var Select = ({
|
|
|
656
778
|
dropdownClassName
|
|
657
779
|
),
|
|
658
780
|
ref: optionListRef,
|
|
659
|
-
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0,
|
|
781
|
+
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
660
782
|
"div",
|
|
661
783
|
{
|
|
662
784
|
ref: (el) => optionRefs.current[index] = el,
|
|
@@ -667,7 +789,7 @@ var Select = ({
|
|
|
667
789
|
// Selected option styling
|
|
668
790
|
optionClassName
|
|
669
791
|
),
|
|
670
|
-
children: /* @__PURE__ */ (0,
|
|
792
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
671
793
|
"div",
|
|
672
794
|
{
|
|
673
795
|
className: (0, import_clsx.default)(
|
|
@@ -685,12 +807,12 @@ var Select = ({
|
|
|
685
807
|
)
|
|
686
808
|
},
|
|
687
809
|
doubleCharSearch ? option.label : option.value
|
|
688
|
-
)) : /* @__PURE__ */ (0,
|
|
810
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
|
|
689
811
|
}
|
|
690
812
|
)
|
|
691
813
|
]
|
|
692
814
|
}
|
|
693
|
-
);
|
|
815
|
+
) });
|
|
694
816
|
};
|
|
695
817
|
var arePropsEqual = (prevProps, nextProps) => {
|
|
696
818
|
var _a, _b;
|
|
@@ -723,10 +845,10 @@ var arePropsEqual = (prevProps, nextProps) => {
|
|
|
723
845
|
return true;
|
|
724
846
|
};
|
|
725
847
|
Select.displayName = "Select";
|
|
726
|
-
var Select_default = (0,
|
|
848
|
+
var Select_default = (0, import_react2.memo)(Select, arePropsEqual);
|
|
727
849
|
|
|
728
850
|
// src/atom/RangePicker/RangePicker.tsx
|
|
729
|
-
var
|
|
851
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
730
852
|
function CustomRangePicker(props) {
|
|
731
853
|
var _a, _b;
|
|
732
854
|
const {
|
|
@@ -753,8 +875,8 @@ function CustomRangePicker(props) {
|
|
|
753
875
|
showToastError = () => {
|
|
754
876
|
}
|
|
755
877
|
} = props;
|
|
756
|
-
const onChangeRef = (0,
|
|
757
|
-
(0,
|
|
878
|
+
const onChangeRef = (0, import_react3.useRef)(onChange);
|
|
879
|
+
(0, import_react3.useEffect)(() => {
|
|
758
880
|
onChangeRef.current = onChange;
|
|
759
881
|
}, [onChange]);
|
|
760
882
|
const getInitialDate = () => {
|
|
@@ -785,18 +907,18 @@ function CustomRangePicker(props) {
|
|
|
785
907
|
}
|
|
786
908
|
return /* @__PURE__ */ new Date();
|
|
787
909
|
};
|
|
788
|
-
const [currentDate, setCurrentDate] = (0,
|
|
789
|
-
const [startDate, setStartDate] = (0,
|
|
910
|
+
const [currentDate, setCurrentDate] = (0, import_react3.useState)(() => getInitialDate());
|
|
911
|
+
const [startDate, setStartDate] = (0, import_react3.useState)(
|
|
790
912
|
dateRange[0] ? new Date(dateRange[0]) : null
|
|
791
913
|
);
|
|
792
|
-
const [endDate, setEndDate] = (0,
|
|
914
|
+
const [endDate, setEndDate] = (0, import_react3.useState)(
|
|
793
915
|
dateRange[0] && dateRange[1] ? new Date(dateRange[1]) : null
|
|
794
916
|
);
|
|
795
|
-
const [hoverDate, setHoverDate] = (0,
|
|
796
|
-
const [isSelectingEnd, setIsSelectingEnd] = (0,
|
|
917
|
+
const [hoverDate, setHoverDate] = (0, import_react3.useState)(null);
|
|
918
|
+
const [isSelectingEnd, setIsSelectingEnd] = (0, import_react3.useState)(
|
|
797
919
|
dateRange[0] && !dateRange[1] ? true : false
|
|
798
920
|
);
|
|
799
|
-
const [selectedDate, setSelectedDate] = (0,
|
|
921
|
+
const [selectedDate, setSelectedDate] = (0, import_react3.useState)(
|
|
800
922
|
!isRange && dateRange[0] ? new Date(dateRange[0]) : null
|
|
801
923
|
);
|
|
802
924
|
const getDaysBetween = (start, end) => {
|
|
@@ -967,7 +1089,7 @@ function CustomRangePicker(props) {
|
|
|
967
1089
|
setHoverDate(null);
|
|
968
1090
|
}
|
|
969
1091
|
};
|
|
970
|
-
(0,
|
|
1092
|
+
(0, import_react3.useEffect)(() => {
|
|
971
1093
|
if (isRange) {
|
|
972
1094
|
sessionStorage.removeItem("rangePickerStartDate");
|
|
973
1095
|
onChangeRef.current(null, [
|
|
@@ -982,7 +1104,7 @@ function CustomRangePicker(props) {
|
|
|
982
1104
|
);
|
|
983
1105
|
}
|
|
984
1106
|
}, [startDate, endDate, isRange]);
|
|
985
|
-
(0,
|
|
1107
|
+
(0, import_react3.useEffect)(() => {
|
|
986
1108
|
if (!isRange && selectedDate) {
|
|
987
1109
|
onChangeRef.current(null, (0, import_dayjs.default)(selectedDate).format("D MMM, YYYY"));
|
|
988
1110
|
}
|
|
@@ -1047,8 +1169,8 @@ function CustomRangePicker(props) {
|
|
|
1047
1169
|
};
|
|
1048
1170
|
const isSameDay = ((_a = (0, import_dayjs.default)(startDate)) == null ? void 0 : _a.format("D MMM, YYYY")) === ((_b = (0, import_dayjs.default)(endDate)) == null ? void 0 : _b.format("D MMM, YYYY"));
|
|
1049
1171
|
const NightCountTooltip = () => {
|
|
1050
|
-
const TooltipArrow = (0,
|
|
1051
|
-
return /* @__PURE__ */ (0,
|
|
1172
|
+
const TooltipArrow = (0, import_react3.memo)(() => {
|
|
1173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-w-3 tw-h-3 tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-transparent tw-rotate-90", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1052
1174
|
"div",
|
|
1053
1175
|
{
|
|
1054
1176
|
style: {
|
|
@@ -1059,16 +1181,16 @@ function CustomRangePicker(props) {
|
|
|
1059
1181
|
}
|
|
1060
1182
|
) });
|
|
1061
1183
|
});
|
|
1062
|
-
return /* @__PURE__ */ (0,
|
|
1184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "tw-absolute tw-bottom-11 tw-py-2 tw-bg-black tw-text-white tw-px-2 tw-rounded-lg tw-z-50 tw-text-xs tw-whitespace-nowrap tw-opacity-0 tw-pointer-events-none group-hover:tw-opacity-100 tw-transition-opacity tw-duration-200", children: [
|
|
1063
1185
|
nightCountText,
|
|
1064
|
-
/* @__PURE__ */ (0,
|
|
1186
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-absolute tw-right-[42%] tw-bottom-[-7px]", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(TooltipArrow, {}) })
|
|
1065
1187
|
] });
|
|
1066
1188
|
};
|
|
1067
1189
|
const renderCalendar = (monthDate, isSecondCalendar = false) => {
|
|
1068
1190
|
const days = generateCalendarDays(monthDate);
|
|
1069
1191
|
const monthName = monthNames[monthDate.getMonth()];
|
|
1070
1192
|
const year = monthDate.getFullYear();
|
|
1071
|
-
return /* @__PURE__ */ (0,
|
|
1193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1072
1194
|
"div",
|
|
1073
1195
|
{
|
|
1074
1196
|
className: (0, import_clsx2.default)("tw-flex-1 tw-max-w-[83vw] tw-mb-2", {
|
|
@@ -1076,13 +1198,13 @@ function CustomRangePicker(props) {
|
|
|
1076
1198
|
"tw-h-[290px]": !showYearDropdown || days.length <= 35
|
|
1077
1199
|
}),
|
|
1078
1200
|
children: [
|
|
1079
|
-
/* @__PURE__ */ (0,
|
|
1080
|
-
/* @__PURE__ */ (0,
|
|
1201
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-text-center tw-mb-4 sm:tw-mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: " tw-flex tw-justify-center tw-items-center tw-gap-4 ", children: [
|
|
1202
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("h3", { className: "tw-typography-footNoteBold tw-text-color-text-default tw-m-0", children: [
|
|
1081
1203
|
monthName,
|
|
1082
1204
|
" ",
|
|
1083
1205
|
!showYearDropdown && ` ${year}`
|
|
1084
1206
|
] }),
|
|
1085
|
-
showYearDropdown && /* @__PURE__ */ (0,
|
|
1207
|
+
showYearDropdown && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1086
1208
|
Select_default,
|
|
1087
1209
|
{
|
|
1088
1210
|
options: yearOptions,
|
|
@@ -1104,7 +1226,7 @@ function CustomRangePicker(props) {
|
|
|
1104
1226
|
}
|
|
1105
1227
|
)
|
|
1106
1228
|
] }) }),
|
|
1107
|
-
/* @__PURE__ */ (0,
|
|
1229
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-grid tw-grid-cols-7 tw-mb-2", children: dayNames.map((day) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1108
1230
|
"div",
|
|
1109
1231
|
{
|
|
1110
1232
|
className: "tw-py-2 tw-px-0 tw-text-center tw-typography-caption2 tw-text-[#6B7280]",
|
|
@@ -1112,9 +1234,9 @@ function CustomRangePicker(props) {
|
|
|
1112
1234
|
},
|
|
1113
1235
|
day
|
|
1114
1236
|
)) }),
|
|
1115
|
-
/* @__PURE__ */ (0,
|
|
1237
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-grid tw-grid-cols-7", children: days.map((date, index) => {
|
|
1116
1238
|
if (!date) {
|
|
1117
|
-
return /* @__PURE__ */ (0,
|
|
1239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-h-10" }, index);
|
|
1118
1240
|
}
|
|
1119
1241
|
const isStart = isRange ? isSameDate(date, startDate) : false;
|
|
1120
1242
|
const isEnd = isRange ? isSameDate(date, endDate) : false;
|
|
@@ -1164,8 +1286,8 @@ function CustomRangePicker(props) {
|
|
|
1164
1286
|
(0, import_dayjs.default)(startDate),
|
|
1165
1287
|
"day"
|
|
1166
1288
|
);
|
|
1167
|
-
return /* @__PURE__ */ (0,
|
|
1168
|
-
(isStart || isEnd) && startDate && endDate && !isSameDay && isRange && /* @__PURE__ */ (0,
|
|
1289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "tw-relative", children: [
|
|
1290
|
+
(isStart || isEnd) && startDate && endDate && !isSameDay && isRange && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1169
1291
|
"div",
|
|
1170
1292
|
{
|
|
1171
1293
|
className: (0, import_clsx2.default)(
|
|
@@ -1178,8 +1300,8 @@ function CustomRangePicker(props) {
|
|
|
1178
1300
|
)
|
|
1179
1301
|
}
|
|
1180
1302
|
),
|
|
1181
|
-
isHoveringDate && isHovering && /* @__PURE__ */ (0,
|
|
1182
|
-
/* @__PURE__ */ (0,
|
|
1303
|
+
isHoveringDate && isHovering && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
|
|
1304
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1183
1305
|
"div",
|
|
1184
1306
|
{
|
|
1185
1307
|
className: (0, import_clsx2.default)(
|
|
@@ -1192,7 +1314,7 @@ function CustomRangePicker(props) {
|
|
|
1192
1314
|
)
|
|
1193
1315
|
}
|
|
1194
1316
|
),
|
|
1195
|
-
/* @__PURE__ */ (0,
|
|
1317
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1196
1318
|
"div",
|
|
1197
1319
|
{
|
|
1198
1320
|
className: (0, import_clsx2.default)(
|
|
@@ -1205,8 +1327,8 @@ function CustomRangePicker(props) {
|
|
|
1205
1327
|
}
|
|
1206
1328
|
)
|
|
1207
1329
|
] }),
|
|
1208
|
-
isStart && /* @__PURE__ */ (0,
|
|
1209
|
-
/* @__PURE__ */ (0,
|
|
1330
|
+
isStart && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
|
|
1331
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1210
1332
|
"div",
|
|
1211
1333
|
{
|
|
1212
1334
|
className: (0, import_clsx2.default)(
|
|
@@ -1219,7 +1341,7 @@ function CustomRangePicker(props) {
|
|
|
1219
1341
|
)
|
|
1220
1342
|
}
|
|
1221
1343
|
),
|
|
1222
|
-
/* @__PURE__ */ (0,
|
|
1344
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1223
1345
|
"div",
|
|
1224
1346
|
{
|
|
1225
1347
|
className: (0, import_clsx2.default)(
|
|
@@ -1232,7 +1354,7 @@ function CustomRangePicker(props) {
|
|
|
1232
1354
|
}
|
|
1233
1355
|
)
|
|
1234
1356
|
] }),
|
|
1235
|
-
/* @__PURE__ */ (0,
|
|
1357
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1236
1358
|
"div",
|
|
1237
1359
|
{
|
|
1238
1360
|
className: (0, import_clsx2.default)(className, pseudoClass, "tw-group", {
|
|
@@ -1242,7 +1364,7 @@ function CustomRangePicker(props) {
|
|
|
1242
1364
|
onMouseEnter: () => handleDateHover(date),
|
|
1243
1365
|
"data-date": titleDate,
|
|
1244
1366
|
children: [
|
|
1245
|
-
showNightCount && isRange && isHovering && /* @__PURE__ */ (0,
|
|
1367
|
+
showNightCount && isRange && isHovering && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(NightCountTooltip, {}),
|
|
1246
1368
|
date.getDate()
|
|
1247
1369
|
]
|
|
1248
1370
|
}
|
|
@@ -1253,7 +1375,8 @@ function CustomRangePicker(props) {
|
|
|
1253
1375
|
}
|
|
1254
1376
|
);
|
|
1255
1377
|
};
|
|
1256
|
-
|
|
1378
|
+
const arrowClasses = "tw-relative tw-top-3 sm:tw-top-0 tw-cursor-pointer tw-rounded-full tw-w-10 tw-h-10 tw-flex tw-justify-center hover:tw-bg-gray-100 tw-items-center";
|
|
1379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1257
1380
|
"div",
|
|
1258
1381
|
{
|
|
1259
1382
|
className: (0, import_clsx2.default)(
|
|
@@ -1264,36 +1387,42 @@ function CustomRangePicker(props) {
|
|
|
1264
1387
|
}
|
|
1265
1388
|
),
|
|
1266
1389
|
children: [
|
|
1267
|
-
/* @__PURE__ */ (0,
|
|
1268
|
-
!isPreviousMonthDisabled() && /* @__PURE__ */ (0,
|
|
1390
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "tw-flex tw-items-center tw-px-4 tw-justify-between tw-mb-4 tw-absolute tw-right-0 tw-left-0 tw-top-0.5 sm:tw-top-4 tw-w-auto", children: [
|
|
1391
|
+
!isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1269
1392
|
"div",
|
|
1270
1393
|
{
|
|
1271
|
-
className:
|
|
1394
|
+
className: (0, import_clsx2.default)(arrowClasses, "tw-left-1"),
|
|
1272
1395
|
onClick: () => navigateMonth(-1),
|
|
1273
1396
|
id: "calendar-previous-month-button",
|
|
1274
|
-
children: /* @__PURE__ */ (0,
|
|
1397
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1398
|
+
Chevron,
|
|
1399
|
+
{
|
|
1400
|
+
size: "medium",
|
|
1401
|
+
className: "tw-relative -tw-top-0.5 tw-right-0.5"
|
|
1402
|
+
}
|
|
1403
|
+
)
|
|
1275
1404
|
}
|
|
1276
1405
|
),
|
|
1277
|
-
isPreviousMonthDisabled() && /* @__PURE__ */ (0,
|
|
1278
|
-
!isNextMonthDisabled() && /* @__PURE__ */ (0,
|
|
1406
|
+
isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-w-10 tw-h-10" }),
|
|
1407
|
+
!isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1279
1408
|
"div",
|
|
1280
1409
|
{
|
|
1281
|
-
className:
|
|
1410
|
+
className: (0, import_clsx2.default)(arrowClasses, "tw-mt-[1px] tw-right-1"),
|
|
1282
1411
|
onClick: () => navigateMonth(1),
|
|
1283
1412
|
id: "calendar-next-month-button",
|
|
1284
|
-
children: /* @__PURE__ */ (0,
|
|
1413
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1285
1414
|
Chevron,
|
|
1286
1415
|
{
|
|
1287
1416
|
size: "medium",
|
|
1288
1417
|
onClick: () => navigateMonth(1),
|
|
1289
|
-
className: "tw-rotate-180"
|
|
1418
|
+
className: "tw-rotate-180 tw-relative tw-top-0.5 tw-left-0.5"
|
|
1290
1419
|
}
|
|
1291
1420
|
)
|
|
1292
1421
|
}
|
|
1293
1422
|
),
|
|
1294
|
-
isNextMonthDisabled() && /* @__PURE__ */ (0,
|
|
1423
|
+
isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-w-10 tw-h-10" })
|
|
1295
1424
|
] }),
|
|
1296
|
-
/* @__PURE__ */ (0,
|
|
1425
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "tw-flex tw-items-center tw-justify-between tw-px-6 tw-border-solid tw-border-color-gray-100 tw-border-b tw-border-t-0 tw-border-l-0 tw-border-r-0 tw-w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1297
1426
|
"div",
|
|
1298
1427
|
{
|
|
1299
1428
|
className: (0, import_clsx2.default)("tw-flex tw-w-full", {
|