bianic-ui 1.9.0-beta.1 → 1.9.0-beta.2
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/cjs/index.js +229 -45
- package/dist/cjs/lib.css +1 -1
- package/dist/cjs/types/components/Forms/Dropdown/DropdownContainer.d.ts +14 -0
- package/dist/cjs/types/components/Forms/Dropdown/DropdownItem.d.ts +20 -0
- package/dist/cjs/types/components/Forms/Dropdown/Example/BasicExample.d.ts +6 -0
- package/dist/cjs/types/components/Forms/Dropdown/Example/CheckMenuExample.d.ts +6 -0
- package/dist/cjs/types/components/Forms/Dropdown/Example/CheckboxFilterExample.d.ts +6 -0
- package/dist/cjs/types/components/Forms/Dropdown/Example/NestedExample.d.ts +6 -0
- package/dist/cjs/types/components/Forms/Dropdown/Example/WithValueExample.d.ts +6 -0
- package/dist/cjs/types/components/Forms/Dropdown/config.d.ts +9 -0
- package/dist/cjs/types/components/Forms/Dropdown/index.d.ts +3 -0
- package/dist/cjs/types/components/Forms/LiveSearch/Example/LiveSearchCustomDropdown.d.ts +3 -0
- package/dist/cjs/types/components/Forms/LiveSearch/PropsInterface.d.ts +4 -0
- package/dist/cjs/types/components/Forms/LiveSearch/index.d.ts +5 -1
- package/dist/cjs/types/components/Forms/index.d.ts +1 -0
- package/dist/cjs/types/components/Menu/MenuContainer.d.ts +4 -8
- package/dist/cjs/types/components/Menu/MenuItem.d.ts +2 -1
- package/dist/cjs/types/components/index.d.ts +1 -1
- package/dist/cjs/types/stories/Form/Dropdown/BasicExample.stories.d.ts +13 -0
- package/dist/cjs/types/stories/Form/Dropdown/DropdownContainer.stories.d.ts +41 -0
- package/dist/cjs/types/stories/Form/Dropdown/DropdownItem.stories.d.ts +26 -0
- package/dist/cjs/types/stories/Form/Dropdown/NestedExample.stories.d.ts +13 -0
- package/dist/cjs/types/stories/Form/Dropdown/SampleTest/CheckMenuExample.stories.d.ts +12 -0
- package/dist/cjs/types/stories/Form/Dropdown/SampleTest/CheckboxExample.stories.d.ts +12 -0
- package/dist/cjs/types/stories/Form/Dropdown/WithValueExample.stories.d.ts +13 -0
- package/dist/cjs/types/stories/Form/LiveSearch/LivesearchCustomDropdownExample.stories.d.ts +12 -0
- package/dist/cjs/types/stories/Form/LiveSearch/LivesearchOld.stories.d.ts +12 -0
- package/dist/esm/index.js +229 -47
- package/dist/esm/lib.css +1 -1
- package/dist/esm/types/components/Forms/Dropdown/DropdownContainer.d.ts +14 -0
- package/dist/esm/types/components/Forms/Dropdown/DropdownItem.d.ts +20 -0
- package/dist/esm/types/components/Forms/Dropdown/Example/BasicExample.d.ts +6 -0
- package/dist/esm/types/components/Forms/Dropdown/Example/CheckMenuExample.d.ts +6 -0
- package/dist/esm/types/components/Forms/Dropdown/Example/CheckboxFilterExample.d.ts +6 -0
- package/dist/esm/types/components/Forms/Dropdown/Example/NestedExample.d.ts +6 -0
- package/dist/esm/types/components/Forms/Dropdown/Example/WithValueExample.d.ts +6 -0
- package/dist/esm/types/components/Forms/Dropdown/config.d.ts +9 -0
- package/dist/esm/types/components/Forms/Dropdown/index.d.ts +3 -0
- package/dist/esm/types/components/Forms/LiveSearch/Example/LiveSearchCustomDropdown.d.ts +3 -0
- package/dist/esm/types/components/Forms/LiveSearch/PropsInterface.d.ts +4 -0
- package/dist/esm/types/components/Forms/LiveSearch/index.d.ts +5 -1
- package/dist/esm/types/components/Forms/index.d.ts +1 -0
- package/dist/esm/types/components/Menu/MenuContainer.d.ts +4 -8
- package/dist/esm/types/components/Menu/MenuItem.d.ts +2 -1
- package/dist/esm/types/components/index.d.ts +1 -1
- package/dist/esm/types/stories/Form/Dropdown/BasicExample.stories.d.ts +13 -0
- package/dist/esm/types/stories/Form/Dropdown/DropdownContainer.stories.d.ts +41 -0
- package/dist/esm/types/stories/Form/Dropdown/DropdownItem.stories.d.ts +26 -0
- package/dist/esm/types/stories/Form/Dropdown/NestedExample.stories.d.ts +13 -0
- package/dist/esm/types/stories/Form/Dropdown/SampleTest/CheckMenuExample.stories.d.ts +12 -0
- package/dist/esm/types/stories/Form/Dropdown/SampleTest/CheckboxExample.stories.d.ts +12 -0
- package/dist/esm/types/stories/Form/Dropdown/WithValueExample.stories.d.ts +13 -0
- package/dist/esm/types/stories/Form/LiveSearch/LivesearchCustomDropdownExample.stories.d.ts +12 -0
- package/dist/esm/types/stories/Form/LiveSearch/LivesearchOld.stories.d.ts +12 -0
- package/dist/index.d.ts +43 -11
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -412,7 +412,7 @@ var radiusConfig$1 = {
|
|
|
412
412
|
tn: 'rounded-radius-full focus-visible:rounded-radius-full',
|
|
413
413
|
},
|
|
414
414
|
};
|
|
415
|
-
var sizeConfig$
|
|
415
|
+
var sizeConfig$d = {
|
|
416
416
|
lg: 'py-[10.5px] h-[48px] flex items-center justify-center gap-[10px] text-size-md ',
|
|
417
417
|
md: 'py-[9px] h-[40px] flex items-center justify-center gap-[5px] text-size-base ',
|
|
418
418
|
sm: 'py-[6px] h-[30px] flex items-center justify-center gap-[5px] text-size-sm ',
|
|
@@ -490,10 +490,10 @@ function Button(_a) {
|
|
|
490
490
|
}
|
|
491
491
|
var sizingRules;
|
|
492
492
|
if (variant.includes('link')) {
|
|
493
|
-
sizingRules = "".concat(sizeConfig$
|
|
493
|
+
sizingRules = "".concat(sizeConfig$d[validatedSize]);
|
|
494
494
|
}
|
|
495
495
|
else {
|
|
496
|
-
sizingRules = "".concat(sizeConfig$
|
|
496
|
+
sizingRules = "".concat(sizeConfig$d[validatedSize], " ").concat(sidePaddingConfig[validatedSize]);
|
|
497
497
|
}
|
|
498
498
|
var sizeClass = label || variant === 'form-group'
|
|
499
499
|
? " ".concat(minWidthRules, " ").concat(sizingRules)
|
|
@@ -1481,15 +1481,15 @@ var colorConfig$1 = {
|
|
|
1481
1481
|
active: 'bg-bia-verdantgreen-dark-40 text-primary-white',
|
|
1482
1482
|
},
|
|
1483
1483
|
blue: {
|
|
1484
|
-
default: 'bg-bia-olympicblue hover:bg-bia-olympicblue-
|
|
1485
|
-
active: 'bg-bia-olympicblue-dark-
|
|
1484
|
+
default: 'bg-bia-olympicblue hover:bg-bia-olympicblue-light-10 active:bg-bia-olympicblue-dark-10 text-primary-white disabled:bg-bia-olympicblue-dark-20 disabled:text-primary-white/50 disabled:cursor-default',
|
|
1485
|
+
active: 'bg-bia-olympicblue-dark-10 text-primary-white',
|
|
1486
1486
|
},
|
|
1487
1487
|
};
|
|
1488
1488
|
|
|
1489
1489
|
var ButtonApp = function (_a) {
|
|
1490
1490
|
_a.icon; _a.isNotified; var _c = _a.isActive, isActive = _c === void 0 ? false : _c, disabled = _a.disabled, _d = _a.color, color = _d === void 0 ? 'green' : _d, label = _a.label, extended = _a.extended, rest = __rest(_a, ["icon", "isNotified", "isActive", "disabled", "color", "label", "extended"]);
|
|
1491
1491
|
var buttonState = isActive ? 'active' : 'default';
|
|
1492
|
-
return (React.createElement("button", __assign({ className: "button-app px-[10px] pb-[8.
|
|
1492
|
+
return (React.createElement("button", __assign({ className: "button-app flex items-center justify-center px-[10px] pb-[8.3px] pt-[8.5px] font-arial text-size-tiny ".concat(colorConfig$1[color][buttonState], " ").concat(extended), type: "button", disabled: disabled }, rest), label));
|
|
1493
1493
|
};
|
|
1494
1494
|
|
|
1495
1495
|
var textColorConfig = {
|
|
@@ -1718,46 +1718,72 @@ var TreeItem = function (_a) {
|
|
|
1718
1718
|
})))));
|
|
1719
1719
|
};
|
|
1720
1720
|
|
|
1721
|
-
function MenuContainer(
|
|
1722
|
-
var
|
|
1721
|
+
var MenuContainer = React.forwardRef(function MenuContainer(propsComp, ref) {
|
|
1722
|
+
var _a = propsComp.isTopFlat, isTopFlat = _a === void 0 ? false : _a, children = propsComp.children, _b = propsComp.open, open = _b === void 0 ? true : _b, _c = propsComp.onClose, onClose = _c === void 0 ? function () { } : _c, _d = propsComp.className, className = _d === void 0 ? '' : _d, _e = propsComp.isWithOverlay, isWithOverlay = _e === void 0 ? true : _e, _f = propsComp.zIndex, zIndex = _f === void 0 ? 0 : _f, restProps = __rest(propsComp, ["isTopFlat", "children", "open", "onClose", "className", "isWithOverlay", "zIndex"]);
|
|
1723
1723
|
var radiusClass = "rounded-b-radius-sm ".concat(!isTopFlat && 'rounded-t-radius-sm');
|
|
1724
1724
|
return (open && (React.createElement(React.Fragment, null,
|
|
1725
1725
|
isWithOverlay && (React.createElement("div", { className: "bianic-menu-overlay fixed left-0 top-0 z-0 h-screen w-screen", onClick: function () { return onClose(); } })),
|
|
1726
|
-
React.createElement("div", { className: "w-fit bg-bia-white shadow-[0px_3px_20px_0px_rgba(0,0,0,0.20)] ".concat(radiusClass, " ").concat(className)
|
|
1726
|
+
React.createElement("div", __assign({ className: "w-fit bg-bia-white shadow-[0px_3px_20px_0px_rgba(0,0,0,0.20)] ".concat(radiusClass, " ").concat(className), ref: ref, style: {
|
|
1727
|
+
zIndex: zIndex,
|
|
1728
|
+
} }, restProps), React.Children.map(children, function (child) {
|
|
1727
1729
|
return React.isValidElement(child)
|
|
1728
1730
|
? // Kirimkan handleItemClick sebagai props onClick ke setiap MenuItem
|
|
1729
|
-
React.cloneElement(child, {
|
|
1731
|
+
React.cloneElement(child, {
|
|
1732
|
+
onClose: function () { return onClose(); },
|
|
1733
|
+
zIndex: zIndex,
|
|
1734
|
+
})
|
|
1730
1735
|
: child;
|
|
1731
1736
|
})))));
|
|
1732
|
-
}
|
|
1737
|
+
});
|
|
1733
1738
|
MenuContainer.defaultProps = {
|
|
1734
1739
|
isTopFlat: false,
|
|
1735
1740
|
};
|
|
1736
1741
|
|
|
1737
1742
|
function MenuItem(_a) {
|
|
1738
|
-
var _b = _a.className, className = _b === void 0 ? '' : _b, label = _a.label, _c = _a.onClick, onClick = _c === void 0 ? function () { } : _c, _d = _a.caption, caption = _d === void 0 ? undefined : _d, _e = _a.isChecked, isChecked = _e === void 0 ? undefined : _e, _f = _a.onClose, onClose = _f === void 0 ? function () { } : _f, children = _a.children, props = __rest(_a, ["className", "label", "onClick", "caption", "isChecked", "onClose", "children"]);
|
|
1739
|
-
var
|
|
1743
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, label = _a.label, _c = _a.onClick, onClick = _c === void 0 ? function () { } : _c, _d = _a.caption, caption = _d === void 0 ? undefined : _d, _e = _a.isChecked, isChecked = _e === void 0 ? undefined : _e, _f = _a.onClose, onClose = _f === void 0 ? function () { } : _f, children = _a.children, _g = _a.zIndex, zIndex = _g === void 0 ? 0 : _g, props = __rest(_a, ["className", "label", "onClick", "caption", "isChecked", "onClose", "children", "zIndex"]);
|
|
1744
|
+
var _h = React.useState(false), isHovered = _h[0], setIsHovered = _h[1];
|
|
1745
|
+
var _j = React.useState(false), isLeft = _j[0], setIsLeft = _j[1];
|
|
1740
1746
|
var isWithChecked = isChecked !== undefined;
|
|
1741
1747
|
var leftPadding = isWithChecked ? 'pl-[5px]' : 'pl-[10px]';
|
|
1742
1748
|
var rightPadding = caption || children ? 'pr-[5px]' : 'pr-[10px]';
|
|
1743
1749
|
var itemClass = "".concat(leftPadding, " ").concat(rightPadding, " ").concat(className);
|
|
1744
|
-
|
|
1745
|
-
|
|
1750
|
+
var MenuContRef = React.useRef(null);
|
|
1751
|
+
React.useEffect(function () {
|
|
1752
|
+
var _a;
|
|
1753
|
+
if (MenuContRef.current) {
|
|
1754
|
+
// Adjust dropdown position to prevent overflow on the right.
|
|
1755
|
+
var MenuContRect = (_a = MenuContRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
1756
|
+
var RectRight = MenuContRect === null || MenuContRect === void 0 ? void 0 : MenuContRect.right;
|
|
1757
|
+
var innerWindow = window.innerWidth;
|
|
1758
|
+
if (RectRight > innerWindow)
|
|
1759
|
+
setIsLeft(true);
|
|
1760
|
+
else
|
|
1761
|
+
setIsLeft(false);
|
|
1762
|
+
}
|
|
1763
|
+
}, [isHovered]);
|
|
1764
|
+
var translateClass = isLeft
|
|
1765
|
+
? 'left-0 -translate-x-full'
|
|
1766
|
+
: 'right-0 translate-x-full';
|
|
1767
|
+
var currentZIndex = zIndex + 10;
|
|
1768
|
+
return (React.createElement("div", { className: "group/main relative cursor-pointer first:rounded-t-radius-sm first:pt-[6px] last:rounded-b-radius-sm last:pb-[6px]", onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); } },
|
|
1769
|
+
React.createElement("div", __assign({ className: "relative flex items-center py-[5px] hover:bg-bia-blue-pastel ".concat(itemClass), role: "button", tabIndex: 0, onClick: function (e) {
|
|
1746
1770
|
onClick(e);
|
|
1747
|
-
}, onKeyDown: function () { }
|
|
1771
|
+
}, onKeyDown: function () { }, style: {
|
|
1772
|
+
zIndex: isHovered ? currentZIndex : 0,
|
|
1773
|
+
} }, props),
|
|
1748
1774
|
isWithChecked && (React.createElement("div", { className: "mr-[5px] aspect-square w-[14px]" }, isChecked && React.createElement(TbCheck, { className: "text-primary-black", size: 14 }))),
|
|
1749
1775
|
React.createElement("span", { className: "whitespace-nowrap font-arial text-[11px] text-bia-black" }, label),
|
|
1750
1776
|
React.createElement("div", { className: "ml-auto flex items-center" },
|
|
1751
1777
|
children && (React.createElement(TbChevronRight, { className: "ml-[10px] text-bia-coolgrey" })),
|
|
1752
1778
|
children === undefined && caption && (React.createElement("span", { className: "ml-[30px] whitespace-nowrap text-[11px] text-bia-coolgrey" }, caption)))),
|
|
1753
|
-
children && (React.createElement(MenuContainer, { open: isHovered, onClose: onClose, className: "absolute
|
|
1779
|
+
children && (React.createElement(MenuContainer, { open: isHovered, onClose: onClose, className: "absolute top-0 bg-primary-white shadow-[0px_3px_20px_0px_rgba(0,0,0,0.20)] group-first/main:top-[6px] ".concat(translateClass), ref: MenuContRef, zIndex: currentZIndex }, children))));
|
|
1754
1780
|
}
|
|
1755
1781
|
MenuItem.defaultProps = {
|
|
1756
1782
|
className: '',
|
|
1757
1783
|
onClick: function () { },
|
|
1758
1784
|
};
|
|
1759
1785
|
|
|
1760
|
-
var sizeConfig$
|
|
1786
|
+
var sizeConfig$c = {
|
|
1761
1787
|
md: {
|
|
1762
1788
|
fieldSize: 'text-size-base p-2.5 font-[350] h-10',
|
|
1763
1789
|
iconPosition: 'right-[10px]',
|
|
@@ -1818,8 +1844,8 @@ function TextInput(_a) {
|
|
|
1818
1844
|
var _r = React.useState(false), isShow = _r[0], setIsShow = _r[1];
|
|
1819
1845
|
var _s = styleConfig[variant], fieldStyle = _s.fieldStyle, iconStyle = _s.iconStyle;
|
|
1820
1846
|
var _t = isTransparent
|
|
1821
|
-
? __assign(__assign({}, sizeConfig$
|
|
1822
|
-
" pe-[".concat(9 + sizeConfig$
|
|
1847
|
+
? __assign(__assign({}, sizeConfig$c[size]), { iconPosition: "right-0 ", fieldSize: sizeConfig$c[size].fieldSize +
|
|
1848
|
+
" pe-[".concat(9 + sizeConfig$c[size].iconSize, "px]") }) : sizeConfig$c[size], iconSize = _t.iconSize, fieldSize = _t.fieldSize, iconPosition = _t.iconPosition;
|
|
1823
1849
|
var borderStyle = isTransparent
|
|
1824
1850
|
? 'border-transparent bg-transparent' // customize border rule for transparent variant
|
|
1825
1851
|
: 'border border-bia-grey-dark-10 bg-primary-white';
|
|
@@ -1883,7 +1909,7 @@ TextInput.defaultProps = {
|
|
|
1883
1909
|
};
|
|
1884
1910
|
|
|
1885
1911
|
// Desc: Radio button size configuration
|
|
1886
|
-
var sizeConfig$
|
|
1912
|
+
var sizeConfig$b = {
|
|
1887
1913
|
md: {
|
|
1888
1914
|
checkSize: 'w-[22px] h-[22px]',
|
|
1889
1915
|
labelSize: 'text-size-base',
|
|
@@ -1898,7 +1924,7 @@ var sizeUnion$4 = ['md', 'sm'];
|
|
|
1898
1924
|
function Radio(_a) {
|
|
1899
1925
|
var label = _a.label, _b = _a.size, size = _b === void 0 ? 'md' : _b, id = _a.id, _c = _a.onClick, onClick = _c === void 0 ? function () { } : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.checked, checked = _e === void 0 ? false : _e;
|
|
1900
1926
|
var validatedSize = validUnion(size, sizeUnion$4);
|
|
1901
|
-
var _f = sizeConfig$
|
|
1927
|
+
var _f = sizeConfig$b[validatedSize], checkSize = _f.checkSize, labelSize = _f.labelSize;
|
|
1902
1928
|
return (React.createElement("div", { className: "flex items-center" },
|
|
1903
1929
|
React.createElement("div", { className: "bg-white rounded-full flex flex-shrink-0 justify-center items-center relative ".concat(checkSize) },
|
|
1904
1930
|
React.createElement("input", { id: id, "aria-labelledby": "label1", type: "radio", className: "peer checkbox box-content appearance-none focus:opacity-100 focus:ring-1 focus:ring-offset-2 checked:disabled:border-bia-blue-disabled focus:ring-bia-blue focus:outline-none rounded-full border-bia-coolgrey-light-50 checked:border-bia-blue hover:border-bia-blue-hover disabled:border-bia-grey-dark-10 border-2 absolute cursor-pointer w-full h-full", onClick: function (e) { return onClick(e); }, checked: checked, disabled: disabled }),
|
|
@@ -1914,7 +1940,7 @@ Radio.defaultProps = {
|
|
|
1914
1940
|
checked: false,
|
|
1915
1941
|
};
|
|
1916
1942
|
|
|
1917
|
-
var sizeConfig$
|
|
1943
|
+
var sizeConfig$a = {
|
|
1918
1944
|
md: {
|
|
1919
1945
|
inputClass: 'text-size-base font-[350] min-h-10',
|
|
1920
1946
|
},
|
|
@@ -1937,7 +1963,7 @@ var ResizeIcon = function (_a) {
|
|
|
1937
1963
|
function TextArea(_a) {
|
|
1938
1964
|
var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, id = _a.id, _c = _a.size, size = _c === void 0 ? 'md' : _c, label = _a.label, _d = _a.placeholder, placeholder = _d === void 0 ? '' : _d, required = _a.required, rows = _a.rows, _e = _a.maxLength, maxLength = _e === void 0 ? undefined : _e, value = _a.value, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, _g = _a.autoComplete, autoComplete = _g === void 0 ? 'off' : _g, props = __rest(_a, ["descText", "disabled", "id", "size", "label", "placeholder", "required", "rows", "maxLength", "value", "readOnly", "autoComplete"]);
|
|
1939
1965
|
var inputRow = rows !== null && rows !== void 0 ? rows : 4;
|
|
1940
|
-
var inputClass = sizeConfig$
|
|
1966
|
+
var inputClass = sizeConfig$a[size].inputClass;
|
|
1941
1967
|
var remainWords = maxLength ? maxLength - (value ? value.length : 0) : 0;
|
|
1942
1968
|
return (React.createElement("div", { className: "field-group flex w-full flex-col" },
|
|
1943
1969
|
React.createElement("label", { htmlFor: id, className: "label pb-2 text-xs font-semibold read-only:pointer-events-none" },
|
|
@@ -1967,7 +1993,7 @@ TextArea.defaultProps = {
|
|
|
1967
1993
|
value: '',
|
|
1968
1994
|
};
|
|
1969
1995
|
|
|
1970
|
-
var sizeConfig$
|
|
1996
|
+
var sizeConfig$9 = {
|
|
1971
1997
|
md: {
|
|
1972
1998
|
checkClass: 'w-[22px] h-[22px]',
|
|
1973
1999
|
labelClass: 'text-size-base font-[350]',
|
|
@@ -1981,7 +2007,7 @@ var sizeConfig$8 = {
|
|
|
1981
2007
|
var sizeUnion$3 = ['md', 'sm'];
|
|
1982
2008
|
function Checkbox(_a) {
|
|
1983
2009
|
var _b = _a.disabled, disabled = _b === void 0 ? false : _b, id = _a.id, _c = _a.size, size = _c === void 0 ? 'md' : _c, label = _a.label, _d = _a.onChange, onChange = _d === void 0 ? function () { } : _d, props = __rest(_a, ["disabled", "id", "size", "label", "onChange"]);
|
|
1984
|
-
var _e = sizeConfig$
|
|
2010
|
+
var _e = sizeConfig$9[validUnion(size, sizeUnion$3)], checkClass = _e.checkClass, labelClass = _e.labelClass;
|
|
1985
2011
|
return (React.createElement("div", { className: "flex items-center" },
|
|
1986
2012
|
React.createElement("div", { className: "relative flex flex-shrink-0 items-center justify-center rounded-full bg-white ".concat(checkClass) },
|
|
1987
2013
|
React.createElement("input", __assign({ id: id, type: "checkbox", className: "checkbox peer absolute box-content h-full w-full cursor-pointer appearance-none rounded-full border-2 border-bia-coolgrey-light-50 checked:border-bia-blue hover:border-bia-blue-hover focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-bia-blue focus-visible:ring-offset-2 disabled:border-bia-coolgrey-light-50 disabled:checked:border-bia-blue-light-50", onChange: function (e) { return onChange(e); }, disabled: disabled }, props)),
|
|
@@ -1999,7 +2025,7 @@ Checkbox.defaultProps = {
|
|
|
1999
2025
|
onChange: function () { },
|
|
2000
2026
|
};
|
|
2001
2027
|
|
|
2002
|
-
var sizeConfig$
|
|
2028
|
+
var sizeConfig$8 = {
|
|
2003
2029
|
md: {
|
|
2004
2030
|
searchSize: 'text-size-base p-2.5 font-[350] h-10',
|
|
2005
2031
|
iconSize: 'right-[10px] text-[18px]',
|
|
@@ -2010,7 +2036,7 @@ var sizeConfig$7 = {
|
|
|
2010
2036
|
},
|
|
2011
2037
|
};
|
|
2012
2038
|
|
|
2013
|
-
var sizeConfig$
|
|
2039
|
+
var sizeConfig$7 = {
|
|
2014
2040
|
md: {
|
|
2015
2041
|
container: 'text-size-base font-[350] py-[3px] first:pt-[8px] last:pb-[8px]',
|
|
2016
2042
|
item: 'min-h-[34px] p-2.5',
|
|
@@ -2028,7 +2054,7 @@ function CustomDropdownItem(_a) {
|
|
|
2028
2054
|
var _f = React.useState(false), isHoveredSubMenu = _f[0], setIsHoveredSubMenu = _f[1];
|
|
2029
2055
|
var isOpenDropdown = isHovered || isHoveredSubMenu;
|
|
2030
2056
|
var selectedClass = isSelected ? 'font-semibold' : 'font-normal';
|
|
2031
|
-
var _g = sizeConfig$
|
|
2057
|
+
var _g = sizeConfig$7[size], containerClass = _g.container, item = _g.item;
|
|
2032
2058
|
var itemClass = "".concat(item, " ").concat(selectedClass, " ").concat(className);
|
|
2033
2059
|
var isExistSubDropdown = options.length !== 0;
|
|
2034
2060
|
return (React.createElement("div", { className: "relative w-full focus-visible:outline-bia-blue-light-50 ".concat(containerClass), tabIndex: 0, role: "button", onClick: function (e) { return onClick(e); }, onMouseEnter: function () { return setisHovered(true); }, onMouseLeave: function () { return setisHovered(false); }, onKeyDown: function () { } },
|
|
@@ -2055,7 +2081,7 @@ function DefaultDropdownItem(_a) {
|
|
|
2055
2081
|
var _g = React.useState(false), isHoveredSubMenu = _g[0], setIsHoveredSubMenu = _g[1];
|
|
2056
2082
|
var isOpenDropdown = isHovered || isHoveredSubMenu;
|
|
2057
2083
|
var selectedClass = isSelected ? 'font-semibold' : 'font-normal';
|
|
2058
|
-
var _h = sizeConfig$
|
|
2084
|
+
var _h = sizeConfig$7[size], containerClass = _h.container, item = _h.item;
|
|
2059
2085
|
var itemClass = "".concat(item, " ").concat(selectedClass, " ").concat(className);
|
|
2060
2086
|
var isExistSubDropdown = options.length !== 0;
|
|
2061
2087
|
return (React.createElement("div", { className: "relative w-full focus-visible:outline-bia-blue-light-50 ".concat(containerClass), tabIndex: 0, role: "button", onClick: function (e) { return onClick(e); }, onMouseEnter: function () { return setisHovered(true); }, onMouseLeave: function () { return setisHovered(false); }, onKeyDown: function () { } },
|
|
@@ -2082,7 +2108,7 @@ function SelectInput(_a) {
|
|
|
2082
2108
|
var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, id = _a.id, label = _a.label, options = _a.options, _d = _a.required, required = _d === void 0 ? false : _d, selected = _a.selected, setSelected = _a.setSelected, _e = _a.onClickDropdown, onClickDropdown = _e === void 0 ? function () { } : _e, props = __rest(_a, ["descText", "disabled", "size", "id", "label", "options", "required", "selected", "setSelected", "onClickDropdown"]);
|
|
2083
2109
|
var _f = React.useState(false), isOpen = _f[0], setIsOpen = _f[1];
|
|
2084
2110
|
var validatedSize = validUnion(size, sizeUnion$2);
|
|
2085
|
-
var _g = sizeConfig$
|
|
2111
|
+
var _g = sizeConfig$8[validatedSize], searchSize = _g.searchSize, iconSize = _g.iconSize;
|
|
2086
2112
|
var inputRef = React.useRef(null);
|
|
2087
2113
|
var handleOutsideClick = function (e) {
|
|
2088
2114
|
if (inputRef.current && !inputRef.current.contains(e.target)) {
|
|
@@ -2146,7 +2172,7 @@ SelectInput.defaultProps = {
|
|
|
2146
2172
|
setSelected: function () { },
|
|
2147
2173
|
};
|
|
2148
2174
|
|
|
2149
|
-
var sizeConfig$
|
|
2175
|
+
var sizeConfig$6 = {
|
|
2150
2176
|
md: {
|
|
2151
2177
|
iconClass: 'right-[10px]',
|
|
2152
2178
|
iconSize: '18',
|
|
@@ -2161,11 +2187,89 @@ var sizeConfig$5 = {
|
|
|
2161
2187
|
},
|
|
2162
2188
|
};
|
|
2163
2189
|
|
|
2164
|
-
|
|
2190
|
+
var sizeConfig$5 = {
|
|
2191
|
+
sm: 'min-w-[72px]',
|
|
2192
|
+
md: 'min-w-[96px]',
|
|
2193
|
+
};
|
|
2194
|
+
var fontConfig = {
|
|
2195
|
+
sm: 'text-[12px] font-[400]',
|
|
2196
|
+
md: 'text-[14px] font-[350]',
|
|
2197
|
+
};
|
|
2198
|
+
|
|
2199
|
+
var DropdownContainer = React.forwardRef(function DropdownContainer(propsComp, ref) {
|
|
2200
|
+
var _a = propsComp.isTopFlat, isTopFlat = _a === void 0 ? false : _a, children = propsComp.children, _b = propsComp.open, open = _b === void 0 ? true : _b, _c = propsComp.onClose, onClose = _c === void 0 ? function () { } : _c, _d = propsComp.className, className = _d === void 0 ? '' : _d, _e = propsComp.isWithOverlay, isWithOverlay = _e === void 0 ? true : _e, _f = propsComp.size, size = _f === void 0 ? 'md' : _f, _g = propsComp.onClickItem, onClickItem = _g === void 0 ? function () { } : _g, _h = propsComp.zIndex, zIndex = _h === void 0 ? 0 : _h, restProps = __rest(propsComp, ["isTopFlat", "children", "open", "onClose", "className", "isWithOverlay", "size", "onClickItem", "zIndex"]);
|
|
2201
|
+
var radiusClass = "rounded-b-radius-sm ".concat(!isTopFlat && 'rounded-t-radius-sm');
|
|
2202
|
+
var sizeClass = sizeConfig$5[size] || sizeConfig$5['md'];
|
|
2203
|
+
var containerClass = "".concat(sizeClass, " ").concat(radiusClass, " ").concat(className);
|
|
2204
|
+
var handleClickDrpdownItem = function (e, val) {
|
|
2205
|
+
onClickItem(e, val);
|
|
2206
|
+
onClose();
|
|
2207
|
+
};
|
|
2208
|
+
return (open && (React.createElement(React.Fragment, null,
|
|
2209
|
+
isWithOverlay && (React.createElement("div", { className: "bianic-dropdown-overlay fixed left-0 top-0 z-0 h-screen w-screen", onClick: function () { return onClose(); } })),
|
|
2210
|
+
React.createElement("div", __assign({ style: {
|
|
2211
|
+
zIndex: zIndex,
|
|
2212
|
+
}, ref: ref, className: "bianic-dropdown-container bg-bia-white shadow-[0px_3px_20px_0px_rgba(0,0,0,0.20)] ".concat(containerClass) }, restProps), React.Children.map(children, function (child) {
|
|
2213
|
+
return React.isValidElement(child)
|
|
2214
|
+
? // Kirimkan handleItemClick sebagai props onClick ke setiap DropdownItem
|
|
2215
|
+
React.cloneElement(child, {
|
|
2216
|
+
onClose: function () { return onClose(); },
|
|
2217
|
+
size: size,
|
|
2218
|
+
onClickItem: function (e, val) { return handleClickDrpdownItem(e, val); },
|
|
2219
|
+
zIndex: zIndex,
|
|
2220
|
+
})
|
|
2221
|
+
: child;
|
|
2222
|
+
})))));
|
|
2223
|
+
});
|
|
2224
|
+
DropdownContainer.defaultProps = {
|
|
2225
|
+
isTopFlat: false,
|
|
2226
|
+
};
|
|
2227
|
+
|
|
2228
|
+
function DropdownItem(_a) {
|
|
2229
|
+
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.onClickItem, onClickItem = _c === void 0 ? function () { } : _c, _d = _a.onClose, onClose = _d === void 0 ? function () { } : _d, _e = _a.size, size = _e === void 0 ? 'md' : _e, _f = _a.value, value = _f === void 0 ? '' : _f, content = _a.content, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.zIndex, zIndex = _h === void 0 ? 0 : _h, props = __rest(_a, ["children", "className", "onClickItem", "onClose", "size", "value", "content", "disabled", "zIndex"]);
|
|
2230
|
+
var _j = React.useState(false), isHovered = _j[0], setIsHovered = _j[1];
|
|
2231
|
+
var _k = React.useState(false), isLeft = _k[0], setIsLeft = _k[1];
|
|
2232
|
+
var fontClass = fontConfig[size] || fontConfig['md'];
|
|
2233
|
+
var itemClass = "".concat(fontClass, " ").concat(className);
|
|
2234
|
+
var chevronSize = size === 'sm' ? 14 : 18;
|
|
2235
|
+
var DropdownContRef = React.useRef(null);
|
|
2236
|
+
React.useEffect(function () {
|
|
2237
|
+
var _a;
|
|
2238
|
+
if (DropdownContRef.current) {
|
|
2239
|
+
// Adjust dropdown position to prevent overflow on the right.
|
|
2240
|
+
var MenuContRect = (_a = DropdownContRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
2241
|
+
var RectRight = MenuContRect === null || MenuContRect === void 0 ? void 0 : MenuContRect.right;
|
|
2242
|
+
var innerWindow = window.innerWidth;
|
|
2243
|
+
if (RectRight > innerWindow)
|
|
2244
|
+
setIsLeft(true);
|
|
2245
|
+
else
|
|
2246
|
+
setIsLeft(false);
|
|
2247
|
+
}
|
|
2248
|
+
}, [isHovered]);
|
|
2249
|
+
var translateClass = isLeft
|
|
2250
|
+
? 'left-0 -translate-x-full'
|
|
2251
|
+
: 'right-0 translate-x-full';
|
|
2252
|
+
var currentZIndex = zIndex + 10;
|
|
2253
|
+
return (React.createElement("div", { className: "bianic-dropdown-item group/main relative cursor-pointer first:rounded-t-radius-sm first:pt-[6px] last:rounded-b-radius-sm last:pb-[6px]", onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); } },
|
|
2254
|
+
React.createElement("button", __assign({ className: "relative flex h-full w-full !min-w-fit items-center justify-start whitespace-nowrap px-[15px] py-[5px] text-left text-bia-black disabled:cursor-not-allowed disabled:text-bia-coolgrey-light-50 hover:[&:not(:disabled)]:bg-bia-blue-pastel ".concat(itemClass), style: {
|
|
2255
|
+
zIndex: isHovered ? currentZIndex : 0,
|
|
2256
|
+
}, onClick: function (e) {
|
|
2257
|
+
onClickItem(e, value);
|
|
2258
|
+
}, onKeyDown: function () { }, disabled: disabled, type: "button" }, props),
|
|
2259
|
+
content,
|
|
2260
|
+
React.createElement("div", { className: "ml-auto flex items-center" }, children && (React.createElement(TbChevronRight, { className: "ml-[10px] text-bia-coolgrey", size: chevronSize })))),
|
|
2261
|
+
children && (React.createElement(DropdownContainer, { className: "absolute top-0 bg-primary-white shadow-[0px_3px_20px_0px_rgba(0,0,0,0.20)] group-first/main:top-[6px] ".concat(translateClass), onClose: onClose, open: isHovered, onClickItem: function (e, value) { return onClickItem(e, value); }, size: size, ref: DropdownContRef, zIndex: currentZIndex }, children))));
|
|
2262
|
+
}
|
|
2263
|
+
DropdownItem.defaultProps = {
|
|
2264
|
+
className: '',
|
|
2265
|
+
onClickItem: function () { },
|
|
2266
|
+
};
|
|
2267
|
+
|
|
2165
2268
|
function LiveSearch(_a) {
|
|
2166
|
-
var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, id = _a.id, _c = _a.size, size = _c === void 0 ? 'md' : _c, label = _a.label, placeholder = _a.placeholder, _d = _a.required, required = _d === void 0 ? false : _d, options = _a.options, setValue = _a.setValue, value = _a.value, _e = _a.readOnly, readOnly = _e === void 0 ? false : _e, _f = _a.onChangeText, onChangeText = _f === void 0 ? function () { } : _f, _g = _a.onClickDropdown, onClickDropdown = _g === void 0 ? function () { } : _g, _h = _a.autoComplete, autoComplete = _h === void 0 ? 'off' : _h;
|
|
2167
|
-
var
|
|
2168
|
-
var
|
|
2269
|
+
var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, id = _a.id, _c = _a.size, size = _c === void 0 ? 'md' : _c, label = _a.label, placeholder = _a.placeholder, _d = _a.required, required = _d === void 0 ? false : _d, options = _a.options, setValue = _a.setValue, value = _a.value, _e = _a.readOnly, readOnly = _e === void 0 ? false : _e, _f = _a.onChangeText, onChangeText = _f === void 0 ? function () { } : _f, _g = _a.onClickDropdown, onClickDropdown = _g === void 0 ? function () { } : _g, _h = _a.autoComplete, autoComplete = _h === void 0 ? 'off' : _h, _j = _a.children, children = _j === void 0 ? undefined : _j, _k = _a.dropdownClassName, dropdownClassName = _k === void 0 ? '' : _k, _l = _a.dropContProps, dropContProps = _l === void 0 ? undefined : _l;
|
|
2270
|
+
var _m = React.useState(false), isOpen = _m[0], setIsOpen = _m[1];
|
|
2271
|
+
var _o = React.useState(value.label || ''), searchTerm = _o[0], setSearchTerm = _o[1];
|
|
2272
|
+
var _p = sizeConfig$6[size], iconClass = _p.iconClass, iconSize = _p.iconSize, inputClass = _p.inputClass;
|
|
2169
2273
|
var inputRef = React.useRef(null);
|
|
2170
2274
|
var handleOutsideClick = function (e) {
|
|
2171
2275
|
if (inputRef.current && !inputRef.current.contains(e.target)) {
|
|
@@ -2178,30 +2282,108 @@ function LiveSearch(_a) {
|
|
|
2178
2282
|
document.removeEventListener('mousedown', handleOutsideClick);
|
|
2179
2283
|
};
|
|
2180
2284
|
});
|
|
2285
|
+
// Synchronize internal searchTerm with external value prop
|
|
2286
|
+
React.useEffect(function () {
|
|
2287
|
+
// Only update searchTerm if the label from the value prop differs from the current searchTerm
|
|
2288
|
+
// This prevents infinite loops if searchTerm is already the same as value.label
|
|
2289
|
+
if (value.label !== searchTerm) {
|
|
2290
|
+
setSearchTerm(value.label || '');
|
|
2291
|
+
}
|
|
2292
|
+
}, [value.label, searchTerm]);
|
|
2181
2293
|
var filteredOptions = options.filter(function (item) {
|
|
2182
2294
|
return item.label.toLowerCase().includes(value.label.toLowerCase());
|
|
2183
2295
|
});
|
|
2184
|
-
|
|
2185
|
-
|
|
2296
|
+
var handleInputChange = function (e) {
|
|
2297
|
+
var newSearchTerm = e.target.value;
|
|
2298
|
+
setSearchTerm(newSearchTerm);
|
|
2299
|
+
setIsOpen(true); // Ensure dropdown opens when typing
|
|
2300
|
+
};
|
|
2301
|
+
var handleDropdownItemClick = React.useCallback(function (clickedValue) {
|
|
2302
|
+
setSearchTerm(clickedValue.label); // Set input text to the selected label
|
|
2303
|
+
setValue(clickedValue); // Update the value in the parent
|
|
2304
|
+
setIsOpen(false);
|
|
2305
|
+
}, [setValue]);
|
|
2306
|
+
// Recursive function to filter and clone DropdownItems, including nested items
|
|
2307
|
+
var processDropdownChildren = function (nodes, currentSearchTerm, includeAllIfNoSearch) {
|
|
2308
|
+
return React.Children.map(nodes, function (child) {
|
|
2309
|
+
if (!React.isValidElement(child) || child.type !== DropdownItem) {
|
|
2310
|
+
return child; // Render non-DropdownItem or other elements as is
|
|
2311
|
+
}
|
|
2312
|
+
var itemProps = child.props; // Cast to any to access props
|
|
2313
|
+
var itemValue = itemProps.value;
|
|
2314
|
+
var isDisabled = itemProps.disabled;
|
|
2315
|
+
// Filter based on searchTerm only if searchTerm is present
|
|
2316
|
+
if (currentSearchTerm &&
|
|
2317
|
+
!itemValue.toLowerCase().includes(currentSearchTerm.toLowerCase())) {
|
|
2318
|
+
return null; // Do not render if it doesn't match
|
|
2319
|
+
}
|
|
2320
|
+
// If includeAllIfNoSearch is true (when searchTerm is empty), do not filter.
|
|
2321
|
+
// If includeAllIfNoSearch is false (when searchTerm is present), filtering has been done above.
|
|
2322
|
+
// Clone its children recursively if any
|
|
2323
|
+
var clonedChildren = itemProps.children
|
|
2324
|
+
? processDropdownChildren(itemProps.children, currentSearchTerm)
|
|
2325
|
+
: null;
|
|
2326
|
+
// Clone the DropdownItem to inject the onClick prop
|
|
2327
|
+
return React.cloneElement(child, {
|
|
2328
|
+
onClick: function (e) {
|
|
2329
|
+
if (!isDisabled) {
|
|
2330
|
+
handleDropdownItemClick({
|
|
2331
|
+
id: itemValue,
|
|
2332
|
+
label: itemValue,
|
|
2333
|
+
});
|
|
2334
|
+
}
|
|
2335
|
+
if (dropContProps === null || dropContProps === void 0 ? void 0 : dropContProps.onClickItem) {
|
|
2336
|
+
dropContProps.onClickItem(e, itemValue);
|
|
2337
|
+
}
|
|
2338
|
+
},
|
|
2339
|
+
children: clonedChildren, // Ensure processed children are also cloned
|
|
2340
|
+
});
|
|
2341
|
+
});
|
|
2342
|
+
};
|
|
2343
|
+
// Determine which children to display
|
|
2344
|
+
var renderedChildren = null;
|
|
2345
|
+
var hasFilteredResults = false;
|
|
2346
|
+
if (searchTerm) {
|
|
2347
|
+
// If there's a searchTerm, filter children
|
|
2348
|
+
renderedChildren = processDropdownChildren(children, searchTerm);
|
|
2349
|
+
hasFilteredResults =
|
|
2350
|
+
React.Children.toArray(renderedChildren).filter(Boolean).length > 0;
|
|
2351
|
+
}
|
|
2352
|
+
else {
|
|
2353
|
+
// If searchTerm is empty, display all children without filtering (but with onClick injected)
|
|
2354
|
+
renderedChildren = processDropdownChildren(children, '');
|
|
2355
|
+
hasFilteredResults =
|
|
2356
|
+
React.Children.toArray(renderedChildren).filter(Boolean).length > 0; // Should always be true if there are initial children
|
|
2357
|
+
}
|
|
2358
|
+
return (React.createElement("div", { className: "bianic-livesearch field-group flex w-full flex-col gap-y-2", ref: inputRef },
|
|
2359
|
+
React.createElement("label", { htmlFor: id, className: "bianic-livesearch-label text-xs font-semibold read-only:pointer-events-none" },
|
|
2186
2360
|
label,
|
|
2187
2361
|
required && React.createElement("span", { className: "p-1 text-bia-red" }, "*")),
|
|
2188
2362
|
React.createElement("div", { className: "group relative w-full" },
|
|
2189
|
-
React.createElement("input", { className: "field peer w-full rounded border border-bia-grey-dark-10 bg-primary-white read-only:pointer-events-none read-only:border-bia-grey-disabled focus-visible:outline-none enabled:hover:rounded-b-none enabled:hover:border-b-bia-blue enabled:focus:rounded-b-none enabled:focus:border-b-bia-blue disabled:border-bia-grey-dark-10 disabled:bg-bia-grey-light-10 disabled:text-bia-coolgrey ".concat(inputClass), onClick: function () { return setIsOpen(!isOpen); }, value:
|
|
2363
|
+
React.createElement("input", { className: "bianic-livesearch-input field peer w-full rounded border border-bia-grey-dark-10 bg-primary-white read-only:pointer-events-none read-only:border-bia-grey-disabled focus-visible:outline-none enabled:hover:rounded-b-none enabled:hover:border-b-bia-blue enabled:focus:rounded-b-none enabled:focus:border-b-bia-blue disabled:border-bia-grey-dark-10 disabled:bg-bia-grey-light-10 disabled:text-bia-coolgrey ".concat(inputClass), onClick: function () { return setIsOpen(!isOpen); }, value: searchTerm, required: required, disabled: disabled, id: id, placeholder: placeholder, onChange: function (e) {
|
|
2190
2364
|
onChangeText(e);
|
|
2191
2365
|
setValue({ id: null, label: e.target.value });
|
|
2192
|
-
|
|
2193
|
-
|
|
2366
|
+
handleInputChange(e);
|
|
2367
|
+
}, type: "text", readOnly: readOnly, autoComplete: autoComplete }),
|
|
2368
|
+
React.createElement("div", { className: "absolute inset-y-0 flex items-center pl-3 group-hover:hidden ".concat(iconClass) },
|
|
2194
2369
|
React.createElement(TbZoom, { className: "text-primary-black", style: { fontSize: iconSize } })),
|
|
2195
|
-
|
|
2370
|
+
React.createElement("div", { className: "absolute inset-y-0 z-20 hidden pl-3 group-hover:block ".concat(iconClass) },
|
|
2371
|
+
React.createElement("button", { onClick: function () { return setValue({ id: null, label: '' }); }, className: "flex h-full w-full items-center" },
|
|
2372
|
+
React.createElement(TbX, { className: "text-primary-black", style: { fontSize: iconSize } }))),
|
|
2373
|
+
children !== undefined && isOpen && (React.createElement("div", { className: "border-grey-100 absolute z-10 max-h-60 w-full overflow-y-auto rounded-b-md border bg-primary-white shadow-lg", onClick: onClickDropdown }, filteredOptions.map(function (option) {
|
|
2196
2374
|
var isSelected = value && value.id && option.id === value.id;
|
|
2197
|
-
return option.custom ? (React.createElement(CustomDropdownItem, { size: size, isSelected: isSelected, onClick: function () {
|
|
2375
|
+
return option.custom ? (React.createElement(CustomDropdownItem, { size: size, isSelected: isSelected, className: dropdownClassName, onClick: function () {
|
|
2198
2376
|
setValue(option);
|
|
2199
2377
|
setIsOpen(false);
|
|
2200
|
-
} }, option.custom)) : (React.createElement(DefaultDropdownItem, { label: option.label, size: size, isSelected: isSelected, onClick: function () {
|
|
2378
|
+
} }, option.custom)) : (React.createElement(DefaultDropdownItem, { label: option.label, size: size, isSelected: isSelected, className: dropdownClassName, onClick: function () {
|
|
2201
2379
|
setValue(option);
|
|
2202
2380
|
setIsOpen(false);
|
|
2203
2381
|
} }));
|
|
2204
|
-
})))
|
|
2382
|
+
}))),
|
|
2383
|
+
children && isOpen && (React.createElement(DropdownContainer, __assign({ open: isOpen, onClose: function () { return setIsOpen(false); }, size: size, isTopFlat: true, className: "bianic-livesearch-dropdown absolute z-10 mt-1 w-full overflow-hidden rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none ".concat(dropdownClassName) }, dropContProps), hasFilteredResults
|
|
2384
|
+
? renderedChildren
|
|
2385
|
+
: // If no results and searchTerm is present
|
|
2386
|
+
searchTerm.length > 0 && (React.createElement(DropdownItem, { content: React.createElement("div", { className: "px-4 py-2 text-gray-500" }, "Tidak ada hasil ditemukan.") }))))),
|
|
2205
2387
|
React.createElement("span", { className: "desc text-xs text-primary-cool" }, descText)));
|
|
2206
2388
|
}
|
|
2207
2389
|
LiveSearch.defaultProps = {
|
|
@@ -3297,6 +3479,8 @@ exports.Color = Color;
|
|
|
3297
3479
|
exports.ContextualButton = ContextualButton;
|
|
3298
3480
|
exports.Display = Display;
|
|
3299
3481
|
exports.Divider = Divider;
|
|
3482
|
+
exports.DropdownContainer = DropdownContainer;
|
|
3483
|
+
exports.DropdownItem = DropdownItem;
|
|
3300
3484
|
exports.FileTree = FileTree;
|
|
3301
3485
|
exports.FormGroup = FormGroup;
|
|
3302
3486
|
exports.FormGroupButton = FormGroupButton;
|