@televet/kibble-ui 1.14.9 → 1.14.10-beta.4738dbh.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/build/components/DataDisplay/Tag/tag.component.d.ts +2 -1
- package/build/components/Overlay/Menu/components/MenuItem/menuItem.argTypes.d.ts +1 -0
- package/build/components/Overlay/Menu/components/MenuItem/menuItem.component.d.ts +3 -1
- package/build/components/Overlay/Menu/menu.argTypes.d.ts +1 -0
- package/build/index.js +27 -20
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,5 +8,6 @@ export interface TagProps extends ChakraTagProps {
|
|
|
8
8
|
showCloseButton?: boolean;
|
|
9
9
|
size?: TagSize;
|
|
10
10
|
onClose?: React.MouseEventHandler<HTMLButtonElement>;
|
|
11
|
+
fontWeight?: 'regular' | 'semibold';
|
|
11
12
|
}
|
|
12
|
-
export declare const Tag: ({ leftElement, rightElement, label, showCloseButton, onClose, size, ...rest }: TagProps) => JSX.Element;
|
|
13
|
+
export declare const Tag: ({ leftElement, rightElement, label, showCloseButton, onClose, fontWeight, size, ...rest }: TagProps) => JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode, MutableRefObject, KeyboardEvent } from 'react';
|
|
2
|
+
import { TextColor } from 'components/Typography';
|
|
2
3
|
export interface MenuItemProps {
|
|
3
4
|
canSelectAll?: boolean;
|
|
4
5
|
children?: ReactNode;
|
|
@@ -16,6 +17,7 @@ export interface MenuItemProps {
|
|
|
16
17
|
shouldRetainSelection?: boolean;
|
|
17
18
|
shouldTruncateText?: boolean;
|
|
18
19
|
value?: string;
|
|
20
|
+
colorToken?: TextColor;
|
|
19
21
|
}
|
|
20
|
-
declare const MenuItem: ({ isMultiSelect, canSelectAll, children, closeOnSelect, groupLabel, handleKeyboardNavigation, isDisabled, isSelected, itemIndex, label, leftElement, menuItemRefs, onSelect, shouldRetainSelection, shouldTruncateText, value, ...rest }: MenuItemProps) => JSX.Element;
|
|
22
|
+
declare const MenuItem: ({ isMultiSelect, canSelectAll, children, closeOnSelect, groupLabel, handleKeyboardNavigation, isDisabled, isSelected, itemIndex, label, leftElement, menuItemRefs, onSelect, shouldRetainSelection, shouldTruncateText, value, colorToken, ...rest }: MenuItemProps) => JSX.Element;
|
|
21
23
|
export default MenuItem;
|
package/build/index.js
CHANGED
|
@@ -105,11 +105,11 @@ var paddingRightBySize = {
|
|
|
105
105
|
lg: 1,
|
|
106
106
|
};
|
|
107
107
|
var Tag = function (_a) {
|
|
108
|
-
var leftElement = _a.leftElement, rightElement = _a.rightElement, label = _a.label, _b = _a.showCloseButton, showCloseButton = _b === void 0 ? false : _b, onClose = _a.onClose, _c = _a.size, size =
|
|
108
|
+
var leftElement = _a.leftElement, rightElement = _a.rightElement, label = _a.label, _b = _a.showCloseButton, showCloseButton = _b === void 0 ? false : _b, onClose = _a.onClose, _c = _a.fontWeight, fontWeight = _c === void 0 ? 'semibold' : _c, _d = _a.size, size = _d === void 0 ? 'md' : _d, rest = __rest(_a, ["leftElement", "rightElement", "label", "showCloseButton", "onClose", "fontWeight", "size"]);
|
|
109
109
|
var labelStyle = __assign(__assign({}, (!!leftElement && { ml: 1 })), (!!rightElement && { mr: 1 }));
|
|
110
110
|
return (React__default["default"].createElement(react.Tag, __assign({}, rest, { size: size }, (showCloseButton && { pr: paddingRightBySize[size] })),
|
|
111
111
|
leftElement,
|
|
112
|
-
React__default["default"].createElement(react.TagLabel, __assign({}, labelStyle), label),
|
|
112
|
+
React__default["default"].createElement(react.TagLabel, __assign({}, labelStyle, { fontWeight: fontWeight }), label),
|
|
113
113
|
rightElement,
|
|
114
114
|
showCloseButton && !!onClose && React__default["default"].createElement(react.TagCloseButton, { onClick: onClose })));
|
|
115
115
|
};
|
|
@@ -1636,17 +1636,17 @@ var Button = React.forwardRef(function (props, ref) {
|
|
|
1636
1636
|
};
|
|
1637
1637
|
var iconName = p.iconName; p.darkMode; var iconPosition = p.iconPosition, domProps = __rest(p, ["iconName", "darkMode", "iconPosition"]);
|
|
1638
1638
|
if (iconName) {
|
|
1639
|
-
var ButtonIcon = React__default["default"].createElement(Icon, { size: p.size, name: iconName });
|
|
1639
|
+
var ButtonIcon = React__default["default"].createElement(Icon, { size: p.size || 'md', name: iconName });
|
|
1640
1640
|
if (!domProps.children) {
|
|
1641
1641
|
var label = camelCaseToLabel(iconName);
|
|
1642
|
-
return (React__default["default"].createElement(react.IconButton, __assign({ ref: ref, _hover: hoverClass, _active: activeClass, "aria-label": label, icon: ButtonIcon }, domProps)));
|
|
1642
|
+
return (React__default["default"].createElement(react.IconButton, __assign({ ref: ref, _hover: hoverClass, _active: activeClass, "aria-label": label, icon: ButtonIcon, size: p.size || 'md' }, domProps)));
|
|
1643
1643
|
}
|
|
1644
1644
|
else {
|
|
1645
1645
|
var position = iconPosition === 'right' ? 'rightIcon' : 'leftIcon';
|
|
1646
1646
|
domProps[position] = ButtonIcon;
|
|
1647
1647
|
}
|
|
1648
1648
|
}
|
|
1649
|
-
return (React__default["default"].createElement(react.Button, __assign({ fontWeight: fontWeights.semibold, ref: ref, _hover: hoverClass, _active: activeClass, iconSpacing: domProps.size === 'sm' || domProps.size === 'xs' ? '4px' : '8px', borderRadius: radii.base }, domProps), domProps.children));
|
|
1649
|
+
return (React__default["default"].createElement(react.Button, __assign({ fontWeight: fontWeights.semibold, ref: ref, _hover: hoverClass, _active: activeClass, size: p.size || 'md', iconSpacing: domProps.size === 'sm' || domProps.size === 'xs' ? '4px' : '8px', borderRadius: radii.base }, domProps), domProps.children));
|
|
1650
1650
|
});
|
|
1651
1651
|
Button.displayName = 'Button';
|
|
1652
1652
|
|
|
@@ -4394,9 +4394,10 @@ var MenuConfig = {
|
|
|
4394
4394
|
};
|
|
4395
4395
|
|
|
4396
4396
|
var MenuItem = function (_a) {
|
|
4397
|
-
var isMultiSelect = _a.isMultiSelect, canSelectAll = _a.canSelectAll, children = _a.children, _b = _a.closeOnSelect, closeOnSelect = _b === void 0 ? !isMultiSelect : _b; _a.groupLabel; var _c = _a.handleKeyboardNavigation, handleKeyboardNavigation = _c === void 0 ? function () { } : _c, isDisabled = _a.isDisabled, isSelected = _a.isSelected, _d = _a.itemIndex, itemIndex = _d === void 0 ? '0' : _d, label = _a.label, leftElement = _a.leftElement, menuItemRefs = _a.menuItemRefs, onSelect = _a.onSelect, shouldRetainSelection = _a.shouldRetainSelection, shouldTruncateText = _a.shouldTruncateText, value = _a.value, rest = __rest(_a, ["isMultiSelect", "canSelectAll", "children", "closeOnSelect", "groupLabel", "handleKeyboardNavigation", "isDisabled", "isSelected", "itemIndex", "label", "leftElement", "menuItemRefs", "onSelect", "shouldRetainSelection", "shouldTruncateText", "value"]);
|
|
4397
|
+
var isMultiSelect = _a.isMultiSelect, canSelectAll = _a.canSelectAll, children = _a.children, _b = _a.closeOnSelect, closeOnSelect = _b === void 0 ? !isMultiSelect : _b; _a.groupLabel; var _c = _a.handleKeyboardNavigation, handleKeyboardNavigation = _c === void 0 ? function () { } : _c, isDisabled = _a.isDisabled, isSelected = _a.isSelected, _d = _a.itemIndex, itemIndex = _d === void 0 ? '0' : _d, label = _a.label, leftElement = _a.leftElement, menuItemRefs = _a.menuItemRefs, onSelect = _a.onSelect, shouldRetainSelection = _a.shouldRetainSelection, shouldTruncateText = _a.shouldTruncateText, value = _a.value, colorToken = _a.colorToken, rest = __rest(_a, ["isMultiSelect", "canSelectAll", "children", "closeOnSelect", "groupLabel", "handleKeyboardNavigation", "isDisabled", "isSelected", "itemIndex", "label", "leftElement", "menuItemRefs", "onSelect", "shouldRetainSelection", "shouldTruncateText", "value", "colorToken"]);
|
|
4398
4398
|
var colors = useTheme().colors;
|
|
4399
4399
|
var onClose = react.useMenuState().onClose;
|
|
4400
|
+
var adaptiveColor = useAdaptiveColorMap(colors.text, colorToken ? colorToken : 'default');
|
|
4400
4401
|
var handleSelect = React.useCallback(function () {
|
|
4401
4402
|
if (isDisabled)
|
|
4402
4403
|
return;
|
|
@@ -4411,16 +4412,21 @@ var MenuItem = function (_a) {
|
|
|
4411
4412
|
onClose();
|
|
4412
4413
|
}
|
|
4413
4414
|
}, [value, onSelect, onClose, closeOnSelect, isDisabled, label, leftElement]);
|
|
4414
|
-
|
|
4415
|
+
var fontColor = React.useMemo(function () {
|
|
4416
|
+
if (colorToken) {
|
|
4417
|
+
return adaptiveColor;
|
|
4418
|
+
}
|
|
4419
|
+
return isSelected && shouldRetainSelection && !isMultiSelect ? colors.text.light.link : colors.text.light.default;
|
|
4420
|
+
}, [isSelected, shouldRetainSelection, isMultiSelect, adaptiveColor, colorToken, colors]);
|
|
4421
|
+
return (React__default["default"].createElement(react.Box, __assign({}, MenuItemConfig, { bg: isSelected && !isMultiSelect ? colors.background.hover : '', className: "MenuList__Item", onClick: handleSelect, onKeyDown: function (e) { return handleKeyboardNavigation(e, false); }, tabIndex: parseInt(canSelectAll ? (itemIndex += 2) : itemIndex), ref: function (el) {
|
|
4415
4422
|
return menuItemRefs && itemIndex ? (menuItemRefs.current[parseInt(itemIndex)] = el) : null;
|
|
4416
4423
|
},
|
|
4417
4424
|
// @ts-ignore
|
|
4418
|
-
disabled: isDisabled }, rest), children ? (children) : (React__default["default"].createElement(react.HStack, {
|
|
4425
|
+
disabled: isDisabled }, rest), children ? (children) : (React__default["default"].createElement(react.HStack, { align: "center", spacing: 3, minH: 5, color: fontColor },
|
|
4419
4426
|
isMultiSelect && (React__default["default"].createElement(react.Box, { className: "MenuList__ItemCheckbox" },
|
|
4420
4427
|
React__default["default"].createElement(Checkbox, { variant: "round", isChecked: isSelected, size: "sm" }))),
|
|
4421
|
-
React__default["default"].createElement(react.
|
|
4422
|
-
|
|
4423
|
-
React__default["default"].createElement(react.Box, { className: "MenuList__ItemLabel" }, shouldTruncateText ? React__default["default"].createElement(TruncatedText, { textContent: label || '', noOfLines: 1 }) : React__default["default"].createElement(Text, null, label)))))));
|
|
4428
|
+
leftElement && (React__default["default"].createElement(react.Flex, { align: "center", justify: "center", className: "MenuList__ItemLeftElement" }, leftElement)),
|
|
4429
|
+
React__default["default"].createElement(react.Box, { className: "MenuList__ItemLabel" }, shouldTruncateText ? React__default["default"].createElement(TruncatedText, { textContent: label || '', noOfLines: 1 }) : React__default["default"].createElement(Text, null, label))))));
|
|
4424
4430
|
};
|
|
4425
4431
|
|
|
4426
4432
|
var MenuSearchBar = function (_a) {
|
|
@@ -4578,7 +4584,7 @@ var MenuList = function (_a) {
|
|
|
4578
4584
|
}
|
|
4579
4585
|
}
|
|
4580
4586
|
}, [filteredMenuItems, isGrouped, setGroups]);
|
|
4581
|
-
var getMenuItem = React.useCallback(function (item, index) { return (React__default["default"].createElement(MenuItem, { handleKeyboardNavigation: handleKeyboardNavigation, isMultiSelect: isMultiSelect, canSelectAll: canSelectAll, isSelected: item.isSelected, isDisabled: item.isDisabled, itemIndex: index.toString(), key: item.value, label: item.label, leftElement: item.leftElement, menuItemRefs: menuItemRefs, onSelect: function (selectedItem) { return handleToggleSingleItem(selectedItem, item.onSelect); }, value: item.value, children: item.children, closeOnSelect: item.closeOnSelect, shouldRetainSelection: shouldRetainSelection, shouldTruncateText: shouldTruncateText })); }, [
|
|
4587
|
+
var getMenuItem = React.useCallback(function (item, index) { return (React__default["default"].createElement(MenuItem, { handleKeyboardNavigation: handleKeyboardNavigation, isMultiSelect: isMultiSelect, canSelectAll: canSelectAll, isSelected: item.isSelected, isDisabled: item.isDisabled, itemIndex: index.toString(), key: item.value, label: item.label, leftElement: item.leftElement, menuItemRefs: menuItemRefs, onSelect: function (selectedItem) { return handleToggleSingleItem(selectedItem, item.onSelect); }, value: item.value, children: item.children, closeOnSelect: item.closeOnSelect, shouldRetainSelection: shouldRetainSelection, shouldTruncateText: shouldTruncateText, colorToken: item.colorToken })); }, [
|
|
4582
4588
|
handleKeyboardNavigation,
|
|
4583
4589
|
handleToggleSingleItem,
|
|
4584
4590
|
isMultiSelect,
|
|
@@ -4594,15 +4600,15 @@ var MenuList = function (_a) {
|
|
|
4594
4600
|
if (children) {
|
|
4595
4601
|
return React__default["default"].createElement(react.MenuList, __assign({}, rest), children);
|
|
4596
4602
|
}
|
|
4597
|
-
return (React__default["default"].createElement(react.MenuList, __assign({ className: "MeuList" }, rest, { maxW: maxW, maxH: maxH, minW: minW, overflow: "hidden auto" }),
|
|
4603
|
+
return (React__default["default"].createElement(react.MenuList, __assign({ className: "MeuList" }, rest, { maxW: maxW || 'unset', maxH: maxH, minW: minW, overflow: "hidden auto" }),
|
|
4598
4604
|
(isSearchable || (canSelectAll && isMultiSelect)) && (React__default["default"].createElement(react.Box, { className: "MenuList__Header", m: "0 12px 8px" },
|
|
4599
4605
|
isSearchable && (React__default["default"].createElement(MenuSearchBar, { handleKeyboardNavigation: handleKeyboardNavigation, menuItems: menuItems || [], searchInputRef: searchInputRef, setFilteredMenuItems: setFilteredMenuItems, placeholder: searchPlaceholder })),
|
|
4600
4606
|
canSelectAll && isMultiSelect && (React__default["default"].createElement(MenuSelectAllButtons, { handleToggleAllItems: handleToggleAllItems, hasSelectedItems: Boolean(filteredMenuItems === null || filteredMenuItems === void 0 ? void 0 : filteredMenuItems.find(function (item) { return item.isSelected; })), isGrouped: false })))),
|
|
4601
|
-
React__default["default"].createElement(react.Box, { className: "MenuList__Body" }, !(filteredMenuItems === null || filteredMenuItems === void 0 ? void 0 : filteredMenuItems.length) ? (React__default["default"].createElement(react.Box, { textAlign: "center", display: "block", p:
|
|
4607
|
+
React__default["default"].createElement(react.Box, { className: "MenuList__Body" }, !(filteredMenuItems === null || filteredMenuItems === void 0 ? void 0 : filteredMenuItems.length) ? (React__default["default"].createElement(react.Box, { textAlign: "center", display: "block", p: 3 },
|
|
4602
4608
|
React__default["default"].createElement(Text, { size: "sm", colorToken: "subtle" }, "No results found"))) : isGrouped ? (groups === null || groups === void 0 ? void 0 : groups.map(function (groupName, index) {
|
|
4603
4609
|
var menuItems = filteredMenuItems === null || filteredMenuItems === void 0 ? void 0 : filteredMenuItems.filter(function (item) { return item.groupLabel === groupName; });
|
|
4604
4610
|
return (React__default["default"].createElement(react.Box, { className: "MenuList__Group", key: "".concat(groupName || 'noGroup', "-").concat(index) },
|
|
4605
|
-
groupName && (React__default["default"].createElement(react.Flex, { minH:
|
|
4611
|
+
groupName && (React__default["default"].createElement(react.Flex, { minH: 8, pt: 4, pr: 3, pb: 1, pl: 5, justify: "space-between", align: "center" },
|
|
4606
4612
|
React__default["default"].createElement(react.Box, { textAlign: "left", className: "MenuList__GroupTitle" },
|
|
4607
4613
|
React__default["default"].createElement(Heading, { size: "xs" }, groupName)),
|
|
4608
4614
|
isMultiSelect && canSelectGroups && (React__default["default"].createElement(MenuSelectAllButtons, { handleToggleAllItems: handleToggleAllItems, hasSelectedItems: Boolean(menuItems === null || menuItems === void 0 ? void 0 : menuItems.find(function (item) { return item.isSelected; })), isGrouped: true, groupName: groupName })))), menuItems === null || menuItems === void 0 ? void 0 :
|
|
@@ -4621,9 +4627,11 @@ var Select = function (_a) {
|
|
|
4621
4627
|
var _c = __read(React.useState({
|
|
4622
4628
|
label: placeholder,
|
|
4623
4629
|
value: '',
|
|
4630
|
+
colorToken: 'placeholder',
|
|
4624
4631
|
leftElement: null,
|
|
4625
4632
|
isPlaceholder: true,
|
|
4626
4633
|
}), 2), selectedOption = _c[0], setSelectedOption = _c[1];
|
|
4634
|
+
var adaptiveColor = useAdaptiveColorMap(colors.text, selectedOption.colorToken ? selectedOption.colorToken : 'default');
|
|
4627
4635
|
React.useEffect(function () {
|
|
4628
4636
|
if (value) {
|
|
4629
4637
|
var defaultValue = options.find(function (option) { return option.value === value; });
|
|
@@ -4659,12 +4667,12 @@ var Select = function (_a) {
|
|
|
4659
4667
|
listProps.onClose(selectedOption);
|
|
4660
4668
|
}
|
|
4661
4669
|
};
|
|
4662
|
-
var flexibleHeightProps = !shouldTruncateText ? { height: 'max-content', minH:
|
|
4670
|
+
var flexibleHeightProps = !shouldTruncateText ? { height: 'max-content', minH: 10 } : {};
|
|
4663
4671
|
return (React__default["default"].createElement(MenuProvider, { menuItems: options, onClose: handleMenuClose },
|
|
4664
4672
|
React__default["default"].createElement(MenuContainer, { matchWidth: true, isLazy: true },
|
|
4665
4673
|
React__default["default"].createElement(react.Select, __assign({ as: react.MenuButton, _focus: __assign({}, focusStyle), onClick: function (event) { return event.stopPropagation(); }, type: "button", className: "Select__MenuButton", ref: selectRef, size: size }, flexibleHeightProps, domProps),
|
|
4666
|
-
React__default["default"].createElement(react.Flex, { className: "Select__Container",
|
|
4667
|
-
(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.leftElement) ? (React__default["default"].createElement(react.
|
|
4674
|
+
React__default["default"].createElement(react.Flex, { className: "Select__Container", justify: "flex-start", align: "center", textAlign: "left", color: adaptiveColor },
|
|
4675
|
+
(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.leftElement) ? (React__default["default"].createElement(react.Flex, { align: "center", className: "Select__LeftElement", pr: 2 }, selectedOption.leftElement)) : (listProps === null || listProps === void 0 ? void 0 : listProps.defaultLeftElement) ? (React__default["default"].createElement(react.Flex, { align: "center", className: "Select__LeftElement", pr: 2 }, listProps.defaultLeftElement)) : null,
|
|
4668
4676
|
shouldTruncateText ? (React__default["default"].createElement(TruncatedText, { className: "Select__Text", textContent: selectedOption.label || '', noOfLines: 1 })) : (React__default["default"].createElement(Text, { className: "Select__Text" }, selectedOption.label)))),
|
|
4669
4677
|
React__default["default"].createElement(MenuList, __assign({ maxW: selectWidth || (listProps === null || listProps === void 0 ? void 0 : listProps.maxW) }, listProps, { shouldTruncateText: shouldTruncateText, shouldRetainSelection: true, menuItems: options.map(function (option) {
|
|
4670
4678
|
option.isSelected = option.value === selectedOption.value;
|
|
@@ -13079,10 +13087,9 @@ var Modal = function (_a) {
|
|
|
13079
13087
|
// Responsive values for full screen modals on phones.
|
|
13080
13088
|
var fullScreenMobileSize = react.useBreakpointValue({ base: 'full', md: size });
|
|
13081
13089
|
var fullScreenMobileBorderRadius = react.useBreakpointValue({ base: 0, md: radii.xl });
|
|
13082
|
-
var fullScreenMobileContentMargin = react.useBreakpointValue({ base: 0, md: 16 });
|
|
13083
13090
|
var Modal = (React__default["default"].createElement(react.Modal, __assign({ closeOnEsc: allowEscape, closeOnOverlayClick: allowEscape, autoFocus: !!initialFocusRef, isOpen: isOpen, onClose: onClose, scrollBehavior: scrollBehavior, isCentered: isCentered, size: useFullScreenMobile ? fullScreenMobileSize : size, motionPreset: "slideInBottom" }, rest),
|
|
13084
13091
|
React__default["default"].createElement(react.ModalOverlay, null),
|
|
13085
|
-
React__default["default"].createElement(react.ModalContent, { backgroundColor: backgroundColor, m: useFullScreenMobile ?
|
|
13092
|
+
React__default["default"].createElement(react.ModalContent, __assign({ backgroundColor: backgroundColor, m: useFullScreenMobile ? 0 : 16 }, (!useFullScreenMobile && { mx: 5 }), { borderRadius: useFullScreenMobile ? fullScreenMobileBorderRadius : radii.xl }, (useFullScreenMobile && { minH: { base: '-webkit-fill-available', md: 'auto' } })), children)));
|
|
13086
13093
|
return withDarkMode$1(Modal, !!darkMode);
|
|
13087
13094
|
};
|
|
13088
13095
|
|