@itilite/lumina-ui 1.1.11 → 1.1.12
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/RangePicker/RangePicker.js +105 -102
- package/dist/atom/RangePicker/RangePicker.mjs +2 -2
- package/dist/atom/Select/Select.d.mts +1 -4
- package/dist/atom/Select/Select.d.ts +1 -4
- package/dist/atom/Select/Select.js +105 -102
- package/dist/atom/Select/Select.mjs +1 -1
- package/dist/chunk-3AWYHB3A.mjs +618 -0
- package/dist/chunk-3WWAOBS6.mjs +633 -0
- package/dist/chunk-57YKBWEI.mjs +673 -0
- package/dist/chunk-5BBLW4MR.mjs +670 -0
- package/dist/chunk-6XGVIU52.mjs +679 -0
- package/dist/chunk-BKPTZNXK.mjs +618 -0
- package/dist/chunk-CNN74G3M.mjs +666 -0
- package/dist/chunk-CPOZJCLV.mjs +681 -0
- package/dist/chunk-DRNY4L7J.mjs +618 -0
- package/dist/chunk-G7I4NT42.mjs +720 -0
- package/dist/chunk-GU5F7Z7I.mjs +681 -0
- package/dist/chunk-HPDJYQXM.mjs +663 -0
- package/dist/chunk-HTYOI6JT.mjs +618 -0
- package/dist/chunk-IIJUGDEJ.mjs +618 -0
- package/dist/chunk-J327EMX2.mjs +663 -0
- package/dist/chunk-J3ZBXBJ2.mjs +689 -0
- package/dist/chunk-JEAZCSST.mjs +676 -0
- package/dist/chunk-KDR6M52K.mjs +723 -0
- package/dist/chunk-LEPDKBT2.mjs +709 -0
- package/dist/chunk-LH55S6HJ.mjs +618 -0
- package/dist/chunk-MO7JTKPH.mjs +618 -0
- package/dist/chunk-MWC57EU6.mjs +666 -0
- package/dist/chunk-OMXQ6VML.mjs +618 -0
- package/dist/chunk-PSESRID3.mjs +681 -0
- package/dist/chunk-RAWVG2MM.mjs +618 -0
- package/dist/chunk-T2Y6AXM5.mjs +618 -0
- package/dist/chunk-THT4ALWQ.mjs +618 -0
- package/dist/chunk-TWV2Z27S.mjs +618 -0
- package/dist/chunk-UPUD2FQL.mjs +618 -0
- package/dist/chunk-UUTSL2NM.mjs +618 -0
- package/dist/chunk-WCYB5OTY.mjs +618 -0
- package/dist/chunk-YCAOWGDP.mjs +618 -0
- package/dist/chunk-ZUUAXTPM.mjs +618 -0
- package/dist/index.js +105 -102
- package/dist/index.mjs +11 -11
- package/dist/styles.css +254 -254
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -761,6 +761,46 @@ var LoadingSpinner_default = LoadingSpinner;
|
|
|
761
761
|
|
|
762
762
|
// src/atom/Select/Select.tsx
|
|
763
763
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
764
|
+
var InputWrapper = (0, import_react2.memo)(({ children, disabled, disabledTooltip }) => {
|
|
765
|
+
if (disabled && disabledTooltip)
|
|
766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Tooltip_default, { title: disabledTooltip, children });
|
|
767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { children });
|
|
768
|
+
});
|
|
769
|
+
var OptionItem = (0, import_react2.memo)(({
|
|
770
|
+
option,
|
|
771
|
+
index,
|
|
772
|
+
isSelected,
|
|
773
|
+
isHighlighted,
|
|
774
|
+
experience,
|
|
775
|
+
size,
|
|
776
|
+
optionClassName,
|
|
777
|
+
onSelectHandler,
|
|
778
|
+
onMouseEnterHandler
|
|
779
|
+
}) => {
|
|
780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
781
|
+
"div",
|
|
782
|
+
{
|
|
783
|
+
onClick: () => onSelectHandler(option),
|
|
784
|
+
onMouseEnter: () => onMouseEnterHandler(index),
|
|
785
|
+
className: (0, import_clsx8.default)(
|
|
786
|
+
"tw-transition-all tw-duration-150",
|
|
787
|
+
{ "tw-typography-body2": size !== "small" },
|
|
788
|
+
{ "tw-typography-caption1": size === "small" },
|
|
789
|
+
optionClassName
|
|
790
|
+
),
|
|
791
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
792
|
+
"div",
|
|
793
|
+
{
|
|
794
|
+
className: (0, import_clsx8.default)(
|
|
795
|
+
"tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
|
|
796
|
+
isSelected ? experience === "personal" ? "tw-bg-[#f1e8fa]" : "tw-bg-[#fff1e1]" : isHighlighted ? "tw-bg-[#f3f4f6] tw-text-gray-900" : "tw-text-gray-900 hover:tw-bg-[#1118270a]"
|
|
797
|
+
),
|
|
798
|
+
children: option.label
|
|
799
|
+
}
|
|
800
|
+
)
|
|
801
|
+
}
|
|
802
|
+
);
|
|
803
|
+
});
|
|
764
804
|
var Select = ({
|
|
765
805
|
label,
|
|
766
806
|
mandatory = false,
|
|
@@ -999,6 +1039,31 @@ var Select = ({
|
|
|
999
1039
|
}
|
|
1000
1040
|
return "";
|
|
1001
1041
|
}, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
|
|
1042
|
+
const displayValue = (0, import_react2.useMemo)(() => getDisplayValue(), [getDisplayValue]);
|
|
1043
|
+
const inputClasses = (0, import_react2.useMemo)(() => {
|
|
1044
|
+
return (0, import_clsx8.default)(
|
|
1045
|
+
"tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
|
|
1046
|
+
sizeClasses.input,
|
|
1047
|
+
sizeClasses.padding,
|
|
1048
|
+
variantClasses,
|
|
1049
|
+
{
|
|
1050
|
+
"tw-bg-white": valueSelected || displayValue || isFocused,
|
|
1051
|
+
"tw-bg-color-gray-5": !valueSelected || !displayValue,
|
|
1052
|
+
"!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
|
|
1053
|
+
},
|
|
1054
|
+
!label && "tw-flex tw-items-center",
|
|
1055
|
+
{
|
|
1056
|
+
"!tw-border-color-primary": isFocused && experience === "business"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"!tw-border-[#804D7B]": isFocused && experience === "personal"
|
|
1060
|
+
},
|
|
1061
|
+
error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
|
|
1062
|
+
"focus:tw-shadow-sm focus:tw-ring-offset-1",
|
|
1063
|
+
className,
|
|
1064
|
+
inputClassName
|
|
1065
|
+
);
|
|
1066
|
+
}, [sizeClasses, variantClasses, valueSelected, displayValue, isFocused, disabled, label, experience, error, className, inputClassName]);
|
|
1002
1067
|
const filteredOptions = (0, import_react2.useMemo)(() => {
|
|
1003
1068
|
var _a;
|
|
1004
1069
|
if (!enableSearch) {
|
|
@@ -1093,7 +1158,7 @@ var Select = ({
|
|
|
1093
1158
|
}, [highlightedIndex]);
|
|
1094
1159
|
(0, import_react2.useEffect)(() => {
|
|
1095
1160
|
optionRefs.current = [];
|
|
1096
|
-
}, [filteredOptions]);
|
|
1161
|
+
}, [filteredOptions.length]);
|
|
1097
1162
|
const handleMouseEnter = (0, import_react2.useCallback)(() => {
|
|
1098
1163
|
if (hoverTimeoutRef.current) {
|
|
1099
1164
|
clearTimeout(hoverTimeoutRef.current);
|
|
@@ -1130,12 +1195,23 @@ var Select = ({
|
|
|
1130
1195
|
},
|
|
1131
1196
|
[isOpen, handleInputInteraction]
|
|
1132
1197
|
);
|
|
1133
|
-
const
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1198
|
+
const handleChevronMouseDown = (0, import_react2.useCallback)(
|
|
1199
|
+
(e) => {
|
|
1200
|
+
if (isHovering && selectedValue && allowClear) {
|
|
1201
|
+
handleClear(e);
|
|
1202
|
+
} else {
|
|
1203
|
+
handleChevronClick(e);
|
|
1204
|
+
}
|
|
1205
|
+
},
|
|
1206
|
+
[isHovering, selectedValue, allowClear, handleClear, handleChevronClick]
|
|
1207
|
+
);
|
|
1208
|
+
const handleOptionClick = (0, import_react2.useCallback)((option) => {
|
|
1209
|
+
handleOptionSelect(option);
|
|
1210
|
+
}, [handleOptionSelect]);
|
|
1211
|
+
const handleOptionMouseEnter = (0, import_react2.useCallback)((index) => {
|
|
1212
|
+
setHighlightedIndex(index);
|
|
1213
|
+
}, []);
|
|
1214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(InputWrapper, { disabled, disabledTooltip, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1139
1215
|
"div",
|
|
1140
1216
|
{
|
|
1141
1217
|
style,
|
|
@@ -1159,35 +1235,11 @@ var Select = ({
|
|
|
1159
1235
|
autoCorrect: "off",
|
|
1160
1236
|
autoCapitalize: "off",
|
|
1161
1237
|
spellCheck: "false",
|
|
1162
|
-
value: isFocused && enableSearch ? searchTerm :
|
|
1238
|
+
value: isFocused && enableSearch ? searchTerm : displayValue,
|
|
1163
1239
|
onChange: enableSearch ? handleSearchChange : void 0,
|
|
1164
1240
|
onClick: handleInputInteraction,
|
|
1165
1241
|
onKeyDown: handleKeyDown,
|
|
1166
|
-
className:
|
|
1167
|
-
"tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
|
|
1168
|
-
sizeClasses.input,
|
|
1169
|
-
sizeClasses.padding,
|
|
1170
|
-
variantClasses,
|
|
1171
|
-
{
|
|
1172
|
-
"tw-bg-white": valueSelected || getDisplayValue() || isFocused,
|
|
1173
|
-
"tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
|
|
1174
|
-
"!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
|
|
1175
|
-
},
|
|
1176
|
-
// Conditional padding based on label presence
|
|
1177
|
-
!label && "tw-flex tw-items-center",
|
|
1178
|
-
{
|
|
1179
|
-
"!tw-border-color-primary": isFocused && experience === "business"
|
|
1180
|
-
},
|
|
1181
|
-
{
|
|
1182
|
-
"!tw-border-[#804D7B]": isFocused && experience === "personal"
|
|
1183
|
-
},
|
|
1184
|
-
error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
|
|
1185
|
-
// Add focus state styling
|
|
1186
|
-
"focus:tw-shadow-sm focus:tw-ring-offset-1",
|
|
1187
|
-
className,
|
|
1188
|
-
inputClassName
|
|
1189
|
-
// Put inputClassName last so it can override default classes
|
|
1190
|
-
),
|
|
1242
|
+
className: inputClasses,
|
|
1191
1243
|
readOnly: !isFocused || !enableSearch
|
|
1192
1244
|
}
|
|
1193
1245
|
),
|
|
@@ -1228,13 +1280,7 @@ var Select = ({
|
|
|
1228
1280
|
// Only rotate chevron when open and not showing clear icon
|
|
1229
1281
|
isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
|
|
1230
1282
|
),
|
|
1231
|
-
onMouseDown:
|
|
1232
|
-
if (isHovering && selectedValue && allowClear) {
|
|
1233
|
-
handleClear(e);
|
|
1234
|
-
} else {
|
|
1235
|
-
handleChevronClick(e);
|
|
1236
|
-
}
|
|
1237
|
-
},
|
|
1283
|
+
onMouseDown: handleChevronMouseDown,
|
|
1238
1284
|
children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1239
1285
|
CrossV2,
|
|
1240
1286
|
{
|
|
@@ -1265,75 +1311,32 @@ var Select = ({
|
|
|
1265
1311
|
dropdownClassName
|
|
1266
1312
|
),
|
|
1267
1313
|
ref: optionListRef,
|
|
1268
|
-
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) =>
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
// Highlighted option styling (keyboard navigation)
|
|
1287
|
-
index === highlightedIndex ? "tw-bg-[#f3f4f6] tw-text-gray-900" : (
|
|
1288
|
-
// Default option styling
|
|
1289
|
-
"tw-text-gray-900 hover:tw-bg-[#1118270a]"
|
|
1290
|
-
)
|
|
1291
|
-
)
|
|
1292
|
-
),
|
|
1293
|
-
children: option.label
|
|
1294
|
-
}
|
|
1295
|
-
)
|
|
1296
|
-
},
|
|
1297
|
-
doubleCharSearch ? option.label : option.value
|
|
1298
|
-
)) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
|
|
1314
|
+
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => {
|
|
1315
|
+
const isSelected = normalizeValue(selectedValue) === normalizeValue(option.value);
|
|
1316
|
+
const isHighlighted = index === highlightedIndex;
|
|
1317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref: (el) => optionRefs.current[index] = el, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1318
|
+
OptionItem,
|
|
1319
|
+
{
|
|
1320
|
+
option,
|
|
1321
|
+
index,
|
|
1322
|
+
isSelected,
|
|
1323
|
+
isHighlighted,
|
|
1324
|
+
experience,
|
|
1325
|
+
size,
|
|
1326
|
+
optionClassName,
|
|
1327
|
+
onSelectHandler: handleOptionClick,
|
|
1328
|
+
onMouseEnterHandler: handleOptionMouseEnter
|
|
1329
|
+
}
|
|
1330
|
+
) }, doubleCharSearch ? option.label : option.value);
|
|
1331
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
|
|
1299
1332
|
}
|
|
1300
1333
|
)
|
|
1301
1334
|
]
|
|
1302
1335
|
}
|
|
1303
1336
|
) });
|
|
1304
1337
|
};
|
|
1305
|
-
var arePropsEqual = (prevProps, nextProps) => {
|
|
1306
|
-
var _a, _b;
|
|
1307
|
-
const criticalProps = [
|
|
1308
|
-
"value",
|
|
1309
|
-
"valueSelected",
|
|
1310
|
-
"options",
|
|
1311
|
-
"error",
|
|
1312
|
-
"disabled",
|
|
1313
|
-
"label",
|
|
1314
|
-
"mandatory"
|
|
1315
|
-
];
|
|
1316
|
-
for (const prop of criticalProps) {
|
|
1317
|
-
if (prevProps[prop] !== nextProps[prop]) {
|
|
1318
|
-
return false;
|
|
1319
|
-
}
|
|
1320
|
-
}
|
|
1321
|
-
if (((_a = prevProps.options) == null ? void 0 : _a.length) !== ((_b = nextProps.options) == null ? void 0 : _b.length)) {
|
|
1322
|
-
return false;
|
|
1323
|
-
}
|
|
1324
|
-
if (prevProps.options && nextProps.options) {
|
|
1325
|
-
for (let i = 0; i < prevProps.options.length; i++) {
|
|
1326
|
-
const prevOpt = prevProps.options[i];
|
|
1327
|
-
const nextOpt = nextProps.options[i];
|
|
1328
|
-
if ((prevOpt == null ? void 0 : prevOpt.value) !== (nextOpt == null ? void 0 : nextOpt.value) || (prevOpt == null ? void 0 : prevOpt.label) !== (nextOpt == null ? void 0 : nextOpt.label)) {
|
|
1329
|
-
return false;
|
|
1330
|
-
}
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
return true;
|
|
1334
|
-
};
|
|
1335
1338
|
Select.displayName = "Select";
|
|
1336
|
-
var Select_default =
|
|
1339
|
+
var Select_default = Select;
|
|
1337
1340
|
|
|
1338
1341
|
// src/atom/RangePicker/RangePicker.tsx
|
|
1339
1342
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
package/dist/index.mjs
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RangePicker_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IIJUGDEJ.mjs";
|
|
4
4
|
import "./chunk-ZTRM4HZJ.mjs";
|
|
5
|
+
import {
|
|
6
|
+
Modal_default
|
|
7
|
+
} from "./chunk-UQJ3BDM4.mjs";
|
|
5
8
|
import {
|
|
6
9
|
Switch_default
|
|
7
10
|
} from "./chunk-MNARBWAJ.mjs";
|
|
8
|
-
import {
|
|
9
|
-
Radio_default
|
|
10
|
-
} from "./chunk-2EBPXGRY.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Tag_default
|
|
13
13
|
} from "./chunk-4VZB2KR2.mjs";
|
|
14
14
|
import {
|
|
15
15
|
Avatar_default
|
|
16
16
|
} from "./chunk-IWO2Y5QX.mjs";
|
|
17
|
-
import {
|
|
18
|
-
Modal_default
|
|
19
|
-
} from "./chunk-UQJ3BDM4.mjs";
|
|
20
17
|
import {
|
|
21
18
|
Button_default
|
|
22
19
|
} from "./chunk-AF2RKLH6.mjs";
|
|
23
20
|
import {
|
|
24
21
|
Checkbox_default
|
|
25
22
|
} from "./chunk-UQZNUEZE.mjs";
|
|
23
|
+
import {
|
|
24
|
+
Radio_default
|
|
25
|
+
} from "./chunk-2EBPXGRY.mjs";
|
|
26
|
+
import {
|
|
27
|
+
Slider_default
|
|
28
|
+
} from "./chunk-D3N7VFER.mjs";
|
|
26
29
|
import {
|
|
27
30
|
Select_default
|
|
28
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-GU5F7Z7I.mjs";
|
|
29
32
|
import {
|
|
30
33
|
Tooltip_default
|
|
31
34
|
} from "./chunk-MLCMZRUC.mjs";
|
|
32
35
|
import {
|
|
33
36
|
LoadingSpinner_default
|
|
34
37
|
} from "./chunk-QKTMWS4J.mjs";
|
|
35
|
-
import {
|
|
36
|
-
Slider_default
|
|
37
|
-
} from "./chunk-D3N7VFER.mjs";
|
|
38
38
|
import "./chunk-FWCSY2DS.mjs";
|
|
39
39
|
export {
|
|
40
40
|
Avatar_default as Avatar,
|