@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.
@@ -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,5 +1,6 @@
1
1
  export declare const menuItemArgTypes: {
2
2
  closeOnSelect: any;
3
+ colorToken: any;
3
4
  groupLabel: any;
4
5
  isDisabled: any;
5
6
  isMultiSelect: any;
@@ -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;
@@ -1,5 +1,6 @@
1
1
  export declare const menuArgTypes: {
2
2
  closeOnSelect: any;
3
+ colorToken: any;
3
4
  groupLabel: any;
4
5
  isDisabled: any;
5
6
  isMultiSelect: any;
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 = _c === void 0 ? 'md' : _c, rest = __rest(_a, ["leftElement", "rightElement", "label", "showCloseButton", "onClose", "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
- return (React__default["default"].createElement(react.Box, __assign({}, MenuItemConfig, { bg: isSelected ? 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
+ 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, { alignItems: "center", spacing: "12px", minH: "21px" },
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.HStack, { color: isSelected && shouldRetainSelection && !isMultiSelect ? colors.text.light.link : colors.text.light.default },
4422
- leftElement && React__default["default"].createElement(react.Box, { className: "MenuList__ItemLeftElement" }, leftElement),
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: "12px" },
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: "32px", p: "16px 12px 4px 20px", justifyContent: "space-between", alignItems: "center" },
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: '40px' } : {};
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", justifyContent: "flex-start", alignItems: "center", textAlign: "left", color: selectedOption.isPlaceholder ? colors.text.light.placeholder : colors.text.light.default },
4667
- (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.leftElement) ? (React__default["default"].createElement(react.Box, { className: "Select__LeftElement", pr: "8px" }, selectedOption.leftElement)) : (listProps === null || listProps === void 0 ? void 0 : listProps.defaultLeftElement) ? (React__default["default"].createElement(react.Box, { className: "Select__LeftElement", pr: "8px" }, listProps.defaultLeftElement)) : null,
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 ? fullScreenMobileContentMargin : 16, borderRadius: useFullScreenMobile ? fullScreenMobileBorderRadius : radii.xl, minH: { base: '-webkit-fill-available', md: 'auto' } }, children)));
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