@itilite/lumina-ui 1.1.13 → 1.2.0
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/AdvancedDateRangePicker-D7xn4So6.d.mts +59 -0
- package/dist/AdvancedDateRangePicker-D7xn4So6.d.ts +59 -0
- package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.mts +64 -0
- package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.ts +64 -0
- package/dist/AdvancedDateRangePicker-DGg-rucL.d.mts +62 -0
- package/dist/AdvancedDateRangePicker-DGg-rucL.d.ts +62 -0
- package/dist/AdvancedDateRangePicker-DOSprRQR.d.mts +52 -0
- package/dist/AdvancedDateRangePicker-DOSprRQR.d.ts +52 -0
- package/dist/AdvancedDateRangePicker-Di3rHxqf.d.mts +64 -0
- package/dist/AdvancedDateRangePicker-Di3rHxqf.d.ts +64 -0
- package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.mts +60 -0
- package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.ts +60 -0
- package/dist/AdvancedDateRangePicker-ozItnkhp.d.mts +57 -0
- package/dist/AdvancedDateRangePicker-ozItnkhp.d.ts +57 -0
- package/dist/Table-BOq-_9Nr.d.mts +121 -0
- package/dist/Table-BOq-_9Nr.d.ts +121 -0
- package/dist/Table-BxaCiQmh.d.mts +82 -0
- package/dist/Table-BxaCiQmh.d.ts +82 -0
- package/dist/Table-DNvoh2P8.d.mts +127 -0
- package/dist/Table-DNvoh2P8.d.ts +127 -0
- package/dist/Table-DSFYzrpU.d.mts +129 -0
- package/dist/Table-DSFYzrpU.d.ts +129 -0
- package/dist/Table-DoCPt3ri.d.mts +129 -0
- package/dist/Table-DoCPt3ri.d.ts +129 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +1648 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +15 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +17 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +17 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +2 -2
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +2 -2
- package/dist/atom/RangePicker/RangePicker.js +105 -102
- package/dist/atom/RangePicker/RangePicker.mjs +3 -3
- 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/atom/Table/Table.d.mts +3 -0
- package/dist/atom/Table/Table.d.ts +3 -0
- package/dist/atom/Table/Table.js +340 -0
- package/dist/atom/Table/Table.mjs +9 -0
- package/dist/chunk-27LRL4RO.mjs +428 -0
- package/dist/chunk-2IT3XM7C.mjs +473 -0
- package/dist/chunk-3HXZIFV6.mjs +438 -0
- package/dist/{chunk-Y3BIY4DW.mjs → chunk-4JX54OKI.mjs} +27 -18
- package/dist/chunk-53O7JM5I.mjs +424 -0
- package/dist/chunk-5JXIJTAS.mjs +448 -0
- package/dist/chunk-5PQ43JFX.mjs +440 -0
- package/dist/chunk-62VAYFZA.mjs +437 -0
- package/dist/chunk-6ON32H2N.mjs +431 -0
- package/dist/chunk-6RIZXTFP.mjs +290 -0
- package/dist/chunk-6XIT27XY.mjs +269 -0
- package/dist/chunk-772C454L.mjs +438 -0
- package/dist/chunk-7L267Y4P.mjs +429 -0
- package/dist/chunk-7WSVCE2C.mjs +269 -0
- package/dist/chunk-ANJI6SPV.mjs +283 -0
- package/dist/chunk-BFFLWW7N.mjs +250 -0
- package/dist/chunk-C5VYFNVC.mjs +441 -0
- package/dist/chunk-DL7BZMGE.mjs +295 -0
- package/dist/chunk-DXPVJNGY.mjs +284 -0
- package/dist/chunk-FPH63V2R.mjs +269 -0
- package/dist/chunk-FTL3PFC2.mjs +438 -0
- package/dist/chunk-G4P6XGQX.mjs +278 -0
- package/dist/chunk-GGWY2SYX.mjs +452 -0
- package/dist/{chunk-E4FCLHYA.mjs → chunk-GU5F7Z7I.mjs} +107 -104
- package/dist/chunk-GZ4P7OL3.mjs +429 -0
- package/dist/chunk-I6GLPWHS.mjs +278 -0
- package/dist/chunk-IPVJEGDI.mjs +476 -0
- package/dist/chunk-J4YYP4IZ.mjs +0 -0
- package/dist/chunk-J5JDQ4R6.mjs +278 -0
- package/dist/chunk-K2A4TWA3.mjs +430 -0
- package/dist/chunk-L3L42SIL.mjs +429 -0
- package/dist/chunk-LRNKIRH3.mjs +289 -0
- package/dist/chunk-MA23J4WQ.mjs +430 -0
- package/dist/chunk-N4DPPZVJ.mjs +269 -0
- package/dist/chunk-PQ3B2FEB.mjs +249 -0
- package/dist/{chunk-35KDS27M.mjs → chunk-PSBEYGD4.mjs} +1 -1
- package/dist/chunk-QRGHJP7U.mjs +437 -0
- package/dist/chunk-QU73KNTT.mjs +452 -0
- package/dist/chunk-RC6IGURJ.mjs +428 -0
- package/dist/chunk-SKPCOHON.mjs +473 -0
- package/dist/chunk-SRKN7WS7.mjs +448 -0
- package/dist/chunk-TQDZWJZP.mjs +269 -0
- package/dist/chunk-UAGSPM3T.mjs +288 -0
- package/dist/chunk-UC4NTBDH.mjs +439 -0
- package/dist/chunk-UPSQTJJ4.mjs +294 -0
- package/dist/chunk-V3CHJHUX.mjs +424 -0
- package/dist/chunk-X3NDICAU.mjs +284 -0
- package/dist/chunk-XECXKSTC.mjs +453 -0
- package/dist/chunk-XIVTXS3Y.mjs +439 -0
- package/dist/chunk-ZGV6QMVM.mjs +437 -0
- package/dist/index.d.mts +16 -13
- package/dist/index.d.ts +16 -13
- package/dist/index.js +1121 -117
- package/dist/index.mjs +22 -13
- package/dist/styles.css +1221 -130
- package/package.json +1 -1
- package/dist/Avatar-DX2JwvAs.d.mts +0 -17
- package/dist/Avatar-DX2JwvAs.d.ts +0 -17
- package/dist/Tag-l7I5oeyk.d.mts +0 -13
- package/dist/Tag-l7I5oeyk.d.ts +0 -13
- package/dist/chunk-3S4X3YO2.mjs +0 -64
- package/dist/chunk-DLLT6V65.mjs +0 -141
- package/dist/chunk-HISCHZ5H.mjs +0 -77
- package/dist/chunk-I5VHKSQR.mjs +0 -64
- package/dist/chunk-N355RJGH.mjs +0 -141
- package/dist/chunk-N3YFQDW7.mjs +0 -77
- package/dist/chunk-QWK3MYDM.mjs +0 -64
- package/dist/chunk-SWRFCTJW.mjs +0 -77
- package/dist/chunk-UUEPD2FH.mjs +0 -141
- package/dist/chunk-X76GNSBB.mjs +0 -87
- package/dist/chunk-ZGFE3OPJ.mjs +0 -678
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-FWCSY2DS.mjs";
|
|
12
12
|
|
|
13
13
|
// src/atom/Select/Select.tsx
|
|
14
|
-
import {
|
|
14
|
+
import { useCallback, useEffect, useMemo, useRef, useState, memo as memo3 } from "react";
|
|
15
15
|
import clsx from "clsx";
|
|
16
16
|
|
|
17
17
|
// src/icons/Chevron.tsx
|
|
@@ -97,7 +97,47 @@ var Lock = React3.memo((_a) => {
|
|
|
97
97
|
});
|
|
98
98
|
|
|
99
99
|
// src/atom/Select/Select.tsx
|
|
100
|
-
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
100
|
+
import { Fragment, jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
101
|
+
var InputWrapper = memo3(({ children, disabled, disabledTooltip }) => {
|
|
102
|
+
if (disabled && disabledTooltip)
|
|
103
|
+
return /* @__PURE__ */ jsx4(Tooltip_default, { title: disabledTooltip, children });
|
|
104
|
+
return /* @__PURE__ */ jsx4(Fragment, { children });
|
|
105
|
+
});
|
|
106
|
+
var OptionItem = memo3(({
|
|
107
|
+
option,
|
|
108
|
+
index,
|
|
109
|
+
isSelected,
|
|
110
|
+
isHighlighted,
|
|
111
|
+
experience,
|
|
112
|
+
size,
|
|
113
|
+
optionClassName,
|
|
114
|
+
onSelectHandler,
|
|
115
|
+
onMouseEnterHandler
|
|
116
|
+
}) => {
|
|
117
|
+
return /* @__PURE__ */ jsx4(
|
|
118
|
+
"div",
|
|
119
|
+
{
|
|
120
|
+
onClick: () => onSelectHandler(option),
|
|
121
|
+
onMouseEnter: () => onMouseEnterHandler(index),
|
|
122
|
+
className: clsx(
|
|
123
|
+
"tw-transition-all tw-duration-150",
|
|
124
|
+
{ "tw-typography-body2": size !== "small" },
|
|
125
|
+
{ "tw-typography-caption1": size === "small" },
|
|
126
|
+
optionClassName
|
|
127
|
+
),
|
|
128
|
+
children: /* @__PURE__ */ jsx4(
|
|
129
|
+
"div",
|
|
130
|
+
{
|
|
131
|
+
className: clsx(
|
|
132
|
+
"tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
|
|
133
|
+
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]"
|
|
134
|
+
),
|
|
135
|
+
children: option.label
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
);
|
|
140
|
+
});
|
|
101
141
|
var Select = ({
|
|
102
142
|
label,
|
|
103
143
|
mandatory = false,
|
|
@@ -336,6 +376,31 @@ var Select = ({
|
|
|
336
376
|
}
|
|
337
377
|
return "";
|
|
338
378
|
}, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
|
|
379
|
+
const displayValue = useMemo(() => getDisplayValue(), [getDisplayValue]);
|
|
380
|
+
const inputClasses = useMemo(() => {
|
|
381
|
+
return clsx(
|
|
382
|
+
"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",
|
|
383
|
+
sizeClasses.input,
|
|
384
|
+
sizeClasses.padding,
|
|
385
|
+
variantClasses,
|
|
386
|
+
{
|
|
387
|
+
"tw-bg-white": valueSelected || displayValue || isFocused,
|
|
388
|
+
"tw-bg-color-gray-5": !valueSelected || !displayValue,
|
|
389
|
+
"!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
|
|
390
|
+
},
|
|
391
|
+
!label && "tw-flex tw-items-center",
|
|
392
|
+
{
|
|
393
|
+
"!tw-border-color-primary": isFocused && experience === "business"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"!tw-border-[#804D7B]": isFocused && experience === "personal"
|
|
397
|
+
},
|
|
398
|
+
error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
|
|
399
|
+
"focus:tw-shadow-sm focus:tw-ring-offset-1",
|
|
400
|
+
className,
|
|
401
|
+
inputClassName
|
|
402
|
+
);
|
|
403
|
+
}, [sizeClasses, variantClasses, valueSelected, displayValue, isFocused, disabled, label, experience, error, className, inputClassName]);
|
|
339
404
|
const filteredOptions = useMemo(() => {
|
|
340
405
|
var _a;
|
|
341
406
|
if (!enableSearch) {
|
|
@@ -430,7 +495,7 @@ var Select = ({
|
|
|
430
495
|
}, [highlightedIndex]);
|
|
431
496
|
useEffect(() => {
|
|
432
497
|
optionRefs.current = [];
|
|
433
|
-
}, [filteredOptions]);
|
|
498
|
+
}, [filteredOptions.length]);
|
|
434
499
|
const handleMouseEnter = useCallback(() => {
|
|
435
500
|
if (hoverTimeoutRef.current) {
|
|
436
501
|
clearTimeout(hoverTimeoutRef.current);
|
|
@@ -467,12 +532,23 @@ var Select = ({
|
|
|
467
532
|
},
|
|
468
533
|
[isOpen, handleInputInteraction]
|
|
469
534
|
);
|
|
470
|
-
const
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
535
|
+
const handleChevronMouseDown = useCallback(
|
|
536
|
+
(e) => {
|
|
537
|
+
if (isHovering && selectedValue && allowClear) {
|
|
538
|
+
handleClear(e);
|
|
539
|
+
} else {
|
|
540
|
+
handleChevronClick(e);
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
[isHovering, selectedValue, allowClear, handleClear, handleChevronClick]
|
|
544
|
+
);
|
|
545
|
+
const handleOptionClick = useCallback((option) => {
|
|
546
|
+
handleOptionSelect(option);
|
|
547
|
+
}, [handleOptionSelect]);
|
|
548
|
+
const handleOptionMouseEnter = useCallback((index) => {
|
|
549
|
+
setHighlightedIndex(index);
|
|
550
|
+
}, []);
|
|
551
|
+
return /* @__PURE__ */ jsx4(InputWrapper, { disabled, disabledTooltip, children: /* @__PURE__ */ jsxs(
|
|
476
552
|
"div",
|
|
477
553
|
{
|
|
478
554
|
style,
|
|
@@ -496,35 +572,11 @@ var Select = ({
|
|
|
496
572
|
autoCorrect: "off",
|
|
497
573
|
autoCapitalize: "off",
|
|
498
574
|
spellCheck: "false",
|
|
499
|
-
value: isFocused && enableSearch ? searchTerm :
|
|
575
|
+
value: isFocused && enableSearch ? searchTerm : displayValue,
|
|
500
576
|
onChange: enableSearch ? handleSearchChange : void 0,
|
|
501
577
|
onClick: handleInputInteraction,
|
|
502
578
|
onKeyDown: handleKeyDown,
|
|
503
|
-
className:
|
|
504
|
-
"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",
|
|
505
|
-
sizeClasses.input,
|
|
506
|
-
sizeClasses.padding,
|
|
507
|
-
variantClasses,
|
|
508
|
-
{
|
|
509
|
-
"tw-bg-white": valueSelected || getDisplayValue() || isFocused,
|
|
510
|
-
"tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
|
|
511
|
-
"!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
|
|
512
|
-
},
|
|
513
|
-
// Conditional padding based on label presence
|
|
514
|
-
!label && "tw-flex tw-items-center",
|
|
515
|
-
{
|
|
516
|
-
"!tw-border-color-primary": isFocused && experience === "business"
|
|
517
|
-
},
|
|
518
|
-
{
|
|
519
|
-
"!tw-border-[#804D7B]": isFocused && experience === "personal"
|
|
520
|
-
},
|
|
521
|
-
error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
|
|
522
|
-
// Add focus state styling
|
|
523
|
-
"focus:tw-shadow-sm focus:tw-ring-offset-1",
|
|
524
|
-
className,
|
|
525
|
-
inputClassName
|
|
526
|
-
// Put inputClassName last so it can override default classes
|
|
527
|
-
),
|
|
579
|
+
className: inputClasses,
|
|
528
580
|
readOnly: !isFocused || !enableSearch
|
|
529
581
|
}
|
|
530
582
|
),
|
|
@@ -565,13 +617,7 @@ var Select = ({
|
|
|
565
617
|
// Only rotate chevron when open and not showing clear icon
|
|
566
618
|
isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
|
|
567
619
|
),
|
|
568
|
-
onMouseDown:
|
|
569
|
-
if (isHovering && selectedValue && allowClear) {
|
|
570
|
-
handleClear(e);
|
|
571
|
-
} else {
|
|
572
|
-
handleChevronClick(e);
|
|
573
|
-
}
|
|
574
|
-
},
|
|
620
|
+
onMouseDown: handleChevronMouseDown,
|
|
575
621
|
children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ jsx4(
|
|
576
622
|
CrossV2,
|
|
577
623
|
{
|
|
@@ -602,75 +648,32 @@ var Select = ({
|
|
|
602
648
|
dropdownClassName
|
|
603
649
|
),
|
|
604
650
|
ref: optionListRef,
|
|
605
|
-
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) =>
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
// Highlighted option styling (keyboard navigation)
|
|
624
|
-
index === highlightedIndex ? "tw-bg-[#f3f4f6] tw-text-gray-900" : (
|
|
625
|
-
// Default option styling
|
|
626
|
-
"tw-text-gray-900 hover:tw-bg-[#1118270a]"
|
|
627
|
-
)
|
|
628
|
-
)
|
|
629
|
-
),
|
|
630
|
-
children: option.label
|
|
631
|
-
}
|
|
632
|
-
)
|
|
633
|
-
},
|
|
634
|
-
doubleCharSearch ? option.label : option.value
|
|
635
|
-
)) : /* @__PURE__ */ jsx4("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
|
|
651
|
+
children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => {
|
|
652
|
+
const isSelected = normalizeValue(selectedValue) === normalizeValue(option.value);
|
|
653
|
+
const isHighlighted = index === highlightedIndex;
|
|
654
|
+
return /* @__PURE__ */ jsx4("div", { ref: (el) => optionRefs.current[index] = el, children: /* @__PURE__ */ jsx4(
|
|
655
|
+
OptionItem,
|
|
656
|
+
{
|
|
657
|
+
option,
|
|
658
|
+
index,
|
|
659
|
+
isSelected,
|
|
660
|
+
isHighlighted,
|
|
661
|
+
experience,
|
|
662
|
+
size,
|
|
663
|
+
optionClassName,
|
|
664
|
+
onSelectHandler: handleOptionClick,
|
|
665
|
+
onMouseEnterHandler: handleOptionMouseEnter
|
|
666
|
+
}
|
|
667
|
+
) }, doubleCharSearch ? option.label : option.value);
|
|
668
|
+
}) : /* @__PURE__ */ jsx4("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
|
|
636
669
|
}
|
|
637
670
|
)
|
|
638
671
|
]
|
|
639
672
|
}
|
|
640
673
|
) });
|
|
641
674
|
};
|
|
642
|
-
var arePropsEqual = (prevProps, nextProps) => {
|
|
643
|
-
var _a, _b;
|
|
644
|
-
const criticalProps = [
|
|
645
|
-
"value",
|
|
646
|
-
"valueSelected",
|
|
647
|
-
"options",
|
|
648
|
-
"error",
|
|
649
|
-
"disabled",
|
|
650
|
-
"label",
|
|
651
|
-
"mandatory"
|
|
652
|
-
];
|
|
653
|
-
for (const prop of criticalProps) {
|
|
654
|
-
if (prevProps[prop] !== nextProps[prop]) {
|
|
655
|
-
return false;
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
if (((_a = prevProps.options) == null ? void 0 : _a.length) !== ((_b = nextProps.options) == null ? void 0 : _b.length)) {
|
|
659
|
-
return false;
|
|
660
|
-
}
|
|
661
|
-
if (prevProps.options && nextProps.options) {
|
|
662
|
-
for (let i = 0; i < prevProps.options.length; i++) {
|
|
663
|
-
const prevOpt = prevProps.options[i];
|
|
664
|
-
const nextOpt = nextProps.options[i];
|
|
665
|
-
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)) {
|
|
666
|
-
return false;
|
|
667
|
-
}
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
return true;
|
|
671
|
-
};
|
|
672
675
|
Select.displayName = "Select";
|
|
673
|
-
var Select_default =
|
|
676
|
+
var Select_default = Select;
|
|
674
677
|
|
|
675
678
|
export {
|
|
676
679
|
Select,
|